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 org-babel-load-file
.
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.
Remember: use #+begin_src emacs-lisp
and not #+begin_src elisp
.