? Fallagassrini

Fallagassrini Bypass Shell

echo"
Fallagassrini
";
Current Path : /usr/share/emacs/24.3/lisp/

Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Upload File :
Current File : //usr/share/emacs/24.3/lisp/info.elc

;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:06:23 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/info.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(custom-declare-group 'info nil "Info subsystem." :group 'help :group 'docs)
#@106 Stack of Info nodes user has visited.
Each element of the stack is a list (FILENAME NODENAME BUFFERPOS).
(defvar Info-history nil (#$ . 625))
#@139 Stack of Info nodes user has visited with `Info-history-back' command.
Each element of the stack is a list (FILENAME NODENAME BUFFERPOS).
(defvar Info-history-forward nil (#$ . 774))
#@98 List of all Info nodes user has visited.
Each element of the list is a list (FILENAME NODENAME).
(defvar Info-history-list nil (#$ . 963))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\313\314\304\305\306\307&\207" [custom-declare-variable Info-history-skip-intermediate-nodes t "Non-nil means don't record intermediate Info nodes to the history.\nIntermediate Info nodes are nodes visited by Info internally in the process of\nsearching the node to display.  Intermediate nodes are not presented\nto the user." :type boolean :group info :version "24.1" Info-enable-edit nil "Non-nil means the \\<Info-mode-map>\\[Info-edit] command in Info can edit the current node.\nThis is convenient if you want to write Info files by hand.\nHowever, we recommend that you not do this.\nIt is better to write a Texinfo file and generate the Info file from that,\nbecause that gives you a printed manual as well."] 10)
#@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 (#$ . 1898))
(byte-code "\300\301\302\303#\210\304\305\306\307\310\311%\210\304\312\313\314\310\311%\210\300\315\316\312#\210\300\315\317\320\321!\206&\303#\210\304\322\323\324\310\311%\210\300\325\316\322#\210\300\325\317\320\321!\206@\303#\210\304\326\327\330\310\311%\210\300\331\316\326#\210\300\331\317\320\321!\206Z\303#\210\304\332\333\334\310\311%\210\300\335\316\332#\210\300\335\317\320\321!\206t\303#\210\304\336\337\340\310\311%\210\304\341\342\343\310\311%\210\300\344\316\341#\210\300\344\317\320\321!\206\226\303#\210\304\345\346\347\310\311%\210\304\350\351\352\353\321\310\311&\210\354\355\303\356\353\321\357\360\310\311&	\210\354\361\362\363\357\364\310\311&\210\354\365\303\366\357\360\310\311&\210\304\367\370\371\310\311%\210\304\372\373\374\310\311%\210\354\375\376\377\201@\201A\357\201B\310\311&	\207" [put Info-enable-active-nodes risky-local-variable t custom-declare-face info-node ((((class color) (background light)) :foreground "brown" :weight bold :slant italic) (((class color) (background dark)) :foreground "white" :weight bold :slant italic) (t :weight bold :slant italic)) "Face for Info node names." :group info info-title-1 ((((type tty pc) (class color) (background light)) :foreground "green" :weight bold) (((type tty pc) (class color) (background dark)) :foreground "yellow" :weight bold) (t :height 1.2 :inherit info-title-2)) "Face for info titles at level 1." Info-title-1-face face-alias obsolete-face purecopy "22.1" info-title-2 ((((type tty pc) (class color)) :foreground "lightblue" :weight bold) (t :height 1.2 :inherit info-title-3)) "Face for info titles at level 2." Info-title-2-face info-title-3 ((((type tty pc) (class color)) :weight bold) (t :height 1.2 :inherit info-title-4)) "Face for info titles at level 3." Info-title-3-face info-title-4 ((((type tty pc) (class color)) :weight bold) (t :weight bold :inherit variable-pitch)) "Face for info titles at level 4." Info-title-4-face info-menu-header ((((type tty pc)) :underline t :weight bold) (t :inherit variable-pitch :weight bold)) "Face for headers in Info menus." info-menu-star ((((class color)) :foreground "red1") (t :underline t)) "Face for every third `*' in an Info menu." info-menu-5 info-xref ((t :inherit link)) "Face for unvisited Info cross-references." info-xref-visited ((t :inherit (link-visited info-xref))) "Face for visited Info cross-references." :version custom-declare-variable Info-fontify-visited-nodes "Non-nil to fontify references to visited nodes in `info-xref-visited' face." :type boolean Info-fontify-maximum-menu-size 100000 "Maximum size of menu to fontify if `font-lock-mode' is non-nil.\nSet to nil to disable node fontification." integer Info-use-header-line "Non-nil means to put the beginning-of-node links in an Emacs header-line.\nA header-line does not scroll with the rest of the buffer." info-header-xref ((t :inherit info-xref)) "Face for Info cross-references in a node header." info-header-node ((t :inherit info-node)) "Face for Info nodes in a node header." Info-default-directory-list (let* ((config-dir (file-name-as-directory (or (and (featurep 'ns) (let ((dir (expand-file-name "../info" data-directory))) (if (file-directory-p dir) dir))) configure-info-directory))) (prefixes (prune-directory-list '("/usr/local/" "/usr/" "/opt/" "/"))) (suffixes '("share/" "" "gnu/" "gnu/lib/" "gnu/lib/emacs/" "emacs/" "lib/" "lib/emacs/")) (standard-info-dirs (apply #'nconc (mapcar (lambda (pfx) (let ((dirs (mapcar (lambda (sfx) (concat pfx sfx "info/")) suffixes))) (prune-directory-list dirs))) prefixes))) (dirs (if (member config-dir standard-info-dirs) (nconc standard-info-dirs (list config-dir)) (cons config-dir standard-info-dirs)))) (if (not (eq system-type 'windows-nt)) dirs (let* ((instdir (file-name-directory invocation-directory)) (dir1 (expand-file-name "../info/" instdir)) (dir2 (expand-file-name "../../../info/" instdir))) (cond ((file-exists-p dir1) (append dirs (list dir1))) ((file-exists-p dir2) (append dirs (list dir2))) (t dirs))))) "Default list of directories to search for Info documentation files.\nThey are searched in the order they are given in the list.\nTherefore, the directory of Info files that come with Emacs\nnormally should come last (so that local files override standard ones),\nunless Emacs is installed into a non-standard directory.  In the latter\ncase, the directory of Info files that come with Emacs should be\nfirst in this list.\n\nOnce Info is started, the list of directories to search\ncomes from the variable `Info-directory-list'.\nThis variable `Info-default-directory-list' is used as the default\nfor initializing `Info-directory-list' when Info is started, unless\nthe environment variable INFOPATH is set.\n\nAlthough this is a customizable variable, that is mainly for technical\nreasons.  Normally, you should either set INFOPATH or customize\n`Info-additional-directory-list', rather than changing this variable." :initialize custom-initialize-delay (repeat directory)] 10)
#@1514 List of directories to search for Info documentation files.
If nil, meaning not yet initialized, Info uses the environment
variable INFOPATH to initialize it, or `Info-default-directory-list'
if there is no INFOPATH variable in the environment, or the
concatenation of the two if INFOPATH ends with a `path-separator'.

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 (#$ . 7073))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\302\311\312\313\304\314\306\307&	\210\300\315\316\317\312\313\304\320\321\322\306\307&\210\300\323\302\324\312\313\304\314\306\307&	\210\300\325\326\327\312\330\304\331\306\307&	\210\300\332\333\334\304\335\306\307&\210\300\336\316\337\312\313\304\314\306\307&	\207" [custom-declare-variable Info-additional-directory-list nil "List of additional directories to search for Info documentation files.\nThese directories are searched after those in `Info-directory-list'." :type (repeat directory) :group info Info-scroll-prefer-subnodes "If non-nil, \\<Info-mode-map>\\[Info-scroll-up] in a menu visits subnodes.\n\nIf this is non-nil, and you scroll far enough in a node that its menu\nappears on the screen, the next \\<Info-mode-map>\\[Info-scroll-up]\nmoves to a subnode indicated by the following menu item.  This means\nthat you visit a subnode before getting to the end of the menu.\n\nSetting this option to nil results in behavior similar to the stand-alone\nInfo reader program, which visits the first subnode from the menu only\nwhen you hit the end of the current node." :version "22.1" boolean Info-hide-note-references t "If non-nil, hide the tag and section reference in *note and * menu items.\nIf value is non-nil but not `hide', also replaces the \"*note\" with \"see\".\nIf value is non-nil but not t or `hide', the reference section is still shown.\n`nil' completely disables this feature.  If this is non-nil, you might\nwant to set `Info-refill-paragraphs'." (choice (const :tag "No hiding" nil) (const :tag "Replace tag and hide reference" t) (const :tag "Hide tag and reference" hide) (other :tag "Only replace tag" tag)) :set #[(sym val) "	L\210\305 \306\211\205(@r\nq\210\f\307=\203\310\311\211\"\210)A\211\204
\306*\207" [sym val buffer --dolist-tail-- major-mode buffer-list nil Info-mode revert-buffer t] 4] Info-refill-paragraphs "If non-nil, attempt to refill paragraphs with hidden references.\nThis refilling may accidentally remove explicit line breaks in the Info\nfile, so be prepared for a few surprises if you enable this feature.\nThis only has an effect if `Info-hide-note-references' is non-nil." Info-breadcrumbs-depth 4 "Depth of breadcrumbs to display.\n0 means do not display breadcrumbs." "23.1" integer Info-search-whitespace-regexp "\\s-+" "If non-nil, regular expression to match a sequence of whitespace chars.\nThis applies to Info search for regular expressions.\nYou might want to use something like \"[ \\t\\r\\n]+\" instead.\nIn the Customization buffer, that is `[' followed by a space,\na tab, a carriage return (control-M), a newline, and `]+'." regexp Info-isearch-search "If non-nil, isearch in Info searches through multiple nodes.\nBefore leaving the initial Info node, where isearch was started,\nit fails once with the error message [end of node], and with\nsubsequent C-s/C-r continues through other nodes without failing\nwith this error message in other nodes.  When isearch fails for\nthe rest of the manual, it displays the error message [end of manual],\nwraps around the whole manual and restarts the search from the top/final\nnode depending on search direction.\n\nSetting this option to nil restores the default isearch behavior\nwith wrapping around the current Info node."] 12)
(defvar Info-isearch-initial-node nil)
(defvar Info-isearch-initial-history nil)
(defvar Info-isearch-initial-history-list nil)
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\307&\207" [custom-declare-variable Info-mode-hook (unless (and (boundp 'Info-fontify) (null Info-fontify)) '(turn-on-font-lock)) "Hooks run when `Info-mode' is called." :type hook :group info Info-selection-hook nil "Hooks run when `Info-select-node' is called."] 8)
#@44 Hooks run when `Info-edit-mode' is called.
(defvar Info-edit-mode-hook nil (#$ . 12436))
#@193 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.
(defvar Info-current-file nil (#$ . 12532))
#@116 Info subfile that is actually in the *info* buffer now.
It is nil if current Info file is not split into subfiles.
(defvar Info-current-subfile nil (#$ . 12775))
#@51 Name of node that Info is now looking at, or nil.
(defvar Info-current-node nil (#$ . 12943))
#@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 (#$ . 13044))
#@38 Buffer used for indirect tag tables.
(defvar Info-tag-table-buffer nil (#$ . 13209))
#@47 Cached completion list for current Info file.
(defvar Info-current-file-completions nil (#$ . 13300))
#@54 Non-nil if current Info file supports index cookies.
(defvar Info-file-supports-index-cookies nil (#$ . 13408))
#@188 List of Info files with information about index cookies support.
Each element of the list is a list (FILENAME SUPPORTS-INDEX-COOKIES)
where SUPPORTS-INDEX-COOKIES can be either t or nil.
(defvar Info-file-supports-index-cookies-list nil (#$ . 13527))
#@57 List of possible matches for last `Info-index' command.
(defvar Info-index-alternatives nil (#$ . 13784))
#@220 Point location within a selected node.
If string, the point is moved to the proper occurrence of the
name of the followed cross reference within a selected node.
If number, the point is moved to the corresponding line.
(defvar Info-point-loc nil (#$ . 13897))
#@57 Non-nil if Emacs was started solely as an Info browser.
(defvar Info-standalone nil (#$ . 14163))
#@104 Alist of file attributes of visited Info files.
Each element is a list (FILE-NAME FILE-ATTRIBUTES...).
(defvar Info-file-attributes nil (#$ . 14268))
#@334 Alist of cached parent-children node information in visited Info files.
Each element is (FILE (NODE-NAME PARENT SECTION CHILDREN) ...)
where PARENT is the parent node extracted from the Up pointer,
SECTION is the section name in the Top node where this node is placed,
CHILDREN is a list of child nodes extracted from the node menu.
(defvar Info-toc-nodes nil (#$ . 14425))
#@118 Alist of cached index node names of visited Info files.
Each element has the form (INFO-FILE INDEX-NODE-NAMES-LIST).
(defvar Info-index-nodes nil (#$ . 14806))
#@487 List of definitions of virtual Info files.
Each element of the list has the format (FILENAME (OPERATION . HANDLER) ...)
where FILENAME is a regexp that matches a class of virtual Info file names.
It should be carefully chosen to not cause file name clashes with
existing file names.  OPERATION is one of the following operation
symbols `find-file', `find-node', `toc-nodes' that define what HANDLER
function to call instead of calling the default corresponding function
to override it.
(defvar Info-virtual-files nil (#$ . 14973))
#@461 List of definitions of virtual Info nodes.
Each element of the list has the format (NODENAME (OPERATION . HANDLER) ...)
where NODENAME is a regexp that matches a class of virtual Info node names.
It should be carefully chosen to not cause node name clashes with
existing node names.  OPERATION is one of the following operation
symbols `find-node' that define what HANDLER function to call instead
of calling the default corresponding function to override it.
(defvar Info-virtual-nodes nil (#$ . 15511))
#@46 Non-nil if the current Info node is virtual.
(defvar Info-current-node-virtual nil (#$ . 16022))
#@41 Check if Info file FILENAME is virtual.
(defalias 'Info-virtual-file-p #[(filename) "\301\302\303#\207" [filename Info-virtual-fun find-file nil] 4 (#$ . 16125)])
#@287 Find a function that handles operations on virtual manuals.
OP is an operation symbol (`find-file', `find-node' or `toc-nodes'),
FILENAME is a virtual Info file name, NODENAME is a virtual Info
node name.  Return a function found either in `Info-virtual-files'
or `Info-virtual-nodes'.
(defalias 'Info-virtual-fun #[(op filename nodename) ";\203\305	\306\n\307#\"\243\206;\205\305	\306\f\307#\"\243\207" [filename op Info-virtual-files nodename Info-virtual-nodes assoc assoc-default string-match] 6 (#$ . 16296)])
#@61 Call a function that handles operations on virtual manuals.
(defalias 'Info-virtual-call #[(virtual-fun &rest args) "\302!\205\303	\"\206\304\207" [virtual-fun args functionp apply t] 3 (#$ . 16827)])
#@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") (#1="")) ((".info.Z" . "uncompress") (".info.Y" . "unyabba") (".info.gz" . "gunzip") (".info.z" . "gunzip") (".info.bz2" "bzip2" "-dc") (".info.xz" . "unxz") (".info") ("-info.Z" . "uncompress") ("-info.Y" . "unyabba") ("-info.gz" . "gunzip") ("-info.bz2" "bzip2" "-dc") ("-info.z" . "gunzip") ("-info.xz" . "unxz") ("-info") ("/index.Z" . "uncompress") ("/index.Y" . "unyabba") ("/index.gz" . "gunzip") ("/index.z" . "gunzip") ("/index.bz2" "bzip2" "-dc") ("/index.xz" . "unxz") ("/index") (".Z" . "uncompress") (".Y" . "unyabba") (".gz" . "gunzip") (".z" . "gunzip") (".bz2" "bzip2" "-dc") (".xz" . "unxz") (#1#))] 2) (#$ . 17041))
(defalias 'info-insert-file-contents-1 #[(filename suffix lfn) "\203	\nP\207\306	!\307\310	GG\311#]\312\f\307X\203(	\211GSH\313=\2034\nG\307U\2044\n\311\312O\f\307\314\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\310!\203\310 \202\311\307\310!\205\306\211\306\312 !\203L	\203A\313\314	@@!\315P \"\204A	A\211\204, 	@A\202\233	\203\221\204\221\316 	@@#\312
!\203o\311	@A\202\212\f\203\212\316 	@@\306#\312
!\203\212\311	@A	A\211\204P	\204\233\317\320 \"\210\321 \203\251\322
!\203\251\306\203\346\323
!\"\210\311\324\311\325
!\206\277\"\"#$%:\204\322C\326\327ed@\311\211\306A&\210,\202\360\311#\330
!\"\210)\331
&\"A\211'\205\332'8(
;\205\n\333
!\211)\205\332)8*(\203N*\203N\334*!\334(!V\203N\335\331+\2065 ,\",\",\335\331+\206F -\"-\"-
)B\335\331
&\"&\"B\211&.\207" [Info-suffix-list tail jka-compr-verbose lfn check-short fullname nil fboundp msdos-long-file-names t info-file-exists-p string-match regexp-quote "$" info-insert-file-contents-1 error "Can't find %s or any compressed version of it" 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 assoc 5 file-attributes float-time remove decoder done filename visit default-directory inhibit-null-byte-detection coding-system-for-write inhibit-read-only Info-file-attributes attribs-old modtime-old attribs-new modtime-new Info-current-file Info-index-nodes Info-toc-nodes] 10 (#$ . 18881)])
#@297 Return non-nil value if FILE supports Info index cookies.
Info index cookies were first introduced in 4.7, and all later
makeinfo versions output them in index nodes, so we can rely
solely on the makeinfo version.  This function caches the information
in `Info-file-supports-index-cookies-list'.
(defalias 'Info-file-supports-index-cookies #[(&optional file) "\204	\304\n\"\2044;\203\305!\203\"\306B\nB\211\2044\212\306eb\210\306\307\310\217\210B\nB*\304\n\"A\207" [file Info-current-file Info-file-supports-index-cookies-list found assoc Info-virtual-file-p nil (byte-code "\301\302\303\304!\305#\203\306\307\310!\311\"\204\305\301\207" [found re-search-forward "makeinfo[ \n]version[ \n]\\([0-9]+.[0-9]+\\)" line-beginning-position 4 t version< match-string 1 "4.7"] 4) ((error))] 3 (#$ . 20450)])
(defalias 'Info-default-dirs #[nil "\306\307\"	\203\306\307	\"\202/\n\205/\306\310\n\"\311!\203\"\202.\306\312\n\"\311!\205.)\313
\203B\311
!\203B
\202D\211\235\204c\314>\204]\306\315	\"\230\203c\311\f!\204h\202l\fB+\207" [source-directory installation-directory invocation-directory infodir alternative sibling expand-file-name "info/" "../share/info/" file-exists-p "../../../share/info/" nil (ms-dos windows-nt) "lib-src/" source Info-default-directory-list system-type exec-directory] 5])
#@65 Initialize `Info-directory-list', if that hasn't been done yet.
(defalias 'info-initialize #[nil "?\205m\306\307!\310	!\311\203=\n\312P\313\314\315
\f#,\2036\316\317\320\321O\n\"\322 \"\202?\317\n\"\202?\322 !\205l\323\324!\205l\325\326\"\327!\205k\317\330\314#\235?\205kB\211)*\207" [Info-directory-list path-separator sep path start string getenv "INFOPATH" regexp-quote prune-directory-list "\\'" nil t string-match append split-string 0 -1 Info-default-dirs featurep ns expand-file-name "../info" file-directory-p ":" regexp inhibit-changing-match-data data-directory dir] 6 (#$ . 21812)])
#@57 Like `info' but show the Info buffer in another window.
(defalias 'info-other-window #[(&optional file-or-node) "\301\302\303!\"\207" [file-or-node info-setup switch-to-buffer-other-window "*info*"] 4 (#$ . 22451) (byte-code "\205\301\302\303\211\304$C\207" [current-prefix-arg read-file-name "Info file name: " nil t] 5)])
#@907 Enter Info, the documentation browser.
Optional argument FILE-OR-NODE specifies the file to examine;
the default is the top-level directory of Info.
Called from a program, FILE-OR-NODE may specify an Info node of the form
"(FILENAME)NODENAME".
Optional argument BUFFER specifies the Info buffer name;
the default buffer name is *info*.  If BUFFER exists,
just switch to BUFFER.  Otherwise, create a new buffer
with the top-level Info directory.

In interactive use, a non-numeric prefix argument directs
this command to read a file name from the minibuffer.
A numeric prefix argument selects an Info buffer with the prefix number
appended to the Info buffer name.

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.

See a list of available Info commands in `Info-mode'.
(defalias 'info #[(&optional file-or-node buffer) "\302\303	\206\304!\"\207" [file-or-node buffer info-setup pop-to-buffer-same-window "*info*"] 4 (#$ . 22786) (list (if (and current-prefix-arg (not (numberp current-prefix-arg))) (read-file-name "Info file name: " nil nil t)) (if (numberp current-prefix-arg) (format "*info*<%s>" current-prefix-arg)))])
#@43 Display Info node FILE-OR-NODE in BUFFER.
(defalias 'info-setup #[(file-or-node buffer) "\203
	\304=\204
\304 \210\n\203(\305\n;\203\"\306\307\n\"\203\"\n\202&\310\n\311Q!\207\312\313 !\2056?\2056\314 \207" [buffer major-mode file-or-node Info-history Info-mode Info-goto-node string-match "(.*)" "(" ")" zerop buffer-size Info-directory] 4 (#$ . 24056)])
#@40 Display the Emacs manual in Info mode.
(defalias 'info-emacs-manual #[nil "\300\301!\207" [info "emacs"] 2 (#$ . 24428) nil])
#@72 Display the "Reporting Bugs" section of the Emacs manual in Info mode.
(defalias 'info-emacs-bug #[nil "\300\301!\207" [info "(emacs)Bugs"] 2 (#$ . 24560) nil])
#@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@!\210A\211\207" [command-line-args-left info] 2) ((error (byte-code "\301\302\303\242\304=\203A@\202\"!\210\305 \207" [err send-string-to-terminal format "%s\n" error save-buffers-kill-emacs] 5))) info] 3 (#$ . 24728)])
(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])
#@149 Return expanded FILENAME, or t if FILENAME is "dir".
Optional second argument NOERROR, if t, means if file is not found
just return nil (no error).
(defalias 'Info-find-file #[(filename &optional noerror) "\306\307\310\311#	#\206\360;\205\360\311\211\211\312!\313\314\"\203&\315\202>\316!\2030\317\202>
\203<\320
\"\202>\203Q\320\321\322\"C\"\203\326\n\204\326\321@\"\321\227@\"\323\324!\203v\324 \202w\325\211\203\314\n\204\314\326\327\f@@#!\203\226\f\202\303\326\327@@#!\203\251\202\303\323\324!\203\303\203\303\326\327\f@@\311#!\203\303\fA\211\204*A\211\204V)\n\203\340\n\202\356	\203\351\311\202\356\330\331\"\210+\207" [filename noerror found temp-downcase temp Info-additional-directory-list Info-virtual-call Info-virtual-fun find-file nil substitute-in-file-name string-match "^\\./" ("./") file-name-absolute-p (nil) append expand-file-name "info" fboundp msdos-long-file-names t info-file-exists-p info-insert-file-contents-1 error "Info file %s does not exist" Info-directory-list dirs installation-directory Info-suffix-list lfn suffix-list] 6 (#$ . 25466)])
#@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\307!	\310=\204\311\312!\210\n\204 \203 \f`E
B\313\f\n#\207" [filename major-mode no-going-back Info-current-file Info-current-node Info-history info-initialize Info-find-file Info-mode switch-to-buffer "*info*" Info-find-node-2 nodename] 4 (#$ . 26642)])
#@151 Use Info mode to browse the current Info buffer.
With a prefix arg, this queries for the node name to visit first;
otherwise, that defaults to `Top'.
(defalias 'Info-on-current-buffer #[(&optional nodename) "\204\304\305 \210\306 \210\307\303!\210	\206\n\310 P\311\312\"\207" [nodename buffer-file-name default-directory Info-current-file "Top" info-initialize Info-mode make-local-variable buffer-name Info-find-node-2 nil] 3 (#$ . 27192) (list (if current-prefix-arg (completing-read "Node name: " (Info-build-node-completions) nil t "Top")))])
#@173 Go to an Info node FILENAME and NODENAME, re-reading disk contents.
When *info* is already displaying FILENAME and NODENAME, the window position
is preserved, if possible.
(defalias 'Info-revert-find-node #[(filename nodename) "\306=\204\n\307\310!\210	\n\311 \312 =i\313e\314 \"\313e\315 \"	\205$	\n`E\316\317\"\210	\232\203d\n\232\203d\203Web\210\fy\210\320\311 `\"\210eb\210
y\210\321!\202o\205oB\211.\207" [major-mode Info-current-file Info-current-node new-history wline pline Info-mode switch-to-buffer "*info*" selected-window get-buffer-window count-lines line-beginning-position window-start nil Info-find-node set-window-start move-to-column pcolumn window-selected old-nodename old-filename filename nodename Info-history] 9 (#$ . 27754)])
(defalias 'Info-revert-buffer-function #[(_ignore-auto noconfirm) "\204\n\303\304!\205\305	\n\"\210\306\307	\"\207" [noconfirm Info-current-file Info-current-node y-or-n-p "Revert info buffer? " Info-revert-find-node message "Reverted %s"] 3])
#@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) "r\305\n!q\210\nb\210\306 \210\307\310\311#\205\"\312\313!\314\230e\315p!\\\fE*\207" [case-fold case-fold-search marker regexp major-mode marker-buffer beginning-of-line re-search-forward nil t match-string 1 "Ref:" read] 4 (#$ . 28799)])
#@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 (#$ . 29604)])
#@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`\2023	\2043\307\310\305\311#\2033\312y\210`\312y\210\313\f\311#\203/\314 )\202)	*\207" [case-fold found case-fold-search regexp beg nil Info-node-at-bob-matching search-forward "\n" t 1 re-search-backward line-beginning-position] 4 (#$ . 30313)])
#@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 (#$ . 30943)])
(defalias 'Info-find-node-2 #[(filename nodename &optional no-going-back) "\306p!\210\307=\204
\307 \210~\210\310\311\216\312\313\314\n\206\f#\310/0\315/!\203b\n\206/\3101\n\310\21123\3104\316 \210\317/\n\f5$\2106\310\211\223\210\3121\320\310!\210\321\322!\210\312)\202\204q\n\203\n\232\204\3127\203\206\321\322!\210\310\n\204\206\310\2112\310\21134\316 \210\323\n\310\"\210\324\n!8\320\310!\210\321\325!\210\325\n!db\210\326y\210\f\327\230\204\330\331\310\312#\203\3109\332\333!\210`9\212\334y\210\335\336!)\203p:\206\335\337\340!;<;:r;q\210\306p!\210\3120\316 \210\341<!\210)6\342\225;\223\210*\202
69\310\223\210)\2026\310\211\223\210\n)\f\327\230\203'\f\343 \202\206e\344\f;\2034\345\f!\2025\346\347Q=>\350\351\215\210\352 \210eb\210\353y\210
\203c\354\f!D\211?\355?@\"B@)
b\202\205A\247\203vA\334Zy\210\310\211A\202\205A;\205\205\356A!\210\310\211A*,\207" [major-mode Info-current-node filename Info-current-file nodename anchorpos buffer-disable-undo Info-mode nil ((byte-code "\204!	\204!\n\203!\n@\nA\304@A@\305#\210\3068b\210)\304\207" [Info-current-node no-going-back Info-history hist Info-find-node t 2] 4)) t Info-virtual-fun find-node functionp erase-buffer Info-virtual-call set-buffer-modified-p make-local-variable Info-current-node-virtual info-insert-file-contents file-name-directory Info-file-supports-index-cookies -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 Info-set-mode-line "\\(Node:\\|Ref:\\) *\\(" regexp-quote "" "\\) *[,	\n]" foo (byte-code "\306!\2031\307	\n\"\211\2030A@\3108\311=\204!\312\f!@\2030\f\211b\210\313\314\315\"\210*e\316\f!\317Z]b\210\320\n!\211\203Lb\210\313\314\315\"\210)\321\322\"\203l\323\324\325\326\"#\210)~\210\313\314\315\"\210\327\330\"\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 string-match "\\([^.]+\\)\\." nil Info-find-node-2 match-string 1 user-error "No such node or anchor: %s" pos nodename Info-point-loc filename no-going-back] 6) Info-select-node 1 substring-no-properties remove Info-find-index-name virtual-fun case-fold-search buffer-read-only Info-current-subfile Info-current-file-completions buffer-file-name no-going-back Info-tag-table-marker inhibit-read-only default-directory pos Info-tag-table-buffer tagbuf buf regexp guesspos new-history Info-history-list Info-point-loc] 6])
(defvar Info-dir-contents nil)
(defvar Info-dir-contents-directory nil)
(defvar Info-dir-file-attributes nil)
(defvar Info-dir-file-name nil)
(defalias 'Info-insert-dir #[nil "\203	\203\306\307\310\311	\"B!\203c\210eb\210\202p\n\203'\312\n\"\202(\313\314\313\211\211\211\211\211@ABCDEFF\203\344\315\316F@!!\211G\f\235\204\312\317G!\f\235\204\312\313H\316\320G\"H\321H!\206\243\316\322G\"H\321H!\206\243\316\323G\"H\321H!\206\243\316\324G\"H\321H!\206\243\316\325G\"H\321H!IG\317G!\fBBI\203\311r\326\327!q\210B\204\303\330\331!\210\313\332\333\217\210)*FA\204\333\334\335!\210\336F@!FAF)\202@B\204\355\337\340!\210\341B!@A\342AB\"@\212\343A!\210)@\313J\211K\203\210K@J\313LrJq\210eb\210\344\345\313\314#\203d\346\347y!\2031l\204&`\313\211MNO\350\351!\210\352\353!\210\354 N\352\355\313\356#\210\357 \210`MNJOMFLBL+\202\360\361L\314#\203uL
\244\202~\314C\330\362P\"\210*KA\211K\204*\344\345!\210\347y\210\363\212\352\364\313\314#\210`)MQ
\313R\211K\203\343K@\211R@N\212N\227Q\235\204\331\344\365\366N!\367QM\314#\204\331\370N\367\371\261\210NQBQ*KA\211K\204\250,
\313R\211K\2036K@R\314R@NDeb\210\344\372\366N!\373Q\313\314#\203\352\355\313\356#\210\357 \210\371c\210\202%db\210\374N\375\261\210\376\343RA\"\210*KA\211K\204\356*\377 \210\201T\201UABB\"\210eb\210C\203X\330\201V!\210\202^\330\201W!\210\334\300!\210\201X \334\301!\210E.	\211S\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\304A\233\305\240\210A	\232)\207" [elt curr file-attributes file-truename 4 0] 4] append nil t file-truename expand-file-name directory-file-name "dir" file-attributes "DIR" "dir.info" "DIR.INFO" "dir.gz" generate-new-buffer " info dir" message "Composing main Info directory..." (byte-code "\306\307	!\210\310\302!\210	pB	\fB
B)\306\207" [inhibit-null-byte-detection file Info-dir-file-name buffers attrs dir-file-attrs t insert-file-contents make-local-variable] 2) ((error (byte-code "\300p!\207" [kill-buffer] 2))) make-local-variable Info-dir-contents-directory file-name-as-directory error "Can't find the Info directory node" last delq insert-buffer-substring re-search-forward "^\\* Menu:" zerop 1 re-search-backward "^" search-forward "Node: " Info-following-node-name "\n" move beginning-of-line assoc-string "top" "No `top' node in %s" ("top") "" "^\\* +" regexp-quote "::" "* " "\n" "^.*\n.*Node: " "[,\n	]" "\nFile: dir	Node: " "\n\n* Menu:\n\n" apply Info-dir-remove-duplicates others buffer buffers problems case-fold-search dir-file-attrs dirs truename file attrs other --dolist-tail-- this-buffer-nodes end nodename beg Info-dir-file-name menu-items node default-directory mapc kill-buffer "Composing main Info directory...problems encountered, see `*Messages*'" "Composing main Info directory...done" buffer-string] 10])
#@69 List of elements (RE . NAME) to merge headings matching RE to NAME.
(defvar Info-streamline-headings '(("Emacs" . "Emacs") ("Programming" . "Programming") ("Libraries" . "Libraries") ("World Wide Web\\|Net Utilities" . "Net Utilities")) (#$ . 37134))
(defalias 'Info-dir-remove-duplicates #[nil "\306eb\210\307\310\306\311#\205F\212\307\312\306\311#)\313\314\311#\203\315\316!\317\224\306\211\320 \321\216\306\211\203W@\322@\f\"\203NA@A\211\2048,	\203d\323\f\311\211\306\316%\210\313\324\311#\203q\317\224\202v\206vdb\210\212\313\314\311#\203\302	\203\224\320 \325\216\322	\315\316!\"*\202\231\f\315\316!\232\203y\317y\210\317\224`|\210\326`\313\324\306\311#\203\263\317\224\202\270\206\270d\"\nB\317y\210\202y)\327\317!`SU\203\322\330u\210\202\303\n\237\306\211\203\377@\211c\210\327\317!`SU\203\366`S`|\210\202\345A\211\204\335*\306 \214`}\210eb\210\313\331\306\332#\203A\315\316!\227\211 \235\2036\317\224\313\333\306\332#\2030\317\224b\2021d|\210\202= B )\202.\202)\207" [limit re entries start name save-match-data-internal nil search-forward "\n* Menu:" t "\n" re-search-forward "^\\(\\w.*\\)\n\\*" match-string 1 0 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match replace-match "^[^* \n	]" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) delete-and-extract-region line-beginning-position -1 "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" move "^[^ 	]" Info-streamline-headings x --dolist-tail-- entry seen] 7])
(defalias 'Info-read-subfile #[(nodepos) "\306\211\n\247\203'r\307!q\210eb\210\310\311!\204\312\313!\210\314y\210\315\316\215\210)\202+\n\317\f\232\204F\320\306~\210\321 \210\322!\210\323\306!\210)~\210eb\210\310\311!\203W\324u\210\202[\312\313!\210\n\247\205e\n	Z`\\*\207" [lastfilename lastfilepos nodepos Info-tag-table-marker Info-current-subfile inhibit-read-only nil marker-buffer looking-at "" search-forward "\n" 2 foo (byte-code "\306\307!\204<l\2046`\310\211\311\312!\210\n`\313Z{e\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 t erase-buffer info-insert-file-contents set-buffer-modified-p 1 buffer-file-name] 2])
#@50 Unescape double quotes and backslashes in VALUE.
(defalias 'Info-unescape-quotes #[(value) "\303\304\305	\n#\203\306\307\310\211	\311%\303\225S\202	*\207" [value unquote start 0 string-match "[^\\\"]*\\(\\\\\\)[\\\\\"]" replace-match "" t 1] 6 (#$ . 39556)])
#@270 Return alist of ("KEY" . "VALUE") from PARAMETER-STRING.
PARAMETER-STRING is a whitespace separated list of KEY=VALUE pairs.
If VALUE contains whitespace or double quotes, it must be quoted
in double quotes and any double quotes or backslashes must be
escaped (\",\\).
(defalias 'Info-split-parameter-string #[(parameter-string) "\303\304\305\306\n	#\203'\303\225\307\310\n\"\307\311\n\"\206 \312\307\313\n\"!BB\202*\207" [parameter-alist start parameter-string 0 nil string-match "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\\\"]\\)*\\)\"\\)\\)" match-string 1 2 Info-unescape-quotes 3] 5 (#$ . 39831)])
#@33 Display images in current node.
(defalias 'Info-display-images-node #[nil "\212\306\211eb\210\307\310\311\306#\203\210\312\224\313\314\315!!\316\317\"A\320 \203b\f\2038\321\f!\2032\f\2029
\fP\2029\322 \323 !\203I\324 !\202J\325!\326\n\327\"\204^\330\n`\327!\331BB#\210*\202\204\n`|\210\316\332\"A\206\202\316\333\"A\206\202\f\203\201\334\f\335Q\206\202\336c\210+\202*\337\311!)\207" [case-fold-search inhibit-read-only start parameter-alist src default-directory t re-search-forward "\\([[]image\\(\\(?:[^]\\|[^]+\\)*\\)[]]\\)" nil 1 Info-split-parameter-string match-string 2 assoc-string "src" display-images-p file-name-absolute-p "" file-exists-p create-image "[broken image]" get-text-property display add-text-properties (rear-nonsticky (display)) "text" "alt" "[image:" "]" "[image]" set-buffer-modified-p image-file image] 6 (#$ . 40482)])
#@44 Hide unrecognized cookies in current node.
(defalias 'Info-hide-cookies-node #[nil "\212\303\211eb\210\304\305\306\303#\203,\307\224\310\n\311\"\204(\310\n\312\"\204(\313\n`\311\303$\210)\202*\314\306!)\207" [case-fold-search inhibit-read-only start t re-search-forward "\\([-][[][^]*[-][]]\n?\\)" nil 1 get-text-property invisible display put-text-property set-buffer-modified-p] 5 (#$ . 41372)])
#@40 Select the Info node that point is in.
(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!\202Ud}\210\203_\333\n!\210\f	D\211\334
\"\"B\"\311#)$\311=\204z\335 \210\336 \210\337 \210\340\341!+\207" [case-fold-search Info-current-node active-expression Info-enable-active-nodes Info-current-file new-history 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 remove Info-fontify-node Info-display-images-node Info-hide-cookies-node run-hooks Info-selection-hook Info-history-list Info-history-forward Info-fontify-maximum-menu-size] 6 (#$ . 41791)])
#@55 Keymap to put on the Info node name in the mode line.
(defvar Info-mode-line-node-keymap (byte-code "\301 \302\303\304#\210\302\305\306#\210)\207" [map make-sparse-keymap define-key [mode-line mouse-1] Info-mouse-scroll-up [mode-line mouse-3] Info-mouse-scroll-down] 4) (#$ . 42724))
(defalias 'Info-set-mode-line #[nil "\304\305!\306;\203\307\310\311\312!#\202\313\314\"\315	\203/\316\307\310\311	#\317\320\321\322\323\324\325\n&	\2020\326RC\244\211\207" [Info-current-file Info-current-node Info-mode-line-node-keymap mode-line-buffer-identification propertized-buffer-identification "%b" " (" replace-regexp-in-string "%" "%%" file-name-nondirectory format "*%S*" ") " propertize face mode-line-buffer-id help-echo "mouse-1: scroll forward, mouse-3: scroll back" mouse-face mode-line-highlight local-map ""] 14])
#@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\2020\320\321	\"\320\322	\"\314\323\n\"\211\203D\n\324O)\314\323	\"\211\203S	\324O)\f\203\333\313\f\204b
\205\331#\325=\203p\f\242\325=\202r#\203\255\326 \203\255\327 \203\255$\203\220\330\331$\"\210\313$\202\255\332 \333 U\204\255\334\331!\204\244\335\331!\204\255\330\331\332 \333 {\"\210
\204\311\f\336=\204\303\f\242\325=\203\311\fA\204\311\313\211\202\331\f\242\325=\203\323\fA\313%\337\340!)\210\341\n\317\232?\205\344\n	\317\232\203\356\342\202\357	\")\207" [fork nodename filename trim transient-mark-mode force info-initialize clone-buffer "*info-" "*" t nil string-match "\\s *\\((\\s *\\([^	)]*\\)\\s *)\\s *\\|\\)\\(.*\\)" 1 "" match-string 2 3 "\\s +\\'" 0 only region-active-p display-selections-p x-set-selection PRIMARY region-beginning region-end x-selection-owner-p x-selection-exists-p lambda run-hooks deactivate-mark-hook Info-find-node "Top" select-active-regions saved-region-selection mark-active] 5 (#$ . 43561) (list (Info-read-node-name "Go to node: ") current-prefix-arg)])
#@357 Internal function used to complete Info node names.
Return a completion table for Info files---the FILENAME part of a
node named "(FILENAME)NODENAME".  DIRS is a list of Info
directories to search if FILENAME is not absolute; SUFFIXES is a
list of valid filename suffixes for Info files.  See
`try-completion' for a description of the remaining arguments.
(defalias 'Info-read-node-name-2 #[(dirs suffixes string pred action) "\306\307\"\310	!\203\311	!C\312\313\314\"\315P\311	!\n\312\211\203\275@\211\2044\203?\316\"\317!\203\264\320\321	!\"\312\211\203\263@\322!\203j\323\f\"\203\212\323\324\"\204\212\323\325\"\204\212\203\205P\202\207
B\323\f\"\203\252\326\211\224O\203\245P\202\247
BA\211\204V*A\211\204'*\327
	$+\207" [suffixes string dirs string-dir suffix names remove "" file-name-absolute-p file-name-directory nil regexp-opt t "\\'" expand-file-name file-directory-p file-name-all-completions file-name-nondirectory file-name-extension string-match "-[0-9]+\\'" "~\\'" 0 complete-with-action dir --dolist-tail-- default-directory file action pred] 6 (#$ . 45241)])
#@114 Internal function used by `Info-read-node-name'.
See `completing-read' for a description of arguments and usage.
(defalias 'Info-read-node-name-1 #[(string predicate code) "\306\307\"\203\310\311\312\313\314\312\315	\316\317\n\"##\320\321O\f%\207\306\322\"\2036\f\321=\203,\207\f\323=\2034\321\207\323\207\324\f
$\207" [string Info-directory-list Info-suffix-list predicate code Info-read-node-completion-table string-match "\\`([^)]*\\'" completion-table-with-context "(" apply-partially completion-table-with-terminator ")" Info-read-node-name-2 mapcar car 1 nil "\\`(" t complete-with-action] 11 (#$ . 46420)])
#@177 Read an Info node name with completion, prompting with PROMPT.
A node name can have the form "NODENAME", referring to a node
in the current Info file, or "(FILENAME)NODENAME".
(defalias 'Info-read-node-name #[(prompt) "\304\305 \306\n\307\310\304$\211\311\232\203\312\n!\202+\207" [completion-ignore-case Info-read-node-completion-table prompt nodename t Info-build-node-completions completing-read Info-read-node-name-1 nil "" Info-read-node-name] 6 (#$ . 47053)])
(defalias 'Info-build-node-completions #[nil "\206~\306\307\310\212\214\f\204\311\312!\210\313\f!\203<\f\313
!q\210~\210
b\210\314\315\306\307#\2038\316\317!CB\202&)\202q~\210eb\210\320	!\203L\316\321!C\322\323\306\307#\203q\321y\210`\321y\210\324	\307#\203m\316\321!CB)\202L*\325B\326\300!\210\211+\207" [Info-current-file-completions node-regexp case-fold-search compl Info-tag-table-marker marker nil t "Node: *\\([^,\n]*\\) *[,\n	]" error "No Info tags found" 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\202A\211\204\304\207" [hl Info-current-file Info-current-node 2 nil] 3 (#$ . 48222)])
#@37 The history list for `Info-search'.
(defvar Info-search-history nil (#$ . 48486))
#@70 The value of `case-fold-search' from previous `Info-search' command.
(defvar Info-search-case-fold nil (#$ . 48574))
#@133 Search for REGEXP, starting from point, and select node it's found in.
If DIRECTION is `backward', search in the reverse direction.
(defalias 'Info-search #[(regexp &optional bound _noerror _count direction) "\306	\204\n\205{\n\307=\203	\242\307=\202\n\203P\310 \203P\311 \203P\2033\312\313\"\210\306\202P\314 \315 U\204P\316\313!\204G\317\313!\204P\312\313\314 \315 {\"\210\204l	\320=\204f	\242\307=\203l	A\204l\306\211\202{	\242\307=\203v	A\306\321\322!)\210
\323\232\203\2071@
\205;\306\211\2112\324=34`ed\325 56789:;<=>?@A\212\214~\210\203\316\212eb\210\326\327!\210`S)d}\210=\204?\203\342B>?\"\204CD\203\364\330
E\331#\202\372\332
E\331#\203`?\203\n\333\225\202\f\333\224>\202\331=)\202\316*F\203NG\203NH\204NE\204N=\204G?\203N?9V\203G?8W\204N\334\335
\336D\"\210=\203\2025\204F\203g\334\335
\337D\"\210\202\202CD\203w\330
!\210\202{\332
!\210)\202\202\306?E\203\222?\204\222\334\335
C\"\210?\204\321E\204\321\340\216\306Ir\341J!q\210eb\210\326\342!\210\214`\326\327!\210`S}\210eb\210\326\3436\344Q!\210\203\315\333\202\316\345y\210\203\330\346u\210\203\341o\202\342m\204\203\361\330\347!\210\202\365\332\347!\210\345\225\350\\b\210e\351p!\\\352\345!BIBI\203\333\224S\202\333\225Tb\210\202\330I\237I*I\203\263\353\354I@A\"\210\355I@@!\210\203L\212eb\210\326\327!\210`S)d}\210db\210IAI\306\211=?=\204\237?\203kB>?\"\204\237CD\203|\330
\306\331#\202\201\332
\306\331#\203\230`?\203\221\333\225\202\223\333\224>\202\233\331=)\202W=\203\247\306??\203\"\306\211I\204'?\203\277\353\323!\210\202\320\334\335F\203\314
\337D\202\316
C\"\210*65\230\203\360?9V\203\360?8W\203\360?b\210\202~\210?b\210\356 K\357\216\360 \210*<3\230\203;4\232\2069F\203,L\203,:M\203&9\202(8=\2069;<:ENB\211N.\207" [force transient-mark-mode select-active-regions saved-region-selection mark-active regexp nil only region-active-p display-selections-p x-set-selection PRIMARY region-beginning region-end x-selection-owner-p x-selection-exists-p lambda run-hooks deactivate-mark-hook "" backward window-start search-forward "\n" re-search-backward t re-search-forward 0 signal search-failed "end of node" "end of manual" ((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 "\n\nIndirect:" "\n" ": " 1 -1 "\\(^.*\\): [0-9]+$" 2 read match-string-no-properties message "Searching subfile %s..." Info-read-subfile match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) Info-select-node Info-search-history direction Info-current-node Info-current-file Info-current-subfile osubfile ostart opoint-max opoint-min opoint ofile onode give-up beg-found found case-fold-search Info-search-case-fold isearch-filter-predicate Info-search-whitespace-regexp search-spaces-regexp bound isearch-mode Info-isearch-search Info-isearch-initial-node list Info-tag-table-marker save-match-data-internal isearch-wrapped isearch-forward Info-history] 12 (#$ . 48698) (list (read-string (if Info-search-history (format "Regexp search%s (default %s): " (if case-fold-search #1="" " case-sensitively") (car Info-search-history)) (format "Regexp search%s: " (if case-fold-search #1# " case-sensitively"))) nil 'Info-search-history))])
#@39 Search for a regexp case-sensitively.
(defalias 'Info-search-case-sensitively #[nil "\301\302\303!)\207" [case-fold-search nil call-interactively Info-search] 2 (#$ . 52210) nil])
#@63 Search for next regexp from a previous `Info-search' command.
(defalias 'Info-search-next #[nil "\n\203
\303\n@!\202\304\303!)\207" [Info-search-case-fold case-fold-search Info-search-history Info-search call-interactively] 2 (#$ . 52397) nil])
#@45 Search for REGEXP in the reverse direction.
(defalias 'Info-search-backward #[(regexp &optional bound noerror count) "\304	\n\305%\207" [regexp bound noerror count Info-search backward] 6 (#$ . 52653) (list (read-string (if Info-search-history (format "Regexp search%s backward (default %s): " (if case-fold-search #1="" " case-sensitively") (car Info-search-history)) (format "Regexp search%s backward: " (if case-fold-search #1# " case-sensitively"))) nil 'Info-search-history))])
(defalias 'Info-isearch-search #[nil "\203\301\207\302 \207" [Info-isearch-search #[(string &optional bound noerror count) "\203	\202	\n\205
\306
\203O\2063G@\307H>\204,\310\311\312\313#\210@\314HG=?\315
!\203E
\"\202K\316\")\202\\\203X\202\\\317!?\205i\320%\210)`\207" [isearch-regexp isearch-regexp-lax-whitespace isearch-lax-whitespace search-whitespace-regexp Info-search-whitespace-regexp isearch-word Info-search 0 error "%s accessing a non-%s" isearch--state-string isearch--state 1 functionp word-search-regexp regexp-quote backward isearch-nonincremental string isearch-cmds cl-struct-isearch--state-tags lax bound noerror count isearch-forward] 6] isearch-search-fun-default] 1])
(defalias 'Info-isearch-wrap #[nil "\203&	\203 \n\203\305 \210\202\306 \210\n\203e\202db\207\307\211\207\n\203.e\202/db\207" [Info-isearch-search Info-isearch-initial-node isearch-forward Info-current-node isearch-wrapped Info-top-node Info-final-node nil] 2])
(defalias 'Info-isearch-push-state #[nil "\302\303\304\305\306D\306	DFE\207" [Info-current-file Info-current-node lambda (cmd) Info-isearch-pop-state cmd quote] 7])
(defalias 'Info-isearch-pop-state #[(_cmd file node) "	\232\203\f\n\232\206\304	\"\210\305\306!\207" [Info-current-file file Info-current-node node Info-find-node sit-for 0] 3])
(defalias 'Info-isearch-start #[nil "\205	
\306\307\310\311\312$\207" [isearch-nonincremental Info-current-node Info-isearch-initial-node Info-history Info-isearch-initial-history Info-history-list add-hook isearch-mode-end-hook Info-isearch-end nil t Info-isearch-initial-history-list] 5])
(defalias 'Info-isearch-end #[nil "G	GV\203\304G	G\305#\233\nGGV\203\n@B\306\307\310\311#\207" [Info-history Info-isearch-initial-history Info-history-list Info-isearch-initial-history-list - 1 remove-hook isearch-mode-end-hook Info-isearch-end t] 4])
#@171 Test whether the current search hit is a visible useful text.
Return non-nil if the text from BEG-FOUND to FOUND is visible
and is not in the header line or a tag table.
(defalias 'Info-isearch-filter #[(beg-found found) "\305 \306\216	\nW\f\307=\2047\203%\310	\n\311\312$\206\\\310	\n\313\312$\2024\310\n	\311\312$\206\\\310\n	\313\312$\206\\\212\314y\210\315\316!)\203O\203J\314\202K\317y\206\\\212\320\316\312\307#\205[\315\321!)+?\207" [save-match-data-internal found beg-found backward search-invisible match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) t text-property-not-all invisible nil display -1 looking-at "" 1 search-backward "\n\\(Tag Table\\|Local Variables\\)"] 5 (#$ . 55076)])
#@143 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.
(defalias 'Info-extract-pointer #[(name &optional errorname) "\304\212eb\210`\305y\210\306\n\307\310 Q	\304#\203\311\305!\202.\304=?\205.\312\313\314\206,\n!\"+\207" [case-fold-search bound name errorname t 1 re-search-backward ":" Info-following-node-name-re match-string-no-properties user-error "Node has no %s" capitalize] 4 (#$ . 55842)])
#@377 Return a regexp matching a node name.
ALLOWEDCHARS, if non-nil, goes within [...] to make a regexp
saying which chars may appear in the node name.
Submatch 1 is the complete node name.
Submatch 2 if non-nil is the parenthesized file name part of the node name.
Submatch 3 is the local part of the node name.
End of submatch 0, 1, and 3 are the same, so you can safely concat.
(defalias 'Info-following-node-name-re #[(&optional allowedchars) "\301\302\303\206\304\305\306\206\304\307\310\260	\207" [allowedchars "[ 	\n]*" "\\(\\(([^)]+)\\)?" "\\([" "^,	\n" "]*" "[" " ]" "\\|\\)\\)"] 9 (#$ . 56344)])
(defalias 'Info-following-node-name #[nil "\300\301 !\205\n\302\303!\207" [looking-at Info-following-node-name-re match-string-no-properties 1] 2])
#@35 Go to the next node of this node.
(defalias 'Info-next #[nil "\302 \303\216	\304=\204\305\306!\210\307\310\311!!*\207" [#1=#:wconfig major-mode current-window-configuration ((set-window-configuration #1#)) Info-mode switch-to-buffer "*info*" Info-goto-node Info-extract-pointer "next"] 3 (#$ . 57106) nil])
#@39 Go to the previous node of this node.
(defalias 'Info-prev #[nil "\302 \303\216	\304=\204\305\306!\210\307\310\311\312\"!*\207" [#1=#:wconfig major-mode current-window-configuration ((set-window-configuration #1#)) Info-mode switch-to-buffer "*info*" Info-goto-node Info-extract-pointer "prev[ious]*" "previous"] 4 (#$ . 57422) 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) "\306 \307\216	\310=\204\311\312!\210\n\313\314!\315$%&\203+\316\317
\"\203+\320\321!\210\322
!\210`eb\210$;\203u\323\324\315\325#\203u\326%\327\230\203T\330\331$!\332Q\202a\333\334%!\335\334%!\336\260\315\325#\203u\337 \210\340\341!\205|\342u\202|\fb\210\343'!.\207" [#1=#:wconfig major-mode Info-current-node Info-current-file p node current-window-configuration ((set-window-configuration #1#)) Info-mode switch-to-buffer "*info*" Info-extract-pointer "up" nil string-match "^(" error "Up node is in another Info file" Info-goto-node search-forward "\n* Menu:" t re-search-forward "Top" "\n\\*[^:]+: +(" file-name-nondirectory ")" "\n\\* +\\(" regexp-quote ":\\|[^:]+: +" "\\)" beginning-of-line looking-at "^\\* " 2 Info-restore-point old-file old-node same-file Info-history] 6 (#$ . 57766) nil])
#@50 Go back in the history to the last node visited.
(defalias 'Info-history-back #[nil "\204\306\307!\210	\n`EB\310\211\211\n@@\n@A@@AA@A\311\n
\"\210A\fb,\207" [Info-history Info-current-file Info-current-node Info-history-forward opoint nodename user-error "This is the first Info node you looked at" nil Info-find-node filename history-forward] 4 (#$ . 58745) nil])
(defalias 'Info-last 'Info-history-back)
#@45 Go forward in the history of visited nodes.
(defalias 'Info-history-forward #[nil "\204\305\306!\210A\307\211\211@@@A@@AA@\310\n\"\210\f	b,\207" [Info-history-forward opoint nodename filename history-forward user-error "This is the last Info node you looked at" nil Info-find-node] 4 (#$ . 59181) nil])
(add-to-list 'Info-virtual-files '("\\`dir\\'" (toc-nodes . Info-directory-toc-nodes) (find-file . Info-directory-find-file) (find-node . Info-directory-find-node)))
#@56 Directory-specific implementation of `Info-toc-nodes'.
(defalias 'Info-directory-toc-nodes #[(filename) "\301B\207" [filename (("Top" nil nil nil))] 2 (#$ . 59672)])
#@56 Directory-specific implementation of `Info-find-file'.
(defalias 'Info-directory-find-file #[(filename &optional _noerror) "\207" [filename] 1 (#$ . 59845)])
#@58 Directory-specific implementation of `Info-find-node-2'.
(defalias 'Info-directory-find-node #[(_filename _nodename &optional _no-going-back) "\300 \207" [Info-insert-dir] 1 (#$ . 60010)])
#@32 Go to the Info directory node.
(defalias 'Info-directory #[nil "\300\301\302\"\207" [Info-find-node "dir" "top"] 3 (#$ . 60205) nil])
(add-to-list 'Info-virtual-files '("\\`\\*History\\*\\'" (toc-nodes . Info-history-toc-nodes) (find-file . Info-history-find-file) (find-node . Info-history-find-node)))
#@54 History-specific implementation of `Info-toc-nodes'.
(defalias 'Info-history-toc-nodes #[(filename) "\301B\207" [filename (("Top" nil nil nil))] 2 (#$ . 60515)])
#@54 History-specific implementation of `Info-find-file'.
(defalias 'Info-history-find-file #[(filename &optional _noerror) "\207" [filename] 1 (#$ . 60684)])
#@56 History-specific implementation of `Info-find-node-2'.
(defalias 'Info-history-find-node #[(filename nodename &optional _no-going-back) "\306\307\206	\n#c\210\310c\210\311c\210\312c\210\313\314\"\211\205N\f@@\f@A@\211;\203E\315
\316\317\320!\2068\321\322\323#\324!\325
\326\261\210*\fA\211\204\327)\207" [filename Info-current-file nodename Info-history-list hl node format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "Recently Visited Nodes\n" "**********************\n\n" "* Menu:\n\n" remove ("*History*" "Top") "* " ": (" propertize file-name-directory "" invisible t file-name-nondirectory ")" ".\n" nil file] 9 (#$ . 60845)])
#@44 Go to a node with a menu of visited nodes.
(defalias 'Info-history #[nil "\300\301\302\"\210\303 \210\303 \207" [Info-find-node "*History*" "Top" Info-next-reference] 3 (#$ . 61501) nil])
(add-to-list 'Info-virtual-nodes '("\\`\\*TOC\\*\\'" (find-node . Info-toc-find-node)))
#@52 Toc-specific implementation of `Info-find-node-2'.
(defalias 'Info-toc-find-node #[(filename nodename &optional _no-going-back) "\306\206	!\306\206\f!\307\n!\310\311\n
#c\210\312c\210\313c\210\314c\210\315\316\317\320\"8\321\n$\210o?\205V\322\323\324eb\210\325\326\323\327#\206Ned}\210\330 \210~*+\207" [filename Info-current-file curr-file nodename Info-current-node curr-node substring-no-properties Info-toc-nodes format "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Table of Contents\n" "*****************\n\n" "*Note Top::\n" Info-toc-insert 3 assoc "Top" 0 hide nil "*TOC*" re-search-forward "\n[\f]\n" t Info-fontify-node node-list Info-fontify-visited-nodes Info-hide-note-references] 5 (#$ . 61783)])
#@126 Go to a node with table of contents of the current Info file.
Table of contents is created from the tree structure of menus.
(defalias 'Info-toc #[nil "\304\305\"\210	@A@\306eb\210\307\310\311Q\306\312#\211\203#\313\nG\314#\n\206(eb*\207" [Info-current-file Info-history p prev-node Info-find-node "*TOC*" nil search-forward "*Note " ":" t - 2] 4 (#$ . 62520) nil])
#@52 Insert table of contents with references to nodes.
(defalias 'Info-toc-insert #[(nodes node-list level curr-file) "\306	\205=\307	@\n\"\3108\311D\235\204\3108\211\312\261\210\313\f\314\"c\210\315	@\316\261\210\317\3208\n\fT
$\210	A)\202)\207" [section nodes node-list node level curr-file "Top" assoc 2 nil "\n" make-string 9 "*Note " ":: \n" Info-toc-insert 3] 5 (#$ . 62901)])
#@67 Build table of contents from menus of Info FILE and its subfiles.
(defalias 'Info-toc-build #[(file) "\306\307!rq\210\310\216	;\205\311	!\211;\203\312	!\206\n	;\205&	\313\314\211-\2047-\203k\315 \210\316\206B-@!\210eb\210\317\320\314\321#\203*\317\322\314\321#\203*\323\324 !.\212\317\325\314\326#)\206hd\327Z/\330\331\332 P/\326#\205{\333\334!0\3351\31420\203\223\336\3370\"\203\223\3140\340.	\"\204\f\330\341/\326#\203\f\334y\210\342 \210.\335\232\203\273\212\330\343\314\326#)\206\275//`/W\203\f\344\345!\203\361\342 \210\327u\210\323\346 !\21132B2.\335\232\203\35531D\fB)\202.\335\232\203\344\347!\203\333\334!1\334y\210\342 \210\202\277.0\350.\f\"\2114A@)2\237F
B/b\210-\202G\203c\212eb\210\317\351\314\326#\203X\212\317\325\314\326#)/\330\352/\326#\203W\333\334!-B-\202C)-\237-\314)\202.-A-\202.\353\354!\210
\237.	\207" [#1=#:temp-buffer file default-directory main-file sections nodes generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) Info-find-file file-name-directory (("Top" "Top")) nil erase-buffer info-insert-file-contents search-forward "\n\nFile:" move "Node: " substring-no-properties Info-following-node-name "\n" t 2 re-search-forward "Up:" Info-following-node-name-re match-string-no-properties 1 "Top" string-match "(" Info-index-node "^\\* Menu:" beginning-of-line "^[ 	-]*The Detailed Node Listing" looking-at "^\\* +[^:]+:" Info-extract-menu-node-name "^\\([^ 	\n*=.-][^:\n]*\\)" assoc "\n\nIndirect:" "^\\(.*\\): [0-9]+$" message "" subfiles nodename bound upnode section menu-items menu-node-name x] 6 (#$ . 63301)])
#@179 Return a node list of Info FILENAME with parent-children information.
This information is cached in the variable `Info-toc-nodes' with the help
of the function `Info-toc-build'.
(defalias 'Info-toc-nodes #[(filename) "\304\305\306\206	\307#\"\206K\204	\310\n\"\204F;\203'\311!\2031\307B\nB\211\204F\312!B\nB)\204F\307B\nB\310\n\"A\207" [filename Info-current-file Info-toc-nodes nodes Info-virtual-call Info-virtual-fun toc-nodes nil assoc Info-virtual-file-p Info-toc-build] 5 (#$ . 65004)])
#@282 Follow cross reference named FOOTNOTENAME to the node it refers to.
FOOTNOTENAME may be an abbreviation of the reference name.
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-follow-reference #[(footnotename &optional fork) "\204\306\307!\210\310\211\311\312!P\313\314\315\n#\211\2031\n\316O\317\nT\310OQ\320\\\202\212\321\322!\204b\323\322!\203D\316\224b\204b\212`\324\\b\210\325\322\310\313#\210\321\n!)\203b`\316\225X\203b\316\224b\210\212\326\n\310\313#\205o\316\224\324\\)\212\325\n\310\313#\205}\316\224\324\\)\211\203\241
\203\241\327`Z!\327
`Z!W\203\235\202\256
\202\256\206\256
\206\256\330\331\"b\210\332\313!+\314\317\f#\211\203\321\f\316O\315\f\316\225\310OQT\202\265\333\f\",\207" [footnotename case-fold-search str i target prev-ref error "No reference was specified" nil "\\*note " regexp-quote t string-match " " 0 "[ 	\n]+" 6 looking-at "\\*note[ \n	]+" looking-back 5 re-search-backward re-search-forward abs user-error "No cross-reference named %s" Info-extract-menu-node-name Info-goto-node next-ref fork] 6 (#$ . 65532) (byte-code "\306\211\307\211\211`\307\211\211\211\212\310 \311 eb\210\312\313\307\306#\203\230\314\315!\204C\316\224\fX\203C\f`X\203C\306
\204V	\316\224X\203V`X\203V\306\316\317\320\n#\211\203t\316\nO\321\316\225\307OQ\nT\202X\306=\203~
\306=\203\206\322\306#\204\"B\202\")\204\241
G\315=\203\256@\203\335\323\203\301\324\325Q\202\302\326\307\306$\211\327\232\203\324\202\326)D\202\340\330\331!.\n\207" [eol bol i str start-point alt-default t nil line-end-position line-beginning-position re-search-forward "\\*note[ \n	]+\\([^:]*\\):" match-string-no-properties 1 0 string-match "[ \n	]+" " " assoc-string completing-read "Follow reference named (default " "): " "Follow reference named: " "" user-error "No cross-references in this node" default completions case-fold-search completion-ignore-case input current-prefix-arg] 11)])
#@184 Regexp that matches a menu entry name upto but not including the colon.
Because of ambiguities, this should be concatenated with something like
`:' and `Info-following-node-name-re'.
(defconst Info-menu-entry-name-re "\\(?:[^:]\\|:[^:,.;() 	\n]\\)*" (#$ . 67680))
(defalias 'Info-extract-menu-node-name #[(&optional multi-line index-node) "\304\305w\210\306\307\310	\203\311\202\n\203\312\202\313!\314	\203#\315\202$\316\260!\205\\	\203C\317\224\203;\320\321\317!!\202B\322\323\224\324\224S\"\325\326\327\330\331!\316\232\204T\330\331!\206[\322\323\224\324\224S\"#\207" [Info-menu-entry-name-re index-node multi-line Info-point-loc " 	\n" nil looking-at ":\\(:\\|" Info-following-node-name-re "^,	\n" "^.,	" "^.,	\n" "\\)" "\\.\\(?:[ 	\n]+(line +\\([0-9]+\\))\\)?" "" 5 string-to-number match-string buffer-substring-no-properties 0 1 replace-regexp-in-string "[ \n]+" " " match-string-no-properties 2] 6])
(defvar Info-complete-next-re nil)
(defvar Info-complete-nodes nil)
(defvar Info-complete-cache nil)
#@63 Regexp to match the text after a : until the terminating `.'.
(defconst Info-node-spec-re (byte-code "\300\301!\302P\207" [Info-following-node-name-re "^.,:" "[,:.]"] 2) (#$ . 68713))
(defalias 'Info-complete-menu-item #[(string predicate action) "rq\210\212\306\211	\307eb\210\310\311!\210\"\242\312=\203 \307\202\"\313=\2035\314\315\316#!\317Q\307\306#\202\320\316#!$\321%\260\307&'() @*\232\203\223 A@	\232\203\223\322 8+\232\203\223\323 8&\232\203\223\324 8,\325#\326,G,\326\307\306&)\306=\203\223\327 8(\202\370\314)\307\306#\203\247\330\331!(B(\202\223\332(!(+\203\303\333\334\306\"\211\203\303\335+\n\"\204\324'\203\333'A\211'@\211\203\333\336\n!\210\202\223	\232\204\345\336!\210\337\340!\210*	+#(&\257 \341\"(#-$+.\207" [Info-complete-menu-buffer Info-current-node nextnode orignode case-fold-search completion-ignore-case t nil search-forward "\n* Menu:" boundaries lambda re-search-forward "\n\\* +" regexp-quote ":" "\n\\* +\\(" "\\):" 2 5 3 compare-strings 0 4 match-string-no-properties 1 delete-dups Info-extract-pointer "next" string-match Info-goto-node make-local-variable Info-complete-cache complete-with-action action string Info-menu-entry-name-re Info-node-spec-re Info-complete-nodes complete-nodes completions pattern Info-current-file Info-complete-next-re prev predicate] 9])
#@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	;\203	\202\"\207" [menu-item fork Info-goto-node Info-extract-menu-item] 3 (#$ . 70101) (let ((default nil) (p (point)) beg (case-fold-search t)) (save-excursion (goto-char (point-min)) (if (not (search-forward "\n* menu:" nil t)) (user-error "No menu in this node")) (setq beg (point)) (and (< (point) p) (save-excursion (goto-char p) (end-of-line) (if (re-search-backward (concat "\n\\* +\\(" Info-menu-entry-name-re "\\):") 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\303eb\210\304\305\306\303#\204\307\310!\210\311\312\313Q\306\303#\2041\311\312P\306\303#\2041\307\314!\210\315 \210\316u\210\317\306\320 \"+\207" [menu-item case-fold-search regexp-quote t search-forward "\n* menu:" nil user-error "No menu in this node" re-search-forward "\n\\* +" ":" "No such item in menu" beginning-of-line 2 Info-extract-menu-node-name Info-index-node] 4])
(defalias 'Info-extract-menu-counting #[(count &optional no-detail) "\304\212\304	\205\305\306\307\304#\205\310\224eb\210\311\312\n\304#\204#\313\314!\210\2037\311\315\n\304$\204?\316\317!\210\202?\311\315\n\304#\2047\320\307\321 \",\207" [case-fold-search no-detail bound count t re-search-forward "^[ 	-]*The Detailed Node Listing" nil 0 search-forward "\n* menu:" user-error "No menu in this node" "\n* " error "Too few items in menu" Info-extract-menu-node-name Info-index-node] 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 (#$ . 72347) nil])
#@34 Go to the Top node of this file.
(defalias 'Info-top-node #[nil "\300\301!\207" [Info-goto-node "Top"] 2 (#$ . 72600) nil])
#@36 Go to the final node in this file.
(defalias 'Info-final-node #[nil "\302\303!\210\304\305\302\306\304\305\"!\210\307\305\211\211#\204\310 ?\2050\212\311\312\304\305#)\2050\302\306\304!!\210\202*\207" [case-fold-search Info-history Info-goto-node "Top" nil t Info-extract-menu-counting Info-forward-node Info-index-node search-forward "\n* Menu:"] 4 (#$ . 72730) nil])
#@69 Go forward one node, considering all nodes as forming one sequence.
(defalias 'Info-forward-node #[(&optional not-down not-up no-error) "eb\210\306y\210\307	\204%\212\310\311\312\307#)\203%\313 \204%\314\315\306!!\210\307\202|\212\316\317\312\307#)\2036\320 \210\307\202|\n\204p\212\316\321\312\307#)\203p\322\323!\227\324\230\204p\325 \210
\312\326\216\327\307\312#)\205l\211+\202|\203y\312\202|\330\331!)\207" [case-fold-search not-down not-up Info-current-node old-node Info-history 1 t search-forward "\n* menu:" nil Info-index-node Info-goto-node Info-extract-menu-counting 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 user-error "No pointer forward from this node" success old-history no-error Info-history-skip-intermediate-nodes] 4 (#$ . 73113) nil])
#@70 Go backward one node, considering all nodes as forming one sequence.
(defalias 'Info-backward-node #[nil "\306\307\310\"\306\311\310\"\310	\203\312\313	\"\203\314\315!\202a	\2032\n\203-\n\227	\227\230\2032\316 \202a\n\203^\317 \210\320 \204S\212\321\322\323\310#)\203S\324\325\323!!\210\202;
\205Z\f\211)\202a\314\326!+\207" [case-fold-search upnode prevnode Info-history old-history Info-history-skip-intermediate-nodes Info-extract-pointer "prev[ious]*" t "up" string-match "(" user-error "First node in file" Info-up Info-prev Info-index-node search-forward "\n* Menu:" nil Info-goto-node Info-extract-menu-counting "No pointer backward from this node"] 4 (#$ . 74040) 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 (#$ . 74745) nil])
#@39 Go to the node of the next menu item.
(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 user-error "No more items in menu"] 5 (#$ . 74923) nil])
#@43 Go to the node of the previous menu item.
(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* " user-error "No previous items in menu" Info-goto-node 0 Info-extract-menu-node-name] 5 (#$ . 75279) nil])
(defalias 'Info-no-error '(macro . #[(&rest body) "\301\302\303\304\305\"B\306BBB\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 "\303\304\305\217\206)\303\306\307\217\206)\303\310\311\217\203&db\210\312 \210\n\205$	\211)\207\313\314!\207" [Info-history old-history Info-history-skip-intermediate-nodes 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 user-error "No more nodes"] 3 (#$ . 75814) nil])
#@59 Go to the last node, popping up a level if there is none.
(defalias 'Info-last-preorder #[nil "\203\305\306\307\217\203	\305\310\311\217\204
\203\n)\312\313!\207\305\314\315\217\203L\316\317!\316\320!\232\204L\305\321\322\217\210db\210	\305\323\324\217\204:\203G\n)\312\313!\207\305\325\326\217\203deb\210\327\330\331\305\327#\206bdb)\207\332\333!\207" [Info-scroll-prefer-subnodes Info-history old-history Info-history-skip-intermediate-nodes 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:" user-error "No previous nodes"] 4 (#$ . 76354) 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 (#$ . 77358) nil])
#@78 Scroll one screenful forward in Info, using the mouse.
See `Info-scroll-up'.
(defalias 'Info-mouse-scroll-up #[(e) "\303 r\304\216\305	!\203\306\307	!\211@)!\210\310 +\207" [save-selected-window--state e position internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) eventp select-window event-start Info-scroll-up] 4 (#$ . 78615) "e"])
#@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 eb\210\311\312	\307#)\211\2046\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 line-beginning-position search-forward "\n* Menu:" pos-visible-in-window-p nil Info-last-preorder scroll-down] 5 (#$ . 79016) nil])
#@81 Scroll one screenful backward in Info, using the mouse.
See `Info-scroll-down'.
(defalias 'Info-mouse-scroll-down #[(e) "\303 r\304\216\305	!\203\306\307	!\211@)!\210\310 +\207" [save-selected-window--state e position internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) eventp select-window event-start Info-scroll-down] 4 (#$ . 79750) "e"])
#@67 Move cursor to the next cross-reference or menu item in the node.
(defalias 'Info-next-reference #[(&optional recur) "\304`\305m\204
\306u\210\307\n\310\305#\204'eb\210\307\n\310\305#\204'	b\210\311\312!\210\306\224\206.\313\224b\210\314\315!\203F\203@\311\312!\202N\316\305!\202N\314\317!\205N\320u+\207" [case-fold-search old-pt pat recur "\\*note[ \n	]+\\([^:]+\\):\\|^\\* .*:\\|[hf]t?tps?://" t 1 re-search-forward nil user-error "No cross references in this node" 0 looking-at "\\* Menu:" Info-next-reference "^\\* " 2] 4 (#$ . 80157) 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\224\206'\313\224b\210\314\315!\203?\2039\310\311!\202G\316\305!\202G\314\317!\205G\320u+\207" [case-fold-search old-pt pat recur "\\*note[ \n	]+\\([^:]+\\):\\|^\\* .*:\\|[hf]t?tps?://" t re-search-backward nil user-error "No cross references in this node" 1 0 looking-at "\\* Menu:" Info-prev-reference "^\\* " 2] 4 (#$ . 80722) nil])
#@434 Return a list of names of all index nodes in Info FILE.
If FILE is omitted, it defaults to the current Info file.
First look in a list of cached index node names.  Then scan Info
file and its subfiles for nodes with the index cookie.  Then try
to find index nodes starting from 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".
(defalias 'Info-index-nodes #[(&optional file) "\204	\306\n\"\204\234;\203\307!\203\"\310B\nB\211\204\234\311!\203f;\2037\312\313!\211!\2068\310\211\310\310\211\310\314\315\217\210\203_\237B\nB.\202\223\316\310\211\211\211\211\211\310\317\320\217\210\203\217\237B\nB.\204\234\310B\nB\306\n\"A\207" [file Info-current-file Info-index-nodes default-directory Info-history Info-history-list assoc Info-virtual-file-p nil Info-file-supports-index-cookies file-name-directory Info-find-file (byte-code "\305\306!rq\210\307\216	\204\n\203t\310 \210\311	\206\n@!\210eb\210\312\313\314\315#\203;\212\316\317!\210\312\320!\210\321 B)\202!	\203n\212eb\210\312\322\314\323#\203e\212\312\324\314\323#)\325\326\f\323#\203d\327\330!\nB\202S)\n\237\314)\202\n\nA\202\n+\314\207" [#1=#:temp-buffer main-file subfiles nodes bound generate-new-buffer #3=" *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) erase-buffer info-insert-file-contents search-forward "[index]" nil move re-search-backward "^" "Node: " Info-following-node-name "\n\nIndirect:" t "\n" re-search-forward "^\\(.*\\): [0-9]+$" match-string-no-properties 1] 4) ((error)) t (byte-code "\304\305!rq\210\306\216\307 \210\310	\311\"\210\312\313\314\315#\203J\316\317\314\315#\203J\320\224b\210\321 C\322\n@!\210\323\324\315\"\211\203J\325\326\"\203J\nB\322!\210\202/+\314\207" [#2=#:temp-buffer file nodes node generate-new-buffer #3# ((byte-code "\301!\203\n\302!\210\301\207" [#2# buffer-name kill-buffer] 2)) Info-mode Info-find-node "Top" search-forward "\n* menu:" nil t re-search-forward "\n\\* \\(.*\\<Index\\>\\)" 1 Info-extract-menu-node-name Info-goto-node Info-extract-pointer "next" string-match "\\<Index\\>"] 4) ((error)) Info-fontify-maximum-menu-size main-file subfiles nodes node Info-point-loc case-fold-search] 8 (#$ . 81277)])
#@138 Return non-nil value if NODE is an index node.
If NODE is nil, check the current Info node.
If FILE is nil, check the current Info file.
(defalias 'Info-index-node #[(&optional node file) "\204	\n\203\n\232\203\306\f\"\203%
\204%\n\206 \304!\235\207\307 \310\216\311!\203T\212\212\312\313\314\315#)\206=e\316\\b\210\317\320\212\317\313\314\315#)\206Nd\315#)\202`\321\322\n\206_\206_\323\"*\207" [file Info-current-file node Info-current-node Info-index-nodes Info-current-node-virtual assoc match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) Info-file-supports-index-cookies search-backward "\n" nil t 2 search-forward "[index]" string-match "\\<Index\\>" "" save-match-data-internal] 6 (#$ . 83674)])
#@29 Go to the first index node.
(defalias 'Info-goto-index #[nil "\301 @\211\204\f\302\303!\210\304!)\207" [node Info-index-nodes error "No index" Info-goto-node] 3 (#$ . 84458)])
#@342 Look up a string TOPIC in the index for this manual and go to that entry.
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 \<Info-mode-map>\[Info-index-next] command to see the other matches.
Give an empty topic name to go to the Index node itself.
(defalias 'Info-index #[(topic) "\306\232\203\n\307\310!\210	;\203#	G\311V\203#	\311H\312U\203#	\313\314O\n\315\316\317	!\"\314\320 \321!\"#$\322 \210	\323\232\206\300\314\211\211\211%&'(eb\210\324#\314\321#\203q\325\313!\325\326!\n\327\330\331\332!P!F(B(\202Q!A\211!@\211\"\203\206\333\"!\210\202N(\204\225\333$!\210\334\335	\"\210\336	(\"\211%\203\262%'B'\337%(\"(\202\225
'(\237\244)\340\311!,.\207" [Info-current-file topic Info-current-node Info-history-list case-fold-search ohist-list "dir" error "The Info directory node has no index; use m to select a manual" 0 58 1 nil format "\n\\* +\\([^\n]*%s[^\n]*\\):[ 	]+\\([^\n]*\\)\\.\\(?:[ 	\n]*(line +\\([0-9]+\\))\\)?" regexp-quote Info-index-nodes t Info-goto-index "" re-search-forward match-string-no-properties 2 string-to-number "0" match-string 3 Info-goto-node user-error "No `%s' in index" assoc delq Info-index-next nodes node pattern orignode found Info-history exact matches Info-index-alternatives] 8 (#$ . 84644) (list (let ((completion-ignore-case t) (Info-complete-menu-buffer (clone-buffer)) (Info-complete-nodes (Info-index-nodes)) (Info-history-list nil)) (if (equal Info-current-file "dir") (error "The Info directory node has no index; use m to select a manual")) (unwind-protect (save-current-buffer (set-buffer Info-complete-menu-buffer) (Info-goto-index) (completing-read "Index topic: " 'Info-complete-menu-item)) (kill-buffer Info-complete-menu-buffer))))])
#@89 Go to the next matching index item from the last \<Info-mode-map>\[Info-index] command.
(defalias 'Info-index-next #[(num) "\204\304\305!\210	\306W\203	G\\\211\202		\306V\203+A@C\244	S\211\202\307@A@!\210\310@8\306V\203F\310@8\311Zy\210\202R\310y\210@@\312\n!\210)\313\314@@\311@8A\203o\315\316G\317\320\321\322#!#\202p\323$\207" [Info-index-alternatives num name overriding-local-map user-error "No previous `i' command" 0 Info-goto-node 3 2 Info-find-index-name message "Found `%s' in %s.  %s" format "(%s total; use `%s' for next)" key-description where-is-internal Info-index-next t "(Only match)"] 13 (#$ . 86476) "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#\204U\303\304\310\306	!\"\307\302#\204U\311\304\312	\"\307\302#\204U\313\314	\"\203=\311\304\312	\315\316\224O\"\307\302#\204U\311	\307\302#\204U\313\317	\"\203\\\320\321\316	\"!\203\\\322 \210\302\202^eb)\207" [case-fold-search name t re-search-forward format "[a-zA-Z]+: %s\\( \\|$\\)" regexp-quote nil "[a-zA-Z]+: [a-zA-Z0-9_ *&]+ %s\\( \\|$\\)" search-forward "`%s'" string-match "\\`.*\\( (.*)\\)\\'" 0 1 "\\`\\(.*\\) <[0-9]+>\\'" Info-find-index-name match-string beginning-of-line] 6 (#$ . 87136)])
(add-to-list 'Info-virtual-nodes '("\\`\\*Index.*\\*\\'" (find-node . Info-virtual-index-find-node) (slow . t)))
#@268 Alist of cached matched index search nodes.
Each element is ((FILENAME . TOPIC) MATCHES) where
FILENAME is the file name of the manual,
TOPIC is the search string given as an argument to `Info-virtual-index',
MATCHES is a list of index matches found by `Info-index'.
(defvar Info-virtual-index-nodes nil (#$ . 87918))
#@54 Index-specific implementation of `Info-find-node-2'.
(defalias 'Info-virtual-index-find-node #[(filename nodename &optional _no-going-back) "\306\307\"\203\310\311\"\312\n\206	B\f\"A\313\314\n\206#c\210\315c\210\316c\210\317	\320\261\210\321c\210
\204;\322c\202}\323c\210
\324!\211\"\205|\"@!\313\325\313\326!@\327!8#!A@\330!8\203n\313\331\330!8\"\202o\332$c\210\"A\211\"\204H\324**\207\333\f!#\313\334\n\206\213#c\210\315c\210\316c\210\335\336\261\210\323c\210#\324$\211\"\205\323\"@\211$@@\n\206\265\232\203\311\313\337\313\340$@A\"$@A#c\210\"A\211\"\204\250\324+\207" [nodename topic filename Info-current-file Info-virtual-index-nodes matches string-match "^\\*Index for `\\(.+\\)'\\*$" match-string 1 assoc format "\n\nFile: %s,  Node: %s,  Up: *Index*\n\n" "Info Virtual Index\n" "******************\n\n" "Index entries that match `" "':\n\n" "[index]\n" "No matches found.\n" "* Menu:\n\n" nil "* %-38s %s.%s\n" "%s [%s]:" 2 3 " (line %s)" "" reverse "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "This is a list of search results produced by\n" "`Info-virtual-index' for the current manual.\n\n" "* %-20s %s.\n" "*Index for `%s'*::" entry --dolist-tail-- nodes nodeinfo] 9 (#$ . 88242)])
#@215 Show a node with all lines in the index containing a string TOPIC.
Like `Info-index' but displays a node with index search results.
Give an empty topic name to go to the node with links to previous
search results.
(defalias 'Info-virtual-index #[(topic) "\306\232\203\307	\310\"\207\311	B\n\"\2042\f\312!\210	BB\nB
\313!\210\314\306!\210*\307	\315\316\"\"\207" [topic Info-current-file Info-virtual-index-nodes Info-current-node Info-history-list ohist-list "" Info-find-node "*Index*" assoc Info-index Info-goto-node message format "*Index for `%s'*" orignode Info-index-alternatives] 5 (#$ . 89495) (list (let ((completion-ignore-case t) (Info-complete-menu-buffer (clone-buffer)) (Info-complete-nodes (Info-index-nodes)) (Info-history-list nil)) (if (equal Info-current-file "dir") (error "The Info directory node has no index; use m to select a manual")) (unwind-protect (save-current-buffer (set-buffer Info-complete-menu-buffer) (Info-goto-index) (completing-read "Index topic: " 'Info-complete-menu-item)) (kill-buffer Info-complete-menu-buffer))))])
(add-to-list 'Info-virtual-files '("\\`\\*Apropos\\*\\'" (toc-nodes . Info-apropos-toc-nodes) (find-file . Info-apropos-find-file) (find-node . Info-apropos-find-node) (slow . t)))
#@69 Info file name of the virtual manual for matches of `info-apropos'.
(defvar Info-apropos-file "*Apropos*" (#$ . 90758))
#@287 Alist of cached apropos matched nodes.
Each element is (NODENAME STRING MATCHES) where
NODENAME is the name of the node that holds the search result,
STRING is the search string given as an argument to `info-apropos',
MATCHES is a list of index matches found by `Info-apropos-matches'.
(defvar Info-apropos-nodes nil (#$ . 90885))
#@54 Apropos-specific implementation of `Info-toc-nodes'.
(defalias 'Info-apropos-toc-nodes #[(filename) "\303\304\305!\"\n\306\307\211	F\303\310	\")BB\207" [Info-apropos-nodes nodes filename mapcar car reverse "Top" nil #[(node) "\301B\207" [node ("Top" nil nil)] 2]] 5 (#$ . 91222)])
#@54 Apropos-specific implementation of `Info-find-file'.
(defalias 'Info-apropos-find-file #[(filename &optional _noerror) "\207" [filename] 1 (#$ . 91512)])
#@56 Apropos-specific implementation of `Info-find-node-2'.
(defalias 'Info-apropos-find-node #[(_filename nodename &optional _no-going-back) "\306\232\203?\307	!\310\311#c\210\312c\210\313c\210\314c\210\315c\210\n\316\211\205=
@\310\317\310\320\f@\"\fA@#c\210
A\211\204%\316+\207\321	\"\322\f8\211\205\263\310\323#c\210\312c\210\313c\210\324\fA@\325\261\210\326c\210\327=\203q\330c\202\263\315c\210\316\211\205\262
@\310\331\310\332A@@#@\3228\3338\203\246\310\334\3338\"\202\247\335%c\210
A\211\204~\316**\207" [nodename Info-apropos-nodes nodes Info-apropos-file nodeinfo --dolist-tail-- "Top" reverse format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "Apropos Index\n" "*************\n\n" "This is a list of search results produced by `info-apropos'.\n\n" "* Menu:\n\n" nil "* %-20s %s.\n" "%s::" assoc 2 "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Index entries that match `" "':\n\n" "[index]\n" t "No matches found.\n" "* %-38s (%s)%s.%s\n" "%s [%s]:" 3 " (line %s)" "" matches entry] 10 (#$ . 91673)])
#@171 Collect STRING matches from all known Info files on your system.
Return a list of matches where each element is in the format
((FILENAME INDEXTEXT NODENAME LINENUMBER)).
(defalias 'Info-apropos-matches #[(string) "\306\230?\205\226\307\310\311!\"	\n\f\312\211\211\211 !\"\312#\313 \210\2047\f\314\315!\210eb\210\316\317\312\320#\210\316\321\312\320#\203V\322\323\324\325!\"\210\202D\237\312$\211%\203{%@$\314\326$\"\210\327\330\331\217\210%A\211%\204b+\332\"\210! \314\333!\210\237\206\224\320.	\207" [string Info-history Info-history-list Info-current-node Info-current-file nodes "" format "\n\\* +\\([^\n]*%s[^\n]*\\):[ 	]+\\([^\n]+\\)\\.\\(?:[ 	\n]*(line +\\([0-9]+\\))\\)?" regexp-quote nil Info-directory message "Searching indices..." re-search-forward "\\* Menu: *\n" t "\\*.*: *(\\([^)]+\\))" add-to-list manuals match-string 1 "Searching %s" err (byte-code "\305\306!!\211\203?\212\307	@\"\210eb\210\310\n\311\312#\203-\313\314!\313\315!\313\316!FB\202	A\211@\211\203>\317\f!\210\202)\311\207" [manual nodes pattern matches node Info-index-nodes Info-find-file Info-find-node re-search-forward nil t match-string-no-properties 1 2 3 Info-goto-node] 6) ((error (byte-code "\301\302\242\303=\203A@\202\"\210\304\305\306\"\207" [err message "%s" error sit-for 1 t] 4))) Info-find-node "Searching indices...done" node matches current-file current-node ohist-list ohist pattern Info-fontify-maximum-menu-size manual --dolist-tail--] 10 (#$ . 92733)])
#@105 Grovel indices of all known Info files on your system for STRING.
Build a menu of the possible matches.
(defalias 'info-apropos #[(string) "\305\232\203\306	\307\"\207\n\310\203#@A@\232\204#A\211\204\2030\306	@@\"\202B\311\312\"\211\313!E\nB\306	\f\"*\207" [string Info-apropos-file Info-apropos-nodes nodes nodename "" Info-find-node "Top" nil format "Index for `%s'" Info-apropos-matches] 5 (#$ . 94269) "sIndex apropos: "])
(add-to-list 'Info-virtual-files '("\\`\\*Finder.*\\*\\'" (find-file . Info-finder-find-file) (find-node . Info-finder-find-node)))
#@59 Info file name of the virtual Info keyword finder manual.
(defvar Info-finder-file "*Finder*" (#$ . 94857))
#@53 Finder-specific implementation of `Info-find-file'.
(defalias 'Info-finder-find-file #[(filename &optional _noerror) "\207" [filename] 1 (#$ . 94971)])
#@55 Finder-specific implementation of `Info-find-node-2'.
(defalias 'Info-finder-find-node #[(_filename nodename &optional _no-going-back) "\306\307!\210\310\232\203H\311\312	#c\210\313c\210\314c\210\315c\210\316\317\n\"\320\211\205F\f@\211@\311\321\322
!\323\324\322
!\325\260A#c\210)\fA\211\204%\320*\207\326\232\203d\311\327	#c\210\330c\210\331c\210\315c\210\332\333\334 \"\207\335\232\203\260\311\327	#c\210\336c\210\337c\210\315c\210\320@A\320B\211\205\256\f@\211B\243@\340@!\203\246\311\341\322B@!\342P@\343H#c\210\fA\211\204\207\320+\207\344\345\"\203\\\346\225\320O\311\347	#c\210\350c\210\314c\210\351\352\261\210\315c\210\353\354\355\320CDE\356F\344EDC#,\203\365\357\360\356#\202\367C\"\320\211@G\211H\320\211\203\f@\361\362
I\"!GBG\fA\211\204*\363\364\316G\"!\211G\320B\211\205Z\f@\211BA\236\243@\340@!\203R\311\341\322B!\342P@\343H#c\210\fA\211\2041\320-\207\311\327	#c\210\365c\210\366c\210\367\352\261\210\370\371!!\211J\204\372c\202\273\373\374!KrKq\210\375\216Jc\210eb\210\376 \210db\210\376 \210eb\210\377\201L\320\356#\203\265\201M\201N\320\211#\210\202\236\201O +c)\207" [nodename Info-finder-file finder-known-keywords assoc --dolist-tail-- keyword require finder "Top" format "\n\nFile: %s,  Node: %s,  Up: (dir)\n\n" "Finder Keywords\n" "***************\n\n" "* Menu:\n\n" append ((all . "All package info") (unknown . "Unknown keywords")) nil "* %s %s.\n" symbol-name ": " "Keyword " "." "Keyword unknown" "\n\nFile: %s,  Node: %s,  Up: Top\n\n" "Finder Unknown Keywords\n" "***********************\n\n" mapc #[(assoc) "\301\302\303@!\304\305\303@!\306\260A#c\207" [assoc format "* %-14s %s.\n" symbol-name ": " "Keyword " "."] 7] finder-unknown-keywords "Keyword all" "Finder Package Info\n" "*******************\n\n" vectorp "* %-16s %s.\n" "::" 2 string-match "\\`Keyword " 0 "\n\nFile: %s,  Node: Keyword %s,  Up: Top\n\n" "Finder Packages\n" "The following packages match the keyword `" "':\n\n" mapcar intern "," t split-string ",[ 	\n]*" copy-tree gethash delete-dups apply "Finder Commentary\n" "*****************\n\n" "Commentary section of the package `" lm-commentary find-library-name "Can't find any Commentary section\n\n" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) delete-blank-lines re-search-forward desc package--builtins package start string regexp inhibit-changing-match-data hits keywords finder-keywords-hash str #1# "^;+ ?" replace-match "" buffer-string] 8 (#$ . 95130)])
#@267 Display descriptions of the keywords in the Finder virtual manual.
In interactive use, a prefix argument directs this command to read
a list of keywords separated by comma.  After that, it displays a node
with a list of packages that contain all specified keywords.
(defalias 'info-finder #[(&optional keywords) "\302\303!\210\203\304	\305\306\307#\"\207\304	\310\"\207" [keywords Info-finder-file require finder Info-find-node mapconcat identity ", " "Top"] 6 (#$ . 97734) (byte-code "\205\302\303!\210\304\305\306\307\306\310\311	\312 \"\"\"\313\314$C\207" [current-prefix-arg finder-known-keywords require finder completing-read-multiple "Keywords (separated by comma): " mapcar symbol-name car append finder-unknown-keywords nil t] 9)])
#@36 Make command be undefined in Info.
(defalias 'Info-undefined #[nil "\300 \207" [ding] 1 (#$ . 98488) 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 (#$ . 98601) nil])
#@47 Display a brief summary of all Info commands.
(defalias 'Info-summary #[nil "\305 \306\216\307\310!\210\311\312 \210\313\314!c\210\315 \210eb\210\311\211\316d!?\317\n\203+\320\202,\321!\210\322 \211\323=\204=C\202G\n\203G\324 \210\202*\325\310!*\207" [#1=#:wconfig buffer-read-only flag ch unread-command-events current-window-configuration ((set-window-configuration #1#)) 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 (#$ . 98825) nil])
#@500 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 (#$ . 99444)])
#@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-follow-nearest-node 1 Info-next-preorder] 2 (#$ . 100521) "e"])
#@317 Follow a node reference near point.
If point is on a reference, follow that reference.  Otherwise,
if point is in a menu item description, follow that menu item.

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-follow-nearest-node #[(&optional fork) "\303!\206J\212\304\305\306\307#)\2039\212\310 \210o\204%\311\312!\204%\310\313!\210\202\311\314!\2055\315\316\317\320!!\"\210\307)\206J	\321=\203G\322\n!\323=\206J\324\325!\207" [fork this-command last-input-event Info-try-follow-nearest-node search-backward "\n* menu:" nil t beginning-of-line looking-at "[^ 	]\\|[ 	]*$" 0 "\\* +\\([^	\n]*\\):" Info-goto-node Info-extract-menu-item match-string-no-properties 1 Info-mouse-follow-nearest-node event-basic-type mouse-1 user-error "Point neither on reference nor in menu item description"] 4 (#$ . 100970) "P"])
#@122 Follow a node reference near point.  Return non-nil if successful.
If FORK is non-nil, it is passed to `Info-goto-node'.
(defalias 'Info-try-follow-nearest-node #[(&optional fork) "\302\303`\304\305#\211\203\306!\210\307\202\232\303`\310\311#\211\203'\312	\"\210\202\232\303`\313\314#\211\2039\315	\"\210\202\232\303`\313\316#\203U\317 \210\320u\210\321\302\322 \"\315	\"\210\202\232\303`\323\324#\211\203g\315	\"\210\202\232\303`\325\326#\211\203y\315	\"\210\202\232\303`\327\330#\211\203\213\315\331	\"\210\202\232\303`\332\333#\211\203\232\315	\"\210)\207" [node fork nil Info-get-token "[hf]t?tps?://" "\\([hf]t?tps?://[^ 	\n\"`({<>})']+\\)" browse-url t "\\*note[ \n	]+" "\\*note[ \n	]+\\([^:]*\\):\\(:\\|[ \n	]*(\\)?" Info-follow-reference "\\* +" "\\* +\\([^:]*\\)::" Info-goto-node "\\* +\\(.*\\): " beginning-of-line 2 Info-extract-menu-node-name Info-index-node "Up: " "Up: \\([^,\n	]*\\)" "Next: " "Next: \\([^,\n	]*\\)" "File: " "File: \\([^,\n	]*\\)" "Top" "Prev: " "Prev: \\([^,\n	]*\\)"] 4 (#$ . 101923)])
#@32 Follow a link where you click.
(defalias 'Info-mouse-follow-link #[(click) "\304!\211\205	\305	8)\211\203\306\nA\303\n@#\202:\307	\310	8\2067	A@:\2034	A@@\2027	A@)\303\"\211;\203F\311!\202d\312=\203Q\313 \202d\314=\203\\\315 \202d\316=\205d\317 +\207" [click position posn-string link-args event-start 4 get-text-property get-char-property 5 Info-goto-node prev Info-prev next Info-next up Info-up] 5 (#$ . 102984) "@e"])
#@34 Keymap containing Info commands.
(defvar Info-mode-map (byte-code "\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\315#\210\303\317\320#\210\303\321\320#\210\303\322\320#\210\303\323\320#\210\303\324\320#\210\303\325\320#\210\303\326\320#\210\303\327\320#\210\303\330\320#\210\303\331\332#\210\303\333\334#\210\303\335\336#\210\303\337\340#\210\303\341\342#\210\303\343\344#\210\303\345\305#\210\346\305\347\345#\210\303\350\351#\210\303\352\353#\210\303\354\355#\210\303\356\357#\210\303\360\361#\210\303\362\363#\210\303\364\365#\210\303\366\367#\210\303\370\371#\210\303\372\373#\210\303\374\375#\210\303\376\377#\210\303\201@\201A#\210\303\201B\201C#\210\303\201D\201E#\210\303\201F\201G#\210\303\201H\201I#\210\303\201J\342#\210\303\201K\201L#\210\303\201M\201N#\210\303\201O\201P#\210\303\201Q\201P#\210\303\201R\201N#\210\303\201S\201T#\210\303\201U\201V#\210\303\201W\201X#\210\303\201Y\201Z#\210\303\201[\367#\210\303\201\\\201C#\210)\207" [map make-keymap suppress-keymap define-key "." beginning-of-buffer " " Info-scroll-up "
" Info-follow-nearest-node "	" Info-next-reference "	" Info-prev-reference [backtab] "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" put :advertised-binding "d" Info-directory "e" end-of-buffer "f" Info-follow-reference "g" Info-goto-node "h" Info-help "i" Info-index "I" Info-virtual-index "l" Info-history-back "L" Info-history "m" Info-menu "n" Info-next "p" Info-prev "q" Info-exit "r" Info-history-forward "s" Info-search "S" Info-search-case-sensitively "\356" clone-buffer "t" "T" Info-toc "u" Info-up "w" Info-copy-current-node-name "c" "^" "," Info-index-next "" Info-scroll-down [mouse-2] Info-mouse-follow-nearest-node [follow-link] mouse-face [XF86Back] [XF86Forward]] 4) (#$ . 103437))
#@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 (#$ . 105453)])
#@22 Menu for Info files.
(defvar Info-mode-menu nil (#$ . 105624))
(easy-menu-do-define 'Info-mode-menu Info-mode-map "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"] ["Search Next" Info-search-next :help "Search for another occurrence of regular expression"] ["Go to Node..." Info-goto-node :help "Go to a named node"] ["Back in history" Info-history-back :active Info-history :help "Go back in history to the last node you were at"] ["Forward in history" Info-history-forward :active Info-history-forward :help "Go forward in history"] ["History" Info-history :active Info-history-list :help "Go to menu of visited nodes"] ["Table of Contents" Info-toc :help "Go to table of contents"] ("Index" ["Lookup a String..." Info-index :help "Look for a string in the index items"] ["Next Matching Item" Info-index-next :active Info-index-alternatives :help "Look for another occurrence of previous item"] ["Lookup a string and display index of results..." Info-virtual-index :help "Look for a string in the index items and display node with results"] ["Lookup a string in all indices..." info-apropos :help "Look for a string in the indices of all manuals"]) ["Copy Node Name" Info-copy-current-node-name :help "Copy the name of the current node into the kill ring"] ["Clone Info buffer" clone-buffer :help "Create a twin copy of the current Info buffer."] ["Exit" Info-exit :help "Stop reading Info"]))
(defvar info-tool-bar-map (byte-code "\303 \304\305\306	\307\310\311\312\313\314&\n\210\304\315\310	\307\306\311\316\313\314&\n\210\317\320\n#\210\304\321\322	\307\323&\210\304\324\323	\307\322&\210\304\325\326	\313\314&\210\317\327\n#\210\304\330\331	\313\314&\210\304\332\333	$\210\317\334\n#\210\304\335\336	\311\337&\210\304\340\341	\313\314&\210\304\342\343	\313\314&\210)\207" [map Info-mode-map menu-bar-separator make-sparse-keymap tool-bar-local-item-from-menu Info-history-back "left-arrow" :rtl "right-arrow" :label "Back" :vert-only t Info-history-forward "Forward" define-key-after [separator-1] Info-prev "prev-node" "next-node" Info-next Info-up "up-node" [separator-2] Info-top-node "home" Info-goto-node "jump-to" [separator-3] Info-index "index" "Index" Info-search "search" Info-exit "exit"] 11))
(defvar Info-menu-last-node nil)
#@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?\205p\307\310\311\217\237\307\211&'\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\301\332\333!+\312*\334\335+*#\211*\203\271+\312*O\336+\312\225\307OQ+*T*\202\224+
B\202\204)
\203\355(\313W\203\355
@'
A(T(\337\314'\340'D\341BB\"&B&\202\302
\203\367\342&B&&\204\343\307\323E&\324\344\345&\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 "" nil 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	]+\\([^:]*\\):" match-string 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] 8) ((error (ding)))] 3 (#$ . 108722)])
#@202 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.
With a zero prefix arg, put the name inside a function call to `info'.
(defalias 'Info-copy-current-node-name #[(&optional arg) "\204\304\305!\210	;\205\306\307	!\310R\311\312!!\203\"\313\n\314Q	;\204-\315\316	#\317\n!\210\320\321\n\")\207" [Info-current-node Info-current-file node arg user-error "No current Info node" "(" file-name-nondirectory ") " zerop prefix-numeric-value "(info \"" "\")" format "(Info-find-node '%S '%S)" kill-new message "%s"] 4 (#$ . 109976) "P"])
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put Info-mode mode-class special no-clone-indirect t] 4)
#@35 Syntax table used in `Info-mode'.
(defvar Info-mode-syntax-table (byte-code "\302!\303\304\305	#\210	)\207" [text-mode-syntax-table st copy-syntax-table modify-syntax-entry 39 "."] 4) (#$ . 110715))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [Info-mode-hook variable-documentation put purecopy "Hook run when entering Info mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp Info-mode-map definition-name Info-mode] 5)
(defvar Info-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [Info-mode-map variable-documentation put purecopy "Keymap for `Info-mode'." Info-mode derived-mode-parent nil] 5)
#@3674 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-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.
\[Info-next-reference]	Move cursor to next cross-reference or menu item.
\[Info-prev-reference]	Move cursor to previous cross-reference or menu item.
\[Info-follow-reference]	Follow a cross reference.  Reads name of reference.
\[Info-history-back]	Move back in history to the last node you were at.
\[Info-history-forward]	Move forward in history to the node you returned from after using \[Info-history-back].
\[Info-history]	Go to menu of visited nodes.
\[Info-toc]	Go to table of contents of the current Info file.

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 there 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-search]	Search through this Info file for specified regexp,
	  and select the node in which the next occurrence is found.
\[Info-search-case-sensitively]	Search through this Info file for specified regexp case-sensitively.
\[isearch-forward], \[isearch-forward-regexp]	Use Isearch to search through multiple Info nodes.
\[Info-index]	Search for a topic in this manual's Index and go to index entry.
\[Info-index-next]	(comma) Move to the next match from a previous \<Info-mode-map>\[Info-index] command.
\[Info-virtual-index]	Look for a string and display the index node with results.
\[info-apropos]	Look for a string in the indices of all manuals.
\[Info-goto-node]	Move to node specified by name.
	  You may include a filename as well, as (FILENAME)NODENAME.
1 .. 9	Pick first ... ninth item in node's menu.
	  Every third `*' is highlighted to help pick the right number.
\[Info-copy-current-node-name]	Put name of current Info node in the kill ring.
\[clone-buffer]	Select a new cloned Info buffer in another window.
\[universal-argument] \[info]	Move to new Info file with completion.
\[universal-argument] N \[info]	Select Info buffer with prefix number in the name *info*<N>.

This mode runs the hook `Info-mode-hook', as the final step
during initialization.
(defalias 'Info-mode #[nil "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
8\3159\316\317\320\321\307$\210\307\211:;\306\322!\210\306\323!\210\306\324!\210\306\325!\210\326 \306\327!\210\321\306\330!\210\306\331!\210\306\332!\210<\203W\333=\306\334!\210>\306\335!\210\307\306\336!\210\337\306\340!\210\321 \316\341\342\321\307$\210\316\343\344\321\307$\210\316\345\346\321\307$\210\316\347\350\321\307$\210\306\351!\210\352)\306\353!\210\354+\306\355!\210\356-\306\357!\210\360/\306\361!\210\3621\363 \210\306\364!\210\3654)\366\367!\207" [delay-mode-hooks major-mode mode-name Info-mode-map Info-mode-syntax-table text-mode-abbrev-table make-local-variable t kill-all-local-variables Info-mode "Info" use-local-map set-syntax-table 8 add-hook activate-menubar-hook Info-menu-update nil Info-current-file Info-current-subfile Info-current-node Info-tag-table-marker make-marker Info-tag-table-buffer Info-history Info-history-forward Info-index-alternatives (:eval (get-text-property (point-min) 'header-line)) tool-bar-map line-move-ignore-invisible desktop-save-buffer Info-desktop-buffer-misc-data widen-automatically kill-buffer-hook Info-kill-buffer clone-buffer-hook Info-clone-buffer change-major-mode-hook font-lock-defontify isearch-mode-hook Info-isearch-start isearch-search-fun-function Info-isearch-search isearch-wrap-function Info-isearch-wrap isearch-push-state-function Info-isearch-push-state isearch-filter-predicate Info-isearch-filter revert-buffer-function Info-revert-buffer-function Info-set-mode-line bookmark-make-record-function Info-bookmark-make-record run-mode-hooks Info-mode-hook local-abbrev-table tab-width case-fold-search buffer-read-only Info-use-header-line header-line-format info-tool-bar-map] 6 (#$ . 111524) nil])
(defalias 'Info-kill-buffer #[nil "\302=\205
	\205
\303	!\207" [major-mode Info-tag-table-buffer Info-mode kill-buffer] 2])
(defalias 'Info-clone-buffer #[nil "\303!\203rq\210\304 )	\305\n!\2053\306\n!\203/\303!\203/rq\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) (#$ . 117389))
(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-mode-hooks Info-edit-mode-hook] 2 (#$ . 117670)])
#@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 (#$ . 118192) 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 (#$ . 118579) 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" ("Info" . "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") "calc" ("calcAlg" . "calc") ("calcDigit" . "calc") ("calcVar" . "calc") "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")) (#$ . 119100))
#@508 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), where BUFFERPOS is the line number
in the first element of the returned list (which is treated specially in
`Info-goto-emacs-command-node'), and 0 for the rest elements of a list.
(defalias 'Info-find-emacs-command-nodes #[(command) "\306\211\307\310\311!!\312\313R\314\301N\203\301N\202o
\203n@\211:\2035@\2027:\203EA\202G\306 \315\310!\316Q!\317!\311!\"\203e\306A-\202 )\320	\321\"\210\306\211\211\322 \"#$%\323\"@!\210eb\210\324\n\306\325#\203\252&\326\327!\330E\fB\331\224\205\246\332\333\331!!\202\212\"A\211\"@\211#\203\277\323#!\210\202\207,\203\327\f\203\327\f@@\f@A@E\fAB\202\330\f,\207" [command info-file cmd-desc line-number where Info-file-list-for-emacs nil "^\\* +" regexp-quote symbol-name "\\( <[0-9]+>\\)?:\\s *\\(.*\\)\\." "\\(?:[ 	\n]+(line +\\([0-9]+\\))\\)?" "emacs" "\\`" "\\(\\'\\|-\\)" string-match Info-find-node "Top" Info-index-nodes Info-goto-node re-search-forward t match-string-no-properties 2 0 3 string-to-number match-string file-list elt name file case-fold-search regexp nodes node Info-history-list Info-history Info-current-file] 7 (#$ . 120507)])
#@265 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'.
COMMAND must be a symbol or string.
(defalias 'Info-goto-emacs-command-node #[(command) ";\203	\306!\307!\204\310\311\307D\"\210\312!\211\203\210	G\313 \314\216\315 \210*\f\316=\2044\317\320!\210\321\211\322	@8 !\323	@@	@A@\"\210
\250\203X
\324V\203X
Sy\210+\n\325V\205\204	A!\244!\326\327\nS\n\322V\203t\330\202u\331\332\333!\n\322V\203\202\334\202\203\335%)\202\214\336\337\")\207" [command where num-matches #1=#:wconfig major-mode line-number intern commandp signal wrong-type-argument Info-find-emacs-command-nodes current-window-configuration ((set-window-configuration #1#)) info Info-mode pop-to-buffer "*info*" nil 2 Info-find-node 0 1 message "Found %d other entr%s.  Use %s to see %s." "ies" "y" substitute-command-keys "\\[Info-history-back]" "them" "it" error "Couldn't find documentation for %s" Info-history-list Info-history] 8 (#$ . 122005) "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(\306\307!\203%	\310=\203%\311\312\313!!\202(\311	!)\207" [key command key-binding message "%s is undefined" key-description called-interactively-p interactive execute-extended-command Info-goto-emacs-command-node read-command "Find documentation for command: "] 5 (#$ . 123164) "kFind documentation for key: "])
#@142 Keymap to put on Info links.
This is used for the "Next", "Prev", and "Up" links in the
first line or header line, and for breadcrumb links.
(defvar Info-link-keymap (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\302\312\313#\210)\207" [keymap make-sparse-keymap define-key [header-line down-mouse-1] mouse-drag-header-line [header-line mouse-1] mouse-select-window [header-line mouse-2] Info-mouse-follow-link [mouse-2] [follow-link] mouse-face] 4) (#$ . 123919))
(defalias 'Info-breadcrumbs #[nil "\306!	\307\n\307\310\232\2044\f\311V\2034\312\"A@\211\203.
B\fS\202 \203>
	C\244\210 \204G
\203\316\310
\211A@\313\235\203V
\202Y\307
BB\314y\210
\307\211!\203\311!@\211\310\232\204x\202\207\315\316;\203\205\317!\202\206\"\"\211\204\222\320\202\223\321\204\234\322\202\275	\232\203\254\323\"\324\325#\202\275\323\"\326\327\324\330\331\332\333#\334\"&Q)!A\211!\204h*\335P-\207" [Info-current-file Info-current-node Info-breadcrumbs-depth line depth crumbs Info-toc-nodes nil "Top" 0 assoc (nil "Top") 1 format "(%s)Top" file-name-nondirectory "" " > " "..." propertize font-lock-face info-header-node mouse-face highlight info-header-xref help-echo "mouse-2: Go to node" keymap link-args "\n" node nodes Info-use-header-line --dolist-tail-- text Info-link-keymap] 15])
#@19 Fontify the node.
(defalias 'Info-fontify-node #[nil "\212\306\211\307\310e\311\"\211\205dU?)?
\205&@\205&deZ@WA\307\211BCeb\210\f\203G\312\313!\203G\314\225b\210\312\315!\203\251\314\225b\210\316\224D\316\225E\317\224F\320\317!\211G\227\321\230\203m\322DE\311\323$\210\202\245\322DE\311\324$\210\322FE\325\326$\210\322FE\327\330DE{P$\210\322FE\331H$\210\322FE\332\333G\227!$\210,\202?I\203Geb\210\334 J\335\336J\306#\203\311\317\224b\210`J{\202\337\335\337J\306#\203\333\340`J{P\202\337`J{K\322eeT\341\342\343\344K#$\210L\314V\203\345eJT\"M\346M\347\350 #\210\346M\351\306#\210)\202Fo\204F\352\307x\210\322`J\353\306$\210\354 \210\335\355\356N;\2033\357N!\2025N\"J\306#\203F\322\317\224\317\225\353\306$\210*eb\210O\203\257\f\203\257\335\360\307\306#\203\257\361\320\317!!\361\320\316!!U\203\257h\211P\362U\203v\363\202\215P\364U\203\201\365\202\215P\366U\203\214\367\202\215\370Q\322\317\224\317\225\311Q$\210*\371\372 !\373>\203S\374\316\224S\316\225\375#\210\202Seb\210\f\204\273A\203\273\335\376\307\306#\203\273\314\224`\307RST\f\203\347U\203\262U\377=\204p\201n \201oV\203pTb\210\201p\201q!\210`Sf\201r>\203\201p\201s!\210\201t V\201u\216\201v\201w!*\203!\201x\202n\201t V\201y\216\201v\201z!*\203<\201x\202n`Sf\201{>\203L\201|\202n\201t V\201}\216\212\201~\201T\306#+\203k\201|\202n\201\200RSb\210\374\317\224\201t V\201\201\216\317\224W\201\202\201\203\320\317!\"\205\227W\314\224\\+\206\235\317\225R\203\255\347R\201\204BB\202\260\201\205#\210\374\316\224\316\225\327\201\206\225\204\313\320\201o!\201x\232\204\337\201\207\320\201\206!\206\333\320\201o!P\202\342\201\210\325\326F#\210\f\204\360A\203\316\224B\316\225C\322BC\311
\203\347\201t V\201\211\216\342\201\212\201x\342\201\213\201q\201\214\201\206!\206?\320\201o!\201x\232\204:\201\214\201o!\206?\201\214\316!##X\201\202\201\215X\"\211Y\203^\357\201\214\317X\"!\202`NZ[\\\307]Y\203\211\320\316X\"\201x\232\203\200\201\216\202\207\201\214\316X\"X\\\203\332X\\@A@\230\203\321ZY\203\271\\\211^@@);\203\271\357\\\211^@@)!\202\301\\\211^@@)\232\203\321\\@]\307\211\\\202\213\\A\211\\\204\216].\203\347\201\217\202\352\201\220$\210\212Bb\210\201t V\201\221\216\335\201\222C\306\307$\203\201\223\314\224\314\225\201\224#\210\202\373+\f\203\267U\201\225>\203\242\374\201\226\224\201\226\225\201\227#\210\320\201\230!\203QU\377=\204Q\201\223\201\230\224\201\230\225\201\231#\210\201t V\201\232\216\201\226\224\201\226\225_`\201\202\201\233\320\201\226!\"\203\241\201t V\201\234\216\212_Tb\210\312\201\235!+\204\241\201\223`\314\224\\`\314\225\\\201\236#\210,a\203\267U\203\267\201\237 T\307\223\nB+\202\273\f\203(a\203(\n\203(\306\307\201\240\201\241\307bcdefdb\210\n\307g\211h\203&h@\211g`W\203gb\210\354 \210`i\201\242\201\243 !\203\201\244i`\307\211$\210ib\210)g\307\211\223\210hA\211h\204\350.eb\210\f\2044A\203P\201~\201\245\307\306#\203P@\203Pd`Z@W\203P\314\307jk\335\201\246l\201\247m\201\250\260\307\306#\203O\317\224\203T\f\203\231kT\211k\201\251X\203\231\201\242k\201\226\246!\203\231\322\314\224\314\224T\311\201\252$\210\f\203\312\374\317\224\317\225\327\201\226\225\203\302\320\201\226!\201x\232\204\302\201\207\320\201\226!P\202\305\201\210\325\326F#\210\f\204\323A\203\255\322\317\224\317\225\311
\203\250\201t V\201\253\216\320\201\226!\201x\232\203\373\201\214\317!\202\201\214\201\226!X\201\202\201\215X\"\211Y\203\357\201\214\317X\"!\202!NZ[\\\307]Y\203J\320\316X\"\201x\232\203A\201\216\202H\201\214\316X\"X\\\203\233X\\@A@\230\203\222ZY\203z\\\211^@@);\203z\357\\\211^@@)!\202\202\\\211^@@)\232\203\222\\@]\307\211\\\202L\\A\211\\\204O].\203\250\201\217\202\253\201\220$\210\f\203TU\201\254>\203T\201\255 \204T\322\316\224\201\230\225S\353\306$\210\201o\225\203\360\201o\225f\201\256=\204\360\201\223\201o\224\201o\225\201\257#\210\322\201\230\225S\201\230\225\347\201\260\317\225\314\224ZY\203
\201\261\202\201\262$\210\312\201\263!j\317y\314U\203T\312\201\264!\203T\322\317\224\317\225S\353\306$\210\322\317\225S\317\225\347j\203D\201\265\202G\201\266$\210\306j\202*eb\210\f\203\204\335\201\267\307\306#\203\204\322\314\224\314\225\311\201\270$\210\335\201\271\307\306#\203\204\322\317\224\317\225\311\201\270$\210\202leb\210\f\203\250\201\255 \203\250\335\201\272\307\306#\203\250\322\314\224\314\225\353\306$\210\202\222eb\210\f\203\306\335\201\273\307\306#\203\306\374\314\224\314\225\201\274#\210\202\257db\210\201\203\307x\210`dSW\203\336\322`dS\353\306$\210\201\275\307!.\207" [inhibit-read-only case-fold-search paragraph-markers where not-fontified-p Info-fontify-visited-nodes t nil next-single-property-change font-lock-face looking-at "^\\(File: [^,: 	]+,?[ 	]+\\)?" 0 "[ 	]*\\([^:, 	\n]+\\):[ 	]+\\([^:,	\n]+\\),?" 2 1 match-string "node" put-text-property info-header-node info-header-xref mouse-face highlight help-echo "mouse-2: Go to node " keymap link-args intern line-end-position re-search-forward "\\(next\\|up\\|prev[ious]*\\): " "node:[ 	]*[^ 	]+[ 	]*" "No next, prev or up links  --  " header-line replace-regexp-in-string "%" #[(s) "\211P\207" [s] 2] make-overlay overlay-put display Info-breadcrumbs evaporate " 	," invisible beginning-of-line format "File: %s\\([^,\n	]+\\)," file-name-nondirectory "\n\\([^ 	\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$" string-width 42 info-title-1 61 info-title-2 45 info-title-3 info-title-4 framep selected-frame (x pc w32 ns) add-text-properties (invisible t front-sticky nil rear-nonsticky t) "\\(\\*Note[ \n	]+\\)\\([^:]*\\)\\(:[ 	]*\\([^.,:(]*\\)\\(\\(([^)]*)\\)[^.,:]*\\)?[,:]?\n?\\)" hide Info-fontify-maximum-menu-size fontify-visited-p rbeg rend nbeg nend tbeg tag Info-link-keymap Info-use-header-line header-end header Info-breadcrumbs-depth ov Info-current-file font-lock-mode c face other-tag next start Info-hide-note-references save-match-data-internal start1 node external-link-p file Info-history-list hl res x end3 beg3 Info-refill-paragraphs adaptive-fill-mode paragraph-separate paragraph-start fill-individual-varying-indent fill-nobreak-invisible m --dolist-tail-- beg cont n Info-menu-entry-name-re Info-node-spec-re line-number-at-pos 4 skip-syntax-backward " " (40 91 123) " (" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) looking-back "\\<see" "" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "\\<in" (nil 46 33 63) "See " ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) search-forward "\n\n" "see " ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) string-match "\n" (front-sticky nil rear-nonsticky t) (invisible t front-sticky nil rear-nonsticky t) 5 "mouse-2: go to " "mouse-2: go to this node" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "^[ 	]+" "[ 	\n]+" match-string-no-properties "(\\([^)]+\\))\\([^)]*\\)" "Top" info-xref-visited info-xref ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "\\s-*\n\\s-*" remove-text-properties (font-lock-face t) (t hide) 3 (invisible t front-sticky nil rear-nonsticky t) 6 (invisible t front-sticky nil rear-nonsticky t) ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "\n[ 	]*" ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "[.)]*$" (invisible t front-sticky nil rear-nonsticky t) make-marker "\f\\|[ 	]*[-*]\\|[ 	]*$" ".*\\.[ 	]*\n[ 	]\\|[ 	]*[-*]\\|[ 	\f]*$" zerop forward-paragraph fill-individual-paragraphs "\n* Menu:" "^\\* Menu:\\|\\(?:^\\* +\\(" "\\)\\(:" "\\([ 	]*\\)\\)\\)" 9 info-menu-star ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) (t hide) Info-index-node 46 (invisible t) 22 (space :align-to 24) (space :width 2) "." "\\([ 	]+\\)[^*\n]" (space :align-to 26) (space :align-to 24) "^\\* Menu:" info-menu-header "\n\n\\([^*\n ].*\\)\n\n?[*]" "[ 	\n]*(line +[0-9]+)" "\\(https?\\|ftp\\)://[^ 	\n\"`({<>})']+" (font-lock-face info-xref mouse-face highlight help-echo "mouse-2: go to this URL") set-buffer-modified-p] 13 (#$ . 125313)])
#@44 Keymap used when in the Info display mode.
(defvar Info-speedbar-key-map nil (#$ . 133858))
#@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 (#$ . 133956)])
#@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]+: *.-. "))]) (#$ . 134451))
(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 (#$ . 134959) 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!*?\205k\204\306\311c\210)\312\313\314\315\316\"!\210\317 \320\216\321\2061\322!*\323\314\315\316\"!\210\205j\306\312\211\203h@\324\325\326\327
A
@\330
A\331&	\210A\211\204J+\306)\207" [node case-fold-search inhibit-read-only completions #1=#:wconfig completion t looking-at "Info Nodes:" "Info Nodes:\n" nil dframe-select-attached-frame dframe-current-frame speedbar-frame speedbar-mode current-window-configuration ((set-window-configuration #1#)) Info-speedbar-fetch-file-nodes "(dir)top" select-frame speedbar-make-tag-line bracket 43 Info-speedbar-expand-node Info-speedbar-goto-node info-xref --dolist-tail-- depth] 11 (#$ . 135254)])
#@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\307\310\311\"!\210\312\313!\206\314 \210\312\313!\315\316\"\211\203*\317	!\210\320\321	!!\210\202@\n\2035\322!\210\202@\306\307\310\311\"!\210\323!\210\324\325\"\204N\326\327\"\202b\330\331\332\"\331\333\"\"\210\f\334\230\205b\335
!*\207" [buff bwin speedbar-power-click node speedbar-initial-expansion-list-name speedbar-previously-used-expansion-list-name dframe-select-attached-frame dframe-current-frame speedbar-frame speedbar-mode get-buffer "*info*" info get-buffer-window 0 select-window raise-frame window-frame switch-to-buffer-other-frame switch-to-buffer string-match "^(\\([^)]+\\))\\([^.]+\\)$" error "Invalid node %s" Info-find-node match-string 1 2 "Info" speedbar-change-initial-expansion-list] 6 (#$ . 136271)])
#@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 (#$ . 137165)])
#@90 Fetch the subnodes from the info NODESPEC.
NODESPEC is a string of the form: (file)node.
(defalias 'Info-speedbar-fetch-file-nodes #[(nodespec) "r\306\307!q\210\310\232\204\310 \210\311\312	\"\204\313\314	\"\210\202)\315\316\317	\"\316\320	\"\"\210eb\210\321\322\311\323	\"\210\316\317	\"\324\325\321\322#\210\324\325\321\322#\203\200\316\317!\211\326\327!\203Y\316\317!\202x\326\330!\203g\316\317!\331P\202x\332\n\333\326\334!\203v\316\317!\202w
RB\fB)\202@\f\237,\207" [major-mode nodespec thisfile case-fold-search completions name get-buffer-create " *info-browse-tmp*" Info-mode string-match "^(\\([^)]+\\))\\([^.]+\\)$" error "Invalid node specification %s" Info-find-node match-string 1 2 nil t "^(\\([^)]+\\))" re-search-forward "\n\\* \\([^:	\n]*\\):" looking-at " *\\(([^)]+)[^.\n]+\\)\\." " *\\(([^)]+)\\)\\." "Top" "(" ")" " \\([^.]+\\)."] 7 (#$ . 137860)])
#@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 (#$ . 138756)])
(add-to-list 'debug-ignored-errors 'search-failed)
#@52 Auxiliary information to be saved in desktop file.
(defalias 'Info-desktop-buffer-misc-data #[(_desktop-dirname) "	\303\304\n\205\305\nB\306\307	#\205\307\310BD\"E\207" [Info-current-file Info-current-node Info-history delq nil history Info-virtual-fun slow t] 9 (#$ . 139153)])
#@53 Restore an Info buffer specified in a desktop file.
(defalias 'Info-restore-desktop-buffer #[(_desktop-buffer-file-name desktop-buffer-name desktop-buffer-misc) "@A@\3068\307\236\305\236\211?\205<	\205<\n\205<\203.\310!q\210\311 \210\312	\n\"\210\f\203;\fA\fp-\207" [desktop-buffer-misc file node data hist slow 2 history get-buffer-create Info-mode Info-find-node desktop-buffer-name Info-history] 4 (#$ . 139444)])
(add-to-list 'desktop-buffer-mode-handlers '(Info-mode . Info-restore-desktop-buffer))
#@86 This implements the `bookmark-make-record-function' type (which see)
for Info nodes.
(defalias 'Info-bookmark-make-record #[nil ";\205\305!\211\203\306	\307\nR\202\n\310\311	\nE\"\312\313\314!\315B\316\nB\317\304\fBF\"+B\207" [Info-current-file file Info-current-node bookmark-name defaults file-name-nondirectory "(" ") " delq nil append bookmark-make-record-default no-file filename info-node (handler . Info-bookmark-jump)] 9 (#$ . 139974)])
#@122 This implements the `handler' function interface for the record
type returned by `Info-bookmark-make-record', which see.
(defalias 'Info-bookmark-jump #[(bmk) "\305\306\"\305\302\"\307 \310\216\311	\n\"\210p*\312\313\314\fB\315!BB!+\207" [bmk file info-node #1=#:wconfig buf bookmark-prop-get filename current-window-configuration ((set-window-configuration #1#)) Info-find-node bookmark-default-handler "" buffer bookmark-get-bookmark-record] 5 (#$ . 140440)])
#@77 Go to Info buffer that displays MANUAL, creating it if none already exists.
(defalias 'info-display-manual #[(manual) "\306 \307\310Q\311\312\211\312\211\203@@r
q\210\313=\2036;\2036\314\"\2036
\312)A\211\204*	\203K\315	!\202S\316 \210\317\320!!,\207" [manual found case-fold-search manual-re blist buffer buffer-list "\\(/\\|\\`\\)" "\\(\\.\\|\\'\\)" t nil Info-mode string-match switch-to-buffer info-initialize info Info-find-file --dolist-tail-- major-mode Info-current-file] 5 (#$ . 140915) "sManual name: "])
(provide 'info)

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net