This was discussed on comp.lang.tcl in 2014 Simple fix in last post of thread https://groups.google.com/g/comp.lang.tcl/c/ov4bq__nEfM
Is someone looking into this yet?
The fix for 8.6.x is trivial (note that this below does not 'check' for 8.6.x first): --- tclhttpd3.5.1/lib/config.tcl.orig 2000-08-02 03:06:52.000000000 -0400 +++ tclhttpd3.5.1/lib/config.tcl 2016-06-05 14:51:18.000000000 -0400 @@ -52,6 +52,9 @@ set i [interp create -safe] interp expose $i file + foreach subcommand {isdirectory exists dirname} { + interp alias $i ::tcl::file::$subcommand {} file $subcommand + } # Create the slave's Config array, then source the config script
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d3d311b045cc0dc9a10f76f65a77a508b5dc4f63 commit d3d311b045cc0dc9a10f76f65a77a508b5dc4f63 Author: Mikhail Teterin <mi@FreeBSD.org> AuthorDate: 2021-10-23 03:25:14 +0000 Commit: Mikhail Teterin <mi@FreeBSD.org> CommitDate: 2021-10-23 03:25:14 +0000 www/tclhttpd: Add a patch to work with newer Tcl (8.6+) The subcommands of file(n) aren't available in safe interpreters. Bump PORTREVISION. PR: 259053 Submitted by: Peter Dean www/tclhttpd/Makefile | 2 +- www/tclhttpd/files/patch-lib__config.tcl (new) | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-)