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.
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".
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.
[1]
https://www.mail-archive.com/search?l=mid&q=20201030030430.4y4i6bdpwx633qs7%40vbox-VirtualBox
Export to all formats seems to work well after removing the "ps2pdf"
option to the hyperref package.
Accordingly we uninvert the tests for the other formats. All ctests
pass on an updated TeX Live 2020.
This is mostly for shapepar support, in a rare situation. Fixing this would create a lot of special cases in output_docbook.cpp, i.e. fixing the issue (which will barely happen in real life) would make maintenance much harder.
The debug mode is set with the environment LYX_DEBUG_LATEX
$ export LYX_DEBUG_LATEX=1
The downside: From time to time the need to remove the superfluous dirs
$ cd build-dir
$ find autotests/out-home -name AbC_\* | xargs rm -rf
More generally, ensures that paragraphs in abstracts do not have something else configured.
A major problem in making the layout more useful is that article titles are not supposed to be in TOC.
Compilation of our Seminar example file fails on updated TL20. The
maintainer of "Seminar" is not planning to fix the core issue and
states the following (in a private email with permission to quote):
it is a problem with the new hook management of the current latex.ltx
seminar is a quite old package and there is no reason to use it with a
new LaTeX format. It won't be fixed, so the usual way is to use the
package latexrealease to get the old hook management.
This commit adds a note to the example files explaining the
workaround of exporting to a .tex file and prepending the following
line:
\RequirePackage[2020-02-02]{latexrelease}
We now invert the relevant tests.
LyX should still avoid crashing on those, and if they start to pass, then something is wrong (most likely, a very large part of the files is being ignored).
These exports now pass, and the output looks reasonable to me
(although I do not know Hebrew). I believe they work now because of
Jürgen's fixes at a7ad0747 and d7b64b8e.
Thanks to Jürgen, who mentions the following:
luaotfload does not find "DavidCLM". In fact, at least on my system,
there is no such font, only "DavidCLM Medium" (and other shapes). This
one is found. Apparently, luaotfload cannot infer from the one to the
other.
As opposed to LuaTEX, XeTeX also queries TEXMF so maybe it just finds
its font there.
In many cases, round trip with older formats involves exporting ERT
or preamble code in the backwards conversion. In the forwards
conversion, if this code is not parsed, often errors can result.
However, in many cases, especially for older formats, it might not
be worth the time or code complexity to address these cases. Such
tests are labled "ertroundtrip".
This commit also inverts a currently failing lyx22x test under the
label "ertroundtrip" since the above paragraph is my best guess as
to why that test is failing. It is likely not worth the time to fix
it, especially since the APA7 layout wasn't even shipped for LyX
2.2.x.
The sax-parser is choking on tags like 'section*' or 'Braille (default)'.
Also setting parameters like 'height=12pt' are not valid.
The added filter tries to 'correct' the input for the sax parser.
E.g. 'Braille (default)' ==> 'Braille__default_', 'section*' ==> 'section_'
and 'height =12pt' ==> 'height="12pt"'
All of these changes were due to
1.) Changed latex output (white space)
2.) changed reaction of dialog shortcut to return from
find-adv settings to search tab
3.) debug-mode of libstdc++
4.) LASSERT in InsetMathGrid.cpp
* invert failing lyx2lyx tests for ko/Welcome
* add dedicated test sample
* set language for English text part in ko/Welcome.
Also
* fix a lyx2lyx language test sample
* fix clause in unreliableTests
This happens with "inputenc: auto-legacy" if a language with default
encoding "utf8" (e.g. Turkmen or Mongolian) is used in a Quote
(or another environment).
Cmake's foreach command includes forms
foreach(<loop_var> IN LISTS <lists>)
foreach(<loop_var> IN ITEMS <items>)
foreach(<loop_var> RANGE ...)
We get the lines to be parsed by
file(STRINGS "${filepath}" lines)
If in the parsed lyx-file there is a line
containing only the single word 'IN', or 'RANGE', then
the command
foreach(_l ${lines})
can create a syntax error (at least with cmake1.16)
In fact, in file pl_Additional.lyx:12913 happens to have
such a beast.
Debian stable ships now TL18, we don't need to care for older TL versions.
Make CJK-ko documentation more robust (failed with non-TeX fonts and XeTeX,
if LatinModern is not installed system-wide).
The test sample for LyX bug 3059 triggers an error only with
"fontencoding auto-legacy" and can be safely ignored with non-TeX fonts.
Simplify user preamble.
Use common test document for Xe- and LuaTeX with polyglossia
and special one for languages only supported by XeTeX.
Update tagging patterns and comments.
LyX follows LaTeX in dropping support for this combination
(it only worked by tricking "inputenc.sty").
There is no known case where this combination is required or helpfull.
For power users with special needs, XeTeX + TeX fonts is still
available after setting the input encoding to "ascii" or "utf8-plain".
See also #10600.
Amends 7bb30286.
Tested cases are now handled fine.
(There are still many cases where the language support emulation
is too complex for lyx2lyx and manual fixes are required after
lyx2lyx conversion.)
Encoding cp858 supported by only some iconv variants.
Most users will want to change their "encoding" setting instead
of installing/recompiling "iconv" to support this legacy encoding.
ctests are likely will fail with either "vanilla" or "enhanced"
iconv and test a situation that is unlikely to change generally,
so we ignore this test now by default.
Separate xetex-inputenc test sample in working and non-working parts.
Sort HTML-only tests.
Update tagging and ignore-rules.
Change inputencoding to utf8 in dedicated tests (get pdf4_texF working).
Thai works fine with LuaTeX, TeX-fonts and auto-legacy input encoding.
Remove obsolete preamble code,
we now load "fontenc" with Japanese documents by default.
* do not ignore Japanese (platex) with system fonts.
* CJK can be used with XeTeX and TeX-fonts if the input encoding is utf8.
do not ignore.
* TODO: set non-TeX fonts and uninvert where possible.
Fixes wrong and missing characters in text parts in other languages
(platex does not support "inputenc").
Fixes compilation errors due to desynchronized encoding switches.
Tenacious bug in babel-ukrainian:
The date-string uses literal unicode characters (not present in TeX-fonts)
that somehow bypass inputenc's utf8 decoding.
* New: support also utf8 (working around false positive test in "inputenc.sty").
* Do not force the change of input encoding to "ascii".
Deny compilation with XeTeX if a document uses TeX fonts and a non-supported input encoding.
* some Japanese (platex) documents fail with inputenc "utf8-platex"
(missing characters in non-Japanese text parts), because the
Unicodechar definitions from "inputenc" are not used.
* some Japanes (platex) documents show wrong output with "auto",
because platex ignores the encoding switch for text parts
in other languages.
* Japanese Beamer documents must set default output to "pdf",
because dvipdfm(x) produces wrong output with document class "Beamer".
* update tagging/inverting rules.
* use HE8 font encoding for Hebrew in language test.
The "nikud" (vowel) signs, shindot, and shindot are combining Unicode
characters. However, LaTeX-Hebrew expects them as postfix characters, not
accent macros (cf. www.cs.tau.ac.il/~stoledo/Bib/Pubs/vowels.pdf).
This is important for lyx-files not under the lyxsystemdir.
Since the exports are done from a copied lyx-file, some referenced data
may be available only relative to the source of the original.
Also try to copy all versions of an included reference.
The example is the search for CV-image in Modern_CV.lyx.
The two file (CV-image.eps and CV-image.png) have to be copied while
keeping the same base name.