# 
# Tk804.024 "jumbo patch" for Nick from the list ... 2003/02/02
# 
# Assumptions:
# 
# . Tk804.024.patches and Tk804.024 directories in parallel
# . cd Tk804.024.patches
# . apply patches as directed below or feed this file to /bin/sh.
# 
# 1)	Add support for Mac OS X (Darwin).
# 	  
	cd ../Tk804.024/Tk
	patch -p0  < ../../Tk804.024.patches/1-MMutil.patch
	cd -
# 
# 2)	Copy documentation from ErrorDialog.pm module to Error.pod and
# 	  describe advertised subwidgets.
# 
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/2-Error.pod.patch
	cd -
# 
# 3)	A. $repeat_id->time($new_delay)
# 	B. afterInfo()
# 	C. doc patch for above
# 
# 	A. Is a simple mod to After.pm that changes the Tk::After millisecond
# 	delay interval. If the delay is zero the timer event is canceled. In
# 	all cases the (to be) new delay is returned.  Does NOT cancel current
# 	timer event (documented).
# 
# 	B. Follows the pTk scheme of associating timers on a per-widget basis,
# 	thus afterInfo() reports only those timer events associated with the
# 	invoking widget. The Tcl/Tk "after info" command on a specific timer
# 	id returns a list of 2, the string callback, and "idle" or "timer".
# 	Similarly, the pTk afterInfo() method returns a list of 3, the
#       callback code reference, "idle" for an idle queue handler or an
#       integer millisecond value, and thirdly a string "once" or "repeat"
#       that differentiates an after() from a repeat() timer event.
# 
# 	C. ...pod/after.pod details the internals of a Tk::After object,
# 	describers the new time() method and corrects/details the afterInfo()
# 	command.
# 
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/3-After.pm.patch
	patch -p1  < ../Tk804.024.patches/3-Widget.pm.patch
	patch -p1  < ../Tk804.024.patches/3-after.pod.patch
	cd -
# 
# 4)	Patch #2 was a documentation change to .../pod/Error.pod.  This patch
# 	is to the widget itself, ErrorDialog.pm. Besides removing superfluous
# 	comments now in the POD, there is one bug fix:  add a DELETE_WINDOW
# 	hander on the stack trace window to simply close the window rather
#       than destroying it.
# 
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/4-ErrorDialog.pm.patch
	cd -
# 
# 5)	Logically move trace.pm entry points into Tk::Widget.
# 
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/5-Trace.pm.patch
	cd -
# 
# 6)	A. Add Tk::Popup.pod.
# 	B. Major Dialog changes.
# 
# 	A. Please find a new pod, Popup.pod, used by (eventually) ColorEditor,
# 	Dialog, DialogBox, ErrorDialog, FileSelect, FBox, getOpenFile and
# 	getSaveFile.
# 
# 	B. The patch adds Popup.pod to the MANIFEST, makes doc changes to
# 	Dialog.pod and DialogBox.pod, and code changes to ColorEditor.pm
# 	and DialogBox.pm.
# 
	cd ../Tk804.024
	cp ../Tk804.024.patches/6-Popup.pod pod/Popup.pod
	patch -p1  < ../Tk804.024.patches/6-dialogs1.patch
	cd -
#
#7) 	A. First pass to bring widget demo up to speed.
#	B. Use traceVariable() rather than tie().
#
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/7-widget1.patch
	patch -p1  < ../Tk804.024.patches/7-floor.pl.patch
	cd -
#
#8)	First set of Slaven Rezic's Tk804.024 patches ...
#
	cd ../Tk804.024/Tk
	patch -p0  < ../../Tk804.024.patches/8-fbox-iconlist.patch
	cd ..
	patch -p1  < ../Tk804.024.patches/8-ptkCanvGrid.c-scrollregion.patch
	cd ../Tk804.024.patches
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-DirTree.pm.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-widget_lib_style.pl.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-pack.pod.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-Wm.pod.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-Wm.pm.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-mega.pod.patch
	cd -
	cd ../Tk804.024/TextList
	patch -p0  < ../../Tk804.024.patches/8-TextList.pm.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-BrowseEntry.pm.patch
	cd -
	cd ../Tk804.024
	patch -p1  < ../Tk804.024.patches/8-BrowseEntry.pod.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/8-arrowdownwin.xbm.patch 
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/8-MANIFEST.patch
	cd -
#
#9)	fileevent patch from Brian McGurk re-integrated into Tk804.024.
#
	cd ../Tk804.024
	patch  -p1 < ../Tk804.024.patches/9-Event.xs.patch
	cd -
#
#10)	Second set of Slaven's patches.
#
	cd ../Tk804.024
	patch -p0 <../Tk804.024.patches/10-utf01.patch 
	cd -
#
# Chronologically, as they arrive ...
#
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.02.25-TextUndo.pm.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.02.26-FileSelect.pm.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.02.27.options.pod.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.02.28-NoteBook.pm.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.03.04.tixDiStyle.c.patch
	cd -
	cd ..
	patch -p0 < Tk804.024.patches/2003.03.23-Listbox.pm.patch
	cd -
	cd ../Tk804.024/Entry
	patch -p0 < ../../Tk804.024.patches/2003.03.31-Entry.pm.patch
	cd -
	cd ..
	patch -p0 < Tk804.024.patches/2003.04.04-TextUndo.pm.patch
	cd -
#
# Folowing patch fails to apply ...
#
#	cd ..
#	patch -p0 < Tk804.024.patches/2003.04.18-tkUnixWm.patch
#	cd -
#
# TODO: Ballon.pm patch fixing position of balloon for end-case window sizes
#
	cd ..
	patch -p0 < Tk804.024.patches/2003.04.19-MMutil.patch
	cd -
	cd ../Tk804.024/Tixish
	patch -p0 < ../../Tk804.024.patches/2003.04.21-Balloon.pm.patch
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.04.24-tiedvariables
	cd -
	cd ../Tk804.024
	patch -p0 < ../Tk804.024.patches/2003.05.01-NoteBook.pm.patch
	cd -
#
# Needs updating for Tk8.4
#
#	cd ../Tk804.024
#	patch -p0 < ../Tk804.024.patches/2003.05.01-chnGlue.c
#	cd -
