diff lisp/info.el @ 95909:fcc6d97140b3

(Info-insert-breadcrumbs): Be careful to preserve history.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 14 Jun 2008 01:59:21 +0000
parents 073d13ac30e6
children bda6cd3a6477
line wrap: on
line diff
--- a/lisp/info.el	Fri Jun 13 21:59:41 2008 +0000
+++ b/lisp/info.el	Sat Jun 14 01:59:21 2008 +0000
@@ -681,9 +681,8 @@
   ;; Record the node we are leaving, if we were in one.
   (and (not no-going-back)
        Info-current-file
-       (setq Info-history
-	     (cons (list Info-current-file Info-current-node (point))
-		   Info-history)))
+       (push (list Info-current-file Info-current-node (point))
+             Info-history))
   (Info-find-node-2 filename nodename no-going-back))
 
 ;;;###autoload
@@ -3726,8 +3725,9 @@
           (let ((up (Info-extract-pointer "up")))
             (push up crumbs)
             (setq depth (1- depth))
-            (Info-goto-node up)))
-      (Info-goto-node onode)
+            (Info-find-node Info-current-file up 'no-going-back)))
+      (if crumbs                  ;Do bother going back if we haven't moved.
+          (Info-find-node Info-current-file onode 'no-going-back))
       ;; Add bottom node.
       (when Info-use-header-line
         ;; Let it disappear if crumbs is nil.