Variable: info-lookup-alist
info-lookup-alist is a variable defined in info-look.el.gz.
Value
Large value
((file
(c-mode "[_a-zA-Z0-9./+-]+" nil (("(libc)File Index")) nil nil nil))
(symbol
(tramp-info-lookup-mode "[^] \n \"'-),[`‘’]+" nil
(("(tramp)Function Index" nil
"^[[:blank:]]-+[[:blank:]].*:[[:blank:]]"
"[[:blank:]]\\|$")
("(tramp)Variable Index" nil
"^[[:blank:]]-+[[:blank:]].*:[[:blank:]]"
"[[:blank:]]\\|$"))
nil nil nil)
(gdb-script-mode "\\([-a-z]+\\(\\s-+[-a-z]+\\)*\\)" nil
(("(gdb)Command and Variable Index" nil nil nil))
info-lookup-guess-gdb-script-symbol nil nil)
(help-mode "[^][()`'‘’,:\" \n]+" nil nil nil (emacs-lisp-mode)
(tramp-info-lookup-mode emacs-lisp-mode))
(Custom-mode "[^][()`'‘’,:\" \n]+" t nil
#[0 "\300`\301\"\211\205\302!\207"
[get-text-property custom-data symbol-name] 3]
(emacs-lisp-mode)
(tramp-info-lookup-mode emacs-lisp-mode))
(cfengine-mode "[[:alnum:]_]+\\(?:()\\)?" nil
(("(cfengine-Reference)Variable Index"
(lambda (item)
(if (string-match "\\([[:alnum:]_]+\\)()" item)
(match-string 1 item)
item))
"['`‘]" "("))
nil nil nil)
(sh-mode "\\([a-zA-Z0-9_-]+\\|[!{}@*#?$]\\|\\[\\[?\\|]]?\\)" nil
(("(bash)Builtin Index" nil "^['`‘]" "[ .'’]")
("(bash)Reserved Word Index" nil "^['`‘]" "[ .'’]")
("(bash)Variable Index" nil "^['`‘]" "[ .'’]")
("(coreutils)Index"
(lambda (item)
(if (string-match "\\`[a-z]+\\'" item) item)))
("(coreutils)Concept Index"
(lambda (item)
(if (string-match "\\`[a-z]+\\'" item) item)))
("(diff)Index"
(lambda (item)
(if (string-match "\\`\\([a-z]+\\) invocation\\'" item)
(match-string 1 item))))
("(sed)Concept Index"
(lambda (item)
(if
(string-equal item
"Standard input, processing as input")
"sed")))
("(gawk)Index"
(lambda (item)
(cond
((string-equal item "gawk, extensions, disabling")
"awk")
((string-equal item
"gawk, versions of, information about, printing")
"gawk")))))
nil nil nil)
(inferior-maxima-mode "[a-zA-Z0-9_%]+" nil nil nil (maxima-mode) nil)
(maxima-mode "[a-zA-Z0-9_%]+" t
(("(maxima)Function and Variable Index" nil
"^ -+ [^:]+:[ ]+\\(\\[[^=]*=[ ]+\\)?" nil))
nil nil nil)
(octave-mode
"[_a-zA-Z0-9]+\\|\\s.+\\|[-!=^|*/.\\,><~&+]\\{1,3\\}\\|[][();,\"']"
nil
(("(octave)Function Index" nil
"^ -+ [^:]+:[ ]+\\(\\[[^=]*=[ ]+\\)?" nil)
("(octave)Variable Index" nil "^ -+ [^:]+:[ ]+" nil)
("(octave)Operator Index" nil nil nil)
("(octave)Concept Index"
(lambda (item)
(cond
((string-match "^\\([A-Z]+\\) statement\\b" item)
(match-string 1 item))
(t nil)))
nil nil))
nil nil nil)
(scheme-mode "[^()`'‘’,\" \n]+" t
(("(r5rs)Index" nil "^[ ]+-+ [^:]+:[ ]*" "\\b"))
nil nil nil)
(lisp-mode "[^()`'‘’,\" \n]+" nil nil ignore (emacs-lisp-mode)
(tramp-info-lookup-mode emacs-lisp-mode))
(lisp-interaction-mode "[^][()`'‘’,\" \n]+" nil nil ignore
(emacs-lisp-mode)
(tramp-info-lookup-mode emacs-lisp-mode))
(apropos-mode "[^][()`'‘’,\" \n]+" nil nil nil (emacs-lisp-mode)
(tramp-info-lookup-mode emacs-lisp-mode))
((emacs-lisp-mode . "woman") "\\bwoman-[^][()`'‘’,\" \n]+" nil
(("(woman)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(woman)Command Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "wisent") "\\bwisent-[^][()`'‘’,\" \n]+"
nil (("(wisent)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "widget") "\\bwidget-[^][()`'‘’,\" \n]+"
nil (("(widget)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "vtable") "\\bvtable-[^][()`'‘’,\" \n]+"
nil (("(vtable)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "viper") "\\bviper-[^][()`'‘’,\" \n]+" nil
(("(viper)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(viper)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "vhdl") "\\bvhdl-[^][()`'‘’,\" \n]+" nil
(("(vhdl-mode)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(vhdl-mode)Command Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "use-package")
"\\buse-package-[^][()`'‘’,\" \n]+" nil
(("(use-package)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "url") "\\burl-[^][()`'‘’,\" \n]+" nil
(("(url)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(url)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "tramp") "\\btramp-[^][()`'‘’,\" \n]+" nil
(("(tramp)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(tramp)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "srecode") "\\bsrecode-[^][()`'‘’,\" \n]+"
nil (("(srecode)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "smtpmail") "\\bsmtpmail-[^][()`'‘’,\" \n]+"
nil
(("(smtpmail)Function and Variable Index" nil "^ -+ .*: "
"\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "sieve") "\\bsieve-[^][()`'‘’,\" \n]+" nil
(("(sieve)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "ses") "\\bses-[^][()`'‘’,\" \n]+" nil
(("(ses)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "semantic") "\\bsemantic-[^][()`'‘’,\" \n]+"
nil (("(semantic)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "sc") "\\bsc-[^][()`'‘’,\" \n]+" nil
(("(sc)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "sasl") "\\bsasl-[^][()`'‘’,\" \n]+" nil
(("(sasl)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(sasl)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "reftex") "\\breftex-[^][()`'‘’,\" \n]+"
nil (("(reftex)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "rcirc") "\\brcirc-[^][()`'‘’,\" \n]+" nil
(("(rcirc)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(rcirc)Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "org") "\\borg-[^][()`'‘’,\" \n]+" nil
(("(org)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(org)Command and Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "octave") "\\boctave-[^][()`'‘’,\" \n]+"
nil
(("(octave-mode)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(octave-mode)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "newsticker")
"\\bnewsticker-[^][()`'‘’,\" \n]+" nil
(("(newsticker)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "mh") "\\bmh-[^][()`'‘’,\" \n]+" nil
(("(mh-e)Option Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(mh-e)Command Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "message") "\\bmessage-[^][()`'‘’,\" \n]+"
nil (("(message)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "mairix") "\\bmairix-[^][()`'‘’,\" \n]+"
nil
(("(mairix-el)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(mairix-el)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "info") "\\binfo-[^][()`'‘’,\" \n]+" nil
(("(info)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "ido") "\\bido-[^][()`'‘’,\" \n]+" nil
(("(ido)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(ido)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "idlwave") "\\bidlwave-[^][()`'‘’,\" \n]+"
nil (("(idlwave)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "htmlfontify")
"\\bhtmlfontify-[^][()`'‘’,\" \n]+" nil
(("(htmlfontify)Functions" nil "^ -+ .*: " "\\( \\|$\\)")
("(htmlfontify)Variables & Customization" nil "^ -+ .*: "
"\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "gnus") "\\bgnus-[^][()`'‘’,\" \n]+" nil
(("(gnus)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "forms") "\\bforms-[^][()`'‘’,\" \n]+" nil
(("(forms)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "flymake") "\\bflymake-[^][()`'‘’,\" \n]+"
nil (("(flymake)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "eww") "\\beww-[^][()`'‘’,\" \n]+" nil
(("(eww)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(eww)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "eudc") "\\beudc-[^][()`'‘’,\" \n]+" nil
(("(eudc)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "eshell") "\\beshell-[^][()`'‘’,\" \n]+"
nil
(("(eshell)Function and Variable Index" nil "^ -+ .*: "
"\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "ert") "\\bert-[^][()`'‘’,\" \n]+" nil
(("(ert)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "epa") "\\bepa-[^][()`'‘’,\" \n]+" nil
(("(epa)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(epa)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "eglot") "\\beglot-[^][()`'‘’,\" \n]+" nil
(("(eglot)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "mm") "\\bmm-[^][()`'‘’,\" \n]+" nil
(("(emacs-mime)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "gnutls") "\\bgnutls-[^][()`'‘’,\" \n]+"
nil
(("(emacs-gnutls)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(emacs-gnutls)Function Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "eieio") "\\beieio-[^][()`'‘’,\" \n]+" nil
(("(eieio)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil
nil)
((emacs-lisp-mode . "ediff") "\\bediff-[^][()`'‘’,\" \n]+" nil
(("(ediff)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "dbus") "\\bdbus-[^][()`'‘’,\" \n]+" nil
(("(dbus)Index" nil "^ -+ .*: " "\\( \\|$\\)")) nil nil nil)
((emacs-lisp-mode . "calc") "\\bcalc-[^][()`'‘’,\" \n]+" nil
(("(calc)Lisp Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(calc)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "autotype") "\\bautotype-[^][()`'‘’,\" \n]+"
nil
(("(autotype)Command Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(autotype)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
((emacs-lisp-mode . "auth") "\\bauth-[^][()`'‘’,\" \n]+" nil
(("(auth)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(auth)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil nil)
(emacs-lisp-only "[^][()`'‘’,\" \n]+" nil
(("(elisp)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Function Index" nil "^ -+ .*: "
"\\( \\|$\\)")
("(cl)Variable Index" nil "^ -+ .*: "
"\\( \\|$\\)"))
nil nil nil)
(emacs-lisp-mode "[^][()`'‘’,\" \n]+" nil
(("(emacs)Command Index" nil
"['`‘]\\(M-x[ \n]+\\)?" "['’]")
("(emacs)Variable Index" nil "['`‘]" "['’]")
("(elisp)Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(cl)Function Index" nil "^ -+ .*: "
"\\( \\|$\\)")
("(cl)Variable Index" nil "^ -+ .*: "
"\\( \\|$\\)")
("(dash) Index" nil "^ -+ .*: " "\\( \\|$\\)"))
nil nil (tramp-info-lookup-mode))
(latex-mode "\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)" nil
(("(latex)Command Index" nil "[`'‘]"
"\\({[^}]*}|\\[[^]]*\\]\\)*['’]"))
nil nil nil)
(python-mode "\\w+" nil nil nil nil
#[0
"\300\301\302\301\211\303Y\2034\304\305\"\262\306\302\"\203&\304\307\"\262\301\211\262\202'\302\2034S\262\301\262\202\203>\266\310\202@\266\204CC\207"
[20 nil t 7 format "python3.%d" Info-find-file
"(%s)Index" "(python)Index"]
8])
(perl-mode
"[$@%][^a-zA-Z]\\|\\$\\^[A-Z]\\|[$@%]?[a-zA-Z][_a-zA-Z0-9]*" nil
(("(perl5)Function Index"
(lambda (item)
(if (string-match "^\\([a-zA-Z0-9]+\\)" item)
(match-string 1 item)))
"^" "\\b")
("(perl5)Variable Index"
(lambda (item)
(let
((sym
(cond
((or (string-match "^\\$\\(.\\|@@\\)$" item)
(string-match "^\\$\\^[A-Z]$" item))
item)
((string-match "^\\([$%@]\\|@@\\)?[_a-zA-Z0-9]+" item)
(match-string 0 item))
(t ""))))
(if (string-match "@@" sym)
(setq sym
(concat (substring sym 0 (match-beginning 0))
(substring sym (1- (match-end 0))))))
(if (string-equal sym "") nil sym)))
"^" "\\b"))
"[$@%]?\\([_a-zA-Z0-9]+\\|[^a-zA-Z]\\)" nil nil)
(awk-mode "[_a-zA-Z]+" nil
(("(gawk)Index"
(lambda (item)
(let ((case-fold-search nil))
(cond
((string-match "^\\([A-Z]+\\) special pattern\\b"
item)
(match-string 1 item))
((string-match "^\\([a-z]+\\) statement\\b" item)
(if
(not
(string-equal (match-string 1 item) "control"))
(match-string 1 item)))
((string-match "^[A-Z]+$" item) item)
((string-match "^[a-z]+$" item) item))))
"['`‘]" "\\([ ]*([^)]*)\\)?['’]"))
nil nil nil)
(autoconf-mode "A[CM]_[_A-Z0-9]+" nil
(("(autoconf)Autoconf Macro Index"
(lambda (item)
(if (string-match "^A._" item) item
(concat "AC_" item)))
"^[ ]+-+ \\(Macro\\|Variable\\): .*\\<" "\\>")
("(autoconf)M4 Macro Index"
(lambda (item)
(let ((case-fold-search nil))
(cond
((or (string-equal item "dnl")
(string-match "^m4_" item)
(string-match "^AS_" item))
item)
((string-match "^[A-Z0-9_]+$" item)
(concat "AS_" item))
(t (concat "m4_" item)))))
"^[ ]+-+ Macro: .*\\<" "\\>")
("(autoconf)Autotest Macro Index" "AT_"
"^[ ]+-+ Macro: .*\\<" "\\>")
("(autoconf)Macro Index" "AC_"
"^[ ]+-+ \\(Macro\\|Variable\\): .*\\<" "\\>")
("(automake)Macro and Variable Index" nil
"^[ ]*['`‘]" "['’]"))
ignore (m4-mode) nil)
(m4-mode "[_a-zA-Z][_a-zA-Z0-9]*" nil (("(m4)Macro index"))
"[_a-zA-Z0-9]+" nil nil)
(texinfo-mode "@\\([a-zA-Z]+\\|[^a-zA-Z]\\)" nil
(("(texinfo)Command and Variable Index"
(lambda (item)
(if
(string-match
"^\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\( .*\\)?$"
item)
(concat "@" (match-string 1 item))))
"['`‘]" "['’ ]"))
nil nil nil)
(makefile-automake-mode
"\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*\\|##\\|\\+=" nil
(("(automake)Variable Index" nil "^[ ]*['`‘]" "['’]")
("(automake)Macro and Variable Index" nil "^[ ]*['`‘]"
"['’]")
("(automake)General Index" nil "['`‘]" "['’]")
("(automake)Index" nil "['`‘]" "['’]"))
"\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+\\|##\\|\\+="
(makefile-mode) nil)
(makefile-mode "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*" nil
(("(make)Name Index" nil "^[ ]*['`‘]" "['’]"))
"\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+" nil nil)
(bison-mode "[:;|]\\|%\\([%{}]\\|[_a-z]+\\)\\|YY[_A-Z]+\\|yy[_a-z]+"
nil (("(bison)Index" nil "['`‘]" "['’]"))
"[:;|]\\|%\\([%{}]\\|[_a-zA-Z][_a-zA-Z0-9]*\\)" (c-mode)
nil)
(c-mode "\\(struct \\|union \\|enum \\)?[_a-zA-Z][_a-zA-Z0-9]*" nil
(("(libc)Function Index" nil
"^[ ]+-+ \\(Function\\|Macro\\): .*\\<" "\\>")
("(libc)Variable Index" nil
"^\\([ ]+-+ \\(Variable\\|Macro\\): .*\\<\\|['`‘]\\)"
"\\( \\|['’]?$\\)")
("(libc)Type Index" nil "^[ ]+-+ Data Type: \\<" "\\>")
("(termcap)Var Index" nil "^[ ]*['`‘]" "['’]"))
info-lookup-guess-c-symbol nil nil)))
Documentation
Alist of known help topics.
Cons cells are of the form
(HELP-TOPIC . HELP-DATA)
HELP-TOPIC is the symbol of a help topic.
HELP-DATA is a HELP-TOPIC's public data set.
Value is an alist with elements of the form
(HELP-MODE REGEXP IGNORE-CASE DOC-SPEC PARSE-RULE OTHER-MODES)
HELP-MODE is either a mode's symbol, or a cons cell of the
form (HELP-MODE . SYMBOL-PREFIX), where SYMBOL-PREFIX is the
prefix (the part up to the first dash) of names of symbols whose
documentation is specified by DOC-SPEC.
REGEXP is a regular expression matching those help items whose
documentation can be looked up via DOC-SPEC.
IGNORE-CASE is non-nil if help items are case insensitive.
DOC-SPEC is a list of documentation specifications of the form
(INFO-NODE TRANS-FUNC PREFIX SUFFIX)
INFO-NODE is the name (including file name part) of an Info index.
TRANS-FUNC is a function translating index entries into help items;
nil means add only those index entries matching REGEXP, a string
means prepend string to the first word of all index entries.
PREFIX and SUFFIX are parts of a regular expression. If one of
them is non-nil then search the help item's Info node for the
first occurrence of the regular expression PREFIX ITEM SUFFIX.
ITEM will be highlighted with info-lookup-highlight-face if this
variable is not nil.
PARSE-RULE is either the symbol name of a function or a regular
expression for guessing the default help item at point. Fuzzy
regular expressions like "[_a-zA-Z0-9]+" do a better job if
there are no clear delimiters; do not try to write too complex
expressions. PARSE-RULE defaults to REGEXP.
OTHER-MODES is a list of cross references to other help modes.
Source Code
;; Defined in /usr/src/emacs/lisp/info-look.el.gz
(defvar info-lookup-alist nil
"Alist of known help topics.
Cons cells are of the form
(HELP-TOPIC . HELP-DATA)
HELP-TOPIC is the symbol of a help topic.
HELP-DATA is a HELP-TOPIC's public data set.
Value is an alist with elements of the form
(HELP-MODE REGEXP IGNORE-CASE DOC-SPEC PARSE-RULE OTHER-MODES)
HELP-MODE is either a mode's symbol, or a cons cell of the
form (HELP-MODE . SYMBOL-PREFIX), where SYMBOL-PREFIX is the
prefix (the part up to the first dash) of names of symbols whose
documentation is specified by DOC-SPEC.
REGEXP is a regular expression matching those help items whose
documentation can be looked up via DOC-SPEC.
IGNORE-CASE is non-nil if help items are case insensitive.
DOC-SPEC is a list of documentation specifications of the form
(INFO-NODE TRANS-FUNC PREFIX SUFFIX)
INFO-NODE is the name (including file name part) of an Info index.
TRANS-FUNC is a function translating index entries into help items;
nil means add only those index entries matching REGEXP, a string
means prepend string to the first word of all index entries.
PREFIX and SUFFIX are parts of a regular expression. If one of
them is non-nil then search the help item's Info node for the
first occurrence of the regular expression `PREFIX ITEM SUFFIX'.
ITEM will be highlighted with `info-lookup-highlight-face' if this
variable is not nil.
PARSE-RULE is either the symbol name of a function or a regular
expression for guessing the default help item at point. Fuzzy
regular expressions like \"[_a-zA-Z0-9]+\" do a better job if
there are no clear delimiters; do not try to write too complex
expressions. PARSE-RULE defaults to REGEXP.
OTHER-MODES is a list of cross references to other help modes.")