]> code.delx.au - gnu-emacs/blobdiff - lisp/delsel.el
* lisp/progmodes/compile.el (compilation-always-kill): New var.
[gnu-emacs] / lisp / delsel.el
index cb5f1c49896740d8d174d07cc4d3c519261d2599..a6435672201866ac4e6467adcbccfa0642508dea 100644 (file)
@@ -1,7 +1,6 @@
 ;;; delsel.el --- delete selection if you insert
 
-;; Copyright (C) 1992, 1997, 1998, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Matthieu Devin <devin@lucid.com>
 ;; Maintainer: FSF
@@ -57,8 +56,9 @@
 ;;;###autoload
 (define-minor-mode delete-selection-mode
   "Toggle Delete Selection mode.
-With prefix ARG, turn Delete Selection mode on if ARG is
-positive, off if ARG is not positive.
+With a prefix argument ARG, enable Delete Selection mode if ARG
+is positive, and disable it otherwise.  If called from Lisp,
+enable the mode if ARG is omitted or nil.
 
 When Delete Selection mode is enabled, Transient Mark mode is also
 enabled and typed text replaces the selection if the selection is
@@ -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).
@@ -144,7 +144,7 @@ any selection."
 (put 'newline 'delete-selection t)
 (put 'open-line 'delete-selection 'kill)
 
-;; This is very useful for cancelling a selection in the minibuffer without
+;; This is very useful for canceling a selection in the minibuffer without
 ;; aborting the minibuffer.
 (defun minibuffer-keyboard-quit ()
   "Abort recursive edit.
@@ -177,5 +177,4 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
 
 (provide 'delsel)
 
-;; arch-tag: 1e388890-1b50-4ed0-9347-763b1343b6ed
 ;;; delsel.el ends here