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")))))