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

Reply via email to