Mercurial > emacs
changeset 72163:bca9d3121eef
(grep-tag-default): New function.
(grep-default-command, grep-read-regexp): Use it.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 28 Jul 2006 23:03:18 +0000 |
parents | e1280b2c4b26 |
children | 636d15c88534 |
files | lisp/progmodes/grep.el |
diffstat | 1 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/grep.el Fri Jul 28 23:03:05 2006 +0000 +++ b/lisp/progmodes/grep.el Fri Jul 28 23:03:18 2006 +0000 @@ -455,13 +455,17 @@ (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 @@ (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)