
(defun smart-info nil "\
Walks through Info documentation networks using one key or mouse key.

If key is pressed within:
 (1) the first line of an Info Menu Entry or Cross Reference, the desired node
       is found;
 (2) the Up,Next,or Previous entries of a Node Header (first line),
       the desired node is found;
 (3) the File entry of a Node Header (first line),       
       the 'Top' node within that file is found;
 (4) at the end of the current node, the Next node is found.
 (5) anywhere else (e.g. at the end of a line), the current node entry is
       scrolled up one screen

Returns t if key is pressed within an Info Node Header, Note
(cross-reference), or a Menu; otherwise returns nil." (interactive) (byte-code "ÀˆÁ ƒ Â ‚1 l… Ã †1 Ä †1 Å †1 Æ †1 Çd!ƒ/ Â ‚1 Ã ‡" [nil last-line-p Info-next scroll-up-eol Info-handle-in-node-hdr Info-handle-in-note Info-handle-in-menu pos-visible-in-window-p] 11))

(defun smart-info-meta nil "\
Walks through Info documentation networks using one meta-key or mouse meta-key.

If meta-key is pressed within:
 (1) the first line of an Info Menu Entry or Cross Reference, the desired node
       is found;
 (2) the Up,Next,or Previous entries of a Node Header (first line),
       the last node in the history list is found;
 (3) the File entry of a Node Header (first line),       
       the 'DIR' root-level node is found;
 (4) at the end of the current node, the Previous node is found.
 (5) anywhere else (e.g. at the end of a line), the current node entry is
       scrolled down one screen

Returns t if meta-key is pressed within an Info Node Header, Note
(cross-reference), or a Menu; otherwise returns nil." (interactive) (byte-code "ÀˆÁ ƒ Â ‚1 l… Ã †1 Ä †1 Å †1 Æ †1 Çe!ƒ/ Â ‚1 Ã ‡" [nil last-line-p Info-prev scroll-down-eol Info-handle-in-node-hdr-meta Info-handle-in-note Info-handle-in-menu pos-visible-in-window-p] 11))

(defun Info-handle-in-node-hdr nil "\
If within an Info node header, move to <FILE>Top, <Up>, <Previous>, or
<Next> node, depending on which label point is on, and return t.
Otherwise, return nil." (byte-code "Å ?ƒ
 À‚r ÆÀŠÇÈÀÃ#… ÉÊÀÃ#ƒK ËÌÍÎÏÐ!ÑÐ!\"!\"‰ˆÇÒ
…6 ÓÔQÀÃ#…H ÎÏÐ!ÑÐ!\"‰‚N ÕÖ!)ˆ
ƒ\\ ×	ØÆR‚i ƒh ×Ø	R‚i 	‰ˆÙ	!ˆÃ*‡" [nil nodename filep t buffer-file-name first-line-p "Top" re-search-forward "[:, 	
]" re-search-backward "\\(File\\|Node\\|Up\\|Prev\\|Previous\\|Next\\)[: 	]" string-equal "file" downcase buffer-substring match-beginning 1 match-end ":[ 
]\\([^,.	
" " " "]*\\)" error "Node header not found." "(" ")" Info-goto-node] 17))

(defun Info-handle-in-node-hdr-meta nil "\
If within an Info node header when the 'smart-info-meta' command is
executed, when within the <FILE> header go to the DIR top-level node.  When
within any other header (<Up>, <Previous>, or <Next>) go to last node from
history list.  Return t if in Info node header.  Otherwise return nil." (byte-code "Â ?ƒ
 À‚= ŠÃÄÀÁ#… ÅÆÀÁ#ƒ7 ÇÈÉÊËÌ!ÍÌ!\"!\"ƒ0 Î ‚2 Ï ˆÁ‚< ÐÑ!ˆÀ)‡" [nil t first-line-p re-search-forward "[:, 	
]" re-search-backward "\\(File\\|Node\\|Up\\|Prev\\|Previous\\|Next\\)[: 	]" string-equal "file" downcase buffer-substring match-beginning 1 match-end Info-directory Info-last error "Node header not found."] 12))

(defun Info-handle-in-note nil "\
Follows an Info cross-reference.
If point is within the first line of an Info note (cross-reference), follows
cross-reference and returns t; otherwise returns nil." (byte-code "ÁÁ`ÁŠÆ ˆ`‰ˆÇ ˆÈÉ
Å#…$ `X…$ ÊË!…1 ÌÍÎ!ÏÎ!\"‰)ˆ?ƒ< Á‚g Ð‰ˆÑÒ#‰…a ÐOÓÏÐ!ÁOQ‰ˆT‰ˆ‚@ ˆÔ!ˆÅ,‡" [note-name nil bol opoint i t beginning-of-line end-of-line re-search-backward "*Note\\([ 	]+\\|$\\)" looking-at "*Note[ 	
]+\\([^:]*\\):" buffer-substring match-beginning 1 match-end 0 string-match "[ 
	]+" " " Info-follow-reference] 15))

(defun Info-handle-in-menu nil "\
Displays node referred to by an Info Menu Entry.
If point is within an Info menu entry, goes to node referenced by
entry and returns t; otherwise returns nil." (byte-code "Á`ŠebˆÄÅÁÃ#… `
W‰)ˆ?ƒ  Á‚5 Æ ˆÇÈÁÃ#…3 ÆÉ!ˆÊË !ˆÃ*‡" [in-menu nil curr-point t search-forward "
* menu:" forward-char search-backward "
*" 2 Info-goto-node Info-extract-menu-node-name] 7))

(provide (quote hmous-info))
