[ESS] Problems invoking help when R wants to know which (of > 1) help pages you are looking for

Martin Maechler maechler at stat.math.ethz.ch
Thu Apr 26 22:36:58 CEST 2012


On Thu, Apr 26, 2012 at 22:02, Rodney Sparapani <rsparapa at mcw.edu> wrote:
> Steve Lianoglou wrote:
>>
>> Hi,
>>
>> Using ESS, I've always been tripped up when I try to invoke ?help on a
>> particular function when there are several possible help options to
>> consider and R is asking us which one we want (vial making a selection
>> via the keyboard).
>>
>> An example would be loading the BiocGenerics package (bioconductor)
>> and invoking `?lapply` (it makes an S4 generic out of it)
>>
>> R asks you if you want help in base::lapply or BiocGenerics::lapply. I
>> have help configured to open in ESS, and it usually just hangs. It
>> used to be that if I punch ctrl-g and ctrl-c enough times it'll "snap
>> out of it," but now it just hangs and I can't back out -- the only
>> option (I think) I have left is to kill emacs and start over. This
>> perma-hanging thing might be because I recently set `(setq
>> ess-eval-visibly-p nil)` so that blocks of R code eval'd via C-c C-r
>> don't hang emacs[1] (not sure), but either way the behavior I was
>> experience never really felt right.
>>
>> Is there something I can do (or settings to check/tweak) to fix this?
>> Or am I alone in experiencing this?
>>
>> I'm runninng emacs 23.4 and ess 12.04 on OSX.6.8
>>
>> Thanks,
>> -steve
>>
>> [1] as suggested here:
>> https://stat.ethz.ch/pipermail/ess-help/2012-April/007745.html
>>
>
> I don't have the BiocGenerics
> package installed.  Do you have this issue with other generic
> functions like print?

a simple reproducible example is

library(Matrix)
?rcond

This works fine (*) on Linux  unless you have tcltk somehow disabled.

(*) "fine": means that -- as outside of ESS -- a tcltk popup window
ask you about *which* of the two possible help pages you want to see.

This is one of the oldest open wishlist items for ESS, not so easy to
fulfill originally, notably
because the R side was "not ready" originally :
Ideally, in this case,  ESS would see that there are two options, and
would use an Emacs
"popup", i.e., ask typically use one of the emacs ways to let the user
chose between options.

More recent versions of R (>= 2.14.0 I think) have had a somewhat improved
object (!) returned from help() that ESS could "look at" before  print()ing it.
For me, it's too late in the evening now, to look further.

Martin



More information about the ESS-help mailing list