archie/tcl7.6/mac/README

208 lines
7.5 KiB
Plaintext
Raw Permalink Normal View History

2024-05-27 16:40:40 +02:00
Tcl 7.6 for Macintosh
by Ray Johnson
Sun Microsystems Laboratories
rjohnson@eng.sun.com
SCCS: @(#) README 1.17 96/10/07 14:00:05
1. Introduction
---------------
This is the README file for the Macintosh version of the Tcl
scripting language. The file consists of information specific
to the Macintosh version of Tcl. For more general information
please read the README file in the main Tcl directory.
2. What's new?
--------------
There are several new features in Tcl 7.6. The most important
are the new file manipulation commands. These are subcommands
to the file command and include "delete", "rename", "copy", and
"mkdir". These should be used over the old "rm", "rmdir", "mkdir",
and "cp" commands. The older commands will eventually be removed
(they currently contain known bugs.)
In addition, a new memory allocator has been added to the Mac
version of Tcl. This allocator is much faster than the one shipped
by MetroWerks (which is much faster than calling NewPtr directly).
Having our own allocator will also allow us to have a little more
control over memory useage. More work still needs to be done in
this area - but the goal is to work around the fixed application
partition imposed by the MacOS. The result will be less crashes
of your Tcl applications. I hope you notice a difference.
There is also a new command called "resource". This command should
be considered "alpha" software. It mostly works but will be
enhanced in the future. Backwards compatability will probably not
be maintained. However, I think you will find it very usefull.
Unfortunantly, the command doesn't currently have documentation -
but you should be able to use the error messages to get an idea
of what it does.
Aside from bugs in the resource command, I know of no outstanding
bugs in the Tcl core for the Macintosh. (I'm not saying there are
none - just that I don't know about them!) Please let me know what
bugs you find. Also, I welcome any feedback on how to improve the
feature set, the integration with the Mac OS, or the distribution.
3. The Distribution
-------------------
Macintosh Tcl is distributed in three different forms. This
should make it easier to only download what you need. The
packages are as follows:
mactk4.2.sea.hqx
This distribution is a "binary" only release. It contains an
installer program that will install a 68k, PowerPC, or Fat
version of the "Tcl Shell" and "Wish" applications. In addition,
it installs the Tcl & Tk libraries in the Extensions folder inside
your System Folder. (These are just text files - no inits are
installed.)
mactcltk-full-4.2.sea.hqx
This release contains the full release of Tcl and Tk for the
Macintosh plus the More Files packages which Macintosh Tcl and Tk
rely on.
mactcl-source-7.6.sea.hqx
This release contains the complete source for Tcl 7.6. In
addition, Metrowerks CodeWarrior libraries and project files
are included. However, you must already have the More Files
package to compile this code.
4. Documentation
----------------
The "html" subdirectory contains reference documentation in
in the HTML format. You may also find these pages at:
http://www.smli.com/research/tcl/man/
Other documentation and sample Tcl scripts can be found at
the Tcl ftp site:
ftp://ftp.neosoft.com/tcl/
The internet news group comp.lang.tcl is also a valuable
source of information about Tcl. A mailing list is also
available (see below).
5. Compiling Tcl
----------------
In order to compile Macintosh Tcl you must have the
following items:
CodeWarrior Release 8 or higher (newer is better)
Mac Tcl 7.6 (source)
More Files 1.4.3
The project files included with the Mac Tcl source should work
fine. The only thing you may need to update are the access paths.
Unfortunantly, it's somewhat common for the project files to become
slightly corrupted. The most common problem is that the "Prefix file"
found in the "C/C++ Preference" panel is incorrect. This should be
set to MW_TclHeaderPPC or MW_TclHeader68K.
Special notes:
* Problem with dnr.c. You will also need to modify the file dnr.c
which is supplied by MetroWerks and included by the Mac Tcl project
files. This file uses C++ style comments which will not compile
because the supplied project files have the "Strict ANSI" option
set. The best thing to do is simply change the C++ style comments
into standard ANSI comment blocks. You should also send a bug
report to MetroWerks so they will fix this stupid problem.
* There is a small bug in More Files 1.4.3. Look in the file named
morefiles.doc for more details.
* You may not have the libmoto library which will cause a compile
error. Look at the file libmoto.doc for more details.
* Check out the file bugs.doc for information about known bugs.
6. Environment Variables
------------------------
Environment variables may be added to the system via three different
mechanisms. The first is automatic inclusion of system variables. These
variables include things like the system folder path. These variables are
determined at startup time (for the interpreter) but are not changed if
the system changes. The following environment variables are created via
this method:
LOGIN - holds the Chooser name of the Macintosh
USER - also holds the Chooser name of the Macintosh
SYS_FOLDER - path to the system directory
APPLE_M_FOLDER - path to the Apple Menu directory
CP_FOLDER - path to the control panels directory
DESK_FOLDER - path to the desk top directory
EXT_FOLDER - path to the system extensions directory
PREF_FOLDER - path to the preferences directory
PRINT_MON_FOLDER - path to the print monitor directory
SHARED_TRASH_FOLDER - path to the network trash directory
TRASH_FOLDER - path to the trash directory
START_UP_FOLDER - path to the start up directory
PWD - path to the application's default directory
Environment variables may also be placed in a file. A file named
"Tcl Environment Variables" may be placed in the preferences folder.
Each line of this file should be of the form "VAR_NAME=var_data".
For example,
PRINTER=Joe's LW
TCLLIBPATH=Lozoya:System Folder:Tcl Lib
The last alternative is to place environment variables in a 'STR#'
resource named "Tcl Environment Variables" of the application. This is
considered a little more "Mac like" than a Unix style Environment
Variable file. Each entry in the 'STR#' resource has the same format
as above. The source code file "tclMacEnv.c" contains the
implementation of the env mechanisms. This file contains many
#define's that allow customization of the env mechanisms to fit your
applications needs.
7. Macintosh Tcl Mailing List
-----------------------------
A Mailing List has been set up to discuss Macintosh related Tcl issues
including (but not limited to) MacTcl. In order to use this Mailing
List you must have access to the internet. If you have access to the
WWW the home page for this mailing list is located at the following
URL:
http://www.smli.com/research/tcl/lists/mactcl-list.html
The home page contains information about the list and an HTML archive
of all the past messages on the list. To subscribe send a message to:
listserv@sunlabs.sun.com
In the body of the message (the subject will be ignored) put:
subscribe mactcl Joe Blow
Replacing Joe Blow with your real name, of course. If you would just
like to receive more information about the list without subscribing
but the line:
information mactcl
in the body instead.
If you have comments or Bug reports send them to:
Ray Johnson
rjohnson@eng.sun.com