]> code.delx.au - gnu-emacs/blobdiff - lisp/delsel.el
Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca
[gnu-emacs] / lisp / delsel.el
index b1f1151c22fef7463dcdc26c6f5f8bcf2295a1f5..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 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1997-1998, 2001-2012 Free Software Foundation, Inc.
 
 ;; Author: Matthieu Devin <devin@lucid.com>
 ;; Maintainer: FSF
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,9 +20,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -59,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
@@ -91,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))
@@ -104,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).
@@ -146,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.
@@ -179,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