The work is done now in Paragraph::anonymize().
Move the handling of the lfun to Buffer class.
Document the new feature in release notes.
(cherry picked from commit 1dba36c7cec6aeec2576e7a99e2967e867076a01)
This is a follow-up to 758de957.
- unify the metrics and drawing of \sqrt and \root using helper
functions mathed_root_metrics and mathed_draw_root.
- compute the vertical spacing above the nucleus of the root following
rule 11 of the TeXbook. In particular, it is different in inline and
display style.
- draw the root glyph without hard-coded pixel values. Make the line
width depend on the zoom.
more work is needed to implement properly rule 11:
- Ideally, we should use sqrt glyphs from the math fonts. Note that
then we would get rule thickness from there.
- The positioning of the root MathData is arbitrary. It should
follow the definition of \root...\of... in The Texbook in
Apprendix B page 360.
Fixes bug #10814.
(cherry picked from commit 16af6e7c5067fff0873587af30833e0b8006c435)
(cherry picked from commit 6cb6f78ae9050140c75af089350cd7cccc0b58e1)
Now the helper class contains logic that checks whether buffer are
known before closing them. This avoids potential crashes.
Use it in different places to siplify code. It is not clear at this
point whether it should be used everywhere.
Followup to bug #10847.
(cherry picked from commit cd9e42dc3529980257d2b0fe6fd623fd2b99a1e6)
It may happen that the buffers are visited in order buffer1,
buffer2, buffer1. In this case, we want to have only one undo group
in buffer1. The solution is to replace buffer_ with a set<Buffer*>.
A use case among others is InsetLabel::updateReferences.
(cherry picked from commit cc7364dfc50c399e99158fd9efe2f3eb0e6f4570)
The correct behavior is to go to position 0 going up from first row,
and to end of row when going down on last row.
The targetx value of the cursor is not updated, which makes cursor
movement more natural.
Fixes bug #10701.
(cherry picked from commit 34285cc6830b061c18998bff8385092a311170a8)
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)