Path: utzoo!attcan!uunet!mcsun!cernvax!chx400!hslrswi!aut!jsmithso From: jsmithso@aut.UUCP (Jim Smithson) Newsgroups: comp.sys.ncr Subject: Re: Aspen ksh (again :-( ) Keywords: vi bug Message-ID: <1216@telsys.aut.UUCP> Date: 23 Mar 90 11:42:04 GMT References: <530@texbell.swbt.com> Reply-To: jsmithso@telsys.UUCP (Jim Smithson) Organization: Ascom Autelca AG, CH-3073 Guemligen, Switzerland Lines: 27 The problem is not with ksh but with vi. It seems that the vi code sets the 8th bit of the characters it passes to the shell. The Bourne shell always stripped the 8th bit so it was not effected. The International version ( aka ksh-88 ) of Korn shell allows for 8 bit characters and does not strip the bit. Therefore when vi expands the % field it sets the 8th bit and passes it to ksh which cannot find any files which have those funny characters in them. You can do one of the following to resolve this problem: 1. If you have the source code for vi you can add code to strip the 8th bit before the exec() call passes the command to the shell. I no longer have access to UNIX source so I can't tell you where I fixed this bug before. Look for the exec() calls and put the code there. 2. If you have the source code for ksh you can basically do the same thing but at the point where characters are read. Again, it was several years ago that I implemented this kludge and I don't have access to the source for ksh anymore. 3. Use another shell (eg. Bourne) for your vi shell escapes. I'm not sure if the vi bug was fixed in System V release 3. -- James R. Smithson Ascom Autelca AG CH-3073 Guemligen/Switzerland E-mail: jsmithso@aut.UUCP FAX: +41 31 527 745 Voice : +41 31 529 214 UUCP: ...!uunet!mcsun!cernvax!hslrswi!aut!jsmithso