From: Drew Adams <drew.adams@oracle.com>
To: 42753@debbugs.gnu.org
Subject: bug#42753: 26.3; `info-lookup.el': Add all manuals delivered by `emacs -Q', for `emacs-lisp-mode'
Date: Fri, 7 Aug 2020 15:20:15 -0700 (PDT) [thread overview]
Message-ID: <d69397a7-acf7-4803-9cba-f7e0686712f4@default> (raw)
Most of the manuals delivered with Emacs are missing from
`info-look.el', for looking up Emacs-Lisp commands, non-interactive
functions, options, and other variables.
I believe that a fix for this is to replace the :doc-spec value here:
(info-lookup-maybe-add-help
:mode 'emacs-lisp-mode
:regexp "[^][()`''',\" \t\n]+"
:doc-spec '(;; Commands with key sequences appear in nodes as `foo' and
;; those without as `M-x foo'.
("(emacs)Command Index" nil "['`']\\(M-x[ \t\n]+\\)?" "['']")
;; Variables normally appear in nodes as just `foo'.
("(emacs)Variable Index" nil "['`']" "['']")
;; Almost all functions, variables, etc appear in nodes as
;; " -- Function: foo" etc. A small number of aliases and
;; symbols appear only as `foo', and will miss out on exact
;; positions. Allowing `foo' would hit too many false matches
;; for things that should go to Function: etc, and those latter
;; are much more important. Perhaps this could change if some
;; sort of fallback match scheme existed.
("(elisp)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")))
with this :doc-spec value:
'(;; Commands with key sequences appear in nodes as `foo' and
;; those without as `M-x foo'.
("(emacs)Command Index" nil "['`']\\(M-x[ \t\n]+\\)?" "['']")
;; Variables normally appear in nodes as just `foo'.
("(emacs)Variable Index" nil "['`']" "['']")
;; Almost all functions, variables, etc appear in nodes as
;; " -- Function: foo" etc. A small number of aliases and
;; symbols appear only as `foo', and will miss out on exact
;; positions. Allowing `foo' would hit too many false matches
;; for things that should go to Function: etc, and those latter
;; are much more important. Perhaps this could change if some
;; sort of fallback match scheme existed.
("(elisp)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(info)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(efaq-w32)Indexes" nil "^ -+ .*: " "\\( \\|$\\)")
("(eintr)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ccmode)Command and Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ccmode)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(idlwave)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(octave-mode)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(octave-mode)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(org)Command and Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(org)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(vhdl-mode)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(vhdl-mode)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eudc)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(emacs-gnutls)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(emacs-gnutls)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(gnus)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(mh-e)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(mh-e)Option Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(message)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(newsticker)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(pgg)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(pgg)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sasl)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sasl)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sc)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sc)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sieve)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(tramp)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(tramp)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(autotype)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(autotype)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(calc)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(calc)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(dired-x)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(dired-x)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eieio)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ert)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eww)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eww)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(epa)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(epa)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ediff)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eshell)Function and Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(flymake)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(forms)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(htmlfontify)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ido)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(pl-cvs)Function and Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(reftex)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ses)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(srecode)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(semantic)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(speedbar)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(viper)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(viper)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(wisent)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(woman)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(woman)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(auth)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(auth)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(dbus)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(mime)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(smtpmail)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(url)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(url)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(widget)Index" nil "^ -+ .*: " "\\( \\|$\\)")
)
That covers all of the manuals I get with `emacs -Q', which have indexes
with entries for Emacs-Lisp commands, functions, options, and variables.
Please do that, or something similar, so such symbols get picked up by
`info-lookup'. I used the same order here as the manuals are presented
in the top-level menu. You may want to change the order. Another
possible change you might want to make is to use a value similar to the
one for "(emacs)Command Index" for other "(...)Command Index" entries.
["(efaq-w32)Indexes" should probably be included conditionally, for MS
Windows. And perhaps on other platforms `emacs -Q' gives a different
set of manuals, so other adjustments could be made.]
Note that `info-lookup' is used by 3rd-party libraries, so this will
help them as well.
It seems like there should be an easy way to just _add_ such missing
entries after the fact, e.g., in a 3rd-party library. For example, I
was thinking that perhaps `info-lookup-add-help' (without the `-maybe')
would take care of that.
But apparently not. While trying that I found I had to reset the
various global values in `info-look.el' - once the alist and cache are
defined there doesn't seem to be a way (already provided) to update them.
`info-look.el' seems a bit monolithic, in this regard. But perhaps I'm
missing something.
In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.18362
Configured using:
`configure --without-dbus --host=x86_64-w64-mingw32
--without-compress-install 'CFLAGS=-O2 -static -g3''
next reply other threads:[~2020-08-07 22:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-07 22:20 Drew Adams [this message]
2020-08-08 8:42 ` bug#42753: 26.3; `info-lookup.el': Add all manuals delivered by `emacs -Q', for `emacs-lisp-mode' Eli Zaretskii
[not found] <<d69397a7-acf7-4803-9cba-f7e0686712f4@default>
[not found] ` <<835z9t7cme.fsf@gnu.org>
2020-08-08 14:28 ` Drew Adams
2020-08-15 14:22 ` Michael Albinus
2021-08-29 22:10 ` Lars Ingebrigtsen
2021-10-08 13:36 ` Lars Ingebrigtsen
2021-10-08 14:02 ` Eli Zaretskii
2021-10-08 14:33 ` Michael Albinus
2021-10-08 16:05 ` Eli Zaretskii
2021-10-08 16:23 ` Michael Albinus
2021-10-08 17:36 ` Eli Zaretskii
2021-10-09 11:17 ` Lars Ingebrigtsen
2021-10-09 12:45 ` Lars Ingebrigtsen
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=d69397a7-acf7-4803-9cba-f7e0686712f4@default \
--to=drew.adams@oracle.com \
--cc=42753@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).