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.
It sometimes causes a long lock-up of Emacs. I believe this is due to a
known issue where the mode can cause excessive garbage collection while
scrolling, combined with my use of gcmh which prevents GC while actively
using Emacs.
Hence my theory is that pixel scrolling is causing tons of memory to be
consumed, but gcmh prevents the GC from running, until it hits a tipping
point where it GCs hundreds of megabytes of memory.
Or, that's my theory at least :P