I am writing some lisp code and I would like it not to mess with the global variables in the system. I am therefore being very careful to only use variables within the scope of the let
special form.
However, as the code gets longer, it becomes harder to make sure this principle is being fully respected, especially since there is the risk of a mispelled variable suddently becoming global in case the incorrect spelling turns the name of a variable into one not bound in any let
form.
Ideally it would be great to be able to simply prohibit new global variables to be setq
, say with a lisp command inhibit-setting-global-variables-not-already-defined
. My question is thus:
Question. Is it possible to automatically verify that a piece of lisp code does not create any new global variables?