[ESS] .help.ESS gets appears only in certain directories

Vitalie Spinu spinuvit at gmail.com
Tue Jan 17 09:59:04 CET 2012


I can reproduce the problem. First lines which R outputs are

> if(!exists("baseenv", mode="function")) baseenv <- function() NULL
> options(STERM='iESS', str.dendrogram.last ="'", editor='emacsclient')

instead of

> assignInNamespace(".help.ESS",help, ns = asNamespace("base"))
> options(STERM='iESS', str.dendrogram.last ="'", editor='emacsclient')

which means that ESS is not detecting R version properly. This reminds
me of the recent thread with R remote with the same problem.

I am looking now at this.

Vitalie.

Aleksandar Blagotić <aca.blagotic at gmail.com> writes:

> @Martin, yeah, I was aware of the fact that index.search is a base R
> function (from utils). That's why I'm ranting here. At this point I can't
> replicate the bug, and I don't know if it's worth hunting it down for SVN
> release that is about to change frequently. But in a nutshell, I noticed
> that if I run vanilla session in my project directory (and some other
> dirs), I cannot access .help.ESS. I understand that index.search is not
> exported, hence I need to use getAnywhere or ::: to grab it from utils'
> namespace. Thank god, that works. But even with vanilla I can't get
> .help.ESS. Very strange... If I try to get help, I get this error:
>
> Debugger entered--Lisp error: (error "Selecting deleted buffer")
>   pop-to-buffer(#<killed buffer>)
>   ess--switch-to-help-buffer(#<killed buffer>)
>   ess-display-help-on-object("mean")
>   call-interactively(ess-display-help-on-object nil nil)
>
> And I can't reproduce it. It *never* works in my project directory, even if
> I remove .Rprofile file. If I try to add .help.ESS manually, it doesn't
> work either!
>
> @Vitali, here's the output from *ESS* buffer (I loaded Emacs this with
> --debug-init -q). Same stands for C-u M-x R followed by --vanilla.
>
> [ess-site.el]: ess-customize-alist=nil
> [ess-site.el _2_]: ess-customize-alist=nil
> (S): ess-s-versions-create making M-x defuns for
>
> (R): ess-r-versions-create making M-x defuns for
>
> (R): ess-dialect=nil, buf=*scratch*, start-arg=nil
>  current-prefix-arg=nil
> (inferior-ess 0): ess-start-args=--no-readline
> ess-setq-vars-default 0: ess-language=Initial, -dialect=nil, buf=nil,
> comint..echoes=nil, comint..sender=comint-simple-send
> ess-setq-vars-default 1: ess-language=S, -dialect=R, buf=nil,
> comint..echoes=nil, comint..sender=comint-simple-send
> (inf-ess 1): lang=S, dialect=R, tmp-dialect=R, buf=*scratch*
> (inf-ess 1.1): procname=R temp-dialect=R, buf-name=*R*
> (inferior-ess) Method #3 start=/home/al3xa/Desktop/ buf=*R*
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil,
> comint..sender=comint-simple-send
> (inf-ess 2.1): ess-language=S, ess-dialect=R buf=*R*
> (inf-ess 2.2): start args = --no-readline  ,
> inf-ess-start-args=--no-readline
> (inf-ess finish [S(R), R(nil,nil)]
> (ess-multi 0):  inf-ess-start-args=--no-readline  , comint-..echoes=nil
> (i-ess 1): buf=*R*, lang=S, comint..echo=nil,
> comint..sender=comint-simple-send,
> (i-ess 2): buf=*R*, lang=S, comint..echo=t,
> comint..sender=inferior-R-input-sender,
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=t,
> comint..sender=inferior-R-input-sender
> (i-ess 3): curr-buf=*R*, comint..echo=t,
> comint..sender=inferior-R-input-sender,
> (ess-multi post inf-ess: start-args=--no-readline  , comint-echoes=t
> (ess-multi 1):  start-args=--no-readline
> Making Process...Buf *R*, Proc R, Prog R
>  Start File=nil, Args= --no-readline  .
> (R): inferior-ess-language-start=options(STERM='iESS', str.dendrogram.last
> ="'", editor='emacsclient')
> (ess-get-help-topics-list R) ..(get-object-list R) ..-->
> (ess-get-modtime-list)
>  (ess-search-list: re-computing..) after 'search()
> ', point-max=193
> (ess-object-names obj=.GlobalEnv): no directory - trying names
> (ess-object-names obj=package:stats): no directory - trying names
> (ess-object-names obj=package:graphics): no directory - trying names
> (ess-object-names obj=package:grDevices): no directory - trying names
> (ess-object-names obj=package:utils): no directory - trying names
> (ess-object-names obj=package:datasets): no directory - trying names
> (ess-object-names obj=package:methods): no directory - trying names
> (ess-object-names obj=Autoloads): no directory - trying names
> (ess-object-names obj=package:base): no directory - trying names
> (ess-get-modtime-list): created new alist of length 9
>  (length alist) : 9
> (ess-object-names obj=.GlobalEnv): no directory - trying names
>  have re-read pos=1: -> length 0
> (ess-setq-vars-LOCAL): language=S, dialect=R, buf=nil, comint..echoes=nil,
> comint..sender=comint-simple-send
>
> aL3xa
>
> On Mon, Jan 16, 2012 at 22:11, Vitalie Spinu <spinuvit at gmail.com> wrote:
>
>> Aleksandar Blagotić <aca.blagotic at gmail.com> writes:
>>
>> > Oh, yeah, not to forget, "index.search" functions is missing, too.
>> >
>> > aL3xa
>> >
>> > 2012/1/16 Aleksandar Blagotić <aca.blagotic at gmail.com>
>> >
>> >> I'm facing a really strange behaviour of ESS I grabbed from SVN (rev.
>> >> 4594). ".help.ESS" function is sometimes present, sometimes not! O_o
>> >> Somehow it just appears when R is evoked in some directories (like
>> >> /home/`whoami`/), but in my default project directory (and some others)
>> it
>> >> just doesn't appear.
>> >> I've checked the permissions and stuff, but with no luck. Can you
>> >> replicate this strange behaviour?
>> >>
>> >> aL3xa
>> >>
>> >>
>>
>> Thanks for testing SVN. Please keep posting with anything you find
>> unusual.
>>
>> There has been quite some changes that can potentially relate to what
>> you are experiencing. "index.search" is in base namespace and this is
>> why it is not visible, but .help.ESS should be.
>>
>> If you don't see .help.ESS that means it is not inserted during the
>> startup. If this is the case can you please start new R session, then
>> switch to *ESS* and post here the lines starting with
>>
>> (R):ess-dialect=R ...
>>
>> there must be quite some lines.
>>
>> One more thing, yesterday's changes (4590-4594) are completely
>> incompatible with
>> ess-tarcebug. If you are using it please don't load it. I will move
>> ess-tracebug into SVN these days.
>>
>> Vitalie.
>>
>>



More information about the ESS-help mailing list