From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from math.gatech.edu (euclid.skiles.gatech.edu [130.207.146.50]) by werple.net.au (8.7/8.7.1) with SMTP id UAA29285 for ; Wed, 22 Nov 1995 20:52:08 +1100 (EST) Received: by math.gatech.edu (5.x/SMI-SVR4) id AA17775; Wed, 22 Nov 1995 04:19:19 -0500 Resent-Date: Wed, 22 Nov 1995 10:19:46 +0100 (MET) Old-Return-Path: From: Zoltan Hidvegi Message-Id: <199511220919.KAA24984@bolyai.cs.elte.hu> Subject: Re: beta12: 8-bit-cleanliness To: zsh-workers@math.gatech.edu (zsh-workers) Date: Wed, 22 Nov 1995 10:19:46 +0100 (MET) In-Reply-To: from "Thorsten Meinecke" at Nov 22, 95 04:02:00 am Organization: Dept. of Comp. Sci., Eotvos University, Budapest, Hungary Phone: (36 1)2669833 ext: 2667, home phone: (36 1) 2752368 X-Mailer: ELM [version 2.4 PL24 PGP3 *ALPHA*] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-Id: <"6lUzB1.0.cL4.Mikim"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/632 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > > Missing 8-bit-cleanliness especially WRT filename generation. > It was in zsh up to the release of 2.6-beta10. Imagine the names of your > working files deliberately scattered with extended characters from i.e. > the ISO-8859-1 character set. With beta12 this results in mysteriously > disappearing command lines, and worse, infinite loops in the lexer, when > completion is requested upon one of those names. > > Tracking that down led to a dubious (unsigned) cast in input.c, present > since rev. 1.5. It does the same as (int)(unsigned int). But we want the > effect of (int)(unsigned char) instead: (unsigned char) was the original cast but this is borken on some machines. What's wrong with (unsigned)? There are other places wher (unsigned) cast is used. I originally suggested to use the STOUC() macro but someone (rc?) prefered (unsigned). If the later works I'd prefer this (but I do not know what's wrong woth STOUC()). All of these should have the same effect in the produced code (really these casting only affect what the compiler thinks about the content of a register but (int)(unsigned char) misleads some compilers). Cheers, Zoltan