processing2-emacs
processing2-emacs copied to clipboard
user-error: The variable ‘processing-application-dir’ is either unset or the directory does not exist.
The title says it:
user-error: The variable ‘processing-application-dir’ is either unset or the directory does not exist.
when I try to look up documentation with C-c C-p d
.
I have processing-application-dir
set, to point to Processing (3). I can run sketches with C-c C-p r
; is this a Processing 3 compatibility problem?
Not sure if this answer your question since you didn't mention your OS, but I got the same error on Windows. This is how I fixed it.
Previously I set the variable processing-application-dir
like this:
(setq processing-application-dir "D:/Program Files/Processing")
After checking the file processing-mode.el
, I found out the solution is to set the variable like this:
(setq processing-application-dir "D:/Program Files/Processing/modes/java/reference/")
That is, you set the variable directly to the "reference" folder. The expected behavior, based on the source code, is that you should set the variable to the "processing" folder, and the program will concat that variable with "/modes/java/"reference/". Somehow the dev made an exception to Windows (see the function processing--sub-dir
in processing-mode.el
) so the behavior is not as expected.
However, keep in mind that I don't know if setting the variable that way will break something else.
I get the same error on macOS 12.1 when I've set (setq processing-application-dir "/Applications/Processing.app")
and it the path as in processing-mode.el
:
(defcustom processing-application-dir
(eval (cond ((eq system-type 'darwin)
"/Applications/Processing.app")
(t nil)))
"The path of the processing application directory.
I have tried both (setq processing-application-dir "/Applications/Processing.app")
and (setq processing-application-dir "/Applications")
The only I have modified is the processing-location:
$ which processing-java
/usr/local/bin/processing-java
(setq processing-location "/usr/local/bin/processing-java")