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.
This commit is contained in:
Nicolas Goaziou 2017-08-06 10:27:52 +02:00
parent fca0dbcc61
commit 9974ed39b2
2 changed files with 10 additions and 2 deletions

View File

@ -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))

View File

@ -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