Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Problem inputting Japanese using XIM
- X-seq: zsh-workers 16482
- From: Daiki Ueno <ueno@xxxxxxxxxxxx>
- To: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: Problem inputting Japanese using XIM
- Date: Tue, 22 Jan 2002 11:35:12 +0900
- Cc: zsh-workers@xxxxxxxxxx
- In-reply-to: <020121152432.ZM27716@xxxxxxxxxxxxxxxxxxxxxxx> (Bart Schaefer's message of "Mon, 21 Jan 2002 15:24:32 -0800")
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <b78fa9d0-c9c9-434a-8cd4-ca248c08bbd8@xxxxxxxxxxxxxx> <020121152432.ZM27716@xxxxxxxxxxxxxxxxxxxxxxx>
>>>>> In <020121152432.ZM27716@xxxxxxxxxxxxxxxxxxxxxxx>
>>>>> "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxx> wrote:
> > I'm wondering why zsh considers characters in the [0x80, 0xa0] range
> > as control characters?
> Zsh does not handle multibyte character sets, in general. Internally it
> always treats a single byte as a single character. The characters with
> ASCII values above 128 are meta-characters, and those in the range 128-
> 159 are control-meta-characters (just as 0-31 are control without meta).
Thank you for the response, I understood that.
By the way, the control-character formatting routines can be found here
and there in Src/Zle/*.c. While they convert 0x0a into the form of "^J"
and so on, it seems that which is only helpful in displaying C0
characters, not C1 characters. Is this expected?
The actual code is as follows:
(snipped off Src/Zle/zle_refresh.c:1122 ...)
} else if (line[t0] == 0x7f) {
*vp++ = '^';
*vp++ = '?';
} else if (icntrl(line[t0])) {
*vp++ = '^';
*vp++ = line[t0] | '@';
} else
*vp++ = line[t0];
Regards,
--
Daiki Ueno
Messages sorted by:
Reverse Date,
Date,
Thread,
Author