Mercurial > cpython-lru_cache-weakref
annotate Modules/tkappinit.c @ 87690:66c1c9f32567 default tip
Add use_weakref option to functools.lru_cache
The use_weakref option makes lru_cache create weak references to the function
arguments when creating the cache key, which prevents them from staying in the
memory forever even after all other references to them are gone.
This is a proof of concept for http://bugs.python.org/issue19859
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Tue, 03 Dec 2013 16:02:48 +0100 |
| parents | a7a9e0f46b8a |
| children |
| rev | line source |
|---|---|
|
6621
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
1 /* appinit.c -- Tcl and Tk application initialization. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
2 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
3 The function Tcl_AppInit() below initializes various Tcl packages. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
4 It is called for each Tcl interpreter created by _tkinter.create(). |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
5 It needs to be compiled with -DWITH_<package> flags for each package |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
6 that you are statically linking with. You may have to add sections |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
7 for packages not yet listed below. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
8 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
9 Note that those packages for which Tcl_StaticPackage() is called with |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
10 a NULL first argument are known as "static loadable" packages to |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
11 Tcl but not actually initialized. To use these, you have to load |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
12 it explicitly, e.g. tkapp.eval("load {} Blt"). |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
13 */ |
| 1691 | 14 |
|
32341
5d27269c9e33
Remove warning about implicit declaration of strcmp()
Neal Norwitz <nnorwitz@gmail.com>
parents:
31547
diff
changeset
|
15 #include <string.h> |
| 1691 | 16 #include <tcl.h> |
| 17 #include <tk.h> | |
| 18 | |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
19 #include "tkinter.h" |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
20 |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
21 #ifdef TKINTER_PROTECT_LOADTK |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
22 /* See Tkapp_TkInit in _tkinter.c for the usage of tk_load_faile */ |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
23 static int tk_load_failed; |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
24 #endif |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
25 |
| 1691 | 26 int |
|
13492
5087d1d45f1d
ANSI-fication (and test if committing files works now)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11444
diff
changeset
|
27 Tcl_AppInit(Tcl_Interp *interp) |
| 1691 | 28 { |
|
75635
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
29 #ifdef WITH_MOREBUTTONS |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
30 Tk_Window main_window; |
|
75635
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
31 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
32 const char *_tkinter_skip_tk_init; |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
33 #ifdef TKINTER_PROTECT_LOADTK |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
34 const char *_tkinter_tk_failed; |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
35 #endif |
| 1691 | 36 |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
37 #ifdef TK_AQUA |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
38 #ifndef MAX_PATH_LEN |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
39 #define MAX_PATH_LEN 1024 |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
40 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
41 char tclLibPath[MAX_PATH_LEN], tkLibPath[MAX_PATH_LEN]; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
42 Tcl_Obj* pathPtr; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
43 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
44 /* pre- Tcl_Init code copied from tkMacOSXAppInit.c */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
45 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tcllibrary", |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
46 tclLibPath, MAX_PATH_LEN, 0); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
47 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
48 if (tclLibPath[0] != '\0') { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
49 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
50 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
51 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
52 } |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
53 |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
54 if (tclLibPath[0] != '\0') { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
55 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
56 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
57 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
58 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
59 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
60 if (Tcl_Init (interp) == TCL_ERROR) |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
61 return TCL_ERROR; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
62 |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
63 #ifdef TK_AQUA |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
64 /* pre- Tk_Init code copied from tkMacOSXAppInit.c */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
65 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tklibrary", |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
66 tkLibPath, MAX_PATH_LEN, 1); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
67 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
68 if (tclLibPath[0] != '\0') { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
69 pathPtr = Tcl_NewStringObj(tclLibPath, -1); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
70 } else { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
71 Tcl_Obj *pathPtr = TclGetLibraryPath(); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
72 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
73 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
74 if (tkLibPath[0] != '\0') { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
75 Tcl_Obj *objPtr; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
76 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
77 Tcl_SetVar(interp, "tk_library", tkLibPath, TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
78 objPtr = Tcl_NewStringObj(tkLibPath, -1); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
79 Tcl_ListObjAppendElement(NULL, pathPtr, objPtr); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
80 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
81 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
82 TclSetLibraryPath(pathPtr); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
83 #endif |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
84 |
|
31547
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
85 #ifdef WITH_XXX |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
86 /* Initialize modules that don't require Tk */ |
|
31547
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
87 #endif |
|
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
88 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
89 _tkinter_skip_tk_init = Tcl_GetVar(interp, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
90 "_tkinter_skip_tk_init", TCL_GLOBAL_ONLY); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
91 if (_tkinter_skip_tk_init != NULL && |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
92 strcmp(_tkinter_skip_tk_init, "1") == 0) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
93 return TCL_OK; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
94 } |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
95 |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
96 #ifdef TKINTER_PROTECT_LOADTK |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
97 _tkinter_tk_failed = Tcl_GetVar(interp, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
98 "_tkinter_tk_failed", TCL_GLOBAL_ONLY); |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
99 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
100 if (tk_load_failed || ( |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
101 _tkinter_tk_failed != NULL && |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
102 strcmp(_tkinter_tk_failed, "1") == 0)) { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
103 Tcl_SetResult(interp, TKINTER_LOADTK_ERRMSG, TCL_STATIC); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
104 return TCL_ERROR; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
105 } |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
106 #endif |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
107 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
108 if (Tk_Init(interp) == TCL_ERROR) { |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
109 #ifdef TKINTER_PROTECT_LOADTK |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
110 tk_load_failed = 1; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
111 Tcl_SetVar(interp, "_tkinter_tk_failed", "1", TCL_GLOBAL_ONLY); |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
112 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
113 return TCL_ERROR; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
114 } |
| 1691 | 115 |
|
75635
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
116 #ifdef WITH_MOREBUTTONS |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
117 main_window = Tk_MainWindow(interp); |
|
75635
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
118 #else |
|
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
119 Tk_MainWindow(interp); |
|
a7a9e0f46b8a
Avoid main_window unused compiler warning.
Gregory P. Smith <greg@krypto.org>
parents:
61466
diff
changeset
|
120 #endif |
|
11444
90f4830e2122
Patch by Dieter Maurer to make things work for Tcl/Tk 8.1. This
Guido van Rossum <guido@python.org>
parents:
6720
diff
changeset
|
121 |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
122 #ifdef TK_AQUA |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
123 TkMacOSXInitAppleEvents(interp); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
124 TkMacOSXInitMenus(interp); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
125 #endif |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
126 |
| 1691 | 127 #ifdef WITH_MOREBUTTONS |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
128 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
129 extern Tcl_CmdProc studButtonCmd; |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
130 extern Tcl_CmdProc triButtonCmd; |
| 1691 | 131 |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
132 Tcl_CreateCommand(interp, "studbutton", studButtonCmd, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
133 (ClientData) main_window, NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
134 Tcl_CreateCommand(interp, "tributton", triButtonCmd, |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
135 (ClientData) main_window, NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
136 } |
| 1691 | 137 #endif |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
138 |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
139 #ifdef WITH_PIL /* 0.2b5 and later -- not yet released as of May 14 */ |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
140 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
141 extern void TkImaging_Init(Tcl_Interp *); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
142 TkImaging_Init(interp); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
143 /* XXX TkImaging_Init() doesn't have the right return type */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
144 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
145 } |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
146 #endif |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
147 |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
148 #ifdef WITH_PIL_OLD /* 0.2b4 and earlier */ |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
149 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
150 extern void TkImaging_Init(void); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
151 /* XXX TkImaging_Init() doesn't have the right prototype */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
152 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
153 } |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
154 #endif |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
155 |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
156 #ifdef WITH_TIX |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
157 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
158 extern int Tix_Init(Tcl_Interp *interp); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
159 extern int Tix_SafeInit(Tcl_Interp *interp); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
160 Tcl_StaticPackage(NULL, "Tix", Tix_Init, Tix_SafeInit); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
161 } |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
162 #endif |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
163 |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
164 #ifdef WITH_BLT |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
165 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
166 extern int Blt_Init(Tcl_Interp *); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
167 extern int Blt_SafeInit(Tcl_Interp *); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
168 Tcl_StaticPackage(NULL, "Blt", Blt_Init, Blt_SafeInit); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
169 } |
|
6621
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
170 #endif |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
171 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
172 #ifdef WITH_TOGL |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
173 { |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
174 /* XXX I've heard rumors that this doesn't work */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
175 extern int Togl_Init(Tcl_Interp *); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
176 /* XXX Is there no Togl_SafeInit? */ |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
177 Tcl_StaticPackage(NULL, "Togl", Togl_Init, NULL); |
|
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
178 } |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
179 #endif |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
180 |
| 1691 | 181 #ifdef WITH_XXX |
| 182 | |
| 183 #endif | |
|
61466
cab14be0ada1
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
51495
diff
changeset
|
184 return TCL_OK; |
| 1691 | 185 } |
