[ESS] Repost: problems setting ess-source-directory

William McCoy wdm8588 @end|ng |rom gm@||@com
Tue Feb 11 21:07:26 CET 2025


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



More information about the ESS-help mailing list