Function: Info-backward-node
Info-backward-node is an interactive and byte-compiled function
defined in info.el.gz.
Signature
(Info-backward-node)
Documentation
Go backward one node, considering all nodes as forming one sequence.
If the current node has a "previous" node, go to it, descending into its last sub-node, if any; otherwise go "up" to the parent node.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun Info-backward-node ()
"Go backward one node, considering all nodes as forming one sequence.
If the current node has a \"previous\" node, go to it, descending into its
last sub-node, if any; otherwise go \"up\" to the parent node."
(interactive nil Info-mode)
(let ((prevnode (Info-extract-pointer "prev[ious]*" t))
(upnode (Info-extract-pointer "up" t))
(case-fold-search t))
(cond ((and upnode (string-search "(" upnode))
(user-error "First node in file"))
((and upnode (or (null prevnode)
;; Use string-equal, not equal,
;; to ignore text properties.
(string-equal (downcase prevnode)
(downcase upnode))))
(Info-up))
(prevnode
;; If we move back at the same level,
;; go down to find the last subnode*.
(Info-prev)
(let ((old-history Info-history))
(while (and (not (Info-index-node))
(save-excursion (search-forward "\n* Menu:" nil t)))
(Info-goto-node (Info-extract-menu-counting nil)))
(if Info-history-skip-intermediate-nodes
(setq Info-history old-history))))
(t
(user-error "No pointer backward from this node")))))