diff --git a/lisp/org-src.el b/lisp/org-src.el index 866ff2dbf..af2e833de 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -1310,16 +1310,18 @@ name of the sub-editing buffer." element (or edit-buffer-name (org-src--construct-edit-buffer-name (buffer-name) lang)) - lang-f + (lambda () + (when lang-f (funcall lang-f)) + (setq-local org-coderef-label-format + (or (org-element-property :label-fmt element) + org-coderef-label-format)) + (when (eq type 'src-block) + (setq org-src--babel-info babel-info))) (and (null code) (lambda () (org-escape-code-in-region (point-min) (point-max)))) (and code (org-unescape-code-in-string code))) ;; Finalize buffer. - (setq-local org-coderef-label-format - (or (org-element-property :label-fmt element) - org-coderef-label-format)) (when (eq type 'src-block) - (setq org-src--babel-info babel-info) (let ((edit-prep-func (intern (concat "org-babel-edit-prep:" lang)))) (when (fboundp edit-prep-func) (funcall edit-prep-func babel-info))))