I wonder whether the aboriginal defect was the result
of coder indolence or the prohibitively high cost of
storage needed for the few instructions to preserve
the sign.

On 2/17/26 09:58, Jonathan Scott wrote:
Some years ago I produced a suggested design for fixing the SETA symbol substitution 
"feature" of losing any minus sign but I hadn't got round to implementing it by 
the time I retired (because of low customer priority), and I don't know if it is on the 
future schedule.  If I remember correctly, it worked as follows (where keywords are 
provisional):

- A new option COMPAT(SETAABS), where the NOSETAABS option includes the minus 
sign (although for compatibility within a release the default must remain 
compatible).
- A new option FLAG(SETAABS) which would issue a warning whenever a negative 
SETA value is substituted into assembler text (regardless of the COMPAT 
setting).  Again, for compatibility the default must be NOSETAABS.
    ...
but that would introduce incompatibility between
macros/copybook members needing opposite settings
of the options.

If it had been my choice, I would have provided
not the signed() BIF but a new type of symbol:
    SETA yielding absolute value (compatible)
    SETS yielding signed value.

--
gil

Reply via email to