HCoop
/
bpt
/
emacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* simple.el (current-kill): Clarify what `interprogram-paste-function' does.
[bpt/emacs.git]
/
lisp
/
outline.el
diff --git
a/lisp/outline.el
b/lisp/outline.el
index
37913d8
..
2f84e7d
100644
(file)
--- a/
lisp/outline.el
+++ b/
lisp/outline.el
@@
-1,7
+1,7
@@
;;; outline.el --- outline mode commands for Emacs
;;; outline.el --- outline mode commands for Emacs
-;; Copyright (C) 1986, 1993
, 1994, 1995, 1997, 2000, 2001, 2002,
-;;
2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
+;; Copyright (C) 1986, 1993
-1995, 1997, 2000-2011
+;; Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: outlines
;; Maintainer: FSF
;; Keywords: outlines
@@
-41,7
+41,7
@@
(defgroup outlines nil
"Support for hierarchical outlining."
:prefix "outline-"
(defgroup outlines nil
"Support for hierarchical outlining."
:prefix "outline-"
- :group '
editing
)
+ :group '
wp
)
(defcustom outline-regexp "[*\^L]+"
"Regular expression to match the beginning of a heading.
(defcustom outline-regexp "[*\^L]+"
"Regular expression to match the beginning of a heading.
@@
-50,9
+50,9
@@
Note that Outline mode only checks this regexp at the start of a line,
so the regexp need not (and usually does not) start with `^'.
The recommended way to set this is with a Local Variables: list
in the file it applies to. See also `outline-heading-end-regexp'."
so the regexp need not (and usually does not) start with `^'.
The recommended way to set this is with a Local Variables: list
in the file it applies to. See also `outline-heading-end-regexp'."
- :type '
(choice regexp (const nil))
+ :type '
regexp
:group 'outlines)
:group 'outlines)
-;;;###autoload(put 'outline-regexp 'safe-local-variable 'string
-or-null-
p)
+;;;###autoload(put 'outline-regexp 'safe-local-variable 'stringp)
(defcustom outline-heading-end-regexp "\n"
"Regular expression to match the end of a heading line.
(defcustom outline-heading-end-regexp "\n"
"Regular expression to match the end of a heading line.
@@
-62,6
+62,7
@@
The recommended way to set this is with a `Local Variables:' list
in the file it applies to."
:type 'regexp
:group 'outlines)
in the file it applies to."
:type 'regexp
:group 'outlines)
+;;;###autoload(put 'outline-heading-end-regexp 'safe-local-variable 'stringp)
(defvar outline-mode-prefix-map
(let ((map (make-sparse-keymap)))
(defvar outline-mode-prefix-map
(let ((map (make-sparse-keymap)))
@@
-380,6
+381,7
@@
See the command `outline-mode' for more information on this mode."
"*Function of no args to compute a header's nesting level in an outline.
It can assume point is at the beginning of a header line and that the match
data reflects the `outline-regexp'.")
"*Function of no args to compute a header's nesting level in an outline.
It can assume point is at the beginning of a header line and that the match
data reflects the `outline-regexp'.")
+;;;###autoload(put 'outline-level 'risky-local-variable t)
(defvar outline-heading-alist ()
"Alist associating a heading for every possible level.
(defvar outline-heading-alist ()
"Alist associating a heading for every possible level.
@@
-444,10
+446,6
@@
at the end of the buffer."
"Non-nil if the character after point is invisible."
(get-char-property (or pos (point)) 'invisible))
"Non-nil if the character after point is invisible."
(get-char-property (or pos (point)) 'invisible))
-(defun outline-visible ()
- (not (outline-invisible-p)))
-(make-obsolete 'outline-visible 'outline-invisible-p "21.1")
-
(defun outline-back-to-heading (&optional invisible-ok)
"Move to previous heading line, or beg of this line if it's a heading.
Only visible heading lines are considered, unless INVISIBLE-OK is non-nil."
(defun outline-back-to-heading (&optional invisible-ok)
"Move to previous heading line, or beg of this line if it's a heading.
Only visible heading lines are considered, unless INVISIBLE-OK is non-nil."
@@
-594,7
+592,7
@@
If there are no such entries, return nil.
ALIST defaults to `outline-heading-alist'.
Similar to (car (rassoc LEVEL ALIST)).
If there are several different entries with same new level, choose
ALIST defaults to `outline-heading-alist'.
Similar to (car (rassoc LEVEL ALIST)).
If there are several different entries with same new level, choose
-the one with the smallest distance to the assocation of HEAD in the alist.
+the one with the smallest distance to the assoc
i
ation of HEAD in the alist.
This makes it possible for promotion to work in modes with several
independent sets of headings (numbered, unnumbered, appendix...)"
(unless alist (setq alist outline-heading-alist))
This makes it possible for promotion to work in modes with several
independent sets of headings (numbered, unnumbered, appendix...)"
(unless alist (setq alist outline-heading-alist))
@@
-802,7
+800,7
@@
If FLAG is nil then text is shown, while if FLAG is t the text is hidden."
;; Function to be set as an outline-isearch-open-invisible' property
;; to the overlay that makes the outline invisible (see
;; `outline-flag-region').
;; Function to be set as an outline-isearch-open-invisible' property
;; to the overlay that makes the outline invisible (see
;; `outline-flag-region').
-(defun outline-isearch-open-invisible (overlay)
+(defun outline-isearch-open-invisible (
_
overlay)
;; We rely on the fact that isearch places point on the matched text.
(show-entry))
\f
;; We rely on the fact that isearch places point on the matched text.
(show-entry))
\f
@@
-905,6
+903,8
@@
Show the heading too, if it is currently invisible."
(goto-char (point-max))
;; Keep empty last line, if available.
(if (bolp) (1- (point)) (point)))))
(goto-char (point-max))
;; Keep empty last line, if available.
(if (bolp) (1- (point)) (point)))))
+ (if (< end beg)
+ (setq beg (prog1 end (setq end beg))))
;; First hide everything.
(outline-flag-region beg end t)
;; Then unhide the top level headers.
;; First hide everything.
(outline-flag-region beg end t)
;; Then unhide the top level headers.
@@
-912,7
+912,11
@@
Show the heading too, if it is currently invisible."
(lambda ()
(if (<= (funcall outline-level) levels)
(outline-show-heading)))
(lambda ()
(if (<= (funcall outline-level) levels)
(outline-show-heading)))
- beg end)))
+ beg end)
+ ;; Finally unhide any trailing newline.
+ (goto-char (point-max))
+ (if (and (bolp) (not (bobp)) (outline-invisible-p (1- (point))))
+ (outline-flag-region (1- (point)) (point) nil))))
(run-hooks 'outline-view-change-hook))
(defun hide-other ()
(run-hooks 'outline-view-change-hook))
(defun hide-other ()
@@
-1115,5
+1119,4
@@
convenient way to make a table of contents of the buffer."
(provide 'outline)
(provide 'noutline)
(provide 'outline)
(provide 'noutline)
-;; arch-tag: 1724410e-7d4d-4f46-b801-49e18171e874
;;; outline.el ends here
;;; outline.el ends here