Skip to content

Performance tuning review#3

Merged
alexskinner merged 2 commits into
mainfrom
performance-tuning-review
Apr 28, 2026
Merged

Performance tuning review#3
alexskinner merged 2 commits into
mainfrom
performance-tuning-review

Conversation

@alexskinner
Copy link
Copy Markdown
Contributor

No description provided.

Top-level function declarations in a .cfm template are now visible
from anywhere in the template, regardless of textual order. Each
top-level FunctionDecl is emitted once at program start (so forward
references resolve) and re-emitted at its original textual position
so the closure-env sync still snapshots the locals visible at decl
time, preserving existing scope-capture semantics.

Fixes the Taffy dashboard `getDocUrl is undefined` failure.
`<cfinclude template="../foo.cfm">` previously failed with
`Cannot read 'src/dir/../foo.cfm'` because the resolver joined paths
without collapsing `..` and `.` segments. Adds a lexical
`normalize_path` (no filesystem I/O, no symlink resolution) wired into
both Include and IncludeDynamic.

Fixes the Taffy `examples/api_empty/` 500.
@alexskinner alexskinner merged commit 5e80c30 into main Apr 28, 2026
@alexskinner alexskinner deleted the performance-tuning-review branch April 28, 2026 18:43
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.

1 participant