summaryrefslogtreecommitdiff
path: root/lisp/replace.el
diff options
context:
space:
mode:
authorJambunathan K <kjambunathan@gmail.com>2013-03-10 14:14:07 +0530
committerJambunathan K <kjambunathan@gmail.com>2013-03-10 14:14:07 +0530
commit45ba025e53f8d91f7b46dfabafa5c8aafe4906dc (patch)
treeab6f7520f328e6a1e287cb2ac9d6f39ecdcd4d43 /lisp/replace.el
parent1a7bceef7a8cb7f32872e987d8786965f3ed26f0 (diff)
downloademacs-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.el22
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