emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] org-mhe-store-link alters window layout


From: Stephen Eglen
Subject: [Orgmode] org-mhe-store-link alters window layout
Date: Mon, 07 Feb 2011 10:29:28 +0000

If I run M-x org-store-link when my current emacs frame is just showing
one MH-E window (and nothing else in the frame), e.g. the "show-+inbox"
buffer, then the link to that email is created okay, but the window
frames are altered so that the +inbox summary window is also shown.
In general, the previous window contents are forgotten.  I suggest
adding a 'save-window-excursion' into org-mhe-store-link so that the
window arrangement is preserved on exit from the function.

Patch below is long just because of the extra indentation.

Stephen

diff --git a/lisp/org-mhe.el b/lisp/org-mhe.el
index c384062..c9b0481 100644
--- a/lisp/org-mhe.el
+++ b/lisp/org-mhe.el
@@ -83,27 +83,28 @@ supported by MH-E."
   "Store a link to an MH-E folder or message."
   (when (or (equal major-mode 'mh-folder-mode)
            (equal major-mode 'mh-show-mode))
-    (let* ((from (org-mhe-get-header "From:"))
-          (to (org-mhe-get-header "To:"))
-          (message-id (org-mhe-get-header "Message-Id:"))
-          (subject (org-mhe-get-header "Subject:"))
-          (date (org-mhe-get-header "Date:"))
-          (date-ts (and date (format-time-string
-                              (org-time-stamp-format t) (date-to-time date))))
-          (date-ts-ia (and date (format-time-string
-                                 (org-time-stamp-format t t)
-                                 (date-to-time date))))
-          link desc)
-      (org-store-link-props :type "mh" :from from :to to
-                           :subject subject :message-id message-id)
-      (when date
-       (org-add-link-props :date date :date-timestamp date-ts
-                           :date-timestamp-inactive date-ts-ia))
-      (setq desc (org-email-link-description))
-      (setq link (org-make-link "mhe:" (org-mhe-get-message-real-folder) "#"
-                               (org-remove-angle-brackets message-id)))
-      (org-add-link-props :link link :description desc)
-      link)))
+    (save-window-excursion
+      (let* ((from (org-mhe-get-header "From:"))
+            (to (org-mhe-get-header "To:"))
+            (message-id (org-mhe-get-header "Message-Id:"))
+            (subject (org-mhe-get-header "Subject:"))
+            (date (org-mhe-get-header "Date:"))
+            (date-ts (and date (format-time-string
+                                (org-time-stamp-format t) (date-to-time 
date))))
+            (date-ts-ia (and date (format-time-string
+                                   (org-time-stamp-format t t)
+                                   (date-to-time date))))
+            link desc)
+       (org-store-link-props :type "mh" :from from :to to
+                             :subject subject :message-id message-id)
+       (when date
+         (org-add-link-props :date date :date-timestamp date-ts
+                             :date-timestamp-inactive date-ts-ia))
+       (setq desc (org-email-link-description))
+       (setq link (org-make-link "mhe:" (org-mhe-get-message-real-folder) "#"
+                                 (org-remove-angle-brackets message-id)))
+       (org-add-link-props :link link :description desc)
+       link))))
 
 (defun org-mhe-open (path)
   "Follow an MH-E message link specified by PATH."





reply via email to

[Prev in Thread] Current Thread [Next in Thread]