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

Steven McKinney smckinney at bccrc.ca
Sat Oct 28 00:27:08 CEST 2006



 
Hi Richard,

> -----Original Message-----
> From: Richard M. Heiberger [mailto:rmh at temple.edu]
> Sent: Friday, October 27, 2006 1:22 PM
> To: Steven McKinney; ess-bugs at stat.math.ethz.ch
> Subject: Re: [ESS-bugs] ess-mode 5.3.3; bug in
file-name-all-completions?
> 
> Hi and welcome.
> 
> Your working fix
> 
> 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
> 
> 
> 
> 
> 
> can't be used as a general solution.  Those names are there
> because they are used to construct M-x functions that will call
> any of the R or S versions that are on the machine.  We then place
> the calls to those versions on the emacs menu.  From within the
> myfile.s buffer, click "ESS/Start Process/Other/function.name".
> 

Correct.  Not a general solution.  Just a working solution to get my
emacs and ESS operational.  The general solution is to fix the function
file-name-all-completions or the chain of calls leading to the
invocation
of this function (info from Rodney Sparapani - see below).


> What problem are you trying to solve?  If none of the referents for
those
> names are present, I would expect the result of running the code that
> generates functions to return with 0 functions generated.
> 

The code attempts to open a directory for which it does not
have permission.  (Rodney Sparapani replied and said the issue
is to perform a check for permissions before attempting to 
traverse the directories involved, and will work on implementing
this.)

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 ... ..$

I am working in an odd situation - on a beefy compute node of a rocks
cluster.  As a compute node, the machine is fairly stripped down,
and does not serve GUI enabled windows.  Thus emacs invocation
yields a minimalist emacs frame circa last century.  No mouse-selectable
menu items, no GUI menu bar.  I was just trying to get emacs with ESS 
support up and running.


> On your specific machine, if you need to set those values to nil, do
> it in site-start.el.  Even wearing your site administrator hat, you
are
> a user from the ESS perspective.  The only ess*.el file that a user
> is allowed to touch is ess-site.el.  I don't understand why your
machine
> needs nil values.  If you can describe the reason, then code it as a
> condition and then the condition could be added to the essd*.el files.

Thanks for the information.  I removed my edits from 
essd-r.el and essd-sp6.el.
I put the defvar statements into ess-site.el before the 
require calls to essd-r and essd-sp6.  

;; (1.5) Require the needed dialects for your setup.
(defvar ess-s-versions nil)
(defvar ess-r-versions nil)

This appears to be working fine.

Thanks again for the information.

Best regards
Steven McKinney




More information about the ESS-bugs mailing list