bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38152: tex-mode: paragraph separator groups text and comments


From: Michael Orlitzky
Subject: bug#38152: tex-mode: paragraph separator groups text and comments
Date: Sat, 9 Nov 2019 09:29:12 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.0

When using M-q (fill-paragraph) in latex-mode from tex-mode.el, emacs will incorrectly wrap text into a comment block that precedes it. This is fairly annoying, because it can silently "delete" a huge chunk of your document, and leave you standing in front of a class wondering where your theorem went.

This was partially addressed in bug 5821,

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=5821

but only for comments that start at the beginning of a line. A minimal reproducer follows, and the indentation is significant:


\begin{document}
% This is a comment.
This line won't wrap into it.

  % This is also a comment.
  But this line will wrap into it.
\end{document}


This is the same problem that a stack overflow user reported,

  https://tex.stackexchange.com/questions/131774

and is perhaps also related to bug 23249,

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23249

which is about marking paragraphs adjacent to comments.

I don't claim that it's the correct fix for the issue, but the following patch helps the small test case above, and at least confirms that the paragraph separator has something to do with it:

--- a/tex-mode.el       2019-01-07 09:26:07.000000000 -0500
+++ b/tex-mode.el       2019-11-09 08:42:56.649424361 -0500
@@ -1155,7 +1155,7 @@
                "\\>\\|\\\\[a-z]*" (regexp-opt '("space" "skip" "page") t)
                "\\>\\)"))
   (setq paragraph-separate
-       (concat "[\f%]\\|[ \t]*\\($\\|"
+       (concat "\\([ \t]*%\\)\\|[\f]\\|[ \t]*\\($\\|"
                "\\\\[][]\\|"





reply via email to

[Prev in Thread] Current Thread [Next in Thread]