summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ecay <aaronecay@gmail.com>2014-12-11 23:34:35 -0500
committerAaron Ecay <aaronecay@gmail.com>2014-12-11 23:34:35 -0500
commit398286a00c41af44667da8a10e514973e1e08780 (patch)
treedede9badfe517da469d02aecdf49d57c340a2a20
parent9db1f7af7871724c135dce8677d2f9d7f8206135 (diff)
downloadorg-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.el7
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"))