(backported from master)
The idea is to record undo at the place where the document is modified:
1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
const_cast has to be used (because updateBuffer is const but
modifies the document, go figure).
2/ in GuiApplication::dispatch, add an extra undo group that
encompasses the updateBuffer call. Some other undo groups may be
redundant now, but it is not a problem since they do not cost
anything.
For some unknown reason, the paste code likes to call Cursor::setSelection(), which is not appropriate here since we are not trying to set a selection at this point.
Text::outerFont looks recursively for paragraphs before the current one
which has a lower depth. If such a paragraph cannot be found, depthHook
and outerHook return the current paragraph. As such, we end up in an
infinite loop. So, if we find a par_depth that was the same as the
previous one, we apparently can't find a suitable paragraph and we should
quit the loop.
(cherry picked from commit b17250d7eb)
hard disk drive like D:\.
In this case, the working dir has already a slash at the end.
Appending another one would result in a path ending with a double slash,
which has a special meaning when used in TEXINPUTS (all subdirs would
be recursively scanned). So, avoid doing that.
(cherry picked from commit 93ebb7a863)
When using, e.g., a 'mathcal' inset in math, the inline completion and
other special characters like '\#', '{..}' are are painted in the
'mathcal' font as well. This is overcome by setting the mathnormal font
before painted these characters.
(cherry picked from commit 6377296492)
If no mask is supplied or the mask is attached to the end of the filename, we end up with unexpected names like
<system-temp-dir>\lyx_tmpdir.qHp780.vcr780_<mask>
instead of a temporary file in the lyx temporary directory like
<system-temp-dir>\lyx_tmpdir.qHp780\<mask>.vcr780.
(cherry picked from commit 5e4e4b674c)
On windows the temporary filename consists of uppercase characters. This
causes that the extension does not get replaced, and the logfile is left
behind.
Checking the extension case insensitively will correctly remove the
logfile.
(cherry picked from commit a02bfeebc5)
is intended for us, i.e., if the first argument is "box". Maybe we
should also check to make sure that the rest of the arguments are
good, but we used just to return true no matter what the argument
was, so this is an improvement.
LFUN_INSET_MODIFY is really kind of a mess.
The LATEX_LIST_ENVIRONMENT and LATEX_BIB_ENVIRONMENT type paragraphs are
not yet implemented in DocBook export. However, we need to actively skip
these paragraphs in order not to end up in an endless loop.
(cherry picked from commit fa9bd04ea4)
If the stream is good (i.e. there are still tokens) and we expect an
argument, we call getArg(). However, if there are only spaces, the stream
suddenly isn't good anymore after 'skipSpaces' and we would get an error
when calling 'getChar'. Therefore we have to check whether the stream is
still good.
MathParser: Do not rewind the stream if we can't read from it
If the stream is not good, we don't need to 'putback', because we didn't
read anything yet. If we now do rewind the stream, we are asking for
problems as in bug #8089.
This was introduced in [3cafb856\lyxgit] to fix bug #4318.
(cherry picked from commit 26dcfcd343)
(cherry picked from commit 1ef930c058)
If we are in rtl text, we *need* to check whether the first character is a
space. We can't use the rtl variable for this because this is only
computed on the last row.
This bug was introduced in [0a137e31/lyxgit] to fix the computation for
freespacing paragraphs. We better can just check whether the paragraph is
freespacing or not.
(cherry picked from commit d7f68078cf)
When clicking away in the same math inset after hitting '\', the
cursor may be broken and all of its instances have to be fixed.
(cherry picked from commit 9825621798)
The signature of the character in cache should take into account the
change tracking baseColor (author) and mergeColor (added/deleted). If not,
we will mixup different cached pixmaps.
(cherry picked from commit 6327993867)
When an InsetText is deleted, all lines in the inset are painted as
deleted. This status should be restored afterwards. If not, insets will be
painted in the wrong color afterwards (e.g. tables).
(cherry picked from commit af4e31ec28)
Note that we have also changed the layout name to uppercase, but
this should be fine, since it was so far unused.
Conflicts:
src/insets/InsetScript.cpp
Both bugs above were due to a missing screen update. This patch
updates the current view after dispatching a lyxserver command
and thus solves both.
The patch is quite strightforward and the only difficulty was due
to the fact that the lyxserver needs the result of the dispatched
command. Now, GuiApplication::dispatch(FuncRequest const &)
does update the view, but does not return any result, while
GuiApplication::dispatch(FuncRequest const &, DispatchResult &),
which is also called by the former, does not update the view.
So, I split the first one, isolating the code performing the update,
such that the second one can also update the current view when
the caller is the lyx server. When the action is initiated by
anything different from the lyx server, the behavior is unchanged.
(cherry picked from commit ea31541848)
It seems that parameterless macros are not wrapped into a MathAtom.
Rather than touching the macro code (which is tantamount to opening
a can of worms, IMHO), I prefer this solution.
(cherry picked from commit d07f9eec20)
If a converter specifies the needaux flag, latex (or xelatex) is
always run to produce the needed auxiliary files. This is wrong
because there are documents that can only be compiled with a specific
backend and thus the conversion may fail. On the other hand, even if
the document specifies the backend to be used, LyX ignores this info.
This commit rectifies this behavior by letting LyX run the same flavor
of the latex backend that shall be used for previewing the document
also for producing the auxiliary files.
(cherry picked from commit 3285ce1d5c)
Conflicts:
src/Converter.cpp
LyX fails to read the bounding box from an EPS file if it has
negative values. Adjusting the regex will overcome this problem.
Negative values do not pose big problems later on, but the GUI
doesn't handle it correctly yet (see bug #5718).
(cherry picked from commit f0754582b8)
When one of the packages specific to these engines are used in the TeX file:
* set default encoding to utf-8
* set \use_non_tex_fonts to true
This is a hand-made backport of svn commit r40765.
I first used cherry-pick, then tried to modify status.20x but there
was no way I found to proceed from there. So, to be able to come
out form this situation I reverted the changes to status.20x,
pushed the cherry-picked revision and then committed the changes
to status.20x.
Let me say that git is way too much complicated to be really useful.
The crash was due to the otherwise innocent looking 07924ac300. The cast
Vincent replaced was already wrong---it seems to have been a thinko in
7bbd67eb2679---but it worked kind of by accident before. Now it crashes.
Multirows were introduced in 8bb69f24 (Uwe Stoehr, 11 Feb 2010). In the
computation of the nearest cell, it was forgotten to account for the
vertical offset. tabular.cellHeight is the full height of the cell, while
the point that comes from the coordCache is offsetted by VOffset.
Therefore, we have to subtract the VOffset from o.y_.
We only copied the error list to the cloned buffer when makeLatexfile
failed. This means that a second try will never clear the error list and
the user will be presented the same list again.
Therefore, we unconditionally copy the error list such that we also clear
the list on success.
After the timeout elapses, the user is notified that a command is taking
a long time to complete and is given the choice to stop it. If the user
decides to let the command run, the timeout is increased, otherwise the
command is killed. One is prompted a first time after 3 mins, a second
time after 9 mins, a third time after 27 mins, and so on, i.e., the n-th
prompt occurs after 3^n minutes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40881 a592a061-630c-0410-9148-cb99ea01b6c8
* Undo.cpp:
- rename cur member of UndoElement to cur_before
- add new member cur_after, which is set by Undo::endUndoGroup
- create a new Undo::endUndoGroup variant that takes a Cursor as parameter. We cannot get rid of the old one because it is used for LFUN_COMMAND_SEQUENCE.
* Cursor.cpp:
- use endUndoGroup(Dociterator const &) for dispatch
- update Cursor::endUndoGroup to pass cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40876 a592a061-630c-0410-9148-cb99ea01b6c8
The View->Source pane resets the format every time you click into
a new paragraph, which is very annoying. This commit fixes this bug.
If anyone has a better idea, please let me know. I posted to devel
about it but got no response.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40864 a592a061-630c-0410-9148-cb99ea01b6c8
- Enter in the textfield adds the branch,
- Make sure the dialog is not closed when pressing enter,
- Pressing Ctrl+Enter or the Enter on the numpad closes the dialog.
Patch based on a patch from Scott Kostyshak.
see r40839.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40847 a592a061-630c-0410-9148-cb99ea01b6c8
- be compatible with automake 1.11.2 (#7990)
- do not install pyo/pyc files in share directory (#6080)
This is a backport of r40635, r40669 and r40670.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40675 a592a061-630c-0410-9148-cb99ea01b6c8
"from-dialog" is added to the LFUN_INSET_MODIFY function when it is issued from the table settings dialog. This is done to prevent the checking of the individual parameters, because it has to consider all parameters alltogether. Besides, when issued from the dialog it is already guaranteed that the parameters are valid.
This parameter should not be passed onto tabularfeatures.
see r40376.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40653 a592a061-630c-0410-9148-cb99ea01b6c8
- modernCV.lyx: set page size to A4, correct subsection entry, use a separator modify preamble to be compliant with modernCV 0.16 (fixes#7991)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40643 a592a061-630c-0410-9148-cb99ea01b6c8
as the tooltip. This isn't redundant, since the TOC itself might
truncate the display string.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40628 a592a061-630c-0410-9148-cb99ea01b6c8
in the TOC, as these generally aren't that long.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40627 a592a061-630c-0410-9148-cb99ea01b6c8
for later calls. The check is only performed on the major version
number, such as to avoid using python 3.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40619 a592a061-630c-0410-9148-cb99ea01b6c8
A long standing bug has been fixed in GCC 4.7, the bug was a non-
sactioned extra lookup. This caused some code to work that really
shouldn't.
The fixes are: add this->, Class::, or move functions about
as required to fullfill the rules.
In this case some template instantiations were movee to after what
they reference.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40583 a592a061-630c-0410-9148-cb99ea01b6c8
We split Buffer::clone() into various routines that know whether
to clone the children.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40536 a592a061-630c-0410-9148-cb99ea01b6c8
#7909: mark-on selection is lost during screen-down and screen-up
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40504 a592a061-630c-0410-9148-cb99ea01b6c8
options pane if hyperref is already provided.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40423 a592a061-630c-0410-9148-cb99ea01b6c8
over-writing a file that is already open. So we issue a warning and
ask if they'd like to try a different name.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40421 a592a061-630c-0410-9148-cb99ea01b6c8
(i) Validate even for comments when outputting XHTML.
(ii) Output comments as divs hidden by default. Then people
can display them other ways if they wish.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40401 a592a061-630c-0410-9148-cb99ea01b6c8
- new description how to color dashed table lines
- new section how to split table cells by diagonal lines
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40365 a592a061-630c-0410-9148-cb99ea01b6c8
tex2lyx is no identical with the version in trunk (except for cosmetic changes
and file formats > 413).
The output of the test cases is either unchanged or improved.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40364 a592a061-630c-0410-9148-cb99ea01b6c8
was an oversight here. (This was r40068 in trunk, but never got
to branch for some reason.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40330 a592a061-630c-0410-9148-cb99ea01b6c8
Use the python found by configure to build po files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40319 a592a061-630c-0410-9148-cb99ea01b6c8
Check the widgets after creating the dialog.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40312 a592a061-630c-0410-9148-cb99ea01b6c8
inset to know that the BibTeX data had changed. So we introduce a
Buffer-wide variable that we can query for that information.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40307 a592a061-630c-0410-9148-cb99ea01b6c8
corresponding templates. Thanks to Yihui for these.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40248 a592a061-630c-0410-9148-cb99ea01b6c8
we've put something into it. (We also don't need to copy an empty string
into it.)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40242 a592a061-630c-0410-9148-cb99ea01b6c8
- support for \makebox
- fix import of boxes without an inner box (the on-screen display was broken because of wrong default width setting)
- fix parsing of \framebox{content}, which LyX does not support yet - we have to use ERT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40157 a592a061-630c-0410-9148-cb99ea01b6c8
- describe the new lyxpipe preferences option
- add info how to en/disable the math autocorrection
- some bugfixes in appendix C
- German UserGuide.lyx: complete translation of appendix C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40120 a592a061-630c-0410-9148-cb99ea01b6c8
Document>Settings>Output.
It turns out that we always want this list to be sorted when we get it,
so we can sort it in BufferParams rather than in three different places.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40102 a592a061-630c-0410-9148-cb99ea01b6c8
- German UserGuide.lyx: some more translations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40082 a592a061-630c-0410-9148-cb99ea01b6c8