Hello All - I think is considered a must-have upgrade on modules-3.0rko.
It wasn't easy, but I managed to update modules to compile with
Tcl 8.2.x! The modules-3.0beta code, for reasons I don't know, used
the Tcl low-level regexp & glob code. This is why it required that
the Tcl header files tclRegExp.h & tclInt.h to be made available for
the modules compilation. This was never comfortable for me.
Anyways, I rewrote all the regexp calls to use a higher level Tcl
routines. The downside is that there may be (are) defects that need to
be exorcized. It passes all the established tests. The upside
is that it's now largely independent of Tcl version. (I checked
the Tcl 7.5 sources and it should work with them, but I couldn't
build the Tcl 7.5 libraries on my system to test this assertion.)
And it no longer requires tclRegExp.h & tclInt.h.
I've incorporated helpful suggestions (code patches), and also fixed
a Y2K problem in --long listings.
Here's the relevant ChangeLog entry:
* Rewrote a lot of the calls to low level Tcl RegExp
routines, which required direct access to the tclRegExp.h
header file.
Used higher level Tcl routines to accomplish the same.
The net result is that modules should be configurable under
any version of Tcl > 7.4 (not tested).
* Rewrote a reference to a low level Tcl glob routine, which
required direct access to the tclInt.h header file.
Used the $HOME environment instead.
* Mean-time hack to support multiple subdirectories for the
"avail" option.
* Fixed the long listings to be Y2K OK.
* Added a version option to print out the module version ...
for future automated scripting.
* Some documentation clean-up.
* Removed all references to PARSEABLE_ERRORS in config.h
and configuration ... since it's not used at all.
* Modified init files because some systems treat undefined
variables in sh/ksh/bash/zsh as errors and terminates login
process (Thanks to Martin Jost).
* Modified Tcl_HashTable declaration initialization to
assignment, because some ANSI C compilers complain
(Thanks to Martin Jost).
To download the code anonymous ftp to metalab.unc.edu in /incoming/Linux
for now and /pub/Linux/utils/shell/ in a couple of days. Or go to
ftp.scruz.net in /users/rkowen/public/modules/ .
I welcome suggestions and treasure code patches. "Code talks ... everything
else walks."
R.K.
+-----------------------+----------------------------------+
| R.K.Owen,PhD | rk...@ow... |
| KooZ Software | |
| NERSC/LBNL | rk...@ne... (510)486-7556 |
+-----------------------+----------------------------------+
|