Function: Info-select-node
Info-select-node is a byte-compiled function defined in info.el.gz.
Signature
(Info-select-node)
Documentation
Select the Info node that point is in.
Source Code
;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun Info-select-node ()
"Select the Info node that point is in."
;; Bind this in case the user sets it to nil.
(let ((case-fold-search t))
(save-excursion
;; Find beginning of node.
(if (search-backward "\n\^_" nil 'move)
(forward-line 2)
(if (looking-at "\^_")
(forward-line 1)
(signal 'search-failed (list "\n\^_"))))
;; Get nodename spelled as it is in the node.
(re-search-forward "Node:[ \t]*")
(setq Info-current-node
(buffer-substring-no-properties (point)
(progn
(skip-chars-forward "^,\t\n")
(point))))
(Info-set-mode-line)
;; Find the end of it, and narrow.
(beginning-of-line)
(let (active-expression)
;; Narrow to the node contents
(narrow-to-region (point)
(if (re-search-forward "\n[\^_\f]" nil t)
(prog1
(1- (point))
(if (looking-at "[\n\^_\f]*execute: ")
(progn
(goto-char (match-end 0))
(setq active-expression
(read (current-buffer))))))
(point-max)))
(if Info-enable-active-nodes (eval active-expression))
;; Add a new unique history item to full history list
(let ((new-history (list Info-current-file Info-current-node)))
(setq Info-history-list
(cons new-history (remove new-history Info-history-list)))
(setq Info-history-forward nil))
(if (not (eq Info-fontify-maximum-menu-size nil))
(Info-fontify-node))
(setq list-buffers-directory (Info-node-description Info-current-file))
(Info-display-images-node)
(Info-hide-cookies-node)
(run-hooks 'Info-selection-hook)))))