Julien Rioux [Mon, 13 May 2013 18:29:49 +0000 (20:29 +0200)]
Natbib authoryear uses (Ref1; Ref2) by default.
I was confused when I checked this. It looks like plainnat.bst
overwrites this default to use [Ref1, Ref2] style instead, but
when using natbib's defaults you get the (Ref1; Ref2) style.
Richard Heck [Tue, 7 May 2013 05:16:14 +0000 (01:16 -0400)]
Rework how paragraph ids are handled.
Previously, an empty paragraph would always yield something like:
<div><a id='magicparid-35' /></div>
because we had no way to "defer" the anchor tag. Now this is wrapped
into the div, in effect, and we abandon it all if there's no content.
Reason for this 'cleanup' is the strange "optional = false" lines at the
end of the "case md_item" and "case md_subitem". Then, it is nicer to
directly use the value of the switch to be the running variable and to use
this to determine whether an item is optional and whether we should quit.
The panels in GuiDocument and GuiPrefs are stored in a map. The keys are
the translated descriptions of these panels. Whenever someone changes the
gui language and reopens the Document Settings pane, LyX asserted because
it could not find the "Child Documents" pane.
In commit bd9e8fecd the currentIndex of the FindAndReplaceAdv Pane was
changed from 0 to 1. Since then LyX crashed when requesting the pane or
when changing LyX preferences.
This patch reverts this, although it is not clear why it would crash
otherwise. It is still committed like this, because LyX is unusable
without.
Georg Baum [Sat, 11 May 2013 07:39:06 +0000 (09:39 +0200)]
Make the different paste menu items optional
This was suggested by Jean-Marc some time ago, and I simply forgot to apply.
With this change you do not see unusable menu entries like linkback on linux
anymore. I also added an entry for emf, since this will be quite useful on
windows.
Richard Heck [Sat, 4 May 2013 12:25:21 +0000 (08:25 -0400)]
Set "dryrun" to true for XHTML copying routine. This suppresses
the production of images, etc, making copying even the entire
User's Guide and almost instantaneous operation.
Pavel Sanda [Thu, 2 May 2013 07:25:17 +0000 (00:25 -0700)]
Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
Scott Kostyshak [Thu, 2 May 2013 06:40:48 +0000 (02:40 -0400)]
Script for finding unneeded headers
The script does the following:
All .cpp and .h files in the current directory and subdirectories
are checked to see which include statements could be omitted without
causing a build error.
Many of these omissions would not be desired. For example, currently
if you don't include Undo.h in Undo.cpp, there is no error because
Undo.h is included in Cursor.h which is included in Undo.cpp. But
clearly we do want to include Undo.h in Undo.cpp.
* report results in milliseconds instead of microseconds
* report total time spent in block, additionally to mean time
* cause compilation error with --enable-stdlib-debug
Fix bug #8627: Command line switches to change branch do not appear to work
Move the handling of branch-(de)activate(master) to Buffer. This code was moved to Bufferview in [3a03e71c/lyxgit] because a cursor was necessary to call Undo::recordUndoFullDocument(). However, it turns out that the undo code is already prepared to handle an empty cursor (and do nothing in this case).
Therefore we do that and move the branch code to Buffer where it belongs.
Note that there was a bug in the previous code that broke undo support: recordUndo should always be called _before_ doing any change.
An iterator is typicall incremented passed the valid data into the 'end'
state. However, if this means that other functions are called with invalid
parameter, we should fix this.
This explains why fontSpan was called with pos==size() while this was not
expected to happen.
This patch reverts partly f5ad0c128aec (Jean-Marc Lasgouttes; Get rid of
annoying warning message).
Richard Heck [Thu, 25 Apr 2013 21:27:10 +0000 (17:27 -0400)]
Audit all the LASSERT calls, and try to do something sensible at
each failure.
There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:
Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525: // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345: // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403: // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143: // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83: // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92: // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303: // LASSERT: Why would this fail?
Text.cpp:995: // LASSERT: Is it safe to continue here?
The default sizeAdjustPolicy is AdjustToContentsOnFirstShow. As the
combobox is initially filled with all items, it will not change size if we
later remove the 'At Decimal Separator' item.
Fix bug #3199: change-next may leave empty lines behind
Using Cursor::setCursor or even BufferView::setCursor is often a bad
idea since it does not run DEPM. In this case (and other cases in
f&replace code) it is better to use BufferView::mouseSetCursor (which
should maybe be renamed...).
Scott Kostyshak [Thu, 11 Apr 2013 02:56:35 +0000 (22:56 -0400)]
converter: change 'ps2pdf13' to 'ps2pdf'
ps2pdf by default produces the PDF 1.4 format. The PDF 1.3 format was
released in 2000. PDF 1.4 was released in 2001. LyX specified 1.3 as
the output version in 2002 (c1541c22), perhaps because at the time
PDF 1.4 was only a year old so some viewers did not support it.
Scott Kostyshak [Sat, 20 Apr 2013 02:24:16 +0000 (22:24 -0400)]
GuiRef: do not insert a category as a ref
Before, if a user had "Group" checked in GuiRef and double-clicked
on a category, that category would be inserted as a (broken)
reference. Now, when a category is double-clicked, nothing happens.
Scott Kostyshak [Fri, 19 Apr 2013 11:48:26 +0000 (07:48 -0400)]
GuiRef: only show "<No prefix>" if non-empty
If "Group" is checked, "<No prefix>" is shown only if there exists a
label with no prefix. Before, it was shown even when it was empty and
even when there were no labels at all.