\cprotect'ed insets do not need forced local font switch; in fact files
with this break in compilation. E.g. a caption with an URL containing
the char '#' and caption text set to a secondary language.
Add a Cursor-less version of Undo::recordUndoBufferParams (we don't
use an optional arument to avoir #includ'ing Cursor.h).
The version with CursorData parameter has been kept for the case of
local dictionary lfuns that have some kind of locality.
Remove Cursor argument to Undo::recordUndoFullBuffer().
Recent versions of qmake complain loudly when the locale
does not explicitley specify the utf8 codeset. Specifically,
the configure script exports LC_ALL=C and that implies the
ascii codeset. Previously, this was silently changed to utf8,
whereas now we get a warning for each qmake invocation.
So, explicitly set utf8 before calling qmake.
This extends the support of qmake to Qt5. Currently, the other
configuration methods are tried if qmake fails, but a message is
printed.
A nice goal would be to get rid of those legacy methods (pkg-config,
plain autoconf-style), if this proves possible.
The functions were selected from the parser files where document is
always defined.
The only case was this code was used was on document.warning.
Since our documents are well formed this code was never active and thus
the reason why we did not saw this before.
One possible solution to assure that these type of errors do not occur
is to make the convention that all the functions in lyx2lyx_tools have
as the first argument document.
# ambiguous-variable-name (E741)
Derived from the **pycodestyle** linter.
## What it does
Checks for the use of the characters 'l', 'O', or 'I' as variable names.
## Why is this bad?
In some fonts, these characters are indistinguishable from the
numerals one and zero. When tempted to use 'l', use 'L' instead.
## Reason to ignore in LyX?
With appropriated fonts that is not an issue. In our case we just use
the 'l', in particular in the context of iterators: 'i', 'j', 'k', 'l'.
The only difference from regular letter is the alignment of
"Send To Address" layout, but it no longer reflect the output
corrctly, probably because LyX revert the alignment of layouts
in RTL context now.
This inset can change dimensions when edited (like macros can).
Therefore Update::SinglePar should be set with editXY() like it is
already set for edit().
With this patch, 3 draw strategies (set in prefs with
\draw_strategy partial|backingstore|full) are available:
- "partial": only draw the parts of text that have changed since last
paint event (default for X11 and windows)
- "backingstore": the same, but drawing happens on an offspring
pixmap; this breaks subpixel rendering (default for Wayland and
macOS)
- "full": the screen is fully redrawn at each paint event and should
therefore always be correct; this is presumably slower but
introducing it will allow to test it.
This would deserve a proper UI eventually.
This is in line with the current hints for better readability:
* one import per line;
* order the imports alphabetically to be easier to search;
Take the chance to remove unused imports.
Remove Python 2 support
This simplifies the code and allows to use other more modern features,
like formatted strings, that were not possible while keeping Python 2
compatibility.