Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.
(cherry picked from commit 1cb2a443b5)
The current heuristics only considered modules with styles that defined
a searched command in their preamble, and only for commands/environments
that were defined in the document's preamble. This limited the module
support drastically.
The new heuristics also checks for commands coming from packages. If the
command is not (re-)defined in the document preamble, it checks modules
that provide a style with a matching LaTeXName, checks for their
requirements and matches those with the packages loaded by the document.
If no module provides a searched style, but we found modules that load
packages that are loaded in the imported tex file, and if those packages
are not auto-loaded by LyX anyway, we also load this module.
fixes: #11259, part of #8229
(cherry picked from commit 0b54650f0e)
This is a much less invasive version of da2696cc+da2696cc, which
reduces the risk to a minimum. There may be other Row members that
need resetting, we'll see that later.
Fixes bug #11396.
This is hardcoded for now for simplicity and to allow backporting to
2.3.
The behavior is unchanged for all languages but Chinese, Japanese or
Korean.
Fixes part of bug #10299.
(cherry picked from commit 26c2811cc4)
This seems to be necessary on windows, where math editing can get very
slow. Note that other methods like rbearing already use a cache.
In the future all these caches for single characters shall be unified.
(cherry picked from commit d3979e798c)
In full screen mode, it is possible to restrict the text width. In
this case, the paint bar should not be painted outside of this
restricted area.
Fixes bug #11286.
(cherry picked from commit 7485225cc6)
Call gunzip with quoted filenames as they may contain spaces or
other special characters.
In computing the length of the extension, the code does not account
for the prefix "unzipped_", which is added when the zipped filename
does not have one of the extensions "gz", "z", "Z", or "svgz", and
thus the used index is out of bounds. See also this thread:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg207360.html
(cherry picked from commit 69726b832b)
(cherry picked from commit 7296e0e6ba)
To reproduce: Do a search for text in a footnote (say) that is
currently closed. Click inside the now open footnote. It will close
by itself.
We need to know whether we can go into the inset, not whether we can
edit once we're there.
(cherry picked from commit 4484cc7751)
This commit removes the adhoc code in GuiPrefs and moves it to LyXRC,
so that it triggers in every preference change.
The code has also been updated to trigger on more variables, e.g.
font_*_foundry.
Note that the actual function that are called have not been changed
(addPreviews and LFUN_SCREEN_FONT_UPDATE), although there are doubts
that they behave as needed (see FIXMEs).
Fixes bug #11498.
(cherry picked from commit 954531f247)
A typical problem when change tracking is on is:
1/ insert a new space between two words (as if you want to insert a new one)
2/ move the cursor
3/ see how one has one inserted and one deleted space, whereas one would expect nothing.
The problem is fixed in a general way in master, but here we propose
a simpler one, where the spaces that we keep are the ones at the end
of the sequence of spaces.
Part of #11412.
When change tracking is active, it may happen that spaces are marked
as deleted instead of being removed. Therefore it is better to measure
the change of size of the paragraph to know how to offset the cursor.
Moreover, it the cursor was strictly after the start of the sequence
of spaces, we ensure that it is still the case.
This commit is _not_ a backport from master, which has diverged.
Part of bug #11412/
Remove special handling of spaces at end of paragraph. Now they are
handled like interword spaces by both DEPM methods.
Fix off-by-one error in loop when testing for end of paragraph.
Part of bug #11412.
(adapted from commit c00234503f)
Now we search in priority with the GUI language, and then the
language(s) specified in the LANGUAGES environment variable.
Preoviously, the GUI language would only be considered when
LANGUAGES was not set (which was a bug).
Take this opportunity to remove old compatibility code from 2007.
(cherry picked from commit e203bf519b)
When splitting parameters at commas, take into account that
commas inside curly braces are not parameter separators.
(cherry picked from commit 6316b9b7ae)
Otherwise, we will ask about it again next time, when the file
may have changed. Also, if we crash again, we'll over-write that
file, which we may not want to do.
See bug #11464.
(cherry picked from commit b804e8851c)
This is a follow-up to 714b731e. This fixes the issue when the cursor
is in front of a space
abc| def
and one inserts another space (to start a word). DEPM would eat one
space and produce
abc |def
instead of
abc | def
Additionally, fix the same_par boolean, wheich did not take the cell
index into account.
Related to ticket #11412.
(cherry picked from commit 7848d3c90c)