Hi, I would like to use org-edit-src-code outside of org, I think it would be very handy in Message mode, to send messages that contain code and edit that code in the proper mode.
I put something like this #+BEGIN_SRC emacs-lisp (defun mm-org-try-structure-completion () (interactive) (if (not (org-try-structure-completion)) (message-tab))) (eval-after-load "message" '(progn (define-key message-mode-map (kbd "<tab>") 'mm-org-try-structure-completion))) #+END_SRC which allows me now to do <'a letter' and hit <tab> and get a the proper source block just as in org. I can enter the editing of the source block without problems with org-edit-src-code (which I plan to bind to C-c ', just as in org), however when I am want to close the editing and go back to the message buffer it fails, specifically the part of org-edit-src-exit that says: #+BEGIN_SRC emacs-lisp (unless (org-bound-and-true-p org-edit-src-from-org-mode) (error "This is not a sub-editing buffer, something is wrong")) #+END_SRC Is there a particular reason why the code has to check to see if it is coming from org-mode? Shouldn't it be enough that already the org-in-block-p was passed? If I evaluate the function definition of org-edit-src-exit without the last part everything works as expect, I can exit with C-c ' and the code is there. Even doing C-x C-s before exiting works as well. Best, Jorge. PS: What is the alternative when you write messages with code, do you guys first write it in org and then copy and yank it?