Browse Source

make.tcl projectversion: escape [X.Y.Z] in warning messages

The version-mismatch and missing-header warning branches interpolated the
literal [X.Y.Z] inside double-quoted puts strings, so Tcl attempted command
substitution and the check died with `invalid command name "X.Y.Z"` the
first time a warning branch actually fired (surfaced by a manual
projectversion check during the 0.4.2 bump, whose CHANGELOG entry was
missing at the time). Brackets now backslash-escaped. Layout copies of
make.tcl synced by the project build included.

Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
Julian Noble 1 week ago
parent
commit
c98bb5b56e
  1. 4
      src/make.tcl
  2. 4
      src/project_layouts/custom/_project/punk.basic/src/make.tcl
  3. 4
      src/project_layouts/custom/_project/punk.project-0.1/src/make.tcl
  4. 4
      src/project_layouts/custom/_project/punk.shell-0.1/src/make.tcl

4
src/make.tcl

@ -1848,10 +1848,10 @@ if {$::punkboot::command eq "projectversion"} {
if {![string length $pp_version]} {
puts stderr "WARNING: could not read version from $pp_file"
} elseif {![string length $cl_version]} {
puts stderr "WARNING: no '## [X.Y.Z]' version header found in $cl_file"
puts stderr "WARNING: no '## \[X.Y.Z\]' version header found in $cl_file"
} elseif {$pp_version ne $cl_version} {
puts stderr "WARNING: version mismatch punkproject.toml=$pp_version but CHANGELOG.md=$cl_version"
puts stderr " The latest '## [X.Y.Z]' header in CHANGELOG.md must match the version in punkproject.toml."
puts stderr " The latest '## \[X.Y.Z\]' header in CHANGELOG.md must match the version in punkproject.toml."
} else {
puts stdout "consistency: OK (versions match)"
}

4
src/project_layouts/custom/_project/punk.basic/src/make.tcl

@ -1848,10 +1848,10 @@ if {$::punkboot::command eq "projectversion"} {
if {![string length $pp_version]} {
puts stderr "WARNING: could not read version from $pp_file"
} elseif {![string length $cl_version]} {
puts stderr "WARNING: no '## [X.Y.Z]' version header found in $cl_file"
puts stderr "WARNING: no '## \[X.Y.Z\]' version header found in $cl_file"
} elseif {$pp_version ne $cl_version} {
puts stderr "WARNING: version mismatch punkproject.toml=$pp_version but CHANGELOG.md=$cl_version"
puts stderr " The latest '## [X.Y.Z]' header in CHANGELOG.md must match the version in punkproject.toml."
puts stderr " The latest '## \[X.Y.Z\]' header in CHANGELOG.md must match the version in punkproject.toml."
} else {
puts stdout "consistency: OK (versions match)"
}

4
src/project_layouts/custom/_project/punk.project-0.1/src/make.tcl

@ -1848,10 +1848,10 @@ if {$::punkboot::command eq "projectversion"} {
if {![string length $pp_version]} {
puts stderr "WARNING: could not read version from $pp_file"
} elseif {![string length $cl_version]} {
puts stderr "WARNING: no '## [X.Y.Z]' version header found in $cl_file"
puts stderr "WARNING: no '## \[X.Y.Z\]' version header found in $cl_file"
} elseif {$pp_version ne $cl_version} {
puts stderr "WARNING: version mismatch punkproject.toml=$pp_version but CHANGELOG.md=$cl_version"
puts stderr " The latest '## [X.Y.Z]' header in CHANGELOG.md must match the version in punkproject.toml."
puts stderr " The latest '## \[X.Y.Z\]' header in CHANGELOG.md must match the version in punkproject.toml."
} else {
puts stdout "consistency: OK (versions match)"
}

4
src/project_layouts/custom/_project/punk.shell-0.1/src/make.tcl

@ -1848,10 +1848,10 @@ if {$::punkboot::command eq "projectversion"} {
if {![string length $pp_version]} {
puts stderr "WARNING: could not read version from $pp_file"
} elseif {![string length $cl_version]} {
puts stderr "WARNING: no '## [X.Y.Z]' version header found in $cl_file"
puts stderr "WARNING: no '## \[X.Y.Z\]' version header found in $cl_file"
} elseif {$pp_version ne $cl_version} {
puts stderr "WARNING: version mismatch punkproject.toml=$pp_version but CHANGELOG.md=$cl_version"
puts stderr " The latest '## [X.Y.Z]' header in CHANGELOG.md must match the version in punkproject.toml."
puts stderr " The latest '## \[X.Y.Z\]' header in CHANGELOG.md must match the version in punkproject.toml."
} else {
puts stdout "consistency: OK (versions match)"
}

Loading…
Cancel
Save