Mercurial > cpython-lru_cache-weakref
annotate Mac/Python/macmain.c @ 2226:c2d18b58232e legacy-trunk
added printf -- hack for Think C to init stdwin and stdio
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sun, 22 Jan 1995 18:38:12 +0000 |
| parents | 0e60cd207adb |
| children | df7e26b5c918 |
| rev | line source |
|---|---|
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 /*********************************************************** |
| 2091 | 2 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, |
| 3 The Netherlands. | |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 All Rights Reserved |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 Centrum or CWI not be used in advertising or publicity pertaining to |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 distribution of the software without specific, written prior permission. |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 ******************************************************************/ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 /* Macintosh Python main program */ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 #ifdef HAVE_CONFIG_H |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 #include "config.h" |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 #endif |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 |
|
2144
0e60cd207adb
must include rename2.h
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
31 #include "rename2.h" |
|
0e60cd207adb
must include rename2.h
Guido van Rossum <guido@python.org>
parents:
2091
diff
changeset
|
32 |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 #ifdef THINK_C |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 #define CONSOLE_IO |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 #endif |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 #include <stdio.h> |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
38 #include <string.h> |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 #ifdef CONSOLE_IO |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 #include <console.h> |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 #endif |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 |
|
2031
1739f00ffc86
Enlarged version buffer (nobody expects the spanish inquisition:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
1821
diff
changeset
|
44 char *fileargument; |
|
1739f00ffc86
Enlarged version buffer (nobody expects the spanish inquisition:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
1821
diff
changeset
|
45 |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 main(argc, argv) |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 int argc; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 char **argv; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 { |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 #ifdef USE_STDWIN |
|
2226
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
51 #ifdef THINK_C |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
52 /* This is done to initialize the Think console I/O library before stdwin. |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
53 If we don't do this, the console I/O library will only be usable for |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
54 output, and the interactive version of the interpreter will quit |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
55 immediately because it sees an EOF from stdin. |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
56 The disadvantage is that when using STDWIN, your stdwin menus will |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
57 appear next to the console I/O's File and Edit menus, and you will have |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
58 an empty console window in your application (though it can be removed |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
59 by clever use of console library I believe). |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
60 Remove this line if you want to be able to double-click Python scripts |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
61 that use STDWIN and never use stdin for input. |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
62 (A more dynamic solution may be possible e.g. based on bits in the |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
63 SIZE resource or whatever... Have fun, and let me know if you find |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
64 a better way!) */ |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
65 printf("\n"); |
|
c2d18b58232e
added printf -- hack for Think C to init stdwin and stdio
Guido van Rossum <guido@python.org>
parents:
2144
diff
changeset
|
66 #endif |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
67 /* Use STDWIN's wargs() to set argc/argv to list of files to open */ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 wargs(&argc, &argv); |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
69 /* Put About Python... in Apple menu */ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 { |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 extern char *about_message; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
72 extern char *about_item; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
73 extern char *getversion(), *getcopyright(); |
|
2031
1739f00ffc86
Enlarged version buffer (nobody expects the spanish inquisition:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
1821
diff
changeset
|
74 static char buf[1024]; |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 sprintf(buf, "Python %s\r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
76 \r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 %s\r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 \r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 Author: Guido van Rossum <guido@cwi.nl>\r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 FTP: host ftp.cwi.nl, directory pub/python\r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
81 Newsgroup: comp.lang.python\r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 \r\ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 Motto: \"Nobody expects the Spanish Inquisition!\"", |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
84 getversion(), getcopyright()); |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
85 about_message = buf; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
86 about_item = "About Python..."; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 } |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
88 #endif /* USE_STDWIN */ |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
89 #ifdef CONSOLE_IO |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
90 if (argc >= 1 && argv[0][0] != '\0') { |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 static char buf[256]; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
92 buf[0] = strlen(argv[0]); |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
93 strncpy(buf+1, argv[0], buf[0]); |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 console_options.title = (unsigned char *)buf; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
95 } |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
96 else |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
97 console_options.title = "\pPython"; |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
98 #endif /* CONSOLE_IO */ |
|
2031
1739f00ffc86
Enlarged version buffer (nobody expects the spanish inquisition:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
1821
diff
changeset
|
99 if ( argc > 1 ) |
|
1739f00ffc86
Enlarged version buffer (nobody expects the spanish inquisition:-)
Jack Jansen <jack.jansen@cwi.nl>
parents:
1821
diff
changeset
|
100 fileargument = argv[1]; /* Mod by Jack to do chdir */ |
|
1811
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
101 realmain(argc, argv); |
|
ea5b13d11a13
Added macmain.c (separate Mac specific main prog); bump version to 1.1
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
102 } |
