独自の常駐 Perl とモジュールがインストールされているアプリケーションの Perl/Tk に変更を加えています (そのため、アプリケーションをドロップして実行できます)。
ここで必要なパッチと思われるものを偶然見つけたという問題を見つけました: http://osdir.com/ml/lang.perl.tk/2004-10/msg00030.html
バグ確定。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) {
よろしく、
奴隷
このパッチを適用したいのですが、Perl のバージョンを変更する必要のないこのパッチが既に含まれているアップグレード可能な Perl/Tk モジュールの新しいバージョンがある場合は、それを実行してください。
このアプリのインストールから私が見つけることができるものは次のとおりです。
perl -v = 5.8.4 $Tk::version = '8.4' $Tk::patchlevel = '8.4' $Tk::VERSION = '804.027'
そう..
1a) 上記のリンクにパッチを含む新しい Tk VERSION がある場合、このアプリの特定の Perl インストール場所にあるそのモジュールだけをアップグレードするにはどうすればよいですか?
1b) そのアップグレードが Perl の 5.8.4 と互換性があるかどうかを知るにはどうすればよいですか (現時点では perl をアップグレードしたくありません)
2) そうでない場合、そのリンクで定義されているパッチを適用するにはどうすればよいですか?