[comp.lang.modula3] SRC compiler run-time error

treese@crl.dec.com (Win Treese) (04/19/91)

Not that it's a major problem, but the following interface:

INTERFACE Foo;

<*EXTERNAL> PROCEDURE bar(i: INTEGER) RAISES {};

END Foo.

which is missing an asterisk in the EXTERNAL pragma, has the following
problem when compiled:

38 caddo> m3 -c foo.m3
M3 runtime error: Text.Cat: NIL argument

Win Treese						Cambridge Research Lab
treese@crl.dec.com					Digital Equipment Corp.

kalsow (Bill Kalsow) (04/20/91)

Thanks for the bug report.

An internal table in the compiler wasn't initialized properly.
The compiler crashed trying to give the error message:

     missing '*>'

It's fixed for the next release.

  - Bill Kalsow

Peter.Robinson@computer-lab.cambridge.ac.uk (04/22/91)

Win Treese mentioned a faulty interface giving rise to the compiler failing
with the message:

> M3 runtime error: Text.Cat: NIL argument

(and Bill Kalsow replied saying that it would be fixed in the next release).

Might this be an opportunity to mention a misleading comment in the Text
interface:

| (* Contrary to what the "Modula-3 report (revised)" says, Text accepts and
|    returns NIL for the empty string *)

when, of course, it doesn't.

- Peter Robinson.

kalsow (Bill Kalsow) (04/22/91)

>  Might this be an opportunity to mention a misleading comment in the Text
>  interface:
>  
>  | (* Contrary to what the "Modula-3 report (revised)" says, Text accepts and
>  |    returns NIL for the empty string *)
>  
>  when, of course, it doesn't.

Oops.  Thanks.  We got too much grief for supporting the NIL extension
to the Text interface, so we removed it.  The comment will be corrected
in the next release.

  - Bill Kalsow