On the bug tracking system ther's a debate about a couple of glitches
Jeff Lawson
found in Rivet. One of them spurred the idea of extending the 'makeurl'
command
to make it a bit more flexible.
In my view the command should be accepting a variable number of
arguments
and be able to process the to build a complete URL
puts [makeurl a b c d]
=> http://myhost[:port]/a/b/c/d
makeurl should also check for a '?' in the variable length list and
treat
elements past this element (if existing) as a even length sublist from
which pairs of <parameters>-<values> can be built
puts [makeurl a b c ? arg1 val1 arg2 val2 ...]
Jeff is leaning towards the idea that makeurl should resolve relative
paths using
the SCRIPT_NAME environment variable to create fully qualified URLs to
be used
outside the context of a page referer (browsers resolve quite well
relative paths
on their own)
Another issue came from the scope resolution chosen for the commands
'load_env' and 'load_headers' which accept an array name as argument.
CUrrently the scope resolution is determined by the TCL_NAMESPACE_ONLY
flag in Tcl_ObjSetVar2. This flag rules out the possibility of creating
the array within the local variables of a procedure. Even though
creating and the destroying a whole array in a procedure call implies
some
overhead we don't see why it shouldn't be possible, so I provided a
patch
for rivetCore.c and TclWebapache.c that reset the flags to normal scope
resolution. We are testing it and patches are available on Bugzilla
thank you Jeff for having resumed Bugzilla as a way to document bugs,
it's
something we could benefit from. Good idea.
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org