Georg Baum [Thu, 20 Nov 2014 21:05:05 +0000 (22:05 +0100)]
Fix unwanted curly braces in formula (bug #8679)
There was an unsymmetry between reading and writing: InsetMathGrid::eolString()
adds curly braces if the first cell of the next line starts with [ to prevent
misparsing as optional argument of \\. These braces were not removed on reading.
Scott Kostyshak [Tue, 18 Nov 2014 01:14:22 +0000 (20:14 -0500)]
C-a is now bound to inset-select-all
C-M-a is bound to the global "select all". The
reason for this change is that selecting an inset
is a more common operation that selecting an entire
document.
Georg Baum [Wed, 19 Nov 2014 21:47:36 +0000 (22:47 +0100)]
Fix viewer file paths on windows (bug #8892)
Some applications do not accept forward slashes, so call external viewers
and editors with backward slashes which is the usual convention under windows.
Georg Baum [Tue, 18 Nov 2014 19:51:21 +0000 (20:51 +0100)]
Make document_language non-mutable
The many occurances of the mutable keyword in LyX sources make it quite
difficult to understand what is really const and what not, and to debug
multithreading memory problems. In this particular case it is not needed
at all to have a mutable member, so make it non-mutable.
Scott Kostyshak [Thu, 13 Nov 2014 01:31:38 +0000 (20:31 -0500)]
Do nothing if converting to the same type of Note
The advantage is that the buffer will no longer be
marked as dirty when converting to the same type.
A quick break here is done instead of disabling the
LFUN because disabling the LFUN would lead to a greyed out
entry, which might confuse users. In the future, we might
want to have a radio button for switching between notes.
Georg Baum [Mon, 17 Nov 2014 21:08:21 +0000 (22:08 +0100)]
Fix memory error detected by valgrind
The assignment name = sub.str(1) reads from the first argument given to
regex_match(), but previously this was a temporary object which was already
out of scope. This did probably not matter much in practice, but invoked
undefined behaviour, and as we all know this is allowed ton format your hard
disk or kill to your cat, so better fix this.
Georg Baum [Sun, 16 Nov 2014 19:51:42 +0000 (20:51 +0100)]
Make doExport() helper private
One declaration of doExport() was not used, and the other one was only used by
Buffer, so make it private since returning the exported file name is a bit
strange if it can also appear as input argument.
Georg Baum [Sun, 16 Nov 2014 11:43:52 +0000 (12:43 +0100)]
Convert updatelayouts.sh to python
This makes the script usable on windows and speeds it up by an order of
magnitude, since no new process needs to be forked for each layout file.
It also does not conevrt .old files again.
Georg Baum [Fri, 14 Nov 2014 20:30:42 +0000 (21:30 +0100)]
Fix recursive math macro crash (bug #9140)
This is different from bug #8999, since in this case a new macro instance is
created. You still get a TeX capacity exceeded error if you try to typeset the
exported document, but this is the same as for bug #8999 and better than a
crash.
Georg Baum [Fri, 14 Nov 2014 19:20:35 +0000 (20:20 +0100)]
Load footmisc.sty instead of using outdated code
This is a patch I originally sent to lyx-devel in 2012 with subject
'Load footmisc.sty instead of using copied code from obsolete stblftnt.sty'.
It now takes all comments into account: It works also if the user loads the
package herself, it can be disabled by providing the footmisc feature in a
layout, and it does not use the ugly \AtBeginDocument{}.
The symptoms are the same as the original #9224, but the reason is different. In the new code, the width of justified rows includes the Row::separator value. Therefore the CRC computed in ParagrahMetrics::computeRowSignature is not updated in some cases.
The fix is to add Row::separator as one of the elements of the row crc.
Georg Baum [Tue, 11 Nov 2014 06:42:54 +0000 (07:42 +0100)]
Fix memory errors found by Alfredo with valgrind
BufferParams::setDocumentClass() deletes the old document class of the buffer
and creates a copy of the new one. Therefore, the stored layout pointers in
the paragraphs (actually only one paragraph exists) are dangling afterwards.
Resetting them before setting the document class helps here.
In the long term we need to get rid of BufferParams::setDocumentClass()
completely, this is very ugly.
Invoking a computer algebra system program for computing a selected
subformula has never worked (checked with all LyX versions back to 1.3)
and, moreover, in the presence of a selection things go awry.
This commit allows this computation by replacing the selected
subformula with the result of the computation.
Scott Kostyshak [Tue, 21 Oct 2014 05:45:31 +0000 (01:45 -0400)]
Recommit clearing of empty selections in GuiView
A similar fix was reverted (453ce611) because of crashes.
The crashes occurred simply because of a failed check that
we have a buffer view before using it. That is now done in
this commit.
The below commit description is copied from the original
commit (fb05011a):
Empty selections can cause confusing behavior for a few reasons:
(1) some functions behave differently depending on whether there is a
selection. If I press delete, nothing happens (where I expect the
character or inset before the cusor to be deleted). If I toggle bold or
emphasize nothing happens (where if there is no selection the entire
word is toggled). There are other LyX functions that depend on whether
there is a selection or not. Further, I wonder if any part of LyX's code
assumes that if there is a selection it is non-empty.
(2) menu options are incorrectly set. For example, the scissors icon.
For remaining empty selection issues, see #9222.
For more information, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184758.html
Georg Baum [Mon, 3 Nov 2014 15:07:17 +0000 (10:07 -0500)]
Fix for bug #9234, from Georg.
Our TempFile class uses QTemporaryFile internally, and, on Windows,
this keeps the file locked so that we cannot rename it. So we have
to release the lock.
Uwe Stöhr [Sat, 1 Nov 2014 23:56:55 +0000 (00:56 +0100)]
PDF-comment.lyx: reset style and some fixes
- the example was designed to follow the style of the other LyX documentation files, e.g. not to insert options as one big TeX-code inset.
- fix some typos
- (I cannot save files with LyX 2.2 atm due to bug #9234)
Uwe Stöhr [Wed, 29 Oct 2014 00:02:13 +0000 (01:02 +0100)]
pdfcomment.module: total revision
this module was not usable since the preamble stuff was missing and also almost all options. But many PDF-comment types are quite useless without options.
Richard Heck [Fri, 8 Aug 2014 16:02:20 +0000 (12:02 -0400)]
If we successfully save a file but fail to move it to its proper location,
then, if we made a backup and the original file was not a symlink, we moved
that file, so it will look to the user as if it was deleted. This is bug
Richard Heck [Fri, 28 Mar 2014 16:51:55 +0000 (12:51 -0400)]
Sort debug options in the message pane by string. This makes it
much easier to find what you need, especially when we're trying
to help users. Previously, they were sorted by their enum values.
The shape of the parbreak separator is slightly changed in order to
better distinguish it from the forced newline. This allows using the
same color of the plain version without risk of confusion.
Kornel Benko [Fri, 24 Oct 2014 14:58:54 +0000 (16:58 +0200)]
Cmake build: Moved creation of variable LYX_GIT_COMMIT_HASH to development/cmake/scripts/LyXGetVersion.cmake.
1.) The only file which needs this define is src/version.cpp. Our use in config.h
resulted in recompiling most of our sources.
With this change, only version.cpp needs to be recompiled.
2.) Without reconfiguring, the old commit hash was still valid. Now the
detection of commit hash is done at compile time.
Kornel Benko [Thu, 23 Oct 2014 14:49:41 +0000 (16:49 +0200)]
Cmake build: No need to recreate lyx.pot on every make call.
We can check if imput data for 'gettext' command has changed from previous call.
If not, there is no need to recreate lyx.pot, which we only differ in
"POT-Creation-Date: ...."