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