Make the `i' command in Info-mode remove duplicate matches

* lisp/info.el (Info-index): Weed out duplicate matched
(bug#3692).
This commit is contained in:
Lars Ingebrigtsen 2021-06-03 11:55:45 +02:00
parent 4bcc83c124
commit 089e0c4c55

View file

@ -3375,7 +3375,13 @@ Give an empty topic name to go to the Index node itself."
(setq exact (cons found exact)
matches (delq found matches)))
(setq Info-history-list ohist-list)
(setq Info-index-alternatives (nconc exact (nreverse matches)))
(setq Info-index-alternatives
;; Weed out index entries that refer to the same line.
(seq-uniq
(nconc exact (nreverse matches))
(lambda (m1 m2)
(and (equal (nth 1 m1) (nth 1 m2))
(equal (nth 3 m1) (nth 3 m2))))))
(Info-index-next 0)))))
(defun Info-index-next (num)