[rkward] [Bug 490961] New: Command line arguments are incorrect
Iris
bugzilla_noreply at kde.org
Mon Jul 29 03:57:58 BST 2024
https://bugs.kde.org/show_bug.cgi?id=490961
Bug ID: 490961
Summary: Command line arguments are incorrect
Classification: Applications
Product: rkward
Version: unspecified
Platform: Other
OS: All
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: rkward-devel at kde.org
Reporter: ikwsimmo at gmail.com
Target Milestone: ---
SUMMARY
The command line arguments set via `Rf_initialize_R` and
`R_set_command_line_arguments` are incorrect.
The first argument must be the name of the program by which R was invoked.
R assumes that the previous is true, and so it skips the first command line
argument.
for Unix, in `Rf_initialize_R`:
https://github.com/wch/r-source/blob/f4de6dfdeb1d8b100d6a70c259c80a20508a4309/src/unix/system.c#L407
for Windows, in `cmdlineoptions`:
https://github.com/wch/r-source/blob/589b76ba28bb97e9d628f6e4ae1735c4e2660b3f/src/gnuwin32/system.c#L1180
for all, in `R_common_command_line`:
https://github.com/wch/r-source/blob/f4de6dfdeb1d8b100d6a70c259c80a20508a4309/src/main/CommandLineArgs.c#L103
I would suggest something more like:
```
int argc = 4;
char* argv[4] = { qstrdup ("rkward"), qstrdup ("--slave"), qstrdup
("--no-save"), qstrdup ("--no-restore") };
```
But I have one more suggestion.
I think you should not be using option `--slave`. In interactive use, this
turns off printing the prompt when waiting for input and turns off printing a
continuation prompt for code that spans multiple lines. That doesn't seem like
what you want.
Instead, you should replace it with `--quiet` (or `--silent` or `-q`, but I
prefer `--quiet`). When combined with `--no-save`, you end up with the same R
settings except `R_NoEcho` is `FALSE`, as it should be:
```
int argc = 4;
char* argv[4] = { qstrdup ("rkward"), qstrdup ("--quiet"), qstrdup
("--no-save"), qstrdup ("--no-restore") };
```
OBSERVED RESULT
```R
> commandArgs()
[1] "--slave"
[2] "--no-save"
[3] "--no-restore"
```
EXPECTED RESULT
```R
> commandArgs()
[1] "rkward"
[2] "--quiet"
[3] "--no-save"
[4] "--no-restore"
```
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the rkward-devel
mailing list