]> git.eshelyaron.com Git - emacs.git/commitdiff
Make the `i' command in Info-mode remove duplicate matches
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 3 Jun 2021 09:55:45 +0000 (11:55 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 3 Jun 2021 09:55:45 +0000 (11:55 +0200)
* lisp/info.el (Info-index): Weed out duplicate matched
(bug#3692).

lisp/info.el

index cdf339ff6fb9901ea87a373218026799887a84ec..83a9bfbc235e33ac9c50bfe752e1955eefc305fa 100644 (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)