* lisp/info.el (Info-extract-menu-node-name): Check the second match

for empty string (second test-case of bug#9528).
(Info-last-preorder): Let-bind `Info-history' to nil to not add
intermediate nodes to the history (first test-case of bug#9528).
This commit is contained in:
Juri Linkov 2011-09-18 23:14:16 +03:00
parent 33ed493bca
commit d18b513ba7
2 changed files with 21 additions and 11 deletions

View file

@ -1,3 +1,10 @@
2011-09-18 Juri Linkov <juri@jurta.org>
* info.el (Info-extract-menu-node-name): Check the second match
for empty string (second test-case of bug#9528).
(Info-last-preorder): Let-bind `Info-history' to nil to not add
intermediate nodes to the history (first test-case of bug#9528).
2011-09-18 Juri Linkov <juri@jurta.org>
* info.el (Info-mode-syntax-table): New variable.

View file

@ -2440,7 +2440,8 @@ Because of ambiguities, this should be concatenated with something like
)
(replace-regexp-in-string
"[ \n]+" " "
(or (match-string-no-properties 2)
(or (and (not (equal (match-string-no-properties 2) ""))
(match-string-no-properties 2))
;; If the node name is the menu entry name (using `entry::').
(buffer-substring-no-properties
(match-beginning 0) (1- (match-beginning 1)))))))
@ -2765,22 +2766,24 @@ N is the digit argument used to invoke this command."
;; so we can scroll back through it.
(goto-char (point-max)))
;; Keep going down, as long as there are nested menu nodes.
(while (Info-no-error
(Info-last-menu-item)
;; If we go down a menu item, go to the end of the node
;; so we can scroll back through it.
(goto-char (point-max))))
(let (Info-history) ; Don't add intermediate nodes to the history.
(while (Info-no-error
(Info-last-menu-item)
;; If we go down a menu item, go to the end of the node
;; so we can scroll back through it.
(goto-char (point-max)))))
(recenter -1))
((and (Info-no-error (Info-extract-pointer "prev"))
(not (equal (Info-extract-pointer "up")
(Info-extract-pointer "prev"))))
(Info-no-error (Info-prev))
(goto-char (point-max))
(while (Info-no-error
(Info-last-menu-item)
;; If we go down a menu item, go to the end of the node
;; so we can scroll back through it.
(goto-char (point-max))))
(let (Info-history) ; Don't add intermediate nodes to the history.
(while (Info-no-error
(Info-last-menu-item)
;; If we go down a menu item, go to the end of the node
;; so we can scroll back through it.
(goto-char (point-max)))))
(recenter -1))
((Info-no-error (Info-up t))
(goto-char (point-min))