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

Rodney Sparapani rsparapa at mcw.edu
Fri Oct 27 20:43:14 CEST 2006


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