It's just a Lisp dialect at the end of the day and not much more complicated to learn than Javascript. The only unusual aspect is its prevalent use of dynamic scoping, although nowadays lexical scoping is also available and encouraged AFAIK.
emacs 31+ started emiting this warning for my custom Lisp files:
Warning (files): Missing ‘lexical-binding’ cookie in "~/.emacs.d/custom.el".
You can add one with ‘M-x elisp-enable-lexical-binding RET’.
See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’
for more information.
I am still trying to figure out what to do! The manual is quite verbose and I haven't had the patience to go through it yet.
emacs 31+ started emiting this warning for my custom Lisp files:
Warning (files): Missing ‘lexical-binding’ cookie in "~/.emacs.d/custom.el". You can add one with ‘M-x elisp-enable-lexical-binding RET’. See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’ for more information.
I am still trying to figure out what to do! The manual is quite verbose and I haven't had the patience to go through it yet.