summaryrefslogtreecommitdiff
path: root/lisp/delsel.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2005-08-14 06:59:39 +0000
committerJuri Linkov <juri@jurta.org>2005-08-14 06:59:39 +0000
commitec08e2f4da08c2d53ba10442ba3a9b58ba914d8c (patch)
treec6c2ca27174e687bed7e600ee3943370c9c43fbd /lisp/delsel.el
parent05d9618303a619a5f6c91ff2697063e93dbc91c9 (diff)
(delete-selection-pre-hook): If overwrite-mode is
enabled and the current command is self-insert-command, call it explicitly with overwrite-mode bound to nil, to not allow it to delete the character after the selected region.
Diffstat (limited to 'lisp/delsel.el')
-rw-r--r--lisp/delsel.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/delsel.el b/lisp/delsel.el
index 74ef011d47..d7a3d90e96 100644
--- a/lisp/delsel.el
+++ b/lisp/delsel.el
@@ -101,7 +101,11 @@ any selection."
(unless empty-region
(setq this-command 'ignore))))
(type
- (delete-active-region)))
+ (delete-active-region)
+ (if (and overwrite-mode (eq this-command 'self-insert-command))
+ (let ((overwrite-mode nil))
+ (self-insert-command (prefix-numeric-value current-prefix-arg))
+ (setq this-command 'ignore)))))
(file-supersession
;; If ask-user-about-supersession-threat signals an error,
;; stop safe_run_hooks from clearing out pre-command-hook.