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

Reply via email to