Mercurial > emacs
changeset 15518:d01e58c9e431
(outline-minor-mode): No longer permanent local.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 26 Jun 1996 18:03:44 +0000 |
parents | d9bb8f6b05a0 |
children | 045a36502ad4 |
files | lisp/textmodes/outline.el |
diffstat | 1 files changed, 13 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/outline.el Wed Jun 26 18:01:42 1996 +0000 +++ b/lisp/textmodes/outline.el Wed Jun 26 18:03:44 1996 +0000 @@ -132,7 +132,6 @@ (defvar outline-minor-mode nil "Non-nil if using Outline mode as a minor mode of some other mode.") (make-variable-buffer-local 'outline-minor-mode) -(put 'outline-minor-mode 'permanent-local t) (or (assq 'outline-minor-mode minor-mode-alist) (setq minor-mode-alist (append minor-mode-alist (list '(outline-minor-mode " Outl"))))) @@ -251,6 +250,11 @@ (> (prefix-numeric-value arg) 0))) (if outline-minor-mode (progn + (make-local-hook 'change-major-mode-hook) + ;; Turn off this mode if we change major modes. + (add-hook 'change-major-mode-hook + '(lambda () (outline-minor-mode -1)) + nil t) (make-local-variable 'line-move-ignore-invisible) (setq line-move-ignore-invisible t) ;; Cause use of ellipses for invisible text. @@ -308,13 +312,14 @@ (beginning-of-line) (or (outline-on-heading-p) (let (found) - (while (not found) - (setq found - (and (re-search-backward (concat "^\\(" outline-regexp "\\)") - nil t) - (outline-visible)))) - found) - (error "before first heading"))) + (save-excursion + (while (not found) + (or (re-search-backward (concat "^\\(" outline-regexp "\\)") + nil t) + (error "before first heading")) + (setq found (and (outline-visible) (point))))) + (goto-char found) + found))) (defun outline-on-heading-p () "Return t if point is on a (visible) heading line."