소스 검색

org-src: Fix remote footnote edition

* lisp/org-src.el (org-edit-footnote-reference): Clone local variables
  in remote editing buffer.

* testing/lisp/test-org-src.el (test-org-src/footnote-references): Add
  test.
Nicolas Goaziou 7 년 전
부모
커밋
9974ed39b2
2개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 1
      lisp/org-src.el
  2. 8 1
      testing/lisp/test-org-src.el

+ 2 - 1
lisp/org-src.el

@@ -850,7 +850,8 @@ A coderef format regexp can only match at the end of a line."
 	   (when (org-element-lineage definition '(table-cell))
 	     (while (search-forward "\n" nil t) (replace-match "")))))
        contents
-       'remote))
+       'remote)
+      (org-clone-local-variables (org-src--source-buffer)))
     ;; Report success.
     t))
 

+ 8 - 1
testing/lisp/test-org-src.el

@@ -434,7 +434,14 @@ This is a tab:\t.
     (org-test-with-temp-text
 	"An inline<point>[fn:1] footnote[fn:1:definition]    and some text"
       (org-edit-special)
-      (prog1 (buffer-string) (org-edit-src-exit))))))
+      (prog1 (buffer-string) (org-edit-src-exit)))))
+  ;; Preserve local variables when editing a footnote definition.
+  (should
+   (eq 'bar
+       (org-test-with-temp-text "A footnote<point>[fn:1]\n[fn:1] Definition"
+	 (setq-local foo 'bar)
+	 (org-edit-special)
+	 (prog1 foo (org-edit-src-exit))))))
 
 (provide 'test-org-src)
 ;;; test-org-src.el ends here