-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
202 lines (136 loc) · 6.55 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
Extended Tcl (TclX) 8.4.1
=========================
INTRODUCTION
============
Extended Tcl (TclX), is an extension to Tcl, the Tool Command Language
invented by Dr. John Ousterhout. Tcl is a powerful, yet simple embeddable
programming language. Extended Tcl is oriented towards system programming
tasks and large application development. TclX provides additional
interfaces to the operating system, and adds many new programming
constructs, text manipulation tools, and debugging tools.
TclX is upwardly compatible with Tcl. You take the Extended Tcl package,
add it to Tcl, and from that you get Extended Tcl. Tcl can be obtained at
http://www.tcl.tk/ or http://tcl.sourceforge.net/
Extended Tcl runs on most Unix-like systems and Windows.
While this TclX distribution is tested with Tcl 8.4 and Tk 8.4, it should
with Tcl 8.3+. Please check the Extended Tcl homepage at
http://tclx.sourceforge.net/
for the latest release and information.
Extended Tcl was designed and implemented by Karl Lehenbauer
([email protected]) and Mark Diekhans ([email protected]), with help in
the earliest stages from Peter da Silva ([email protected]). TclX 8.4
work was done by Jeff Hobbs at ActiveState.
TclX 8.4 differs from its predecessors in that it is based more on the
idea of TclX as an extension to Tcl, and not an alternate environment.
There is no TkX and no stand-alone shells are built.
As with Tcl, all of Extended Tcl is freely redistributable, including for
commercial use and resale (BSD-style license).
BUILDING AND INSTALLING TCLX
============================
1. Uncompress and unpack the distribution
ON UNIX/MAC:
gzip -cd tclx<version>.tar.gz | tar xf -
ON WINDOWS:
use something like WinZip to unpack the archive.
This will create a subdirectory tclx<version> with all the files in it.
2. Configure
ON UNIX/MAC:
cd tclx<version>
./configure
TclX is TEA-based and uses information left in tclConfig.sh when you
built tcl. This file will be found in $exec_prefix/lib/. You might set
the --prefix and --exec-prefix options of configure if you don't want
the default (/usr/local). If building on multiple unix platforms, the
following is recommended to isolate build conflicts:
mkdir <builddir>/<platform>
cd !$
/path/to/tclx<version>/configure
ON WINDOWS:
TclX supports building in the cygwin/msys environment on Windows based
on TEA (http://www.tcl.tk/doc/tea/). Inside this environment, you build
the same as on Unix.
Otherwise, hack makefile.vc until it works and compile. It was not
updated for TclX 8.4. It has problems executing wish from a path with a
space in it, but the DLL builds just fine.
3. Make and Install
ON UNIX/MAC or WINDOWS with cygwin/msys:
make
make test (OPTIONAL)
make install
ON WINDOWS (makefile.vc):
nmake -f makefile.vc
nmake -f makefile.vc test (OPTIONAL)
nmake -f makefile.vc install
TclX is built to comply to the latest tcl package conventions.
CHANGES IN TCLX 8.4
===================
o Restructure of the sources and build system
o Removal of TkX extension
FEATURES ADDED BY EXTENDED TCL
==============================
Here is a summary of the features added by Extended Tcl. For more details
on the commands and functionality provided by Extended Tcl, see the manual
page man/TclX.man.
o Keyed lists, a type of list that provides functionality
similar to C structures.
o A command tracing facility for debugging and a performance profiler.
o Unix access commands provide access to many Unix system calls,
including process management.
o File control and status commands provide added facilities for
accessing and manipulating open files.
o File scanning facility that provides awk-like functionality.
o Extended list manipulation commands.
o Extended string and character manipulation commands.
o X/PG based internationalization commands.
o Advanced Tcl code library facility that is oriented towards building
large applications. It is compatible with standard Tcl auto-loading.
o Additional general programming commands.
o Restricted use in a safe interpreter.
o Support for binary data in most commands.
MANUAL PAGES
============
Man pages in nroff/troff format are provided for all of Tcl and the
extensions in the doc directory. Start with the TclX.n manual.
EXTENDED TCL VERSION NAMING
===========================
Extended Tcl version numbering has been changed to track the Tcl/Tk version
numbering roughly.
LINKING APPLICATIONS AND EXTENSION WITH TCLX
============================================
There are three basic approaches to linking TclX into applications or with
other extensions:
o Dynamically load the C code using either 'package require' or
the 'load' command.
o Linking TclX into an application based on the standard Tcl or Tk
shells (tclsh or wish) or based on your own startup.
See the TclX_Init.3 manual page for more details. The pkg_mkIndex does not
generate a pkgIndex.tcl file that works with TclX. See TclX_Init.3 for
instructions on how to setup a pkgIndex.tcl file for use with the package
require command. There is no need to dynamically load libtkx, its only
there to support wishx and applications that want wishx's signal handling.
TclX will build and install a pkgIndex.tcl that will be automatically found
by Tcl if TclX is installed in the same location.
SUPPORT FOR EXTENDED TCL
========================
We are committed to providing continuing support for Extended Tcl.
Please send questions, bug reports, and bug fixes to:
http://tclx.sourceforge.net/
Use news:comp.lang.tcl for discussion about TclX development.
WHERE TO GET IT
===============
Extended Tcl can be downloaded from the SF TclX release files area:
http://tclx.sourceforge.net/
Refer to the above site for bug database and other support forums.
THANKS
======
A big thanks to all of the Extended Tcl users from all over the world who
have helped us debug problems and given us valuable suggestions. A special
thanks to John Ousterhout, his students at Berkeley, and (more recently)
his teams at Sun Microsystems and Scriptics, for Tcl, Tk and all the
support they have given us.
Thanks to Michael E. Shorter <[email protected]>, Christopher M. Sedore
<[email protected]>, Philip Chow <[email protected]>, and
Kirk Benson <[email protected]> for their initial work on porting TclX
to MS Windows.
Thanks to Jan Nijtmans <[email protected]> of Plus Patch fame for helping
to get shared library support working for several system.