]> git.eshelyaron.com Git - emacs.git/commitdiff
(cua-mode): Use define-minor-mode.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 18 Apr 2003 22:49:41 +0000 (22:49 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 18 Apr 2003 22:49:41 +0000 (22:49 +0000)
(cua-global-mark-face): Fix face format.

lisp/ChangeLog
lisp/emulation/cua-base.el

index 8068bc2669c66b00e93b9045c2e1e99d1178ee6d..75449735babfa0bc92f3ddbf46693c5cc809fbdc 100644 (file)
@@ -1,5 +1,12 @@
 2003-04-18  Stefan Monnier  <monnier@cs.yale.edu>
 
+       * emulation/cua-base.el (cua-mode): Use define-minor-mode.
+       (cua-global-mark-face): Fix face format.
+
+       * emacs-lisp/easy-mmode.el (define-minor-mode): Only echo a message
+       if the body didn't do so already.
+       (easy-mmode-define-keymap): Remove unused var `suppress'.
+
        * view.el (view-read-only): Move to files.el.
        * files.el (view-read-only): Move from view.el.
 
index 34f79e9cb28b2cd0598f73e6ef8a3a97c80b2e57..2215e46a0ce0770bcbc5d4adcc2d780bcbf23523 100644 (file)
   :link '(emacs-commentary-link :tag "Commentary" "cua-base.el")
   :link '(emacs-library-link :tag "Lisp File" "cua-base.el"))
 
-;;;###autoload
-(defcustom cua-mode nil
-  "Non-nil means that CUA emulation mode is enabled.
-In CUA mode, shifted movement keys highlight and extend the region.
-When a region is highlighted, the binding of the C-x and C-c keys are
-temporarily changed to work as Motif, MAC or MS-Windows cut and paste.
-Also, insertion commands first delete the region and then insert.
-This mode enables Transient Mark mode and it provides a superset of the
-PC Selection Mode and Delete Selection Modes.
-
-Setting this variable directly does not take effect;
-use either \\[customize] or the function `cua-mode'."
-  :set (lambda (symbol value)
-        (cua-mode (or value 0)))
-  :initialize 'custom-initialize-default
-  :set-after '(cua-enable-modeline-indications cua-use-hyper-key)
-  :require 'cua-base
-  :link '(emacs-commentary-link "cua-base.el")
-  :version "21.4"
-  :type 'boolean
-  :group 'cua)
-
-
 (defcustom cua-enable-cua-keys t
   "*Enable using C-z, C-x, C-c, and C-v for undo, cut, copy, and paste.
 If the value is t, these mappings are always enabled.  If the value is
@@ -405,9 +382,9 @@ Can be toggled by [M-p] while the rectangle is active,"
   :group 'cua)
 
 (defface cua-global-mark-face '((((class color))
-                                  (:foreground "black")
-                                 (:background "yellow"))
-                                 (t (:bold t)))
+                                :foreground "black"
+                                :background "yellow")
+                               (t :bold t))
   "*Font used by CUA for highlighting the global mark."
   :group 'cua)
 
@@ -1181,19 +1158,17 @@ Extra commands should be added to `cua-movement-commands'")
 (defvar cua--saved-state nil)
 
 ;;;###autoload
-(defun cua-mode (&optional arg)
+(define-minor-mode cua-mode
   "Toggle CUA key-binding mode.
 When enabled, using shifted movement keys will activate the region (and
 highlight the region using `transient-mark-mode'), and typed text replaces
 the active selection.  C-z, C-x, C-c, and C-v will undo, cut, copy, and
 paste (in addition to the normal emacs bindings)."
-  (interactive "P")
-  (setq cua-mode
-       (cond
-        ((null arg) (not cua-mode))
-        ((symbolp arg) t)
-        (t (> (prefix-numeric-value arg) 0))))
-
+  :global t
+  :set-after '(cua-enable-modeline-indications cua-use-hyper-key)
+  :require 'cua-base
+  :link '(emacs-commentary-link "cua-base.el")
+  :version "21.4"
   (setq mark-even-if-inactive t)
   (setq highlight-nonselected-windows nil)
   (make-variable-buffer-local 'cua--explicit-region-start)
@@ -1235,9 +1210,7 @@ paste (in addition to the normal emacs bindings)."
     (setq transient-mark-mode (and cua-mode
                                   (if cua-highlight-region-shift-only
                                       (not cua--explicit-region-start)
-                                    t)))
-    (if (interactive-p)
-       (message "CUA mode enabled")))
+                                    t))))
    (cua--saved-state
     (setq transient-mark-mode (car cua--saved-state))
     (if (nth 1 cua--saved-state)
@@ -1250,11 +1223,7 @@ paste (in addition to the normal emacs bindings)."
                 (if (and (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " and" "")
                 (if (nth 2 cua--saved-state) " PC-Selection" "")
                 (if (or (nth 1 cua--saved-state) (nth 2 cua--saved-state)) " enabled" "")))
-    (setq cua--saved-state nil))
-
-   (t
-    (if (interactive-p)
-       (message "CUA mode disabled")))))
+    (setq cua--saved-state nil))))
 
 (defun cua-debug ()
   "Toggle cua debugging."