Commit Graph

2155 Commits

Author SHA1 Message Date
Abdelrazak Younes
4d5ae916ad Fix bug 3293 by Bernhard Roider:
This changes the semantics of isOK() and operator(), comments from Bernhard below:

With the old version of lyxlex it was _impossible_ to check whether reading an integer, float, ... succeeded or not. The current solution to check for is.bad() in some cases and in other cases use is.good() does not give the desired information. Moreover the result of is.bad() depends on the stl implementation and behaves different for linux and windows.

the bug was introduced by the patch that fixed the bug that crashed lyx when "inset-insert ert" was executed from the command buffer.
The lexer has the method isOK() which reflects the status of the stream is.
The operators void* and ! are not really well defined (they depend on the value of is.bad()). What is missing is a test if the last reading operation was successful and thus the returned value is valid.
That's what i implemented in this patch.

The new rule for using the lexer:

if you want to know if the lexer still has data to read (either from the stream or from the pushed token) then use "lex.isOK()".
If you want to test if the last reading operation was successful then use eg. "if (lex) {...}" or unsuccessful then use eg. "if (!lex) {...}"

an example:

int readParam(LyxLex &lex) {

    int param = 1; // default value
    if (lex.isOK()) { // the lexer has data to read
        int p;    // temporary variable
        lex >> p;
        if (lex) param = p; // only use the input if the reading operation was successful
    }
    return param;
}




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17569 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:43:49 +00:00
Abdelrazak Younes
4d2732b1e7 Fix bug 3258:
http://bugzilla.lyx.org/show_bug.cgi?id=3258

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17568 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:36:27 +00:00
Georg Baum
e6eb429915 add some comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17556 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:45:51 +00:00
Georg Baum
e4fd77faf7 Fix crash with included files
* src/buffer.C
	(Buffer::makeLaTeXFile): Use runparams.encoding to be consistent

	* src/insets/insetinclude.C
	(InsetInclude::latex): Change runparams.encoding to the encoding of
	the child document for makeLateXFile


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17555 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:31:16 +00:00
Abdelrazak Younes
dfbc9cfccc * BufferParams:
* transfer CiteEngine enum declaration to biblio.h
  * delete unneeded CiteEngine_enum
  * cite_engine is now cite_engine_ and is private.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17537 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 01:12:38 +00:00
Martin Vermeer
88542bc2ee Get ProvidesNatbib working correctly, esp. for egs.layout.
* insetcite: call getEngine()
* bufferparams: move getEngine() here, and let it sense the 
provides(natbib)
flag
* ControlBibtex, ControlCitation: correct getEngine() call
* biblio: remove old getEngine()



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17505 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-22 07:22:16 +00:00
Georg Baum
4f1d5e72ef Fix bug 3235
* src/insets/insetcaption.C
	(InsetCaption::latex): Copy back encoding to runparams_in

	* src/insets/insetfoot.C
	(InsetFoot::latex): ditto

	* src/insets/insetnote.C
	(InsetNote::latex): ditto

	* src/exporter.C
	(Exporter::Export): Create runparams with document encoding

	* src/converter.C
	(bool Converters::convert): ditto

	* src/buffer.C
	(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
	(Buffer::runChktex): Create runparams with document encoding
	(Buffer::changeRefsIfUnique): ditto

	* src/outputparams.[Ch]
	(encoding): New member

	* src/lyxfont.C
	(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
	This is now done in Paragraph::simpleTeXOnePar.
	(LyXFont::latexWriteEndChanges): Ditto

	* src/output_latex.C
	(TeXOnePar): Ditto

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Switch the encoding between font
	changes if needed.

	* All other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 10:59:16 +00:00
Abdelrazak Younes
8186a02d61 Add const access to caption type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17445 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-15 11:47:02 +00:00
Georg Baum
c6caf4199b fix typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17444 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-14 20:23:54 +00:00
Uwe Stöhr
f84d08a078 - fix bug 2458
http://bugzilla.lyx.org/show_bug.cgi?id=2458
- whitespace

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17395 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-02 22:20:32 +00:00
Georg Baum
13f08c6215 Fix bug 3232
* src/insets/ExternalSupport.C
	(updateExternal): Don't forbid conversions using the default converter


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17380 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-28 09:12:32 +00:00
Georg Baum
0419779ef9 fix compiler warnings about unused parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17325 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 17:18:13 +00:00
Michael Schmitt
8b177d7446 * src/insets/insetbox.C: plaintext(): add missing \n
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17323 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 15:54:11 +00:00
Michael Schmitt
6ab7047f3a * insets/*.C: constify docstring in plaintext()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17317 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 14:35:38 +00:00
Georg Baum
3a64f157b7 * src/insets/insetbox.C
(InsetBox::validate): Don't require the calc package anymore for
	pure minipages (as it was done in 1.3.x)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17312 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-23 18:39:54 +00:00
Georg Baum
4bbddb06e6 fix compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17294 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-21 21:09:43 +00:00
Georg Baum
56ce8aa9e0 fix compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17285 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:53:37 +00:00
Georg Baum
2d85046fd7 Fix crash after inset-insert ert, from Bernhard Roider
Extend this to some other cases by me.

	* src/insets/insetert.C
	(void InsetERTMailer::string2params): Test for lex.isOK rather than
	lex, since the latter is also true if there was nothing to read.

	* src/insets/insetvspace.C
	(InsetVSpace::read): ditto
	(InsetVSpaceMailer::string2params): ditto

	* src/insets/insetnote.C
	(InsetNoteParams::read): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17284 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:48:23 +00:00
Michael Schmitt
d8fd1b7a24 * src/insets/insetinclude.[Ch]: fix plaintext(); code formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17281 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 19:14:55 +00:00
Michael Schmitt
80328d2053 * src/insets/insetcommand.C: fix plaintext() output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17277 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 18:02:46 +00:00
Michael Schmitt
3157f17825 * inset*.C:
* insetbase.h: introduce new enum PLAINTEXT_NEWLINE and use
	it instead of runparams.linelen for plaintex() return values


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17275 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 17:52:41 +00:00
Michael Schmitt
2148e75116 * src/insets/insetert.C:
* src/insets/insetoptarg.C: add comment that we do not output anything
	for plaintext output INTENTIONALLY


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17244 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 18:55:11 +00:00
Georg Baum
af239344a7 Fix bugs 3240 and 3241
* src/insets/ExternalSupport.C
	(doSubstitution): redo the substitution with use_latex_path == false
	for the filename argument of $$Contents, since the original
	substitution might have been done with use_latex_path == true, and
	that can lead to escaped filenames that are only valid for TeX.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17242 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 18:29:25 +00:00
Michael Schmitt
2d550da85b * src/insets/insetexternal.[Ch]: fix plaintext(); code formatting; header alignment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17237 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 10:57:23 +00:00
Michael Schmitt
f7d54f2afc * src/insets/insettabular.[Ch]: fix plaintext(); code formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17236 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 10:47:08 +00:00
Michael Schmitt
16b2e76d1a * src/insets/insetbititem.C:
* src/insets/insetcite.C:
	* src/insets/insetcite.h: fix plaintext(); code formatting


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17234 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 16:36:45 +00:00
Michael Schmitt
1afeb2e34f * src/insets/insetfloatlist.C: fix plaintex()
* src/insets/insetfloatlist.h:
	* src/insets/insetcharstyle.[Ch]: code formatting


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17232 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 15:28:50 +00:00
Michael Schmitt
757d2bc963 * src/insets/insettoc.[Ch]:
* src/insets/insetspecialchar.[Ch]: fix plaintext(); WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17231 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:59:42 +00:00
Michael Schmitt
6d2a778724 * insetgraphics.[Ch]:
* insetquotes.C: fix plaintext(); WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17230 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:30:58 +00:00
Michael Schmitt
ac5f26744c * src/insets/insetnewline.C:
* src/insets/insetpagebreak.C:
	* src/insets/insetvspace.C: fix/comment on plaintext() return value
	* src/insets/insetvspace.h: WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17229 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:18:15 +00:00
Bo Peng
204f783bb1 Forget to set selection in r17213
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17222 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 15:38:34 +00:00
Michael Schmitt
85e92379ef * src/insets/insetbase.[Ch]: make plaintext() abstract to force subclasses to
implement it by themselves
	* src/insets/insetenv.[Ch]: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17220 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 10:05:30 +00:00
Michael Schmitt
bcb5133e54 * src/insets/insetcaption.*: fix plaintext(); add private computeFullLabel() to
refactor code used at two places


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17219 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:53:51 +00:00
Michael Schmitt
26054c940e * src/insets/insetbranch.[Ch]:
* src/insets/inseturl.[Ch]:
	* src/insets/insetfoot.[Ch]: fix plaintext() & WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17218 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:28:25 +00:00
Michael Schmitt
6c9e07b2da * src/insets/insetcollapsable.[Ch]: constify floatName()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17217 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:11:19 +00:00
Michael Schmitt
c2407338d0 * src/insets/insetfloat.[Ch]:
* src/insets/insetwrap.[Ch]:
	* src/insets/insetmarginal.[Ch]: fix plaintext(); code formatting


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17215 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 08:15:16 +00:00
Bo Peng
9448169466 Fix of bug 3238. Disable persistent selection for selections in tablemode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17213 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 03:49:19 +00:00
Michael Schmitt
922dbdb1db * src/insets/insetspace.[Ch]:
* src/insets/insetoptarg.[Ch]:
	* src/insets/insetlabel.C: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17210 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 23:44:33 +00:00
Michael Schmitt
bfef2cba5e * insetref.C:
* insetcommand.[Ch]:
	* insetpagebreak.[Ch]: fix plaintext(); some header cleanup


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17209 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 23:28:31 +00:00
Michael Schmitt
517fdc10c3 * src/insets/insetnewline.C: plaintext(): fix line length
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17208 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 23:24:15 +00:00
Michael Schmitt
2ca15c641a * src/insets/insetbox.[Ch]:
* src/insets/insetnote.[Ch]: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17207 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 22:59:06 +00:00
Michael Schmitt
5caa8e2c6d * insetert.[Ch]:
* insetnewline.[Ch]:
	* insetline.[Ch]: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17206 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 22:27:45 +00:00
Michael Schmitt
e5dab3fc94 * src/insettext.C: fix line lengths and par breaks in plaintext()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17205 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 22:04:33 +00:00
Georg Baum
e1efef8a60 Fix bug 3240
* src/insets/ExternalSupport.C
	(updateExternal): Add new dryrun flag and only record updated files
	for the exporter if that flag is false
	(writeExternal): Call updateExternal also if dryrun is true and the
	product contains the $$Contents placeholder. In this case we need to
	run the conversion(s) even in dryrun mode, because we would not
	output the right stuff to the .tex file otherwise.

	* src/insets/ExternalSupport.[Ch]
	(writeExternal): rename external_in_comment flag to dryrun


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17204 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 21:22:40 +00:00
Michael Schmitt
1baa28f2bc * src/output_plaintext.C: check line length before outputting
a word in front of an inset; make sensible use of plaintext()
	return value (IMHO totally broken before)
	* insets/insetfoot.[Ch]: add plaintext()
	* insets/insethfill.[Ch]: adjust plaintext(); make the 
	number of characters determinitic; minor header cleanup
	* insets/insetbase.h: add comment on return value
	of plaintext() - before its meaning was unclear 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17200 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-15 16:07:36 +00:00
Enrico Forestieri
1b21743511 Fix bug 3220
* src/insets/ExternalSupport.C
	(updateExternal): Avoid computing crc of a directory as this leads
	to a crash on Cygwin.

	* lib/configure.py:
	Use a python script to get the current date in order to avoid
	a stalling condition with the date command on Win32.

	* lib/scripts/date.py:
	New python script.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17168 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-13 19:09:54 +00:00
Abdelrazak Younes
46839bd500 Tentatively fix bug 3225, the inset width and the outer text width should stay in sync.
http://bugzilla.lyx.org/show_bug.cgi?id=3225

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17159 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-13 10:37:22 +00:00
Uwe Stöhr
9652acee93 small fix to changeset 17143
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17156 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 20:03:41 +00:00
Georg Baum
19240e9827 zero-byte files don't make sense...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17151 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 08:02:17 +00:00
Uwe Stöhr
9492044ef7 rename label for prettyref inset to fix bug 1134
http://bugzilla.lyx.org/show_bug.cgi?id=1134

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17149 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 02:15:04 +00:00