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.
From Günter:
> OK, so in TL18 the Ukrainean "auto-date" (7 березня 2019 р.) fails with
> PDF (XeTeX) and DVI (LuaTeX) but not PDF (LuaTeX).
> Strange. Feel free to invert.
New bug in TeXLive 18.
Missing characters with XeTeX and wrong characters with LuaTeX.
Also:
* Remove spurious (Latin) characters from uk/Intro.lyx
* "wrong-output" tag for Cyrillic documents with XeTeX and TeX fonts.
* Do not change font choices when testing with non-TeX fonts.
* Add "nonstandard" tag for documents with requirements outside TeXLive.
* Ignore missing character in legacy Basque document.
Documents used deprecated or lookalike characters missing in
Latin Modern system fonts:
Customization.lyx: "figure dash" instead of "emdash".
revtex4-1: "Angstrom sign" instead of "latin letter A with ring".
Prevents wrong or missing characters with LuaTeX and 8-bit fonts.
Also "uninvert" the corresponding test case and two other
no longer failing "unicodesymbols" exports.
If Document>Settings>Language>Encoding is set to any value except "auto" or "default", we
expect the whole document to use this encoding. Wiht encodings from the CJK package, this means
one big "CJK" environment and no encoding switches.
Characters that are not handled by the CJK package need to be "forced" in lib/unicodesymbols.
This is completed for "euc-cn", the others will follow.
LyX expectedly gives the following warning:
TextClass.cpp (1385): The layout does not provide a list command for
the float `sidebar'. LyX will not be able to produce a float list.
This issue was reported to the maintainer. This commit is consistent
with 00f7a95f.
The cls is obsolete, so all PDF exports are disabled. We keep the
1.6.x and 2.1.x tests because those only check roundtrip
convergence, and do not export to PDF.
It used to give an endless loop, so we "ignored" it (did not run the
test). Now it gives a lyx2lyx warning, which is reported at #11455,
so it is appropriate to invert the test.
The 001-4-latin_utf8x_pdf2 test passes and the
001-4-latin_utf8-cjk_pdf2 test fails, which means that there are
characters in the .lyx file that are only available with
utf8-extended encoding, so the utf8 test is never expected to pass
in the future.
Thanks to Kornel.
utf8-plain (Unicode (utf8 XeTeX)) is a power-user setting
for the input encoding with two use cases:
a) setup of system fonts or
b) setup of input encoding supportuser preamble
in the document class or user preamble.
The test file is an example for use case b.
The Korean splash.lyx is expected to fail with pdflatex. The lyx22x
and lyx23x tests were not failing before because they were exporting
to XeTeX with system fonts, which succeeds. After c9e62dec (which
corrects the export format to the default), the lyx22x and lyx23x
tests should be inverted.
Amend eec3d1eb,7568571a
We are trying to check if the resulting file after lyx2lyx
is compilable, we have to ensure that copying the original file
to the test directory does not mangle use_non_tex_fonts-entry.
These tests failed because of (multiple instances of) the following
warning:
Warning: a buffer should not have two parents!
This warning is expected, because, for example, chapter-1 includes
Bibliography.lyx and chapter-2 includes Bibliography.lyx. thesis.lyx
includes both chapter-1 and chapter-2, so both are loaded (but
hidden), and Bibliography.lyx is loaded (but hidden), and LyX then
sees that more than one buffer includes Bibliography.lyx
The consequence of ignoring this warning is that we will not catch
any future regression that triggers this warning when it should not.
Exception: findadv-21, but it is not a regression,
because this one never passed.
The problem here is, that we cannot differentiate
between enumeration, itemize, description and labeling
environment here.
Now tests findadv-01 ... findadv-20 pass too.
keytest.py: Expanded time for controll keys (like \[Return])
findadv*: expanded time for normal keys
lyxfind.cpp: Handle math equations
The compilations fail because the macro
\DeclareUnicodeCharacter
is not defined. Also the sequence
\ifnum\pdfoutput=\z@
is making troubles.
The exports to previous lyx-versions is disabled too,
because there is no layout defined there.
Uses the correct shortcuts from lib/bind/sk/menus.bind, but fails nonetheless
because the regex for advanced search cannot find the correct list type.
(That is: it cannot distinguish between 'enumerate', 'itemize', 'labeling', etc.)
These file don't contain the \\origin tag. So the possibly included
files with relative path would not be found. The compilation to
the default pdf would then anyway fail.
Use the LaTeX internal character representation (LICR) macros
provided by lgrenc.def (since version 0.8 from 2013-05-13)
in lib/unicodesymbols. This fixes the PDF bookmarks (except for the
legacy input encoding iso-8859-7) and solves the problem of a missing
"v" character in Libertine LGR fonts (see lyx-users from 2018-01-29).
The ctest unicodesymbols/008-greek-and-coptic_iso8859-7_pdf2" now fails
(due to #9681). This is not a regression, as it is already
"unreliable" (wrong output, Latin character instead of Greek).
Drop compatibility definition of \~ as perispomeni accent
(that was required with lgrenc.def < 0.8).
If, after the 10th iteration, the exported lyx16x file still
differs from the one in the previous iteration, the test
is marked as failing, even if still loadable.
The "bxjsarticle" class only supports export with XeLaTeX and system
fonts.
This commit uses the new exclusion functionality introduced at
10cd5dd2.
The following tests are now ignored:
export/examples/ja/knitr_dvi
export/examples/ja/knitr_pdf
export/examples/ja/knitr_pdf3
export/examples/ja/sweave_dvi
export/examples/ja/sweave_pdf
export/examples/ja/sweave_pdf3
The following tests are no longer ignored:
export/examples/ja/knitr_pdf4_systemF
export/examples/ja/sweave_pdf4_systemF
This allows us to exclude matches of certain patterns in
invertedTests, ignoredTests, unreliableTests, and suspendedTests.
To use this new functionality, prefix "!" to the pattern.
This functionality serves as a workaround in some cases to not being
able to use advanced regular expression techniques, such as
"negative lookahead", with CMake's regular expression engine.
Output of "ctest -N" is unchanged by this commit.
This functionality will be used soon (see next commits).
Patch from Kornel Benko.
The export ja/lilypond_pdf fails because ps2pdf gives an error. It
is thus still inverted, under the category 'externalissues'. As
Jürgen discovered, ps2pdf succeeds if the -dNOSAFER flag is used.
Note that Kornel is seeing strange behavior with the sweave test,
and thus the label of that test might be changed soon (e.g. to
"unreliable"). For discussion, see:
https://www.mail-archive.com/search?l=mid&q=20171001032524.fr5xfngylththwv2%40steph
Handle name may be arbitrary string mathing '[A-Za-z0-9]*'.
This is then used by appending to the commands for the control file.
For instance select 'Alpha' as handle for the control file 'abc'
'COAlpha: abc' ==> open 'abc' for write
'CCAlpha:' ==> close 'abc'
Could not find a suitable tex font for the following tests:
export/doc/uk/Intro_pdf4_texF
export/examples/uk/splash_pdf4_texF
export/examples/minted-filelisting_pdf4_texF
1.) Handle also 'LatexCommand inputminted' in lyxStatus.pm
2.) Add '-shell-escape' to the appropriate converters.
This applies only to the ctest-environment iff calling
the script 'prefTest.pl' in the build directory.
keytest.py: This gives the os some time to update the status.
All keys with modifier and all possible shortcuts are affected.
Shortcut use corrected in findadv-11-in.txt and findadv-17-in.txt
Now, before starting a test with 'TestBegin' in any *-in.txt file
we can create ne shortcuts used by this test.
Defining a shortcut:
UseShortcut "<shortcut>" "<function>"
Actually adding the new shortcuts to be used by the next lyx-session:
PrepareShortcuts
Use example is found in findadv-combined-in.txt
The UseShortcut-entries will be traslated into '\bind "<shortcut>" "<function>"'
and with the PrepareShortcuts-entry added to the active use file 'user.bind'
Function keys are sent to xvkbd as e.g. \[F15], so we should
not split a sequence like "\C\[F15]" into two text pieces.
(Do it like other keys not having a digit in their name (e.g. \[Return]) )
The controls are described in hello-world-in.txt as
Cr: not expected regex search pattern before next expected match
Cp: not expected search pattern before next expected match
See also findadv-re-04-in.txt for an example
In this test-case, searching for case sensitive and format considering
search is failing.
This test started failing after 8bf3d7bb. I did not look deeply into
why, because the corresponding de and es tests were already
inverted, and because in general we do not expect texF tests to work
well.
The controls are described in hello-world-in.txt as
CO: for control file open for write
CN: control notice
CP: simple search pattern
CR: regex search pattern
CC: close control file
The control-file will be used at the end of test by searchPatterns.pl
Suppose, we want to test a key sequence which should produce
logs in defined sequence. ATM, we use pcregrep to see, if
a pattern occurs in the log-file. This is OK, if using only single
tests with only one message to care about.
But it is not OK for combined tests.
As an example, the file 'findadv-combine-in.txt' is combining
tests findadv-re-01-in.txt, findadv-re-02-in.txt and findadv-re-03-in.txt.
This test runns here about 25 seconds, while the time for the other three
is about 144 secs.
(Most time is with starting/stopping lyx)
Often the relevant entry (e.g. /proc/xxxx/status) exists,
but is empty. This led to many tests fail, mostly at
the first tests after the start of the OS.
The culprit in keytest is the possibility to lose some keystrokes.
The idead here is that the keystokes are cached by QT until some
control character is entered forcing e.g. new dialog.
So, splitting input lines at these characters should be enough
to ensure that the next chars are not lost.
iconv fails, if a nomenclature inset contains an uncodable character
This led to failure of the indonesian UserGuide in the attic.
Fix it there and add a minimal, specific test sample instead.
1.) Don't modify the line as it happened at start of sendKeystringLocal()
2.) Split lines on each keysym (e.g. \[Return])
3.) Beatify the debug output of the sent text
This makes the wrapper working smoothly even for more complicated
input lines.
Also we do not need the window- parameter in call to xvkbd.
Still, there _is_ something fishy. At first run it can happen that
some keytest fail. But not reproducible at subsequent calls.
It feels like QT would cache some data and therefore lyx reacts
later faster.
This work is a result of collaboration with Tommaso Cucinotta.
Changes are:
1.) make it python3 compatible
2.) rewritten the lyx_status() routine
3.) routines lyx_sleeping(), lyx_zombie(), lyx_dead() now depend on lyx_status()
4.) dont send keystring "\Afn" at start as it is language dependent
5.) handling of TestEnd uses now lyx-commands to stop the lyx-session.
Use 'kill -9' only if unsuccessful