changeset 24839:c67fe81fd9ed

(crisp-mode): (defcustom) Initialize with 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.
author Karl Heuer <kwzh@gnu.org>
date Sun, 13 Jun 1999 02:37:28 +0000
parents 38c24ff1f1c6
children 37fd40af2d49
files lisp/emulation/crisp.el
diffstat 1 files changed, 10 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emulation/crisp.el	Sun Jun 13 02:35:37 1999 +0000
+++ b/lisp/emulation/crisp.el	Sun Jun 13 02:37:28 1999 +0000
@@ -84,6 +84,7 @@
 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 @@
       '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 @@
       (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 @@
 		       (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 @@
       (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