原文:
26. What is the history of pTk and perl/Tk? [Do something here about other toolkit bindings.]
This list is only slowly coming together. Please forgive any absences.
* tkperl5a5 is announced Thu, 20 Oct 1994 14:44:23 +0000 (BST)
NOTEThis project is unrelated to the one which is adding usersubs toperl4 to get access to Tk via Tcl. Often, postings on comp.lang.perljust say "tkperl" without saying which one is meant. They are twototally different kettles of fish.--Malcolm (Beattie)
* Fri, 25 Nov 94 14:29:53 GMT Nick Ing-Simmons is working on what will be known as "nTk" eventually.
* Mon, 12 Dec 94 08:56:36 GMT, Nick Ing-Simmons reports:
I have a re-port of ext/Tk nearly ready for alpha.It builds its own "pTk" library from sources semi-automatically derivedfrom Tk3.6. There is no Tcl library at all. Would anyone like to assist me in testing it?
* nTk-a2 announced Fri, 16 Dec 1994 10:59:36 -0500
* nTk-a3 announced Mon, 19 Dec 1994 18:03:27 -0500
* nTk-a5 announced Fri, 23 Dec 1994 10:18:16 -0500 (last to use Tk 3.6 ?)
* nTk-a6 first to use Tk 4.0 (?)
* nTk-a7 announced Fri, 13 Jan 1995 10:55:27 -0500
* nTk-a8 has appeared before Tue, 17 Jan 95 09:04:33 GMT
* nTk-a9 has appeared before Wed, 18 Jan 95 19:25:10 GMT
* nTk-a10 announced Tue, 24 Jan 1995 14:32:02 -0500
* nTk-a11 announced Tue, 31 Jan 95 19:05:32 GMT
* Malcolm Beattie suggests the nTk -> Tk name change, Larry Wall concurs
* nTk-a12 announced Thu, 16 Feb 1995 09:12:26 -0500
* Nick Ing-Simmons calls for a new mail list Thu, 16 Feb 95 14:13:55 GMT
* Tk-a13 announced Wed, 1 Mar 1995 11:38:15 -0500 (Name has changed from "nTk")
* Tk-b1 announced Tue, 14 Mar 95 16:58:40 GMT
* Tk-b2 announced Wed, 29 Mar 95 15:52:44 BST
* Tk-b3 announced Fri, 31 Mar 95 16:54:54 BST
* Tk-b4 announced Fri, 12 May 1995 11:45:32 -0400 EST
* Tk-b5 announced Mon, 26 Jun 95 17:14:06 BST
* Tk-b6 announced Fri, 21 Jul 95 15:42:35 BST
* Tk-b7 announced Fri, 28 Jul 95 15:16:02 BST
* Tk-b8 announced Wed, 16 Aug 95 12:34:05 BST
* an RFD (Request For Discussion) for a new usenet group comp.lang.perl.tk is circulated by Jon Orwant Fri, 4 Aug 1995 08:29:46 -0400
* unmoderated newsgroup comp.lang.perl.tk passes by a vote of 352 to 18 with 1 abstention in an announcement made Mon, 9 Oct 1995 10:13:17 -0400 (EDT). The new group makes its appearance at news-servers roughly 18 October 1995.
* Tk-b9.01 announced Wed, 20 Dec 95 10:06:47 GMT.
* Tk-b10 announced Sat, 23 Mar 96 17:16:27 GMT.
* Tk-b11 announced Mon, 1 Apr 96 16:44:48 GMT.
* Tk-b11.01 announced Wed, 3 Apr 96 17:48:09 GMT.
* Tk-b11.02 announced 10 Apr 96 12:52:28 GMT.
* Tk-b12 announced 28 August 1996.
* Tk400.200 announced 6 September 1996.
* Tk400.201 announced Fall 1996.
* Tk400.202 announced Late Fall 1996.
* Tk402.000 (alpha release for Windows) announced May 1997.
* Tk402.001 (an alpha for several NT compilers) released Sun, 15 Jun 1997 10:39:51 +0100
* A prealpha release of OS/2 PM Perl/Tk was announced by Ilya Zakharevich Thu, 26 Jun 1997 23:18:00 -0400 (EDT)
* Tk402.002 (an alpha snapshot) released Fri, 18 Jul 1997 17:57:40 +0100.
译文:
26. 关于pTk和Perl/Tk的历史
(译者注:这一段是关于Perl/Tk的发展过程的情况,但是因为原著的创建时间实在是太老了,所以感觉原文的内容实在很“过时”了……就不译了——没什么意思——还是看看目前的Tk8的历史吧:)
本来希望找到一些类似的发展历史的时间表的,不过……只能把Tk包中自带的Changes文件拿来充数了:L
Changes in Tk800.022
Fixes for NoteBook and LabFrame
Various tweaks for "compile" to flat script (tool not released yet)
Doc patches
Slaven's -offset fixes and associated need to change compiled-in defaults.
Feature suggestions from the list.
Changes in Tk800.021
Steve's patches for fileevent and -labelXxxxx
Fixed the 'Delagate' bug introduced trying to make AUTOLOAD clean.
Tweaks to Optionmenu and BrowseEntry to make them more like each other
and better tolerate changing the options/choices list.
Made B::C* work again for perl5.005_03 (perl5.6.0 has problems).
Use dTHX every where we had dTHR - should build against threaded perl
(STILL NOT THREAD SAFE).
Fix name clash in Event for VMS.
Merge production Img1.2.3
Fix Tk::Xrm and Tix Style with multiple MainWindows
Found and fixed the 'Attempt to free unreferenced scalar' issue.
Changes in Tk800.020
Various tweaks for perl5.6.0
Fix ->itemconfigure of grouped canvas items.
Another attempt at Win32 raise/lower and ActiveWindow/focus problems.
Some other of e-mail backlog issues.
Changes in Tk800.019
Fix the sporadic core dump problem, lots of other minor malloc irregularities
fixed during search.
Add builtin bitmap 'transparent' for the Canvas
Avoid RepeatId in Animation
Notice change of -label in Menu::Item
Various patches (docs and other) from Slaven.
Changes in Tk800.018
Mainly a bug-fix release
The "new" honouring of perl context has been added to Photo and fixed
for derived widgets.
Added Greg London's TextList
A gross mess in parsing legacy Tcl-like lists has been fixed - this
would have been worst on Win32 where that style is used for fonts.
Patches from Slaven that fixed bugs and finished selection support to HList.
Patches from Steve for the demos.
Adopted Ben Pavon's fixes for Tk::CmdLine
Changes in Tk800.017
Move most of C code to use Tcl/Tk supported Tcl_Obj type calls rather
than ad hoc Lang calls - should aid future merges.
Added (experimental) group item to Canvas
bbox etc. (e.g. Canvas items) return reference [] or list () depending on perl's context.
Major overhaul of internals to assist in cleaner, non-delayed destruction of
widget data structures.
Move Text's menu handling to Widget and renamed it ->menu
Changes in Tk800.016
Steve's merge of :
Andy Duncan's DialogBox fix.
David Town's
Slaven's patches for :
defined in HList
RGB location
guiperl
Optionmenu
Merged Jan's Tcl/Tk "dash patch"
adds dashed lines to canvas
also -tile (background image) to canvas, text and other widgets
also validation hook to entry
Invented the "grid" canvas item
Changes in Tk800.015
Event Loop is now usable as separate loadable
Major work on Text, TextUndo by
Lots of work on Drag&Drop
- XDND protocol
- KDE/kfm protocol
- Sun version window manager independant.
Support for images as icons (Win32 and Unix)
Tk::Pane and Tk::ProgressBar bundled.
Fixes to Photo's ->put
UNIX filevent overhaul
Patches from the list as ever.
Support for perl5.005_57+
Changes in Tk800.014
A few patches from Steve.
Merged tk8.0.5 and associated bits of tcl8.0.5
Semi-automatic tidy-up of .pm files
Merge img1.2b2 (may have been a mistake it is still a little rough).
Changes in Tk800.013
Various tweaks to work better with -MO::* 'compile'
Stephen Kun's Adjuster re-write.
Many tweaks and fixes from mailing list, Slaven Rezic in particular
contributed several.
Added -elide option to text tags.
New Tk::CmdLine from Ben Pavon
Workround for callbacks loosing implied widget arg.
Remove -DBASEEXT from Makefiles (VMS has issues with it)
Fixed long standing bug in Win32 native getOpenFile/getSaveFile.
Changes in Tk800.012
Various patches from the list
Support "Explorer" Drops on Win32 (preliminary)
Use KeySyms in Alt- Menu bindings
Build WinPhoto by default on UNIX. (Does not work on Win32 yet.)
Tolerate perl5.005_53 names of perl's variables.
Made Tk::Font be objects based on fontCreate's 'named' fonts.
Expand ~/.Xdefaults so Win32 actually has such a thing.
Re-worked Busy to (optionaly) recursively change cursor.
Arrow keys in Entry clear selection in Win32 too.
Changes for ->raise on Win32
Integrated Scriptic's tk8.0.3 and needed bits of associated tcl8.0.3
Make last 'separator' on a menubar move following items to right
Changes in Tk800.011
Various tweaks to make Conference demo cleaner,
in particular :
* native-look dialog boxes.
* Normal Callbacks for NoteBook.
Comprehend that $0 is tainted.
Deprecate TixGrid until I/we decide where we are going.
Changes in Tk800.010
Fix -variable stuff on PERL_OBJECT
Achim's new tests and fixes for most of them.
Fix for UNIX Drag&Drop when window has Menubar
Virtual event for <<LeftTab>>
Patches to make testsuite non-interactive
Jason's latest Balloon
Re-enable Alt-x stuff for UNIX.
Changes in Tk800.009
A few tweaks to options documentation
Perl5.005 tolerance, remove excessive groping in perl's internals.
PERL_OBJECT awareness.
Changes in Tk800.008
Fixed up some L<> problems in the pods, merged Achim's pod edits.
Fixed up some Copy/Paste issues.
Fixed some Tk::IO and fileevent problems
Prepared for compiler by 'use base' rather than @ISA assign.
Ev('s') and $event->s now have a string form usable in bind.
Various build fixes.
Changes in Tk800.007
Mingw32 build-ability (Still needs a little more work)
Ilya's OS2 patches
Doc updates from Achim
Test updates from Achim
Slaven's Balloon & Canvas stuff
Another try at cleaning up __FUNCTION__ snags.
Steve's prototype MsgBox (this will change)
Re-work tainting stuff again.
Changes in Tk800.006
New hook in new for "managing parents"
Sorted out Drag&Drop
Added wmRelease to Win32 port
More Pod tweaks from Achim
form geometry manager restored and improved
-initialfile in FileSelect fixed.
Seems to work tainted again.
Some cleanup to TList
Build cleanup
Patches from the list.
Changes in Tk800.005
Reworked MainLoop and did "sneaky" things to demo and tkpsh
to make embedding demos easier.
Cleaned up the tests, making interactive tests into demos.
Text 'dump' now returns object for widgets and images.
More documentaion changes - mainly by Achim - thanks as ever.
ItemStyle is supported for HList & co.
Drag & Drop code now works as well as it ever did, even on Win32
still needs integrating with mainstream widgets like HList that expect
it and more "native" support.
Photo image type is now more modular - unbundled JPEG and PNG
modules will be released to match.
Changes in Tk800.004
Revert ConfigSpecs to Tk402 style
Fix Balloon on Win32
Re-work Photo C API
Various fixed to tixGrid
Moved all POD to pod directory
Fixed Achim's failing testcases
Various pod tweaks
Changes in Tk800.003
Various fixes for build of outside Tk extensions
Steve's demo patch
Jason's Balloon enhancement.
Change to pod as primary documentation.
Achim Bohnet <ach@mpe.mpg.de> has helped a lot here.
HTML build not done yet.
Fix to HList scrollbar handling
Changes in Tk800.0_02
Added generic dialog support. See toyedit for example use.
Tested on Win32, and implemented more-or-less for UNIX/X,
based on our existing widgets.
Fixed ->Icon to allow for new wrapper window
Implemented font command - hardly tested doc's still tcl-ish.
Changed default value handling of ConfigSpecs to ask default
widget for value(s).
Added LangIO.h.PL
Patches from the list.
Handle Name => stuff better in menus.
Changes in Tk800.0_01
Various fixes - many thanks to Slaven Rezic <eserte@cs.tu-berlin.de>
in particular.
Found systematic bug in returning lists - this was setPalette bug, and tab focus
bug.
Documentaion updates from Achim Bohnet <ach@mpe.mpg.de>
Implemented use of virtual events e.g. <<Copy>>
Tk::Menubar now uses new menubar features.
Tk::Photo now handles overlay in (e.g.) animated GIFs again.
Some testing of embedding hooks - seem to work.
fileevent works again on UNIX, and after a fashion on Win32.
Changes in Tk800.000
Adopt tk8.0p2 and associated tcl8.0p2 where required.
Fix to build and run as much as possible on Solaris and Win32.
Menus and Fonts have changed radically in the core.
Tcl/Tk's menu.tcl has been hand converted (mostly) to Menu.pm and Menubutton.pm.
Menus mostly work - there will typo's in all that hand conversion.
No attempt has been made to make Font stuff visible to perl, indeed
existing Tk::Font is ideal candiate API (very close to what Tcl has), but probably
does not work at the moment.
Other big snag is fileevent is now completely broken on all platforms.
I need to re-implement enough of Tcl_Channel API on top of perl's file handles
to re-introduce it. This will be main focus of Tk800.001 ...
实在太长了,就懒得译了,有兴趣自己看看吧!J
目前在Tk800分支中最高版本好像应该是2003年9月8日发布的Tk800.025。另外还有一个Tk804的分支,前些日子(2003年12月14日)刚发布了Tk-804.025_beta10,其说明如下:
Changes in Tk804.023
First public release of version based on Unicode aware core tk.
老实说,我本来平时并不是太关心这些的……所以如果有什么不尽之处,还请大家谅解。