]> git.eshelyaron.com Git - emacs.git/commitdiff
Tweak mouse-face highlighting of Occur buffers
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 15 Jul 2019 18:13:48 +0000 (20:13 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 15 Jul 2019 18:13:48 +0000 (20:13 +0200)
* lisp/replace.el (occur-engine): Ensure that the mouse highlight
is done over the entire line (bug#27846).

lisp/replace.el

index 7839bed7fb59049d7ea69d19eea90f12e1227cf4..7c6c6fc9b7fd232bfba22df2d12c3fc05b4add35 100644 (file)
@@ -1751,7 +1751,7 @@ See also `multi-occur'."
                                     (append
                                      (when prefix-face
                                        `(font-lock-face ,prefix-face))
-                                     `(occur-prefix t mouse-face (highlight)
+                                     `(occur-prefix t
                                                     ;; Allow insertion of text
                                                     ;; at the end of the prefix
                                                     ;; (for Occur Edit mode).
@@ -1764,23 +1764,26 @@ See also `multi-occur'."
                              ;; We don't put `mouse-face' on the newline,
                              ;; because that loses.  And don't put it
                              ;; on context lines to reduce flicker.
-                             (propertize curstring 'mouse-face (list 'highlight)
+                             (propertize curstring
                                          'occur-target marker
                                          'follow-link t
                                          'help-echo
                                          "mouse-2: go to this occurrence"))
                             (out-line
-                             (concat
-                              match-prefix
-                              ;; Add non-numeric prefix to all non-first lines
-                              ;; of multi-line matches.
+                             ;; Add non-numeric prefix to all non-first lines
+                             ;; of multi-line matches.
+                              (concat
                               (replace-regexp-in-string
                                "\n"
                                (if prefix-face
                                    (propertize
                                     "\n       :" 'font-lock-face prefix-face)
                                  "\n       :")
-                               match-str)
+                                ;; Add mouse face in one section to
+                                ;; ensure the prefix and the string
+                                ;; get a contiguous highlight.
+                               (propertize (concat match-prefix match-str)
+                                            'mouse-face 'highlight))
                               ;; Add marker at eol, but no mouse props.
                               (propertize "\n" 'occur-target marker)))
                             (data