[ESS-bugs] ess-mode 5.3.3; bug in file-name-all-completions?

Rodney Sparapani rsparapa at mcw.edu
Tue Oct 31 18:40:56 CET 2006


Ok, I fixed up ess-utils by replacing file-directory-p
and file-exists-p by file-accessible-directory-p.  Let
us know if the problem persists.

Rodney Sparapani wrote:
> Hi Steven:
>
> When we who wrote those functions, we assumed that
> directories that can be seen can be traversed.  In
> hindsight, that is a mistake.  We need to change that to check if we 
> have the
> appropriate permission before traversal.  That should be easy to do 
> and hopefully
> cross-platform is not an issue here since the elisp API should handle 
> that.
>
> Rodney
>
> Steven McKinney wrote:
>> (I initially submitted this email from a
>> new computer behind a firewall, and the
>> email was undeliverable.  Is it possible for
>> ESS bug report macro to 'ping the mother ship' to ensure emacs-based 
>> bug reports are deliverable?)
>>
>>
>> From:  <smckinney at bccrc.ca>
>> To: ess-bugs at stat.math.ethz.ch
>> Subject: ess-mode 5.3.3; bug in file-name-all-completions?
>> Message-Id: <20061025000448.93E9B36D02 at compute-1-1.local>
>> Date: Tue, 24 Oct 2006 17:04:48 -0700 (PDT)
>>
>> After installing ess-5.3.3 and invoking emacs, emacs reported error
>> message shown below.  Somewhere in the chain of function calls,
>> an inappropriate directory (/opt/maven/bin in this case) is returned
>> and ends up getting sent to file-name-all-completions.  No R or Splus
>> executables in that Apache Maven app subdirectory.  That subdir is
>> restricted on the cluster machine setup I am working on (Rocks cluster).
>>
>> Working fix:
>> ------------
>>
>> I edited essd-sp6.el and replaced
>>   (defvar ess-s-versions '("Splus")
>> with
>>   (defvar ess-s-versions nil      
>> I edited essd-r.el and replaced
>>   (defvar ess-r-versions '("R-1" "R-2" "R-devel" 
>> "R-patched")                                                               
>> with
>>   (defvar ess-r-versions nil
>>
>> I can now start up Emacs and invoke R via
>>   M-x R
>>
>> ;;;Error Message;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>
>> Debugger entered--Lisp error: (file-error "Opening directory" 
>> "permission denied" "/opt/maven/bin")
>>   file-name-all-completions("Splus" "/opt/maven/bin")
>>   (setq ess-tmp-files (file-name-all-completions ess-root-arg 
>> ess-tmp-dir))
>>   (progn (setq ess-tmp-files (file-name-all-completions ess-root-arg 
>> ess-tmp-dir)) (while ess-tmp-files (setq e
>> ss-tmp-file ... ess-tmp-files ...) (if ... ..$
>>   (if (and (> ... 0) (file-exists-p ess-tmp-dir)) (progn (setq 
>> ess-tmp-files ...) (while ess-tmp-files ... ...)
>> ))
>>   (when (and (> ... 0) (file-exists-p ess-tmp-dir)) (setq 
>> ess-tmp-files (file-name-all-completions ess-root-arg
>>  ess-tmp-dir)) (while ess-tmp-files (setq ess$
>>   (while ess-exec-path (setq ess-tmp-dir (car ess-exec-path) 
>> ess-exec-path (cdr ess-exec-path)) (when (and ... ...) (setq 
>> ess-tmp-files ...) (while ess-tmp-$
>>   (let* ((ess-exec-path ...) (ess-tmp-exec nil) (ess-tmp-path-count 
>> ...) (ess-tmp-dir nil) (ess-tmp-files nil) (ess-tmp-file nil)) (while 
>> ess-exec-path (set$
>>   ess-find-exec-completions("Splus")
>>   mapcar(ess-find-exec-completions ("Splus"))
>>   (apply (quote nconc) (mapcar (quote ess-find-exec-completions) 
>> ess-s-versions))
>>   (mapcar (quote file-name-nondirectory) (apply (quote nconc) (mapcar 
>> ... ess-s-versions)))
>>   (ess-uniq-list (mapcar (quote file-name-nondirectory) (apply ... 
>> ...)))
>>   (setq versions (ess-uniq-list (mapcar ... ...)))
>>   (progn (setq versions (ess-uniq-list ...)) 
>> (ess-write-to-dribble-buffer (format "(S): ess-s-versions-create m
>> aking M-x defuns for %s" ...)) (setq ess-s-ve$
>>   (if ess-s-versions (progn (setq versions ...) 
>> (ess-write-to-dribble-buffer ...) (setq ess-s-versions-created 
>> versions) (while versions ... ... ... ... ...$
>>
>> ;;;END Error 
>> Message;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
>>
>>
>> Emacs  : GNU Emacs 22.0.50.1 (x86_64-unknown-linux-gnu, X toolkit)
>>  of 2006-10-24 on rocks1.cluster.bccrc.ca
>> Package: ess-mode 5.3.3
>>
>> current state:
>> ==============
>> (setq
>>  ess-language "S"
>>  ess-dialect "R"
>>  ess-ask-for-ess-directory t
>>  ess-ask-about-transfile nil
>>  ess-directory nil
>>  ess-keep-dump-files "always"
>>  ess-source-directory "/tmp/"
>>  )
>> [ess-site.el]: ess-customize-alist=nil [ess-site.el _2_]: 
>> ess-customize-alist=nil
>> (R): ess-dialect=nil, buf=*Messages*, 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=*Messages*
>> (inf-ess 1.1): procname=R temp-dialect=R, buf-name=*R* (inferior-ess) 
>> Method #3 start=/home/smckinney/ 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', 
>> editor='emacsclient')
>>
>> --BA57D52365.1161734690/rocks1.cluster.bccrc.ca--
>>
>> Steven McKinney
>>
>> Statistician
>> Molecular Oncology and Breast Cancer Program
>> British Columbia Cancer Research Centre
>>
>> email: smckinney at bccrc.ca
>>
>> tel: 604-675-8000 x7561
>>
>> BCCRC
>> Molecular Oncology
>> 675 West 10th Ave, Floor 4
>> Vancouver B.C. V5Z 1L3
>> Canada
>>
>> _______________________________________________
>> ESS-bugs ESS-bugs at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/ess-bugs
>>
>> _______________________________________________
>> ESS-core list: https://stat.ethz.ch/mailman/listinfo/ess-core
>>   
>
>




More information about the ESS-bugs mailing list