cc: [email protected] Subject: Re: [ast-users] Is it possible to disable ANSI-C features of built-in command 'let'? --------
> Is it possible to disable the ANSI-C programming language integer > constant conventions of the 'let' sub-command that were added in ksh93m+ > so it behaves more like ksh88 without recompiling? > > For example in ksh88 (AIX 5.3) > $ let t=0100 > $ echo $t > 100 > > However under ksh93t+ (SLES 11 SP1) > $ let t=0100 > $ echo $t > 64 > > We have a customer with 1000s of ksh scripts which they've been porting > from AIX's ksh88 to SUSE Linux Enterprise Server 11's ksh93t+. > Unfortunately they've just now discovered that many of their scripts > break when numbers being evaluated by 'let' have a leading 0 in them > because they're evaluated as an octal number. They're looking for a > method like the _AST_FEATURES environment variable or 'set -o' that > would change the behavior of ksh to evaluate all numbers as decimal. > Does anything like this exist? I have added a small patch to ksh93u+ that disallows octal constants specified with a leading 0 in let. They will be treated as decimal. It will not affect ((...)) arithmetic. It will be in the next ksh93u+ update on the ksh93 download beta site hopefully next week. The patch should work with ksh93t+ as well. > > Also does anyone know of some resources that list all the feature > changes made to ksh93 that make it behave differently than ksh88? The ksh93 source has a file named COMPATIBILITY that lists all the known incompatibilities with ksh88. > > David Korn [email protected] _______________________________________________ ast-users mailing list [email protected] https://mailman.research.att.com/mailman/listinfo/ast-users
