summaryrefslogtreecommitdiff
path: root/lisp/info.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2019-07-29 21:18:34 +0300
committerJuri Linkov <juri@linkov.net>2019-07-29 21:18:34 +0300
commit199a1b5cd4845f432ee7231e0f7cdd2b6ebddf37 (patch)
treedc513380b8656ef3ead890d15d2ffe07c6d5b893 /lisp/info.el
parent5483e44730d39284ca8fdfa360b92646bf23ba3c (diff)
downloademacs-199a1b5cd4845f432ee7231e0f7cdd2b6ebddf37.tar.gz
* lisp/info.el (Info-toc-insert): Suppress same section names as node names.
Add indentation to section lines. (Bug#23142)
Diffstat (limited to 'lisp/info.el')
-rw-r--r--lisp/info.el11
1 files changed, 6 insertions, 5 deletions
diff --git a/lisp/info.el b/lisp/info.el
index 3203c5f171e..cc18ea11f33 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -2452,11 +2452,12 @@ Table of contents is created from the tree structure of menus."
"Insert table of contents with references to nodes."
(let ((section "Top"))
(while nodes
- (let ((node (assoc (car nodes) node-list)))
- (unless (member (nth 2 node) (list nil section))
- (insert (setq section (nth 2 node)) "\n"))
- (insert (make-string level ?\t))
- (insert "*Note " (car nodes) ":: \n")
+ (let ((node (assoc (car nodes) node-list))
+ (indentation (make-string level ?\t)))
+ (when (and (not (member (nth 2 node) (list nil section)))
+ (not (equal (nth 1 node) (nth 2 node))))
+ (insert indentation (setq section (nth 2 node)) "\n"))
+ (insert indentation "*Note " (car nodes) ":: \n")
(Info-toc-insert (nth 3 node) node-list (1+ level) curr-file)
(setq nodes (cdr nodes))))))