[PATCH] emacs: A prefix argument kills rather than browsing URLs

David Edmondson dme at dme.org
Mon Dec 2 02:48:05 PST 2019


In `notmuch-show', the "B" key (notmuch-show-browse-urls) will kill
the URL if called with a prefix argument rather than browsing
directly.
---
 emacs/notmuch-show.el | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index e13ca3d7..ef2bf1e0 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -2540,12 +2540,16 @@ message."
        (push (match-string-no-properties 0) urls))
      (reverse urls))))
 
-(defun notmuch-show-browse-urls ()
-  "Offer to browse any URLs in the current message."
-  (interactive)
-  (let ((urls (notmuch-show--gather-urls)))
+(defun notmuch-show-browse-urls (&optional kill)
+  "Offer to browse any URLs in the current message.
+With a prefix argument, copy the URL to the kill ring rather than
+browsing."
+  (interactive "P")
+  (let ((urls (notmuch-show--gather-urls))
+	(prompt (if kill "Copy URL to kill ring: " "Browse URL: "))
+	(fn (if kill #'kill-new #'browse-url)))
     (if urls
-	(browse-url (completing-read "Browse URL: " (cdr urls) nil nil (car urls)))
+	(funcall fn (completing-read prompt (cdr urls) nil nil (car urls)))
       (message "No URLs found."))))
 
 (provide 'notmuch-show)
-- 
2.23.0



More information about the notmuch mailing list