Small bug in json-search changes

2012-08-07 Thread Mark Walters

Hi

I have found a small bug in the recent changes to notmuch search to use
the JSON output. If you refresh the search buffer "point" does not stay
on the same thread. 

I think the problem is that notmuch-search-refresh-view calls notmuch
search with target-thread set to notmuch-search-find-thread-id which
returns the thread-id with "thread:" prefixed, whereas
notmuch-search-show-result checks for a match with (plist-get result
:thread) which is the thread id with no prefix.

The patch below fixes this but I am not sure it is the nicest fix.

Best wishes

Mark

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index d2d82a9..a53d5a0 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -798,7 +798,7 @@ non-authors is found, assume that all of the authors match."
(insert "\n")
(notmuch-search-color-line beg (point) (plist-get result :tags))
(put-text-property beg (point) 'notmuch-search-result result))
-  (when (string= (plist-get result :thread) notmuch-search-target-thread)
+  (when (string= (concat "thread:" (plist-get result :thread)) 
notmuch-search-target-thread)
(setq notmuch-search-target-thread "found")
(goto-char beg)




Small bug in json-search changes

2012-08-06 Thread Austin Clements
Nice catch.  I think the solution is either exactly this, or we should
strip "thread:" off notmuch-search-target-thread when we set it.  I
would lean slightly toward the latter so we don't have to generate up
a new (identical) string on every notmuch-search-show-result call, but
I doubt it would make much difference in the grand scheme of things.

Quoth Mark Walters on Aug 07 at 12:10 am:
> 
> Hi
> 
> I have found a small bug in the recent changes to notmuch search to use
> the JSON output. If you refresh the search buffer "point" does not stay
> on the same thread. 
> 
> I think the problem is that notmuch-search-refresh-view calls notmuch
> search with target-thread set to notmuch-search-find-thread-id which
> returns the thread-id with "thread:" prefixed, whereas
> notmuch-search-show-result checks for a match with (plist-get result
> :thread) which is the thread id with no prefix.
> 
> The patch below fixes this but I am not sure it is the nicest fix.
> 
> Best wishes
> 
> Mark
> 
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index d2d82a9..a53d5a0 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -798,7 +798,7 @@ non-authors is found, assume that all of the authors 
> match."
>   (insert "\n")
>   (notmuch-search-color-line beg (point) (plist-get result :tags))
>   (put-text-property beg (point) 'notmuch-search-result result))
> -  (when (string= (plist-get result :thread) notmuch-search-target-thread)
> +  (when (string= (concat "thread:" (plist-get result :thread)) 
> notmuch-search-target-thread)
>   (setq notmuch-search-target-thread "found")
>   (goto-char beg)
>  
> 


Re: Small bug in json-search changes

2012-08-06 Thread Austin Clements
Nice catch.  I think the solution is either exactly this, or we should
strip "thread:" off notmuch-search-target-thread when we set it.  I
would lean slightly toward the latter so we don't have to generate up
a new (identical) string on every notmuch-search-show-result call, but
I doubt it would make much difference in the grand scheme of things.

Quoth Mark Walters on Aug 07 at 12:10 am:
> 
> Hi
> 
> I have found a small bug in the recent changes to notmuch search to use
> the JSON output. If you refresh the search buffer "point" does not stay
> on the same thread. 
> 
> I think the problem is that notmuch-search-refresh-view calls notmuch
> search with target-thread set to notmuch-search-find-thread-id which
> returns the thread-id with "thread:" prefixed, whereas
> notmuch-search-show-result checks for a match with (plist-get result
> :thread) which is the thread id with no prefix.
> 
> The patch below fixes this but I am not sure it is the nicest fix.
> 
> Best wishes
> 
> Mark
> 
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index d2d82a9..a53d5a0 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -798,7 +798,7 @@ non-authors is found, assume that all of the authors 
> match."
>   (insert "\n")
>   (notmuch-search-color-line beg (point) (plist-get result :tags))
>   (put-text-property beg (point) 'notmuch-search-result result))
> -  (when (string= (plist-get result :thread) notmuch-search-target-thread)
> +  (when (string= (concat "thread:" (plist-get result :thread)) 
> notmuch-search-target-thread)
>   (setq notmuch-search-target-thread "found")
>   (goto-char beg)
>  
> 
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Small bug in json-search changes

2012-08-06 Thread Mark Walters

Hi

I have found a small bug in the recent changes to notmuch search to use
the JSON output. If you refresh the search buffer "point" does not stay
on the same thread. 

I think the problem is that notmuch-search-refresh-view calls notmuch
search with target-thread set to notmuch-search-find-thread-id which
returns the thread-id with "thread:" prefixed, whereas
notmuch-search-show-result checks for a match with (plist-get result
:thread) which is the thread id with no prefix.

The patch below fixes this but I am not sure it is the nicest fix.

Best wishes

Mark

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index d2d82a9..a53d5a0 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -798,7 +798,7 @@ non-authors is found, assume that all of the authors match."
(insert "\n")
(notmuch-search-color-line beg (point) (plist-get result :tags))
(put-text-property beg (point) 'notmuch-search-result result))
-  (when (string= (plist-get result :thread) notmuch-search-target-thread)
+  (when (string= (concat "thread:" (plist-get result :thread)) 
notmuch-search-target-thread)
(setq notmuch-search-target-thread "found")
(goto-char beg)
 

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch