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: