diff options
author | Kenichi Handa <handa@etlken> | 2010-08-09 11:31:21 +0900 |
---|---|---|
committer | Kenichi Handa <handa@etlken> | 2010-08-09 11:31:21 +0900 |
commit | fd71e94970ea84d3e4ed8fc5756373e57c1d9378 (patch) | |
tree | 52d9737a85d8dd267b2b32ee2b59edad7d611120 | |
parent | 4360344208820b1363ec42a4ac7aab9281304d0f (diff) | |
parent | 1fcf76afe76188b1f555f3e9b619fee70907d4c8 (diff) | |
download | emacs-fd71e94970ea84d3e4ed8fc5756373e57c1d9378.tar.gz |
merge emacs-23
-rw-r--r-- | lisp/ChangeLog | 15 | ||||
-rw-r--r-- | lisp/isearch.el | 19 | ||||
-rw-r--r-- | lisp/replace.el | 4 | ||||
-rw-r--r-- | lisp/whitespace.el | 2 |
4 files changed, 31 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2097f6c1973..0bdb6535045 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,18 @@ +2010-08-09 Geoff Gole <geoffgole@gmail.com> (tiny change) + + * whitespace.el (whitespace-color-off): Remove post-command-hook + locally. + +2010-08-08 Johan Bockgård <bojohan@gnu.org> + + * replace.el (replace-highlight): Bind isearch-forward and + isearch-error, ensuring that highlighting is updated if the user + switches the search direction (Bug#6808). + + * isearch.el (isearch-lazy-highlight-forward): New var. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + (isearch-lazy-highlight-update): Use it. + 2010-08-06 Kenichi Handa <handa@m17n.org> * international/mule.el (define-charset): Store NAME as :base diff --git a/lisp/isearch.el b/lisp/isearch.el index d0ad330c5c0..7071497cbfb 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -2574,6 +2574,7 @@ since they have special meaning in a regexp." (defvar isearch-lazy-highlight-case-fold-search nil) (defvar isearch-lazy-highlight-regexp nil) (defvar isearch-lazy-highlight-space-regexp nil) +(defvar isearch-lazy-highlight-forward nil) (defun lazy-highlight-cleanup (&optional force) "Stop lazy highlighting and remove extra highlighting from current buffer. @@ -2613,7 +2614,9 @@ by other Emacs features." (not (= (window-start) isearch-lazy-highlight-window-start)) (not (= (window-end) ; Window may have been split/joined. - isearch-lazy-highlight-window-end)))) + isearch-lazy-highlight-window-end)) + (not (eq isearch-forward + isearch-lazy-highlight-forward)))) ;; something important did indeed change (lazy-highlight-cleanup t) ;kill old loop & remove overlays (when (not isearch-error) @@ -2628,7 +2631,8 @@ by other Emacs features." isearch-lazy-highlight-case-fold-search isearch-case-fold-search isearch-lazy-highlight-regexp isearch-regexp isearch-lazy-highlight-wrapped nil - isearch-lazy-highlight-space-regexp search-whitespace-regexp) + isearch-lazy-highlight-space-regexp search-whitespace-regexp + isearch-lazy-highlight-forward isearch-forward) (unless (equal isearch-string "") (setq isearch-lazy-highlight-timer (run-with-idle-timer lazy-highlight-initial-delay nil @@ -2644,7 +2648,8 @@ Attempt to do the search exactly the way the pending Isearch would." (search-invisible nil) ; don't match invisible text (retry t) (success nil) - (bound (if isearch-forward + (isearch-forward isearch-lazy-highlight-forward) + (bound (if isearch-lazy-highlight-forward (min (or isearch-lazy-highlight-end-limit (point-max)) (if isearch-lazy-highlight-wrapped isearch-lazy-highlight-start @@ -2678,7 +2683,7 @@ Attempt to do the search exactly the way the pending Isearch would." (select-window isearch-lazy-highlight-window)) (save-excursion (save-match-data - (goto-char (if isearch-forward + (goto-char (if isearch-lazy-highlight-forward isearch-lazy-highlight-end isearch-lazy-highlight-start)) (while looping @@ -2691,7 +2696,7 @@ Attempt to do the search exactly the way the pending Isearch would." (let ((mb (match-beginning 0)) (me (match-end 0))) (if (= mb me) ;zero-length match - (if isearch-forward + (if isearch-lazy-highlight-forward (if (= mb (if isearch-lazy-highlight-wrapped isearch-lazy-highlight-start (window-end))) @@ -2711,7 +2716,7 @@ Attempt to do the search exactly the way the pending Isearch would." (overlay-put ov 'priority 1000) (overlay-put ov 'face lazy-highlight-face) (overlay-put ov 'window (selected-window)))) - (if isearch-forward + (if isearch-lazy-highlight-forward (setq isearch-lazy-highlight-end (point)) (setq isearch-lazy-highlight-start (point))))) @@ -2721,7 +2726,7 @@ Attempt to do the search exactly the way the pending Isearch would." (setq looping nil nomore t) (setq isearch-lazy-highlight-wrapped t) - (if isearch-forward + (if isearch-lazy-highlight-forward (progn (setq isearch-lazy-highlight-end (window-start)) (goto-char (max (or isearch-lazy-highlight-start-limit (point-min)) diff --git a/lisp/replace.el b/lisp/replace.el index 57b29442605..12263cf5aa6 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -1893,7 +1893,9 @@ make, or the user didn't cancel the call." (let ((isearch-string string) (isearch-regexp regexp) (search-whitespace-regexp nil) - (isearch-case-fold-search case-fold)) + (isearch-case-fold-search case-fold) + (isearch-forward t) + (isearch-error nil)) (isearch-lazy-highlight-new-loop range-beg range-end)))) (defun replace-dehighlight () diff --git a/lisp/whitespace.el b/lisp/whitespace.el index 183698a28f3..5c7d4e95caf 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -2297,7 +2297,7 @@ resultant list will be returned." ;; turn off font lock (when (whitespace-style-face-p) (font-lock-mode 0) - (remove-hook 'post-command-hook #'whitespace-post-command-hook) + (remove-hook 'post-command-hook #'whitespace-post-command-hook t) (when whitespace-font-lock (setq whitespace-font-lock nil font-lock-keywords whitespace-font-lock-keywords)) |