Subject: CVS commit: pkgsrc
To: None <source-changes@netbsd.org>
From: Jim Wise <jwise@netbsd.org>
List: source-changes
Date: 08/24/2000 22:53:36
Module Name:	pkgsrc
Committed By:	jwise
Date:		Thu Aug 24 19:53:36 UTC 2000

Update of /cvsroot/pkgsrc/lang/tcl
In directory netbsd.hut.fi:/tmp/cvs-serv3395

Log Message:
Initial import of new pkgsrc/lang/tcl (tcl-8.3.2) package, partly derived
from the older pkgsrc/lang/tcl-8.0.5.

This is an update of the tcl package from version 8.0.5 to version 8.3.2,
and also a slight change in the organization of tcl packages.

This will be added disabled to pkgsrc/lang/Makefile until I finish updating
tk and all tcl-based packags.

Changes from out of the box tcl-8.3.2:

	Both static and shared libtcl83.* are installed, thanks to
	the magic of libtool.

	$tcl_platform(machine) is set to ${MACHINE_ARCH}, not ${MACHINE},
	thanks to the patch to tcl-8.0 from Dan McMahill.  This makes
	sharing of binary packages of tcl and tcl extensions easier.

Changes to the package since tcl-8.0.5:

	$tcl_pkgPath is now set to ${PREFIX}/lib/tcl instead of ${PREFIX}/lib
	and packages which install tcl extensions will be updated to install
	there.  This produces less clutter in ${PREFIX}/lib, and mirrors the
	usage of java and elisp extension packages.

	A symlink to ${PREFIX}/bin/tclsh8.3.2 is installed as ${PREFIX}/bin/tclsh
	This change and the above are designed to allow tcl-using packages to
	not depend on any particular version of tcl.

	public tcl include files and the tcl configuration information script
	are now installed in their standard places (${PREFIX}/include/tcl.h,
	${PREFIX}/include/tclDecls.h, and ${PREFIX}/lib/tclConfig.sh), and
	private tcl include files are now installed in ${PREFIX}/include/tcl.
	This change allows tcl extension packages to work out of the box, and
	to not need modification when tcl is updated.  When extension package
	authors use the new libtclstubs*.a API, this even allows binary packages
	of dynamically-loadable tcl extensions to be used with newer versions of
	tcl without recompilation.

Here are the new features in tcl-8.3.x as opposed to 8.0.x.  I am not including
bug fixes as this represents about 18 months of them.

New Features since Tcl 8.2:
------------------------------

Improved clarity of error messages, especially for common programming
mistakes.

New lsort -unique switch to uniqify lists when sorting.

Enhanced glob command to provide simpler and more powerful cross-platform
file listing functionality.

File date stamping through "file atime" and "file mtime" and support for
chmod style permissions setting in file attributes -permissions on Unix.

New file channels command to obtain list of open channels.

"scan" command can now be used inline to return a list of values.

"regexp" has new -start, -all and -inline switches.

New "array unset" command.

New -milliseconds granularity option to "clock clicks".

Tcl optimization improvements, as well as numerous bug fixes.

Overhaul of the clock command to improve grammar and add support for
common ISO 8601 date/time formats.

Improved build support for numerous platforms.

New Features since Tcl 8.1.1
----------------------------------

Optimized string index, length, range, and append commands. Added a 
new Unicode object type.

Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
to public Tcl API, these functions are needed by Expect.  Changed
tools/genStubs.tcl to always write output in LF mode.

Merged string and Unicode object types.  Added new public Tcl API 
functions:  Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
Tcl_AppendUnicodeToObj. 

Changed to conform to TEA specification, added tcl.m4 and aclocal.m4 
macro libraries for configure.

Added new regexp interfaces: -expanded, -line, -linestop, and 
-lineanchor switches.  Renamed Tcl_RegExpMatchObj to
Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent
to Tcl_RegExpMatch.  Added public macros for regexp flags.  Added
REG_BOSONLY flag to allow Expect to iterate through a string and only
find matches that start at the current position within the
string. 

Updated Unicode character tables to reflect Unicode 2.1 data.

Added initial implementation of new Tcl test harness package.  
Modified test files to use new tcltest package.

Applied patch from Peter Hardie to add poke command to dde and changed 
the dde package version number to 1.1. 

Added options to tcltest package: -preservecore, -limitconstraints,
-help, -file, -notfile, and flags. 

Changed parsing of variable names to allow empty array names. 
Now "$(foo)" is a variable reference.  Previously you had to use
something line $::(foo), which is slower.  This change was
requested by Jean-Luc Fontaine for his STOOOP package. 

Added Tcl_SetNotifier (public API) and associated hook points in the
notifiers to be able to replace the notifier calls at runtime. The 
Xt notifier and test program use this hook. 

Added a new variant of the "Trf core patch" from Andreas Kupries 
that adds new C APIs Tcl_StackChannel, Tcl_UnstackChannel, and 
Tcl_GetStackedChannel.  This allows the Trf extension to work without 
applying patches to the Tcl core. 

Added -timeout option to http.tcl to handle timeouts that occur during
connection attempts to hosts that are down. 

New features since Tcl 8.1:
---------------------------

Applied Jeff Hobbs' string patch which includes the following changes:
   new subcommands: equal, repeat, map, is, replace 
    -length option to "string compare|equal"
    -nocase option to "string compare|equal|match"
    string and list indices can be an integer or end?-integer?.
    added optional first and last index args to string toupper, et al.
See the string.n manual entry for more details about the new string features.

Applied Jeff Hobb's patch to add Tcl_StringCaseMatch to support case 
insensitive glob style matching and Tcl_UniCharIs* character classification 
functions.

Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf string comparision easier.

Replaced the per-interpreter regexp cache with a per-thread cache.  Changed 
the Regexp object to take advantage of this extra cache.  Added a reference 
count to the TclRegexp type so regexps can be shared by multiple objects.  
Removed the per-interp regexp cache from the interpreter.  Now regexps can be 
used with no need for an interpreter. This set of changes should provide 
significant speed improvements for many Tcl scripts.

Applied the patch to fix 100-year and 400-year boundaries in leap year code, 
from Isaac Hollander.

New features since Tcl 8.0.5:
-----------------------------
Full Unicode support and a message catalog for internationalization.

Thread-safety for Tcl and Tk.

A new regular expression package by Henry Spencer that adds many
advanced features: non-greedy quantifiers, bounds, positive
and negative lookahead, collating elements, equivalence classes,
several built-in character classes, and comments.  In addition,
the regular expression engine works on Unicode strings to make
this the best regular expression package available anywhere.

Integrated the stub library mechanism contributed by Paul Duffin, 
Jan Nijtmans, and Jean-Claude Wippler.  This feature will make it
possible to write extensions that support multiple versions of Tcl
simultaneously.  It also makes it possible to dynamically load
extensions into statically linked interpreters.  This patch includes
the following changes:
      - Added a Tcl_InitStubs() interface
      - Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx,
        and Tcl_PkgPresent.
More information about using the stubs interface in your extensions
can be found at http://www.scriptics.com/support/howto/stubs.html

Added a message catalog facility to Tcl.  This adds several commands
in the "msgcat" package.  Thanks to Mark Harrison for contributing
the initial implementation.

Added the "encoding" command that facilitate translations of strings
between different character encodings.

Added "string totitle" command to convert strings to capitalize the
first character of a string and lowercase all of the other characters.

-----

Whew...  If you're still reading, thanks.  Enjoy!


Vendor Tag:	TNF
Release Tags:	pkgsrc-base
		
N pkgsrc/lang/tcl/Makefile
N pkgsrc/lang/tcl/files/md5
N pkgsrc/lang/tcl/files/patch-sum
N pkgsrc/lang/tcl/patches/patch-aa
N pkgsrc/lang/tcl/patches/patch-ab
N pkgsrc/lang/tcl/patches/patch-ac
N pkgsrc/lang/tcl/pkg/COMMENT
N pkgsrc/lang/tcl/pkg/DESCR
N pkgsrc/lang/tcl/pkg/PLIST

No conflicts created by this import