# HG changeset patch # User Richard M. Stallman # Date 778230213 0 # Node ID 3f7bd8c32c9a7b33386350ba30c1caf9e801cc26 # Parent 627a2ed242c0496a6372002c86141c26b54316af (isearch-edit-string): In the isearch-recursive-edit case, don't end the recursive edit and don't start another one. (isearch-done): New arg EDIT. (isearch-mode): Return t if search succeeded. diff -r 627a2ed242c0 -r 3f7bd8c32c9a lisp/isearch.el --- a/lisp/isearch.el Tue Aug 30 04:30:33 1994 +0000 +++ b/lisp/isearch.el Tue Aug 30 07:03:33 1994 +0000 @@ -4,7 +4,7 @@ ;; Author: Daniel LaLiberte -;; |$Date: 1994/06/11 18:59:38 $|$Revision: 1.70 $ +;; |$Date: 1994/08/05 04:15:20 $|$Revision: 1.71 $ ;; This file is part of GNU Emacs. @@ -531,7 +531,7 @@ (if recursive-edit (let ((isearch-recursive-edit t)) (recursive-edit))) - ) + isearch-success) ;;;==================================================== @@ -578,7 +578,7 @@ ) -(defun isearch-done (&optional nopush) +(defun isearch-done (&optional nopush edit) ;; Called by all commands that terminate isearch-mode. ;; If NOPUSH is non-nil, we don't push the string on the search ring. (setq overriding-local-map nil) @@ -626,7 +626,7 @@ (setcdr (nthcdr (1- search-ring-max) search-ring) nil)))))) (run-hooks 'isearch-mode-end-hook) - (if isearch-recursive-edit (exit-recursive-edit))) + (and (not edit) isearch-recursive-edit (exit-recursive-edit))) ;;;======================================================= ;;; Switching buffers should first terminate isearch-mode. @@ -714,7 +714,7 @@ ;; This is so that the user can do anything without failure, ;; like switch buffers and start another isearch, and return. (condition-case err - (isearch-done t) + (isearch-done t t) (exit nil)) ; was recursive editing (isearch-message) ;; for read-char @@ -751,7 +751,7 @@ (isearch-mode isearch-forward isearch-regexp isearch-op-fun - isearch-recursive-edit + nil isearch-word) ;; Copy new local values to isearch globals