From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23813 invoked from network); 26 Jun 1997 16:50:11 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 26 Jun 1997 16:50:11 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id MAA08516; Thu, 26 Jun 1997 12:42:02 -0400 (EDT) Resent-Date: Thu, 26 Jun 1997 12:42:02 -0400 (EDT) Message-Id: <199706261646.SAA20747@sgi.ifh.de> To: Uli Zappe , zsh-workers@math.gatech.edu (Zsh hackers list) Subject: Re: FAQ, German Umlauts (patch) In-reply-to: "Uli Zappe"'s message of "Thu, 26 Jun 1997 17:43:17 MET." <9706261543.AA03628@tallowcross.uni-frankfurt.de> Date: Thu, 26 Jun 1997 18:46:02 +0200 From: Peter Stephenson Resent-Message-ID: <"yGN7K2.0.y42.Plfip"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3312 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Uli Zappe wrote: > > Zsh doesn't even decide; the system does and it seems to be > > getting it wrong. > > But zsh is the *only* program with this problem on NEXTSTEP; so it > can't be as simple as "zsh is right, but NEXTSTEP is wrong"... :-( > perl, for instance, works perfectly well. That's because they're simply not deciding. Zsh, having a fairly sophisticated editor, is trying to spare the user unreadable characters on the terminal. Perl doesn't know about characters, it simply deals with byte streams. You can probably see what I mean if you have `less' and try to view something with non-ASCII characters. > > The old zsh, so far as I remember, didn't even have the locale > > mechanism, so is unlikely to be able to do non-ASCII characters. > > Even a reasonable attempt at 8-bit characters is fairly new. > > zsh 2.51 *can* deal perfectly with lower case Umlauts, as I said before. That must be because it simply passed all 8-bit characters through. This is unfortunately not a sensible default: it'll screw up your old VT100 something rotten, for example. > > To clarify, zsh doesn't need the locale system > > either, it just supports it if it is available. > > Does this locale system consist of only the file /usr/lib/locale > (so that I simply could install such a file), or is there a > corresponding program that's necessary? No, there's a whole mess of stuff in the operating system; either it comes with it or it doesn't. > > The alternative is Wolfgang Hukriede's suggestion of passing > > through all characters. That's dangerous in general, so it would > > have to be an option. > > Maybe it's not necessary to really pass thru *all* characters; I > can't judge, though. > > Anyway, what do I have to do to make this option being implemented > in future versions of zsh? It's very simple and I've just done it. I've assumed that only eight bit characters are a problem. The option is called PRINT_EIGHT_BIT (or printeightbit etc.); see the manual entry. (Would PASS_EIGHT_BIT be better? It sounded a little opaque to me.) *** Doc/Zsh/options.yo.p8 Wed Apr 30 09:18:38 1997 --- Doc/Zsh/options.yo Thu Jun 26 18:33:51 1997 *************** *** 622,627 **** --- 622,634 ---- tt(trap) and tt(unset). ) + pindex(PRINT_EIGHT_BIT) + cindex(exit status, printing) + item(tt(PRINT_EIGHT_BIT) (tt(-1)))( + 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 manref(ctype)(3)). + ) pindex(PRINT_EXIT_VALUE) cindex(exit status, printing) item(tt(PRINT_EXIT_VALUE) (tt(-1)))( *** Src/options.c.p8 Thu Jun 26 18:17:28 1997 --- Src/options.c Thu Jun 26 18:14:26 1997 *************** *** 144,149 **** --- 144,150 ---- {NULL, "overstrike", 0, OVERSTRIKE}, {NULL, "pathdirs", 0, PATHDIRS}, {NULL, "posixbuiltins", OPT_EMULATE|OPT_BOURNE, POSIXBUILTINS}, + {NULL, "printeightbit", 0, PRINTEIGHTBIT}, {NULL, "printexitvalue", 0, PRINTEXITVALUE}, {NULL, "privileged", OPT_SPECIAL, PRIVILEGED}, {NULL, "promptcr", OPT_ALL, PROMPTCR}, *** Src/utils.c.p8 Thu Jun 26 18:17:18 1997 --- Src/utils.c Thu Jun 26 18:39:11 1997 *************** *** 175,180 **** --- 175,182 ---- if (isprint(c)) goto done; if (c & 0x80) { + if (isset(PRINTEIGHTBIT)) + goto done; *s++ = '\\'; *s++ = 'M'; *s++ = '-'; *** Src/zsh.h.p8 Tue Jun 24 09:09:11 1997 --- Src/zsh.h Thu Jun 26 18:13:27 1997 *************** *** 1062,1068 **** VERBOSE, XTRACE, USEZLE, ! OPT_SIZE }; #undef isset --- 1062,1069 ---- VERBOSE, XTRACE, USEZLE, ! OPT_SIZE, ! PRINTEIGHTBIT }; #undef isset -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77413 Deutsches Elektronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, 15735 Zeuthen, Germany.