diff options
author | Aaron Ecay <aaronecay@gmail.com> | 2014-12-11 23:34:35 -0500 |
---|---|---|
committer | Aaron Ecay <aaronecay@gmail.com> | 2014-12-11 23:34:35 -0500 |
commit | 398286a00c41af44667da8a10e514973e1e08780 (patch) | |
tree | dede9badfe517da469d02aecdf49d57c340a2a20 | |
parent | 9db1f7af7871724c135dce8677d2f9d7f8206135 (diff) | |
download | org-mode-398286a00c41af44667da8a10e514973e1e08780.tar.gz |
org-src: fix two bugs
* lisp/org-src.el (org-src--edit-buffer): Construe equality for
markers properly.
(org-edit-src-save): Place point properly when writing back changes.
Thanks to Vikas Rawal for reporting:
<http://mid.gmane.org/C8148BF2-87AF-44A4-B103-6BD338DA8D96@agrarianresearch.org>
-rw-r--r-- | lisp/org-src.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/org-src.el b/lisp/org-src.el index af5336d..67e9de4 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -216,8 +216,10 @@ Return nil if there is no such buffer." (dolist (b (buffer-list)) (with-current-buffer b (and (org-src-edit-buffer-p) - (eq beg org-src--beg-marker) - (eq end org-src--end-marker) + (= beg org-src--beg-marker) + (eq (marker-buffer beg) (marker-buffer org-src--beg-marker)) + (= end org-src--end-marker) + (eq (marker-buffer end) (marker-buffer org-src--end-marker)) (throw 'exit b)))))) (defun org-src--source-buffer () @@ -779,6 +781,7 @@ Throw an error if there is no such buffer." (overlay org-src--overlay)) (with-current-buffer (org-src--source-buffer) (undo-boundary) + (goto-char beg) (delete-region beg end) (when (org-string-nw-p edited-code) (insert edited-code)) (unless (bolp) (insert "\n")) |