In GNU Emacs 25.2.2 on Ubuntu 17.10,
(info "(gnus) The Gnus Registry") finds the right page.
gnus registry RET finds nothing.
Is there a command I can use to search all of my info files?
Here's a command that does the job. It uses the core of
info-apropos, substituting the regular apropos handling of input.
(defun my-info-apropos (pattern &optional literalp) "Search indexes of all known Info files on your system for apropos PATTERN. Build a menu of the possible matches. With a prefix arg, match PATTERN as a literal string, not as a regexp or keywords. Just as for commands such as `apropos', PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words." (interactive (list (apropos-read-pattern "index entries") current-prefix-arg)) (apropos-parse-pattern pattern) (if (equal apropos-regexp "") (Info-find-node Info-apropos-file "Top") (let ((nodes Info-apropos-nodes) nodename) (while (and nodes (not (string-match apropos-regexp (nth 1 (car nodes))))) (setq nodes (cdr nodes))) ;; Use another window, if not already in Info. (unless (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) (if nodes (Info-find-node Info-apropos-file (caar nodes)) (setq nodename (format "Index for ‘%s’" apropos-regexp)) (push (list nodename apropos-regexp (Info-apropos-matches apropos-regexp (and (not literalp) 'REGEXP))) Info-apropos-nodes) (Info-find-node Info-apropos-file nodename)))))
You'll also need to modify
Info-apropos-matches (or define another function that is the modified version, and call that in the code above), so that it accepts an optional arg
REGEXP-P, which if non-
nil does not
STRING arg. In other words, replace the use of just
(if REGEXP-P STRING (regexp-quote STRING)).
I submitted Emacs bug #31807 for this.