1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

Handle TeX comments when making new paragraph

* 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'.
This commit is contained in:
Karl Fogel 2016-11-25 23:44:48 -06:00
parent e0884f1d04
commit 93c0f5126a

View File

@ -869,7 +869,7 @@ START is the position of the \\ and DELIM is the delimiter char."
(set-keymap-parent map text-mode-map) (set-keymap-parent map text-mode-map)
(tex-define-common-keys map) (tex-define-common-keys map)
(define-key map "\"" 'tex-insert-quote) (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 "\M-\r" 'latex-insert-item)
(define-key map "\C-c}" 'up-list) (define-key map "\C-c}" 'up-list)
(define-key map "\C-c{" 'tex-insert-braces) (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)) (if failure-point (goto-char failure-point))
(not 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) (defun tex-terminate-paragraph (inhibit-validation)
"Insert two newlines, breaking a paragraph for TeX. "Insert two newlines, breaking a paragraph for TeX.
Check for mismatched braces or $s in paragraph being terminated. Check for mismatched braces or $s in paragraph being terminated.