aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2007-03-04 20:51:17 +0000
committerGlenn Morris2007-03-04 20:51:17 +0000
commitb9634f953f526ecf74833b62cdad969dffed5782 (patch)
tree316323a039a846c2a69313af52e24e86d98a81b9
parent5a9b2bb420d4b94c192365978dd22e077d04c472 (diff)
downloademacs-b9634f953f526ecf74833b62cdad969dffed5782.tar.gz
emacs-b9634f953f526ecf74833b62cdad969dffed5782.zip
(hs-minor-mode): Turn mode off and show all when switching major mode.
(hs-minor-mode, hs-c-start-regexp, hs-block-start-regexp) (hs-block-start-mdata-select, hs-block-end-regexp) (hs-forward-sexp-func, hs-adjust-block-beginning): Do not make these variables permanent-local.
-rw-r--r--lisp/progmodes/hideshow.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 35ab0362613..3bc1c55cc7d 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -906,11 +906,18 @@ Key bindings:
906 (if hs-minor-mode 906 (if hs-minor-mode
907 (progn 907 (progn
908 (hs-grok-mode-type) 908 (hs-grok-mode-type)
909 ;; Turn off this mode if we change major modes.
910 (add-hook 'change-major-mode-hook
911 (lambda () (hs-minor-mode -1))
912 nil t)
909 (easy-menu-add hs-minor-mode-menu) 913 (easy-menu-add hs-minor-mode-menu)
910 (set (make-local-variable 'line-move-ignore-invisible) t) 914 (set (make-local-variable 'line-move-ignore-invisible) t)
911 (add-to-invisibility-spec '(hs . t))) 915 (add-to-invisibility-spec '(hs . t)))
912 (easy-menu-remove hs-minor-mode-menu) 916 (easy-menu-remove hs-minor-mode-menu)
913 (remove-from-invisibility-spec '(hs . t))) 917 (remove-from-invisibility-spec '(hs . t))
918 ;; hs-show-all does nothing unless h-m-m is non-nil.
919 (let ((hs-minor-mode t))
920 (hs-show-all)))
914 (run-hooks 'hs-minor-mode-hook)) 921 (run-hooks 'hs-minor-mode-hook))
915 922
916;;--------------------------------------------------------------------------- 923;;---------------------------------------------------------------------------
@@ -945,7 +952,7 @@ Key bindings:
945(add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map)) 952(add-to-list 'minor-mode-map-alist (cons 'hs-minor-mode hs-minor-mode-map))
946(add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t) 953(add-to-list 'minor-mode-alist '(hs-minor-mode " hs") t)
947 954
948;; make some variables permanently buffer-local 955;; make some variables buffer-local
949(dolist (var '(hs-minor-mode 956(dolist (var '(hs-minor-mode
950 hs-c-start-regexp 957 hs-c-start-regexp
951 hs-block-start-regexp 958 hs-block-start-regexp
@@ -953,8 +960,7 @@ Key bindings:
953 hs-block-end-regexp 960 hs-block-end-regexp
954 hs-forward-sexp-func 961 hs-forward-sexp-func
955 hs-adjust-block-beginning)) 962 hs-adjust-block-beginning))
956 (make-variable-buffer-local var) 963 (make-variable-buffer-local var))
957 (put var 'permanent-local t))
958 964
959;;--------------------------------------------------------------------------- 965;;---------------------------------------------------------------------------
960;; that's it 966;; that's it