From 76593b37c06c18920cb2c1f704bbd1590d59e471 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Tue, 20 Dec 2022 05:35:03 +0100 Subject: [PATCH 2/2] Copy Info-goto-node-web URL as kill with prefix arg * lisp/info.el (Info-goto-node-web): Copy URL as kill with prefix argument. --- lisp/info.el | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/lisp/info.el b/lisp/info.el index f939c42874..8c689147dc 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1781,17 +1781,27 @@ Info-goto-node (Info-find-node (if (equal filename "") nil filename) (if (equal nodename "") "Top" nodename) nil strict-case))) -(defun Info-goto-node-web (node) +(defun Info-goto-node-web (node &optional arg) "Use `browse-url' to go to the gnu.org web server's version of NODE. -By default, go to the current Info node." +By default, go to the current Info node. + +With a prefix argument ARG, copy the URL to the kill ring instead +of visiting." (interactive (list (Info-read-node-name - "Go to node (default current page): " Info-current-node)) + (if current-prefix-arg + "Copy node URL as kill (default current page): " + "Go to node (default current page): ") + Info-current-node) + current-prefix-arg) Info-mode) - (browse-url-button-open-url - (Info-url-for-node (format "(%s)%s" (file-name-sans-extension - (file-name-nondirectory - Info-current-file)) - node)))) + (let ((url (Info-url-for-node (format "(%s)%s" (file-name-sans-extension + (file-name-nondirectory + Info-current-file)) + node)))) + (if current-prefix-arg + (progn (kill-new url) + (message "%s" url)) + (browse-url-button-open-url url)))) (defvar info--url-for-node-manuals-built-in ;; All manuals are at https://www.gnu.org/software/emacs/manual/ -- 2.35.1