emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Juri Linkov
Subject: [Emacs-diffs] Changes to emacs/lisp/isearch.el,v
Date: Sun, 09 Dec 2007 23:47:30 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Juri Linkov <jurta>     07/12/09 23:47:30

Index: isearch.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/isearch.el,v
retrieving revision 1.306
retrieving revision 1.307
diff -u -b -r1.306 -r1.307
--- isearch.el  10 Nov 2007 23:03:24 -0000      1.306
+++ isearch.el  9 Dec 2007 23:47:30 -0000       1.307
@@ -96,7 +96,8 @@
 That is, upper and lower case chars must match exactly.
 This applies no matter where the chars come from, but does not
 apply to chars in regexps that are prefixed with `\\'.
-If this value is `not-yanks', yanked text is always downcased."
+If this value is `not-yanks', text yanked into the search string
+in Isearch mode is always downcased."
   :type '(choice (const :tag "off" nil)
                 (const not-yanks)
                 (other :tag "on" t))
@@ -411,6 +412,7 @@
 
     (define-key map [?\M-%] 'isearch-query-replace)
     (define-key map [?\C-\M-%] 'isearch-query-replace-regexp)
+    (define-key map "\M-so" 'isearch-occur)
 
     map)
   "Keymap for `isearch-mode'.")
@@ -1230,11 +1232,14 @@
   (isearch-update))
 
 (defun isearch-query-replace (&optional regexp-flag)
-  "Start query-replace with string to replace from last search string."
+  "Start `query-replace' with string to replace from last search string."
   (interactive)
   (barf-if-buffer-read-only)
   (if regexp-flag (setq isearch-regexp t))
-  (let ((case-fold-search isearch-case-fold-search))
+  (let ((case-fold-search isearch-case-fold-search)
+       ;; set `search-upper-case' to nil to not call
+       ;; `isearch-no-upper-case-p' in `perform-replace'
+       (search-upper-case nil))
     (isearch-done)
     (isearch-clean-overlays)
     (if (and isearch-other-end
@@ -1256,10 +1261,24 @@
      (if (and transient-mark-mode mark-active) (region-end)))))
 
 (defun isearch-query-replace-regexp ()
-  "Start query-replace-regexp with string to replace from last search string."
+  "Start `query-replace-regexp' with string to replace from last search 
string."
   (interactive)
   (isearch-query-replace t))
 
+(defun isearch-occur (regexp &optional nlines)
+  "Run `occur' with regexp to search from the current search string.
+Interactively, REGEXP is the current search regexp or a quoted search
+string.  NLINES has the same meaning as in `occur'."
+  (interactive
+   (list
+    (if isearch-regexp isearch-string (regexp-quote isearch-string))
+    (if current-prefix-arg (prefix-numeric-value current-prefix-arg))))
+  (let ((case-fold-search isearch-case-fold-search)
+       ;; set `search-upper-case' to nil to not call
+       ;; `isearch-no-upper-case-p' in `occur-1'
+       (search-upper-case nil))
+    (occur regexp nlines)))
+
 
 (defun isearch-delete-char ()
   "Discard last input item and move point back.




reply via email to

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