Mercurial > emacs
comparison lisp/replace.el @ 10057:460fecc93446
(query-replace-map): Define \e and escape as exit-prefix.
(perform-replace): When exiting and rereading, set
this-command to mode-exit.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 23 Nov 1994 09:10:36 +0000 |
parents | 32d20ec5ed51 |
children | badc25c57780 |
comparison
equal
deleted
inserted
replaced
10056:920dae6ba331 | 10057:460fecc93446 |
---|---|
444 (defvar query-replace-map (make-sparse-keymap) | 444 (defvar query-replace-map (make-sparse-keymap) |
445 "Keymap that defines the responses to questions in `query-replace'. | 445 "Keymap that defines the responses to questions in `query-replace'. |
446 The \"bindings\" in this map are not commands; they are answers. | 446 The \"bindings\" in this map are not commands; they are answers. |
447 The valid answers include `act', `skip', `act-and-show', | 447 The valid answers include `act', `skip', `act-and-show', |
448 `exit', `act-and-exit', `edit', `delete-and-edit', `recenter', | 448 `exit', `act-and-exit', `edit', `delete-and-edit', `recenter', |
449 `automatic', `backup', and `help'.") | 449 `automatic', `backup', `exit-prefix', and `help'.") |
450 | 450 |
451 (define-key query-replace-map " " 'act) | 451 (define-key query-replace-map " " 'act) |
452 (define-key query-replace-map "\d" 'skip) | 452 (define-key query-replace-map "\d" 'skip) |
453 (define-key query-replace-map [delete] 'skip) | 453 (define-key query-replace-map [delete] 'skip) |
454 (define-key query-replace-map [backspace] 'skip) | 454 (define-key query-replace-map [backspace] 'skip) |
468 (define-key query-replace-map "^" 'backup) | 468 (define-key query-replace-map "^" 'backup) |
469 (define-key query-replace-map "\C-h" 'help) | 469 (define-key query-replace-map "\C-h" 'help) |
470 (define-key query-replace-map "?" 'help) | 470 (define-key query-replace-map "?" 'help) |
471 (define-key query-replace-map "\C-g" 'quit) | 471 (define-key query-replace-map "\C-g" 'quit) |
472 (define-key query-replace-map "\C-]" 'quit) | 472 (define-key query-replace-map "\C-]" 'quit) |
473 (define-key query-replace-map "\e" 'exit-prefix) | |
474 (define-key query-replace-map [escape] 'exit-prefix) | |
473 | 475 |
474 (defun perform-replace (from-string replacements | 476 (defun perform-replace (from-string replacements |
475 query-flag regexp-flag delimited-flag | 477 query-flag regexp-flag delimited-flag |
476 &optional repeat-count map) | 478 &optional repeat-count map) |
477 "Subroutine of `query-replace'. Its complexity handles interactive queries. | 479 "Subroutine of `query-replace'. Its complexity handles interactive queries. |
624 (delete-region (match-beginning 0) (match-end 0)) | 626 (delete-region (match-beginning 0) (match-end 0)) |
625 (store-match-data | 627 (store-match-data |
626 (prog1 (match-data) | 628 (prog1 (match-data) |
627 (save-excursion (recursive-edit)))) | 629 (save-excursion (recursive-edit)))) |
628 (setq replaced t)) | 630 (setq replaced t)) |
631 ;; Note: we do not need to treat `exit-prefix' | |
632 ;; specially here, since we reread | |
633 ;; any unrecognized character. | |
629 (t | 634 (t |
635 (setq this-command 'mode-exited) | |
630 (setq keep-going nil) | 636 (setq keep-going nil) |
631 (setq unread-command-events | 637 (setq unread-command-events |
632 (append (listify-key-sequence key) | 638 (append (listify-key-sequence key) |
633 unread-command-events)) | 639 unread-command-events)) |
634 (setq done t)))) | 640 (setq done t)))) |