;;; compiled by rms@wookumz.gnu.ai.mit.edu on Mon May 31 20:16:26 1993
;;; from file /gd/gnu/emacs/19.0/lisp/info.el
;;; emacs version 19.10.3.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(defvar Info-history nil "\
List of info nodes user has visited.
Each element of list is a list (FILENAME NODENAME BUFFERPOS).")
(defvar Info-enable-edit nil "\
*Non-nil means the \\<Info-mode-map>\\[Info-edit] command in Info can edit the current node.
This is convenient if you want to write info files by hand.
However, we recommend that you not do this.
It is better to write a Texinfo file and generate the Info file from that,
because that gives you a printed manual as well.")
(defvar Info-enable-active-nodes t "\
Non-nil allows Info to execute Lisp code associated with nodes.
The Lisp code is executed when the node is selected.")
(defvar Info-default-directory-list nil "\
List of default directories to search for Info documentation files.
This value is used as the default for `Info-directory-list'.  It is set
in paths.el.")
(defvar Info-directory-list (byte-code "!8 É\nGV1 \n\" \nG\nOB\nT\nG^O !*: \n)" [getenv "INFOPATH" path nil idx list 0 string-match ":" nreverse Info-default-directory-list] 4) "\
List of directories to search for Info documentation files.
nil means not yet initialized.  In this case, Info uses the environment
variable INFOPATH to initialize it, or `Info-default-directory-list'
if there is no INFOPATH variable in the environment.")
(defvar Info-current-file nil "\
Info file that Info is now looking at, or nil.")
(defvar Info-current-subfile nil "\
Info subfile that is actually in the *info* buffer now,
or nil if current info file is not split into subfiles.")
(defvar Info-current-node nil "\
Name of node that Info is now looking at, or nil.")
(defvar Info-tag-table-marker (make-marker) "\
Marker pointing at beginning of current Info file's tag table.
Marker points nowhere if file has no tag table.")
(defvar Info-index-alternatives nil "\
List of possible matches for last Info-index command.")
(defvar Info-suffix-list (quote (("") (".info") (".Z" . "uncompress") (".Y" . "unyabba") (".z" . "gunzip") (".info.Z" . "uncompress") (".info.Y" . "unyabba") (".info.z" . "gunzip"))) "\
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.  If STRING is nil, no decoding is done.")
(defalias 'info-insert-file-contents #[(filename &optional visit) "? \"" [ok (byte-code "\n\"Ç" [mapcar #[(x) "	@P\n!% \n\"	A! ed	A$)\")" [filename x compressed file-exists-p insert-file-contents visit nil buffer-read-only shell-command-on-region t throw ok] 5] Info-suffix-list nil] 3) error "Can't find %s or any compressed version of it!" filename] 3 "\
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 #[(&optional file) " Q!! ! " [file Info-goto-node "(" ")" get-buffer "*info*" switch-to-buffer Info-directory] 4 "\
Enter Info, the documentation browser.
Optional argument FILE specifies the file to examine;
the default is the top-level directory of Info.

In interactive use, a prefix argument directs this command
to read a file name from the minibuffer." (byte-code " É$C" [current-prefix-arg read-file-name "Info file name: " nil t] 5)])
(byte-code "M! ! MMMM" [Info-find-node #[(filename nodename &optional no-going-back) "b !!!\" S \") ͂+ R \nR @\"!@\"ҍA1 )\n\\ \na \"+w w `EB!p!=   ߎ;\";!\"#$ =   \"!)!,\"db!/\"(#(3!`3!!) p9!qp!< 9!,!\"*',3\")=2ɂ8@ $!)/\"O/A  eB C /!D QEFG ,!H ,!q,bI E#J p!FpK !=L F!FӁM /\")eFN Z]bO P *Q  )eb" [filename nil found temp-downcase temp substitute-in-file-name string= downcase file-name-nondirectory "dir" t string-match "^\\./" ("./") Info-directory-list dirs expand-file-name foundit (mapcar #[(x) "	\n@P! 	\"\n@P!! \"" [file-exists-p temp x found throw foundit nil temp-downcase] 3] Info-suffix-list) error "Info file %s does not exist" Info-current-file no-going-back Info-current-node Info-history switch-to-buffer "*info*" buffer-disable-undo major-mode Info-mode widen ((byte-code " 	 \n@\nA@A@#8b)ć" [Info-current-node no-going-back Info-history hist Info-find-node t 2] 4)) equal buffer-read-only Info-current-subfile Info-index-alternatives buffer-file-name erase-buffer Info-insert-dir info-insert-file-contents file-name-directory default-directory set-buffer-modified-p set-marker Info-tag-table-marker forward-line -8 nodename "*" search-forward "\nEnd tag table\n" pos search-backward "\nTag table:\n" 2 looking-at "(Indirect)\n" buf get-buffer-create " *info tag table*" case-fold-search insert-buffer-substring match-end 0 file-name-sans-versions Info-set-mode-line "Node: *" regexp-quote " *[,	\n]" regexp guesspos marker-position marker-buffer re-search-forward read get-buffer Info-read-subfile "No such node: \"%s\"" 1000 foo (byte-code "#& !`!#\" \")  \"" [search-forward "\n" nil t forward-line 1 beg re-search-backward regexp throw foo error "No such node: %s" nodename] 4) Info-select-node] 5] boundp Info-dir-contents nil Info-dir-contents-directory Info-insert-dir #[nil "\n c	 @!!\" @!!!\" @\"!R ! @\"!h ! @\"!~ ! @\"! !@!!@!!!BB B*A @A!q).@qeb#&!`!! #!`FB+ *A !!ڊ#`))*@@!*\"}!Q#}ccc*B*)AM,@@eb!Q##!dbccc@A\"c)A@!A. " [Info-dir-contents Info-directory-list nil dirs-done nodes others buffer buffers dirs member file-truename expand-file-name directory-file-name temp "DIR" file-exists-p find-file-noselect "dir" "DIR.INFO" "dir.info" insert-buffer default-directory Info-dir-contents-directory other re-search-forward "^\\* Menu:" t end nodename beg forward-line 1 search-backward "\n" search-forward "Node: " Info-following-node-name move 0 ("top") "" case-fold-search menu-items downcase "^\\* " regexp-quote ":" "* " "\n" "\n.*\n.*Node: " "[,\n	]" "\nFile: dir	node: " "\n\n* Menu:\n\n" apply insert-buffer-substring kill-buffer buffer-string] 8] Info-read-subfile #[(nodepos) "	!qeb!ĉ!ʍ!q\">   !!)eb!Z`\\*" [marker-buffer Info-tag-table-marker search-forward "\n" nil lastfilename lastfilepos forward-line 2 foo (byte-code "!@ l9 `!`Z\"p!!V/ \"+  !  " [looking-at "" nil thisfilename thisfilepos beg search-forward ": " buffer-substring 2 read forward-line 1 nodepos throw foo t lastfilename lastfilepos] 4) get-buffer "*info*" equal Info-current-subfile buffer-read-only buffer-file-name widen erase-buffer info-insert-file-contents set-buffer-modified-p nodepos] 3] Info-select-node #[nil "!!!`!`\"	 !`#@ `S!A !bp!A d\"L !*" [search-backward "\n" forward-line 2 re-search-forward "Node:[ 	]*" buffer-substring skip-chars-forward "^,	\n" Info-current-node Info-set-mode-line 0 nil active-expression narrow-to-region "\n[]" t looking-at "[\n]*execute: " match-end read Info-enable-active-nodes eval] 6] Info-set-mode-line #[nil "	 	!  R" ["Info:  (" Info-current-file file-name-nondirectory "" ")" Info-current-node mode-line-buffer-identification] 4]] 2)
(defalias 'Info-goto-node #[(nodename) "\"!!U Ȃ !!O!!O	\"7 	O)\"H O)	\"?S 	\"^ Ђ_ \")" [nil filename string-match "\\s *\\((\\s *\\([^	)]*\\)\\s *)\\s *\\|\\)\\(.*\\)" nodename match-beginning 1 match-end "" 2 3 "\\s *\\'" trim 0 Info-find-node equal "Top"] 6 "\
Go to info node named NAME.  Give just NODENAME or (FILENAME)NODENAME." "sGoto node: "])
(defalias 'Info-restore-point #[(hl) "! @@\n\" @A@\" @8bA!" [hl equal Info-current-file Info-current-node 2 Info-restore-point] 3 "\
If this node has been visited, restore the point value when we left."])
(defvar Info-last-search nil "\
Default regexp for \\<Info-mode-map>\\[Info-search] command to search for.")
(defalias 'Info-search #[(regexp) "	\"  	ĉ`	\n 6 	!`; ҏ* ӎ!qeb!`!`S\"ebQ!!m !!\\bp!!!\"BB!Tbm !@@A) @A\"@@!Aeb	# `ĉ  ! 	C\"* b \"\n\"\n	E.B.." [equal regexp "" Info-last-search nil Info-current-node Info-current-file Info-current-subfile osubfile opoint ofile onode current found widen re-search-forward err (byte-code "	!`" [re-search-forward regexp found] 2) ((search-failed)) ((byte-code " \n!\nb " [found Info-read-subfile opoint Info-select-node] 2)) list marker-buffer Info-tag-table-marker search-forward "\n\nIndirect:" narrow-to-region "\n" "\n" ": " forward-line 0 "\\(^.*\\): [0-9]+$" match-end 1 2 read buffer-substring match-beginning nreverse message "Searching subfile %s..." Info-read-subfile t signal search-failed Info-select-node Info-history] 7 "\
Search for REGEXP, starting from point, and select node it's found in." "sSearch (regexp): "])
(byte-code "MM" [Info-extract-pointer #[(name &optional errorname) "eb!P# !b 0 \n=?0 \n- !P!)" [forward-line 1 re-search-backward name ":" nil t match-end 0 Info-following-node-name errorname error "Node has no " capitalize] 4] Info-following-node-name #[(&optional allowedchars) "!` Q!*  P!! ! !`\"" [skip-chars-forward " 	" buffer-substring looking-at "[" allowedchars "^,	\n" "]" "(" "^)" skip-chars-backward " "] 6]] 2)
(defalias 'Info-next #[nil "!!" [Info-goto-node Info-extract-pointer "next"] 3 "\
Go to the next node of this node." nil])
(defalias 'Info-prev #[nil "\"!" [Info-goto-node Info-extract-pointer "prev[ious]*" "previous"] 4 "\
Go to the previous node of this node." nil])
(defalias 'Info-up #[nil "!!!" [Info-goto-node Info-extract-pointer "up" Info-restore-point Info-history] 3 "\
Go to the superior node of this node." nil])
(defalias 'Info-last #[nil " !É@@@A@@AA@A\"Ab+" [Info-history error "This is the first Info node you looked at" nil opoint nodename filename Info-find-node] 3 "\
Go back to the last node visited." nil])
(defalias 'Info-directory #[nil "\"" [Info-find-node "dir" "top"] 3 "\
Go to the Info directory node." nil])
(defalias 'Info-follow-reference #[(footnotename) "\nP#( OTOQ\\ eb#9 \n\"!\\b\")#i O!OQ\\G !," [nil "\\*note " footnotename str i beg target string-match " " 0 "[ 	\n]+" 6 re-search-forward t error "No cross-reference named %s" match-beginning 5 Info-extract-menu-node-name "Bad format cross reference" match-end 1 Info-goto-node] 5 "\
Follow cross reference named NAME to the node it refers to.
NAME may be an abbreviation of the reference name." (byte-code "`eb#h !`S\"6 !W6 `X6 \n#U \nO!OQ\nT8 =] BB ) z Q{ $C !." [t nil i str start-point default completions completion-ignore-case re-search-forward "\\*note[ \n	]*\\([^:]*\\):" buffer-substring match-beginning 1 0 string-match "[ \n	]+" " " match-end completing-read "Follow reference named: (" ") " "Follow reference named: " error "No cross-references in this node"] 6)])
(fset (quote Info-extract-menu-node-name) #[(&optional errmessage multi-line) "!`!!!  `S\"0 !. ΂/ !#C I1 +" [skip-chars-forward " 	\n" nil i str beg "^:" forward-char 1 looking-at ":" buffer-substring Info-following-node-name multi-line "^.,	" "^.,	\n" string-match "\n" 32] 4])
(defalias 'Info-menu #[(menu-item) "\n!!" [Info-goto-node Info-extract-menu-item menu-item] 3 "\
Go to node for menu item named (or abbreviated) NAME.
Completion is allowed, and the menu item point is on is the default." (byte-code "`eb# !#N < 	+ 	\nW!< \n	X< @@!!\"!BB i 	i 	\nWi \n `Xi @@)  \" $)\"m  o r -C" [nil last p default completions search-forward "\n* menu:" t error "No menu in this node" re-search-forward "\n\\* \\([^:	\n]*\\):" match-beginning 0 buffer-substring 1 match-end end-of-line item completion-ignore-case completing-read format "Menu item (default %s): " "Menu item: " string= ""] 6)])
(byte-code "MM" [Info-extract-menu-item #[(menu-item) "	!eb# !	Q#- 	P#- !!! )" [regexp-quote menu-item search-forward "\n* menu:" nil t error "No menu in this node" re-search-forward "\n* " ":" "No such item in menu" forward-line 0 forward-char 2 Info-extract-menu-node-name] 4] Info-extract-menu-counting #[(count) "eb# !& $. !. #&  )" [search-forward "\n* menu:" nil t error "No menu in this node" count "\n* " "Too few items in menu" Info-extract-menu-node-name] 5]] 2)
(defalias 'Info-nth-menu-item #[nil "  GSHZ!!" [Info-goto-node Info-extract-menu-counting this-command-keys 48] 4 "\
Go to the node of the Nth menu item.
N is the digit argument used to invoke this command." nil])
(defalias 'Info-top-node #[nil "!" [Info-goto-node "Top"] 2 "\
Go to the Top node of this file." nil])
(defalias 'Info-final-node #[nil "!!!Ɖ\" 	\"?/ #)/ !! )" [Info-goto-node "Top" nil Info-history Info-extract-menu-counting Info-forward-node t string-match "\\<index\\>" Info-current-node search-forward "\n* Menu:"] 4 "\
Go to the final node in this file." nil])
(defalias 'Info-forward-node #[(&optional not-down no-error) "eb!\n% #)% 	\"% !!Ƈ#)4  Ƈ#)b !!\"b 	 ŉَ\",i Ň!" [forward-line 1 not-down search-forward "\n* menu:" nil t string-match "\\<index\\>" Info-current-node Info-goto-node Info-extract-menu-counting search-backward "next:" Info-next "up:" equal downcase Info-extract-pointer "up" "top" old-node Info-up success Info-history ((byte-code " \n!" [success Info-goto-node old-node] 2)) Info-forward-node no-error error "No pointer forward from this node"] 4 "\
Go forward one node, considering all nodes as forming one sequence." nil])
(defalias 'Info-backward-node #[nil "\"\" \" !` 3 . !!\"3  ` ]  \"?Y #)Y !!= )` !*" [Info-extract-pointer "prev[ious]*" t "up" upnode prevnode string-match "(" error "First node in file" equal downcase Info-up Info-prev nil Info-history "\\<index\\>" Info-current-node search-forward "\n* Menu:" Info-goto-node Info-extract-menu-counting "No pointer backward from this node"] 4 "\
Go backward one node, considering all nodes as forming one sequence." nil])
(defalias 'Info-exit #[nil "p!p!!" [switch-to-buffer other-buffer bury-buffer] 4 "\
Exit Info by selecting some other buffer." nil])
(byte-code "MMM" [Info-next-menu-item #[nil "!## ! !)" [forward-line -1 search-forward "\n* menu:" nil t "\n* " error "No more items in menu" Info-goto-node Info-extract-menu-node-name] 4 nil nil] Info-last-menu-item #[nil "!## ! !)" [forward-line 1 search-backward "\n* menu:" nil t "\n* " error "No previous items in menu" Info-goto-node Info-extract-menu-node-name] 4 nil nil] no-error (macro . #[(&rest body) "\"BF" [condition-case nil progn append body (t) (error nil)] 6])] 2)
(defalias 'Info-next-preorder #[nil " ď !!" [nil (byte-code " " [Info-next-menu-item t] 1) ((error)) (byte-code " " [Info-up t] 1) ((error)) forward-line 1 error "No more nodes"] 3 "\
Go to the next node, popping up a level if there is none." nil])
(defalias 'Info-last-preorder #[nil " ď !!" [nil (byte-code " " [Info-last-menu-item t] 1) ((error)) (byte-code " " [Info-up t] 1) ((error)) forward-line -1 error "No previous nodes"] 3 "\
Go to the last node, popping up a level if there is none." nil])
(defalias 'Info-scroll-up #[nil "d!	   " [pos-visible-in-window-p Info-next-preorder scroll-up] 2 "\
Read the next screen.  If end of buffer is visible, go to next entry." nil])
(defalias 'Info-scroll-down #[nil "e!	   " [pos-visible-in-window-p Info-last-preorder scroll-down] 2 "\
Read the previous screen.  If start of buffer is visible, go to last entry." nil])
(defalias 'Info-index #[(topic) "!\"	!#! !#- !!b !)\" eb# !!\"!!\"!!\"P!FBQ \" \" !N   \"\" B\" !\",!,," [Info-current-node nil format "\n\\* \\([^\n:]*%s[^\n:]*\\):[ 	]*\\([^.\n]*\\)\\.[ t]*\\([0-9]*\\)" regexp-quote topic node pattern rnode orignode Info-goto-node "Top" search-forward "\n* menu:" t error "No index" re-search-forward "\n\\* \\(.*\\<Index\\>\\)" match-beginning 1 Info-keeping-history Info-extract-menu-node-name equal "" found exact matches buffer-substring match-end 2 string-to-int "0" 3 Info-extract-pointer "next" string-match "\\<Index\\>" Info-last "No \"%s\" in index" assoc delq nconc nreverse Info-index-alternatives Info-index-next 0] 9 "\
Look up a string in the index for this file.
The index is defined as the first node in the top-level menu whose
name contains the word \"Index\", plus any immediately following
nodes whose names also contain the word \"Index\".
If there are no exact matches to the specified topic, this chooses
the first match which is a case-insensitive substring of a topic.
Use the `,' command to see the other matches.
Give a blank topic name to go to the Index node itself." "sIndex topic: "])
(defalias 'Info-index-next #[(num) " !W G\\	 V, A@C\"S @A@!@8VF @8! !@@		!\"# 	\"# 	\" 	!O\"# 	# ! eb)@@@8A ق $" [Info-index-alternatives error "No previous `i' command in this file" num 0 nconc Info-goto-node 3 forward-line name re-search-forward format "\\(Function\\|Command\\): %s\\( \\|$\\)" regexp-quote nil t search-forward "`%s'" string-match "\\`.*\\( (.*)\\)\\'" match-beginning 1 message "Found \"%s\" in %s.  %s" 2 "(Press `,' for more)" "(Only match)"] 8 "\
Go to the next matching index item from the last `i' command." "p"])
(defalias 'Info-undefined #[nil " " [ding] 1 "\
Make command be undefined in Info." nil])
(defalias 'Info-help #[nil "  W ł \"" [delete-other-windows Info-find-node "info" window-height 23 "Help-Small-Screen" "Help"] 4 "\
Enter the Info tutorial." nil])
(defalias 'Info-summary #[nil "" [((byte-code "! !cebŉd!?% ʂ& ! =; CłF F   *" [switch-to-buffer "*Help*" erase-buffer documentation Info-mode nil flag ch pos-visible-in-window-p message "Type Space to see more" "Type Space to return to Info" read-event 32 unread-command-events scroll-up] 2))] 1 "\
Display a brief summary of all Info commands." nil])
(defalias 'Info-get-token #[(pos start all &optional errorstring) "b\neZ]#d\\^#1 !X+ !V Q !XQ !VQ !!\"n Z łn =h  łn #*" [pos re-search-backward start 200 yes nil found re-search-forward all match-beginning 0 match-end buffer-substring 1 errorstring t beep error "No %s around position %d"] 5 "\
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
    parenthized subpattern which is the token to be
    returned. E.g. '{(.*)}' would return any string
    enclosed in braces around POS.
SIG optional fourth argument, controls action on no match
    nil: return nil
    t: beep
    a string: signal an error, using that string."])
(defalias 'Info-follow-nearest-node #[(click) "A@)@\nA@!b+`#+ ! `#= ! `#O ! `#a ! `#s ! `# ! `# ! !m)  )" [click event start window pos select-window nil node Info-get-token "\\*note[ \n]" "\\*note[ \n]\\([^:]*\\):" Info-follow-reference "\\* " "\\* \\([^:]*\\)::" Info-goto-node "\\* \\([^:]*\\):" Info-menu "Up: " "Up: \\([^,\n	]*\\)" "Next: " "Next: \\([^,\n	]*\\)" "File: " "File: \\([^,\n	]*\\)" "Top" "Prev: " "Prev: \\([^,\n	]*\\)" forward-line 1 Info-next] 5 "\
\\<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." "e"])
(defvar Info-mode-map nil "\
Keymap containing Info commands.")
(byte-code "  !###################################@ A #B C D E #" [Info-mode-map make-keymap suppress-keymap define-key "." beginning-of-buffer " " Info-scroll-up "" Info-next-preorder "1" Info-nth-menu-item "2" "3" "4" "5" "6" "7" "8" "9" "0" undefined "?" Info-summary "]" Info-forward-node "[" Info-backward-node "<" Info-top-node ">" Info-final-node "b" "d" Info-directory "e" Info-edit "f" Info-follow-reference "g" Info-goto-node "h" Info-help "i" Info-index "l" Info-last "m" Info-menu "n" Info-next "p" Info-prev "q" Info-exit "s" Info-search "t" "u" Info-up "," Info-index-next "" Info-scroll-down [mouse-3] Info-follow-nearest-node put info-mode mode-class special] 4)
(defalias 'Info-mode #[nil " !!	\n!!!!!! !" [kill-all-local-variables Info-mode major-mode "Info" mode-name use-local-map Info-mode-map set-syntax-table text-mode-syntax-table text-mode-abbrev-table local-abbrev-table t case-fold-search buffer-read-only make-local-variable Info-current-file Info-current-subfile Info-current-node Info-tag-table-marker Info-history Info-index-alternatives Info-set-mode-line run-hooks Info-mode-hook] 2 "\
\\<Info-mode-map>
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-help]	Invoke the Info tutorial.

Selecting other nodes:
\\[Info-next]	Move to the \"next\" node of this node.
\\[Info-prev]	Move to the \"previous\" node of this node.
\\[Info-up]	Move \"up\" from this node.
\\[Info-menu]	Pick menu item specified by name (or abbreviation).
	Picking a menu item causes another node to be selected.
\\[Info-directory]	Go to the Info directory node.
\\[Info-follow-reference]	Follow a cross reference.  Reads name of reference.
\\[Info-last]	Move to the last node you were at.
\\[Info-index]	Look up a topic in this file's Index and move to that node.
\\[Info-index-next]	(comma) Move to the next match from a previous `i' command.

Moving within a node:
\\[scroll-up]	Normally, scroll forward a full screen.  If the end of the buffer is
already visible, try to go to the next menu entry, or up if there is none.
\\[scroll-down]  Normally, scroll backward.  If the beginning of the buffer is
already visible, try to go to the previous menu entry, or up if there is none.
\\[beginning-of-buffer]	Go to beginning of node.  

Advanced commands:
\\[Info-exit]	Quit Info: reselect previously selected buffer.
\\[Info-edit]	Edit contents of selected node.
1	Pick first item in node's menu.
2, 3, 4, 5   Pick second ... fifth item in node's menu.
\\[Info-goto-node]	Move to node specified by name.
	You may include a filename as well, as (FILENAME)NODENAME.
\\[Info-search]	Search through this Info file for specified regexp,
	and select the node in which the next occurrence is found.
\\[Info-next-preorder]	Next-preorder; that is, try to go to the next menu item,
	and if that fails try to move up, and if that fails, tell user
 	he/she is done reading."])
(defvar Info-edit-map nil "\
Local keymap used within `e' command of Info.")
(byte-code "  \"##" [Info-edit-map nconc make-sparse-keymap text-mode-map define-key "" Info-cease-edit put info-edit-mode mode-class special] 4)
(defun Info-edit-mode nil "\
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 #[nil " !!! !!!" [Info-enable-edit error "Editing info nodes is not enabled" use-local-map Info-edit-map Info-edit-mode major-mode "Info Edit" mode-name kill-local-variable mode-line-buffer-identification nil buffer-read-only set-buffer-modified-p buffer-modified-p message substitute-command-keys "Editing: Type \\<Info-mode-map>\\[Info-cease-edit] to return to info"] 3 "\
Edit the contents of this Info node.
Allowed only if variable `Info-enable-edit' is non-nil." nil])
(defalias 'Info-cease-edit #[nil "  !  !	  !!2  2 !" [buffer-modified-p y-or-n-p "Save the file? " save-buffer use-local-map Info-mode-map Info-mode major-mode "Info" mode-name Info-set-mode-line t buffer-read-only set-buffer-modified-p marker-position Info-tag-table-marker message "Tags may have changed.  Use Info-tagify if necessary"] 2 "\
Finish editing Info node; switch back to Info proper." nil])
(defalias 'Info-find-emacs-command-nodes #[(command) "!!!Q	\"Adb#= !!\"E	B	  	+" [require info nil "^\\* " regexp-quote symbol-name command ":\\s *\\(.*\\)\\.$" cmd-desc where Info-find-node "emacs" "Command Index" Info-history re-search-backward t Info-current-file buffer-substring match-beginning 1 match-end 0] 5 "\
Return a list of locations documenting COMMAND in the Emacs Info manual.
The locations are of the format used in Info-history, i.e.
(FILENAME NODENAME BUFFERPOS)."])
(defalias 'Info-goto-emacs-command-node #[(command) "	! 	D\"	!] Gǋ!@@@A@\"VY A\"SVJ ҂K VV ԂW $!)a 	\")" [commandp command signal wrong-type-argument Info-find-emacs-command-nodes where num-matches ((info)) pop-to-buffer "*info*" Info-find-node 1 nconc Info-history message substitute-command-keys "Found %d other entr%.  Use \\[Info-last] to see %s." 2 "ies" "y" "them" "it" error "Couldn't find documentation for %s."] 8 "\
Go to the Info node in the Emacs manual for command COMMAND." "CFind documentation for command: "])
(defalias 'Info-goto-emacs-key-command-node #[(key) "	! 	!\"& t# \n=# !!& \n!)" [key-binding key command message "%s is undefined" key-description execute-extended-command Info-goto-emacs-command-node read-command "Find documentation for command: "] 5 "\
Go to the Info node in the Emacs manual the command bound to KEY, a string.
Interactively, if the binding is execute-extended-command, a command is read." "kFind documentation for key:"])
(provide (quote info))
