emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/replace.el,v


From: Juri Linkov
Subject: [Emacs-diffs] Changes to emacs/lisp/replace.el,v
Date: Fri, 16 Nov 2007 01:19:50 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Juri Linkov <jurta>     07/11/16 01:19:50

Index: replace.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/replace.el,v
retrieving revision 1.260
retrieving revision 1.261
diff -u -b -r1.260 -r1.261
--- replace.el  10 Nov 2007 21:48:46 -0000      1.260
+++ replace.el  16 Nov 2007 01:19:50 -0000      1.261
@@ -533,9 +533,20 @@
   "Read arguments for `keep-lines' and friends.
 Prompt for a regexp with PROMPT.
 Value is a list, (REGEXP)."
+  (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 nil t)
-       nil nil t))
+                               '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 @@
       (nreverse result))))
 
 (defun occur-read-primary-args ()
-  (list (let* ((default (car regexp-history))
+  (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
-                (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))
+          "List lines matching regexp: "
+          nil nil nil 'regexp-history default)))
+    (list input
        (when current-prefix-arg
-         (prefix-numeric-value 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*.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]