diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-08-06 10:27:52 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2017-08-06 10:30:48 +0200 |
commit | 9974ed39b2b69abdf87b37af9ea1ce46f0e508fe (patch) | |
tree | 3d0dfb7e25b2757836551ba2b21c9aa59868f870 | |
parent | fca0dbcc613d45265b810c81daa86913481346eb (diff) | |
download | org-mode-9974ed39b2b69abdf87b37af9ea1ce46f0e508fe.tar.gz |
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.
-rw-r--r-- | lisp/org-src.el | 3 | ||||
-rw-r--r-- | testing/lisp/test-org-src.el | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/lisp/org-src.el b/lisp/org-src.el index 0e04d4b..6b5b5ff 100644 --- a/lisp/org-src.el +++ b/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)) diff --git a/testing/lisp/test-org-src.el b/testing/lisp/test-org-src.el index 9bf6644..1d683ec 100644 --- a/testing/lisp/test-org-src.el +++ b/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 |