unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Austin Clements <amdragon@MIT.EDU>
To: Mark Walters <markwalters1009@gmail.com>
Cc: notmuch@notmuchmail.org
Subject: Re: [PATCH] emacs: show: lazy part handling bugfix
Date: Mon, 9 Sep 2013 09:56:39 -0400	[thread overview]
Message-ID: <20130909135637.GF1426@mit.edu> (raw)
In-Reply-To: <1378510125-10245-1-git-send-email-markwalters1009@gmail.com>

Nice sleuthing!  LGTM.

One question, though.  `notmuch-show-insert-bodypart' calls
`notmuch-show-toggle-part-invisibility' with point at the end of the
buffer and not on the button.  Without this patch, properties will be
nil as a result, but with this patch, they may not be.  This still
seems strictly more correct, but do you know why this is okay?  Are
the properties nil at this point regardless because the button is all
in an overlay and we don't apply the :notmuch-part text property until
after this call to `notmuch-show-toggle-part-invisibility'?

Quoth Mark Walters on Sep 07 at 12:28 am:
> The lazy part handler had a bug that it allowed the button to be
> toggled to be specified. During toggling it needs to save and restore
> the text-properties for the button but it actually saved the text
> properties at point rather than from the button.
> 
> In almost all cases this didn't matter as as point had the same text
> properties as the button. However, it is a bug and did cause incorrect
> behaviour in some cases: see id:87txhz14z6.fsf@qmul.ac.uk for details.
> ---
> This is exactly the same as the patch in the parent except it has a
> commit message.
> 
> Best wishes
> 
> Mark
> 
> 
>  emacs/notmuch-show.el |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 20844f0..0267574 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -503,7 +503,7 @@ message at DEPTH in the current thread."
>  	     (new-start (button-start button))
>  	     (button-label (button-get button :base-label))
>  	     (old-point (point))
> -	     (properties (text-properties-at (point)))
> +	     (properties (text-properties-at (button-start button)))
>  	     (inhibit-read-only t))
>  	;; Toggle the button itself.
>  	(button-put button :notmuch-part-hidden (not show))

  reply	other threads:[~2013-09-09 13:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-23  8:34 [PATCH] emacs: show: lazy part bugfix Mark Walters
2013-09-01 16:18 ` Jameson Graef Rollins
2013-09-04  7:30 ` [PATCH v2] " Mark Walters
2013-09-04 14:56   ` Austin Clements
2013-09-04 15:50     ` Jameson Graef Rollins
2013-09-04 16:16       ` Austin Clements
2013-09-05 18:46         ` Mark Walters
2013-09-06 23:28           ` [PATCH] emacs: show: lazy part handling bugfix Mark Walters
2013-09-09 13:56             ` Austin Clements [this message]
2013-09-10 11:14             ` David Bremner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130909135637.GF1426@mit.edu \
    --to=amdragon@mit.edu \
    --cc=markwalters1009@gmail.com \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).