-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Describe the bug
defconst is used to define ergo-program-path; it's better to use defvar. defvar ensures that, if the variable has already been set (e.g., in a user's emacs init file), the value supplied in the defvar form will not overwrite the previous value.
defconstalways evaluatesvalue, and sets the value ofsymbolto the result
versus
If value is specified, and symbol is void (i.e., it has no dynamically bound value; see When a Variable is Void), then
defvarevaluates value, and initializes symbol by setting it to the result of the evaluation. But if symbol is not void,defvardoes not evaluate value, and leaves symbol’s value unchanged. If value is omitted, defvar doesn’t change the value of symbol in any case. [bold added]
defvar has this behavior specifically to enable users to set mode configuration variables before the mode is loaded.
If a PR is desired, I can provide one.