diff options
author | Jambunathan K <kjambunathan@gmail.com> | 2013-02-16 14:56:42 +0530 |
---|---|---|
committer | Jambunathan K <kjambunathan@gmail.com> | 2013-02-16 14:56:42 +0530 |
commit | 2b0afdd959577f6049dbcb64e17885fcf75a95b9 (patch) | |
tree | 9bf18e94b289d27a62dd1ec9809b57b81df3109c /lisp/replace.el | |
parent | a7a84eea2d2f38e0029e656faa6566ae11de03a3 (diff) | |
download | emacs-2b0afdd959577f6049dbcb64e17885fcf75a95b9.tar.gz |
(read-regexp): Add regexp for symbol at point to the defaults (Bug#13687).
* lisp/replace.el (read-regexp): Tighten the regexp that matches tag.
When tag is retrieved with `find-tag-default', use regexp that
matches tag at point. Also update docstring.
Diffstat (limited to 'lisp/replace.el')
-rw-r--r-- | lisp/replace.el | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/lisp/replace.el b/lisp/replace.el index 7757426cf95..0b8aaa7d349 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -585,27 +585,32 @@ of `history-length', which see.") When PROMPT doesn't end with a colon and space, it adds a final \": \". If DEFAULTS is non-nil, it displays the first default in the prompt. -Non-nil optional arg DEFAULTS is a string or a list of strings that -are prepended to a list of standard default values, which include the -string at point, the last isearch regexp, the last isearch string, and -the last replacement regexp. +Optional arg DEFAULTS is a string or a list of strings that are +prepended to a list of standard default values, which include the +tag at point, the last isearch regexp, the last isearch string, +and the last replacement regexp. Non-nil HISTORY is a symbol to use for the history list. If HISTORY is nil, `regexp-history' is used." - (let* ((default (if (consp defaults) (car defaults) defaults)) - (defaults + (let* ((defaults (append (if (listp defaults) defaults (list defaults)) - (list (regexp-quote - (or (funcall (or find-tag-default-function + (list + ;; Regexp for tag at point. + (let* ((tagf (or find-tag-default-function (get major-mode 'find-tag-default-function) 'find-tag-default)) - "")) + (tag (funcall tagf))) + (cond ((not tag) "") + ((eq tagf 'find-tag-default) + (format "\\_<%s\\_>" (regexp-quote tag))) + (t (regexp-quote tag)))) (car regexp-search-ring) (regexp-quote (or (car search-ring) "")) (car (symbol-value query-replace-from-history-variable))))) (defaults (delete-dups (delq nil (delete "" defaults)))) + (default (car defaults)) ;; Do not automatically add default to the history for empty input. (history-add-new-input nil) (input (read-from-minibuffer |