As a fix.. I've implemented a new built-in equate @ProcLine
which gives us:
SomeProlog MACRO procname, flags, argbytes, localbytes, reglist, userparms
Local tmp$, up$, alignOK, alignBad, is, alignedUses
pLine=@Line
% echo ## prologue of procname ##
hello$ equ <The prologue macro has changed the string>
push ebp
mov ebp, esp ; create frame
up$ CATSTR <userparms>, < >
tmp$ CATSTR <line >, %@Line, < (should be line 24, ok with ML but not with Watcom family)>
% echo tmp$
tmp$ CATSTR <## PROLOG, line >, %@Line, <: &procname>, <: args+locals=>, <argbytes>, <+>, <localbytes>, <=>, %(argbytes+localbytes), <, _flags=>, <flags>, <, _userparms=>, <userparms>
% echo tmp$
% echo ## end of procname prologue ##
IFDEF @ProcLine
tmp$ CATSTR <line >, %@Line, < - proc line >, %@ProcLine
ELSE
tmp$ CATSTR <line >, %@Line, < - proc line >, %@Line
ENDIF
% echo tmp$
EXITM %localbytes
ENDM
Which gives the correct results then for both ML and HJWASM.
If this works for you I will update source/packages?