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