Given the code review from earlier, I've added a second file with the requested changes.  I also added the ability to transparently run the changequote builtin on startup as well as the list delimiters.  I looked at doing a test-ob-m4.el but the examples didn't make it all clear how to proceed. I've attached the updated file. As an aside, some of the ugliness comes from needing to do default values if one of the custom attributes (e.g. :list-start) is unset.  I would've thought something like the following would work:    (defvar org-babel-default-header-args:m4 '((:list-start . "[") (:list-end . "]"))) but that didn't appear to do anything (the elisp tracing facility didn't show those at all unless they were passed in explicitly via the #+begin_src statement). Thx. --Brad