The details of parsing are quite tricky and not documented in the manual
page. Record the current behavior to be a little safer in future
refactorings.
The variable discardUndefined has an implicit negation in its name,
which makes it hard to understand. Plus, most of the time it is true.
It's better to have a flag that is false most of the time and has a
positive name.
On the first attempt of inverting that variable, I stumbled upon
MainParseArgs, which initially leaves discardUndefined == FALSE, and
after handling the dashed options, sets it to TRUE. This would make a
difference when more command line arguments would be added later via the
.MAKEFLAGS special target.
Upon further inspection, the only place where discardUndefined is used
is in VarAssign_EvalSubst in parse.c, and that place is not reachable
from any of the dashed options. Therefore, discardUndefined could
already be set at the very beginning of MainParseArgs or even when
initializing the global variable itself, without any observable
difference.
Not even the ::= variable modifier could do anything about this since it
is not reachable from the dashed command line options as well, and in
addition, it expands its right-hand side in any case, always discarding
undefined variables. Oh, these little inconsistencies everywhere.
I have generated the manual pages and referenced them into the sets.
It would probably help to add a Makefile rule, indicating how to
generate the manual pages again.
Tested with "build.sh release" on amd64.
Reviewed by Tobias Nygren before the commit.
the DEC-XTRAP extension is deprecated since 1994, so modern X servers do
not support it
the library was removed from pkgsrc last year and is not required by
anything not-sample-client related in src
if you try to query the protocol on netbsd, you get the following:
$ xtrapproto
Display: :0.0
Warning: Can't load DEC-XTRAP extension
xtrapproto: could not initialize extension