]> git.eshelyaron.com Git - emacs.git/commitdiff
(crisp-mode): (defcustom) Initialize with
authorKarl Heuer <kwzh@gnu.org>
Sun, 13 Jun 1999 02:37:28 +0000 (02:37 +0000)
committerKarl Heuer <kwzh@gnu.org>
Sun, 13 Jun 1999 02:37:28 +0000 (02:37 +0000)
custom-initialize-default to avoid infinite loop.
(crisp-mode): (defun) Call transient-mark-mode here, not when
loading the file.  Run crisp-mode-hook here, and run
crisp-load-hook when loading the file.

lisp/emulation/crisp.el

index 5b274fc92c10858007b95bf7933b6a438558c7ad..4e41bdfae29c7c334eb3e92af893a0a4c653f93e 100644 (file)
@@ -84,6 +84,7 @@ indicates CRiSP mode is enabled.
 Setting this variable directly does not take effect;
 use either M-x customize or the function `crisp-mode'."
   :set (lambda (symbol value) (crisp-mode (if value 1 0)))
+  :initialize 'custom-initialize-default
   :require 'crisp
   :version "20.4"
   :type 'boolean
@@ -145,15 +146,6 @@ does not load the scroll-all package."
       'clipboard-yank
     'yank-clipboard-selection))
 
-;; force transient-mark-mode in Emacs, so that the marking routines
-;; work as expected.  If the user turns off transient mark mode,
-;; most things will still work fine except the crisp-(copy|kill)
-;; functions won't work quite as nicely when regions are marked
-;; differently and could really confuse people.  Caveat emptor.
-
-(if (fboundp 'transient-mark-mode)
-    (transient-mark-mode t))
-
 (defun crisp-region-active ()
   "Compatibility function to test for an active region."
   (if (boundp 'zmacs-region-active-p)
@@ -358,8 +350,6 @@ normal CRiSP binding) and when it is nil M-x will run
       (save-buffers-kill-emacs)
     (call-interactively 'execute-extended-command)))
 
-;; Now enable the mode
-
 ;;;###autoload
 (defun crisp-mode (&optional arg)
   "Toggle CRiSP emulation minor mode.
@@ -369,11 +359,18 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise."
                       (not crisp-mode)
                     (> (prefix-numeric-value arg) 0)))
   (when crisp-mode
+    ;; Force transient-mark-mode, so that the marking routines work as
+    ;; expected.  If the user turns off transient mark mode, most
+    ;; things will still work fine except the crisp-(copy|kill)
+    ;; functions won't work quite as nicely when regions are marked
+    ;; differently and could really confuse people.  Caveat emptor.
+    (if (fboundp 'transient-mark-mode)
+       (transient-mark-mode t))
     (if crisp-load-scroll-all
        (require 'scroll-all))
     (if (featurep 'scroll-all)
        (define-key crisp-mode-map [(meta f1)] 'scroll-all-mode))
-    (run-hooks 'crisp-load-hook)))
+    (run-hooks 'crisp-mode-hook)))
 
 (if (fboundp 'add-minor-mode)
     (add-minor-mode 'crisp-mode 'crisp-mode-modeline-string
@@ -385,6 +382,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise."
       (setq minor-mode-map-alist (cons (cons 'crisp-mode crisp-mode-map)
                                       minor-mode-map-alist))))
 
+(run-hooks 'crisp-load-hook)
 (provide 'crisp)
 
 ;;; crisp.el ends here