From a1139fb5ec3a202229513e5202ea7cce72f9384a Mon Sep 17 00:00:00 2001 From: David Edmondson Date: Mon, 2 Dec 2019 10:48:05 +0000 Subject: [PATCH] emacs: A prefix argument kills rather than browsing URLs 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)