]> git.eshelyaron.com Git - emacs.git/commitdiff
(keep-lines-read-args, occur-read-primary-args):
authorJuri Linkov <juri@jurta.org>
Fri, 16 Nov 2007 01:20:20 +0000 (01:20 +0000)
committerJuri Linkov <juri@jurta.org>
Fri, 16 Nov 2007 01:20:20 +0000 (01:20 +0000)
Use a list of default values for DEFAULT arg of read-from-minibuffer.

lisp/ChangeLog
lisp/replace.el

index 4b333ca8ab8f13fd2238d6b7b186deea25fe3311..93fe154e313373889375f61118d2858f86f05421 100644 (file)
@@ -1,3 +1,14 @@
+2007-11-16  Juri Linkov  <juri@jurta.org>
+
+       * dired-aux.el (dired-read-shell-command-default): New function.
+       (dired-read-shell-command): Use its return value for DEFAULT arg.
+
+       * replace.el (keep-lines-read-args, occur-read-primary-args):
+       Use a list of default values for DEFAULT arg of read-from-minibuffer.
+
+       * man.el (Man-heading-regexp): Add 0-9.
+       (Man-first-heading-regexp): Remove leading space [ \t]* before NAME.
+
 2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * doc-view.el (doc-view-ghostscript-options): Remove resolution arg.
index 7876f9bb47c8e1be898915d2b47feb9fd859e89b..8e02ee3b3473e21a7c3c294d6ca4955ac3ed1439 100644 (file)
@@ -533,9 +533,20 @@ which will run faster and will not set the mark or print anything."
   "Read arguments for `keep-lines' and friends.
 Prompt for a regexp with PROMPT.
 Value is a list, (REGEXP)."
-  (list (read-from-minibuffer prompt nil nil nil
-                             'regexp-history nil t)
-       nil nil t))
+  (let* ((default (list
+                  (regexp-quote
+                   (or (funcall (or find-tag-default-function
+                                    (get major-mode 'find-tag-default-function)
+                                    'find-tag-default))
+                       ""))
+                  (car regexp-search-ring)
+                  (regexp-quote (or (car search-ring) ""))
+                  (car (symbol-value
+                        query-replace-from-history-variable))))
+        (default (delete-dups (delq nil (delete "" default)))))
+    (list (read-from-minibuffer prompt nil nil nil
+                               'regexp-history default t)
+         nil nil t)))
 
 (defun keep-lines (regexp &optional rstart rend interactive)
   "Delete all lines except those containing matches for REGEXP.
@@ -938,23 +949,29 @@ which means to discard all text properties."
       (nreverse result))))
 
 (defun occur-read-primary-args ()
-  (list (let* ((default (car regexp-history))
-              (input
-               (read-from-minibuffer
-                (if default
-                    (format "List lines matching regexp (default %s): "
-                            (query-replace-descr default))
-                  "List lines matching regexp: ")
-                nil
-                nil
-                nil
-                'regexp-history
-                default)))
-         (if (equal input "")
-             default
-           input))
-       (when current-prefix-arg
-         (prefix-numeric-value current-prefix-arg))))
+  (let* ((default
+          (list (and transient-mark-mode mark-active
+                     (regexp-quote
+                      (buffer-substring-no-properties
+                       (region-beginning) (region-end))))
+                (regexp-quote
+                 (or (funcall
+                      (or find-tag-default-function
+                          (get major-mode 'find-tag-default-function)
+                          'find-tag-default))
+                     ""))
+                (car regexp-search-ring)
+                (regexp-quote (or (car search-ring) ""))
+                (car (symbol-value
+                      query-replace-from-history-variable))))
+        (default (delete-dups (delq nil (delete "" default))))
+        (input
+         (read-from-minibuffer
+          "List lines matching regexp: "
+          nil nil nil 'regexp-history default)))
+    (list input
+         (when current-prefix-arg
+           (prefix-numeric-value current-prefix-arg)))))
 
 (defun occur-rename-buffer (&optional unique-p interactive-p)
   "Rename the current *Occur* buffer to *Occur: original-buffer-name*.