Mercurial > emacs
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) |