Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: problem in prompt in utf-8
- X-seq: zsh-workers 21727
- From: "Zvi Har'El" <rl@xxxxxxxxxxxxxxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxxxxx>
- Subject: Re: problem in prompt in utf-8
- Date: Sun, 11 Sep 2005 19:55:16 +0300
- Disposition-notification-to: "Zvi Har'El" <rl@xxxxxxxxxxxxxxxxxxx>
- Hebrew-date: 8 Elul 5765
- In-reply-to: <20050911121345.GA14384@xxxxxxxxxxxxxxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- Organization: Technion--Israel Institute of Technology
- References: <20050911121345.GA14384@xxxxxxxxxxxxxxxxxxxxxxxxxx>
I found out that the problem of the prompt (rather then the print -P $PS1), is
TERM dependent. When I set TERM=dumb, the prompt is printed correctly on the
screen, but afterwords the cursor moves to the right several positions which
is seems to be identical in length to the size of the prompt. Since each
character is 2 bytes, I suppose the length is incorrectly calculated.
On Sun, 11 Sep 2005 15:13:45 +0300, Zvi Har'El wrote about "problem in prompt in utf-8":
> Hello,
>
> I have started using zsh-4.3.0 from the CVS, in a uft-8 locale. I enjoy it
> very much. However, I have a problem with the prompting. This is not new, but
> since the completion now works nicely, I thought I'll mention it, since it is
> not solved yet.
>
> I have the setting
>
> PS1=%/$\
>
> I expect that
>
> print -P $PS1
>
>
> and
>
> pwd
>
> will give the same output, which will also be the zsh prompt (except the final
> $ and space, of course). However, if the current directory name contains
> hebrew letter, which are in the range U+05D0 to U+05EA, i.e., the utf-8
> sequences have two bytes, with the first one is always 0xD7 (M-W) and the
> second in the range 0x90 (M-^P) to 0xAA (M-*). I mkdir'ed a directory which
> has all the letters in this range:
>
> /home/rl$ mkdir אבגדהוזחטיךכלםמןנסעףפץצקרשת
>
> cd'ed to that directory:
>
> /home/rl$ cd אבגדהוזחטיךכלםמןנסעףפץצקרשת
>
> I got as an echo a correct result:
>
> ~/אבגדהוזחטיךכלםמןנסעףפץצקרשת
>
> The next prompt had invalid utf-8 sequences:
>
>
> /home/rl/������������לםמןנסעףפץצקרשת$
>
>
> To make it more specific, all the range U+05D0 to U+05DB, (second byte 0x90
> to 0x9ba) got invalid. I don't know exactly what is wrong. Notice that 'pwd'
> produces
>
> /home/rl/אבגדהוזחטיךכלםמןנסעףפץצקרשת
>
> I.e, all the letters are correct, while 'print -P $PS1' produces
>
> /home/rl/אבגדהוזחטיך�לםמןנסעףפץצקרשת$
>
> With exactly one invalid utf-8 seqience, more specifically, U+05DB (second
> byte 0x9ba) - the last one in the previous range, is bad.
>
> print -P $PS1 | cat -v produces
>
> /home/rl/M-WM-^PM-WM-^QM-WM-^RM-WM-^SM-WM-^TM-WM-^UM-WM-^VM-WM-^WM-WM-^XM-WM-^YM-WM-^ZM-WM-WM-^\M-WM-^]M-WM-^^M-WM-^_M-WM- M-WM-!M-WM-"M-WM-#M-WM-$M-WM-%M-WM-&M-WM-'M-WM-(M-WM-)M-WM-*$
>
> while pwd | cat -v produces
>
> /home/rl/M-WM-^PM-WM-^QM-WM-^RM-WM-^SM-WM-^TM-WM-^UM-WM-^VM-WM-^WM-WM-^XM-WM-^YM-WM-^ZM-WM-^[M-WM-^\M-WM-^]M-WM-^^M-WM-^_M-WM- M-WM-!M-WM-"M-WM-#M-WM-$M-WM-%M-WM-&M-WM-'M-WM-(M-WM-)M-WM-*
>
> It is perhaps hard to see the difference, but a close inspection shows that
> the first string contains a solitary M-W between the M-WM-^Z and the the
> M-WM-^\ sequences, while the second one contains there the sequence M-WM-^[ ,
> i.e., a M-^[, or Meta-Esacpe, was dropped from the string.
>
> Unfortunately, I didn't find an easy way to put the real prompt on a file, so
> I can't tell what is the exact sequences in it.
>
> I hope this make some sense.
>
> --
> Dr. Zvi Har'El mailto:rl@xxxxxxxxxxxxxxxxxxx Department of Mathematics
> tel:+972-54-4227607 icq:179294841 Technion - Israel Institute of Technology
> fax:+972-4-8293388 http://www.math.technion.ac.il/~rl/ Haifa 32000, ISRAEL
> "If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)
> Sunday, 7 Elul 5765, 11 September 2005, 1:54PM
--
Dr. Zvi Har'El mailto:rl@xxxxxxxxxxxxxxxxxxx Department of Mathematics
tel:+972-54-4227607 icq:179294841 Technion - Israel Institute of Technology
fax:+972-4-8293388 http://www.math.technion.ac.il/~rl/ Haifa 32000, ISRAEL
"If you can't say somethin' nice, don't say nothin' at all." -- Thumper (1942)
Sunday, 8 Elul 5765, 11 September 2005, 7:51PM
Messages sorted by:
Reverse Date,
Date,
Thread,
Author