emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r106434: * lisp/isearch.el (isearch-l


From: Juri Linkov
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106434: * lisp/isearch.el (isearch-lazy-highlight-new-loop):
Date: Sat, 19 Nov 2011 23:03:12 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106434
fixes bug(s): http://debbugs.gnu.org/9918
committer: Juri Linkov <address@hidden>
branch nick: trunk
timestamp: Sat 2011-11-19 23:03:12 +0200
message:
  * lisp/isearch.el (isearch-lazy-highlight-new-loop):
  Remove condition `(not isearch-error)'. 
  
  * lisp/misearch.el (multi-isearch-search-fun): Add condition
  `(not bound)' to ignore lazy-highlighting search.
  Add the search-failed message "end of multi" when the end of
  multi-sequence is reached.  Uncapitalize the search-failed
  message "Repeat for next buffer".
  
  * lisp/info.el (Info-search): Add the search-failed message
  "end of the manual" when the end of the manual is reached
  in Isearch mode.
modified:
  lisp/ChangeLog
  lisp/info.el
  lisp/isearch.el
  lisp/misearch.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-11-19 20:14:56 +0000
+++ b/lisp/ChangeLog    2011-11-19 21:03:12 +0000
@@ -1,5 +1,20 @@
 2011-11-19  Juri Linkov  <address@hidden>
 
+       * isearch.el (isearch-lazy-highlight-new-loop):
+       Remove condition `(not isearch-error)'.  (Bug#9918)
+
+       * misearch.el (multi-isearch-search-fun): Add condition
+       `(not bound)' to ignore lazy-highlighting search.
+       Add the search-failed message "end of multi" when the end of
+       multi-sequence is reached.  Uncapitalize the search-failed
+       message "Repeat for next buffer".
+
+       * info.el (Info-search): Add the search-failed message
+       "end of the manual" when the end of the manual is reached
+       in Isearch mode.
+
+2011-11-19  Juri Linkov  <address@hidden>
+
        * info.el (Info-find-node-2, Info-select-node, Info-history-find-node):
        Use non-destructive `remove' instead of `delete' because
        `Info-history-list' stored to `Info-isearch-initial-history-list' in

=== modified file 'lisp/info.el'
--- a/lisp/info.el      2011-11-19 20:14:56 +0000
+++ b/lisp/info.el      2011-11-19 21:03:12 +0000
@@ -1846,7 +1846,9 @@
                    (setq list nil)))
              (if found
                  (message "")
-               (signal 'search-failed (list regexp))))
+               (signal 'search-failed (if isearch-mode
+                                          (list regexp "end of the manual")
+                                        (list regexp)))))
          (if (not found)
              (progn (Info-read-subfile osubfile)
                     (goto-char opoint)

=== modified file 'lisp/isearch.el'
--- a/lisp/isearch.el   2011-11-19 19:59:37 +0000
+++ b/lisp/isearch.el   2011-11-19 21:03:12 +0000
@@ -2673,25 +2673,27 @@
     ;; something important did indeed change
     (lazy-highlight-cleanup t) ;kill old loop & remove overlays
     (setq isearch-lazy-highlight-error isearch-error)
-    (when (not isearch-error)
-      (setq isearch-lazy-highlight-start-limit beg
-           isearch-lazy-highlight-end-limit end)
-      (setq isearch-lazy-highlight-window       (selected-window)
-            isearch-lazy-highlight-window-start (window-start)
-            isearch-lazy-highlight-window-end   (window-end)
-            isearch-lazy-highlight-start        (point)
-            isearch-lazy-highlight-end          (point)
-            isearch-lazy-highlight-wrapped      nil
-            isearch-lazy-highlight-last-string  isearch-string
-           isearch-lazy-highlight-case-fold-search isearch-case-fold-search
-           isearch-lazy-highlight-regexp       isearch-regexp
-           isearch-lazy-highlight-space-regexp search-whitespace-regexp
-           isearch-lazy-highlight-word         isearch-word
-           isearch-lazy-highlight-forward      isearch-forward)
+    ;; It used to check for `(not isearch-error)' here, but actually
+    ;; lazy-highlighting might find matches to highlight even when
+    ;; `isearch-error' is non-nil.  (Bug#9918)
+    (setq isearch-lazy-highlight-start-limit beg
+         isearch-lazy-highlight-end-limit end)
+    (setq isearch-lazy-highlight-window       (selected-window)
+         isearch-lazy-highlight-window-start (window-start)
+         isearch-lazy-highlight-window-end   (window-end)
+         isearch-lazy-highlight-start        (point)
+         isearch-lazy-highlight-end          (point)
+         isearch-lazy-highlight-wrapped      nil
+         isearch-lazy-highlight-last-string  isearch-string
+         isearch-lazy-highlight-case-fold-search isearch-case-fold-search
+         isearch-lazy-highlight-regexp       isearch-regexp
+         isearch-lazy-highlight-space-regexp search-whitespace-regexp
+         isearch-lazy-highlight-word         isearch-word
+         isearch-lazy-highlight-forward      isearch-forward)
       (unless (equal isearch-string "")
        (setq isearch-lazy-highlight-timer
              (run-with-idle-timer lazy-highlight-initial-delay nil
-                                  'isearch-lazy-highlight-update))))))
+                                  'isearch-lazy-highlight-update)))))
 
 (defun isearch-lazy-highlight-search ()
   "Search ahead for the next or previous match, for lazy highlighting.

=== modified file 'lisp/misearch.el'
--- a/lisp/misearch.el  2011-04-19 13:44:55 +0000
+++ b/lisp/misearch.el  2011-11-19 21:03:12 +0000
@@ -142,7 +142,7 @@
        ;; 1. First try searching in the initial buffer
        (let ((res (funcall search-fun string bound noerror)))
         ;; Reset wrapping for all-buffers pause after successful search
-        (if (and res (eq multi-isearch-pause t))
+        (if (and res (not bound) (eq multi-isearch-pause t))
             (setq multi-isearch-current-buffer nil))
         res)
        ;; 2. If the above search fails, start visiting next/prev buffers
@@ -173,8 +173,8 @@
                   found)
               ;; Return nil when multi-isearch-next-buffer-current-function 
fails
               ;; (`with-current-buffer' raises an error for nil returned from 
it).
-              (error nil))
-          (signal 'search-failed (list string "Repeat for next buffer"))))))))
+              (error (signal 'search-failed (list string "end of multi"))))
+          (signal 'search-failed (list string "repeat for next buffer"))))))))
 
 (defun multi-isearch-wrap ()
   "Wrap the multiple buffers search when search is failed.


reply via email to

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