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

Vitalie Spinu spinuvit at gmail.com
Tue Jan 17 14:38:20 CET 2012


Hi Alex,

I've just committed a fix. You were unlucky to use SVN on the next day
after a major change of inferior-ess internals. Some small detail was
missing during the proc init. It's solved now. Can you please check?

As a general comment, people are highly welcome to use SVN version. More
people to use it, faster the development will go and sooner new ESS
version will see the light.

Here are very simple instructions to use SVN:

-----
1: At command prompt, switch to the directory where you would like to
keep your svn (for example "~/VC/" for Version Control)

  cd ~/VC

2: checkout ESS:

  svn checkout https://svn.r-project.org/ESS/trunk ESS

3: in your .emacs make sure emacs loads SVN version and not the
installed one. Put this before (load "ess-site.el"):

  (setq load-path (cons "~/VC/ESS/lisp/" load-path))
  
-----

Next time you would like to update to the newest version, just do

  svn update

from the ESS directory.


How about placing these (or similar) instructions on the ESS web site? 

Vitalie.


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

> Oh, yeah, that shouldn't happen! =) Can I get more verbose output?
>
> Meanwhile, I'm using this workaround:
>
> (defun open-r-project ()
>>   (interactive)
>>   (delete-other-windows)
>>   (split-window-horizontally)
>>   (R)
>>   (ess-change-directory "~/projects/")
>>   (next-multiframe-window)
>>   (find-file "~/projects/")
>>   (previous-multiframe-window)
>> )
>> ;; set keybinding for open-r-project
>> (global-set-key (kbd "C-c r") 'open-r-project)
>>
>
> Note that this is my first LISP function, so it's probably not written
> properly... but changing directory with (ess-change-directory) once R is
> started works like a charm.
>
> aL3xa
>
> On Tue, Jan 17, 2012 at 09:59, Vitalie Spinu <spinuvit at gmail.com> wrote:
>
>>
>> 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