diff options
| author | Glenn Morris | 2007-03-04 20:51:17 +0000 |
|---|---|---|
| committer | Glenn Morris | 2007-03-04 20:51:17 +0000 |
| commit | b9634f953f526ecf74833b62cdad969dffed5782 (patch) | |
| tree | 316323a039a846c2a69313af52e24e86d98a81b9 | |
| parent | 5a9b2bb420d4b94c192365978dd22e077d04c472 (diff) | |
| download | emacs-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.el | 14 |
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 |