From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bastien Guerry Subject: [Accepted] org-crypt: fix decrypt outline display bug Date: Tue, 1 Feb 2011 12:54:07 +0100 (CET) Message-ID: <20110201115407.D1C9F8783@myhost.localdomain> References: <1296045989-11068-1-git-send-email-julien@danjou.info> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=50550 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PkEoE-0002sM-C7 for emacs-orgmode@gnu.org; Tue, 01 Feb 2011 06:54:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PkEoB-0001zN-Et for emacs-orgmode@gnu.org; Tue, 01 Feb 2011 06:54:08 -0500 Received: from mail-bw0-f41.google.com ([209.85.214.41]:35020) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PkEoB-0001yv-7F for emacs-orgmode@gnu.org; Tue, 01 Feb 2011 06:54:07 -0500 Received: by bwz16 with SMTP id 16so6516333bwz.0 for ; Tue, 01 Feb 2011 03:54:05 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Patch 561 (http://patchwork.newartisans.com/patch/561/) is now "Accepted". Maintainer comment: none This relates to the following submission: http://mid.gmane.org/%3C1296045989-11068-1-git-send-email-julien%40danjou.info%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-crypt: fix decrypt outline display bug > Date: Wed, 26 Jan 2011 17:46:29 -0000 > From: Julien Danjou > X-Patchwork-Id: 561 > Message-Id: <1296045989-11068-1-git-send-email-julien@danjou.info> > To: emacs-orgmode@gnu.org > Cc: Julien Danjou , John Wiegley , > Peter Jones > > * org-crypt.el (org-decrypt-entry): Delete \n on top level heading. > This avoids a display bug showing the heading outlined where the text > is not since it does not have the outline property. > Restore subtree visibility state after decryption. > > Cc: John Wiegley > Cc: Peter Jones > Signed-off-by: Julien Danjou > > --- > lisp/org-crypt.el | 43 ++++++++++++++++++++++++++----------------- > 1 files changed, 26 insertions(+), 17 deletions(-) > > diff --git a/lisp/org-crypt.el b/lisp/org-crypt.el > index 1758a81..7c28d70 100644 > --- a/lisp/org-crypt.el > +++ b/lisp/org-crypt.el > @@ -140,23 +140,32 @@ This setting can also be overridden in the CRYPTKEY property." > (unless (org-before-first-heading-p) > (save-excursion > (org-back-to-heading t) > - (forward-line) > - (when (looking-at "-----BEGIN PGP MESSAGE-----") > - (let* ((beg (point)) > - (end (save-excursion > - (search-forward "-----END PGP MESSAGE-----") > - (forward-line) > - (point))) > - (epg-context (epg-make-context nil t t)) > - (decrypted-text > - (decode-coding-string > - (epg-decrypt-string > - epg-context > - (buffer-substring-no-properties beg end)) > - 'utf-8))) > - (delete-region beg end) > - (insert decrypted-text) > - nil))))) > + (let ((heading-point (point)) > + (heading-was-invisible-p > + (save-excursion > + (outline-end-of-heading) > + (outline-invisible-p)))) > + (forward-line) > + (when (looking-at "-----BEGIN PGP MESSAGE-----") > + (let* ((end (save-excursion > + (search-forward "-----END PGP MESSAGE-----") > + (forward-line) > + (point))) > + (epg-context (epg-make-context nil t t)) > + (decrypted-text > + (decode-coding-string > + (epg-decrypt-string > + epg-context > + (buffer-substring-no-properties (point) end)) > + 'utf-8))) > + ;; Delete region starting just before point, because the > + ;; outline property starts at the \n of the heading. > + (delete-region (1- (point)) end) > + (insert "\n" decrypted-text) > + (when heading-was-invisible-p > + (goto-char heading-point) > + (org-flag-subtree t)) > + nil)))))) > > (defun org-encrypt-entries () > "Encrypt all top-level entries in the current buffer." >