;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Sat Jun  6 14:06:57 1998
;;; from file /gd/gnu/emacs/lisp/info-look.el
;;; in Emacs version 20.2.94.1
;;; with bytecomp version 2.45
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`info-look.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301\302!\210\303\304\305\217\210\306\307\303\310\311\312&\207" [:group require info nil (byte-code "\300\301!\207" [require custom] 2) ((error (byte-code "\300\301M\210\302\303M\207" [defgroup (macro . #[(&rest arg) "\300\207" [nil] 1]) defcustom (macro . #[(symbol value doc &rest arg) "\304	\nBBBB\207" [symbol value doc arg defvar] 5])] 2))) custom-declare-group info-lookup "Major mode sensitive help agent." help languages] 8)
#@174 Symbol of the current buffer's help mode.
Help is provided according to the buffer's major mode if value is nil.
Automatically becomes buffer local when set in any fashion.
(defvar info-lookup-mode nil (#$ . 1057))
(make-variable-buffer-local 'info-lookup-mode)
#@57 Non-nil means pop up the Info buffer in another window.
(custom-declare-variable 'info-lookup-other-window-flag 't '(#$ . 1325) :group 'info-lookup :type 'boolean)
#@97 Face for highlighting looked up help items.
Setting this variable to nil disables highlighting.
(custom-declare-variable 'info-lookup-highlight-face ''highlight '(#$ . 1495) :group 'info-lookup :type 'face)
#@39 Overlay object used for highlighting.
(defvar info-lookup-highlight-overlay nil (#$ . 1708))
#@194 Alist of file names handled specially.
List elements are cons cells of the form

    (REGEXP . MODE)

If a file name matches REGEXP, then use help mode MODE instead of the
buffer's major mode.
(custom-declare-variable 'info-lookup-file-name-alist ''(("\\`configure\\.in\\'" . autoconf-mode) ("\\`aclocal\\.m4\\'" . autoconf-mode) ("\\`acsite\\.m4\\'" . autoconf-mode) ("\\`acinclude\\.m4\\'" . autoconf-mode)) '(#$ . 1808) :group 'info-lookup :type '(repeat (cons (string :tag "Regexp") (symbol :tag "Mode"))))
#@34 History of previous input lines.
(defvar info-lookup-history nil (#$ . 2325))
#@1500 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 a mode's symbol.
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.
(defvar info-lookup-alist nil (#$ . 2411))
(defalias 'info-lookup->topic-value #[(topic) "\302	\"A\207" [topic info-lookup-alist assoc] 3])
(put 'info-lookup->topic-value 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->mode-value #[(topic mode) "\303	\303	\n\"A)\"\207" [mode topic info-lookup-alist assoc] 5])
(put 'info-lookup->mode-value 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->regexp #[(topic mode) "	\303	\303\n\"A)\"*A@\207" [topic mode info-lookup-alist assoc] 5])
(put 'info-lookup->regexp 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->ignore-case #[(topic mode) "\303	\304	\304\n\"A)\"*8\207" [topic mode info-lookup-alist 2 assoc] 6])
(put 'info-lookup->ignore-case 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->doc-spec #[(topic mode) "\303	\304	\304\n\"A)\"*8\207" [topic mode info-lookup-alist 3 assoc] 6])
(put 'info-lookup->doc-spec 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->parse-rule #[(topic mode) "\303	\304	\304\n\"A)\"*8\207" [topic mode info-lookup-alist 4 assoc] 6])
(put 'info-lookup->parse-rule 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->other-modes #[(topic mode) "\303	\304	\304\n\"A)\"*8\207" [topic mode info-lookup-alist 5 assoc] 6])
(byte-code "\300\301\302\303#\210\304\305\306\"\207" [put info-lookup->other-modes byte-optimizer byte-compile-inline-expand mapcar #[(keyword) "\301!\206	 \211L\207" [keyword boundp] 2] (:topic :mode :regexp :ignore-case :doc-spec :parse-rule :other-modes)] 4)
#@464 Add or update a help specification.
Function arguments are one or more options of the form

    KEYWORD ARGUMENT

KEYWORD is either `:topic', `:mode', `:regexp', `:ignore-case',
 `:doc-spec', `:parse-rule', or `:other-modes'.
ARGUMENT has a value as explained in the documentation of the
 variable `info-lookup-alist'.

If no topic or mode option has been specified, then the help topic defaults
to `symbol', and the help mode defaults to the current major mode.
(defalias 'info-lookup-add-help #[(&rest arg) "\301\302\303#\207" [arg apply info-lookup-add-help* nil] 4 (#$ . 5527)])
#@128 Add a help specification iff no one is defined.
See the documentation of the function `info-lookup-add-help'
for more details.
(defalias 'info-lookup-maybe-add-help #[(&rest arg) "\301\302\303#\207" [arg apply info-lookup-add-help* t] 4 (#$ . 6118)])
(defalias 'info-lookup-add-help* #[(maybe &rest arg) "\306\211\211\211\211\211\211\211\211\307\310\203\251 @\2119\2043 \311\312\"\210A\211\204A \311\313	\"\210@A	=\203W \202 	=\203d \202 	=\203q \202 	=\203} \202 	=\203\211 \202 	=\203\225 \202 	=\203\241 \202 \311\314	\"\210\202 \203\267 \315\"\204\372 \f\n\257\316\"\206\325 \306BB\211@\316\"\211\204\363 BAB\241\210\202\371 \241\210+.	\306\207" [value keyword other-modes parse-rule doc-spec ignore-case nil symbol "\\w+" error "Junk in argument list \"%S\"" "Keyword \"%S\" is missing an argument" "Unknown keyword \"%S\"" info-lookup->mode-value assoc regexp mode topic major-mode arg :topic :mode :regexp :ignore-case :doc-spec :parse-rule :other-modes maybe data info-lookup-alist topic-cell mode-cell] 10])
#@485 Cache storing data maintained automatically by the program.
Value is an alist with cons cell of the form

    (HELP-TOPIC . ((HELP-MODE INITIALIZED COMPLETIONS REFER-MODES) ...))

HELP-TOPIC is the symbol of a help topic.
HELP-MODE is a mode's symbol.
INITIALIZED is nil if HELP-MODE is uninitialized, t if
 HELP-MODE is initialized, and `0' means HELP-MODE is
 initialized but void.
COMPLETIONS is an alist of documented help items.
REFER-MODES is a list of other help modes to use.
(defvar info-lookup-cache nil (#$ . 7263))
(defalias 'info-lookup->cache #[(topic) "\302	\"\206 \303B	B\211@\207" [topic info-lookup-cache assoc nil] 3])
(put 'info-lookup->cache 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'info-lookup->topic-cache #[(topic) "\302	\"\206 \303B	B\211@)A\207" [topic info-lookup-cache assoc nil] 3])
(defalias 'info-lookup->mode-cache #[(topic mode) "\302\303	!\"\207" [mode topic assoc info-lookup->topic-cache] 4])
(defalias 'info-lookup->initialized #[(topic mode) "\302	\"A@\207" [topic mode info-lookup->mode-cache] 3])
(defalias 'info-lookup->completions #[(topic mode) "\302	\"\204\f \303	\"\210\304\305	\"8\207" [topic mode info-lookup->initialized info-lookup-setup-mode 2 info-lookup->mode-cache] 4])
(defalias 'info-lookup->refer-modes #[(topic mode) "\302	\"\204\f \303	\"\210\304\305	\"8\207" [topic mode info-lookup->initialized info-lookup-setup-mode 3 info-lookup->mode-cache] 4])
(defalias 'info-lookup->all-modes #[(topic mode) "\302	\"B\207" [mode topic info-lookup->refer-modes] 4])
(defalias 'info-lookup-quick-all-modes #[(topic mode) "	\303	\304	\304	\n\"A)\"*8*B\207" [mode topic info-lookup-alist 5 assoc] 7])
#@187 Throw away all cached data.
This command is useful if the user wants to start at the beginning without
quitting Emacs, for example, after some Info documents were updated on the
system.
(defalias 'info-lookup-reset #[nil "\301\211\207" [info-lookup-cache nil] 2 (#$ . 8961) nil])
#@269 Display the documentation of a symbol.
If called interactively, SYMBOL will be read from the mini-buffer.
Prefix argument means unconditionally insert the default symbol name
into the mini-buffer so that it can be edited.
The default symbol is the one found at point.
(defalias 'info-lookup-symbol #[(symbol &optional mode) "\302\300	#\207" [symbol mode info-lookup] 4 (#$ . 9249) (byte-code "\300\301!\207" [info-lookup-interactive-arguments symbol] 2)])
#@266 Display the documentation of a file.
If called interactively, FILE will be read from the mini-buffer.
Prefix argument means unconditionally insert the default file name
into the mini-buffer so that it can be edited.
The default file name is the one found at point.
(defalias 'info-lookup-file #[(file &optional mode) "\302\300	#\207" [file mode info-lookup] 4 (#$ . 9713) (byte-code "\300\301!\207" [info-lookup-interactive-arguments file] 2)])
#@58 Return default value and help mode for help topic TOPIC.
(defalias 'info-lookup-interactive-arguments #[(topic) "\306 \307	\307\n\"A)\"*\203 \202 \310!\311	\"\312	\"\2043 \307\f\"?\2054 	\313	\307	\307\n\"A)\"*8*\314\315\203d \204d \316\317#\202h \316\320\"\f\321\211\322&\211\323\232\203| \202~ 	.D\207" [topic mode info-lookup-alist info-lookup-mode completions default info-lookup-select-mode assoc info-lookup-change-mode info-lookup->completions info-lookup-guess-default 2 t completing-read format "Describe %s (default %s): " "Describe %s: " nil info-lookup-history "" current-prefix-arg input completion-ignore-case enable-recursive-minibuffers value] 8 (#$ . 10165)])
(defalias 'info-lookup-select-mode #[nil "\204, \305 \203, \306\305 !	\204+ \n\203+ \307\n@@\"\203% \n@A\nA\202 *\2063 \f\211\207" [info-lookup-mode info-lookup-file-name-alist file-name-alist file-name major-mode buffer-file-name file-name-nondirectory string-match] 3])
(defalias 'info-lookup-change-mode #[(topic) "\305\306\307	\"A)\"\310\311\312\"\n\313\314\313\315&\307\n\"A\211\204( \316\317\"\210\320\"\2045 \316\321#\210\211*\207" [topic info-lookup-alist completions mode info-lookup-mode mapcar #[(arg) "\301@!@B\207" [arg symbol-name] 2] assoc completing-read format "Use %s help mode: " nil t info-lookup-history error "No %s help available" info-lookup->mode-value "No %s help available for `%s'"] 7])
#@43 Display the documentation of a help item.
(defalias 'info-lookup #[(topic item mode) "\204 \306 \307	\"\204 \310\311	#\210\312	\313	\312	\312	\n\"A)\"*8*\2034 \227\2025 \314	\"\"\206F \310\315	\206E \316#\317	\"\320 \321\211\211\211\211\211 !\"#$%\204m \322 \210\202t \323\213\210\324\325!\210!\204\322 #\203\322 	#@\326	\312	\312	\n\"A)\"*8* !\204\312  \203\312  @@\313 @8\326 @8\327\330\331\217\203\302 \321\332\333\217\210 A \202\231 #A#\202t \f\204\332 \310\334!\210%\205\350 !\205\350 \335\"!.	\207" [mode topic info-lookup-alist item doc-found suffix info-lookup-select-mode info-lookup->mode-value error "No %s help available for `%s'" assoc 2 info-lookup->completions "Not documented as a %s: %s" "" info-lookup->all-modes selected-window nil info ((info)) switch-to-buffer-other-window "*info*" 3 error-data (byte-code "\302!\210\303\211\207" [node doc-found Info-goto-node t] 2) ((error (byte-code "\301\302\"\210\303\304!\210\305\207" [node message "Cannot access Info node %s" sit-for 1 nil] 3))) (byte-code "\306A\206 	!\210\307\204 \f\203\211 @\310\311\311\"A)\"*8*\312eb\210\313\314	!\fQ!\210\315\224b\210\203\210 \203\210 \313\314	!!\203\210 \315\224\315\225\316!\203s \317p$\202| \320\"\211*\203\210 \321\322#\210*\312\207" [entry item found prefix suffix topic Info-menu t 2 assoc nil re-search-forward regexp-quote 0 overlayp move-overlay make-overlay overlay-put face modes mode info-lookup-alist buffer-read-only case-fold-search window-system info-lookup-highlight-face end start info-lookup-highlight-overlay] 6) ((error)) "Info documentation for lookup was not found" select-window prefix node doc-spec found window modes entry info-lookup-other-window-flag] 9 (#$ . 11640)])
#@41 Initialize the internal data structure.
(defalias 'info-lookup-setup-mode #[(topic mode) "\306	\"\206\225 \307\211\310\307\211	\311	\311\"A)\"*\204/ \312\313	#\210\202] \314\315	\316	\311	\311\"A)\"*8*\"\210\n\237\317	\"\320\321\314\322\n\"\"\244\323\324	\"\f\nE\204\216 \311\"\206\201 \307BB\211@)	B\325!B\241\210\202\223 \241\210\f-\207" [topic mode refer-modes completions initialized data info-lookup->initialized nil 0 assoc message "No %s help available for `%s'" mapcar #[(arg) "\303	\"\204\f \304	\"\210\303	\"\305=\205 	\nB\211\207" [topic arg refer-modes info-lookup->initialized info-lookup-setup-mode t] 3] 5 info-lookup-make-completions apply append #[(arg) "\302	\"\207" [topic arg info-lookup->completions] 3] t info-lookup->mode-cache info-lookup->topic-cache cell info-lookup-alist info-lookup-cache] 8 (#$ . 13463)])
#@47 Create a unique alist from all index entries.
(defalias 'info-lookup-make-completions #[(topic mode) "	\306	\307	\307\n\"A)\"*8*\310	\211	\307	\307\n\"A)\"*A@*\311Q\312\211\211\211\211\211\211\313\314! rq\210\315 \210) \203\256  @@ @A@\312=\203m \316\202\206  @A@;\203\201  @A@\317\202\206  @A@rq\210\320\321\"\210\322\323\324\217\203\236 \312\325\326\217\210)\320\327\"\210 A\211 \204Y \f\204\266 \330\331!\210.\n\207" [topic mode info-lookup-alist buffer doc-found result 3 assoc "^\\(" "\\)\\([ 	].*\\)?$" nil get-buffer-create " temp-info-look" Info-mode #[(arg) "\302	\"\205 \303\304	\"\207" [regexp arg string-match match-string 1] 3] #[(arg) "\302\303\"\205 	\304\305\"P\207" [arg prefix string-match "^\\([^: 	\n]+\\)" match-string 1] 4] message "Processing Info node `%s'..." error-data (byte-code "\302!\210\303\211\207" [node doc-found Info-goto-node t] 2) ((error (byte-code "\301\302\"\210\303\304!\210\305\207" [node message "Cannot access Info node `%s'" sit-for 1 nil] 3))) (byte-code "eb\210\306\307\310\311#\203S \312\313\310\311#\203S \314\315!	!\f\316\f\317\f\317\"A)\"*8*\2038 \n\227\n\230\203@ \310\317\n\"\204 \nBB\202 \310\207" [entry trans item topic mode info-lookup-alist search-forward "\n* Menu:" nil t re-search-forward "\n\\* \\([^:	\n]*\\):" match-string 1 2 assoc result] 6) ((error)) "Processing Info node `%s'...done" error "Info documentation for lookup was not found" prefix item entry trans node regexp doc-spec] 12 (#$ . 14363)])
#@102 Pick up default item at point (with favor to look back).
Return nil if there is nothing appropriate.
(defalias 'info-lookup-guess-default #[(topic mode) "\306	\"`\307\211\204\" \203\" \310@\"A\fb\210\202 \205/ \311\307\312\313\"\"\260,\207" [topic mode whitespace guess start modes info-lookup->all-modes nil info-lookup-guess-default* delete mapcar #[(ch) "\302\303\"\204 \302\304\"\204 \302\305\"\203 	?\205! \303\211\207\306\207" [ch whitespace char-equal 32 9 10 nil] 3]] 5 (#$ . 15926)])
(defalias 'info-lookup-guess-default* #[(topic mode) "	\306	\307	\307\n\"A)\"*8*	\310	\307	\307\n\"A)\"*8*\206H 	\211	\307	\307\n\"A)\"*A@*`\311\211\211\2119\203e  \202\265 :\203v @A\202{ \312\313\311x\210`\314\311\315#\203\237 \316!\203\237 \312\225Y\203\237 \317\f!\202\202 \204\265 b\210\313\311w\210\316!\203\265 \317\f!.\207" [topic mode info-lookup-alist result subexp regexp 2 assoc 4 nil 0 " 	\n" re-search-backward t looking-at match-string end start rule case-fold-search] 8])
#@28 Get the C symbol at point.
(defalias 'info-lookup-guess-c-symbol #[nil "\300\301\302\217\207" [nil (byte-code "\303 \210`\304\211\305\304x\306W\205$ \307\304x\306W\205$ \310\311!\205$ \312\313!\314P\nb\210\310\315!\2032 \312\306!	\204V \316\230\204H \317\230\204H \320\230\203V \310\321!\203V \314P\312\313!	\204^ \205a 	P+\207" [name prefix start backward-sexp nil " 	\n" 0 "_a-zA-Z0-9" looking-at "\\(struct\\|union\\|enum\\)\\s " match-string 1 " " "[_a-zA-Z][_a-zA-Z0-9]*" "struct" "union" "enum" "[a-z]+\\s +\\([_a-zA-Z][_a-zA-Z0-9]*\\)"] 3) ((error))] 3 (#$ . 17005)])
#@47 Perform completion on symbol preceding point.
(defalias 'info-complete-symbol #[(&optional mode) "\304\305\206! \305\306 \307	\307	\n\"A)\"*\203 \202! \310\305!\"\207" [mode topic info-lookup-alist info-lookup-mode info-complete symbol info-lookup-select-mode assoc info-lookup-change-mode] 7 (#$ . 17599) nil])
#@45 Perform completion on file preceding point.
(defalias 'info-complete-file #[(&optional mode) "\304\305\206! \305\306 \307	\307	\n\"A)\"*\203 \202! \310\305!\"\207" [mode topic info-lookup-alist info-lookup-mode info-complete file info-lookup-select-mode assoc info-lookup-change-mode] 7 (#$ . 17924) nil])
#@30 Try to complete a help item.
(defalias 'info-complete #[(topic mode) "\306 \210\204\n \307 \310	\"\204 \311\312	#\210\313	\"`\314\n\2049 \f\2039 \f@\fA\315	\"b\210\202  \n\204B \311\316	\"\210\317	\"	\320	\321	\321	\"A)\"*8*\314\322\n\"\211\204x \323 \210\324\325!\202\255 ;\203\245 \321\"\204\230 \326\327\330	\"\314\331 &\nGZ|\210c\202\255 \324\332\333\334	!!\".\207" [mode topic try start modes info-lookup-alist barf-if-buffer-read-only info-lookup-select-mode info-lookup->mode-value error "No %s completion available for `%s'" info-lookup-quick-all-modes nil info-lookup-guess-default* "Found no %S to complete" info-lookup->completions 2 assoc try-completion ding message "No match" completing-read format "Complete %S: " t "%s is complete" capitalize prin1-to-string completion completion-ignore-case completions info-lookup-history] 8 (#$ . 18243)])
(byte-code "\306\307	\310\n\311\312\f\313&\n\210\306\307	\314\n\315\316&\210\306\317\n\320\321\f\322\323&\n\210\306\324\n\325\326\f\327&\210\306\330\n\331\332&\210\306\333\n\334\335\f\336&\210\306\337\n\340\341\f\342\343&\n\210\306\344\n\345\346&\210\306\347\n\350\351\f\352&\210\306\353\n\354\355&\210\306\356\n\357;\360\361&\210\306\362\n\357\363&\210\306\364\n\357\f\342\365&\210\306\366\n\357\f\342\367&\210\306\356\n\357;\360\370&\210\371\372!\207" [:mode :topic :regexp :doc-spec :parse-rule :other-modes info-lookup-maybe-add-help c-mode symbol "\\(struct \\|union \\|enum \\)?[_a-zA-Z][_a-zA-Z0-9]*" (("(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 file "[_a-zA-Z0-9./+-]+" (("(libc)File Index")) bison-mode "[:;|]\\|%\\([%{}]\\|[_a-z]+\\)\\|YY[_A-Z]+\\|yy[_a-z]+" (("(bison)Index" nil "`" "'")) "[:;|]\\|%\\([%{}]\\|[_a-zA-Z][_a-zA-Z0-9]*\\)" (c-mode) makefile-mode "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z][_a-zA-Z0-9-]*" (("(make)Name Index" nil "^[ 	]*`" "'")) "\\$[^({]\\|\\.[_A-Z]*\\|[_a-zA-Z0-9-]+" texinfo-mode "@\\([a-zA-Z]+\\|[^a-zA-Z]\\)" (("(texinfo)Command and Variable Index" (lambda (item) (if (string-match "^\\([a-zA-Z]+\\|[^a-zA-Z]\\)\\( .*\\)?$" item) (concat "@" (match-string 1 item)))) "`" "'")) m4-mode "[_a-zA-Z][_a-zA-Z0-9]*" (("(m4)Macro index")) "[_a-zA-Z0-9]+" autoconf-mode "A[CM]_[_A-Z0-9]+" (("(autoconf)Macro Index" "AC_" "^[ 	]+- \\(Macro\\|Variable\\): .*\\<" "\\>") ("(automake)Index" nil "^[ 	]*`" "'")) ignore (m4-mode) awk-mode "[_a-zA-Z]+" (("(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)))) "`" "\\([ 	]*([^)]*)\\)?'")) perl-mode "[$@%][^a-zA-Z]\\|\\$\\^[A-Z]\\|[$@%]?[a-zA-Z][_a-zA-Z0-9]*" (("(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]\\)" latex-mode "\\\\\\([a-zA-Z]+\\|[^a-zA-Z]\\)" (("(latex2e)Command Index" nil "`" "\\({[^}]*}\\)?'")) scheme-mode "[^()' 	\n]+" t (("(r5rs)Index")) emacs-lisp-mode (("(emacs)Command Index") ("(emacs)Variable Index") ("(elisp)Index" (lambda (item) (let ((sym (intern-soft item))) (cond ((null sym) (if (string-equal item "nil") item)) ((or (boundp sym) (fboundp sym)) item)))) "^[ 	]+- [^:]+:[ 	]*" "\\b")) lisp-interaction-mode (emacs-lisp-mode) lisp-mode (emacs-lisp-mode) (("(r5rs)Index" nil "^[ 	]+- [^:]+:[ 	]*" "\\b")) provide info-look :ignore-case] 11)
