summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/textmodes/tex-mode.el13
1 files changed, 12 insertions, 1 deletions
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index 8545a09fa59..ea7fbf8d4c2 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -869,7 +869,7 @@ START is the position of the \\ and DELIM is the delimiter char."
(set-keymap-parent map text-mode-map)
(tex-define-common-keys map)
(define-key map "\"" 'tex-insert-quote)
- (define-key map "\n" 'tex-terminate-paragraph)
+ (define-key map "\n" 'tex-handle-newline)
(define-key map "\M-\r" 'latex-insert-item)
(define-key map "\C-c}" 'up-list)
(define-key map "\C-c{" 'tex-insert-braces)
@@ -1459,6 +1459,17 @@ area if a mismatch is found."
(if failure-point (goto-char failure-point))
(not failure-point)))
+(defun tex-handle-newline (inhibit-validation)
+ "Break a TeX paragraph with two newlines, or continue a comment.
+If not in a comment, insert two newlines, breaking a paragraph for TeX,
+and check for mismatched braces or $s in the paragraph being terminated
+unless prefix arg INHIBIT-VALIDATION is non-nil to inhibit the checking.
+Otherwise (in a comment), just insert a single continued comment line."
+ (interactive "*P")
+ (if (nth 4 (syntax-ppss)) ; non-nil if point is in a TeX comment
+ (comment-indent-new-line)
+ (tex-terminate-paragraph inhibit-validation)))
+
(defun tex-terminate-paragraph (inhibit-validation)
"Insert two newlines, breaking a paragraph for TeX.
Check for mismatched braces or $s in paragraph being terminated.