With this change, it becomes possible to run the following commands:
inset-forall Separator:latexpar char-delete-forward
inset-forall Separator:parbreak inset-modify separator plain
The first one deletes all latexpar separators. The second one turns parbreak
separators into plain separators. This is safe, flexible, and avoids adding a
new LFUN.
We ensure that configure.py is called by python2, regardless whether 'python'
is python 2 or 3. Therefore we can simply call TeXFiles.py with the currently
running interpreter. This fixes configuration on systems where 'python' is
python 3.
Lyx files converted from 2.1 to 2.2 contain parbeak and latexpar separators that
would not appear if the lyx file was written in 2.2 from scratch. The script
removes latexpar separators and transforms parbreak separators into plain
separators. Then it displays a diff of the resulting pdf files (requires
diffpdf) for manual control. All lyx files shipped with lyx should be updated in
this way. See #10068.
example usage:
cd lib/doc
../development/tools/separator-convert.sh Math.lyx
The difference has been validated with diffpdf.
The following could not be tested and were left unchanged:
docbook_article.lyx
lilypond.lyx
linguistics.lyx
springer/sv*.lyx
de/linguistics.lyx
es/linguistics.lyx
ja/FeynmanDiagrams.lyx
ja/lilypond.lyx
ja/beamer.lyx
ja/xypic.lyx
The following is the script that I used (in lib/examples):
LYX=../../build/src/lyx
$LYX -E pdf2 $1.old.pdf $1
sed -i "s/^\\\\begin_inset Separator parbreak$/\\\\begin_inset Separator plain/" $1
sed -i "/^\\\\begin_inset Separator latexpar$/ { N; d; }" $1
$LYX -e lyx $1
$LYX -E pdf2 $1.pdf $1
diffpdf $1.old.pdf $1.pdf
The difference has been validated with diffpdf.
The following could not be tested and were left unchanged:
AEA.lyx
IJMPC.lyx
ja_beamer-conference-ornate-20min.lyx
The following is the script that I used (in lib/templates):
LYX=../../build/src/lyx
$LYX -E pdf2 $1.old.pdf $1
sed -i "s/^\\\\begin_inset Separator parbreak$/\\\\begin_inset Separator plain/" $1
sed -i "/^\\\\begin_inset Separator latexpar$/ { N; d; }" $1
$LYX -e lyx $1
$LYX -E pdf2 $1.pdf $1
diffpdf $1.old.pdf $1.pdf
This is what the polib version does already. If a translation is marked
fuzzy then it is not used, so if the other file contains a non-fuzzy
translation we do not throw away useful information if we overtake it.
If the -o option is given, we may overwrite existing translations with
translations from the other .po file. In this case, we have to delete or set
the fuzzy flag accoring to the updated translation.
2.1.x allows some document settings to have negative values where
2.2.0rc1 does not (because of the bug fix at 9e166088). If a user of
2.2.0rc1 opens a document from 2.1.x that contains one such negative
value, it will appear as though no change to the document settings
can be saved because 2.2.0rc1 treats the document settings as
invalid immediately on opening the dialog. Further, unless the user
manually goes through each tab they will not see the red text next
to the input that is now considered invalid. This could lead to
confusion for users. One example of such confusion is [1].
The following settings now allow negative values, which is
consistent with 2.1.x. Negative values in these settings do not lead
to LaTeX errors:
- Text Layout tab: the two line edits enabled with "Custom"
- Page Margins tab: all eight line edits
The following settings are not changed by this commit, so they now
(with 2.2.0) do not allow negative values that 2.1.x allowed. This
change makes sense because negative values lead to LaTeX errors in
these cases:
- Page Layout tab: the "Height" and "Width" line edits, which are
enabled when "Custom" is selected
[1] https://www.mail-archive.com/search?l=mid&q=CAGZ2pgXqf27UaAaQ%3De_wFz1fGTa6Yv0iFyS97qu1C7B5R59irg%40mail.gmail.com
An undocumented behaviour of QClipboard::mimeData() is that it can fail on
windows due to the specificities of the windows API that allow a race condition.
In particular it seems that querying the clipboard as soon as the dataChanged()
signal is received favourises this race condition.
Thanks to Trac user bquistorff for the explanation and a proof of concept patch.
This was done with
python ../lyx-2.3-staging/development/tools/mergepo.py -n -t po ../lyx-2.1/po
It should have been part of a26cdcb4ba, but the mergepo script did not overwrite
fuzzy translations with non-fuzzy ones at that time. Now 2.2 will not be missing
translations that are in 2.1 (but of course it might contain changed translations).
This was a regression of 8aa37c43. I did not take into account that end_pos
could be -1, so the code that checked whether a pair of braces needs to be
inserted between two hyphens did not work for that case. Now we check for
the length of text_, which should be done anyway, and only take end_pos into
account when it is not -1.
Jari-Matti provided an updated fi.po in bug 10084, but unfortunately I did not
see that before remerging the strings. Therefore, I did not take the updated
file directly, but downloaded it to /tmp/fi.po and merged the updates with
python ../lyx-2.3-staging/development/tools/mergepo.py -o -l fi -t po /tmp/
The two header changes were done manually. This way, the updated translations
are not hidden in lots of sorting changes. I had to use mergepo.py from 2.3
because the one in master does not treat fuzzy translations correctly.