On Wed, Sep 27, 2006 at 03:49:25PM +0200, Georg Baum wrote: > Enrico Forestieri wrote: > > > On Wed, Sep 27, 2006 at 10:23:27AM +0200, Georg Baum wrote: > > > >> So what about this patch (for 1.5)? Does it work for you Enrico? > > > > Unfortunately I am not able to run 1.5 anymore due to the wide characters > > problem. It only works with MSVC and I don't have it. > > You have two choices: Implement the missing bits (based on what I sent some > time ago),
I fear that this is beyond my current capabilities. > or get the free (free-as-in-beer) edition MSVC express. Vade retro, Satana! ;-) Seriously, I have no use for MSVC as I cannot build a cygwin binary with it. I once had installed the 2003 edition but it was only wasting space on my hard disk. > If you > restrict yourself for the moment to the latin1 subset of ucs4 then the > missing stuff is trivial. This might be a good thing to do in order to be > able to run LyX on cygwin for now. I tried building LyX using the stlport library and it now runs! I don't know why your examples still don't compile with stlport, though. However, I need the attached patch. I cannot use the boost format with stlport because there is no specialization for class ctype<boost::uint32_t>. Only ctype<char> and ctype<wchar_t> are supported. If there are no objections I would like to apply the patch. > When the other unicode stuff is finished > we can still see whether somebody implements the full cygwin wide character > support, I was thinking that on cygwin only UCS2 could be supported, as there would be no problems with "typedef wchar_t char_type;". However, I think that it is better to wait for when things are settled. Another option could be patching stlport such as to duplicate any ctype<wchar_t> specialization as ctype<uint32_t>. > or if cygwin support is dropped. That would be a real pity. -- Enrico
Index: src/cursor.C =================================================================== --- src/cursor.C (revision 15170) +++ src/cursor.C (working copy) @@ -64,6 +64,7 @@ using std::endl; using std::isalpha; #endif using std::min; +using std::for_each; namespace { Index: src/graphics/GraphicsTypes.h =================================================================== --- src/graphics/GraphicsTypes.h (revision 15170) +++ src/graphics/GraphicsTypes.h (working copy) @@ -17,6 +17,8 @@ #include "support/translator.h" +#include <string> + namespace lyx { namespace graphics { Index: src/graph.C =================================================================== --- src/graph.C (revision 15170) +++ src/graph.C (working copy) @@ -17,6 +17,7 @@ using std::vector; using std::reverse; +using std::fill; int Graph::bfs_init(int s, bool clear_visited) Index: src/frontends/controllers/helper_funcs.h =================================================================== --- src/frontends/controllers/helper_funcs.h (revision 15170) +++ src/frontends/controllers/helper_funcs.h (working copy) @@ -16,6 +16,7 @@ #include <utility> #include <vector> #include <string> +#include <algorithm> namespace lyx { Index: src/bufferview_funcs.C =================================================================== --- src/bufferview_funcs.C (revision 15170) +++ src/bufferview_funcs.C (working copy) @@ -46,6 +46,7 @@ using std::istringstream; using std::ostringstream; using std::string; using std::vector; +using std::find; namespace bv_funcs { Index: src/lyx_main.C =================================================================== --- src/lyx_main.C (revision 15170) +++ src/lyx_main.C (working copy) @@ -80,6 +80,7 @@ namespace fs = boost::filesystem; using std::endl; using std::string; using std::vector; +using std::for_each; #ifndef CXX_GLOBAL_CSTD using std::exit; Index: configure.ac =================================================================== --- configure.ac (revision 15170) +++ configure.ac (working copy) @@ -388,7 +388,7 @@ int mkstemp(char*); #endif #endif -#if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM) +#if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM) && !defined(__CYGWIN__) # define USE_BOOST_FORMAT 1 #else # define USE_BOOST_FORMAT 0