all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: Arthur Miller <arthur.miller@live.com>
Cc: 36767@debbugs.gnu.org, ndame <emacsuser@freemail.hu>
Subject: bug#36767: 26.1; request: add more quick keys to the *Help* buffer
Date: Thu, 23 Sep 2021 22:52:59 +0200	[thread overview]
Message-ID: <87wnn7xbdg.fsf@gnus.org> (raw)
In-Reply-To: <AM9PR09MB49770845B0C1B7CBB331E68A96A39@AM9PR09MB4977.eurprd09.prod.outlook.com> (Arthur Miller's message of "Thu, 23 Sep 2021 02:23:03 +0200")

Arthur Miller <arthur.miller@live.com> writes:

> You can see how it looks like. I have attached a small screenshot too,
> so you don't need to apply it just to see how it looks like. The file
> name at the end of the header is probably clear on it's own; the
> symbol link is as clear/unclear as rest of the links in the buffer.

(You're doing all these mails in a bug report that has been archived, so
the only other people who's reading them are the ones in the CCs.  If
you wish to discuss things publicly, either do so in emacs-devel or open
a new bug report.)

I fixed up your patch so that it works more reliably, but then I
remembered why I didn't add the link: We don't know at this point
whether the symbol in question is documented in the manual.  Adding a
link to something that fails is bad UI.  And we can't check whether the
symbol exists in the manual when generating the *Help* buffer, because
it's slow, and the trade-off (making the command slow versus an extra
link) is not a good one.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 551cf7e1a3..4d6d13ea42 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -367,6 +367,11 @@ 'help-news
     (view-buffer-other-window (find-file-noselect file))
     (goto-char pos))
   'help-echo (purecopy "mouse-2, RET: show corresponding NEWS announcement"))
+
+(define-button-type 'help-symbol-info
+  :supertype 'help-xref
+  'help-function #'help-goto-info
+  'help-echo (purecopy "mouse-2, RET: read this info node"))
 \f
 (defvar bookmark-make-record-function)
 (defvar help-mode--current-data nil)
@@ -538,6 +543,15 @@ help-make-xrefs
           ;; The following should probably be abstracted out.
           (unwind-protect
               (progn
+                ;; Make a button of the first time the symbol appears
+                ;; in the buffer.
+                (save-excursion
+                  (when-let ((symbol (plist-get help-mode--current-data
+                                                :symbol)))
+                    (when (or (symbolp symbol) (fboundp symbol))
+                      (goto-char (point-min))
+                      (when (search-forward (symbol-name symbol) nil t)
+                        (help-xref-button 0 'help-symbol-info)))))
                 ;; Info references
                 (save-excursion
                   (while (re-search-forward help-xref-info-regexp nil t)





  parent reply	other threads:[~2021-09-23 20:52 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-22 19:53 bug#36767: 26.1; request: add more quick keys to the *Help* buffer ndame
2019-07-22 20:49 ` Drew Adams
2019-07-28  0:10   ` Basil L. Contovounesios
2021-06-15 18:52 ` Lars Ingebrigtsen
2021-06-17 20:34   ` Juri Linkov
2021-06-18  6:02     ` Eli Zaretskii
2021-06-18  7:20       ` Robert Pluim
2021-06-18 10:58         ` Eli Zaretskii
2021-06-18 14:21           ` bug#36767: [External] : " Drew Adams
2021-06-18 14:32           ` Stephen Berman
2021-06-18 14:45             ` Eli Zaretskii
2021-06-18 16:02               ` Stephen Berman
2021-06-18 18:25                 ` Eli Zaretskii
2021-06-19  9:08               ` martin rudalics
2021-06-19  9:27                 ` Eli Zaretskii
2021-06-20  9:21                   ` martin rudalics
2021-06-18 16:21             ` bug#36767: [External] : " Drew Adams
2021-06-18 14:12         ` Drew Adams
2021-06-18 19:14       ` Juri Linkov
2021-06-18 19:21         ` Eli Zaretskii
2021-06-19 23:15           ` Juri Linkov
     [not found]       ` <AM9PR09MB49779C8B93EFFB329EB8E5A596A29@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]         ` <83y27nvnb4.fsf@gnu.org>
     [not found]           ` <AM9PR09MB497767EDF180DE0C3EE15F4396A39@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]             ` <83ilyrvgda.fsf@gnu.org>
     [not found]               ` <AM9PR09MB497720FA603D3B7FC4D4739196A39@AM9PR09MB4977.eurprd09.prod.outlook.com>
2021-09-23 20:54                 ` Lars Ingebrigtsen
     [not found]                 ` <83h7ebv39d.fsf@gnu.org>
     [not found]                   ` <AM9PR09MB49771D1ECD11701DEFB77C7A96A39@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]                     ` <838rznusle.fsf@gnu.org>
2021-09-24  7:16                       ` Arthur Miller
2021-09-24 15:31                         ` Juri Linkov
2021-09-24 16:12                           ` Eli Zaretskii
2021-09-24 19:36                             ` Arthur Miller
2021-09-24 19:39                             ` Arthur Miller
2021-09-24 19:57                             ` Arthur Miller
2021-09-25  6:09                               ` Eli Zaretskii
2021-09-25 14:41                                 ` Arthur Miller
2021-09-25 14:59                                   ` Eli Zaretskii
2021-09-25 16:22                                     ` Arthur Miller
2021-09-25 16:26                                       ` Eli Zaretskii
2021-09-25 17:08                                         ` Arthur Miller
2021-09-25 17:20                                           ` Eli Zaretskii
2021-09-25 20:15                                             ` Arthur Miller
2021-09-26 21:52                                               ` Arthur Miller
2021-09-26  9:11                                           ` martin rudalics
2021-09-26 16:11                                             ` Arthur Miller
2021-09-26 16:54                                               ` [External] : " Drew Adams
2021-09-26 21:51                                                 ` Arthur Miller
2021-09-26 22:38                                                   ` Drew Adams
2021-09-26 22:46                                                     ` Arthur Miller
2021-09-26 17:51                                               ` martin rudalics
2021-09-26 21:48                                                 ` Arthur Miller
2021-09-27 11:07                                 ` Exec help commands from other buffer (was bug#36767: 26.1; request: add more quick keys to the *Help* buffer) Arthur Miller
2021-09-27 19:59                                   ` Arthur Miller
2021-09-24 18:34                           ` [External] : Re: bug#36767: 26.1; request: add more quick keys to the *Help* buffer Drew Adams
2021-09-24 19:34                           ` Arthur Miller
2021-09-24 20:20                           ` Arthur Miller
2021-09-24 20:33                           ` Arthur Miller
2021-09-25 18:46                             ` Juri Linkov
2021-06-19 11:58     ` Lars Ingebrigtsen
2021-06-19 12:22       ` Eli Zaretskii
2021-06-19 23:15       ` Juri Linkov
     [not found]   ` <AM9PR09MB4977DAFB86D88A4714C1C64196A29@AM9PR09MB4977.eurprd09.prod.outlook.com>
     [not found]     ` <87pmt0qomh.fsf@gnus.org>
     [not found]       ` <AM9PR09MB4977CCFA194C77F1ADF0015C96A29@AM9PR09MB4977.eurprd09.prod.outlook.com>
2021-09-23 20:42         ` Lars Ingebrigtsen
2021-09-23 23:09           ` bug#36767: [External] : " Drew Adams
     [not found]       ` <AM9PR09MB49770845B0C1B7CBB331E68A96A39@AM9PR09MB4977.eurprd09.prod.outlook.com>
2021-09-23 20:52         ` Lars Ingebrigtsen [this message]
2021-09-23 22:18           ` Arthur Miller
2021-09-26  9:11           ` martin rudalics
2021-09-26  9:40             ` Lars Ingebrigtsen
2021-09-26  9:55             ` Eli Zaretskii

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wnn7xbdg.fsf@gnus.org \
    --to=larsi@gnus.org \
    --cc=36767@debbugs.gnu.org \
    --cc=arthur.miller@live.com \
    --cc=emacsuser@freemail.hu \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.