aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2007-11-01 04:00:09 +0000
committerGlenn Morris <[email protected]>2007-11-01 04:00:09 +0000
commit87006f3e0a209add511b15b3c75ff0ea34b88bc2 (patch)
treecaa7c640521563fcf7d05088f00184dff3239db9 /lisp/textmodes
parent8aafd651a977bd71eedb60b290fb7265c862c884 (diff)
(nroff-mode): Set indent-line-function.
(nroff-indent-line-function): New function. (nroff-count-text-lines): Use nroff-forward-text-line rather than obsolete alias.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/nroff-mode.el16
1 files changed, 15 insertions, 1 deletions
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el
index 31ec234fdd..d1a9a2ee86 100644
--- a/lisp/textmodes/nroff-mode.el
+++ b/lisp/textmodes/nroff-mode.el
@@ -132,6 +132,7 @@ closing requests for requests that are used in matched pairs."
(set (make-local-variable 'comment-start-skip) "\\\\[\"#][ \t]*")
(set (make-local-variable 'comment-column) 24)
(set (make-local-variable 'comment-indent-function) 'nroff-comment-indent)
+ (set (make-local-variable 'indent-line-function) 'nroff-indent-line-function)
(set (make-local-variable 'imenu-generic-expression) nroff-imenu-expression))
(defun nroff-outline-level ()
@@ -163,6 +164,19 @@ Puts a full-stop before comments on a line by themselves."
9) 8)))))) ; add 9 to ensure at least two blanks
(goto-char pt))))
+;; All this does is insert a "." at the start of comment-lines,
+;; for the sake of comment-dwim adding a new comment on an empty line.
+;; Hack! The right fix probably involves ;; comment-insert-comment-function,
+;; but comment-dwim does not call that for the empty line case.
+;; http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01869.html
+(defun nroff-indent-line-function ()
+ "Function for `indent-line-function' in `nroff-mode'."
+ (save-excursion
+ (forward-line 0)
+ (when (looking-at "[ \t]*\\\\\"[ \t]*") ; \# does not need this
+ (delete-horizontal-space)
+ (insert ?.))))
+
(defun nroff-count-text-lines (start end &optional print)
"Count lines in region, except for nroff request lines.
All lines not starting with a period are counted up.
@@ -175,7 +189,7 @@ Noninteractively, return number of non-request lines from START to END."
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
- (- (buffer-size) (forward-text-line (buffer-size)))))))
+ (- (buffer-size) (nroff-forward-text-line (buffer-size)))))))
(defun nroff-forward-text-line (&optional cnt)
"Go forward one nroff text line, skipping lines of nroff requests.