[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Accepted] [Orgmode] org-mhe-store-link alters window layout
From: |
Bastien Guerry |
Subject: |
[Accepted] [Orgmode] org-mhe-store-link alters window layout |
Date: |
Tue, 8 Feb 2011 16:55:02 +0100 (CET) |
Patch 584 (http://patchwork.newartisans.com/patch/584/) is now "Accepted".
Maintainer comment: none
This relates to the following submission:
http://mid.gmane.org/%3C1337.1297074568%40maps%3E
Here is the original message containing the patch:
> Content-Type: text/plain; charset="utf-8"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Subject: [Orgmode] org-mhe-store-link alters window layout
> Date: Mon, 07 Feb 2011 15:29:28 -0000
> From: Stephen Eglen <address@hidden>
> X-Patchwork-Id: 584
> Message-Id: <address@hidden>
> To: address@hidden
> Cc: address@hidden, Stephen Eglen <address@hidden>
>
> 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."
>