Commit Graph

518 Commits

Author SHA1 Message Date
Günter Milde
8556cb1c66 fix layout2layout with stdin/out for Py3.
sys.stdin and sys.stdout expect a Unicode string,
with bytes we must use sys.std(in|out).buffer.
2019-07-07 20:37:12 +02:00
Jean-Marc Lasgouttes
642b4acca1 Let TeXFiles.py handle symbolic links.
Nix (https://nixos.org) is a Unix package manager, which can be used to
install LaTeX on macOS. A peculiarity of Nix is that all packages are
installed into separate directories and the actual directory tree is
then constructed via symlinks.

This interacts badly with the way LyX currently detects files in the
TeX setup, because TeXFiles.py does not follow symlinks. Therefore,
almost nothing is found when using LyX together with Nix’ LaTeX.

Patch from Michael Roitzsch.
2019-06-25 15:52:46 +02:00
José Matos
4268a9e812 Remove code that is redudant.
Both for python2 and python3 output is always a string.
2019-06-04 18:26:13 +01:00
José Matos
639b5da1af Fix the remaing issues with comparisons with objects of different types.
In python it is possible to compare tuples with a lexicographic order.

Take advantage of that since there is no need to resort to the C-trick of converting a version in hex format.

We need to set a dummy version in case we are using ImageMagick to ensure that version is always an integer 3-tuple.
2019-06-03 19:07:20 +01:00
José Matos
a8937b53ec Fix bug in python comparison.
It worked in python2 but not the way the authors imagined. Because hex always returns a string.

From python2:
>>> 1 > "2"
False
>>> "2" > 1
True
>>> "1" > 2
True

The rational is that an integer is always smaller than a string.

In python 3 this because it does not make sense to compare objects of different types.
2019-06-03 17:15:09 +01:00
José Matos
f9bf53f35a Make verbose switch consistent.
Someday we should probably unify these two switches. Because the debug switch is verbose
and the verbose switch is mostly used for debuging.
2019-06-03 07:31:05 +01:00
José Matos
a810d779d7 Import lyxpreview_tools directly and not only inside *if* conditions.
This is related to the bug #11457 saga and it was my fault.

The debug files should be written only be on if the argument --debug is passed and not --verbose as it was done by mistake.
2019-06-02 17:24:40 +01:00
Juergen Spitzmueller
c7efb677f8 New InsetLayout tag ParbreakIgnored
This effectively allow paragraph breaks in insets only for cosmetic
reasons (e.g., to align contents on different lines).

This is the last change necessary for an enhanced covington gloss support
(which uses the new covington gloss ui)
2019-06-02 18:16:30 +02:00
Juergen Spitzmueller
9e6d22ea9c Add InsertOnNewline argument tag
This adds a paragraph break before auto-inserting arguments in flex
insets.

Useful for specific arguments (particularly ling glosses)
2019-06-02 18:07:10 +02:00
Juergen Spitzmueller
9f04eeae03 Support FreeSpacing in InsetArgument 2019-06-02 16:33:06 +02:00
José Matos
050f0cbc91 Add further debug information fow windows (#11457) 2019-05-31 16:07:13 +01:00
José Matos
28f17333ff Temporary hack to try to solve #11457 on windows
Redirect the standard output and standard error of the script to a file called debug.txt in the temporary directory.
2019-05-31 10:43:02 +01:00
José Matos
8dd31803b1 Attempt to fix #11457
In python 3 the colors need to be strings and not bytes:

This was the equivalent of

>> print("%s" % b"1")
"b'1'"

since the colors were bytes the call to dvipng was something like

dvipng -Ttight -depth -height -D 115 -fg "b'rgb 0.937255 0.941176 0.945098'" -bg "b'rgb 0.137255 0.149020 0.160784'"  "lyxpreviewxBJEqm.dvi"

Note the "b'rgb after both -fg and -bg that wrecked havoc and thus dvipng failed. That was the difference between python2 and python3 calls.
2019-05-28 16:22:32 +01:00
Kornel Benko
48a5b16885 Add a testcase for buffer-write-as 2019-05-27 10:21:15 +02:00
Juergen Spitzmueller
70b3d3adcc Add NewlineCmd InsetLayout and Argument option
This allows to specific an alternative macro for newlines

Fixes: #10407
2019-04-18 11:35:03 +02:00
Juergen Spitzmueller
ed44bbddee Add MenuString to InsetLayout
Fixes: #8818
2019-04-18 10:27:19 +02:00
Juergen Spitzmueller
4b3aacd13b Add TableStyle layout tag
Fixes: #8360
2019-03-26 17:42:56 +01:00
Uwe Stöhr
01c5d528fe convertDefault.py: remove ancient restriction
there is no longer the need to restrict the image depth (on Windows since years the 16 bit depth version of ImageMagick is bundled)
2019-03-21 02:35:51 +01:00
Juergen Spitzmueller
8b92a2a689 Add NeedMBoxProtect [inset]layout option
This accesses the inulemcmd output param which protects specific commands
(\cite, \ref) in an \mbox.

This is needed in ulem and soul commands, since their complex
detokenization makes such commands (who produce multiple words via local
assignment) fail.

So now it is possible to properly support ulem and soul via
[inset]layout

Fixes a case reported in #9404
2019-03-12 14:08:05 +01:00
Günter Milde
9abd46b4d5 Fix AttributeError with Python 3.
At least since Python 3.5, `output` is already a
(unicode) string and does not have a "decode" method.
2019-02-28 22:59:30 +01:00
Jean-Marc Lasgouttes
9fe101e890 Remove support for pixmap cache
This code has issues and there is no evidence that it improves performance.

Remove LyXRC variable \use_pixmap_cache and update rc format to 29.

Now the global pixmap cache is only used by GuiCompleter. Therefore
there is no need to reset it when fonts change.
2018-10-07 14:56:55 +02:00
Richard Kimberly Heck
e5fc7327e3 Extend fix for #7404 to allow any inset collapsible to be edited
externally.
2018-10-04 13:41:41 -04:00
José Matos
cac27076ea Replace /usr/bin/env python -> /usr/bin/python3 2018-08-29 17:26:21 +01:00
Juergen Spitzmueller
ed61ce74b7 So long, date-insert!
This function is superseded by info-insert date, which is much mightier
and more flexible.
2018-08-20 09:25:22 +02:00
Juergen Spitzmueller
43e26a562b Add prefs2prefs code for vcs info inset renaming 2018-08-18 16:11:08 +02:00
Juergen Spitzmueller
b124adbd38 Introduce listpreamble argument type
This uses the InsetArgument interface to provide access to a document
part hitherto inaccessible by LyX: the part between \begin and the first
\item in a list (where lengths and counters can be redefined, for
instance).

Fixes: #11098

File format change, layout format change
2018-08-17 10:22:32 +02:00
Juergen Spitzmueller
1e5acc5656 Fix command line output of convertDefault.py for ImageMagick
Part of #11186
2018-07-13 10:20:26 +02:00
Kornel Benko
1803d788f7 Cmate tests: Amend aca3031
The script checkKeys.pl.in was mentioned but not added to the previous commit.
2018-06-09 09:48:41 +02:00
Kornel Benko
aca3031352 Cmake tests: Added check to inspect created pdf in test "AMS-import"
If the command "comparepdf" is found, it will be used.
Also the script lyx_batch.pl is now easier to expand for
possible new comparision tools.
2018-06-09 09:15:21 +02:00
Kornel Benko
f5732bef83 Disable GUI for our batch tests if using QT5
Thanks to Enrico for this params
2018-05-26 13:30:30 +02:00
Kornel Benko
49603e91aa Cmake batch tests: Generalize lists of files in test.
Each source file is to be copied to the test directory
Created files are to be compared to the corresponding expected file (if it is not set to "undef")
2018-05-25 17:19:34 +02:00
Kornel Benko
3319664d53 Cmake batch tests: Check also if all expected files are created 2018-05-25 13:59:47 +02:00
Kornel Benko
1a36fee79d Added testcase for ticket #11156
The test is named "AMS-import", with defined test-labels 'tex2lyx' and 'batch'
2018-05-24 20:49:11 +02:00
Juergen Spitzmueller
bbf287a3c6 Allow for cite engine and format definitions/modifications in layouts
Now layout files and modules can extend the cite engines or completely
overwrite them, and modify the cite formats.

Any CiteEngine definition in a layout/module will completely overwrite
those by cite engine files.

AddToCiteEngine will extend them (add if they do not exist yet).

Any CiteFormat definition in a layout will be preferred to those in cite
engines. CiteFormat definitions that are not touched by the former are
still active, though (so, as opposed to CiteEngine, a CiteFormat does
not completely overwrite those by the engine files).

Layout format change.
2018-05-21 12:46:53 +02:00
José Matos
5b160e82be Update scripts to support simultaneously python 2 and 3
The fixes are simple and on line with the changes made during
the 2.3 development. It was an oversight to leave them out.

With this commit all the python scripts should be supported by
python 2 and 3.
2018-04-28 10:51:35 +01:00
Juergen Spitzmueller
389352b3fb Add optional flavor flag to needaux
Also, use latex flavor if no flag is given rather than default output
format

Fixes: #9127
2018-04-25 13:51:40 +02:00
Juergen Spitzmueller
26ea1e1496 Align fontenc with document fonts
Following a request by Günter, we consider the document fonts (only rm
for now) when selecting an appropriate font encoding.

See #9741

The new default font encoding setting "auto" does

* consider the font encoding needed by the language(s), which can now
  have fallback alternatives
* Consider which font encoding is provided by the document font

Thus, cm now will result in OT1 fontenc, if the language can deal with
that.

The font_enc pref is ditched: it is no longer needed.

The automatism is still very basic and is subject to extension.

File format and prefs format change.
2018-04-22 19:06:46 +02:00
Kornel Benko
17dc24419a Adapt test outline-beamer' to the synchronous batch export
Also add the 'export'- label to this test
2018-04-22 11:59:19 +02:00
Juergen Spitzmueller
e11bda2cea Layout format update after 2ba584957c 2018-04-14 10:28:22 +02:00
Kornel Benko
26eeaa1af2 vcs_info_export moved to new directory, part 2 2018-01-17 12:25:22 +01:00
Kornel Benko
aed458f007 Cmake tests: New test for the outliner with beamer
Test idea from Pavel Šanda
Move insets down and up, then compare with expected latex output.
2018-01-14 13:47:27 +01:00
Juergen Spitzmueller
f3b89e4c72 Add IsAutoNestedBy
This is complementary to AutoNests: Styles can determine which other
style should auto-nest them. This is particularly useful for modules
that add new styles which should be auto-nested in a given context.
2017-12-29 10:36:03 +01:00
Juergen Spitzmueller
d6fb2abbea Some AutoNest polishment.
* Rename Nests to AutoNests
* Do it when changing from any style
2017-12-29 10:03:00 +01:00
Juergen Spitzmueller
99ecc6e2c9 Implement auto-nesting.
Now layouts can specify other layouts that should be nested in and
after the current one (if the layout is switched from the current one
and if it follows a paragraph in the current one).

This is particularly useful for things such as the beamer frames, where
particular layouts are practically always nested.
2017-12-28 17:44:54 +01:00
Juergen Spitzmueller
eb2dbb8b09 Assure print function compatibility in python 2.x 2017-11-24 11:56:41 +01:00
Juergen Spitzmueller
4f10c0a14b Use python3 print syntax 2017-11-23 08:16:10 +01:00
Uwe Stöhr
913619c80a svg2pdftex.py: make print work with Python 2 and 3 2017-11-22 23:26:58 +01:00
Juergen Spitzmueller
f2b6ff0870 Swap prefs format 24 and 25, since the former will not be backported. 2017-11-02 16:40:05 +01:00
Juergen Spitzmueller
891a7ef79f Collapsable -> Collapsible (part 5)
Preferences update and prefs2prefs routine.

This was forgotten in the process.
2017-11-02 16:26:45 +01:00
Juergen Spitzmueller
c466baaa5b Collapsable -> Collapsible (part 2)
The current spelling is not strictly wrong, but flagged as unusual or
historical by some authorities. It is also found fault with many
spell checkers. Thus we decided to move to the more standard "-ible"
form once and for all.

See #10678 for discussion

This part covers the most tricky part: the internal naming.
Translations and layouts will follow.

This will all also all be backported to 2.3.x, for the sake of backwards
compatibility (cherry-picking).
2017-10-16 10:12:21 +02:00