[tex-k] [WEB] Possible range error in WEAVE.WEB

Wolfgang Helbig helbig at mailbox.org
Fri Aug 6 10:45:10 CEST 2021


Dear Andreas,
> I believe that line 4663 of WEAVE.WEB (definition of procedure 
> 'unbucket' in module 249) should be changed as follows:
>
> @x
>   begin if sort_ptr>max_sorts then overflow('sorting');
> @y
>   begin if sort_ptr=max_sorts then overflow('sorting');
> @z

Yes, you are right! If sort_ptr == max_sorts the incr will trigger a 
range check.

By the way, you can turn on range and overflow check with Free Pascal:
[4] compiler directives
@x
@{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug 
overhead}
@!debug @{@&$C+,D+@}@+ gubed {but turn everything on when debugging}
@y
@{$MO@&DE@,ISO@}
@/
@{$Q+@}
@/
@{$R+@}
@z


The overflow check showed a bug in mf, which in fact was a compiler 
bug.  cf., tex-fpc/fpcbugs, second bug.

Greetings,

-- 
Wolfgang Helbig
Stauferstr. 22
71334 Waiblingen
07151-920 227

-------------- next part --------------
A non-text attachment was scrubbed...
Name: helbig.vcf
Type: text/x-vcard
Size: 4 bytes
Desc: not available
URL: <https://tug.org/pipermail/tex-k/attachments/20210806/6c383899/attachment-0001.vcf>


More information about the tex-k mailing list.