]> git.eshelyaron.com Git - emacs.git/commitdiff
(isearch-done): Use executing-kbd-macro.
authorKarl Heuer <kwzh@gnu.org>
Thu, 21 Dec 1995 17:49:54 +0000 (17:49 +0000)
committerKarl Heuer <kwzh@gnu.org>
Thu, 21 Dec 1995 17:49:54 +0000 (17:49 +0000)
(isearch-just-started): New variable.
(isearch-mode): Set it.
(isearch-search): Clear it.
(isearch-repeat): If isearch-just-started, don't test for empty match.
(isearch-unread): Use store-kbd-macro-event.

(isearch-search-and-update): Use isearch-case-fold-search
around the looking-at call.

lisp/isearch.el

index bbcc08bf00b98875a311ab051eec68aaa52c6d2a..3beec1835aa8831dc1eb6f647f500080ef522b9a 100644 (file)
@@ -298,6 +298,7 @@ Default value, nil, means edit the string instead.")
 (defvar isearch-other-end nil) ; Start (end) of match if forward (backward).
 (defvar isearch-wrapped nil)   ; Searching restarted from the top (bottom).
 (defvar isearch-barrier 0)
+(defvar isearch-just-started nil)
 
 ; case-fold-search while searching.
 ;   either nil, t, or 'yes.  'yes means the same as t except that mixed
@@ -463,10 +464,12 @@ is treated as a regexp.  See \\[isearch-forward] for more info."
                                           (* 4 search-slow-window-lines)))
        isearch-other-end nil
        isearch-small-window nil
+       isearch-just-started t
 
        isearch-opoint (point)
        search-ring-yank-pointer nil
        regexp-search-ring-yank-pointer nil)
+  (looking-at "")
   (setq isearch-window-configuration
        (if isearch-slow-terminal-mode (current-window-configuration) nil))
 
@@ -817,7 +820,8 @@ Use `isearch-exit' to quit without signalling."
 
   (if (equal isearch-string "")
       (setq isearch-success t)
-    (if (and isearch-success (equal (match-end 0) (match-beginning 0)))
+    (if (and isearch-success (equal (match-end 0) (match-beginning 0))
+            (not isearch-just-started))
        ;; If repeating a search that found
        ;; an empty string, ensure we advance.
        (if (if isearch-forward (eobp) (bobp))
@@ -938,8 +942,9 @@ If no previous match was done, just beep."
     ;; long as the match does not extend past search origin.
     (if (and (not isearch-forward) (not isearch-adjusted)
             (condition-case ()
-                (looking-at (if isearch-regexp isearch-string
-                              (regexp-quote isearch-string)))
+                (let ((case-fold-search isearch-case-fold-search))
+                  (looking-at (if isearch-regexp isearch-string
+                                (regexp-quote isearch-string))))
               (error nil))
               (or isearch-yank-flag
                   (<= (match-end 0) 
@@ -1361,6 +1366,7 @@ If there is no completion possible, say so and continue searching."
                     (t
                      (if isearch-forward 'search-forward 'search-backward)))
               isearch-string nil t))
+       (setq isearch-just-started nil)
        (if isearch-success
            (setq isearch-other-end
                  (if isearch-forward (match-beginning 0) (match-end 0)))))
@@ -1438,7 +1444,9 @@ since they have special meaning in a regexp."
     (isearch-char-to-string c)))
 
 ;; General function to unread characters or events.
+;; Also insert them in a keyboard macro being defined.
 (defun isearch-unread (&rest char-or-events)
+  (mapcar 'store-kbd-macro-event char-or-events)
   (setq unread-command-events
        (append char-or-events unread-command-events)))