From 7cb0d0ef5aa4369c88e1234e6ddc0cc5d45bd0aa Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Fri, 28 Jul 2006 23:03:18 +0000 Subject: [PATCH] (grep-tag-default): New function. (grep-default-command, grep-read-regexp): Use it. --- lisp/progmodes/grep.el | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index e7d85910a63..96f449c2b05 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -455,13 +455,17 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'." (search-forward "--color" nil t)) t))))) +(defun grep-tag-default () + (or (and transient-mark-mode mark-active + (/= (point) (mark)) + (buffer-substring-no-properties (point) (mark))) + (funcall (or find-tag-default-function + (get major-mode 'find-tag-default-function) + 'find-tag-default)) + "")) + (defun grep-default-command () - (let ((tag-default - (shell-quote-argument - (or (funcall (or find-tag-default-function - (get major-mode 'find-tag-default-function) - 'find-tag-default)) - ""))) + (let ((tag-default (shell-quote-argument (grep-tag-default))) (sh-arg-re "\\(\\(?:\"\\(?:[^\"]\\|\\\\\"\\)+\"\\|'[^']+'\\|[^\"' \t\n]\\)+\\)") (grep-default (or (car grep-history) grep-command))) ;; Replace the thing matching for with that around cursor. @@ -590,15 +594,11 @@ substitution string. Note dynamic scoping of variables.") (defun grep-read-regexp () "Read regexp arg for interactive grep." - (let ((default - (or (funcall (or find-tag-default-function - (get major-mode 'find-tag-default-function) - 'find-tag-default)) - ""))) + (let ((default (grep-tag-default))) (read-string (concat "Search for" (if (and default (> (length default) 0)) - (format " (default %s): " default) ": ")) + (format " (default \"%s\"): " default) ": ")) nil 'grep-regexp-history default))) (defun grep-read-files (regexp) -- 2.39.2