summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/textmodes/nroff-mode.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 78c6a10f31c..6ee2c2bb47f 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -62,6 +62,10 @@ closing requests for requests that are used in matched pairs."
(setq local-abbrev-table nroff-mode-abbrev-table)
(make-local-variable 'nroff-electric-mode)
(setq nroff-electric-mode nil)
+ (make-local-variable 'outline-regexp)
+ (setq outline-regexp "\\.H[ ]+[1-7]+ ")
+ (make-local-variable 'outline-level)
+ (setq outline-level 'nroff-outline-level)o
;; now define a bunch of variables for use by commands in this mode
(make-local-variable 'page-delimiter)
(setq page-delimiter "^\\.\\(bp\\|SK\\|OP\\)")
@@ -80,6 +84,12 @@ closing requests for requests that are used in matched pairs."
(setq comment-indent-function 'nroff-comment-indent)
(run-hooks 'text-mode-hook 'nroff-mode-hook))
+(defun nroff-outline-level ()
+ (save-excursion
+ (looking-at outline-regexp)
+ (skip-chars-forward ".H ")
+ (string-to-int (buffer-substring (point) (+ 1 (point))))))
+
;;; Compute how much to indent a comment in nroff/troff source.
;;; By mit-erl!gildea April 86
(defun nroff-comment-indent ()