From: Stefan Kangas <stefankangas@gmail.com>
To: 60213@debbugs.gnu.org
Subject: bug#60213: [PATCH] Copy Info-goto-node-web URL as kill with prefix argument
Date: Mon, 19 Dec 2022 22:44:33 -0600 [thread overview]
Message-ID: <CADwFkm=6tPc-TFZGMLkQcEFMWwMhw2j1UtDmwG8gt9VP4052bw@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
Severity: wishlist
The attached patch make `Info-goto-node-web' copy the URL as kill with a
prefix argument, instead of opening it with `browse-url'. I've seen
this feature requested a couple of times now by various people.
Since `Info-goto-node-web' is new in Emacs 29, this could perhaps be
considered safe enough for emacs-29, but master is also fine, of course.
[-- Attachment #2: 0002-Copy-Info-goto-node-web-URL-as-kill-with-prefix-arg.patch --]
[-- Type: text/x-diff, Size: 2246 bytes --]
From 76593b37c06c18920cb2c1f704bbd1590d59e471 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas@gmail.com>
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
next reply other threads:[~2022-12-20 4:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-20 4:44 Stefan Kangas [this message]
2022-12-20 14:04 ` bug#60213: [PATCH] Copy Info-goto-node-web URL as kill with prefix argument Eli Zaretskii
2022-12-20 17:24 ` Drew Adams
2022-12-21 1:57 ` Stefan Kangas
2022-12-21 6:01 ` Drew Adams
2022-12-21 8:36 ` Stefan Kangas
2022-12-21 16:07 ` Drew Adams
2022-12-21 8:30 ` Juri Linkov
2022-12-21 16:05 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CADwFkm=6tPc-TFZGMLkQcEFMWwMhw2j1UtDmwG8gt9VP4052bw@mail.gmail.com' \
--to=stefankangas@gmail.com \
--cc=60213@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).