András Major <andras.g.ma...@gmail.com> writes: > Hi Sebastien, > >> I have the impression it's already there: if you edit your code directly in >> the Org buffer, without opening an indirect buffer, the only thing you have >> to >> do is: > > That's precisely what I want to avoid. I'd like to use the > language-specific indentation and highlighting using the indirect > buffer. Basically, what I'm after is a quick keyboard command that > tangles the entire file while I'm in the indirect buffer. >
The following functions provide for (1) easily executing code in the org-mode buffer related to the current edit buffer and (2) tangling the org-mode buffer related to the current edit buffer. Binding (2) to a key in `org-src-mode' should provide the functionality you describe. #+BEGIN_SRC emacs-lisp (defmacro org-src-in-org-buffer (&rest body) `(save-window-excursion (org-edit-src-exit 'save) ,@body (setq msg (current-message)) (if (eq org-src-window-setup 'other-frame) (let ((org-src-window-setup 'current-window)) (org-edit-src-code 'save)) (org-edit-src-code 'save)) (message (or msg "")))) (defun org-src-tangle (arg) (interactive "P") (org-src-in-org-buffer (org-babel-tangle arg))) #+END_SRC I think that the above should be folded into org-src.el, but I'm not entirely sure how. (1) could be used to perform a number of functions in the org buffer from an edit buffer, although off the top of my head I'm not sure if there exists a need for this aside from tangling. Best, -- Eric Schulte http://cs.unm.edu/~eschulte/