Nicolas Goaziou 8 лет назад
Родитель
Сommit
57a8dde8e3
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      lisp/ob-exp.el

+ 6 - 2
lisp/ob-exp.el

@@ -58,9 +58,13 @@ returned is the value of the last form in BODY.  Assume that
 point is at the beginning of the Babel block."
 point is at the beginning of the Babel block."
   (declare (indent 1) (debug body))
   (declare (indent 1) (debug body))
   `(let ((source (get-text-property (point) 'org-reference)))
   `(let ((source (get-text-property (point) 'org-reference)))
-     (with-current-buffer org-babel-exp-reference-buffer
+     ;; Source blocks created during export process (e.g., by other
+     ;; source blocks) are not referenced.  In this case, do not move
+     ;; point at all.
+     (with-current-buffer (if source org-babel-exp-reference-buffer
+			    (current-buffer))
        (org-with-wide-buffer
        (org-with-wide-buffer
-	(goto-char source)
+	(when source (goto-char source))
 	,@body))))
 	,@body))))
 
 
 (defun org-babel-exp-src-block ()
 (defun org-babel-exp-src-block ()