]> git.eshelyaron.com Git - emacs.git/commitdiff
(nroff-mode): Set indent-line-function.
authorGlenn Morris <rgm@gnu.org>
Thu, 1 Nov 2007 04:00:09 +0000 (04:00 +0000)
committerGlenn Morris <rgm@gnu.org>
Thu, 1 Nov 2007 04:00:09 +0000 (04:00 +0000)
(nroff-indent-line-function): New function.
(nroff-count-text-lines): Use nroff-forward-text-line rather than
obsolete alias.

lisp/textmodes/nroff-mode.el

index 31ec234fddc7ca7f1cddf4f1106ec592c1df6c62..d1a9a2ee86f41eaa15562322e9b1870fdefb01f0 100644 (file)
@@ -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.