help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guix shell readline issue with R


From: Kyle Andrews
Subject: Re: guix shell readline issue with R
Date: Sun, 02 Jul 2023 20:53:10 +0000

Edouard Klein <edou@rdklein.fr> writes:

> Hi Kyle,
>
>
> Running
> guix shell r
>
> and then
> R
>
> will get you the C-c handling you want.
>
> There is indeed readline support with guix shell r -- R:
> up arrow to get history, c-E, c-A for end of line, start if line, etc.
>
> I think maybe the problem lies not with readline but with the way
> signals are handled. I can't seem to understand exactly how, but I would
> look into that direction.
>
> Cheers,
>
> Edouard.

Thanks Edouard for pointing out that the problem is signals-related and not 
readline related.

I spent a little time refreshing my memory about signals, looking at the 
following shell scripting references.

=> https://linuxcommand.org/lc3_wss0150.php
=> https://mywiki.wooledge.org/SignalTrap

I tried using tools like trap, wait, and exec, but haven't yet found an 
approach that worked.

I placed a basic R manifest here if anyone would like to try:

=> https://paste.debian.net/1284782/

Basically my shell script was:

```
#!/bin/sh
guix shell -m /tmp/manifest.scm -- R --no-save --quiet --no-restore
```

In the R REPL I interactively test the problem with:

```
while(TRUE) Sys.sleep(1)
  C-c C-c
```

Cheers,
Kyle

> Kyle Andrews <kyle@posteo.net> writes:
>
>> Dear Guix,
>>
>> When I run `guix install r` and then start an R process I get a 
>> readline-enabled
>> REPL where I can abort commands with C-c C-c while keeping the process alive
>> afterwards. When I run R from `guix shell r -- R` I don't get any readline
>> support in R. Pressing C-c immediately aborts the process. This is 
>> inconvenient
>> for interactive exploration. Is there a way to make guix shell work the same 
>> way
>> as if the R command was installed into a profile?
>>
>> Thanks for your help,
>> Kyle




reply via email to

[Prev in Thread] Current Thread [Next in Thread]