# HG changeset patch # User Stefan Monnier # Date 970359927 0 # Node ID 63a2ec6dae399e204141df67ab38a7d1064a86bc # Parent 81c2a01bd3b3bf08732b1c41df25298511100db2 (delete-selection-mode): Use define-minor-mode. diff -r 81c2a01bd3b3 -r 63a2ec6dae39 lisp/delsel.el --- a/lisp/delsel.el Sun Oct 01 00:10:51 2000 +0000 +++ b/lisp/delsel.el Sun Oct 01 00:25:27 2000 +0000 @@ -56,7 +56,7 @@ (defalias 'pending-delete-mode 'delete-selection-mode) ;;;###autoload -(defun delete-selection-mode (&optional arg) +(define-minor-mode delete-selection-mode "Toggle Delete Selection mode. With prefix ARG, turn Delete Selection mode on if and only if ARG is positive. @@ -65,28 +65,12 @@ enabled and typed text replaces the selection if the selection is active. Otherwise, typed text is just inserted at point regardless of any selection." - (interactive "P") - (setq delete-selection-mode (if arg - (> (prefix-numeric-value arg) 0) - (not delete-selection-mode))) + nil nil nil :global t :group 'editing-basics (if (not delete-selection-mode) (remove-hook 'pre-command-hook 'delete-selection-pre-hook) (add-hook 'pre-command-hook 'delete-selection-pre-hook) (transient-mark-mode t))) -;;;###autoload -(defcustom delete-selection-mode nil - "Toggle Delete Selection mode. -See command `delete-selection-mode'. -Setting this variable directly does not take effect; -use either \\[customize] or the function `delete-selection-mode'." - :set (lambda (symbol value) - (delete-selection-mode (or value 0))) - :initialize 'custom-initialize-default - :type 'boolean - :group 'editing-basics - :require 'delsel) - (defun delete-active-region (&optional killp) (if killp (kill-region (point) (mark)) @@ -160,10 +144,4 @@ (provide 'delsel) -;; This is the standard way to put the mode into effect -;; if delete-selection-mode has already been set to t -;; when this file is loaded. -(when delete-selection-mode - (delete-selection-mode t)) - ;;; delsel.el ends here