diff lisp/emulation/cua-base.el @ 71905:8e9a2b05bd3d

(cua-delete-selection, cua-toggle-set-mark): New defcustoms. (cua-rectangle-modifier-key): Add `alt' modifier. (cua-replace-region): Don't delete if cua-delete-selection is nil. (cua-set-mark): Don't clear mark if cua-toggle-set-mark is nil. Suggested by Klaus Zeitler <kzeitler@lucent.com>.
author Kim F. Storm <storm@cua.dk>
date Fri, 14 Jul 2006 22:14:08 +0000
parents 1f93e9207b29
children 153255cb260a 02e39decdc84 8a8e69664178
line wrap: on
line diff
--- a/lisp/emulation/cua-base.el	Fri Jul 14 22:12:39 2006 +0000
+++ b/lisp/emulation/cua-base.el	Fri Jul 14 22:14:08 2006 +0000
@@ -305,11 +305,23 @@
 		 (const :tag "No delay" nil))
   :group 'cua)
 
+(defcustom cua-delete-selection t
+  "*If non-nil, typed text replaces text in the active selection."
+  :type '(choice (const :tag "Disabled" nil)
+		 (other :tag "Enabled" t))
+  :group 'cua)
+
 (defcustom cua-keep-region-after-copy nil
   "If non-nil, don't deselect the region after copying."
   :type 'boolean
   :group 'cua)
 
+(defcustom cua-toggle-set-mark t
+  "*In non-nil, the `cua-set-mark' command toggles the mark."
+  :type '(choice (const :tag "Disabled" nil)
+		 (other :tag "Enabled" t))
+  :group 'cua)
+
 (defcustom cua-enable-register-prefix 'not-ctrl-u
   "*If non-nil, registers are supported via numeric prefix arg.
 If the value is t, any numeric prefix arg in the range 0 to 9 will be
@@ -391,7 +403,8 @@
 On non-window systems, always use the meta modifier.
 Must be set prior to enabling CUA."
   :type '(choice (const :tag "Meta key" meta)
-		 (const :tag "Hyper key" hyper )
+		 (const :tag "Alt key" alt)
+		 (const :tag "Hyper key" hyper)
 		 (const :tag "Super key" super))
   :group 'cua)
 
@@ -783,7 +796,7 @@
 (defun cua-replace-region ()
   "Replace the active region with the character you type."
   (interactive)
-  (let ((not-empty (cua-delete-region)))
+  (let ((not-empty (and cua-delete-selection (cua-delete-region))))
     (unless (eq this-original-command this-command)
       (let ((overwrite-mode
 	     (and overwrite-mode
@@ -1001,7 +1014,7 @@
    (arg
     (setq this-command 'pop-to-mark-command)
     (pop-to-mark-command))
-   (mark-active
+   ((and cua-toggle-set-mark mark-active)
     (cua--deactivate)
     (message "Mark Cleared"))
    (t