Я делаю изменения в Perl / Tk для приложения, которое имеет собственную инсталляцию Perl и модулей (так что мы можем оставить приложение и начать работу).
Я обнаружил проблему, с которой столкнулся, просто наткнулся на то, что мне кажется здесь нужным патчем: http://osdir.com/ml/lang.perl.tk/2004-10/msg00030.html
Bug confirmed. Here's the patch against Tk804.027:
<code>
--- 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) {
</code>
Regards,
Slaven
Я бы хотел применить этот патч или, если есть более новая версия модуля Perl / Tk, которую я могу обновить до уже включенного этого патча, который не требует изменения версии Perl, сделайте это. *
Вот что я могу найти из установки для этого приложения:
perl -v = 5.8.4
$ Tk :: version = '8,4'
$ Tk :: patchlevel = '8,4'
$ Tk :: VERSION = '804.027'
Итак ..
1a) если есть более новая версия Tk VERSION, включающая патч по ссылке выше, как мне обновить только этот модуль в определенном месте установки Perl для этого приложения?
1b) как узнать, совместимо ли это обновление с 5.8.4 Perl (я не хочу обновлять perl на этом этапе)
2) если нет, как мне применить этот патч, определенный в этой ссылке?