Mercurial > hg > xemacs-beta
changeset 1601:442db3c3c43b
[xemacs-hg @ 2003-08-02 08:42:10 by michaels]
2003-07-31 Mike Sperber <mike@xemacs.org>
* isearch-mode.el (isearch-mode-help):
(isearch-update):
(isearch-done):
(isearch-edit-string): Change the way window configurations are
handled: Formerly, the code would do `set-window-configuration'
off `pre-command-hook' which isn't really allowed. (The old
window-configuration code would quietly ignore this restriction.)
Instead, save the window configuration only when someone asks for
help, and restore afterwards, and otherwise leave it alone.
author | michaels |
---|---|
date | Sat, 02 Aug 2003 08:42:11 +0000 |
parents | 98419bcfe892 |
children | 34183e92bf01 |
files | lisp/ChangeLog lisp/isearch-mode.el |
diffstat | 2 files changed, 23 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Fri Aug 01 21:52:21 2003 +0000 +++ b/lisp/ChangeLog Sat Aug 02 08:42:11 2003 +0000 @@ -1,3 +1,15 @@ +2003-07-31 Mike Sperber <mike@xemacs.org> + + * isearch-mode.el (isearch-mode-help): + (isearch-update): + (isearch-done): + (isearch-edit-string): Change the way window configurations are + handled: Formerly, the code would do `set-window-configuration' + off `pre-command-hook' which isn't really allowed. (The old + window-configuration code would quietly ignore this restriction.) + Instead, save the window configuration only when someone asks for + help, and restore afterwards, and otherwise leave it alone. + 2003-07-24 Mike Sperber <mike@xemacs.org> * post-gc.el (simple-finalizer-ephemerons):
--- a/lisp/isearch-mode.el Fri Aug 01 21:52:21 2003 +0000 +++ b/lisp/isearch-mode.el Sat Aug 02 08:42:11 2003 +0000 @@ -490,10 +490,12 @@ ;; it, though. -hniksic (defun isearch-mode-help () (interactive "_") - (let ((w (selected-window))) - (describe-function 'isearch-forward) - (select-window w)) - (isearch-update)) + (let ((config (current-window-configuration))) + (let ((w (selected-window))) + (describe-function 'isearch-forward) + (select-window w)) + (isearch-update) + (setq isearch-window-configuration config))) ;;;================================================================== @@ -539,7 +541,6 @@ search-ring-yank-pointer nil regexp-search-ring-yank-pointer nil isearch-unhidden-extents nil - isearch-window-configuration (current-window-configuration) ;; #### What we really need is a buffer-local ;; overriding-local-map. See isearch-pre-command-hook for @@ -584,6 +585,10 @@ (defun isearch-update () ;; Called after each command to update the display. + (if isearch-window-configuration + (progn + (set-window-configuration isearch-window-configuration) + (setq isearch-window-configuration nil))) (if (null unread-command-events) (progn (if (not (input-pending-p)) @@ -622,6 +627,7 @@ (defun isearch-done (&optional nopush edit) ;; Called by all commands that terminate isearch-mode. + (setq isearch-window-configuration nil) (let ((inhibit-quit t)) ; danger danger! (if (and isearch-buffer (buffer-live-p isearch-buffer)) ;; Some loser process filter might have switched the window's @@ -648,8 +654,6 @@ (let ((found-start (window-start (selected-window))) (found-point (point))) (cond ((eq (selected-frame) isearch-selected-frame) - (set-window-configuration isearch-window-configuration) - (if isearch-small-window (goto-char found-point) ;; Exiting the save-window-excursion clobbers @@ -768,7 +772,6 @@ (isearch-slow-terminal-mode isearch-slow-terminal-mode) (isearch-small-window isearch-small-window) (isearch-recursive-edit isearch-recursive-edit) - (isearch-window-configuration (current-window-configuration)) (isearch-selected-frame (selected-frame)) ) ;; Actually terminate isearching until editing is done.