Skip to content

Conversation

@paolopas
Copy link
Contributor

@paolopas paolopas commented Jan 7, 2026

Note

Note this PR replaces #487 and ends the work of #486, the code is branched from there, so this one accumulate all the changes.

  • implements the new undocumented argument list of MATCH builtin rule: that is MATCH ( regexps * : list * : unused * ). The documented version omits the unused parameter. The argument list for ECHO too is provided.

  • Do not update the python.jam script as the extra arguments are now simply ignored. I will update any regexps that need it later.

  • Leave HDRRULE and NOTIME as they are. I will remove both with the next PR.

  • GLOB-RECURSIVELY has became an alias of GLOB_RECURSIVELY; still undocumented. I Switched all internal uses of old alias to GLOB_RECURSIVELY. GLOB_RECURSIVELY hasn't been published so far, other than because of its name (which is fine now), perhaps also because it has fewer features than GLOB (it doesn't handle case with the downcase-opt argument). I think it should be expanded before being published.

now available, this when provided is used by the functions
function_bind_variables, function_run, argument_error allowing
the checking of arguments that otherwise cannot happen
ALWAYS, LEAVES, NOCARE, NOTIME, NOTFILE, NOUPDATE,
TEMPORARY, ISFILE, FAIL_EXPECTED, RMOLD
now available; notice that documented signature of MATCH differs
form the actual one for two reasons: 1. the rule allows for 0 regexps
(first param), beacuse that is the way the rule has always worked and
to not break compatibility; 2. a new "unused *" param was added at the
end to emit a warning and skip extra arguments, this also to not break
compatibility (see bfgroup#487)
existing GLOB-RECURSIVELY, which has become an alias and
will not be documented. Switched all uses of old alias to
GLOB_RECURSIVELY, notice that this should also be done into
the source file for doc/src/hljs/highlight.min.js,
highlight.js which is not in this repo.
fixed typo in jamfile.jam,
fixed syntax in §6.2 Builtin rules
fixed escaping of __xyz__ in §6.5.1 modules
fixed escaping of __xyz__ in §6.5.2 class
removed duplicate of error_skip_frames in §6.5.3 errors
fixed word boundaries \< and \> in §6.5.4 regex
fixed typo in  b2::regex_split in §6.5.4 regex
fixed escaping of __xyz__ in §6.6.1 Class abstract-target
fixed escaping of __xyz__ in §6.6.4 Class basic-target
fixed escaping of __xyz__ in §6.6.5 Class typed-target
fixed formatting in §12.2.2 Targets,
fixed formatting in §12.2.3 Rules
fixed formatting in §12.2.4 Built-in Rules
updated MATCH and BACKTRACE in §12.2.4 Built-in Rules
@grafikrobot grafikrobot merged commit a16fd86 into bfgroup:main Jan 8, 2026
109 of 110 checks passed
@paolopas paolopas deleted the builtins-3 branch January 8, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants