]> git.eshelyaron.com Git - emacs.git/commitdiff
(outline-font-lock-level): New function.
authorKarl Heuer <kwzh@gnu.org>
Wed, 15 Apr 1998 06:28:28 +0000 (06:28 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 15 Apr 1998 06:28:28 +0000 (06:28 +0000)
lisp/textmodes/outline.el

index 80e4f5c5d76c53ada4de55850360af454086959a..8e596a0efe2ee87f5ec0ef60121149ba9703fda1 100644 (file)
@@ -47,7 +47,7 @@ in the file it applies to.  See also outline-heading-end-regexp."
 ;; already assigned a local value to it.
 (or (default-value 'outline-regexp)
     (setq-default outline-regexp "[*\^L]+"))
-  
+
 (defcustom outline-heading-end-regexp "\n"
   "*Regular expression to match the end of a heading line.
 You can assume that point is at the beginning of a heading when this
@@ -163,6 +163,17 @@ in the file it applies to."
                  nil t)))
   "Additional expressions to highlight in Outline mode.")
 
+(defun outline-font-lock-level ()
+  (let ((count 1))
+    (save-excursion
+      (outline-back-to-heading)
+      (condition-case nil
+         (while (not (bobp))
+           (outline-up-heading 1)
+           (setq count (1+ count)))
+       (error)))
+    count))
+
 (defvar outline-view-change-hook nil
   "Normal hook to be run after outline visibility changes.")
 
@@ -170,10 +181,10 @@ in the file it applies to."
 (defun outline-mode ()
   "Set major mode for editing outlines with selective display.
 Headings are lines which start with asterisks: one for major headings,
-two for subheadings, etc.  Lines not starting with asterisks are body lines. 
+two for subheadings, etc.  Lines not starting with asterisks are body lines.
 
 Body text or subheadings under a heading can be made temporarily
-invisible, or visible again.  Invisible lines are attached to the end 
+invisible, or visible again.  Invisible lines are attached to the end
 of the heading, so they move with it, if the line is killed and yanked
 back.  A heading with text hidden under it is marked with an ellipsis (...).
 
@@ -441,7 +452,7 @@ If FLAG is nil then text is shown, while if FLAG is t the text is hidden."
            ;; or delete it entirely (if it is contained in beg...end).
            (if (< (overlay-start o) beg)
                (if (> (overlay-end o) end)
-                   (progn 
+                   (progn
                      (setq o1 (outline-copy-overlay o))
                      (move-overlay o1 (overlay-start o1) beg)
                      (move-overlay o end (overlay-end o)))
@@ -644,7 +655,7 @@ Stop at the first and last subheadings of a superior heading."
   (outline-back-to-heading)
   (while (> arg 0)
     (let ((point-to-move-to (save-excursion
-                             (outline-get-next-sibling))))  
+                             (outline-get-next-sibling))))
       (if point-to-move-to
          (progn
            (goto-char point-to-move-to)
@@ -663,7 +674,7 @@ Stop at the first and last subheadings of a superior heading."
     (if (< (funcall outline-level) level)
        nil
       (point))))
-       
+
 (defun outline-backward-same-level (arg)
   "Move backward to the ARG'th subheading at same level as this one.
 Stop at the first and last subheadings of a superior heading."