On 2/11/25 2:27 PM, Stephen J Eglen wrote:

hi WIlliam,

Its value is (lambda nil (concat ess-directory "Src/"))
Original value was "/tmp/"

It seems odd that the value has changed to (lambda nil ...
instead of (lambda () ...

Doesn't the lambda() function need the () in order to be recognized as
a function?  Has anyone on the list been able to get this expression
to work or is it a real bug in ESS?

not sure why its changed recently, but wouldn't the following achieve what you 
are after:

(setq ess-source-directory
   (concat ess-directory "src/"))

assuming ess-directory is set appropriately?



That had crossed my mind, but I didn't try it until now.  However, with that in my init.el file I have an initialization warning.  Loading the file stops at that line with the message:

 ■  Warning (initialization): An error occurred while loading ‘/home/wdmccoy/.emacs.d/init.el’:

Symbol's value as variable is void: ess-directory


I have the line you suggested just after (load "ess-autoloads"), but ess-directory is not recognized apparently until I am actually running R (and ESS) in some directory.

Also, I found in the ess-custom.el source code the following defcustom:

(defcustom ess-source-directory
  (or (getenv "TMPDIR") (getenv "TMP") (getenv "TEMP") temporary-file-directory)
  "Directory in which to place dump files.
This can be a string (an absolute directory name ending in a slash) or
a lambda expression of no arguments which will return a suitable string
value.  The lambda expression is evaluated with the process buffer as the
current buffer.


So it specifically asks for a lambda expression, if not a definite directory name.  I think something in the ESS code has changed that prevents the proper interpretation of the lambda expression. I am not sure with what version of ESS this problem began as I haven't needed to edit any of my functions for quite a while.

Thanks for your help.
Bill

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help

Reply via email to