;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:46:34 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/info.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; 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.el' was compiled for Emacs 19.29 or later"))

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


(custom-declare-group 'info nil "Info subsystem" :group 'help :group 'docs)
#@100 List of info nodes user has visited.
Each element of list is a list (FILENAME NODENAME BUFFERPOS).
(defvar Info-history nil (#$ . 687))
#@320 *Non-nil means the \<Info-mode-map>\[Info-edit] command in Info can edit the current node.
This is convenient if you want to write info files by hand.
However, we recommend that you not do this.
It is better to write a Texinfo file and generate the Info file from that,
because that gives you a printed manual as well.
(custom-declare-variable 'Info-enable-edit 'nil '(#$ . -830) :type 'boolean :group 'info)
#@118 Non-nil allows Info to execute Lisp code associated with nodes.
The Lisp code is executed when the node is selected.
(defvar Info-enable-active-nodes nil (#$ . 1246))
(put 'Info-enable-active-nodes 'risky-local-variable t)
#@56 *Non-nil enables highlighting and fonts in Info nodes.
(custom-declare-variable 'Info-fontify 't '(#$ . -1475) :type 'boolean :group 'info)
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\305%\207" [custom-declare-face info-node ((((class color) (background light)) (:foreground "brown" :bold t :italic t)) (((class color) (background dark)) (:foreground "white" :bold t :italic t)) (t (:bold t :italic t))) "Face for Info node names." :group info info-menu-5 ((((class color)) (:foreground "red1")) (t (:underline t))) "Face for the fifth and nineth `*' in an Info menu." info-xref ((((class color) (background light)) (:foreground "magenta4" :bold t)) (((class color) (background dark)) (:foreground "cyan" :bold t)) (t (:bold t))) "Face for Info cross-references."] 6)
#@64 *Maximum size of menu to fontify if `Info-fontify' is non-nil.
(custom-declare-variable 'Info-fontify-maximum-menu-size '100000 '(#$ . -2296) :type 'integer :group 'info)
#@135 *Non-nil means to put the beginning-of-node links in an emacs header-line.
A header-line does not scroll with the rest of the buffer.
(custom-declare-variable 'Info-use-header-line 't '(#$ . -2474) :type 'boolean :group 'info)
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face info-header-xref ((t (:inherit info-xref))) "Face for Info cross-references in a node header." :group info info-header-node ((t (:inherit info-node))) "Face for Info nodes in a node header."] 6)
#@1449 List of directories to search for Info documentation files.
nil means not yet initialized.  In this case, Info uses the environment
variable INFOPATH to initialize it, or `Info-default-directory-list'
if there is no INFOPATH variable in the environment.

When `Info-directory-list' is initialized from the value of
`Info-default-directory-list', and Emacs is installed in one of the
standard directories, the directory of Info files that come with Emacs
is put last (so that local Info files override standard ones).

When `Info-directory-list' is initialized from the value of
`Info-default-directory-list', and Emacs is not installed in one
of the standard directories, the first element of the resulting
list is the directory where Emacs installs the Info files that
come with it.  This is so that Emacs's own manual, which suits the
version of Emacs you are using, will always be found first.  This
is useful when you install an experimental version of Emacs without
removing the standard installation.

If you want to override the order of directories in
`Info-default-directory-list', set INFOPATH in the environment.

If you run the Emacs executable from the `src' directory in the Emacs
source tree, and INFOPATH is not defined, the `info' directory in the
source tree is used as the first element of `Info-directory-list', in
place of the installation Info directory.  This is useful when you run
a version of Emacs without installing it.
(defvar Info-directory-list nil (#$ . 2997))
#@195 List of additional directories to search for Info documentation files.
These directories are searched after those in `Info-directory-list', and
they are not searched for merging the `dir' file.
(custom-declare-variable 'Info-additional-directory-list 'nil '(#$ . 4497) :type '(repeat directory) :group 'info)
#@532 *If non-nil, \<Info-mode-map>\[Info-scroll-up] in a menu visits subnodes.
If this is non-nil, and you scroll far enough in a node that its menu
appears on the screen, the next \<Info-mode-map>\[Info-scroll-up]
moves to a subnode indicated by the following menu item.  This means
that you visit a subnode before getting to the end of the menu.

Setting this option to nil results in behavior similar to the stand-alone
Info reader program, which visits the first subnode from the menu only
when you hit the end of the current node.
(custom-declare-variable 'Info-scroll-prefer-subnodes 't '(#$ . -4813) :type 'boolean :group 'info)
#@244 Info file that Info is now looking at, or nil.
This is the name that was specified in Info, not the actual file name.
It doesn't contain directory names or file name extensions added by Info.
Can also be t when using `Info-on-current-buffer'.
(defvar Info-current-file nil (#$ . 5451))
#@110 Info subfile that is actually in the *info* buffer now.
nil if current info file is not split into subfiles.
(defvar Info-current-subfile nil (#$ . 5744))
#@51 Name of node that Info is now looking at, or nil.
(defvar Info-current-node nil (#$ . 5905))
#@112 Marker pointing at beginning of current Info file's tag table.
Marker points nowhere if file has no tag table.
(defvar Info-tag-table-marker nil (#$ . 6005))
#@38 Buffer used for indirect tag tables.
(defvar Info-tag-table-buffer nil (#$ . 6169))
#@47 Cached completion list for current Info file.
(defvar Info-current-file-completions nil (#$ . 6259))
#@57 List of possible matches for last `Info-index' command.
(defvar Info-index-alternatives nil (#$ . 6366))
#@57 Non-nil if Emacs was started solely as an Info browser.
(defvar Info-standalone nil (#$ . 6477))
#@412 List of file name suffixes and associated decoding commands.
Each entry should be (SUFFIX . STRING); the file is given to
the command as standard input.

STRING may be a list of strings.  In that case, the first element is
the command name, and the rest are arguments to that command.

If STRING is nil, no decoding is done.
Because the SUFFIXes are tried in order, the empty string should
be last in the list.
(defvar Info-suffix-list (byte-code "\301=\203 \302\207\303\207" [system-type ms-dos ((".gz" . "gunzip") (".z" . "gunzip") (".bz2" "bzip2" "-dc") (".inz" . "gunzip") (".igz" . "gunzip") (".info.Z" . "gunzip") (".info.gz" . "gunzip") ("-info.Z" . "gunzip") ("-info.gz" . "gunzip") ("/index.gz" . "gunzip") ("/index.z" . "gunzip") (".inf") (".info") ("-info") ("/index") ("")) ((".info.Z" . "uncompress") (".info.Y" . "unyabba") (".info.gz" . "gunzip") (".info.z" . "gunzip") (".info.bz2" "bzip2" "-dc") (".info") ("-info.Z" . "uncompress") ("-info.Y" . "unyabba") ("-info.gz" . "gunzip") ("-info.bz2" "bzip2" "-dc") ("-info.z" . "gunzip") ("-info") ("/index.Z" . "uncompress") ("/index.Y" . "unyabba") ("/index.gz" . "gunzip") ("/index.z" . "gunzip") ("/index.bz2" "bzip2" "-dc") ("/index") (".Z" . "uncompress") (".Y" . "unyabba") (".gz" . "gunzip") (".z" . "gunzip") (".bz2" "bzip2" "-dc") (""))] 2) (#$ . 6581))
(defalias 'info-insert-file-contents-1 #[(filename suffix lfn) "\203 	\nP\207\306	!\307	GGZ\310Z]\311\f\307X\203( 	\211GSH\312=\2034 \nG\307U\2044 \n\310\311O\f\307\313\nGZ]^	\307	G\fZZO\nP+\207" [lfn filename suffix sans-exts ext-len ext-left file-name-sans-extension 0 1 nil 46 3] 5])
(defalias 'info-file-exists-p #[(filename) "\301!\205\n \302!?\207" [filename file-exists-p file-directory-p] 2])
#@122 Insert the contents of an info file in the current buffer.
Do the right thing if the file has been compressed or zipped.
(defalias 'info-insert-file-contents #[(filename &optional visit) "\306\307!?\206 \307 \306\307!\205 \n\310\310\310\311!\203E 	\203; \312\313	@@!\314P\"\204; 	A\211\204& 	@A\202\222 	\203\210 \204\210 \315	@@\n#\311\f!\203g \316	@A\202\201 \203\201 \315	@@\310#\311\f!\203\201 \316	@A	A\211\204I 	\204\222 \317\320\"\210\321\322!\203\245 \323 \203\245 \324\f!\203\245 \310\203\330 \325\f\"\210\310\326\327\f!\206\271  :\204\307 C\330\331ed@\316\211\310A&+\202\335 \332\f\".\207" [Info-suffix-list tail lfn check-short fullname decoder fboundp msdos-long-file-names nil info-file-exists-p string-match regexp-quote "$" info-insert-file-contents-1 t error "Can't find %s or any compressed version of it" featurep jka-compr jka-compr-installed-p jka-compr-get-compression-info insert-file-contents-literally no-conversion file-name-directory apply call-process-region insert-file-contents done filename visit default-directory coding-system-for-write buffer-read-only] 10 (#$ . 8327)])
#@65 Initialize `Info-directory-list', if that hasn't been done yet.
(defalias 'info-initialize #[nil "?\205\225 \306\307!\310\311	\"\n\203 \310\311\n\"\2027 \2057 \310\312\"\313\f!\203* \f\2026 \310\314\"\313\f!\2056 \f)\315\316\203P \317\320!\"\202\221 \203b \313!\203b \202e \235\204\203 \321>\204} \310\322\n\"\230\203\203 \313!\204\210 \202\221 \323\211!A!B!\211,\207" [Info-directory-list source-directory installation-directory invocation-directory infodir alternative getenv "INFOPATH" expand-file-name "info/" "../info/" file-exists-p "../../../info/" nil prune-directory-list split-string regexp-quote (ms-dos windows-nt) "lib-src/" reverse sibling source path path-separator Info-default-directory-list system-type exec-directory] 5 (#$ . 9494)])
#@57 Like `info' but show the Info buffer in another window.
(defalias 'info-other-window #[(&optional file) "\302\303	!)\207" [same-window-buffer-names file nil info] 2 (#$ . 10297) (byte-code "\205 \301\302\303\211\304$C\207" [current-prefix-arg read-file-name "Info file name: " nil t] 5)])
#@517 Enter Info, the documentation browser.
Optional argument FILE specifies the file to examine;
the default is the top-level directory of Info.
Called from a program, FILE may specify an Info node of the form
`(FILENAME)NODENAME'.

In interactive use, a prefix argument directs this command
to read a file name from the minibuffer.

The search path for Info files is in the variable `Info-directory-list'.
The top-level Info directory is made by combining all the files named `dir'
in all the directories in that path.
(defalias 'info #[(&optional file) "\203 \301\302!\210;\203 \303\304\"\203 \305!\207\305\306\307Q!\207\310\302!\203) \301\302!\207\311 \207" [file pop-to-buffer "*info*" string-match "(.*)" Info-goto-node "(" ")" get-buffer Info-directory] 4 (#$ . 10596) (byte-code "\205 \301\302\303\211\304$C\207" [current-prefix-arg read-file-name "Info file name: " nil t] 5)])
#@153 Run Emacs as a standalone Info reader.
Usage:  emacs -f info-standalone [filename]
In standalone mode, \<Info-mode-map>\[Info-exit] exits Emacs itself.
(defalias 'info-standalone #[nil "\302	\203 \303\304	@\"\204 \305\306\307\217\207\310 \207" [Info-standalone command-line-args-left t string-match "^-" err (byte-code "\301@!\210A\211\207" [command-line-args-left info] 2) ((error (byte-code "\301\302\303\242\304=\203 A@\202 \"!\210\305 \207" [err send-string-to-terminal format "%s\n" error save-buffers-kill-emacs] 5))) info] 3 (#$ . 11495)])
(defalias 'Info-node-at-bob-matching #[(regexp) "o\205 \302\303!\205 \304\305y\210`\305y\210\306	\307#)\207" [beg regexp looking-at "" nil 1 re-search-backward t] 4])
#@195 Go to an info node specified as separate FILENAME and NODENAME.
NO-GOING-BACK is non-nil if recovering from an error in this function;
it says do not attempt further (recursive) error recovery.
(defalias 'Info-find-node #[(filename nodename &optional no-going-back) "\306 \210;\203\322 \307\211\211\310!\211\227\311\230\203 \312\202\303 \313\314\"\203) \315\202? \316!\2033 \317\202? \f\203> \320\f\"\202? \211\203\302 	\204\302 \321@\"\321\227@\"\322\323!?\206c \323 \211\203\270 	\204\270 \324\325@@#!\203\202 \202\257 \324\325\n@@#!\203\225 \n\202\257 \322\323!\203\257 \203\257 \324\325@@\307#!\203\257 A\211\204k *A\211\204E )	\203\314 	\202\321 \326\327\"\210+ \203\347 !\204\347  \"`E#B#$\330=\204\362 \331\332!\210\333%!#\207" [filename found temp-downcase temp Info-additional-directory-list Info-directory-list info-initialize nil substitute-in-file-name "dir" t string-match "^\\./" ("./") file-name-absolute-p (nil) append expand-file-name fboundp msdos-long-file-names info-file-exists-p info-insert-file-contents-1 error "Info file %s does not exist" Info-mode pop-to-buffer "*info*" Info-find-node-2 dirs Info-suffix-list lfn suffix-list Info-current-file no-going-back Info-current-node Info-history major-mode nodename] 6 (#$ . 12233)])
#@143 Use the `Info-mode' to browse the current info buffer.
If a prefix arg is provided, it queries for the NODENAME which
else defaults to "Top".
(defalias 'Info-on-current-buffer #[(&optional nodename) "\204 \301\302 \210\303 \210\304\305!\306L\210\307\310\"\207" [nodename "Top" info-initialize Info-mode make-local-variable Info-current-file t Info-find-node-2 nil] 3 (#$ . 13561) (list (if current-prefix-arg (completing-read "Node name: " (Info-build-node-completions) nil t "Top")))])
#@492 Find a node in a tag table.
MARKER specifies the buffer and position to start searching at.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
CASE-FOLD t means search for a case-insensitive match.
If a match was found, value is a list (FOUND-ANCHOR POS MODE), where
FOUND-ANCHOR is non-nil if a `Ref:' was matched, POS is the position
where the match was found, and MODE is `major-mode' of the buffer in
which the match was found.
(defalias 'Info-find-in-tag-table-1 #[(marker regexp case-fold) "\306\211\211\212\307!q\210b\210\310 \210\311\306\312#\205) \313\314!\315\230\316p!TE-\207" [case-fold found-anchor guesspos found-mode case-fold-search marker nil marker-buffer beginning-of-line re-search-forward t match-string 1 "Ref:" read regexp major-mode] 4 (#$ . 14059)])
#@535 Find a node in a tag table.
MARKER specifies the buffer and position to start searching at.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
If a match was found, value is a list (FOUND-ANCHOR POS MODE), where
FOUND-ANCHOR is non-nil if a `Ref:' was matched, POS is the position
where the match was found, and MODE is `major-mode' of the buffer in
which the match was found.
This function tries to find a case-sensitive match first, then a
case-insensitive match is tried.
(defalias 'Info-find-in-tag-table #[(marker regexp) "\303	\304#\211@\204 \303	\305#\n)\207" [marker regexp result Info-find-in-tag-table-1 nil t] 5 (#$ . 14911)])
#@282 Find a node or anchor in the current buffer.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
CASE-FOLD t means search for a case-insensitive match.
Value is the position at which a match was found, or nil if not found.
(defalias 'Info-find-node-in-buffer-1 #[(regexp case-fold) "\305\212\306!\203 `	\2042 \307\310\305\311#\2032 \312y\210`\312y\210\313\f\311#\203. \314 \210`)\202 	+\207" [case-fold found case-fold-search regexp beg nil Info-node-at-bob-matching search-forward "\n" t 1 re-search-backward beginning-of-line] 4 (#$ . 15620)])
#@335 Find a node or anchor in the current buffer.
REGEXP is a regular expression matching nodes or references.  Its first
group should match `Node:' or `Ref:'.
Value is the position at which a match was found, or nil if not found.
This function looks for a case-sensitive match first.  If none is found,
a case-insensitive match is tried.
(defalias 'Info-find-node-in-buffer #[(regexp) "\301\302\"\206 \301\303\"\207" [regexp Info-find-node-in-buffer-1 nil t] 3 (#$ . 16242)])
(defalias 'Info-find-node-2 #[(filename nodename &optional no-going-back) "\306p!\210\307=\204 \307 \210~\210\310\311\216\312\310\f\203\305 \f\232\204\305 \310&\310\310'\310(\310)\313 \210\f\312=\203> \314 \210\202H \315\f\312\"\210\316\f!*\317\310!\210db\210\320y\210+\321\230\204\262 \322\323\310\312#\203\262 \310,\324\325!\210`,\212\326y\210\327\330!)\203\247 p-\206 \331\332!./.-\212.q\210\306p!\210\312\313 \210\333/!\210)0\334\225.\223\210*\202\256 0,\310\223\210)\202\270 0\310\211\223\210\f\312=\203\302 \335\202\303 \f)+\321\230\203\324 +\336 \202\373 e\337+;\203\343 \340+!\202\344 \341\342Q\310123\343\344\215\210\345 \210\n\206\371 eb++\207" [major-mode Info-current-node anchorpos case-fold-search filename Info-current-file buffer-disable-undo Info-mode nil ((byte-code "\204! 	\204! \n\203! \n@\nA\304@A@\305#\210\3068b\210)\304\207" [Info-current-node no-going-back Info-history hist Info-find-node t 2] 4)) t erase-buffer Info-insert-dir info-insert-file-contents file-name-directory set-buffer-modified-p -8 "*" search-forward "\nEnd tag table\n" search-backward "\nTag table:\n" 2 looking-at "(Indirect)\n" generate-new-buffer " *info tag table*" insert-buffer-substring 0 "dir" Info-set-mode-line "\\(Node:\\|Ref:\\) *\\(" regexp-quote "" "\\) *[,	\n]" foo (byte-code "\306!\2031 \307	\n\"\211\2030 A@\3108\311=\204! \312\f!@\2030 \f\211b\210\313\314\315\"\210*e\316\f!\317Z]b\210\320\n!\211\203L b\210\313\314\315\"\210\321\322\"\210)\306\207" [Info-tag-table-marker m regexp found guesspos anchorpos marker-position Info-find-in-tag-table 2 Info-mode Info-read-subfile throw foo t byte-to-position 1000 Info-find-node-in-buffer error "No such anchor in tag table or node in tag table or file: %s" pos nodename] 4) Info-select-node buffer-read-only Info-current-subfile Info-current-file-completions buffer-file-name default-directory nodename pos Info-tag-table-buffer tagbuf buf Info-tag-table-marker nodepos regexp guesspos] 4])
(byte-code "\301B\305\301!\204\f \306\302B\305\302!\204 \306\303B\305\303!\204$ \306\304B\305\304!\2040 \306\306\207" [current-load-list Info-dir-contents Info-dir-contents-directory Info-dir-file-attributes Info-dir-file-name boundp nil] 2)
(defalias 'Info-insert-dir #[nil "\203 	\203 \306\307\310\311	\"B!\203 c\210eb\210\202W\n\203' \312\n\"\202( \313\314\211\211\211\211\211@ABCDE\314E\203\321 \315\316E@!!\211F\f\235\204\273 \317F!\f\235\204\273 \314G\316\320F\"G\321G!\206\224 \316\322F\"G\321G!\206\224 \316\323F\"G\321G!\206\224 \316\324F\"G\321G!HF\317F!\fBBH\203\272 \212B\204\257 \325\326!\210\327\330!q\210\314\331\332\217\210)*EA\204\310 \333E@!IEAE)\202? B\204\332 \334\335!\210\336B!@A\337AB\"@\340A!\210@\203\210@@\313\314JDK\212Kq\210eb\210\341\342\314\313#\203e\314\211\211LMN\343y\210l\203(m\204(\343y\210\202`N\344\345\314\346#\204?\347\350!\204?\351\352\345C\"\210\353\354!\210\355 M\353\345\314\346#\210\356 \210`LMKNLFJBJ+\202\357\360J\"\203uJ\244\202~\313C\325\361O\"\210,@A\211@\204\363 \343y\210\362\313\212\353\350\314\313#\210`)LDP\203\327@@M\212M\227P\235\204\317\341\363\364M!\365QL\313#\204\317\366M\365\367\261\210MPBP*A\211\204\242,\203\313@@MDeb\210\341\370\364M!\371Q\314\313#\203\353\345\314\346#\210\356 \210\367c\210\202db\210\372M\373\261\210\374\375@A\"\210*A\211\204\334B\2031\376B@!\210BA\211B\204\"Q\2039\377 \210eb\210C\203J\325\201S !\210\202P\325\201T !\210.\201U  I\211R\207" [Info-dir-contents Info-dir-file-attributes Info-additional-directory-list Info-directory-list dirs-done nodes eval and mapcar #[(elt) "\302\303@!!\211\203 \304	\233\305\240\210\304A\233\305\240\210A	\232)\207" [elt curr file-attributes file-truename 4 0] 4] append t nil file-truename expand-file-name directory-file-name "dir" file-attributes "DIR" "dir.info" "DIR.INFO" message "Composing main Info directory..." generate-new-buffer " info dir" (byte-code "\305!\210\306\301!\210p\nBB\fB\305\207" [file Info-dir-file-name buffers attrs Info-dir-file-attributes insert-file-contents make-local-variable] 2) ((error (byte-code "\300p!\207" [kill-buffer] 2))) file-name-as-directory error "Can't find the Info directory node" last delq insert-buffer re-search-forward "^\\* Menu:" 1 search-backward "\n" move looking-at "" signal search-failed search-forward "Node: " Info-following-node-name beginning-of-line assoc-ignore-case "top" "No `top' node in %s" ("top") "^\\* +" regexp-quote "::" "* " "\n" "^.*\n.*Node: " "[,\n	]" "\nFile: dir	Node: " "\n\n* Menu:\n\n" apply insert-buffer-substring kill-buffer Info-fontify-menu-headers others buffer buffers problems case-fold-search dirs truename file attrs Info-dir-contents-directory this-buffer-nodes other end nodename beg Info-dir-file-name menu-items Info-fontify default-directory "Composing main Info directory...problems encountered, see `*Messages*'" "Composing main Info directory...done" buffer-string] 9])
(defalias 'Info-read-subfile #[(nodepos) "\306\211\n\247\203' \212\307!q\210eb\210\310\311!\204 \312\313!\210\314y\210\315\316\215\210)\202+ \n\317\f\232\204F \306\306~\210\320 \210\321!\210\322\306!\210)~\210eb\210\310\311!\203W \323u\210\202[ \312\313!\210\n\247\205e \n	Z`\\*\207" [lastfilename lastfilepos nodepos Info-tag-table-marker Info-current-subfile buffer-read-only nil marker-buffer looking-at "" search-forward "\n" 2 foo (byte-code "\306\307!\204: l\2044 `\310\211\311\312!\210\n`\313Z{\314p!\315y\210	V\203, \316\317\320\"\210	+\202  \315y\210\202  \310\207" [thisfilename thisfilepos beg nodepos lastfilename lastfilepos looking-at "" nil search-forward ": " 2 read 1 throw foo t] 3) 0 erase-buffer info-insert-file-contents set-buffer-modified-p 1 buffer-file-name] 2])
#@60 If the info node header is hidden, the text of the header.
(defvar Info-header-line nil (#$ . 22618))
#@83 Select the info node that point is in.
Bind this in case the user sets it to nil.
(defalias 'Info-select-node #[nil "\306\212\307\310\311\312#\203 \313y\210\202# \314\315!\203 \316y\210\202# \317\320\310C\"\210\321\322!\210\323`\324\311w\210`\"\325 \210\326 \210\311`\321\327\311\306#\203T `S\314\330!\203U \331\225b\210\332p!\202U d}\210\203_ \333\n!\210\f\203f \334 \210\203p \335 \210\202v \311 \311!\336\337!+\207" [case-fold-search Info-current-node active-expression Info-enable-active-nodes Info-fontify Info-use-header-line t search-backward "\n" nil move 2 looking-at "" 1 signal search-failed re-search-forward "Node:[ 	]*" buffer-substring-no-properties "^,	\n" Info-set-mode-line beginning-of-line "\n[\f]" "[\n\f]*execute: " 0 read eval Info-fontify-node Info-setup-header-line run-hooks Info-selection-hook Info-header-line header-line-format] 5 (#$ . 22726)])
(defalias 'Info-set-mode-line #[nil "\304\305!\306\307;\203 \202 	\206 \310!\311\n\206 \310RC\244\211\207" [Info-current-file buffer-file-name Info-current-node mode-line-buffer-identification propertized-buffer-identification "%b" " (" file-name-nondirectory "" ") "] 5])
(defalias 'Info-setup-header-line #[nil "eb\210\304\212\305y\210`S)\306\307	\304#\203 \305\224\202 `\310\311!\n	{L\210\311	Td}+\207" [case-fold-search header-end header-beg header-line-format t 1 re-search-forward "\\(next\\|prev[ious]*\\): " make-local-variable Info-header-line] 4])
#@472 Go to info node named NODENAME.  Give just NODENAME or (FILENAME)NODENAME.
If NODENAME is of the form (FILENAME)NODENAME, the node is in the Info file
FILENAME; otherwise, NODENAME should be in the current Info file (or one of
its sub-files).
Completion is available, but only for node names in the current Info file.
If FORK is non-nil (interactively with a prefix arg), show the node in
a new info buffer.
If FORK is a string, it is the name to use for the new buffer.
(defalias 'Info-goto-node #[(nodename &optional fork) "\306 \210\203 \307\310;\203 \202 	\311Q\312\"q\210\313\314\315	\"\210\316\224\316\225U\203, \317\2022 	\320\224\320\225O	\321\224\321\225O\314\322\n\"\211\203H \n\323O)\314\322	\"\211\203W 	\323O)\f\203f \f\203f \313\324\325!\210\326\n\317\232?\205o \n	\317\232\203y \327\202z 	\")\207" [fork nodename filename trim transient-mark-mode mark-active info-initialize clone-buffer "*info-" "*" t nil string-match "\\s *\\((\\s *\\([^	)]*\\)\\s *)\\s *\\|\\)\\(.*\\)" 1 "" 2 3 "\\s *\\'" 0 run-hooks deactivate-mark-hook Info-find-node "Top"] 5 (#$ . 24193) (list (Info-read-node-name "Go to node: ") current-prefix-arg)])
(byte-code "\301B\301\207" [current-load-list Info-read-node-completion-table] 2)
(defalias 'Info-read-node-name-1 #[(string predicate code) "G\305V\205\f \305H\306=\n\307=\203# 	\203 \202H \310\f#\202H \n\311=\2036 	?\205H \312\f#\202H \n\313=\205H 	\203D \311\202H \314\")\207" [string no-completion code Info-read-node-completion-table predicate 0 40 nil try-completion t all-completions lambda assoc] 4])
(defalias 'Info-read-node-name #[(prompt &optional default) "\305\306 \307\n\310\311\305$\211\312\232\203 \f\206 \313\n!\202 +\207" [completion-ignore-case Info-read-node-completion-table prompt nodename default t Info-build-node-completions completing-read Info-read-node-name-1 nil "" Info-read-node-name] 6])
(defalias 'Info-build-node-completions #[nil "\206t \306\307\310\212\214\311\f!\2034 \f\311!q\210~\210b\210\312\313\306\307#\2030 \314\315!CB\202 )\202i ~\210eb\210\316	!\203D \314\317!C\320\321\306\307#\203i \317y\210`\317y\210\322	\307#\203e \314\317!CB)\202D *\323B\324\300!L+\207" [Info-current-file-completions node-regexp case-fold-search compl Info-tag-table-marker marker nil t "Node: *\\([^,\n]*\\) *[,\n	]" marker-buffer re-search-forward "\n\\(Node\\|Ref\\): \\(.*\\)" match-string-no-properties 2 Info-node-at-bob-matching 1 search-forward "\n" re-search-backward ("*") make-local-variable beg] 4])
#@70 If this node has been visited, restore the point value when we left.
(defalias 'Info-restore-point #[(hl) "\205) @@	\232\203! @A@\n\230\203! \303@8b\210\304\211\202 A\211\204 \304\207" [hl Info-current-file Info-current-node 2 nil] 3 (#$ . 26733)])
#@37 The history list for `Info-search'.
(defvar Info-search-history nil (#$ . 26997))
#@72 Search for REGEXP, starting from point, and select node it's found in.
(defalias 'Info-search #[(regexp) "\203 \203 \306\307\310!\210\n\311\232\203 @\n\205\306\211\f`\312 $%&'()*+\212\214~\210$\204E \313\n!\210`+\202J \314\315\316\217\210*+\204\353 \317\216\306,\212\320-!q\210eb\210\321\322!\210\214`\321\323!\210`S}\210eb\210\321\324%\325Q!\210\326 \210m\204\235 \313\327!\210\330\225\331\\b\210\332p!\333\330!B,B,\334\225Tb\210\202{ ,\237\211,@@*,A,*,\203\330 \335\336,@A\"\210\337,@@!\210,A,\313\n\306\340#\203\255 `+\306\211,\204\262 +\203\344 \335\311!\210\202\352 \341\342\nC\"\210*~\210+b\210\343 \210)\f\230\203(\232\206()'E.B\211..\207" [transient-mark-mode mark-active regexp Info-search-history Info-current-node Info-current-file nil run-hooks deactivate-mark-hook "" window-start re-search-forward err (byte-code "\302!\210`\302\207" [regexp found re-search-forward] 2) ((search-failed)) ((byte-code "\204 \304	!\210\nb\210\305 \210\306\307 \"\210\304\207" [found osubfile opoint ostart Info-read-subfile Info-select-node set-window-start selected-window] 3)) marker-buffer search-forward "\n\nIndirect:" "\n" "\n" ": " beginning-of-line "\\(^.*\\): [0-9]+$" 1 2 read match-string-no-properties 0 message "Searching subfile %s..." Info-read-subfile t signal search-failed Info-select-node Info-current-subfile osubfile ostart opoint ofile onode current found list Info-tag-table-marker Info-history] 8 (#$ . 27085) (list (read-string (if Info-search-history (format "Regexp search (default `%s'): " (car Info-search-history)) "Regexp search: ") nil 'Info-search-history))])
#@186 Extract the value of the node-pointer named NAME.
If there is none, use ERRORNAME in the error message;
if ERRORNAME is nil, just return nil.
Bind this in case the user sets it to nil.
(defalias 'Info-extract-pointer #[(name &optional errorname) "\305\212\214eb\210	\203 ~\210\306y\210`\307y\210\310\311P\n\305#\203( \312\225b\210\313 \2029 \f\305=?\2059 \314\315\316\f\2067 !\",\207" [case-fold-search Info-header-line bound name errorname t -1 1 re-search-backward ":" 0 Info-following-node-name error "Node has no %s" capitalize] 4 (#$ . 28741)])
#@162 Return the node name in the buffer following point.
ALLOWEDCHARS, if non-nil, goes within [...] to make a regexp
saying which chars may appear in the node name.
(defalias 'Info-following-node-name #[(&optional allowedchars) "\301\302w\210\303`\304\305\206 \306\307Q!\203* \206 \306\310P\302w\210\304\310!\203 \311\302w\210\202 \312\302x\210`\"\207" [allowedchars " 	" nil buffer-substring-no-properties looking-at "[" "^,	\n" "]" "(" "^)" " "] 6 (#$ . 29303)])
#@35 Go to the next node of this node.
(defalias 'Info-next #[nil "\300\301\302!!\207" [Info-goto-node Info-extract-pointer "next"] 3 (#$ . 29776) nil])
#@39 Go to the previous node of this node.
(defalias 'Info-prev #[nil "\300\301\302\303\"!\207" [Info-goto-node Info-extract-pointer "prev[ious]*" "previous"] 4 (#$ . 29930) nil])
#@102 Go to the superior node of this node.
If SAME-FILE is non-nil, do not move to a different Info file.
(defalias 'Info-up #[(&optional same-file) "\304\305!	\204 \n;\204 \306\307\"\203 \310\311!\210\312!\210)\313!\207" [node same-file Info-current-file Info-history Info-extract-pointer "up" string-match "^(" error "Up node is in another Info file" Info-goto-node Info-restore-point] 3 (#$ . 30112) nil])
#@35 Go back to the last node visited.
(defalias 'Info-last #[nil "\204 \304\305!\210\306\211\211@@@A@@AA@A\307\n\"\210A	b+\207" [Info-history opoint nodename filename error "This is the first Info node you looked at" nil Info-find-node] 3 (#$ . 30529) nil])
#@32 Go to the Info directory node.
(defalias 'Info-directory #[nil "\300\301\302\"\207" [Info-find-node "dir" "top"] 3 (#$ . 30805) nil])
#@128 Follow cross reference named FOOTNOTENAME to the node it refers to.
FOOTNOTENAME may be an abbreviation of the reference name.
(defalias 'Info-follow-reference #[(footnotename) "\204 \306\307!\210\310\211\211\311\312!P\313\314\315\n#\211\2033 \n\316O\317\nT\310OQ\320\\\202 \212eb\210\321\n\310\313#\204D \306\322\"\210\316\224\323\\b\210\324\325\313\")\314\317#\211\203l \316O\315\316\225\310OQT\202P \326!-\207" [footnotename case-fold-search str i beg target error "No reference was specified" nil "\\*note " regexp-quote t string-match " " 0 "[ 	\n]+" 6 re-search-forward "No cross-reference named %s" 5 Info-extract-menu-node-name "Bad format cross reference" Info-goto-node] 6 (#$ . 30946) (byte-code "\306\211\307\211\211`\307\211\211\211\212\307\210`\310 \210`eb\210\311\312\307\306#\203\276 \313\314\224`S\"\204J \315\224\fX\203J \f`X\203J \306\204] 	\315\224X\203] `X\203] \306\315\316\317\n#\211\203{ \315\nO\320\315\225\307OQ\nT\202_ \306=\203\205 \306=\203\215 \227\211\203\255 @@\227\230\204\255 A\211\204\231 \204\272 \307BB*\202& )\204\307 G\314=\203\325 @@\203\321\203\350 \322\323Q\202\351 \324\307\306$\211\325\232\203\373 \202\375 )C\202\326\327!.\n\207" [eol bol i str start-point alt-default t nil beginning-of-line re-search-forward "\\*note[ \n	]*\\([^:]*\\):" buffer-substring-no-properties 1 0 string-match "[ \n	]+" " " completing-read "Follow reference named: (" ") " "Follow reference named: " "" error "No cross-references in this node" default completions case-fold-search completion-ignore-case tem tail input] 11)])
(defalias 'Info-extract-menu-node-name #[(&optional errmessage multi-line) "\304\305w\210`\305\211\306\305w\210\307u\210\310\311!\203 \312\n`S\"\202. \304\305w\210\313\203, \314\202- \315!\316\317	#\211\203A 	\320I\210\202/ \316\321	\"\203R \322\323\324\211	$\202A 	+\207" [i str beg multi-line " 	\n" nil "^:" 1 looking-at ":" buffer-substring-no-properties Info-following-node-name "^.,	" "^.,	\n" string-match "\n" 32 "  +" replace-match " " t] 5])
(byte-code "\301B\301\207" [current-load-list Info-complete-menu-buffer] 2)
(defalias 'Info-complete-menu-item #[(string predicate action) "\306\211\n\307=\203> \307\310\311!\312Q\212q\210eb\210\313\314!\210\315\f\307\306#\2033 \316\317!\317\224BB\202 )\320#*\202\217 \n\306=\203x \307\310\311!\312Q\212q\210eb\210\313\314!\210\315\f\307\306#\203m \316\317!\317\224BB\202Y )\321#*\202\217 \212q\210eb\210\313\314!\210\315\322\311!\323Q\307\306#)*\207" [case-fold-search completion-ignore-case action string pattern completions t nil "\n\\* +\\(" regexp-quote "[^:	\n]*\\):" search-forward "\n* Menu:" re-search-forward match-string-no-properties 1 try-completion all-completions "\n\\* +" ":" Info-complete-menu-buffer predicate] 4])
#@374 Go to the node pointed to by the menu item named (or abbreviated) MENU-ITEM.
The menu item should one of those listed in the current node's menu.
Completion is allowed, and the default menu item is the one point is on.
If FORK is non-nil (interactively with a prefix arg), show the node in
a new info buffer.  If FORK is a string, it is the name to use for the
new buffer.
(defalias 'Info-menu #[(menu-item &optional fork) "\302\303!	\205	 \"\207" [menu-item fork Info-goto-node Info-extract-menu-item] 3 (#$ . 33847) (let ((completions 'nil) (default nil) (p (point)) beg (last nil) (case-fold-search t)) (save-excursion (goto-char (point-min)) (if (not (search-forward "\n* menu:" nil t)) (error "No menu in this node")) (setq beg (point)) (and (< (point) p) (save-excursion (goto-char p) (end-of-line) (if (re-search-backward "\n\\* +\\([^:	\n]*\\):" beg t) (setq default (match-string-no-properties 1)))))) (let ((item nil)) (while (null item) (setq item (let ((completion-ignore-case t) (Info-complete-menu-buffer (current-buffer))) (completing-read (if default (format "Menu item (default %s): " default) "Menu item: ") 'Info-complete-menu-item nil t))) (if (string= item "") (if default (setq item default) (setq item nil)))) (list item current-prefix-arg)))])
(defalias 'Info-extract-menu-item #[(menu-item) "\302!\303\212\303eb\210\304\305\306\303#\204 \307\310!\210\311\312\313Q\306\303#\2041 \311\312P\306\303#\2041 \307\314!\210\315 \210\316u\210\317 +\207" [menu-item case-fold-search regexp-quote t search-forward "\n* menu:" nil error "No menu in this node" re-search-forward "\n\\* +" ":" "No such item in menu" beginning-of-line 2 Info-extract-menu-node-name] 4])
(defalias 'Info-extract-menu-counting #[(count) "\302\212\302eb\210\303\304\305\302#\204 \306\307!\210	\203( \303\310\305\302	$\2040 \306\311!\210\2020 \303\310\305\302#\204( \312 +\207" [case-fold-search count t search-forward "\n* menu:" nil error "No menu in this node" "\n* " "Too few items in menu" Info-extract-menu-node-name] 5])
#@91 Go to the node of the Nth menu item.
N is the digit argument used to invoke this command.
(defalias 'Info-nth-menu-item #[nil "\300\301\302 \302 GSH\303Z!!\207" [Info-goto-node Info-extract-menu-counting this-command-keys 48] 4 (#$ . 35883) nil])
#@34 Go to the Top node of this file.
(defalias 'Info-top-node #[nil "\300\301!\207" [Info-goto-node "Top"] 2 (#$ . 36136) nil])
#@36 Go to the final node in this file.
(defalias 'Info-final-node #[nil "\303\304!\210\305\306\303\307\305!!\210\310\306\211\"\204 \311\312\n\"?\2050 \212\313\314\305\306#)\2050 \303\307\305!!\210\202 *\207" [case-fold-search Info-history Info-current-node Info-goto-node "Top" nil t Info-extract-menu-counting Info-forward-node string-match "\\<index\\>" search-forward "\n* Menu:"] 4 (#$ . 36266) nil])
#@69 Go forward one node, considering all nodes as forming one sequence.
(defalias 'Info-forward-node #[(&optional not-down no-error) "eb\210\306y\210\307	\204' \212\310\311\312\307#)\203' \313\314\n\"\204' \315\316\306!!\210\307\202\230 \212\214\312\f\203< eb\210~\210\317y\210`\306y\210\320\321\307#+\203L \322 \210\307\202\230 \212\214\312\f\203a eb\210~\210\317y\210`\306y\210\320\323\307#+\203\214 \324\325!\227\326\230\204\214 \n\327 \210\312\211\330\216\331\307\"\211,\202\230 \203\225 \312\202\230 \332\333!)\207" [case-fold-search not-down Info-current-node limit Info-header-line old-node 1 t search-forward "\n* menu:" nil string-match "\\<index\\>" Info-goto-node Info-extract-menu-counting -1 search-backward "next:" Info-next "up:" Info-extract-pointer "up" "top" Info-up ((byte-code "\204 \302	!\210\302\207" [success old-node Info-goto-node] 2)) Info-forward-node error "No pointer forward from this node" success Info-history no-error] 4 (#$ . 36677) nil])
#@70 Go backward one node, considering all nodes as forming one sequence.
(defalias 'Info-backward-node #[nil "\305\306\307\"\305\310\307\"\307	\203 \311\312	\"\203 \313\314!\202] 	\2032 \n\203- \n\227	\227\230\2032 \315 \202] \n\203Z \316 \210\317\311\320\f\"?\205V \212\321\322\317\307#)\205V \323\324\317!!\210\202; )\202] \313\325!+\207" [case-fold-search upnode prevnode Info-history Info-current-node Info-extract-pointer "prev[ious]*" t "up" string-match "(" error "First node in file" Info-up Info-prev nil "\\<index\\>" search-forward "\n* Menu:" Info-goto-node Info-extract-menu-counting "No pointer backward from this node"] 4 (#$ . 37672) nil])
#@43 Exit Info by selecting some other buffer.
(defalias 'Info-exit #[nil "\203 \301 \207\302 \207" [Info-standalone save-buffers-kill-emacs quit-window] 1 (#$ . 38336) nil])
(defalias 'Info-next-menu-item #[nil "\302\212\303y\210\304\305\306\302#\210\304\307\306\302#\205 \310 )\211\203\" \311	!\202% \312\313!*\207" [case-fold-search node t -1 search-forward "\n* menu:" nil "\n* " Info-extract-menu-node-name Info-goto-node error "No more items in menu"] 5 nil nil])
(defalias 'Info-last-menu-item #[nil "\212\302y\210\303\212\304\305\306\303#\205 `)\211\203 \304\307	\303#\204\" \310\311!\210*\312\212\313\225b\210\314 )!)\207" [case-fold-search beg 1 t search-backward "\n* menu:" nil "\n* " error "No previous items in menu" Info-goto-node 0 Info-extract-menu-node-name] 5 nil nil])
(defalias 'Info-no-error '(macro . #[(&rest body) "\301\302\303\304\305\"B\306F\207" [body condition-case nil progn append (t) (error nil)] 6]))
#@60 Go to the next subnode or the next node, or go up a level.
(defalias 'Info-next-preorder #[nil "\300\301\302\217\206 \300\303\304\217\206 \300\305\306\217\203 db\210\307 \207\310\311!\207" [nil (byte-code "\300 \210\301\207" [Info-next-menu-item t] 1) ((error)) (byte-code "\300 \210\301\207" [Info-next t] 1) ((error)) (byte-code "\300\301!\210\301\207" [Info-up t] 2) ((error)) Info-next-preorder error "No more nodes"] 3 (#$ . 39281) nil])
#@59 Go to the last node, popping up a level if there is none.
(defalias 'Info-last-preorder #[nil "\301\302\303\217\203 \301\304\305\217\204 \306\307!\207\301\310\311\217\2036 \312\313!\312\314!\232\2046 \301\315\316\217\210db\210\301\317\320\217\204+ \306\307!\207\301\321\322\217\203N eb\210\323\324\325\301\323#\206L db)\207\326\327!\207" [case-fold-search nil (byte-code "\300 \210db\210\301\207" [Info-last-menu-item t] 1) ((error)) (byte-code "\300 \210db\210\301\207" [Info-last-menu-item t] 1) ((error)) recenter -1 (byte-code "\300\301!\210\302\207" [Info-extract-pointer "prev" t] 2) ((error)) Info-extract-pointer "up" "prev" (Info-prev) ((error)) (byte-code "\300 \210db\210\301\207" [Info-last-menu-item t] 1) ((error)) (byte-code "\300\301!\210\301\207" [Info-up t] 2) ((error)) t search-forward "\n* Menu:" error "No previous nodes"] 4 (#$ . 39733) nil])
#@717 Scroll one screenful forward in Info, considering all nodes as one sequence.
Once you scroll far enough in a node that its menu appears on the screen
but after point, the next scroll moves into its first subnode, unless
`Info-scroll-prefer-subnodes' is nil.

When you scroll past the end of a node, that goes to the next node if
`Info-scroll-prefer-subnodes' is non-nil and to the first subnode otherwise;
if this node has no successor, it moves to the parent node's successor,
and so on.  If `Info-scroll-prefer-subnodes' is non-nil and point is inside
the menu of a node, it moves to subnode indicated by the following menu
item.  (That case won't normally result from this command, but can happen
in other ways.)
(defalias 'Info-scroll-up #[nil "\303 eW\204 \303 dV\203 \304\305 `\"\210\306\212eb\210	\203* \307\310\311\306#\203* `\202+ d)\211\303 W\204: \312\n!\203O 	\203C \313 \202Q \311\314\315\217\206Q \313 \202Q \316 *\207" [case-fold-search Info-scroll-prefer-subnodes virtual-end window-start set-window-start selected-window t search-forward "\n* Menu:" nil pos-visible-in-window-p Info-next-preorder (byte-code "\300\301\302!!\210\303\207" [Info-goto-node Info-extract-menu-counting 1 t] 3) ((error)) scroll-up] 5 (#$ . 40609) nil])
#@300 Scroll one screenful back in Info, considering all nodes as one sequence.
If point is within the menu of a node, and `Info-scroll-prefer-subnodes'
is non-nil, this goes to its last subnode.  When you scroll past the
beginning of a node, that goes to the previous node or back up to the
parent node.
(defalias 'Info-scroll-down #[nil "\304 eW\204 \304 dV\203 \305\306 `\"\210\307`\n\205+ \212\310 \210`eb\210\311\312	\307#)\211\2048 \313e\314\307#\203= \315 \202? \316 +\207" [case-fold-search current-point Info-scroll-prefer-subnodes virtual-end window-start set-window-start selected-window t beginning-of-line search-forward "\n* Menu:" pos-visible-in-window-p nil Info-last-preorder scroll-down] 5 (#$ . 41867) nil])
#@67 Move cursor to the next cross-reference or menu item in the node.
(defalias 'Info-next-reference #[(&optional recur) "\304`\305m\204 \306u\210\307\n\310\305#\204' eb\210\307\n\310\305#\204' 	b\210\311\312!\210\313\224b\210\314\315!\205> \203; \311\312!\202> \316\305!+\207" [case-fold-search old-pt pat recur "\\*note[ \n	]*\\([^:]*\\):\\|^\\* .*:" t 1 re-search-forward nil error "No cross references in this node" 0 looking-at "\\* Menu:" Info-next-reference] 4 (#$ . 42600) nil])
#@71 Move cursor to the previous cross-reference or menu item in the node.
(defalias 'Info-prev-reference #[(&optional recur) "\304`\305\306\n\307\305#\204  db\210\306\n\307\305#\204  	b\210\310\311!\210\312\224b\210\313\314!\2057 \2034 \310\311!\2027 \315\305!+\207" [case-fold-search old-pt pat recur "\\*note[ \n	]*\\([^:]*\\):\\|^\\* .*:" t re-search-backward nil error "No cross references in this node" 0 looking-at "\\* Menu:" Info-prev-reference] 4 (#$ . 43094) nil])
#@466 Look up a string TOPIC in the index for this file.
The index is defined as the first node in the top-level menu whose
name contains the word "Index", plus any immediately following
nodes whose names also contain the word "Index".
If there are no exact matches to the specified topic, this chooses
the first match which is a case-insensitive substring of a topic.
Use the `,' command to see the other matches.
Give a blank topic name to go to the Index node itself.
(defalias 'Info-index #[(topic) "\306\307\310\311	!\"\306\312%\313\314!\210\315\316\306\312#\204  \317\320!\210\321\322\306\312#\204, \317\320!\210\323\224b\210\306&\313\324 !\210)	\325\232\206\274 \306\211\211\211'&()eb\210\321\f\306\312#\203m \326\323!\326\327!\330\331\332\333!P!F)B)\202N \334\335\312\"\211\203\204 \336\337\"\203\204 \313!\210\202K )\204\223 \313%!\210\317\340	\"\210\341	)\"\211'\203\260 '(B(\342')\")\202\223 ()\237\244*\343\344!,-\207" [Info-current-node topic case-fold-search node pattern rnode nil format "\n\\* +\\([^\n:]*%s[^\n:]*\\):[ 	]*\\([^.\n]*\\)\\.[ 	]*\\([0-9]*\\)" regexp-quote t Info-goto-node "Top" search-forward "\n* menu:" error "No index" re-search-forward "\n\\* \\(.*\\<Index\\>\\)" 1 Info-extract-menu-node-name "" match-string-no-properties 2 string-to-int "0" match-string 3 Info-extract-pointer "next" string-match "\\<Index\\>" "No `%s' in index" assoc delq Info-index-next 0 orignode Info-history found exact matches Info-index-alternatives] 7 (#$ . 43576) "sIndex topic: "])
#@63 Go to the next matching index item from the last `i' command.
(defalias 'Info-index-next #[(num) "\204 \303\304!\210	\305W\203 	G\\\211\202	 	\305V\203+ A@C\244	S\211\202 \306@A@!\210\307@8\305V\203D \307@8y\210\202P \307y\210@@\310\n!\210)\311\312@@\313@8A\203b \314\202c \315$\207" [Info-index-alternatives num name error "No previous `i' command" 0 Info-goto-node 3 Info-find-index-name message "Found `%s' in %s.  %s" 2 "(Press `,' for more)" "(Only match)"] 6 (#$ . 45105) "p"])
#@72 Move point to the place within the current node where NAME is defined.
(defalias 'Info-find-index-name #[(name) "\302\303\304\305\306	!\"\307\302#\2048 \310\304\311	\"\307\302#\2048 \312\313	\"\2030 \310\304\311	\314\315\224O\"\307\302#\2048 \310	\307\302#\203= \316 \202? eb)\207" [case-fold-search name t re-search-forward format "[a-zA-Z]+: %s\\( \\|$\\)" regexp-quote nil search-forward "`%s'" string-match "\\`.*\\( (.*)\\)\\'" 0 1 beginning-of-line] 6 (#$ . 45613)])
#@36 Make command be undefined in Info.
(defalias 'Info-undefined #[nil "\300 \207" [ding] 1 (#$ . 46093) nil])
#@26 Enter the Info tutorial.
(defalias 'Info-help #[nil "\300 \210\301\302\303 \304W\203 \305\202 \306\"\207" [delete-other-windows Info-find-node "info" window-height 23 "Help-Small-Screen" "Help"] 4 (#$ . 46206) nil])
#@47 Display a brief summary of all Info commands.
(defalias 'Info-summary #[nil "\300\213\207" [((byte-code "\304\305!\210\306\307 \210\310\311!c\210\312 \210eb\210\306\211\313d!?\314	\203& \315\202' \316!\210\317 \211\320=\2048 \nC\202B 	\203B \321 \210\202 *\322\305!\207" [buffer-read-only flag ch unread-command-events switch-to-buffer "*Help*" nil erase-buffer documentation Info-mode help-mode pos-visible-in-window-p message "Type Space to see more" "Type Space to return to Info" read-event 32 scroll-up bury-buffer] 2))] 1 (#$ . 46430) nil])
#@497 Return the token around POS.
POS must be somewhere inside the token
START is a regular expression which will match the
    beginning of the tokens delimited string
ALL is a regular expression with a single
    parenthesized subpattern which is the token to be
    returned.  E.g. '{(.*)}' would return any string
    enclosed in braces around POS.
ERRORSTRING optional fourth argument, controls action on no match
    nil: return nil
    t: beep
    a string: signal an error, using that string.
(defalias 'Info-get-token #[(pos start all &optional errorstring) "\306\212	b\210o\204 `	\nGZV\203 \307\n!\204 \310u\210\202 \307\n!\2042 	b\210\311\ne	\312Z]\313#\210\314\315\fd	\312\\^\313#\203P \316\224	X\205K \316\225	V\211\2034 \203h \316\224	X\203h \316\225	V\203h \317\320!\202\202 \204p \314\202\202 \306=\203} \321 \210\314\202\202 \322\323	#+\207" [case-fold-search pos start found all errorstring t looking-at -1 re-search-backward 200 yes nil re-search-forward 0 match-string-no-properties 1 beep error "No %s around position %d"] 5 (#$ . 46991)])
#@244 \<Info-mode-map>Follow a node reference near point.
Like \[Info-menu], \[Info-follow-reference], \[Info-next], \[Info-prev] or \[Info-up] command, depending on where you click.
At end of the node's text, moves to the next node, or up if none.
(defalias 'Info-mouse-follow-nearest-node #[(click) "\301!\210\302 ?\205 \212\303y\210m)\205 \304 \207" [click mouse-set-point Info-try-follow-nearest-node 1 Info-next-preorder] 2 (#$ . 48065) "e"])
#@243 \<Info-mode-map>Follow a node reference near point.
Like \[Info-menu], \[Info-follow-reference], \[Info-next], \[Info-prev] or \[Info-up] command, depending on where point is.
If no reference to follow, moves to the next node, or up if none.
(defalias 'Info-follow-nearest-node #[nil "\300 \206 \301 \207" [Info-try-follow-nearest-node Info-next-preorder] 1 (#$ . 48517) nil])
#@68 Follow a node reference near point.  Return non-nil if successful.
(defalias 'Info-try-follow-nearest-node #[nil "\301\302`\303\304#\211\203 \305!\210\202} \302`\306\307#\211\203$ \310!\210\202} \302`\306\311#\203< \312 \210\313u\210\314 \310!\210\202} \302`\315\316#\211\203M \310!\210\202} \302`\317\320#\211\203^ \310!\210\202} \302`\321\322#\211\203o \310\323!\210\202} \302`\324\325#\211\203} \310!\210)\207" [node nil Info-get-token "\\*note[ \n]" "\\*note[ \n]\\([^:]*\\):" Info-follow-reference "\\* +" "\\* +\\([^:]*\\)::" Info-goto-node "\\* +\\([^:]*\\):" beginning-of-line 2 Info-extract-menu-node-name "Up: " "Up: \\([^,\n	]*\\)" "Next: " "Next: \\([^,\n	]*\\)" "File: " "File: \\([^,\n	]*\\)" "Top" "Prev: " "Prev: \\([^,\n	]*\\)"] 4 (#$ . 48901)])
#@34 Keymap containing Info commands.
(defvar Info-mode-map nil (#$ . 49686))
(byte-code "\204\301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\317#\210\303\321\317#\210\303\322\317#\210\303\323\317#\210\303\324\317#\210\303\325\317#\210\303\326\317#\210\303\327\317#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\305#\210\303\345\346#\210\303\347\350#\210\303\351\352#\210\303\353\354#\210\303\355\356#\210\303\357\360#\210\303\361\362#\210\303\363\364#\210\303\365\366#\210\303\367\370#\210\303\371\372#\210\303\373\374#\210\303\375\374#\210\303\376\377#\210\303\201@ \341#\210\303\201A \201B #\210\303\201C \201D #\210\303\201E \201F #\210\303\201G \201H #\210\301\207" [Info-mode-map make-keymap suppress-keymap define-key "." beginning-of-buffer " " Info-scroll-up "" Info-follow-nearest-node "	" Info-next-reference "	" Info-prev-reference "1" Info-nth-menu-item "2" "3" "4" "5" "6" "7" "8" "9" "0" undefined "?" Info-summary "]" Info-forward-node "[" Info-backward-node "<" Info-top-node ">" Info-final-node "b" "d" Info-directory "e" Info-edit "f" Info-follow-reference "g" Info-goto-node "h" Info-help "i" Info-index "l" Info-last "m" Info-menu "n" Info-next "p" Info-prev "q" Info-exit "s" Info-search "\363" "\356" clone-buffer "t" "u" Info-up "," Info-index-next "" Info-scroll-down [mouse-2] Info-mouse-follow-nearest-node] 4)
#@42 Non-nil if ITEM is present in this node.
(defalias 'Info-check-pointer #[(item) "\300\301\302\217\207" [nil (Info-extract-pointer item) ((error))] 3 (#$ . 51218)])
#@22 Menu for info files.
(defvar Info-mode-menu nil (#$ . 51388))
(byte-code "\305\306\307\310$\210\303	B\311\303!\204R \312 \205Q \313 \314\315\316#\210\314\317\320#\210\314\321\322#\210\314\323\324#\210\314\325\326#\210\314\327\330#\210\314\331\332#\210\314\333\334#\210\314\335\336#\210\n)\304	B\311\304!\204^ \337\337\207" [Info-mode-map current-load-list tool-bar-map info-tool-bar-map Info-menu-last-node easy-menu-do-define Info-mode-menu "Menu for info files." ("Info" ["Up" Info-up :active (Info-check-pointer "up") :help "Go up in the Info tree"] ["Next" Info-next :active (Info-check-pointer "next") :help "Go to the next node"] ["Previous" Info-prev :active (Info-check-pointer "prev[ious]*") :help "Go to the previous node"] ["Backward" Info-backward-node :help "Go backward one node, considering all as a sequence"] ["Forward" Info-forward-node :help "Go forward one node, considering all as a sequence"] ["Beginning" beginning-of-buffer :help "Go to beginning of this node"] ["Top" Info-top-node :help "Go to top node of file"] ["Final Node" Info-final-node :help "Go to final node in this file"] ("Menu Item" ["You should never see this" report-emacs-bug t]) ("Reference" ["You should never see this" report-emacs-bug t]) ["Search..." Info-search :help "Search for regular expression in this Info file"] ["Go to Node..." Info-goto-node :help "Go to a named node"] ["Last" Info-last :active Info-history :help "Go to the last node you were at"] ("Index..." ["Lookup a String" Info-index :help "Look for a string in the index items"] ["Next Matching Item" Info-index-next :help "Look for another occurrence of previous item"]) ["Edit" Info-edit :help "Edit contents of this node" :active Info-enable-edit] ["Copy Node Name" Info-copy-current-node-name :help "Copy the name of the current node into the kill ring"] ["Exit" Info-exit :help "Stop reading Info"]) boundp display-graphic-p make-sparse-keymap tool-bar-add-item-from-menu Info-exit "close" Info-prev "left_arrow" Info-next "right_arrow" Info-up "up_arrow" Info-last "undo" Info-top-node "home" Info-index "index" Info-goto-node "jump_to" Info-search "search" nil] 5)
#@44 Update the Info menu for the current node.
(defalias 'Info-menu-update #[nil "\300\301\302\217\207" [nil (byte-code "\306=?\206\f 	\nD\232?\205p\307\310\311\217\237\307%\307&\312'\203N '\313W\203N @&A'T'\314&\315&D\316\317\320'\"$%B%\202! \203X \321%B%%\204c \322\307\323E%\324\325\326%\237#\210-\307\211\211\211\211\312\327('&%)*\212eb\210\330\331\307\327#\203\303 \332\224`S{*\312)\333\334*)#\211)\203\273 *\312)O\335*\312\225\307OQ*)T)\202\226 *B\202\204 )\203\357 '\313W\203\357 @&A'T'\336\314&\337&D\340BB\"%B%\202\304 \203\371 \341%B%%\204\342\307\323E%\324\343\344%\237#\210.	\nD\211\207" [major-mode Info-current-file Info-current-node Info-menu-last-node Info-complete-menu-buffer items Info-mode nil (Info-complete-menu-item "" #[(e) "\300\207" [t] 1] t) ((error)) 0 9 vector Info-menu :keys format "%d" ["Other..." Info-menu t] ["No menu" nil nil] :active easy-menu-change ("Info") "Menu Item" t re-search-forward "\\*note[ \n	]*\\([^:]*\\):" 1 string-match "[ \n	]+" " " apply Info-follow-reference (t) ["Other..." Info-follow-reference t] ["No references" nil nil] ("Info") "Reference" entries current number case-fold-search i str] 7) ((error (ding)))] 3 (#$ . 53546)])
#@131 Put the name of the current info node into the kill ring.
The name of the info file is prepended to the node name in parentheses.
(defalias 'Info-copy-current-node-name #[nil "\204 \303\304!\210\305\306\307	;\203 	\202 \n\206 \310!\311R!\207" [Info-current-node Info-current-file buffer-file-name error "No current info node" kill-new "(" file-name-nondirectory "" ")"] 5 (#$ . 54808) nil])
(put 'Info-mode 'mode-class 'special)
#@2790 Info mode provides commands for browsing through the Info documentation tree.
Documentation in Info is divided into "nodes", each of which discusses
one topic and contains references to other nodes which discuss related
topics.  Info has commands to follow the references and show you other nodes.

\<Info-mode-map>\[Info-help]	Invoke the Info tutorial.
\[Info-exit]	Quit Info: reselect previously selected buffer.

Selecting other nodes:
\[Info-mouse-follow-nearest-node]
	Follow a node reference you click on.
	  This works with menu items, cross references, and
	  the "next", "previous" and "up", depending on where you click.
\[Info-follow-nearest-node]	Follow a node reference near point, like \[Info-mouse-follow-nearest-node].
\[Info-next]	Move to the "next" node of this node.
\[Info-prev]	Move to the "previous" node of this node.
\[Info-up]	Move "up" from this node.
\[Info-menu]	Pick menu item specified by name (or abbreviation).
	Picking a menu item causes another node to be selected.
\[Info-directory]	Go to the Info directory node.
\[Info-follow-reference]	Follow a cross reference.  Reads name of reference.
\[Info-last]	Move to the last node you were at.
\[Info-index]	Look up a topic in this file's Index and move to that node.
\[Info-index-next]	(comma) Move to the next match from a previous `i' command.
\[Info-top-node]	Go to the Top node of this file.
\[Info-final-node]	Go to the final node in this file.
\[Info-backward-node]	Go backward one node, considering all nodes as forming one sequence.
\[Info-forward-node]	Go forward one node, considering all nodes as forming one sequence.

Moving within a node:
\[Info-scroll-up]	Normally, scroll forward a full screen.
Once you scroll far enough in a node that its menu appears on the screen
but after point, the next scroll moves into its first subnode.
When after all menu items (or if their is no menu), move up to
the parent node.
\[Info-scroll-down]	Normally, scroll backward.  If the beginning of the buffer is
already visible, try to go to the previous menu entry, or up if there is none.
\[beginning-of-buffer]	Go to beginning of node.

Advanced commands:
\[Info-exit]	Quit Info: reselect previously selected buffer.
\[Info-edit]	Edit contents of selected node.
1	Pick first item in node's menu.
2, 3, 4, 5   Pick second ... fifth item in node's menu.
\[Info-goto-node]	Move to node specified by name.
	You may include a filename as well, as (FILENAME)NODENAME.
\[universal-argument] \[info]	Move to new Info file with completion.
\[Info-search]	Search through this Info file for specified regexp,
	and select the node in which the next occurrence is found.
\[Info-next-reference]	Move cursor to next cross-reference or menu item.
\[Info-prev-reference]	Move cursor to previous cross-reference or menu item.
(defalias 'Info-mode #[nil "\306 \210\307\310\311\312!\210\313\314\315\316\317$\210\320\f!\210!\317\"\317#\321\322!\210\321\323!\210\321\324!\210\321\325!\210\326 \321\327!\210\316\321\330!\210\321\331!\210\321\332!$L\210\321\333!\210\317\313\334\335\316\317$\210\336 \210\337\340!\207" [major-mode mode-name tab-width Info-mode-map text-mode-syntax-table text-mode-abbrev-table kill-all-local-variables Info-mode "Info" 8 use-local-map add-hook activate-menubar-hook Info-menu-update nil t set-syntax-table make-local-variable Info-current-file Info-current-subfile Info-current-node Info-tag-table-marker make-marker Info-tag-table-buffer Info-history Info-index-alternatives tool-bar-map line-move-ignore-invisible clone-buffer-hook Info-clone-buffer-hook Info-set-mode-line run-hooks Info-mode-hook local-abbrev-table case-fold-search buffer-read-only info-tool-bar-map] 5 (#$ . 55251)])
(defalias 'Info-clone-buffer-hook #[nil "\303!\203 rq\210\304 )	\305\n!\2053 \306\n!\203/ \303!\203/ rq\210\307\306\n!!)\2021 \310 \211)\207" [Info-tag-table-buffer Info-tag-table-marker m bufferp clone-buffer markerp marker-position copy-marker make-marker] 3])
#@47 Local keymap used within `e' command of Info.
(defvar Info-edit-map (byte-code "\302 \303	\"\210\304\305\306#\210)\207" [map text-mode-map make-sparse-keymap set-keymap-parent define-key "" Info-cease-edit] 4) (#$ . 59224))
(put 'Info-edit-mode 'mode-class 'special)
#@166 Major mode for editing the contents of an Info node.
Like text mode with the addition of `Info-cease-edit'
which returns to Info mode for browsing.
\{Info-edit-map}
(defalias 'Info-edit-mode #[nil "\304!\210\305\306\307\310!\210\311\312 \210\313p!\210\314\315!\207" [Info-edit-map major-mode mode-name buffer-read-only use-local-map Info-edit-mode "Info Edit" kill-local-variable mode-line-buffer-identification nil force-mode-line-update buffer-enable-undo run-hooks Info-edit-mode-hook] 2 (#$ . 59504)])
#@94 Edit the contents of this Info node.
Allowed only if variable `Info-enable-edit' is non-nil.
(defalias 'Info-edit #[nil "\204 \301\302!\210\303 \210\304\305\306\307!\"\207" [Info-enable-edit error "Editing info nodes is not enabled" Info-edit-mode message "%s" substitute-command-keys "Editing: Type \\<Info-edit-map>\\[Info-cease-edit] to return to info"] 4 (#$ . 60020) nil])
#@55 Finish editing Info node; switch back to Info proper.
(defalias 'Info-cease-edit #[nil "\305 \203 \306\307!\203 \310 \210\311!\210\312\313\314 \210\315\316 \210\317\f!\205, \305 \205, \320\321!\207" [Info-mode-map major-mode mode-name buffer-read-only Info-tag-table-marker buffer-modified-p y-or-n-p "Save the file? " save-buffer use-local-map Info-mode "Info" Info-set-mode-line t force-mode-line-update marker-position message "Tags may have changed.  Use Info-tagify if necessary"] 2 (#$ . 60406) nil])
#@259 List of Info files that describe Emacs commands.
An element can be a file name, or a list of the form (PREFIX . FILE)
where PREFIX is a name prefix and FILE is the file to look in.
If the element is just a file name, the file name also serves as the prefix.
(defvar Info-file-list-for-emacs '("ediff" "eudc" "forms" "gnus" "info" ("mh" . "mh-e") "sc" "message" ("dired" . "dired-x") "viper" "vip" "idlwave" ("c" . "ccmode") ("c++" . "ccmode") ("objc" . "ccmode") ("java" . "ccmode") ("idl" . "ccmode") ("pike" . "ccmode") ("skeleton" . "autotype") ("auto-insert" . "autotype") ("copyright" . "autotype") ("executable" . "autotype") ("time-stamp" . "autotype") ("quickurl" . "autotype") ("tempo" . "autotype") ("hippie-expand" . "autotype") ("cvs" . "pcl-cvs") ("ada" . "ada-mode") "ebrowse" "eshell" "cl" "reftex" "speedbar" "widget" "woman" ("mail-header" . "emacs-mime") ("mail-content" . "emacs-mime") ("mail-encode" . "emacs-mime") ("mail-decode" . "emacs-mime") ("rfc2045" . "emacs-mime") ("rfc2231" . "emacs-mime") ("rfc2047" . "emacs-mime") ("rfc2045" . "emacs-mime") ("rfc1843" . "emacs-mime") ("ietf-drums" . "emacs-mime") ("quoted-printable" . "emacs-mime") ("binhex" . "emacs-mime") ("uudecode" . "emacs-mime") ("mailcap" . "emacs-mime") ("mm" . "emacs-mime") ("mml" . "emacs-mime")) (#$ . 60926))
#@328 Return a list of locations documenting COMMAND.
The `info-file' property of COMMAND says which Info manual to search.
If COMMAND has no property, the variable `Info-file-list-for-emacs'
defines heuristics for which Info manual to try.
The locations are of the format used in `Info-history', i.e.
(FILENAME NODENAME BUFFERPOS).
(defalias 'Info-find-emacs-command-nodes #[(command) "\306\307\310\311!!\312Q\313\301N\203 \301N\202c \f\203b @\211!:\203/ !@\2021 !\"!:\203? !A\202A !#\314\310\"!\315Q$\316$\311!\"\203[ #\306A,\202 )\317	\320\"\210\321\322\306\323#\203x \324\325\306\323#\204} \326\327	\"\210\330\224b\210\306\211\211\211%&'(\331\332 !\210eb\210\324\n\306\323#\203\252 )\333\334!\335EB\202\225 \336\337\323\"\211&\203\304 \316\340&\"\203\304 \331&!\210\202\222 ,+\207" [command info-file cmd-desc where Info-file-list-for-emacs file-list nil "^\\* +" regexp-quote symbol-name "\\( <[0-9]+>\\)?:\\s *\\(.*\\)\\.$" "emacs" "\\`" "\\(\\'\\|-\\)" string-match Info-find-node "Top" search-forward "\n* menu:" t re-search-forward "\n\\* \\(.*\\<Index\\>\\)" error "Info file `%s' appears to lack an index" 1 Info-goto-node Info-extract-menu-node-name match-string-no-properties 2 0 Info-extract-pointer "next" "\\<Index\\>" elt name file regexp found node exact Info-history Info-current-file] 6 (#$ . 62242)])
#@229 Go to the Info node in the Emacs manual for command COMMAND.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.
(defalias 'Info-goto-emacs-command-node #[(command) "\304!\204 \305\306\304D\"\210\307!\211\203Y 	G\310\213\210\311\312!\210\313\314	@@	@A@\"\210)\n\315V\205U 	A\244\316\317\nS\n\320V\203E \321\202F \322\323\324!\n\320V\203S \325\202T \326%)\202] \327\330\")\207" [command where num-matches Info-history commandp signal wrong-type-argument Info-find-emacs-command-nodes ((info)) pop-to-buffer "*info*" nil Info-find-node 1 message "Found %d other entr%s.  Use %s to see %s." 2 "ies" "y" substitute-command-keys "\\[Info-last]" "them" "it" error "Couldn't find documentation for %s"] 8 (#$ . 63605) "CFind documentation for command: "])
#@342 Go to the node in the Emacs manual which describes the command bound to KEY.
KEY is a string.
Interactively, if the binding is `execute-extended-command', a command is read.
The command is found by looking up in Emacs manual's indices
or in another manual found via COMMAND's `info-file' property or
the variable `Info-file-list-for-emacs'.
(defalias 'Info-goto-emacs-key-command-node #[(key) "\302!\211\204 \303\304\305!\"\202& t\203# 	\306=\203# \307\310\311!!\202& \307	!)\207" [key command key-binding message "%s is undefined" key-description execute-extended-command Info-goto-emacs-command-node read-command "Find documentation for command: "] 5 (#$ . 64486) "kFind documentation for key: "])
(byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\210\300\311\312\313\304\305%\210\300\314\315\316\304\305%\210\300\317\320\321\304\305%\207" [custom-declare-face Info-title-1-face ((((type tty pc) (class color)) (:foreground "yellow" :weight bold)) (t (:height 1.2 :inherit Info-title-2-face))) "Face for Info titles at level 1." :group info Info-title-2-face ((((type tty pc) (class color)) (:foreground "lightblue" :weight bold)) (t (:height 1.2 :inherit Info-title-3-face))) "Face for Info titles at level 2." Info-title-3-face ((((type tty pc) (class color)) (:weight bold)) (t (:height 1.2 :inherit Info-title-4-face))) "Face for Info titles at level 3." Info-title-4-face ((((type tty pc) (class color)) (:weight bold)) (t (:weight bold :inherit variable-pitch))) "Face for Info titles at level 4." info-menu-header ((((type tty pc)) :underline t :weight bold) (t :inherit variable-pitch :weight bold)) "Face for headers in Info menus."] 6)
#@68 Add the face `info-menu-header' to any header before a menu entry.
(defalias 'Info-fontify-menu-headers #[nil "\212eb\210\300\301\302\303#\205) \304\305\224\305\225\306\307$\210\300\310\302\303#\205) \304\311\224\311\225\306\307$\210\202 )\207" [re-search-forward "\\* Menu:" nil t put-text-property 0 face info-menu-header "\n\n\\([^*\n ].*\\)\n\n?[*]" 1] 5 (#$ . 66161)])
(defalias 'Info-fontify-node #[nil "\212\306\307eb\210\310\311!\203\220 \312\225b\210\310\313!\203\220 \312\225b\210\314\224\314\225\315\224\211\315\225{\211\316\230\203: \317\n\320\321$\210\202\214 \317\n\320\322$\210\317\n\323\324$\210\317\f\325\326\n{P$\210<\203\201 \327\330\"A\211=\203\200 \331 >\332>\333=#\210\332>\334=#\210\317\f\335>$\210))<\204\214 \336\f\337#\210,\202 eb\210\340\341\306\307#\203\362 h\306\211?\342U\203\255 \343\202\312 ?\344U\203\272 \345\202\312 ?\346U\203\307 \347\202\312 \350\317\315\224\315\225\320$\210*\351\352 !\353>\203\223 \354\315\225\314\225\355#\210\354\315\225S\314\225\356#\210\202\223 eb\210\340\357\306\307#\203\312\224Sf\360U\204\365 \354\315\224\315\225\361#\210\202\365 eb\210\362\363\306\307#\203Y\364\365@\"\204Yd`ZAW\203Y\312B\340\366\306\307#\203XBT\211B\367>\203M\317\312\224\312\224T\320\370$\210\354\315\224\315\225\371#\210\2020)\372 \210\373\306!+\207" [case-fold-search buffer-read-only nbeg nend tbeg tag nil t looking-at "^File: [^,: 	]+,?[ 	]+" 0 "[ 	]*\\([^:, 	\n]+\\):[ 	]+\\([^:,	\n]+\\),?" 2 1 "Node" put-text-property face info-header-node info-header-xref mouse-face highlight help-echo "Go to node " assoc (("Prev" . Info-prev) ("Next" . Info-next) ("Up" . Info-up)) make-sparse-keymap define-key [header-line down-mouse-1] [header-line down-mouse-2] local-map remove-text-properties (local-map nil) re-search-forward "\n\\([^ 	\n].+\\)\n\\(\\*+\\|=+\\|-+\\|\\.+\\)$" 42 Info-title-1-face 61 Info-title-2-face 45 Info-title-3-face Info-title-4-face framep selected-frame (x pc w32 mac) add-text-properties (invisible t intangible t) (intangible t) "\\*Note[ \n	]+\\([^:]*\\):" 34 (face info-xref mouse-face highlight help-echo "mouse-2: go to this node") search-forward "\n* Menu:" string-match "\\<Index\\>" "^\\* +\\([^:	\n]*\\):" (5 9) info-menu-5 (face info-xref mouse-face highlight help-echo "mouse-2: go to this node") Info-fontify-menu-headers set-buffer-modified-p Info-use-header-line fun keymap c Info-current-node Info-fontify-maximum-menu-size n] 8])
(defalias 'Info-kill-buffer #[nil "\302=\205 	\205 \303	!\207" [major-mode Info-tag-table-buffer Info-mode kill-buffer] 2])
(add-hook 'kill-buffer-hook 'Info-kill-buffer)
#@44 Keymap used when in the info display mode.
(defvar Info-speedbar-key-map nil (#$ . 68802))
#@59 Install those variables used by speedbar to enhance Info.
(defalias 'Info-install-speedbar-variables #[nil "\204 \301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\312\313!\207" [Info-speedbar-key-map speedbar-make-specialized-keymap define-key "e" speedbar-edit-line "" "+" speedbar-expand-line "-" speedbar-contract-line speedbar-add-expansion-list ("Info" Info-speedbar-menu-items Info-speedbar-key-map Info-speedbar-hierarchy-buttons)] 4 (#$ . 68899)])
#@49 Additional menu-items to add to speedbar frame.
(defvar Info-speedbar-menu-items '(["Browse Node" speedbar-edit-line t] ["Expand Node" speedbar-expand-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.\\+. "))] ["Contract Node" speedbar-contract-line (save-excursion (beginning-of-line) (looking-at "[0-9]+: *.-. "))]) (#$ . 69393))
(byte-code "\300\301!\203\f \302 \210\202 \303\304\302\"\210\300\207" [featurep speedbar Info-install-speedbar-variables add-hook speedbar-load-hook] 3)
#@99 Initialize speedbar to display an info node browser.
This will add a speedbar major display mode.
(defalias 'Info-speedbar-browser #[nil "\300\301!\210\302\303!\210\304\305!\207" [require speedbar speedbar-frame-mode 1 speedbar-change-initial-expansion-list "Info"] 2 (#$ . 69900) nil])
#@232 Display an Info directory hierarchy in speedbar.
DIRECTORY is the current directory in the attached frame.
DEPTH is the current indentation depth.
NODE is an optional argument that is used to represent the
specific node to expand.
(defalias 'Info-speedbar-hierarchy-buttons #[(directory depth &optional node) "?\205 \212eb\210\306\307\310!*?\205U \204 \306\311c\210)\312\313 \314!\210\315\213\210\314!\210\f\205T \306\f\203R \316\317\320\321\f@A\f@@\322\f@A\323&	\210\fA\211\2047 )\306*\207" [node case-fold-search inhibit-read-only cf completions speedbar-attached-frame t looking-at "Info Nodes:" "Info Nodes:\n" nil selected-frame select-frame ((byte-code "\302\206 \303!\302\207" [node completions Info-speedbar-fetch-file-nodes "(dir)top"] 2)) speedbar-make-tag-line bracket 43 Info-speedbar-expand-node Info-speedbar-goto-node info-xref depth] 11 (#$ . 70194)])
#@76 When user clicks on TEXT, go to an info NODE.
The INDENT level is ignored.
(defalias 'Info-speedbar-goto-node #[(text node indent) "\306!\210\307\310!\206 \311 \210\307\310!\312	\313\"\211\203' \314\n!\210\315\316\n!!\210\202? \2037 \317\314\320	!!\210)\202? \306!\210\321	!\210\322\323\"\324\325\"\324\326\"\327\"\210\330\230\205a \331!-\207" [speedbar-attached-frame buff bwin speedbar-power-click pop-up-frames node select-frame get-buffer "*info*" info get-buffer-window 0 select-window raise-frame window-frame t display-buffer switch-to-buffer string-match "^(\\([^)]+\\))\\([^.]+\\)$" match-string 1 2 Info-find-node "Info" speedbar-change-initial-expansion-list file junk speedbar-initial-expansion-list-name speedbar-previously-used-expansion-list-name] 6 (#$ . 71085)])
#@190 Expand the node the user clicked on.
TEXT is the text of the button we clicked on, a + or - item.
TOKEN is data related to this node (NAME . FILE).
INDENT is the current indentation depth.
(defalias 'Info-speedbar-expand-node #[(text token indent) "\304\305\"\203, \306\307!\210\310\212\311\210\312u\210\313\311\nT#*\203% \306\307!\210\202B \306\314!\210\202B \304\315\"\203> \306\316!\210\317\n!\210\202B \320\321!\210\322 \207" [text inhibit-read-only indent token string-match "+" speedbar-change-expand-button-char 45 t nil 1 Info-speedbar-hierarchy-buttons 63 "-" 43 speedbar-delete-subblock error "Ooops... not sure what to do" speedbar-center-buffer-smartly] 4 (#$ . 71894)])
#@135 Fetch the subnodes from the info NODESPEC.
NODESPEC is a string of the form: (file)node.
Optional THISFILE represends the filename of
(defalias 'Info-speedbar-fetch-file-nodes #[(nodespec) "\212\306\307!q\210\310\232\204 \310 \210\311\312	\"\313\314	\"\313\315	\"\316\n\"\210+eb\210\317\320\311\321	\"\210\313\314	\"\322\323\317\320#\210\322\323\317\320#\203\231 \313\314!\324\325!\203[ \313\314!B\202\216 \324\326!\203n \313\314!\327PB\202\216 \324\330!\203\203 \331\332\313\314!RB\202\216 \331\332RBB)\202= \237,\207" [major-mode nodespec node file junk thisfile get-buffer-create "*info-browse-tmp*" Info-mode string-match "^(\\([^)]+\\))\\([^.]+\\)$" match-string 1 2 Info-find-node nil t "^(\\([^)]+\\))" re-search-forward "\n\\* \\([^:	\n]*\\):" looking-at " *\\(([^)]+)[^.\n]+\\)\\." " *\\(([^)]+)\\)\\." "Top" " \\([^.]+\\)." "(" ")" case-fold-search completions name] 6 (#$ . 72589)])
#@120 Create a speedbar display to help navigation in an Info file.
BUFFER is the buffer speedbar is requesting buttons for.
(defalias 'Info-speedbar-buttons #[(buffer) "\212eb\210\301\302\303!*\204 \304 \210\305\306\307\"\207" [case-fold-search t looking-at "Info Nodes:" erase-buffer Info-speedbar-hierarchy-buttons nil 0] 3 (#$ . 73531)])
(byte-code "\302\303\211\203 	@\304\305\"\210	A\211\204 *\306\307!\207" [mess #:--dolist-temp--97279 ("^Node has no Previous$" "^No menu in this node$" "^Node has no Next$" "^No cross-references in this node^" search-failed "^No \".*\" in index$") nil add-to-list debug-ignored-errors provide info] 4)
