Mercurial > emacs
changeset 94525:dea0b823c8e2
(occur-read-primary-args): Set default to the car of
regexp-history and display it in the prompt, but don't add to the
list of minibuffer defaults. Bind history-add-new-input to nil to
not add automatically `default'. For empty input return `default'.
Otherwise, add `input' to regexp-history and return it.
(occur-1): Signal an error for the empty regexp.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Thu, 01 May 2008 23:55:44 +0000 |
parents | d5bb3798f8cb |
children | c444df26b274 |
files | lisp/replace.el |
diffstat | 1 files changed, 16 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/replace.el Thu May 01 22:53:09 2008 +0000 +++ b/lisp/replace.el Thu May 01 23:55:44 2008 +0000 @@ -1005,7 +1005,8 @@ (nreverse result)))) (defun occur-read-primary-args () - (let* ((default + (let* ((default (car regexp-history)) + (defaults (list (and transient-mark-mode mark-active (regexp-quote (buffer-substring-no-properties @@ -1020,12 +1021,20 @@ (regexp-quote (or (car search-ring) "")) (car (symbol-value query-replace-from-history-variable)))) - (default (delete-dups (delq nil (delete "" default)))) + (defaults (delete-dups (delq nil (delete "" defaults)))) + ;; Don't add automatically the car of defaults for empty input + (history-add-new-input nil) (input (read-from-minibuffer - "List lines matching regexp: " - nil nil nil 'regexp-history default))) - (list input + (if default + (format "List lines matching regexp (default %s): " + (query-replace-descr default)) + "List lines matching regexp: ") + nil nil nil 'regexp-history defaults))) + (list (if (equal input "") + default + (prog1 input + (add-to-history 'regexp-history input))) (when current-prefix-arg (prefix-numeric-value current-prefix-arg))))) @@ -1123,6 +1132,8 @@ (buffer-list)))))) (defun occur-1 (regexp nlines bufs &optional buf-name) + (unless (and regexp (not (equal regexp ""))) + (error "Occur doesn't work with the empty regexp")) (unless buf-name (setq buf-name "*Occur*")) (let (occur-buf