[PATCH 2/2] emacs: hello: allow deleting individual searches in the history

Mark Walters markwalters1009 at gmail.com
Sat May 4 16:31:18 PDT 2013


These patches both look good to me (and the lisp all looks fine) modulo
a trivial style comment and a little bikeshedding.

For the bikeshedding I would prefer that the first patch was a y-or-n-p
(as Jani suggested) and that the second didn't query at all (the
dataloss potential from deleting a single search from the history is
pretty small)


On Fri, 03 May 2013, Servilio Afre Puentes <servilio at gmail.com> wrote:
> This commit adds an extra button at the end of the search entries that
> allows deleting that individual search from the history. A short
> confirmation («y» or «n») is made before taking action.
> ---
>  emacs/notmuch-hello.el | 26 ++++++++++++++++++++++++--
>  1 file changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> index aa063b7..9fbbdc9 100644
> --- a/emacs/notmuch-hello.el
> +++ b/emacs/notmuch-hello.el
> @@ -286,6 +286,16 @@ afterwards.")
>      (message "Saved '%s' as '%s'." search name)
>      (notmuch-hello-update)))
>  
> +(defun notmuch-hello-delete-search-from-history (widget)
> +  (interactive)
> +  (let ((search (widget-value
> +		 (symbol-value
> +		  (widget-get widget :notmuch-saved-search-widget)))))
> +    (setq notmuch-search-history (delete search
> +					 notmuch-search-history))
> +    (notmuch-hello-update)
> +    ))
> +

Trivial formatting/style point: notmuch goes for putting all the braces
after the final function.

Best wishes

Mark

>  (defun notmuch-hello-longest-label (searches-alist)
>    (or (loop for elem in searches-alist
>  	    maximize (length (car elem)))
> @@ -624,7 +634,12 @@ Complete list of currently available key bindings:
>  						;; `[save]' button. 6
>  						;; for the `[save]'
>  						;; button.
> -						1 6))
> +						1 6
> +						;; 1 for the space
> +						;; before the `[del]'
> +						;; button. 5 for the
> +						;; `[del]' button.
> +						1 5))
>  				  :action (lambda (widget &rest ignore)
>  					    (notmuch-hello-search (widget-value widget)))
>  				  search))
> @@ -633,7 +648,14 @@ Complete list of currently available key bindings:
>  			     :notify (lambda (widget &rest ignore)
>  				       (notmuch-hello-add-saved-search widget))
>  			     :notmuch-saved-search-widget widget-symbol
> -			     "save"))
> +			     "save")
> +	      (widget-insert " ")
> +	      (widget-create 'push-button
> +			     :notify (lambda (widget &rest ignore)
> +				       (when (y-or-n-p "Are you sure you want to delete this search? ")
> +					 (notmuch-hello-delete-search-from-history widget)))
> +			     :notmuch-saved-search-widget widget-symbol
> +			     "del"))
>  	    (widget-insert "\n"))
>        (indent-rigidly start (point) notmuch-hello-indent))
>      nil))
> -- 
> 1.8.2.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list