On 28 ÑÐÐÑÐÐÑ 2009 21:22:50 Bart Schaefer wrote:
> On Feb 28, 11:37am, Ismail wrote:
> } [~]> echo xo<0308>o<0308>o<0308>x
> } xÃÃÃx
> }
> } Somehow "Ã" character is replaced by <0308> while tab completing.
[...]
> Wolfgang, if you're reading this, something that I forgot to mention
> in my reply to you is that sometime during 4.3.x zsh began to pay
> closer attention to characters that are absent from the declared LANG
> character set and to either refuse to process them at all, or to
> render them as digits surrounded by angle brackets.
Unfortunately that does not play nicely with PRINTEIGHTBIT. Currently
manual states:
PRINT_EIGHT_BIT
Print eight bit characters literally in completion lists, etc.
This option is not necessary if your system correctly returns the
printability of eight bit characters (see man page ctype(3)).
But PRINTEIGHTBIT affect only one function - (wcs_)niceputchar. Still
conversion to <XXXX> happens directly in zrefresh() if character deemed
to be unprintable *and* MULTIBYTE_SUPPORT is set.
So either documentation must be fixed (by clearly mentioning that this
option has no effect if compiled with multibyte). This is bad IMHO as
average user is not supposed to know build options.
Or code should be fixed. I am not exactly sure - is it correct that raw
character is stuffed into output buffer? Or are they all supposed to go
via niceputchar in the first place?
Attachment:
signature.asc
Description: This is a digitally signed message part.