]> code.delx.au - gnu-emacs/blobdiff - lisp/org/org-mhe.el
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
[gnu-emacs] / lisp / org / org-mhe.el
index 1767ddca1ee65c5825f47e5656aad18a50903996..e8abef9f29d8dfe14f5e44c98635b98e630ade01 100644 (file)
@@ -1,11 +1,10 @@
 ;;; org-mhe.el --- Support for links to MH-E messages from within Org-mode
 
-;; Copyright (C) 2004-201 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2016 Free Software Foundation, Inc.
 
 ;; Author: Thomas Baumann <thomas dot baumann at ch dot tum dot de>
 ;; Keywords: outlines, hypermedia, calendar, wp
 ;; Homepage: http://orgmode.org
-;; Version: 7.4
 ;;
 ;; This file is part of GNU Emacs.
 ;;
@@ -31,6 +30,7 @@
 
 ;;; Code:
 
+(require 'org-macs)
 (require 'org)
 
 ;; Customization variables
@@ -82,27 +82,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 (concat "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."
@@ -179,17 +180,17 @@ you have a better idea of how to do this then please let us know."
         (num (org-mhe-get-message-num))
         (buffer (get-buffer-create (concat "show-" folder)))
         (header-field))
-  (with-current-buffer buffer
-    (mh-display-msg num folder)
-    (if (equal major-mode 'mh-folder-mode)
-       (mh-header-display)
-      (mh-show-header-display))
-    (set-buffer buffer)
-    (setq header-field (mh-get-header-field header))
-    (if (equal major-mode 'mh-folder-mode)
-       (mh-show)
-      (mh-show-show))
-    (org-trim header-field))))
+    (with-current-buffer buffer
+      (mh-display-msg num folder)
+      (if (equal major-mode 'mh-folder-mode)
+         (mh-header-display)
+       (mh-show-header-display))
+      (set-buffer buffer)
+      (setq header-field (mh-get-header-field header))
+      (if (equal major-mode 'mh-folder-mode)
+         (mh-show)
+       (mh-show-show))
+      (org-trim header-field))))
 
 (defun org-mhe-follow-link (folder article)
   "Follow an MH-E link to FOLDER and ARTICLE.
@@ -224,5 +225,4 @@ folders."
 
 (provide 'org-mhe)
 
-
 ;;; org-mhe.el ends here