I recently started using Org mode for configuring Emacs and I really like it. However, I did run into an issue where, for some reason,
org-babel-load-file didn't seem to update the tangled version of the file.
I thought perhaps it was an issue with caching at first, because if I manually tangled the file, everything would be just as I expected. However, if I started another instance of Emacs, it would re-evaluate the
org-babel-load-file function, and I would end up with the wrong version of the file again.
I couldn't quite understand what was going on, but found the answer in a stack overflow post that I have sadly lost the link to: In Org mode, the official code for Emacs Lisp is
emacs-lisp, but for code blocks, it also accepts
elisp. From what I understand,
elisp is set up as an alias for
emacs-lisp. This seems to apply to manual tangling too, but not to
And sure enough, I'd started using
elisp instead of
emacs-lisp partway through my config and those blocks wouldn't get tangled by
org-babel-load-file. Going through and updating the blocks to use
emacs-lisp instead of
elisp was enough to get everything working again.
While the fix turned out to be simple, it was hard to find. So I'll leave this here, hoping it saves someone some time and effort in the future.
#+begin_src emacs-lisp and not