]> git.eshelyaron.com Git - emacs.git/commitdiff
Handle TeX comments when making new paragraph
authorKarl Fogel <kfogel@red-bean.com>
Sat, 26 Nov 2016 05:44:48 +0000 (23:44 -0600)
committerKarl Fogel <kfogel@red-bean.com>
Sat, 26 Nov 2016 05:44:48 +0000 (23:44 -0600)
* lisp/textmodes/tex-mode.el (tex-handle-newline): New function.
  Handle comment case directly, and dispatch to `tex-terminate-paragraph'
  for original behavior in non-comment case.
  (tex-mode-map): Bind above to C-j, replacing `tex-terminate-paragraph'.

lisp/textmodes/tex-mode.el

index 8545a09fa5901f4677e0afe18a0f3117dea336c9..ea7fbf8d4c205193ce0bff47388c68b3344ba8d1 100644 (file)
@@ -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.