summaryrefslogtreecommitdiffstats
path: root/generic/tk.h
Commit message (Collapse)AuthorAgeFilesLines
* Add dummy user_data field to XVirtualEvent, for improved upwards ↵jan.nijtmans2011-10-111-0/+5
| | | | compatibility with Tk 8.5
* Purge RCS Keywords.dgp2011-06-081-2/+0
|
* * generic/tk.h: Restore _TCL guards around tcl.h inclusion to restoredgp2009-04-091-1/+3
| | | | compat with early 8.4.* releases. Thanks Stuart Cassoff. [Bug 1723812]
* Fix for [Bug 2010422]: account for X11 changing constant LASTEvent.jenglish2008-08-061-9/+7
|
* * README: Bump version number to 8.4.19dgp2008-04-071-3/+3
| | | | | | | | | | | | * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure: * changes: updates for 8.4.19 release.
* *** 8.4.18 TAGGED FOR RELEASE ***dgp2008-02-061-3/+3
| | | | | | | | | | | | | * README: Bump version number to 8.4.18 * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure: * changes: updates for 8.4.18 release.
* * README: Bump version number to 8.4.17dgp2007-10-021-3/+3
| | | | | | | | | | * generic/tk.h: * unix/configure.in: Removed "es_ES" entry in LOCALES * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure:
* * generic/tk.h: Correct placement of #include <tcl.h> [Bug 1723812].dgp2007-05-301-8/+6
|
* * README: Bump version number to 8.4.16dgp2007-05-301-3/+3
| | | | | | | | | | * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure:
* * README: Bump version number to 8.4.15dgp2006-10-231-3/+3
| | | | | | | | | | * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure:
* * README: Bump version number to 8.4.14dgp2006-05-041-3/+3
| | | | | | | | | | * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure:
* * READNE: Bump version number to 8.4.13 and updatedgp2006-03-071-3/+3
| | | | | | | | * changes: changes to start prep for an 8.4.13 release. * generic/tk.h: * unix/configure{.in}: * unix/tk.spec: * win/configure{.in}:
* * generic/tk.decls: fix signature of TkMacOSXInvalClipRgnsdas2006-02-091-12/+1
| | | | | | | | | | * generic/tkPlatDecls.h: to use Tk_Window instead of internal * macosx/tkMacOSXSubwindows.c: type TkWindow (which led to any include * macosx/tkMacOSXWindowEvent.c: of public header tkMacOSX.h requiring * macosx/tkMacOSXWm.c: prior include of tkInt.h). * generic/tk.h: move TkAqua specific REDO_KEYSYM_LOOKUP define * macosx/tkMacOSXPort.h: out of tk.h into platform header.
* * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tcl/unix/configure.in. * unix/Makefile.in: add CFLAGS to wish/tktest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of wish and compiling of tkTestInit.o during parallel make, fix dependencies and flags for building tkMacOSXInit.o (checkstubs, checkexports): dependency and Darwin fixes * macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent): * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): * macosx/tkMacOSXCarbonEvents.c: install standard application event handler, add & call functions to start and stop carbon even timer that runs the tcl event loop periodically during a nested carbon event loop in the toolbox (e.g. during menutracking) to ensure tcl timers etc continue to fire, register app event handler for menu tracking and HI command carbon events, move menu event handling to new handlers for those carbon events, no longer register for/handle appleevent carbon event (now dealt with by standard application event handler), event debugging code dynamically acquires carbon event debugging functions to allow use on Tiger where they are no longer exported from HIToolbox. * macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText): * macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout): * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: abstract common code to dynamically acquire address of a named symbol (from a loaded dynamic library) into new function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol. * macosx/tkMacOSXMenu.c (TkpNewMenu): * macosx/tkMacOSXMenubutton.c (MenuButtonInitControl): * macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to modern utf8 aware menu manager API, remove obsolete code, add error handling. * macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants if necessary to allow compilation on OSX 10.2 * macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never executed. * generic/tk.h: add/correct location of version numbers in macosx files. * generic/tkInt.h: clarify fat compile comment. * macosx/Wish.pbproj/default.pbxuser (new file): * macosx/Wish.pbproj/jingham.pbxuser: * macosx/Wish.pbproj/project.pbxproj: sync with HEAD. * macosx/buildTkConfig.tcl (removed): remove obsolete build files. * macosx/README: clarification/cleanup, sync with HEAD, document universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time). * macosx/Makefile: add support for reusing configure cache, build target fixes. * generic/tkMenu.c: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXSubwindows.c: * xlib/xgc.c: declare functions and globals used only in own file as static, #ifdef out a few Xlib and aqua functions that are never called (sync with HEAD). * macosx/tkMacOSXPort.h: * generic/tkInt.decls: correct signature of TkMacOSXHandleMenuSelect, add XSync to aqua Xlib stubs. * generic/tkTest.c: #ifdef unix only declarations. (TestmetricsCmd): unify win and mac implementation. * generic/tkTextDisp.c: * generic/tkTextBTree.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXXStubs.c: fix gcc 4 warnings. * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXTest.c: sync with HEAD. * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkStubInit.c: * unix/configure: regen.
* * README: Bump version number to 8.4.12dgp2005-11-161-3/+3
| | | | | | | | | | | * generic/tk.h: * macosx/Wish.pbproj/project.pbxproc: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf * win/configure:
* * README: Bump version number to 8.4.11dgp2005-06-181-3/+3
| | | | | | | | | | | | * generic/tk.h: * macosx/Wish.pbproj/project.pbxproc: * unix/configure.in: * win/configure.in: * unix/configure.in: Updated LOCALES to cover all msgs catalogs. * unix/configure: autoconf * win/configure:
* * README: Bumped patchlevel to 8.4.10hobbs2005-05-271-3/+3
| | | | | | | * generic/tk.h: * macosx/Wish.pbproj/project.pbxproj: * unix/configure, unix/configure.in, unix/tk.spec: * win/configure, win/configure.in:
* bumped patchlevel to 8.4.9hobbs2004-11-251-3/+3
|
* * README: Bumped to patch level 8.4.8dgp2004-10-281-3/+3
| | | | | | | | | | | * generic/tk.h: to prepare for next patch * macosx/Wish.pbproj/project.pbxproj: release. * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf (2.13) * win/configure:
* updated to patchlevel 8.4.7hobbs2004-07-141-3/+3
|
* update to patchlevel 8.4.6hobbs2004-02-131-3/+3
|
* * generic/tk.h: Bumped patch level to 8.4.5.1 to distinguishdgp2003-12-031-3/+3
| | | | | | | | | * unix/configure.in: CVS snapshots from the 8.4.5 release. * unix/tk.spec: * win/configure.in: * unix/configure: autoconf (2.13) * win/configure:
* * README: Bumped patch level to 8.4.6 to distinguishdgp2003-12-031-3/+3
| | | | | | | | | | | * generic/tk.h: CVS snapshots from the 8.4.5 release. * unix/configure.in: * unix/tk.spec: * win/configure.in: * macosx/Wish.pbproj/project.pbxproj: * unix/configure: autoconf (2.13) * win/configure:
* * README: Bumped to patch level 8.4.5dgp2003-10-031-3/+3
| | | | | | | | | | | * generic/tk.h: to prepare for next patch * macosx/Wish.pbproj/project.pbxproj: release. * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf (2.13) * win/configure:
* * README: Bumped patchlevel to 8.4.4 in preparationdgp2003-07-151-3/+3
| | | | | | | | | | | * generic/tk.h: for the Tk 8.4.4 release. * macosx/Wish.pbproj/project.pbxproj: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf (2.13) * win/configure:
* Bumped version to 8.4.3hobbs2003-05-151-3/+3
|
* * README: Bumped to 8.4.2.hobbs2003-02-151-3/+3
| | | | | | | | | | | * generic/tk.h: * macosx/Wish.pbproj/project.pbxproj: * unix/configure: * unix/configure.in: * unix/tcl.m4: * unix/tk.spec: * win/configure: * win/configure.in:
* * generic/tk.h: Added reminder comment to editdgp2002-10-091-1/+3
| | | | macosx/Wish.pbproj/project.pbxproj when version number changes.
* * README: Bumped to version 8.4.1 to avoid confusiondgp2002-09-271-3/+3
| | | | | | | | | | | * generic/tk.h: of CVS snapshots with release 8.4.0. * unix/README: * unix/configure.in: * unix/tk.spec * win/configure.in: * unix/configure: autoconf * win/configure:
* * generic/tk.h: Moved RC_INVOKED down so that tcl.h is stillandreas_kupries2002-09-141-13/+13
| | | | | | | | included when running the resource compiler. <tcl.h> excludes the unnecessary parts on its own. This reenables the Windows build. It failed because the non-inclusion of tcl.h caused the resource compiler to miss some vital macro definitions (TCL_FINAL_RELEASE, STRINGIFY, ...).
* * generic/tk.h:das2002-09-121-16/+11
| | | | | | | | | | | | | | | | | | * mac/tkMacApplication.r: * mac/tkMacLibrary.r: * mac/tkMacResource.r: * macosx/tkAboutDlg.r: * macosx/tkMacOSXApplication.r: * macosx/tkMacOSXLibrary.r: * macosx/tkMacOSXResource.r: unified use of the two equivalent resource compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED, now use RC_INVOKED throughout. * macosx/tkMacOSXAppInit.c: improved detection of Wish startup by the finder (by checking if stdin is /dev/null), in which case we want to bring up the Tk console window. * macosx/tkMacOSXHLEvents.c: added 'rapp' apple event handler.
* Bumped version number to 8.4.0hobbs2002-09-021-4/+4
|
* *** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***macosx_8_4_merge_2002_08_31_trunkdas2002-08-311-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tk.decls: * generic/tkInt.decls: added new "aqua" specific entries to the stubs tables. Changed all "unix" entries to "x11" to allow us to distinguish and build both "aqua" on MacOSX and "x11" on MacOSX. * generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can be passed to the resource compiler. * generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem] subcommand: returns "x11" when running on X11, "win32" on Windows, "classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon) * generic/tkFont.c (TkFontGetFirstTextLayout): new private function returning the first chunk of a Tk_TextLayout, i.e. until the first font change on the first line (or the whole first line if there is no such font change). * generic/tkMain.c: made Tcl_ThreadDataKey static * library/demos/puzzle.tcl: fixed button metrics for aqua * tests/cursor.test: check for presence of arrow cursor instead of heart cursor * xlib/xcolors.c: changed xColors static initialization to more standard C * macosx/Wish.pbproj/jingham.pbxuser (new): * macosx/Wish.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE. * macosx/Makefile (new): simple makefile for building the project from the command line via the ProjectBuilder tool 'pbxbuild'. * macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking for a AppMain.tcl file in its bundled Resources/Scripts folder. If present, argv[1] is set to that file and the Scripts folder is added to the auto_path. This allows tk apps to embed scripts within their bundle directory structure. * macosx/tkMacOSXInit.c (new): macosx adapted version of tkUnixInit.c: we initialize & cache the Carbon native encoding (e.g. 'macRoman') and try to find the tk script library files inside Tk packaged as a framework. * macosx/tkMacOSXNotify.c (new): new macosx specific merged Carbon/select-based notifier. * macosx/tkMacOSXEvent.c (new): * macosx/tkMacOSXEvent.h (new): * macosx/tkMacOSXKeyEvent.c (new): * macosx/tkMacOSXMouseEvent.c (new): * macosx/tkMacOSXWindowEvent.c (new): new macosx specific event handling functionality. * macosx/tkMacOSX.h (new): * macosx/tkMacOSXBitmap.c (new): * macosx/tkMacOSXButton.c (new): * macosx/tkMacOSXClipboard.c (new): * macosx/tkMacOSXColor.c (new): * macosx/tkMacOSXConfig.c (new): * macosx/tkMacOSXCursor.c (new): * macosx/tkMacOSXDefault.h (new): * macosx/tkMacOSXDialog.c (new): * macosx/tkMacOSXDraw.c (new): * macosx/tkMacOSXEmbed.c (new): * macosx/tkMacOSXFont.c (new): * macosx/tkMacOSXHLEvents.c (new): * macosx/tkMacOSXInt.h (new): * macosx/tkMacOSXKeyboard.c (new): * macosx/tkMacOSXMenu.c (new): * macosx/tkMacOSXMenubutton.c (new): * macosx/tkMacOSXMenus.c (new): * macosx/tkMacOSXPort.h (new): * macosx/tkMacOSXRegion.c (new): * macosx/tkMacOSXScale.c (new): * macosx/tkMacOSXScrlbr.c (new): * macosx/tkMacOSXSubwindows.c (new): * macosx/tkMacOSXTest.c (new): * macosx/tkMacOSXUtil.c (new): * macosx/tkMacOSXUtil.h (new): * macosx/tkMacOSXWm.c (new): * macosx/tkMacOSXWm.h (new): * macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk implementation in tk/mac. * macosx/tkMacOSXSend.c (new): only send to local interp implemented currently. * macosx/tkMacOSXDebug.h (new): * macosx/tkMacOSXDebug.c (new): new macosx specific functions for debugging MacOS events, regions, etc. * macosx/tkAboutDlg.r (new): * macosx/tkMacOSXApplication.r (new): * macosx/tkMacOSXCursors.r (new): * macosx/tkMacOSXLibrary.r (new): * macosx/tkMacOSXMenu.r (new): * macosx/tkMacOSXResource.r (new): * macosx/tkMacOSXXCursors.r (new): * macosx/tclets.r (new): sources for Rez resource compiler. * macosx/Wish.icns (new): Wish application icon. * generic/tk.h: * generic/default.h: * generic/tkBind.c: * generic/tkCmds.c: * generic/tkGrab.c: * generic/tkPointer.c: * generic/tkPort.h: * generic/tkSelect.c: * generic/tkStubLib.c: * generic/tkTest.c: * generic/tkText.c: * generic/tkWindow.c: * unix/tkUnix3d.c: * xlib/xgc.c: * xlib/X11/X.h: * xlib/X11/Xlib.h: * xlib/X11/Xutil.h: added #includes and #ifdefs for macosx * library/bgerror.tcl: * library/button.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/scrlbar.tcl: * library/spinbox.tcl: * library/text.tcl: * library/tk.tcl: * library/demos/menu.tcl: * library/demos/menubu.tcl: * library/demos/widget: check [tk windowingsystem] instead of and/or in addition to $tcl_platform(platform). * generic/tkInt.h: * mac/tkMacBitmap.c: * mac/tkMacWm.c: added missing CONSTification * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkPlatDecls.h: * generic/tkStubInit.c: regen
* * README: Bumped version number to 8.4b3 to distinguishmacosx_8_4_merge_2002_08_20_trunkdgp2002-08-201-3/+6
| | | | | | | | | | | | | | * generic/tk.h: HEAD from the 8.4b2 release. * unix/configure.in: * win/configure.in: * unix/tk.spec: * unix/configure: autoconf * win/configure: * generic/tk.h: Added compile-time check that the tcl.h header file #included by Tk 8.4 is one from Tcl 8.4. This is needed to be sure that new #defines like CONST84 are available. [Bug 597432].
* Applied companion patch for Tcl Patch 585105,dgp2002-08-051-6/+6
| | | | | | | | | | | | | | | | | | | | | updating Tk to use Tcl 8.4's fully CONST-ified interface, and fully CONSTifying Tk at the same time. This patch includes purging Tk of its last direct access to interp->result. [Bug 589853] The substantial changes include copying event sequence strings into Tcl_DStrings in tkBind.c, and copying [text] indices into Tcl_DStrings because parsing them involved overwriting them. If this causes performance trouble, that can be resolved by further converting them to Tcl_Obj's. The #defines USE_NON_CONST and USE_COMPAT_CONST have the same effect for Tk as they do for Tcl. (They actually change tcl.h)
* * Bumped HEAD to version 8.4b2 in order to distinguish it fromdgp2002-07-141-3/+3
| | | | | the 8.4b1 release. Also extended LOCALES to cover all message catalogs.
* Tk patchlevel bumped to 8.4b1 in preparation for release.dkf2002-06-221-4/+4
|
* Added TIP#48 style engine implementationdkf2002-06-181-2/+77
| | | | Frederic Bonnet to supply docs+tests as soon as possible.
* Trims to support the removal of RESOURCE_INCLUDED from rcdavygrvy2002-06-181-3/+3
| | | | | | | | | | scripts from Tcl's accepted FR #565088. * generic/tk.h: Changed RESOURCE_INCLUDED to be RC_INVOKED as the RC tool defines this already by default. * win/rc/tk.rc: * win/rc/wish.rc: removed the #define RESOURCE_INCLUDED lines.
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-4/+24
| | | | | | | | (patch from Neil McKay). * Add CirculateRequest, Create, MapRequest, ResizeRequest, and ConfigureRequest event types; * Split TK_TOPLEVEL flag into TK_TOPLEVEL, TK_HAS_WRAPPER, TK_WIN_MANAGED, and TK_TOP_HIERARCHY.
* Changed some _Old and _OLD to more descriptive terms.dkf2002-06-141-5/+5
|
* TIP#98 implementation; improved photo image copy and GIF frame accessdkf2002-06-141-1/+30
|
* Bumped patchlevel; might need changing in the future, but it makes lifedkf2002-03-061-3/+3
| | | | easier for now.
* Geometry manager changes to support TIP#18.pspjuth2001-09-261-3/+19
|
* *Bumped up patchlevel to 8.4a4 to distinguishdgp2001-08-081-3/+3
| | | | | CVS snapshots from the 8.4a3 release. This does not necessarily mean there will be an 8.4a4 release. [Bug 448938].
* * doc/TkInitStubs.3:hobbs2001-05-221-2/+2
| | | | | | * generic/tk.h: * generic/tkStubLib.c: CONST'ified Tk_InitStubs to match CONST changes to Tcl_PkgRequireEx.
* * generic/tk.h:hobbs2001-04-021-4/+4
| | | | | | | | * unix/configure.in (TK_PATCH_LEVEL): * unix/configure: * unix/tk.spec: * win/configure.in (TK_PATCH_LEVEL): * win/configure: updated patchlevel to 8.4a3
* Overall change: Implemented TIP 5, which exportsericm2000-11-221-1/+46
| | | | | | | | | TkClassProcs/TkSetClassProcs as Tk_ClassProcs/Tk_SetClassProcs, adding a size field to Tk_ClassProcs to allow for future expansion, and renaming the geometryProc to worldChangedProc, which is more in keeping with the actual use of the callback. See ChangeLog for details.
* * generic/tkCmds.c (Tk_WinfoObjCmd): Added check forericm2000-10-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | TK_ANONYMOUS_WINDOW flag in the [winfo children] subcommand; if set, the window will not be printed in the list of children. * doc/CrtWindow.3: Added entry for Tk_CreateAnonymousWindow. * generic/tkWindow.c (Tk_CreateAnonymousWindow): New API for creating anonymous windows. These windows are manipulable from C, but not from Tcl, because they have no pathname associated with them. They are used initially by widgets that do rubber-band resizing (panedwindow, multi-column listbox, etc.), and may be useful for other widgets as well (dropbox, combobox). (Tk_DestroyWindow): Added check for TK_ANONYMOUS_WINDOW flag when determining whether to generate a DestroyNotify event. * generic/tkStubInit.c: * generic/tkDecls.h: Regen'd from tk.decls. * generic/tk.decls: Added Tk_CreateAnonymousWindow declaration. * generic/tk.h: Added TK_ANONYMOUS_WINDOW flag for Tk_Window's.
* * generic/tkTest.c: Fixed tests to use updated API.ericm2000-09-291-4/+4
| | | | | | | | | | | * doc/SetOptions.3: * generic/tk.h: * generic/tkConfig.c: Changed interface for Tk_CustomOptionSetProc and Tk_CustomOptionGetProc; these now take a pointer to the start of the widget record, and an integer offset to the slot for the option value, instead of just a pointer to the slot. This allows more sophisticated options to do interesting things based on other data in the widget record.