Commit Graph

426 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
a556652f6e Do not store Languages objects in completion words lists
In the current code each paragraph contains a map<Language,
WordList*>, which means that it contains a full copy of the language
object. Since these objects contain translation tables nowadays, this
is a very bad idea.

This patch simply replaces the Language key by a string.

When loading the Userguide on linux/x86_64, the total memory
consumption decreases from 36.27MB to 31.50MB.
2014-04-18 10:52:48 -04:00
Juergen Spitzmueller
8b60088eaa In Paragraph::changeCase, correctly track the font of the changed characters (fix crash)
Fixes: #7943
2014-04-18 10:52:47 -04:00
Juergen Spitzmueller
7c1fc6ea75 Include child's own authors when using BufferParams from master. 2014-03-13 06:43:38 +01:00
Vincent van Ravesteijn
795535e44f Do not try to track_change an auto-deleted bibitem
We are not capable of handling two bibitems within one biblio paragraph.
That's why we have functions like Paragraph::brokenBiblio() and
Paragraph::fixBiblio(). So, if we fix the biblio by deleting the second
bibitem, we should not keep it as deleted.

This code caused a crash because the inset was released, but still kept as
deleted.

Fixes-bug: #8646.
2014-02-07 22:55:05 +01:00
Juergen Spitzmueller
50bcd6ed7b Use the master buffer's param when compiling as a child (#8893) 2013-11-18 08:46:50 +01:00
Vincent van Ravesteijn
8164fea772 Encodings: Use BufferEncodings where needed 2013-09-29 15:26:22 +02:00
Juergen Spitzmueller
f9411f1f26 Catch uncodable character problem 2013-08-30 11:28:15 +02:00
Vincent van Ravesteijn
30f5187070 Disallow to insert an inset without a font
Doing so could lead to an assertion in Paragraph::fontSpan.
2013-05-19 12:48:35 +02:00
Vincent van Ravesteijn
cd802e5cf6 Fix assertion: bibitem inset without a font
Move the cursor in front of a bibitem and press enter.
Paragraph::fixBiblio will insert a new bibitem without a font in the new
paragraph. This will make Paragraph::fontSpan assert because the fontlist_
of the new paragraph is empty.
2013-05-19 12:48:32 +02:00
Vincent van Ravesteijn
2d8941eec3 Revert "Fix assertion for InsetInfos of icon types"
Using "Font no_font" in case no font was supplied was wrong. Instantiating a font object without specifying the language lead to a font object having the default_language that is hardcoded to "english". See Language::read().

This caused that there were spurious language changes in the LaTeX output
and made some document uncompilable.

This reverts commit 3619954590.
2013-05-19 12:48:29 +02:00
Richard Heck
8b858d113f Get font sizes working for XHTML. 2013-05-13 12:22:41 -04:00
Richard Heck
c713030edb Get font families working for XHTML. 2013-05-13 11:58:52 -04:00
Richard Heck
b383d04e07 XHTML support for font shapes. 2013-05-13 10:45:12 -04:00
Richard Heck
5cadeed4d7 Rework that way that font tags are handled in XHTML output. We need
to do this in order to handle span tags properly, when they act as
font tags.
2013-05-13 10:45:12 -04:00
Richard Heck
ad56bb7286 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.
2013-05-13 10:45:12 -04:00
Richard Heck
8e23cfdbdc Minor cleanup. 2013-05-02 21:23:11 -04:00
Vincent van Ravesteijn
3619954590 Fix assertion for InsetInfos of icon types
InsetInfo inserted insets in its text without specifying a font. This
caused the fonlist to be incomplete and firing the assertion.
2013-04-28 21:47:37 +02:00
Vincent van Ravesteijn
88eae06611 Fix FontIterator to not access pos >= par.size()
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 f5ad0c128a (Jean-Marc Lasgouttes; Get rid of
annoying warning message).
2013-04-28 19:12:16 +02:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Kornel Benko
06d72d6ca0 Use doctring as LBUFFER() etc parameters 2013-04-27 21:38:01 +02:00
Kornel Benko
07ca50d905 Strings as parameters to LASSERT should not be translatable.
But empty strings are even worse.
2013-04-27 21:13:32 +02:00
Jean-Marc Lasgouttes
f5ad0c128a Get rid of annoying warning message 2013-04-27 20:01:02 +02:00
Richard Heck
78652c98c8 Remove assertion accidentally added during the audit. 2013-04-26 10:42:45 -04:00
Richard Heck
1b1f8dd235 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?
2013-04-25 17:27:10 -04:00
Juergen Spitzmueller
d288b2d628 Revert "Do not pass thru argument of pass-thru layout literally"
This reverts commit 4564c88469.

The bug is actually elsewhere.
2013-04-08 11:07:02 +02:00
Juergen Spitzmueller
4564c88469 Do not pass thru argument of pass-thru layout literally 2013-04-08 08:26:49 +02:00
Richard Heck
82b8723654 Handle other text ranges in XHTML output. 2013-03-27 13:51:26 -04:00
Richard Heck
3057bce3f2 Fix bug #8587 properly, by using local language for translation. 2013-03-19 11:30:36 -04:00
Richard Heck
9548274f39 I'm not absolutely sure about this, but it seems to me as if we
need the master buffer here, too: in looking up fonts during XHTML
output.

I'm half tempted to pass the master buffer to these routines, though
there are times, I think, when we want the actual buffer: e.g., when
looking up branches.
2013-03-18 18:56:38 -04:00
Richard Heck
6633a93b6d Forgot the crucial piece of the last commit!! 2013-03-12 13:12:45 -04:00
Richard Heck
3f748c79c3 Add a for_search member to OutputParams, and use it to limit what
work we do when calling plaintext() for the purpose of generating
material for the advanced search function.

Here again, not only were we parsing BibTeX files, since Julien's
(sensible) introduction of plaintext output for that inset, but we
were in fact writing (to disk) complete plaintext output for
included files every time we did such a search.
2013-03-12 12:45:15 -04:00
Richard Heck
86994bf753 Add a member to TocItem that tells us whether the item in question
is included in output.
2013-03-08 16:38:18 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Richard Heck
57d8b059e0 Remove references to Counter LabelType from source code. The
intention is to use Static in its place, and we now expand the
label for these, as well.
2013-02-09 13:44:05 -05:00
Juergen Spitzmueller
37f41fd4b5 Support for command argument placement after the workarea argument 2012-12-28 11:21:24 +01:00
Richard Heck
2e764c2c66 Respect InsetLayout's PassThru setting in XHTML export. 2012-12-24 12:11:51 -05:00
Juergen Spitzmueller
53002538fa Pass local font to arguments and assure pass_thru is inherited 2012-11-28 19:02:07 +01:00
Juergen Spitzmueller
4d1b495139 LaTeXParam and Argument do not necessarily exclude each other 2012-11-26 13:09:54 +01:00
Juergen Spitzmueller
6f086763ae Add LeftDelim and RightDelim to the Style and InsetLayout repertoire 2012-11-25 19:10:16 +01:00
Richard Heck
1252c22fd3 Some minor cleanup of new InsetArguments stuff that I did while
reading the patch....
2012-11-23 20:40:38 -05:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Juergen Spitzmueller
042a1c4d3b Make tipa shortcuts work for combining chars 2012-08-21 12:48:34 +02:00
Juergen Spitzmueller
66729e434e TIPA fixes 2012-08-19 16:59:53 +02:00
Richard Heck
166deba79b Wow, that last commit was dumb. So let's fix #8278 properly. 2012-08-05 17:31:00 -04:00
Richard Heck
2375982f7e Fix bug #8278, as suggested there by Ronen. 2012-08-04 17:33:47 -04:00
Juergen Spitzmueller
b55a6454d9 Whitespace 2012-07-23 14:59:45 +02:00
Juergen Spitzmueller
0b5c20fc0f Fix direction of brackets in Hebrew when using Polyglossia (bug #8251) 2012-07-23 14:56:00 +02:00
Juergen Spitzmueller
a1e2e12ba4 Suppress babel RTL commands when using polyglossia (part of #8251) 2012-07-23 08:40:37 +02:00