diff --git a/CHANGELOG.md b/CHANGELOG.md index abac9f8e..6d0448a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ The latest `## [X.Y.Z]` header must match the `version` field in `punkproject.to Entries are newest-first; one bullet per notable change. See the root `AGENTS.md` "Project Versioning" section for the bump policy. +## [0.49.1] - 2026-08-03 + +- punk::libunknown 0.2.4: deep tm discovery (`register_all_tm`, used by + `dev lib.search`) now skips the G-155 workdirs `_mint` and `_bake` + alongside legacy `_build` in both the directory walk and the tm-file + filter - loose staged `.tm` files in `/_mint` were being + registered as junk `_mint::*` modules. +- punk::tcltestrun 0.3.1 + runtestmodules.tcl: the unbuilt-modpod scan's + subfolder excludes likewise missed the `_build` -> `_mint` staging + rename - staged pods were registered as bogus `*::_mint::*` modules in + test interps; now `-exclude-paths {**/_build/*** **/_mint/***}` (test + tooling - listed for the record, not itself a bump trigger). + ## [0.49.0] - 2026-08-03 - punk::path 0.5.0: `subfolders1` REMOVED (superseded by `subfolders`; diff --git a/punkproject.toml b/punkproject.toml index 2ef57ca9..0e35c292 100644 --- a/punkproject.toml +++ b/punkproject.toml @@ -1,6 +1,6 @@ [project] name = "punkshell" -version = "0.49.0" +version = "0.49.1" license = "BSD-2-Clause" url = "https://www.gitea1.intx.com.au/jn/punkshell" #packager: declared identity for published artifacts (declarative, not proof - diff --git a/src/modules/punk/libunknown-0.2.3.tm b/src/modules/punk/libunknown-0.2.4.tm similarity index 99% rename from src/modules/punk/libunknown-0.2.3.tm rename to src/modules/punk/libunknown-0.2.4.tm index 22a9599b..9debffb8 100644 --- a/src/modules/punk/libunknown-0.2.3.tm +++ b/src/modules/punk/libunknown-0.2.4.tm @@ -7,7 +7,7 @@ # (C) 2025 # # @@ Meta Begin -# Application punk::libunknown 0.2.3 +# Application punk::libunknown 0.2.4 # Meta platform tcl # Meta license MIT # @@ Meta End @@ -18,6 +18,11 @@ # from src/modules/AGENTS.md "Versioning And Releases" - bumping means # renaming the file AND updating the Meta line above, the manpage_begin line # below and the provide-block version, then appending a line here): +#0.2.4 - register_all_tm: skip the G-155 workdirs _mint and _bake alongside +# legacy _build, in both the filesystem directory walk and the tm-file +# filter (the latter also guards the zipfs whole-tree listing) - loose +# staged .tm files in /_mint were being registered as junk +# _mint::* modules by deep discovery #0.2.3 - source_pkgindex: index scripts run in the GLOBAL namespace again (in a # local frame, as 0.2.0 made them). 0.2.0 moved the source into a proc of # THIS namespace, so a pkgIndex.tcl's relative 'namespace eval foo' created @@ -66,7 +71,7 @@ # doctools header # ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ #*** !doctools -#[manpage_begin punkshell_module_punk::libunknown 0 0.2.3] +#[manpage_begin punkshell_module_punk::libunknown 0 0.2.4] #[copyright "2025"] #[titledesc {Module API}] [comment {-- Name section and table of contents description --}] #[moddesc {-}] [comment {-- Description at end of page heading --}] @@ -1319,8 +1324,8 @@ tcl::namespace::eval ::punk::libunknown { Uses and populates the same per-epoch directory index cache as the unknown handlers: for zipfs (static) paths the whole tree listing is gathered in one call; for filesystem paths each directory's *.tm glob is cached per - 'package epoch'. Directories named #modpod-*, #tarjar-* and _build are - skipped. + 'package epoch'. Directories named #modpod-*, #tarjar-* and the + workdirs _mint, _bake and legacy _build are skipped. The scan runs at most once per tm epoch per interp (tracked in the interp-local tm_fullscan variable - deliberately not part of the shareable @@ -1403,7 +1408,7 @@ tcl::namespace::eval ::punk::libunknown { lappend tmfiles {*}$dirfiles foreach sub [glob -nocomplain -directory $current -types d *] { set tail [file tail $sub] - if {[string match "#modpod-*" $tail] || [string match "#tarjar-*" $tail] || $tail eq "_build"} { + if {[string match "#modpod-*" $tail] || [string match "#tarjar-*" $tail] || $tail in {_build _mint _bake}} { continue } lappend pending $sub @@ -1414,7 +1419,7 @@ tcl::namespace::eval ::punk::libunknown { #ifneeded scripts: for tm modules the first encountered 'wins') set strip [llength [file split $path]] foreach file $tmfiles { - if {[string match "*/_build/*" $file]} { + if {[string match "*/_build/*" $file] || [string match "*/_mint/*" $file] || [string match "*/_bake/*" $file]} { continue } incr stat_files @@ -2178,7 +2183,7 @@ namespace eval ::punk::args::register { package provide punk::libunknown [tcl::namespace::eval ::punk::libunknown { variable pkg punk::libunknown variable version - set version 0.2.3 + set version 0.2.4 }] return