Since there is a margin above and below the inset, there is no problem
for putting it higher.
Fixes bug #11684.
(cherry picked from commit bf7f4d716cf0ef148495d7ecd616a1aaea57a13d)
If the file of an InsetInclude does not exist, loadIfNeeded will try
again and again to look for it. This is very bad for files with many
include insets, especially on windows.
Fixes bug #11656.
(cherry picked from commit aeed6fb8fa35c045697fe6950c6109be8d30884c)
This is better than making sure that the inset has exactly one cell.
In the future, inset-dissolve could be extended to dissolve all the
cells contents in the enclosing text.
Note that this check does not appear in mathed, and using dissolve in
e.g. fraction inset may lead to data loss (only current cell contents
is preserved).
(cherry picked from commit 5ac3b880075794130492c2fe63c35104b207ad73)
This patch is not ready yet. Moreover, change the assertion in
InsetMathGrid::colAlign to a simple test.
As a consequence, math split inset might show a bad alignment in some
situations.
This reverts commit d3fd91566249b722dbc553b921283f2507ce5e17.
Like with macOS, the Wayland compositor seems to require a
backingstore when doing partial updates like we do.
This extends the mechanism that has been introduced for macOS. This
has to be done at run time, not compile time.
Fixes bug #11692.
(cherry picked from commit 575761c665229e70d9ce9b2bd941d01a1873b9f1)
The warning about unneeded std::move can be solved by conditioning on
C++14 mode.
The warnings about deprecated copy is harder, so we disable it for
now. We will be able to fix our part, but Qt triggers it a lot too.
(cherry picked from commit 134f3aedaf4150367cdc2f6855d695d3791a5353)
Using a map would sort the elements in alphabetic ordering, which
means that when the number of elements is larger than 100, the wrong
elements get pruned.
This commit uses a list instead. Searching an item needs linear time,
but this should not be a problem for a list with less than 100
elements.
Fixes bug #10310.
(cherry picked from commit 58d22e0c6edab4cb68af63d3ccaafcb875be995d)
Make InsetGrid::colAlign a normal method and make it check whether
buffer is valid before using it. This avoids crashes as we have seen
in 2.3.3 (see e.g. #11686).
There is still an assertion so that failure is noticeable before release.
(cherry picked from commit 44816adce634c8a06c1ff0591adbcf042ec4c072)
This avoids a crash in InsetMathSplit which uses the buffer() value.
Fixes bug #11686.
(cherry picked from commit 19abf29ea0cf89cdc99b9327448146aeb35d1dc1)
Horizontal scrolling used to be taken into account when updating caret
geometry. This is wrong since it may have changed when time comes to
draw the caret. This leads to a situation where the first apparition
of the caret is at a wrong place.
Now the extra horizontal offset is used at drawing time.
Fixes bug #11603.
(cherry picked from commit bdf58b77e7bebce6e9554151a909a5ee62be439f)
When automatic command termination was added to texstream it was
forgotten to reset its status after a math inset.
(cherry picked from commit 0573bf92e08715266d97ba8cec74107d084744c8)
Directories are created when files are copied, so we do not need
to do it prospectively here.
(cherry picked from commit 05a446b77c5eaeb8ba1982d900bd3ad6f6689139)
When a selection spans more than one line, we now check for whether
there is a change at one position after the last position of each
fully selected line.
This fixes#11629.
(cherry picked from commit 27f89144bbc054c2afd5ca9d7540805138d44de1)
More complicated than I wished for, but color handling in RTL is
particularly tricky.
The three versions are needed due to the differences between [pdf]latex,
xetex, luatex/luabidi and luatex/babel.
(cherry picked from commit 4e74dd0d4258177133e5a374264bbc0cec7f9dbb)
Loading keyval does not work any longer. Fix it properly by de-activating
the equal character locally if graphics options use it.
We do this statically for Turkish and Latin in stable, as opposed to
master (where we have the ActiveChars languages tag)
With !using_begin_end, we need to compare against the paragraph language
since cur_language is always empty.
No status entry needed as this fixes a bug introduced after 2.3.3.
As opposed to bidi (XeTeX), luabidi (LuaTeX) does no automatic reordering,
so we need to use \\LR{}
(cherry picked from commit 1d0929b5d9975923f3cbbe7f84e93f3b694a1ccb)
See the discussion. The decision was just to keep re-trying for a
bit, since the lock preventing us from removing the old file seems
to clear after a bit.
(cherry picked from commit d96a9aa37feaff170095f34a682ab0b2788f3671)
Do not replace a latex command with the corresponding symbol
in the unicodesymbols file unless it can be encoded in the
document encoding.
The mhchem \ce inset is a text mode environment but allows entering
spaces and mathmode commands. However, even if it doesn't allow unicode
symbols, LyX allows entering them (by copy/paste, for example), causing
latex errors. As a unicode symbol may have a proper latex representation
from the unicodesymbols file, use it instead of the bare symbol. Here, we
don't care about the mode because both text and math mode should be allowed.
For example, the ⟶ symbol is not recognized but its latex representation
(\longrightarrow) is fine. Of course, there may be symbols that are
not recognized anyway, but this is better because they cause explicit
errors from mhchem instead of cryptic iconv errors in case they cannot
be represented in the document encoding.
A branch inset modifies the layout of the internal structures in
which the text is organized. When a branch is active, it is as if it
was not there, but its only presence makes a paragraph which would not
be the last one to actually be the last one, or the check for the
language of the previous paragraph to fail because there is no
previous paragraph before the first one in a branch inset.
Oney way I found to tackle it, is tracking whether the typesetted
paragraphs are actually part of an active branch inset and acting
accordingly.