Uwe Stöhr [Sat, 23 Jun 2012 16:56:10 +0000 (18:56 +0200)]
- language: Kurmanji is since 2009 also supported by babel; no fileformat change necessary because Kurmanji is already covered by fileformat 432
- tex2lyx/Preamble.cpp: babel support for Kurmanji and remove comment residues of ArmTeX whose support was removed by fileformat 433
Uwe Stöhr [Fri, 22 Jun 2012 15:19:46 +0000 (17:19 +0200)]
- Preamble.cpp: handle \setxxxlanguage with options
- text.cpp: handle the commands \textxxx with options
- XeTeX-polyglossia.tex: add 2 more testcases
Uwe Stöhr [Fri, 22 Jun 2012 01:41:00 +0000 (03:41 +0200)]
- tex2lyx/text.cpp:
- bugfix for the parsing of polyglossia's paragraph environments
- new support for polyglossia's language change commands \textxxx
- XeTeX-polyglossia.tex: add more testcases and add a missing \end
Uwe Stöhr [Thu, 21 Jun 2012 23:12:43 +0000 (01:12 +0200)]
drop support for ArmTeX as its non-standard armscii8 encoding was quite unusable in real life, use polyglossia/XeTeX instead as clean solution via Unicode; fileformat change; fixes the second part of bug #8026
Uwe Stöhr [Thu, 21 Jun 2012 23:08:51 +0000 (01:08 +0200)]
LaTeXFeatures.cpp: polyglossia is only required if a language is not supported by babel _and_ also no other special package; patch by Jürgen, to fix the regression mentioned in bug #8026
Pavel Sanda [Thu, 14 Jun 2012 10:44:16 +0000 (12:44 +0200)]
Allow dead caron to be recognized in our key bindings.
This allows to workaround the problem in #8198 - on some systems
we get dead caron as a single character instead of whole combined
character. I suppose this has rather something to do with X settings
than LyX per se.
Uwe Stöhr [Thu, 7 Jun 2012 21:08:02 +0000 (23:08 +0200)]
- LaTeXConfig.lyx: accept Georg's changes and add bidi
- chkconfig.ltx: bidi and iftex are necessary for all right-to-left languages if XeTeX or LuaTeX is used
Second tentative fix to #8159: Undo doesn't restore environment depth correctly
In this version, the idea is to record undo at the place where the document is modified, which is definitely cleaner.
1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
const_cast has to be used
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.
Richard Heck [Mon, 4 Jun 2012 17:39:24 +0000 (13:39 -0400)]
Fix crash reported by Tommaso:
http://marc.info/?l=lyx-devel&m=133876924408431&w=2
The problem here is that the copy_params() routine in FindAndReplace.cpp
created a new DocumentClass, but it never updated its Buffer to reflect
that new DocumentClass. So its Paragraphs still contained points to the
Layouts in the old DocumentClass which, since ead697d4b6c7, gets garbage
collected once it is no longer needed. So the Layout doesn't exist, and
we crash.
Fix bug #7956: Assertion When Trying to Paste Into Table
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.
Add missing undo recording.
This adds a change of the printindex type (with multiple indices) to the undo stack and marks the buffer dirty on that action (bug #8182)
Uwe Stöhr [Sat, 2 Jun 2012 00:09:36 +0000 (02:09 +0200)]
- UserGuide.lyx: adapt style of description of split indexes (the feature is btw. currently broken)
- German UserGuide.lyx: some further translations
- Japanese UserGuide.lyx: add missing section about split indexes
Uwe Stöhr [Thu, 31 May 2012 22:54:24 +0000 (00:54 +0200)]
UserGuide.lyx:
- decline today's change because the text states "is explained in the chapter Tables of the Embedded Objects manual" So no need to describe LaTEX special again
- revert fileformat change; please keep the fileformat is possible unless you describe a new feature of LyX 2.1
Richard Heck [Tue, 13 Mar 2012 16:13:31 +0000 (12:13 -0400)]
Deal with memory issue reported some time ago in connection with DocumentClass
objects. The problem that led to the leak is that these objects can be held in
memory long after the Buffer that created them is gone, mostly due to their
use in the CutStack. So they were previously held in a storage facility, the
DocumentClassBundle. Unfortunately, they were now being created too often,
especially by cloning. It's not really a leak, because they're accessible, but
we weren't ever destroying them.
This new approach uses a shared_ptr instead.
Thanks to Vincent for pointing out const_pointer_cast.
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
* do not use it++ for iterators, ++it is better
* do not use size() to test for emptyness, empty() is here
* do not use "const T" as a function parameter, "const & T" is better
I doubt that any of these is a real performance problem, but the code is cleaner anyway.