Georg Baum <[EMAIL PROTECTED]> writes:

| Index: src/support/types.h
| ===================================================================
| --- src/support/types.h       (Revision 14982)
| +++ src/support/types.h       (Arbeitskopie)
| @@ -18,20 +18,10 @@
|  
|  #include "docstring.h"
|  
| -#include <boost/cstdint.hpp>
| -
|  #include <cstddef>
| -#include <string>
|  
|  namespace lyx {
|  
| -     // The type used to hold characters in paragraphs
| -     typedef boost::uint32_t char_type; // Possibly the ucs-4 type we will 
use
| -     //typedef wchar_t char_type;  // The wide char type CJK-LyX uses
| -     //typedef char char_type;       // Current narrow char type in use
| -
| -     //typedef std::wstring docstring;

see below.

|       /// a type for positions used in paragraphs
|       // needs to be signed for a while to hold the special value -1 that is
|       // used there
| Index: src/support/docstring.h
| ===================================================================
| --- src/support/docstring.h   (Revision 14982)
| +++ src/support/docstring.h   (Arbeitskopie)
| @@ -18,8 +18,19 @@
|  
|  namespace lyx {
|  
| +/// The type used to hold characters in paragraphs
| +#if defined(HAVE_WCHAR_T) && SIZEOF_WCHAR_T == 4
| +// Prefer this if possible because GNU libstdc++ has usable 
std::ctype<wchar_t>
| +// locale facets but not std::ctype<boost::uint32_t>. gcc older than 3.4 is
| +// also missing usable std::char_traits<boost::uint32_t>.
| +typedef wchar_t char_type;
| +#else
| +// This works on msvc
| +typedef boost::uint32_t char_type;
| +#endif

I think I'd like to keep this in types.h.


| Index: configure.ac
| ===================================================================
| --- configure.ac      (Revision 14982)
| +++ configure.ac      (Arbeitskopie)
| @@ -147,6 +147,9 @@ AC_SUBST(AIKSAURUS_LIBS)
|  
|  LYX_USE_INCLUDED_BOOST
|  
| +# Needed for our char_type
| +AC_CHECK_SIZEOF(wchar_t)

Should we have AC_CHECK_TYPES(wchar_t) as well?
(for completeness.)

-- 
        Lgb

Reply via email to