]> git.eshelyaron.com Git - emacs.git/commitdiff
Compute grep defaults earlier
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 27 Feb 2021 05:02:17 +0000 (06:02 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 27 Feb 2021 05:02:17 +0000 (06:02 +0100)
* lisp/progmodes/grep.el (grep): Always compute the defaults
(bug#46801).
(grep-highlight-matches): Clarify that it's not just used
interactively.

lisp/progmodes/grep.el

index 3e92c6991325170f03be3ee382afa17ab2430cb6..8c9a1b53b1b7b46c2ff0ab54a7e9091e697e20ba 100644 (file)
@@ -88,9 +88,9 @@ To make grep highlight matches even into a pipe, you need the option
 `always' that forces grep to use `--color=always' to unconditionally
 output escape sequences.
 
-In interactive usage, the actual value of this variable is set up
-by `grep-compute-defaults' when the default value is `auto-detect'.
-To change the default value, use \\[customize] or call the function
+If the value is `auto-detect' (the default), `grep' will call
+`grep-compute-defaults' to compute the value.  To change the
+default value, use \\[customize] or call the function
 `grep-apply-setting'."
   :type '(choice (const :tag "Do not highlight matches with grep markers" nil)
                 (const :tag "Highlight matches with grep markers" t)
@@ -915,7 +915,10 @@ list is empty)."
                                  (if current-prefix-arg default grep-command)
                                  'grep-history
                                  (if current-prefix-arg nil default))))))
-
+  ;; If called non-interactively, also compute the defaults if we
+  ;; haven't already.
+  (when (eq grep-highlight-matches 'auto-detect)
+    (grep-compute-defaults))
   (grep--save-buffers)
   ;; Setting process-setup-function makes exit-message-function work
   ;; even when async processes aren't supported.