我正在对Perl/Tk进行更改,以使其具有自己的常驻Perl和模块安装的应用程序(所以我们可以放弃应用程序)。如何最好地处理Perl/Tk所需的补丁?
我发现我遇到,我只是无意中发现了什么似乎是补丁有问题,我需要在这里:http://osdir.com/ml/lang.perl.tk/2004-10/msg00030.html
Bug confirmed. Here's the patch against Tk804.027:
--- Tk-804.027/pTk/mTk/generic/tkEntry.c Sat Mar 20 19:54:48 2004
+++ Tk-804.027-perl5.8.3d/pTk/mTk/generic/tkEntry.c Tue Oct 19 22:50:31 2004
@@ -3478,6 +3478,18 @@
Tcl_DStringFree(&script);
#else
+ switch (type) {
+ case VALIDATE_INSERT:
+ type = 1;
+ break;
+ case VALIDATE_DELETE:
+ type = 0;
+ break;
+ default:
+ type = -1;
+ break;
+ }
+
code = LangDoCallback(entryPtr->interp, entryPtr->validateCmd, 1, 5, "%s
%s %s %d %d",
new, change, entryPtr->string, index, type);
if (code != TCL_OK && code != TCL_RETURN) {
Regards,
Slaven
我想申请这个补丁或者是否有新的我可以升级到包含这个补丁的Perl/Tk模块版本,它不需要我改变Perl的版本,就这么做。
这是我可以从安装找到这个程序:
的perl -v = 5.8.4 $ Tk的版本:: = '8.4' $ Tk的:: PATCHLEVEL = '8.4' $ TK :: VERSION =“804.027”
所以..
1A)如果有一个新的Tk的版本,其中包括在链接补丁上面,我如何在特定的Perl安装位置升级只是模块为这个应用程序?
1B)我怎么知道这是否升级是用Perl的5.8.4兼容的(如果不是我不想在这一点上升级的perl)
2),我如何应用该补丁定义在那个链接?
Michael,感谢您的评论。如果包含的话,我如何将Tk发行版从804.027升级到804.028?如果不是,我只想要补丁,我该怎么做你在最后一句中提出的建议?什么步骤? – Streamline 2010-05-21 21:53:09
如果您正在运行ActivePerl,请使用随附的'ppm'实用程序。否则,请尝试'cpan' shell。如果一切都失败了,请下载发行版,解压缩,然后执行'make','make test','make install'跳舞。 – 2010-05-22 01:49:20