Did Houdini stop recognizing VISUAL envar?

   804   6   3
User Avatar
Member
466 posts
Joined: 8月 2014
Offline
The documentation [www.sidefx.com] states that:
Docs
- EDITOR
(...)
If the VISUAL environment variable is set, then it is used instead of EDITOR
and started as a graphical process. In other words, the VISUAL environment
variable will override this and thus have no effect if VISUAL is also set.

If both the VISUAL and EDITOR variables are not set, then a default editor
(Windows Notepad, Mac OS X Text Edit, Linux GEdit) is used.
(...)

I have the VISUALenvar defined in my .xessionrc
export VISUAL='emacsclient -c -a "emacs"'

EDITORenvar I keep in .zshrc:
export EDITOR="emacsclient -nw"

Up to Houdini 20 the program respected VISUAL envar. The behavior changed in 20, or at least I believe so. I fire up Emacs only when writing long scripts, which perhaps is not too often, so I might be mistaken. Anyway, currently Houdini seems to be misbehaving in this regard, and if I attempt to open the code using "Expressions → Edit in External Editor", the program complains that:
Houdini
No external editor set, pick one?

It doesn't even open GEdit, which according to the docs is the default external editor choice if both the EDITOR and VISUAL envars are missing (I tried that by starting Houdini from console, which reads EDITOR from .zshrc, which doesn't include VISUAL).

It also doesn't work if I put the VISUALenvar directly into houdini.env, nor if I define it in "Edit → Aliases and Variables → Variables". I'm not sure what's going on, so please advise guys.
Edited by ajz3d - 2024年1月31日 16:58:43
User Avatar
Member
7717 posts
Joined: 7月 2005
Online
Not intentionally (to my knowledge), please log a bug.
Edited by edward - 2024年1月31日 19:24:02
User Avatar
Member
466 posts
Joined: 8月 2014
Offline
Done.
User Avatar
Member
7717 posts
Joined: 7月 2005
Online
Got a chance to try this on Windows and it worked for me. I have both VISUAL and EDITOR set and VISUAL was picked up when I hit Alt+E twice from a float parameter input field.
User Avatar
Member
466 posts
Joined: 8月 2014
Offline
Thanks. I wasn't aware that hitting ALT+E in the Edit String window opens the external editor. Of course on my end it does nothing, but at least it prints out some additional info to stdout:

Spawn Error: : No such file or directory
Error running emacsclient -c -a "emacs"
Argument list:
0: emacsclient -c -a "emacs"
1: /tmp/houdini_temp/hfs4526-9.tmp.vfl

So it can't find either the Emacs client, or the .vlffile, which I understand is supposed to temporarily store the code snippet for external editing. That .vflfile is not in /tmp/houdini_temppath. Perhaps it was not created because of an error which Houdini encountered trying to start Emacs, or maybe it was immediately removed by Houdini as a part of external editing routine (it assumed that the external editor was closed)? Interesting.
User Avatar
Member
466 posts
Joined: 8月 2014
Offline
The solution was to change the $VISUAL envar from:

export VISUAL='emacsclient -c -a "emacs"'

to:

export VISUAL="emacsclient -c -a emacs"
User Avatar
Member
7717 posts
Joined: 7月 2005
Online
Feels sort of like a bug/RFE to properly parse quotes.
  • Quick Links