From 8fa55ab87de3d40bd7a01382ef4b9e6117752f24 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Sun, 25 Oct 2009 12:33:25 -0400 Subject: [PATCH] org-src-mode bug fix In org-edit-src-save, point and mark were being restored inside the save-window-excursion. As it happens, although mark is lost, point nevertheless retained its position with switch-to-buffer being used to switch between org and edit buffers, as is currently the case. However, the failure to restore point correctly is exposed if more complex options controlling window and frame management are provided for the edit buffer. --- lisp/org-src.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/org-src.el b/lisp/org-src.el index a7c56320..ae529d03 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -530,15 +530,15 @@ the language, a switch telling if the content should be in a single line." (defun org-edit-src-save () "Save parent buffer with current state source-code buffer." (interactive) - (save-window-excursion - (let ((p (point)) (m (mark)) msg) + (let ((p (point)) (m (mark)) msg) + (save-window-excursion (org-edit-src-exit) (save-buffer) (setq msg (current-message)) - (org-edit-src-code) - (push-mark m 'nomessage) - (goto-char (min p (point-max))) - (message (or msg ""))))) + (org-edit-src-code)) + (push-mark m 'nomessage) + (goto-char (min p (point-max))) + (message (or msg "")))) (defun org-src-mode-configure-edit-buffer () (when org-edit-src-from-org-mode -- 2.11.4.GIT