How to Correctly Enable Flycheck in Babel Source Blocks

If you already have Flycheck turned on then you already have it running your babel source block buffers, but, it isn’t working how you expect it. That buffer hasn’t got a file name. Flycheck can’t be smart about helping you out here. Via this post, the solution follows.

(defadvice org-edit-src-code (around set-buffer-file-name activate compile)
  (let ((file-name (buffer-file-name))) ;; (1)
    ad-do-it                            ;; (2)
    (setq buffer-file-name file-name))) ;; (3)

This is one of those things that if you had though about it for a few minutes, you would have turned it on yourself. It reveals how easy it is to return to the mode of “application user” from “application designer”, of Emacs. That is the source of most of my dumb “misses” regarding workflow optimizations in Emacs.


Leave a Reply

Your email address will not be published. Required fields are marked *