-D... options.
Removed the check for the :Q operator in C preprocessor macro
definitions, since we generally don't expect directory names with
embedded special characters in pkgsrc.
In buildlink3.mk files, the only BUILDLINK_* variables that may be set
are those of the current package.
The shell variables $@ and $? are now recognized. Since the shell parser
is able to parse the complete code in all pkgsrc packages, make parse
errors show in the normal pkglint output. These errors had been hidden
before.
Fixed the regular expressions in the shell parser to only match at the
beginning of the string. That way, when the shell command contains $$@,
the $@ is not removed, leaving a single $ behind.
Added some code to deal with the different parsing styles of bmake in
variable assignments and shell commands. For that, the PkgLint::Line
class has been extended to contain arbitrary additional data. This will
also allow to reduce the number of duplicate warnings later.
The assert() procedure has got a second parameter, the message to be
printed.
Variable assignment lines start start with a space character (\u0020)
are now recognized, but no warning is printed.
In pathnames and pathmasks, the '#' character is allowed, since some
packages need to remove the .#* files from CVS before installing.