1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

* lisp/delsel.el (delete-selection-pre-hook): Don't propagate the

file-supersession signals.

Fixes: debbugs:12161
This commit is contained in:
Stefan Monnier 2012-08-08 22:18:50 -04:00
parent cc92c454ad
commit 5d65606a7e
2 changed files with 12 additions and 7 deletions

View file

@ -1,3 +1,8 @@
2012-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
* delsel.el (delete-selection-pre-hook): Don't propagate the
file-supersession signals (bug#12161).
2012-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/cl.el (cl-map-keymap-recursively, cl-map-intervals)

View file

@ -89,7 +89,8 @@ any selection."
;; head of the kill-ring that really comes from the
;; currently active region we are going to delete.
;; That would make yank a no-op.
(when (and (string= (buffer-substring-no-properties (point) (mark))
(when (and (string= (buffer-substring-no-properties
(point) (mark))
(car kill-ring))
(fboundp 'mouse-region-match)
(mouse-region-match))
@ -102,16 +103,15 @@ any selection."
(setq this-command 'ignore))))
(type
(delete-active-region)
(if (and overwrite-mode (eq this-command 'self-insert-command))
(if (and overwrite-mode
(eq this-command 'self-insert-command))
(let ((overwrite-mode nil))
(self-insert-command (prefix-numeric-value current-prefix-arg))
(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.
(and (eq inhibit-quit 'pre-command-hook)
(setq inhibit-quit 'delete-selection-dummy))
(signal 'file-supersession (cdr data)))
(file-supersession (message "%s" (cadr data)) (ding))
(text-read-only
;; This signal may come either from `delete-active-region' or
;; `self-insert-command' (when `overwrite-mode' is non-nil).