# strip everything before this # cd to your version of Tk-804.025_beta12 # and feed this file to /bin/sh # # touch t/button.t chmod 0664 t/button.t touch t/wm.t chmod 0444 t/wm.t touch t/pixmap.t chmod 0444 t/pixmap.t patch -p1 -N <<'__END_OF_PATCH__' Index: Change.log --- Tk-804.025_beta12/Change.log 2003-12-21 20:50:19.000000000 +0000 +++ Tk-804.025_beta13/Change.log 2003-12-23 23:00:25.000000000 +0000 @@ -1,3 +1,77 @@ +Change 3076 on 2003/12/23 by nick@llama + + Generated file out of date + +Change 3075 on 2003/12/23 by nick@llama + + Remove problematic flags for zlib on Solaris + +Change 3074 on 2003/12/23 by nick@llama + + HList.pod and debug removal patch from + Ala Qumsieh + +Change 3073 on 2003/12/23 by nick@llama + + Slaven's ->{Value} fix, + tweaks to make it compile. + +Change 3072 on 2003/12/23 by nick@llama + + New tests that work on UNIX - but allegedly don't on Win32 + +Change 3071 on 2003/12/23 by nick@llama + + Sort out the Photo StringWrite mess - works now. + I had completely mis-understood the oh-so-clever Img extension + code - what we have now isn't as clever and is probably pTk + specific but it works. + +Change 3070 on 2003/12/23 by nick@llama + + Fix gross segfault issue with $phoo->data (still does not work). + Tidy new photo.t so we can see what isn't working + +Change 3069 on 2003/12/23 by nick@llama + + Slaven's $photo->data() tests (fail horribly) + +Change 3068 on 2003/12/23 by nick@llama + + More CFLAGS and ./configure convergence + +Change 3067 on 2003/12/23 by nick@llama + + Slaven's skip-window-manager-test patch for entry.t + tweaked to not-skip under KDE/XFree86 (where they work) + +Change 3066 on 2003/12/23 by nick@llama + + SaveYourself debug removal patch from Steve + +Change 3065 on 2003/12/23 by nick@llama + + Tinker with zzScrolled test + +Change 3064 on 2003/12/23 by nick@llama + + Correct Epsilon in TkTest + Slaven's mark font-dependant patch for entry.t + +Change 3063 on 2003/12/22 by nick@llama + + Steve's beta12 patch for demos & UserGuide. + +Change 3062 on 2003/12/22 by nick@llama + + Force IO to bytes (RedHat perl tolerence) in Makefile.PL + With this it builds in a UTF-8 locale on RedHat9. + RedHat perl gives some fails (weird coredump after exit), + but stock perl5.8.0 is fine. + +Change 3061 on 2003/12/21 by nick@llama + + Tk-804.025_beta12 Release Preparation + Change 3060 on 2003/12/21 by nick@llama Fix $hlist->infoChildren for children with spaces Index: HList/HList.pm --- Tk-804.025_beta12/HList/HList.pm 2003-11-02 20:36:32.000000000 +0000 +++ Tk-804.025_beta13/HList/HList.pm 2003-12-23 18:46:27.000000000 +0000 @@ -1,7 +1,7 @@ package Tk::HList; use vars qw($VERSION); -$VERSION = sprintf '4.%03d', q$Revision: #13 $ =~ /\D(\d+)\s*$/; +$VERSION = sprintf '4.%03d', q$Revision: #14 $ =~ /\D(\d+)\s*$/; use Tk qw(Ev $XS_VERSION); @@ -238,7 +238,7 @@ } if ($y > $bottomy) { - print "$y > $bottomy\n"; + #print "$y > $bottomy\n"; return undef; } } Index: JPEG/imgJPEG.c --- Tk-804.025_beta12/JPEG/imgJPEG.c 2003-09-06 22:20:54.000000000 +0100 +++ Tk-804.025_beta13/JPEG/imgJPEG.c 2003-12-23 17:20:39.000000000 +0000 @@ -119,7 +119,7 @@ char *fileName, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int StringWriteJPEG _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); Tk_PhotoImageFormat imgFmtJPEG = { @@ -1189,9 +1189,8 @@ */ static int -StringWriteJPEG(interp, dataPtr, format, blockPtr) +StringWriteJPEG(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { @@ -1199,6 +1198,7 @@ struct my_error_mgr jerror; /* for controlling libjpeg error handling */ int result; Tcl_DString data; + Tcl_DString *dataPtr; if (load_jpeg_library(interp) != TCL_OK) { return TCL_ERROR; Index: JPEG/jpeg/Makefile.maybe --- Tk-804.025_beta12/JPEG/jpeg/Makefile.maybe 2003-12-10 22:02:03.000000000 +0000 +++ Tk-804.025_beta13/JPEG/jpeg/Makefile.maybe 2003-12-23 10:57:15.000000000 +0000 @@ -32,6 +32,6 @@ { $ENV{CC} = $Config{cc}; local $ENV{CFLAGS} = "$Config{ccflags} $Config{cccdlflags}"; - system("./configure"); + system(sh => "./configure"); } 1; Index: MANIFEST --- Tk-804.025_beta12/MANIFEST 2003-12-21 11:32:08.000000000 +0000 +++ Tk-804.025_beta13/MANIFEST 2003-12-23 18:35:48.000000000 +0000 @@ -1834,6 +1834,7 @@ t/browseentry-subclassing.t t/browseentry.t t/browseentry2.t +t/button.t t/create.t t/cursor.t t/dash.t @@ -1857,6 +1858,7 @@ t/mwm.t t/optmenu.t t/photo.t +t/pixmap.t t/progbar.t t/regexp.t t/Require.t @@ -1865,6 +1867,7 @@ t/trace1.t t/slaves.t t/widget.t +t/wm.t t/wm-time.t t/X.t t/zzHList.t Index: Makefile.PL --- Tk-804.025_beta12/Makefile.PL 2003-09-07 11:15:23.000000000 +0100 +++ Tk-804.025_beta13/Makefile.PL 2003-12-22 13:06:25.000000000 +0000 @@ -1,3 +1,4 @@ +use open IO => ':bytes'; use 5.007; use Cwd; use Config; Index: PNG/imgPNG.c --- Tk-804.025_beta12/PNG/imgPNG.c 2003-11-29 11:39:29.000000000 +0000 +++ Tk-804.025_beta13/PNG/imgPNG.c 2003-12-23 17:10:01.000000000 +0000 @@ -90,8 +90,7 @@ static int ChnWritePNG _ANSI_ARGS_((Tcl_Interp *interp, char *filename, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int StringWritePNG _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); Tk_PhotoImageFormat imgFmtPNG = { @@ -590,9 +589,8 @@ return result; } -static int StringWritePNG(interp, dataPtr, format, blockPtr) +static int StringWritePNG(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { @@ -602,6 +600,7 @@ int result; cleanup_info cleanup; Tcl_DString data; + Tcl_DString *dataPtr; ImgFixStringWriteProc(&data, &interp, &dataPtr, &format, &blockPtr); Index: PNG/zlib/Makefile.maybe --- Tk-804.025_beta12/PNG/zlib/Makefile.maybe 2003-11-29 11:39:32.000000000 +0000 +++ Tk-804.025_beta13/PNG/zlib/Makefile.maybe 2003-12-23 10:56:27.000000000 +0000 @@ -22,6 +22,7 @@ else { $ENV{CC} = $Config{cc}; + local $ENV{CFLAGS} = "$Config{ccflags} $Config{cccdlflags}"; system(sh => "./configure"); } 1; Index: PNG/zlib/configure --- Tk-804.025_beta12/PNG/zlib/configure 2003-11-29 11:39:32.000000000 +0000 +++ Tk-804.025_beta13/PNG/zlib/configure 2003-12-23 18:50:25.000000000 +0000 @@ -102,13 +102,13 @@ SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "} CFLAGS=${CFLAGS-"-O3"} LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};; - SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."} - CFLAGS=${CFLAGS-"-fast -xcg89"} + SunOS\ 5*) SFLAGS=${CFLAGS-"-KPIC -R."} + CFLAGS=${CFLAGS-""} LDSHARED=${LDSHARED-"cc -G"};; SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"} CFLAGS=${CFLAGS-"-O2"} LDSHARED=${LDSHARED-"ld"};; - UNIX_System_V\ 4.2.0) + UNIX_System_V\ 4.2.0) SFLAGS=${CFLAGS-"-KPIC -O"} CFLAGS=${CFLAGS-"-O"} LDSHARED=${LDSHARED-"cc -G"};; @@ -171,7 +171,7 @@ #include #include caddr_t hello() { - return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0); + return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0); } EOF if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then Index: Tk.pm --- Tk-804.025_beta12/Tk.pm 2003-12-21 20:50:19.000000000 +0000 +++ Tk-804.025_beta13/Tk.pm 2003-12-23 23:00:25.000000000 +0000 @@ -61,7 +61,7 @@ use Carp; # Record author's perforce depot record -$Tk::CHANGE = q$Change: 3061 $; +$Tk::CHANGE = q$Change: 3077 $; # $tk_version and $tk_patchLevel are reset by pTk when a mainwindow # is created, $VERSION is checked by bootstrap Index: Tk/MainWindow.pm --- Tk-804.025_beta12/Tk/MainWindow.pm 2003-12-14 19:44:50.000000000 +0000 +++ Tk-804.025_beta13/Tk/MainWindow.pm 2003-12-23 10:49:37.000000000 +0000 @@ -8,7 +8,7 @@ use strict; use vars qw($VERSION); -$VERSION = sprintf '4.%03d', q$Revision: #10 $ =~ /\D(\d+)\s*$/; +$VERSION = sprintf '4.%03d', q$Revision: #11 $ =~ /\D(\d+)\s*$/; use Tk::CmdLine; use Tk qw(catch); @@ -175,7 +175,7 @@ { my $mw = shift; my @args = @{$mw->command}; - warn 'preWMSaveYourself:'.join(' ',@args)."\n"; +# warn 'preWMSaveYourself:'.join(' ',@args)."\n"; @args = ($0) unless (@args); my $i = 1; while ($i < @args) @@ -191,7 +191,7 @@ } my @ip = $mw->wm('iconposition'); - print 'ip ',join(',',@ip),"\n"; +# print 'ip ',join(',',@ip),"\n"; my $icon = $mw->iconwindow; if (defined($icon)) { @@ -202,7 +202,7 @@ splice(@args,1,0,'-iconic') if ($mw->state() eq 'iconic'); splice(@args,1,0,'-geometry' => $mw->geometry); - warn 'postWMSaveYourself:'.join(' ',@args)."\n"; +# warn 'postWMSaveYourself:'.join(' ',@args)."\n"; $mw->command([@args]); } Index: demos/demos/widget_lib/hello.pl --- Tk-804.025_beta12/demos/demos/widget_lib/hello.pl 2003-12-21 12:34:44.000000000 +0000 +++ Tk-804.025_beta13/demos/demos/widget_lib/hello.pl 2003-12-22 18:30:00.000000000 +0000 @@ -27,6 +27,7 @@ my $t = $TOP->Scrolled( qw/ ROText -width 80 -height 25 -wrap none -scrollbars osoe/, ); + $t->focus; my $cmd = $Config{installbin} . '/perldoc -t Tk::UserGuide'; $t->pack( qw/ -expand 1 -fill both / ); Index: demos/demos/widget_lib/mega.pl --- Tk-804.025_beta12/demos/demos/widget_lib/mega.pl 2003-12-21 12:42:00.000000000 +0000 +++ Tk-804.025_beta13/demos/demos/widget_lib/mega.pl 2003-12-22 18:30:10.000000000 +0000 @@ -15,6 +15,7 @@ ); my $t = $TOP->Scrolled( qw/ ROText -wrap word -scrollbars oe/ ); + $t->focus; $t->pack( qw/ -fill both -expand 1 / ); $t->insert( 'end', <<'end-of-instructions' ); Index: demos/widget --- Tk-804.025_beta12/demos/widget 2003-12-21 12:42:12.000000000 +0000 +++ Tk-804.025_beta13/demos/widget 2003-12-22 18:30:20.000000000 +0000 @@ -231,7 +231,7 @@ 'form_mgr' => 'The form geometry manager', 'HList' => 'A hierarchical listbox widget', 'HList2' => 'Multicolumn listbox with individual cell styles', - 'labframe' => 'A Frame with embedded label (deprecated)', + 'labframe' => 'A Frame with embedded label', ); demos 'Simulations', ( Index: pTk/mTk/additions/imgBMP.c --- Tk-804.025_beta12/pTk/mTk/additions/imgBMP.c 2003-07-27 17:30:55.000000000 +0100 +++ Tk-804.025_beta13/pTk/mTk/additions/imgBMP.c 2003-12-23 16:59:33.000000000 +0000 @@ -31,8 +31,7 @@ static int ChnWriteBMP _ANSI_ARGS_((Tcl_Interp *interp, char *filename, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int StringWriteBMP _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *data, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); Tk_PhotoImageFormat imgFmtBMP = { "bmp", /* name */ @@ -362,15 +361,15 @@ return result; } -static int StringWriteBMP(interp, dataPtr, format, blockPtr) +static int StringWriteBMP(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { MFile handle; int result; Tcl_DString data; + Tcl_DString *dataPtr; ImgFixStringWriteProc(&data, &interp, &dataPtr, &format, &blockPtr); Index: pTk/mTk/additions/imgGIF.c --- Tk-804.025_beta12/pTk/mTk/additions/imgGIF.c 2003-07-27 17:30:55.000000000 +0100 +++ Tk-804.025_beta13/pTk/mTk/additions/imgGIF.c 2003-12-23 17:00:44.000000000 +0000 @@ -74,8 +74,7 @@ char *filename, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int StringWriteGIF _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int CommonReadGIF _ANSI_ARGS_((Tcl_Interp *interp, MFile *handle, CONST char *fileName, Tcl_Obj *format, Tk_PhotoHandle imageHandle, int destX, int destY, @@ -1148,15 +1147,15 @@ } static int -StringWriteGIF(interp, dataPtr, format, blockPtr) +StringWriteGIF(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { int result; MFile handle; Tcl_DString data; + Tcl_DString *dataPtr; ImgFixStringWriteProc(&data, &interp, &dataPtr, &format, &blockPtr); Index: pTk/mTk/additions/imgObj.c --- Tk-804.025_beta12/pTk/mTk/additions/imgObj.c 2003-07-27 17:30:55.000000000 +0100 +++ Tk-804.025_beta13/pTk/mTk/additions/imgObj.c 2003-12-23 17:17:21.000000000 +0000 @@ -355,10 +355,6 @@ Tcl_Obj **format; Tk_PhotoImageBlock **blockPtr; { - if (!*blockPtr) { - *blockPtr = (Tk_PhotoImageBlock *) *format; - *format = (Tcl_Obj *) *dataPtr; - *dataPtr = data; - Tcl_DStringInit(data); - } + *dataPtr = data; + Tcl_DStringInit(data); } Index: pTk/mTk/additions/imgXBM.c --- Tk-804.025_beta12/pTk/mTk/additions/imgXBM.c 2003-07-27 17:30:55.000000000 +0100 +++ Tk-804.025_beta13/pTk/mTk/additions/imgXBM.c 2003-12-23 17:02:50.000000000 +0000 @@ -59,8 +59,7 @@ char *fileName, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int StringWriteXBM _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int CommonReadXBM _ANSI_ARGS_((Tcl_Interp *interp, ParseInfo *parseInfo, @@ -567,14 +566,14 @@ *---------------------------------------------------------------------- */ static int -StringWriteXBM(interp, dataPtr, format, blockPtr) +StringWriteXBM(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { int result; Tcl_DString data; + Tcl_DString *dataPtr; ImgFixStringWriteProc(&data, &interp, &dataPtr, &format, &blockPtr); Index: pTk/mTk/additions/imgXPM.c --- Tk-804.025_beta12/pTk/mTk/additions/imgXPM.c 2003-07-27 17:30:55.000000000 +0100 +++ Tk-804.025_beta13/pTk/mTk/additions/imgXPM.c 2003-12-23 17:04:14.000000000 +0000 @@ -69,8 +69,7 @@ int destX, int destY, int width, int height, int srcX, int srcY)); static int StringWriteXPM _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); static int FileWriteXPM _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); @@ -834,14 +833,14 @@ *---------------------------------------------------------------------- */ static int -StringWriteXPM(interp, dataPtr, format, blockPtr) +StringWriteXPM(interp, format, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *format; Tk_PhotoImageBlock *blockPtr; { int result; Tcl_DString data; + Tcl_DString *dataPtr; ImgFixStringWriteProc(&data, &interp, &dataPtr, &format, &blockPtr); result = CommonWriteXPM(interp, "unknown", dataPtr, format, blockPtr); if ((result == TCL_OK) && (dataPtr == &data)) { Index: pTk/mTk/generic/tk.h --- Tk-804.025_beta12/pTk/mTk/generic/tk.h 2003-12-19 11:54:51.000000000 +0000 +++ Tk-804.025_beta13/pTk/mTk/generic/tk.h 2003-12-23 18:38:43.000000000 +0000 @@ -1517,8 +1517,7 @@ typedef int (Tk_ImageFileWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); typedef int (Tk_ImageStringWriteProc) _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *format, - Tk_PhotoImageBlock *blockPtr)); + Tcl_Obj *format, Tk_PhotoImageBlock *blockPtr)); #endif /* @@ -1806,7 +1805,7 @@ EXTERN void Tk_ChangeScreen _ANSI_ARGS_((Tcl_Interp *interp, char *dispName, int screenIndex)); -EXTERN Var LangFindVar _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window, char *name)); +EXTERN Var LangFindVar _ANSI_ARGS_((Tcl_Interp * interp, Tk_Window, CONST char *name)); EXTERN Tcl_Obj * LangWidgetObj _ANSI_ARGS_((Tcl_Interp *interp, Tk_Window)); EXTERN Tcl_Obj * LangFontObj _ANSI_ARGS_((Tcl_Interp *interp, Tk_Font font, char *name)); Index: pTk/mTk/generic/tkButton.c --- Tk-804.025_beta12/pTk/mTk/generic/tkButton.c 2003-12-19 11:54:51.000000000 +0000 +++ Tk-804.025_beta13/pTk/mTk/generic/tkButton.c 2003-12-23 18:35:50.000000000 +0000 @@ -1118,9 +1118,7 @@ Tcl_Obj *valuePtr, *namePtr; if (butPtr->selVarNamePtr == NULL) { - butPtr->selVarNamePtr = Tcl_NewStringObj( - Tk_Name(butPtr->tkwin), -1); - Tcl_IncrRefCount(butPtr->selVarNamePtr); + butPtr->selVarNamePtr = LangFindVar(interp, butPtr->tkwin, Tk_Name(butPtr->tkwin)); } namePtr = butPtr->selVarNamePtr; Index: pTk/mTk/generic/tkImgPhoto.c --- Tk-804.025_beta12/pTk/mTk/generic/tkImgPhoto.c 2003-12-19 11:54:53.000000000 +0000 +++ Tk-804.025_beta13/pTk/mTk/generic/tkImgPhoto.c 2003-12-23 17:08:01.000000000 +0000 @@ -412,7 +412,6 @@ static void ImgPhotoInstanceSetSize _ANSI_ARGS_(( PhotoInstance *instancePtr)); static int ImgStringWrite _ANSI_ARGS_((Tcl_Interp *interp, - Tcl_DString *dataPtr, Tcl_Obj *formatString, Tk_PhotoImageBlock *blockPtr)); static char * ImgGetPhoto _ANSI_ARGS_((PhotoMaster *masterPtr, @@ -907,7 +906,6 @@ * photo data command - first parse and check any options given. */ Tk_ImageStringWriteProc *stringWriteProc = NULL; - Tcl_DString buffer; index = 2; memset((VOID *) &options, 0, sizeof(options)); @@ -973,8 +971,7 @@ */ data = ImgGetPhoto(masterPtr, &block, &options); - - result = stringWriteProc(interp, &buffer, options.format, &block); + result = stringWriteProc(interp, options.format, &block); if (options.background) { Tk_FreeColor(options.background); } @@ -5637,9 +5634,8 @@ */ static int -ImgStringWrite(interp, dataPtr, formatString, blockPtr) +ImgStringWrite(interp, formatString, blockPtr) Tcl_Interp *interp; - Tcl_DString *dataPtr; Tcl_Obj *formatString; Tk_PhotoImageBlock *blockPtr; { Index: pTk/tk.t --- Tk-804.025_beta12/pTk/tk.t 2003-12-21 11:38:44.000000000 +0000 +++ Tk-804.025_beta13/pTk/tk.t 2003-12-23 18:38:51.000000000 +0000 @@ -7,7 +7,7 @@ #ifndef LangFindVar #ifndef RC_INVOKED -VFUNC(Var,LangFindVar,V_LangFindVar,_ANSI_ARGS_((Tcl_Interp * interp, Tk_Window, char *name))) +VFUNC(Var,LangFindVar,V_LangFindVar,_ANSI_ARGS_((Tcl_Interp * interp, Tk_Window, CONST char *name))) #endif /* #ifndef RC_INVOKED */ #endif /* #ifndef LangFindVar */ Index: pod/HList.pod --- Tk-804.025_beta12/pod/HList.pod 2003-07-19 09:39:41.000000000 +0100 +++ Tk-804.025_beta13/pod/HList.pod 2003-12-23 18:44:28.000000000 +0000 @@ -715,8 +715,10 @@ =item I<$hlist>-EB(B) -Returns a list of selected entries in the HList widget. If no entries -are selected, returns an empty string. +Returns a list of selected entries in the HList widget. In scalar +context, returns an anonymous list of the selected entries. +If no entries are selected, undef is returned in scalar context, and +an empty list otherwise. =back Index: pod/UserGuide.pod --- Tk-804.025_beta12/pod/UserGuide.pod 2003-12-21 12:32:46.000000000 +0000 +++ Tk-804.025_beta13/pod/UserGuide.pod 2003-12-22 18:30:29.000000000 +0000 @@ -104,8 +104,7 @@ =head1 Standard Tk widgets -Here is an itemize of the standard Tk widget set. Perl/Tk provides an equal -number of new widgets, above and beyond this core set. +Here is an itemize of the standard Tk widget set. =over 4 @@ -147,6 +146,53 @@ =back +Perl/Tk provides an equal number of new widgets, above and beyond this +core set. + +=over 4 + +=item Adjuster + +=item Ballon + +=item BrowseEntry + +=item ColorEditor + +=item DirTree + +=item ErrorDialog + +=item FileSelect + +=item HList + +=item LabEntry + +=item LabFrame + +=item NoteBook + +=item Optionmenu + +=item Pane + +=item ProgressBar + +=item ROText + +=item Table + +=item TextUndo + +=item Tiler + +=item TList + +=item Tree + +=back + =head1 Variables and callback routines Most graphical interfaces are used to set up a set of values and conditions, Index: t/TkTest.pm --- Tk-804.025_beta12/t/TkTest.pm 2003-12-14 19:44:50.000000000 +0000 +++ Tk-804.025_beta13/t/TkTest.pm 2003-12-23 10:30:13.000000000 +0000 @@ -6,20 +6,14 @@ use strict; use vars qw(@EXPORT $eps $VERSION); -$VERSION = sprintf '4.%03d', q$Revision: #2 $ =~ /\D(\d+)\s*$/; +$VERSION = sprintf '4.%03d', q$Revision: #3 $ =~ /\D(\d+)\s*$/; use base qw(Exporter); @EXPORT = qw(ok_float); -use POSIX qw(DBL_EPSILON LDBL_EPSILON); -use Config; +use POSIX qw(DBL_EPSILON); use Test qw(ok); - -if ($Config{uselongdouble}) { - $eps = LDBL_EPSILON; -} else { - $eps = DBL_EPSILON; -} +$eps = DBL_EPSILON; sub ok_float ($$;$) { Index: t/button.t --- /dev/null 2003-09-23 18:59:22.000000000 +0100 +++ Tk-804.025_beta13/t/button.t 2003-12-23 18:35:50.000000000 +0000 @@ -0,0 +1,31 @@ +#!/usr/bin/perl -w +# -*- perl -*- + +use strict; + +use Tk; + +BEGIN { + if (!eval q{ + use Test::More; + 1; + }) { + print "1..0 # skip: no Test::More module\n"; + exit; + } +} + +BEGIN { plan tests => 3 } + +my $mw = MainWindow->new; +$mw->geometry("+10+10"); + +{ + my $cb = $mw->Checkbutton->pack; + is(ref $cb, "Tk::Checkbutton"); + is($cb->{Value}, undef); + $cb->select; + is($cb->{Value}, 1); +} + +__END__ Index: t/entry.t --- Tk-804.025_beta12/t/entry.t 2003-12-11 12:45:34.000000000 +0000 +++ Tk-804.025_beta13/t/entry.t 2003-12-23 11:24:41.000000000 +0000 @@ -31,7 +31,7 @@ } } -BEGIN { plan tests => 336, todo => [181] } +BEGIN { plan tests => 336 } my $mw = Tk::MainWindow->new(); $mw->geometry('+10+10'); @@ -83,6 +83,11 @@ } } } +my $skip_wm_test; +unless (defined($ENV{WINDOWMANAGER}) && + $ENV{WINDOWMANAGER} eq '/usr/X11R6/bin/kde') { + $skip_wm_test = "window manager dependent tests"; +} my $i; @@ -634,16 +639,12 @@ eval { $e->destroy }; -if (1) - { - $e = $mw->Entry(-width => 0)->pack; - $e->insert(end => "0123"); - $e->update; - $e->configure(-font => $big); - $e->update; - ok($e->geometry, qr/62x3\d\+0\+0/); - } - +$e = $mw->Entry(-width => 0)->pack; +$e->insert(end => "0123"); +$e->update; +$e->configure(-font => $big); +$e->update; +skip($skip_wm_test, $e->geometry, qr/62x3\d\+0\+0/); eval { $e->destroy }; $e = $mw->Entry(-font => $fixed, -bd => 2, -relief => "raised")->pack; @@ -1242,7 +1243,7 @@ $e->delete(qw(0 end)); $e->insert(qw(0 .............................)); -skip($skip_font_test, join(" ", map { substr($_, 0, 8) } $e->xview), "0 0.827586"); +skip($skip_font_test || $skip_wm_test, join(" ", map { substr($_, 0, 8) } $e->xview), "0 0.827586"); $e->delete(qw(0 end)); $e->insert(qw(0 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX)); @@ -1256,7 +1257,7 @@ $e->configure(-show => '.'); $e->delete(qw(0 end)); $e->insert(qw(0 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX)); -skip($skip_font_test, join(" ", map { substr($_, 0, 8) } $e->xview), "0 0.827586"); +skip($skip_font_test || $skip_wm_test, join(" ", map { substr($_, 0, 8) } $e->xview), "0 0.827586"); $e->configure(-show => ""); $e->delete(qw(0 end)); @@ -1275,13 +1276,13 @@ $e->insert(qw(0 0123456789abcdef)); $e->xview(3); $e->update; -ok(join(" ",@scrollInfo),"0.1875 0.8125"); +skip($skip_font_test || $skip_wm_test, join(" ",@scrollInfo),"0.1875 0.8125"); $e->delete(qw(0 end)); $e->insert(qw(0 abcdefghijklmnopqrs)); $e->xview(6); $e->update; -ok(join(" ",map { sprintf "%8f", $_ } @scrollInfo),"0.315789 0.842105"); +skip($skip_font_test || $skip_wm_test, join(" ",map { sprintf "%8f", $_ } @scrollInfo),"0.315789 0.842105"); Tk::catch {$e->destroy}; my $err; Index: t/photo.t --- Tk-804.025_beta12/t/photo.t 2003-08-24 18:36:31.000000000 +0100 +++ Tk-804.025_beta13/t/photo.t 2003-12-23 17:27:14.000000000 +0000 @@ -14,7 +14,7 @@ my $mw = MainWindow->new(); $mw->geometry('+100+100'); -plan tests => (2*(5 * $numFormats) + 2); +plan tests => (2*(7 * $numFormats) + 2); my @files = (); @@ -32,6 +32,7 @@ foreach $kind ($src->formats) { + print "# Testing $kind\n"; my $f = lc("t/test.$kind"); my $p = $f; push(@files,$f); @@ -44,14 +45,44 @@ eval { $new = $mw->Photo(-file => $f, -format => "$kind") }; ok($@,''," load $@"); ok(defined($new),1,"Could not load $f"); + + my $skip_unsupported_data_format = $kind =~ /^(PPM)$/ ? "$kind is not supported" : ""; + + my $data; + my $new2; + if ($skip_unsupported_data_format) + { + Tk::catch { $data = $src->data(-format => $kind) }; + ok($@,qr/image string format "$kind" is not supported/,"Error messaage"); + skip("No data for $kind",1,1); + } + else + { + $data = $src->data(-format => $kind); + ok(defined($data) && $data ne "", 1, "$kind returns data"); + if (defined $data) + { + $new2 = $mw->Photo(-data => $data, -format => $kind) if defined $data; + ok(defined $new2, 1,"Data back to image"); + } + else + { + skip("No data was returned",1); + } + } + $mw->Label(-text => $kind)->grid(-row => $row, -column => $col); - $mw->Label(-background => 'white', -image => $new)->grid(-row => $row+1, -column => $col++); + $mw->Label(-background => 'white', -image => $new)->grid(-row => $row+1, -column => $col); + if (defined $new2) { + $mw->Label(-background => 'white', -image => $new2)->grid(-row => $row+2, -column => $col); + } $mw->update; + $col++; } - $row += 2; + $row += 3; } -$mw->after(1000,[destroy => $mw]); +$mw->after(2500,[destroy => $mw]); MainLoop; foreach (@files) Index: t/pixmap.t --- /dev/null 2003-09-23 18:59:22.000000000 +0100 +++ Tk-804.025_beta13/t/pixmap.t 2003-12-23 18:27:55.000000000 +0000 @@ -0,0 +1,32 @@ +#!/usr/bin/perl -w +use strict; +use Test; +plan tests => 1; + +my($icon)=<<'END'; +/* XPM */ +static char * junk_xpm[] = { +"10 10 6 1", +" c #000000", +". c #FFFFFF", +"X c #B129F8", +"o c #F869A6", +"O c #00FF00", +"+ c #1429F8", +" X..oo.+. ", +" .X....+. ", +" ..X...+. ", +" o..X.... ", +" oo..X... ", +" .oo..X.. ", +" ......X. ", +" .+.....X ", +" .+..oo.. ", +" .+...oo. "}; +END +use Tk; +my $mw = tkinit; +my $label = $mw->Label(-image=>$mw->Pixmap(-data=>$icon))->pack; +$mw->after(1000,[destroy => $mw]); +MainLoop; +ok(1); Index: t/wm.t --- /dev/null 2003-09-23 18:59:22.000000000 +0100 +++ Tk-804.025_beta13/t/wm.t 2003-12-23 18:19:51.000000000 +0000 @@ -0,0 +1,39 @@ +#!/usr/bin/perl -w +# -*- perl -*- + +# +# $Id: $ +# Author: Slaven Rezic +# + +use strict; + +use Tk; + +BEGIN { + if (!eval q{ + use Test::More; + 1; + }) { + print "1..0 # skip: no Test::More module\n"; + exit; + } +} + +BEGIN { plan tests => 1 } + +my $mw = MainWindow->new; +$mw->withdraw; +$mw->geometry("+10+10"); +my $icon = $mw->Photo(-format => 'gif', + -file => Tk->findINC('Xcamel.gif')); +$mw->iconimage($icon); +$mw->iconify; +$mw->idletasks; +ok(1); +$mw->after(1000,[destroy => $mw]); +MainLoop; + +__END__ + + Index: t/zzScrolled.t --- Tk-804.025_beta12/t/zzScrolled.t 2003-07-19 09:39:43.000000000 +0100 +++ Tk-804.025_beta13/t/zzScrolled.t 2003-12-23 10:43:47.000000000 +0000 @@ -91,15 +91,15 @@ ## ReSet eval { $scrl->configure($opt=>$oldsize); }; ok($@, "", "Reset size: configure $opt => $oldsize"); + eval { $mw->update; }; eval { $newsize = $text->cget($opt); }; ok($@, "", "Reset size: text cget $opt"); ok($newsize, $oldsize, "Reset size: scrolled $opt "); - eval { $mw->update; }; ok($@, "", "Sizechg: Error reset update configure $opt"); eval { $newgeo = $scrl->geometry; }; ok($@, "", "Sizechk: reset geometry $opt"); ok($newgeo, $oldgeo, "Sizechk: geometry has not changed not reset" . - "for $opt => $oldsize+($chg)" + " for $opt => $oldsize+($chg)" ); } } Index: tkGlue.c --- Tk-804.025_beta12/tkGlue.c 2003-12-21 20:00:58.000000000 +0000 +++ Tk-804.025_beta13/tkGlue.c 2003-12-23 18:42:08.000000000 +0000 @@ -3999,7 +3999,7 @@ LangFindVar(interp, tkwin, name) Tcl_Interp *interp; Tk_Window tkwin; -char *name; +CONST char *name; { dTHX; if (tkwin) __END_OF_PATCH__