[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Trying to fix slang



On Wed, Jan 30, 2002 at 03:08:08PM +0900, Junichi Uekawa wrote:
> > > I've read the source, and I think non-UTF8 version has support for 
> > > locales that are not UTF8.
> > 
> > The UTF8 one should support non-UTF8 locales, too.  If it doesn't, this
> > should probably be considered a bug, though it might be one too
> > complicated to fix right now.
> 
> I've checked it. It doesn't. I told you. 

(Neener neener, told you so! Er. :)

Actually, you said the non-UTF8 version has support for locales that
aren't UTF8; you didn't say the UTF8 version does not.

If the UTF8 version breaks in non-UTF-8 locales, then file a bug. The
only bug resembling this is the line-drawing-character one I mentioned.

> > The only problem I've seen is mutt-utf8 not displaying line drawing
> > characters properly in non-UTF8 locales.  I havn't used it that way
> > extensively, however.
> 
> Then you haven't used it enough.
> Non-utf locale != ISO8859-1.
>
> There are many locales out there which is not ISO8859-1,
> and are incompatible with UTF-8.

You seem to think that supporting UTF-8 and supporting other charsets is
mutually exclusive.  This is incorrect.

The source uses wcrtomb; that works for all locales and is not at all
UTF8-specific.  There's nothing obvious in the UTF8 patch that makes it
inherently incompatible with other locales.  That's why I asked *how* it
is incompatible with other locales; just saying that it is doesn't tell
anyone anything.

(Note also that I conceded that if there are, in fact, a lot of problems
with the UTF8 version in other charsets, it's not a good time to try to
fix them all.)

> > Programs shouldn't need to #define UTF8 explicitely just because they're
> 
> It currently does, and that is why many are broken,
> and that is why I added a check. If programs aren't doing it
> like that currently, then they are bound to fail.

I know that.  I'm saying the fix should be to remove that requirement,
not to enforce it.

> It is not possible to #define and #undefine UTF8.
> How do I handle cases when UTF8 is already defined?

That's not too hard, but a better thing to do is to rename UTF8 to
SLANG_UTF8, and not #undef it.

If you really want to keep "UTF8", you can still do it:

#if @UTF8@
#ifdef UTF8
#define UTF8_ALREADY_DEFINED
#else
#define UTF8
#endif
#endif
 ...
#ifdef UTF8
#ifdef UTF8_ALREADY_DEFINED
#undef UTF8_ALREADY_DEFINED
#else
#undef UTF8
#endif
#endif

(Subst @UTF8@ to 1 or 0.)

That's a little ugly, and I'd recomment renaming UTF8 to something less
generic instead.

> I am telling you that no one seems to have bothered to fix this 
> particular problem sufficiently for a while although it 
> has been broken like this for 4 months.
> 
> Please, there are many bugs in the base system, and 
> standard system. Fix them.

The existance of other bugs does not forbid the discussion of fixes for
this one.

> Fixing the slang library is the task of the upstream,
> Debian needs to do the integration part.

Um, all of the RC bugs in the slang package are Debian's problem.  The
UTF8 code is a Debian patch.

-- 
Glenn Maynard



Reply to: