The reason we want to do this is for if there is pasting across buffers.
For within buffer, the previews should already be updated. Calling the
buffer-wide updatePreviews() might seem like overkill, but actually it
should be quick because only the previews that need updating are updated
(and this check feels quick to me, although I did not profile).
If we were to loop through the pasted text and update each preview
individually, this might take more time. When updating previews
together, only one .tex file is compiled.
(cherry picked from commit 73460423ad)
Clarify that a user-defined external_templates file would replace
the library version. For more information on this issue, see #3983.
(cherry picked from commit 1d28d90801)
This is a collection of changes to the python scripts in master made
for trying to sort out the mess that had accumulated about previews.
After this audit, it turns out that bugs #6369, #9354, #9508, and #9510
are now fixed. If pdftocairo and epstopdf are vailable, it also makes
the conversion performed by the legacy conversion paths much faster
and improves the quality of the generated bitmaps.
Create new helper class UndoGroupHelper, which simplifies a lot the
handling of undo groups in cases like this one. The class tracks open
undo buffers and allows to switch buffers transparently.
Using the class for advanced search and replace is trivial. The class
may be useful in some other classes.
Also fix the status.21x file that had DOS end of lines and reorder a few undo-related entries.
Fixes ticket #8658
The recipe for reproducing this crash is to do a search and replace
that changes a string present in a collapsed inset, and then undo.
This is a followup to d5eeabcf, which used editable() instead of
isActive(); this commit was amended at a6bc4a2a, since editable() is
not set properly in mathed.
Truth is, editable() is not the right property to test against, since
it is false for a collapsed inset, which does not prevent a cursor
from pointing inside. Therefore sanitize should not change the cursor
in this case.
Hopefuly, this is the last word on the subject. Alternative would be
to drop this if()-clause completely.
The GNU libstdc++ that ships witch gcc 5 can be used with the same ABI as
older versions, or with a new ABI which is conformant to the C++11 standard.
LyX did not build if the latter was used:
https://kojipkgs.fedoraproject.org//work/tasks/1267/9651267/build.log
This is now fixed by detecting the ABI version and disabling the wrong forward
declarations. At the same time, STD_STRING_USES_COW is switched off for the
C++11 ABI version, because the std::basic_string implementation is now C++11
conformant. Since the GNU libstdc++ can also used by other compilers such as
clang, we must not test for the compiler version.