enabling runtime argument checking for free (part 3)#492
Merged
grafikrobot merged 6 commits intobfgroup:mainfrom Jan 8, 2026
Merged
enabling runtime argument checking for free (part 3)#492grafikrobot merged 6 commits intobfgroup:mainfrom
grafikrobot merged 6 commits intobfgroup:mainfrom
Conversation
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
This was referenced Jan 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
MATCHbuiltin rule: that isMATCH ( regexps * : list * : unused * ). The documented version omits theunusedparameter. The argument list forECHOtoo is provided.Do not update the
python.jamscript as the extra arguments are now simply ignored. I will update any regexps that need it later.Leave
HDRRULEandNOTIMEas they are. I will remove both with the next PR.GLOB-RECURSIVELYhas became an alias ofGLOB_RECURSIVELY; still undocumented. I Switched all internal uses of old alias toGLOB_RECURSIVELY.GLOB_RECURSIVELYhasn't been published so far, other than because of its name (which is fine now), perhaps also because it has fewer features thanGLOB(it doesn't handle case with thedowncase-optargument). I think it should be expanded before being published.