Since CheckTeX itself processes the tex file, a synchronous run with
a TeX process can lead to all sorts of conflicts, including crashes.
Fixes: #7434.
(cherry picked from commit 71fea6332667e1a9fe99c38624e4dcaf1129d6c5)
I am rather irritated we didn't do this already, since synchronous runs
with BUFFER_VIEW or BUFFER_UPDATE leads to all sorts of problems,
including crashes.
Fixes the crash in #8338 (but not the bug itself).
(cherry picked from commit 1437ae3f9cf78ffd5c639cb4e70a0b1fba9f600e)
This is needed for cases where the temp file has to be manually removed
at some point (e.g., if temp files are used as conversion target, and
the initial file only serves as a placeholder), since QTemporaryFile
objects cannot be manually removed at least on Windows (they are always
kept open internally even after close()). See
http://lists.qt-project.org/pipermail/interest/2013-August/008352.html
In order to avoid race conditions due to duplicate names (the issue why
the old method was removed), we record all used temp file names.
Fixes: #9139
(cherry picked from commit 9e2928be68992161a54287d153e1e9431e30bb4c)
The issue here was that the element was only removed from the queue
after the func request was processed, but within that process, other
function could access the queue, so the queue could even be empty
when this function finally wanted to remove the item.
Fixes: #10406.
(cherry picked from commit dadec50a18d92d24d42e1ccf7474f07a2a66b5b4)
When pasting "\big" without any following delimiter, avoid
processing the same token again and again. For unknown reasons,
the delim docstring turns out to always be not empty: even when
it simply contains a '0' (no delimiter follows), its length is 1.
Fixes bug #11027.
(cherry picked from commit 8e8b3f610495493f4f1bff3f4a0ff48f4eab4539)
Several problems:
* The regex failed at names such as 1_text_2_text.tex
(returned "2_text.tex)
* The regex failed at names such as 12_text.tex
(returned "2_text.tex)
* Masters with digits in the name (2018_text.tex) were
tracked as their own children
(cherry picked from commit 398e026250f6d7d1687bdf04a8a27a61946d088f)
Do not attempt to load, nor allow to set, a different engine in this
case.
Fixes: #11022
(cherry picked from commit 2f6ada6644614df5f402efc7cbc1d27911b45376)
The number of paragraphs can change here, so pit() can become invalid.
Fixes: #9983
(cherry picked from commit 6e4e0869006aa4c225162164aaa14a70d041facf)
When we switched from r'...' to b'...', this required strings used
as input to re.compile to be double-escaped. It's not an issue with
"\s", because "\s" has no special meaning in a string.
Also, printing in binary mode did not output a line ending.
(cherry picked from commit 6b5a7116cd6697d1121a5ffb76d54102a8e265ba)
breakRow should only produce an empty row when there is nothing left
in the paragraph.
Fixes bug #10996.
(cherry picked from commit 253b935f65759ba15b6af02117f8316e2aaf676e)