diff options
author | Jambunathan K <kjambunathan@gmail.com> | 2013-03-10 14:14:07 +0530 |
---|---|---|
committer | Jambunathan K <kjambunathan@gmail.com> | 2013-03-10 14:14:07 +0530 |
commit | 45ba025e53f8d91f7b46dfabafa5c8aafe4906dc (patch) | |
tree | ab6f7520f328e6a1e287cb2ac9d6f39ecdcd4d43 /lisp/replace.el | |
parent | 1a7bceef7a8cb7f32872e987d8786965f3ed26f0 (diff) | |
download | emacs-45ba025e53f8d91f7b46dfabafa5c8aafe4906dc.tar.gz |
Provide for customizing default regexp in occur commands (Bug#13892).
* lisp/replace.el (occur-read-regexp-defaults-function): New var.
(occur-read-regexp-defaults): New defun.
(occur-read-primary-args): Propagate above change.
Diffstat (limited to 'lisp/replace.el')
-rw-r--r-- | lisp/replace.el | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lisp/replace.el b/lisp/replace.el index ceb0fe4a63e..17eea19edd8 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -1135,12 +1135,32 @@ which means to discard all text properties." :group 'matching :version "22.1") +(defvar occur-read-regexp-defaults-function + 'occur-read-regexp-defaults + "Function that provides default regexp(s) for occur commands. +This function should take no arguments and return one of nil, a +regexp or a list of regexps for use with occur commands - +`occur', `multi-occur' and `multi-occur-in-matching-buffers'. +The return value of this function is used as DEFAULTS param of +`read-regexp' while executing the occur command. This function +is called only during interactive use. + +For example, to check for occurrence of symbol at point use + + \(setq occur-read-regexp-defaults-function + 'find-tag-default-as-regexp\).") + +(defun occur-read-regexp-defaults () + "Return the latest regexp from `regexp-history'. +See `occur-read-regexp-defaults-function' for details." + (car regexp-history)) + (defun occur-read-primary-args () (let* ((perform-collect (consp current-prefix-arg)) (regexp (read-regexp (if perform-collect "Collect strings matching regexp" "List lines matching regexp") - (car regexp-history)))) + (funcall occur-read-regexp-defaults-function)))) (list regexp (if perform-collect ;; Perform collect operation |