Preserve the face foreground in Info-fontify-node
authorJuri Linkov <juri@jurta.org>
Thu, 13 Aug 2020 11:32:10 +0000 (13:32 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 13 Aug 2020 11:32:10 +0000 (13:32 +0200)
* lisp/info.el (Info-fontify-node): Preserve the face foreground.
Previously `Info-index' added the `info-index-match' face to the
strings of the found index entries.  Later
`Info-virtual-index-find-node' inserts strings to the Info buffer.
And finally `Info-fontify-node' puts the `font-lock-face' property
with `info-xref' on links.  The `face info-index-match' takes
precedence over `font-lock-face info-xref' (bug#14645).

lisp/info.el

index 78f88947c79d32660eb5783c388b156986fd2860..c8318a3967ff14948c9cc417eec73f772fbedf81 100644 (file)
@@ -4971,9 +4971,8 @@ first line or header line, and for breadcrumb links.")
                               "mouse-2: go to this node")
                  'mouse-face 'highlight)))
              (when (or not-fontified-p fontify-visited-p)
-               (put-text-property
+               (add-face-text-property
                 (match-beginning 1) (match-end 1)
-                 'font-lock-face
                  ;; Display visited menu items in a different face
                  (if (and Info-fontify-visited-nodes
                           (save-match-data
@@ -5002,7 +5001,9 @@ first line or header line, and for breadcrumb links.")
                                                  (caar hl))))
                                    (setq res (car hl) hl nil)
                                  (setq hl (cdr hl))))
-                              res))) 'info-xref-visited 'info-xref)))
+                              res)))
+                     'info-xref-visited 'info-xref)
+                 'append))
              (when (and not-fontified-p
                         (memq Info-hide-note-references '(t hide))
                         (not (Info-index-node)))