comparison lisp/progmodes/hideshow.el @ 76314:a91ba205af7e

(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.
author Glenn Morris <rgm@gnu.org>
date Sun, 04 Mar 2007 20:51:17 +0000
parents e3694f1cb928
children ab61d371ed56 91bf6e05918b
comparison
equal deleted inserted replaced
76313:a5e667d4ac50 76314:a91ba205af7e
904 (not hs-minor-mode) 904 (not hs-minor-mode)
905 (> (prefix-numeric-value arg) 0))) 905 (> (prefix-numeric-value arg) 0)))
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 ;;---------------------------------------------------------------------------
917 ;; load-time actions 924 ;; load-time actions
918 925
943 950
944 ;; some housekeeping 951 ;; some housekeeping
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
952 hs-block-start-mdata-select 959 hs-block-start-mdata-select
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
961 967
962 (provide 'hideshow) 968 (provide 'hideshow)