Scripts: an error in code an earlier #targetengine run compiled names that run's file and line

A function an earlier run of a named engine defined was reported without
a line, column or file when it threw in a later run. The realm now gives
each source a tag that stays the same from run to run (Realm::error_tag,
Realm::script_tag), and no two sources share one once the tags run out.
Each named engine keeps the source maps of its runs' scripts, included
files and $.evalFile files, within 8 MiB, dropping the oldest first, and
an error in kept code is reported at that file, line and column. The
report's name and the console line keep the calling run's name. For an
earlier script given as source, file is that run's name.

Docs: docs/mcp.md (Script engines), script.run params text,
docs/target-app-parity.md.
This commit is contained in:
dotCooCoo
2026-11-12 00:39:41 -08:00
parent eb608bb8b5
commit 044c8047f6
9 changed files with 335 additions and 39 deletions
File diff suppressed because one or more lines are too long