Scott Kostyshak [Wed, 25 Nov 2020 20:34:07 +0000 (15:34 -0500)]
Catch exception if LaTeX fails for child preview
The exception is raised when an included file fails to export
because e.g. it is from a newer version of LyX or because an
intermediate command such as knitr fails.
The exception was introduced at 1a374a93 so that the export of a
document exits with error if an included document exports with
error.
This commit catches the exception when the LaTeX is asked for in
order to generate a preview of the included file.
The caret geometry is now computed in BufferView as a list of shapes
(caret, horizontal l-shape if needed, completion triangle if needed)
kept in a variable of type CaretGeometry.
The code in WorkArea.cpp only has to draw these shapes. The
CaretWidget (which never was a widget) in GuiWorkArea.cpp is gone
now.
As a consequence, the bounding box for the cursor is known precisely
and therefore rows should be repainted correctly now. This avoids
caret droppings.
Take right margin into account for text inset width
This is particularly important for contents in RtL languages, where
the right margin may contain the paragraph indentation, or
itemize/enumeration symbols.
Scott Kostyshak [Mon, 16 Nov 2020 23:23:47 +0000 (18:23 -0500)]
ctests: uninvert an export that passes now
The export inputenc-luatex-utf8_pdf5_texF has been succeeding for a
while and was likely fixed by a TeX Live update. Compiling manually
and looking at the output looks good.
Scott Kostyshak [Sun, 15 Nov 2020 22:40:02 +0000 (17:40 -0500)]
ctests: fix race condition for parallel testing
The unicode tests would often fail when tested in parallel because
we were not exporting to unique file names. From what I understand,
a variant similar to the following race condition occurred:
1. Thread A exports to file blah.pdf.
2. Thread B exports to file blah.pdf.
3. Thread A confirms file blah.pdf exists.
4. Thread A deletes exported file blah.pdf to clean up.
5. Thread B fails to find file blah.pdf and reports a failure.
Thibaut Cuvelier [Sun, 15 Nov 2020 18:04:21 +0000 (19:04 +0100)]
DocBook: specific fix for Localization_Test.lyx.
In one paragraph, there was both a float and a list of floats in a paragraph: the list of floats has no DocBook output, so that there should be no surrounding <para>.
Sam Crawley [Fri, 13 Nov 2020 07:58:20 +0000 (20:58 +1300)]
Added tests for compare function
Runs the compare via the command line, and then compares the output to the
expected result. Required adding a script to do the comparison, so that
the timestamps on changes in the lyx file are ignored.
Sam Crawley [Fri, 13 Nov 2020 07:58:20 +0000 (20:58 +1300)]
Fix issue in running compare from the command line
Because Compare uses threads, we need to make sure it is finished when a
compare is executed from the command line. This was a problem for command
sequences, because the next command would start running before the compare
was done, and the buffer with differences was available.
So this commit adds the "run-blocking" parameter when using
LFUN_DIALOG_SHOW to run a Compare. When calling Compare with run-sync, the
LFUN will wait for the compare worker thread to finish before returning and
possibly running the next command.
Scott Kostyshak [Sun, 15 Nov 2020 04:20:53 +0000 (23:20 -0500)]
ctests: invert JSS tests which fail with new cls
The new JSS cls has been failing on an updated TeX Live 2020 for a
while, both with the template they provide and with LyX's template.
I expect this will be fixed eventually but for now it's best to
invert it as a "texissue".
Thibaut Cuvelier [Sun, 15 Nov 2020 02:03:16 +0000 (03:03 +0100)]
DocBook: refactor code about retrieving captions and labels.
There was already an existing method in InsetCaptionable for captions, but not yet for labels. It was at least already useful at two places, that's why I moved it to InsetCaptionable.
Thibaut Cuvelier [Sat, 14 Nov 2020 21:05:59 +0000 (22:05 +0100)]
DocBook: add support for IGNORE tags.
These paragraphs will simply have no output (no enclosing DocBook tag, no content). This change is as backward-compatible as possible: without this commit, the paragraphs will be output, but in an <IGNORE> tag (not much more can be achieved without this). It is mostly made for metadata and formatting instructions. (As opposed to NONE, which corresponds to outputting the paragraph without enclosing DocBook tag.)
Scott Kostyshak [Sat, 14 Nov 2020 04:27:08 +0000 (23:27 -0500)]
ctests: invert Hebrew tutorial LuaTeX tests
With an updated TeX Live 2020 an assertion is given. The assertion
was reported on the LuaTeX ML [1], and will be converted into the
following error as of LuaTeX svn commit r7385:
! the word doesn't start with a character
The error could likely be worked around with a change to the
document but since the document compiles without error with XeTeX I
did not change anything since I do not understand the issue.
The problem here is that the check against TEXT_CODE only
catches InsetText, and not its subclasses. Same for the check
against MATH_HULL_CODE. So there is reason not to check codes
here.