summaryrefslogtreecommitdiffstats
path: root/win/README.binary
diff options
context:
space:
mode:
Diffstat (limited to 'win/README.binary')
-rw-r--r--win/README.binary345
1 files changed, 54 insertions, 291 deletions
diff --git a/win/README.binary b/win/README.binary
index 8a181f3..64d2fa0 100644
--- a/win/README.binary
+++ b/win/README.binary
@@ -1,40 +1,47 @@
Tcl/Tk 8.1 for Windows, Binary Distribution
-RCS: @(#) $Id: README.binary,v 1.5 1999/04/21 21:50:33 rjohnson Exp $
+RCS: @(#) $Id: README.binary,v 1.6 1999/04/24 01:46:54 stanton Exp $
1. Introduction
---------------
This directory contains the binary distribution of Tcl/Tk 8.1.0 for
Windows. It was compiled with Microsoft Visual C++ 5.0 using Win32
-API, so that it will run under Windows NT and Windows 95. The
-information here corresponds to the first release of 8.1.
+API, so that it will run under Windows NT, Windows 95, and Windows 98.
+
+Tcl provides a powerful platform for creating integration applications
+that tie together diverse applications, protocols, devices, and
+frameworks. When paired with the Tk toolkit, Tcl provides the fastest
+and most powerful way to create GUI applications that run on PCs, Unix,
+and the Macintosh. Tcl can also be used for a variety of web-related
+tasks and for creating powerful command languages for applications.
+
+Tcl is maintained, enhanced, and distributed freely as a service to the
+Tcl community by Scriptics Corporation.
2. Documentation
----------------
-The best way to get started with Tcl is to read one of the introductory
-books on Tcl:
+The official home for Tcl and Tk on the Web is at:
+ http://www.scriptics.com
+
+The home page for the Tcl/Tk 8.1 release is
+ http://www.scriptics.com/software/8.1.html
- Practical Programming in Tcl and Tk, 2nd Edition, by Brent Welch,
- Prentice-Hall, 1997, ISBN 0-13-616830-2
+Information about new features in Tcl/Tk 8.1 can be found at
+ http://www.scriptics.com/software/whatsnew81.html
- Tcl and the Tk Toolkit, by John Ousterhout,
- Addison-Wesley, 1994, ISBN 0-201-63337-X
+Detailed release notes can be found at
+ http://www.scriptics.com/software/relnotes/tcl8.1
- Exploring Expect, by Don Libes,
- O'Reilly and Associates, 1995, ISBN 1-56592-090-2
+Information about Tcl itself can be found at
+ http://www.scriptics.com/scripting/
-Other books are listed at
-http://www.scriptics.com/resource/doc/books/
-http://www.tclconsortium.org/resources/books.html
+There are many Tcl books on the market. Most are listed at
+ http://www.scriptics.com/resource/doc/books/
-There is also an official home for Tcl and Tk on the Web:
- http://www.scriptics.com
-These Web pages include information about the latest releases, products
-related to Tcl and Tk, reports on bug fixes and porting issues, HTML
-versions of the manual pages, and pointers to many other Tcl/Tk Web
-pages at other sites. Check them out!
+There are notes about compiling Tcl at
+ http://www.scriptics.com/support/howto/compile.html
3. Installation
---------------
@@ -49,213 +56,33 @@ We are no longer supporting use of Tcl with 16-bit versions of
Windows. Microsoft has completely dropped support of the Win32s
subsystem.
-4. Summary of changes in Tcl 8.1
---------------------------------
-The most important changes in Tcl 8.1 are summarized below. See
-the README and changes files in the distribution
-for more complete information on what has changed, including both feature
-changes and bug fixes.
-
-Internationalization. Tcl has undergone a major
-revision to support international character sets:
-
-
-All strings in Tcl are now represented in UTF-8 instead of ASCII, so
-that Tcl now supports the full Unicode character set.
-The representation of ASCII characters is unchanged (in UTF-8 anything
-that looks like an ASCII character is an ASCII character), but
-characters with the high-order bit set, such as those in ISO-8859,
-are represented with multi-byte sequences, as are all Unicode
-characters with values greater than 127. This change does not affect
-Tcl scripts but it does affect C code that parses strings.
-Tcl automatically translates between UTF-8 and the normal encoding for
-the platform during interactions with the system.
-
-In Tcl scripts the backslash sequence \u can be used to enter
-16-bit Unicode characters. \o and \x generate
-only 8-bit characters as before.
-
-The fconfigure command now supports a -encoding
-option for specifying the encoding of an open file or socket. Tcl will
-automatically translate between the specified encoding and UTF-8 during
-I/O. See the directory library/encoding to find out what encodings are
-supported (eventually there will be an encoding command
-that makes this information more accessible).
-
-There are several new C APIs that support UTF-8 and various encodings.
-See the manual entry Utf.3 for procedures that
-translate between Unicode and UTF-8 and manipulate UTF-8 strings.
-See Encoding.3 for procedures that create new encodings and
-translate between encodings. See ToUpper.3 for procedures
-that perform case conversions on UTF-8 strings.
-
-Binary data. Binary data is handled differently in Tcl 8.1 than in
-Tcl 8.0. Tcl 8.1 uses the UTF-8 facilities to represent binary data:
-the character value zero is represented with a multi-byte sequence, so
-that (once again) strings in Tcl 8.1 never contain null bytes. This
-means that binary data is now accepted everywhere in Tcl and Tk (in
-Tcl 8.0 the support for binary data was incomplete). If you have C
-code that needs to manipulate the bytes of binary data (as opposed to
-just passing the data through) you should use a new object type called
-"byte array". See the manual entry ByteArrObj.3 for information about
-procedures such as Tcl_GetByteArrayFromObj.
-
-New regular expressions. Tcl 8.1 contains a brand new implementation
-of regular expressions from Henry Spencer. This new version supports
-almost all of the Perl extensions and it also handles UTF-8 and binary
-data.
-
-Multi-Threading. Tcl 8.1 is multi-thread safe. Each thread can
-contain several Tcl interpreters, but a given interpreter can not be
-accessed from more than one thread. Each thread runs its own event
-loop, and you can post events to other threads. There is not yet
-support for tcl level use of threading except for a test
-command. (Compile tcltest and try testthread.) Tk 8.1 is not yet
-multi-thread safe, and may never be due to limitations of Xlib.
-
-
-What's new in Tk 8.1
-
-The most important changes in Tk 8.1 are summarized below. See the
-README and changes files in the distribution for more complete
-information on what has changed, including both feature changes and
-bug fixes.
-
-1. Internationalization. Tk has undergone a major overhaul to support
-the new internationalization features of Tcl. The font package has
-been rewritten to support arbitrary Unicode characters; when you
-specify a particular font such as "Times 12" Tk may actually use
-additional fonts to display Unicode characters that don't exist in the
-font you chose. Tk guarantees to find a way to display any Unicode
-character regardless of the font you selected, as long as there is
-some font in the system that contains the Unicode character. The
-input method support in Tk has also been modified to support full
-Unicode characters.
-
-2. Send/DDE support. The send command now works on Windows platforms.
-It is implemented using DDE and there is a new dde command that allows
-Tk applications to use DDE to communicate with other Windows
-applications. send still doesn't work on the Macintosh.
-
-3. Configuration options. There is a new library of C procedures for
-manipulating widget configuration options using Tcl_Objs instead of
-strings. This should eventually make Tk much more efficient. Label,
-button, checkbutton, radiobutton, and menu widgets have been modified
-to use the new library. See SetOptions.3 for information on the new C
-APIs.
-
-4. More Tcl_Obj support. Several additional C library procedures have
-been added to support Tcl_Objs. See the manual entries 3DBorder.3,
-GetAnchor.3, GetBitmap.3, GetColor.3, GetCursor.3, GetFont.3,
-GetJustify.3, and GetPixels.3.
-
-Incompatibilities
-
-Although the 8.1 releases involve substantial changes to the
-implementation of Tcl and Tk, the changes should introduce few
-if any compatibility problems for Tcl scripts or extensions. Here
-are the compatibility problems that we know of:
-
-The changes to the regular expression package required a few minor
-syntax changes in order to support all the new features:
-
-- Backslash inside brackets is an escape whereas before it was a
- literal character. To specify a literal \ in brackets you must
- write \\.
-
-- Some escapes, such as \d, \s, and \w, now mean special things in a
- bracket expression. Other escapes , such as \D, \S, \W, \A and \Z,
- are illegal.
-
-- A { followed by a digit will no longer match those two characters.
- Instead, it will start a bound. Such sequences should be rare and
- will often result in an error because the following characters will
- not look like a valid bound.
-
-- Backslash followed by an alphanumeric character is either an escape
- or an error. Several of the new escapes were treated as literal
- characters in earlier versions of Tcl.
-
-- The matching order has changed slightly. Here is an explanation
- from Henry Spencer:
-
- Both the old package and the new package find the match that starts
- earliest in the string. Where things get tricky is when there is more
- than one possible match starting at that point, different in either
- length or internal details (that is, which subexpressions match where).
-
- The old package examines possible matches in a complex but well-defined
- order, and simply reports the first one it finds. The new package
- examines all possible matches simultaneously, and reports the longest.
- For example, (week|wee)(night|knights) matches all of "weeknights".
-
- When two possible matches are of the same length, priority is decided
- based on getting the longest possible matches for early subexpressions,
- with later subexpressions accepting whatever they can get. This means
- that either (wee|week)(kly|ly) or (week*)(k?ly) matches "weekly" as
- week-ly, not wee-kly. More subtly, when .*|a.c matches "abc", the .*
- matches the whole string and the a.c doesn't even get a chance to
- participate.
-
- When non-greedy quantifiers are used, things get more complicated. If
- all quantifiers in a regular expression are non-greedy, the exact same
- rules apply except with "longest" replaced by "shortest" everywhere.
- When greedy and non-greedy quantifiers are mixed, it's complicated and
- difficult to explain.
-
-Known Problems With These Releases
-
-Both the internationalization support and the new regular expression
-package are large, complicated, and young, which means there are
-likely to be lots of bugs. We need your help in finding and fixing
-problems. This is particularly important for internationalization,
-since we don't have the right equipment or knowledge to test
-under very many conditions. Here are some of the most glaring bugs
-or missing features that we know of:
-
-- We haven't been able to test input methods in Tk under Unix to be
- sure that the full Unicode character set is being substituted
- properly in %A substitutions. This means that it probably doesn't
- work. We have been able to test under Windows and the Macintosh.
-
-- In Tk, PostScript generation does not work correctly for characters
- outside the ASCII subset.
-
-- The threading for Tcl is brand new so there are likely to be bugs,
- although it is based on early work done by Richard Hipp. We have
- done some testing on a multiprocessor Solaris machine, but none on
- Windows or other flavors of UNIX on a multiprocessor.
-
-6. Known Bugs/Missing Features
-------------------------------
-
-- Clock command fails to handle daylight savings time boundaries for
- things like "last week".
-- Background processes aren't properly detached on NT.
-- File events only work on sockets and pipes.
-- Files/console/serial ports don't support nonblocking I/O.
-- There is no support for custom cursors/application icons. The core
- set of X cursors is supported, although you cannot change their color.
-- Stippling of arcs isn't implemented yet.
-- Some "wm" functions don't map to Windows and aren't implemented;
- others should map, but just aren't implemented. The worst offenders
- are the icon manipulation routines.
-- Color management on some displays doesn't work properly resulting in
- Tk switching to monochrome mode.
-- Tk seems to fail to draw anything on some Matrox Millenium cards.
-- Printing does not work for images (e.g. GIF) on a canvas.
-- Tk_dialog appears in the upper left corner. This is a symptom of a
- larger problem with "wm geometry" when applied to unmapped or
- iconified windows.
-- PPM images are using the wrong translation mode for writing to
- files, resulting in CR/LF terminated PPM files.
-- Tk crashes if the display depth changes while it is running. Tk
- also doesn't consistently track changes in the system colors.
-
-There may be more that we don't know about, so be sure to submit bug
-reports when you run into problems. If you have comments or bug
-reports for the Windows version of Tcl, please use our on-line bug
-form at:
+4. Linking against the binary release
+--------------------------------------
+
+In order to link your applications against the .dll files shipped with
+this release, you will need to use the appropriate .lib file for your
+compiler. In the lib directory of the installation directory, there
+are library files for the Microsoft Visual C++ compiler:
+
+ tcl81.lib
+ tk81.lib
+
+5. Building dynamically loadable extensions
+--------------------------------------------
+
+Please refer to the example dynamically loadable extension provided on
+our ftp site:
+
+ ftp://ftp.scriptics.com/pub/tcl/misc/example.zip
+
+This archive contains a template that you can use for building
+extensions that will be loadable on Unix, Windows, and Macintosh
+systems.
+
+6. Reporting Bugs
+-----------------
+If you have comments or bug reports for the Windows version of Tcl,
+please use our on-line bug form at:
http://www.scriptics.com/support/bugForm.html
@@ -320,68 +147,4 @@ subscribing put the line:
in the body instead (or wintcl).
-11. Tcl version numbers
-----------------------
-
-Each Tcl release is identified by two numbers separated by a dot, e.g.
-6.7 or 7.0. If a new release contains changes that are likely to break
-existing C code or Tcl scripts then the major release number increments
-and the minor number resets to zero: 6.0, 7.0, etc. If a new release
-contains only bug fixes and compatible changes, then the minor number
-increments without changing the major number, e.g. 7.1, 7.2, etc. If
-you have C code or Tcl scripts that work with release X.Y, then they
-should also work with any release X.Z as long as Z > Y.
-
-Alpha and beta releases have an additional suffix of the form b1 or b1.
-For example, Tcl 7.0b1 is the first beta release of Tcl version 7.0,
-Tcl 7.0b2 is the second beta release, and so on. A beta release is an
-initial version of a new release, used to fix bugs and bad features before
-declaring the release stable. An alpha release is like a beta release,
-except it's likely to need even more work before it's "ready for prime
-time". New releases are normally preceded by one or more alpha and beta
-releases. We hope that lots of people will try out the alpha and beta
-releases and report problems. We'll make new alpha/beta releases to fix
-the problems, until eventually there is a beta release that appears to
-be stable. Once this occurs we'll make the final release.
-
-We can't promise to maintain compatibility among alpha and beta releases.
-For example, release 7.1b2 may not be backward compatible with 7.1b1, even
-though the final 7.1 release will be backward compatible with 7.0. This
-allows us to change new features as we find problems during beta testing.
-We'll try to minimize incompatibilities between beta releases, but if
-a major problem turns up then we'll fix it even if it introduces an
-incompatibility. Once the official release is made then there won't
-be any more incompatibilities until the next release with a new major
-version number.
-
-Patch releases have a suffix such as p1 or p2. These releases contain
-bug fixes only. A patch release (e.g Tcl 7.6p2) should be completely
-compatible with the base release from which it is derived (e.g. Tcl
-7.6), and you should normally use the highest available patch release.
-
-As of 8.0.3, the patch releases use a second . instead of 'p'. So, the
-8.0 release went to 8.0p1, 8.0p2, and 8.0.3. The alphas and betas will
-still use the 'a' and 'b' letters in their tcl_patchLevel.
-
-12. Linking against the binary release
---------------------------------------
-
-In order to link your applications against the .dll files shipped with
-this release, you will need to use the appropriate .lib file for your
-compiler. In the lib directory of the installation directory, there
-are library files for the Microsoft Visual C++ compiler:
-
- tcl81.lib
- tk81.lib
-
-13. Building dynamically loadable extensions
---------------------------------------------
-
-Please refer to the example dynamically loadable extension provided on
-our ftp site:
-
- ftp://ftp.scriptics.com/pub/tcl/misc/example.zip
-This archive contains a template that you can use for building
-extensions that will be loadable on Unix, Windows, and Macintosh
-systems.