Commit Graph

59 Commits

Author SHA1 Message Date
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
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
Georg Baum
8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00
Abdelrazak Younes
451b12d00d * LyXLex::Pimpl::buff is now a string.
* unicode.[Ch]:
 - new non template iconv_convert()
 - iconv_convert() template use above function.

* docstring.C:
 - utf8_to_ucs4(): new function, use the new iconv_convert() function above.
 - from_utf8(): use utf8_to_ucs4() function above.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15592 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-28 15:16:30 +00:00
André Pönitz
6c300f72a2 move everything into namespace lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15422 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-21 00:16:43 +00:00
Georg Baum
59fdb31af3 s/boost::uint32_t/lyx::char_type/g except in the definition of lyx::docstring
and lyx::char_type


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14990 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 17:11:39 +00:00
Abdelrazak Younes
a6444784dc A bunch of conversion to docstring.
- bformat(): contributed by Georg Beaum
- Alert::XXX
- error(): in SpellBase, ispell, psell, aspell, buffer, etc.
- message(), message signal
- displayMessage(), setMessage,
- ErrorItems
- prettyName()
- makeDisplayPath()

and maybe some more...


- etc... 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14970 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-11 08:54:10 +00:00
Lars Gullik Bjønnes
bb61b2655f More unicode work. Fixup some usages.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14968 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-10 18:34:24 +00:00
Lars Gullik Bjønnes
c46b7d8955 Merge the unicode branch into trunk.
- src/support/unicode.[Ch]: new files with functions for converting
  to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
  holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-13 22:54:59 +00:00
Bo Peng
a19e4ae888 Remove USE_COMPRESSION and force the use of zlib, by Bo Peng (ben.bob@gmail.com)
* src/lyxlex_pimpl.[hC], src/buffer.C, src/tex2lyx/Makefile.am: remove USE_COMPRESSION
	* configure.ac: check for zlib.h and libz.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13765 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-27 18:14:36 +00:00
Bo Peng
5cf8376ef7 Replace gzstream by boost::iostreams::gzip_(de)compressor: by Bo Peng (ben.bob@gmail.com)
* src/buffer.C, use filtering_ostream
	* src/lyxlex_pimpl.h, .C, use filtering_istreambuf
	* src/Makefile.am,  src/support/Makefile.am, src/tex2lyx/Makefile.am, use BOOST_IOSTREAMS
	* remove src/support/gzstream.h, .C
	* add needed boost files boost/boost/iostreams/device/file_descriptor.hpp,
     device/mapped_file.hpp, detail/system_failure.hpp, 
		 detail/config/windows_posix.hpp


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13706 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-21 06:42:17 +00:00
Lars Gullik Bjønnes
8c93f63b48 * filetools.[Ch]: Make functions that start with a capital
letter start with a lower letter.
	* All other .C and .h in the cs: adjust for above change


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13603 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-08 22:31:11 +00:00
Angus Leeming
0de22c86f8 use USE_COMPRESSION to guard code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9516 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-20 21:34:23 +00:00
Angus Leeming
c9f9ba315c Asger's exchanging of the class and struct keywords.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9502 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-19 15:03:31 +00:00
Asger Ottar Alstrup
282bf655ed - Add missing STL includes for correctness - gcc is too forgiving
- Add missing using statements
- Guard #warning statements


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9494 a592a061-630c-0410-9148-cb99ea01b6c8
2005-01-18 14:15:57 +00:00
Georg Baum
6fe9e4e30d rename getExtFromContents() to getFormatFromContents()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9141 a592a061-630c-0410-9148-cb99ea01b6c8
2004-10-29 15:47:55 +00:00
Lars Gullik Bjønnes
e34a1e90af obvious stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8851 a592a061-630c-0410-9148-cb99ea01b6c8
2004-07-25 00:04:42 +00:00
Lars Gullik Bjønnes
3420904448 The func.diff patch. Functors work and some tiny cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8377 a592a061-630c-0410-9148-cb99ea01b6c8
2004-01-31 15:30:24 +00:00
André Pönitz
7c12de7d3d * lyxlex_pimpl.[Ch]: don't use '__' in identifiers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8181 a592a061-630c-0410-9148-cb99ea01b6c8
2003-12-02 12:02:39 +00:00
Lars Gullik Bjønnes
84a91f5ebf Use correct types when working with stream::pos_type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7958 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-22 22:22:55 +00:00
Lars Gullik Bjønnes
bae961184e remove some debug noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7884 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-09 13:27:51 +00:00
Lars Gullik Bjønnes
44cd0fc9a1 The std::string mammoth path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7862 a592a061-630c-0410-9148-cb99ea01b6c8
2003-10-06 15:43:21 +00:00
Angus Leeming
57a24ea912 Replace 'using namespace abc;' with 'using abc::xyz;'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7725 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-09 22:13:45 +00:00
Angus Leeming
4c6e0fe422 Removed all redundant using directives from the source.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7704 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-08 00:33:41 +00:00
Angus Leeming
91de22ef34 Strip 320 #includes from the files in src.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7684 a592a061-630c-0410-9148-cb99ea01b6c8
2003-09-05 16:31:30 +00:00
Angus Leeming
0be0fcfd59 If I ever see another licence blurb again, it'll be too soon...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7598 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-23 00:17:00 +00:00
Lars Gullik Bjønnes
f1ff990de7 Always use std::endl with lyxerr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7481 a592a061-630c-0410-9148-cb99ea01b6c8
2003-08-02 11:30:30 +00:00
Lars Gullik Bjønnes
8721e76079 more compress support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7419 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-28 14:40:29 +00:00
Lars Gullik Bjønnes
a16c8a8759 zlib stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7405 a592a061-630c-0410-9148-cb99ea01b6c8
2003-07-27 23:40:08 +00:00
Lars Gullik Bjønnes
92d522b7f1 introduce namespace lyx::support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7224 a592a061-630c-0410-9148-cb99ea01b6c8
2003-06-30 23:56:22 +00:00
Lars Gullik Bjønnes
e25012ddfa lyxlex-2-a.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6795 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-14 13:12:40 +00:00
Lars Gullik Bjønnes
7b41119463 lyxlex-1-a with some modifications
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6794 a592a061-630c-0410-9148-cb99ea01b6c8
2003-04-14 12:44:36 +00:00
John Levon
c4bda8ac16 Create ParagraphParameters::read(). JMarc, please note the change to LyXLex - is this ok ?
Works for me anyhoo


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6463 a592a061-630c-0410-9148-cb99ea01b6c8
2003-03-12 07:39:17 +00:00
Lars Gullik Bjønnes
99d1627a47 dont use pragma impementation and interface anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6138 a592a061-630c-0410-9148-cb99ea01b6c8
2003-02-13 16:53:15 +00:00
Lars Gullik Bjønnes
53274e31ec the string -> char patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5725 a592a061-630c-0410-9148-cb99ea01b6c8
2002-11-27 10:30:28 +00:00
Lars Gullik Bjønnes
8e5e952472 ws changes only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4934 a592a061-630c-0410-9148-cb99ea01b6c8
2002-08-11 16:27:10 +00:00
Jean-Marc Lasgouttes
57e89ae2bf compile fix in XPM image loader; fix opaque handling; remove warnings; fix turkish locale problems; add shortcuts to documents menu
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4661 a592a061-630c-0410-9148-cb99ea01b6c8
2002-07-16 21:17:10 +00:00
Lars Gullik Bjønnes
8283e978f8 ws cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3803 a592a061-630c-0410-9148-cb99ea01b6c8
2002-03-21 17:27:08 +00:00
Lars Gullik Bjønnes
7ea7dabed1 to much stuff for my liking...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3554 a592a061-630c-0410-9148-cb99ea01b6c8
2002-02-16 15:59:55 +00:00
Lars Gullik Bjønnes
33a28bdc9c Add string << operators for the other streams as well, and removes
c_str() all places where it is not needed anymore.
(I also add config.h to several files that was missing it)
+ added s string constructor to math_symbolinset

I also change some "while(" to "while ("

mmm ... yes ... I add a "zero()" function to LyXLength... an "empty()"
function did not seem appropriate. changed a couple of places that
checked on length.value() != 0.0.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3149 a592a061-630c-0410-9148-cb99ea01b6c8
2001-12-05 08:04:20 +00:00
Dekel Tsur
1148c5d181 Fixes due to new math-insert syntax.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2543 a592a061-630c-0410-9148-cb99ea01b6c8
2001-08-18 10:33:17 +00:00
Lars Gullik Bjønnes
a0bf0835e5 more funcs to lowerchar, adjust
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2428 a592a061-630c-0410-9148-cb99ea01b6c8
2001-08-06 19:12:46 +00:00
Asger Ottar Alstrup
b8cad4ca9d More header file include dependency work
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2386 a592a061-630c-0410-9148-cb99ea01b6c8
2001-07-29 17:39:01 +00:00
Lars Gullik Bjønnes
d1182f17da LyX Drinkers Union: patch 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2141 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-25 00:06:33 +00:00
Jean-Marc Lasgouttes
07ea5f51f0 compilation fixes for compaq cxx + small things
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2079 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-01 10:53:24 +00:00
Lars Gullik Bjønnes
4c6091b63f remove !NEW_INSETS cruft
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1980 a592a061-630c-0410-9148-cb99ea01b6c8
2001-05-03 14:31:33 +00:00
Lars Gullik Bjønnes
b17500c1c4 the rest read the ChangeLog, hope I remembered all
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1934 a592a061-630c-0410-9148-cb99ea01b6c8
2001-04-17 15:15:59 +00:00
Lars Gullik Bjønnes
42a1e2ea5a move the most important changes from branch new_insets to head. Still dependant on NEW_INSETS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1731 a592a061-630c-0410-9148-cb99ea01b6c8
2001-03-11 03:20:44 +00:00
Jean-Marc Lasgouttes
1a3ed565d9 Use lyxlex to parse rgb.txt + small compilation fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1206 a592a061-630c-0410-9148-cb99ea01b6c8
2000-11-08 15:19:55 +00:00
Lars Gullik Bjønnes
adaef99e60 some formatting changes some simplifications and removal of dead code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1198 a592a061-630c-0410-9148-cb99ea01b6c8
2000-11-04 10:00:12 +00:00