Paul S Personunread,
Mar 9, 2020, 1:17:41 PM3/9/20
I discovered an interesting problem while working on cguideq with PS:
macro .dir, defined in lnkdir.gml in docs\doc\lg, does not identify
and include some linker options marked as being used with QNX
This sort of thing is what doesn't work:
.dir heapsize opheap.gml os2 qnx win16 win32
while this sort of thing does:
.dir linearrelocs oplinear.gml qnx
and testing shows that something like
.dir <whatever> <filename> os/2 qnx
would also work, were it present.
The problem has been fixed in the code, so our wgml now omits these
items as well.
The problem in the macro is isolated to QNX and is pretty clear:
. .se *$$fnd=&'wordpos('QNX',&suppsys)
is using a variable containing the list of supported targets as it
will be displayed to the user: that is, instead of
os2 qnx win16 win32
OS/2, QNX, Win16, Win32
and, since the script function &'wordpos() deals with /words/ not
/substrings/, the search term
does not match what it is expected to match
in the string.
The fix is obvious: this function is used earlier to construct suppsys
from the command line, so the command line can be used here to match.
The only "trick" is to use the optional parameter "3" to skip the
option name and filename. And it would be nicely restricted to QNX.
I think I should do this, since it seems likely that all the linker
options used with QNX were intended to be in the manual. But first I
does anyone know a reason why this should not be done?
are these options omitted intentionally?
"I begin to envy Petronius."
"I have envied him long since."