Mercurial > emacs
changeset 64989:6b11882571cb
(cua-delete-region): Return t if
deleted region was non-empty.
(cua-replace-region): Inhibit overwrite-mode for
self-insert-command if replaced region was non-empty.
(cua--explicit-region-start, cua--status-string): Make them
buffer-local at top-level...
(cua-mode): ...rather than when mode is enabled.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 15 Aug 2005 14:10:39 +0000 |
parents | 94244c068735 |
children | 31195f42e486 |
files | lisp/emulation/cua-base.el |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emulation/cua-base.el Mon Aug 15 13:54:37 2005 +0000 +++ b/lisp/emulation/cua-base.el Mon Aug 15 14:10:39 2005 +0000 @@ -575,6 +575,7 @@ ;; Current region was started using cua-set-mark. (defvar cua--explicit-region-start nil) +(make-variable-buffer-local 'cua--explicit-region-start) ;; Latest region was started using shifted movement command. (defvar cua--last-region-shifted nil) @@ -585,6 +586,7 @@ ;; status string for mode line indications (defvar cua--status-string nil) +(make-variable-buffer-local 'cua--status-string) (defvar cua--debug nil) @@ -759,14 +761,19 @@ (cons (current-buffer) (and (consp buffer-undo-list) (car buffer-undo-list)))) - (cua--deactivate))) + (cua--deactivate) + (/= start end))) (defun cua-replace-region () "Replace the active region with the character you type." (interactive) - (cua-delete-region) - (unless (eq this-original-command this-command) - (cua--fallback))) + (let ((not-empty (cua-delete-region))) + (unless (eq this-original-command this-command) + (let ((overwrite-mode + (and overwrite-mode + not-empty + (not (eq this-original-command 'self-insert-command))))) + (cua--fallback))))) (defun cua-copy-region (arg) "Copy the region to the kill ring. @@ -1359,8 +1366,6 @@ :link '(emacs-commentary-link "cua-base.el") (setq mark-even-if-inactive t) (setq highlight-nonselected-windows nil) - (make-variable-buffer-local 'cua--explicit-region-start) - (make-variable-buffer-local 'cua--status-string) (unless cua--keymaps-initalized (cua--init-keymaps)