I've set `lexical-binding` to `nil` in all Emacs Lisp files to suppress
the warnings introduced in Emacs 31 requiring all elisp files to have a
`lexical-binding` comment.
This retains the default behavior of dynamic binding when no
`lexical-binding` comment is present. With it set to `t` across the
board, various things break, and fixing those is a task for another day.
These macros work more or less like add-to-list, except they will always
leave ELEMENT as the first/last element in the list, while add-to-list
does not modify the list if ELEMENT is already present anywhere in the
list.
This is mostly a helper function for when I've messed around with active
modes in a file buffer a whole bunch, and I just want to revert all
things to the default state of when the file is opened.