Commit Graph

6719 Commits

Author SHA1 Message Date
Guido van Rossum a008fa52be Fixed test for socket.error to work when it's a class exception. 1997-10-01 04:39:05 +00:00
Guido van Rossum 0cb96de269 Apply two changes, systematically:
(1) Use PyErr_NewException("module.class", NULL, NULL) to create the
    exception object.

(2) Remove all calls to Py_FatalError(); instead, return or
    ignore the errors -- the import code now checks PyErr_Occurred()
    after calling a module's init function, so it's no longer a
    fatal error for the initialization to fail.

Also did some small cleanups, e.g. removed unnecessary test for
"already initialized" from initfpectl(), and unified
initposix()/initnt().

I haven't checked this very thoroughly, so while the changes are
pretty trivial -- beware of untested code!
1997-10-01 04:29:29 +00:00
Guido van Rossum ccf0a44d2d Fix PYTHONPATH for new names; rename tkinter to lib-tk, rename win to
plat-win, get rid of test (which is now a package).
1997-09-30 22:14:39 +00:00
Guido van Rossum b74eca9349 Change PyEval_SaveThread() and PyEval_RestoreThread() to always do the
tstate swapping.  Only the acquiring and releasing of the lock is
conditional (twice, under ``#ifdef WITH_THREAD'' and inside ``if
(interpreter_lock)'').
1997-09-30 22:03:16 +00:00
Guido van Rossum b4102bf5f8 Fix a bug in this code that made it do the wrong thing when an option
was a single '-'.  Thanks to Andrew Kuchling.
1997-09-30 22:00:13 +00:00
Fred Drake b55e07f4eb Fixed up formatting. 1997-09-30 21:59:27 +00:00
Fred Drake 1b914b3397 Fixed up formatting, added descriptions for previously undocumented functions. 1997-09-30 20:14:50 +00:00
Fred Drake fd9ef4a26d Removed extern declaration of strdup(). Doesn't appear to be important and
causes ugly noises under Windows.
1997-09-30 19:20:01 +00:00
Fred Drake 228776cfa8 PyExc_NumberError -> PyExc_ArithmeticError 1997-09-30 19:12:33 +00:00
Guido van Rossum ac8a9f3ee9 Handy utility to guess MIME type from extension. 1997-09-30 19:05:50 +00:00
Barry Warsaw 3a74993118 PyErr_NormalizeException(): If the exception's type is a class and the
instance's class is a subclass of this, then use the instance's class
as the exception type.
1997-09-30 15:00:18 +00:00
Guido van Rossum 22ecb71078 Added PyExc_Exception and PyErr_NewException. 1997-09-29 23:40:07 +00:00
Guido van Rossum 271f977686 Seem to be some changes related to DLL version from string resource,
again (Mark Hammond is the cause of all this).
1997-09-29 23:39:31 +00:00
Guido van Rossum ec6809291d DLL version is now loaded from a string resource. 1997-09-29 23:37:12 +00:00
Guido van Rossum f57c17034a Remove #ifdef __cplusplus. 1997-09-29 23:36:42 +00:00
Guido van Rossum ff8c9dab19 Bump version and store DLL version in a string variable (for branding). 1997-09-29 23:36:17 +00:00
Guido van Rossum 6c1e5f2033 Get DLL version from a variable. 1997-09-29 23:34:23 +00:00
Guido van Rossum 4f3bf1e383 Don't intern the key string for getitem and delitem. 1997-09-29 23:31:11 +00:00
Guido van Rossum b4cfdfa077 Removed special Windows defines, at Mark Hammond's request. 1997-09-29 23:29:08 +00:00
Guido van Rossum 83bd9a9c8c Move Widget.config() c.s. to Misc class, so the Tk class also inherits them. 1997-09-29 23:24:52 +00:00
Guido van Rossum 332e14437c Use sys.exc_info() where needed.
Use "re" module, making it threadsafe.
1997-09-29 23:23:46 +00:00
Guido van Rossum f15d15964b Use sys.exc_info() where needed. 1997-09-29 23:22:12 +00:00
Guido van Rossum c90ad2103e No longer need to be very careful with saving the exception state
first.  Don't store the traceback as a local variable, to avoid
circular references.
1997-09-29 23:17:48 +00:00
Guido van Rossum a3beb63eb7 Removing emacs.py, which is obsolete. 1997-09-29 13:19:53 +00:00
Guido van Rossum da286666b2 Add optional bufsize argument to various calls so we can make the
os.fdopen() calls unbuffered.  I presume that it's enough if we can
make all three of them (for stdin, stdout, and stderr) unbuffered and
don't need to specify different buffer sizes per file -- that would
complicate the interface more than I care for.
1997-09-29 04:04:39 +00:00
Guido van Rossum 54e2091ba2 Add an optional hack for threads in Tkinter.
This one works!  However it requires using a modified version of
tclNotify.c (provided), which requires access to the Tcl source
to compile it.  In order to enable this hack, add the following
to the Setup line for _tkinter:
   tclNotify.c -DHAVE_PYTCL_WAITUNTILEVENT -I$(TCL)/generic
where TCL points to the source tree of Tcl 8.0.  Other versions
of Tcl are not supported.

The tclNotify.c file is copyrighted by Sun Microsystems; the
licensing terms are in the file license.terms.  According to this
file, no further permission to distribute this is required,
provided the file license.terms is included.  Hence, I am checking
that in, too.
1997-09-28 05:52:41 +00:00
Guido van Rossum a9f02b8bad Add plat- prefix to MACHDEPPATH, now that it's been removed from MACHDEP. 1997-09-28 05:45:40 +00:00
Guido van Rossum b97ef1768f Remove plat- prefix from MACHDEP macro;
instead it is added to MACHDEPPATH in Modules/Setup.in
1997-09-28 05:44:03 +00:00
Guido van Rossum 49f9d8e405 Changes submitted by Marc-Andre Lemburg to add two tables: errorcode
maps errno numbers to errno names (e.g. EINTR), and errorcode maps
them to message strings.  (The latter is redundant because
the new call posix.strerror() now does the same, but alla...)
1997-09-28 05:41:56 +00:00
Guido van Rossum 4518823ad0 In whichmodule(), use __module__ if set. 1997-09-28 05:38:51 +00:00
Guido van Rossum b6c935a933 Set the completer's word break characters appropriate for Python. 1997-09-26 23:00:37 +00:00
Guido van Rossum 4752966193 Use Marc Lemburg's tb_lineno() to calculate the correct line number.
Apparently the traceback object doesn't contains the right linenumber
when -O is used.  Rather than guessing whether -O is on or off, use
tb_lineno() unconditionally.
1997-09-26 22:43:02 +00:00
Guido van Rossum 2781fbe46c Word completion for the new readline.set_completer() function.
When completing a simple identifier, it completes keywords, built-ins
and globals in __main__; when completing NAME.NAME..., it evaluates
(!) the expression up to the last dot and completes its attributes.

It's very cool to do "import string" type "string.", hit the
completion key (twice), and see the list of names defined by the
string module!

Tip: to use the tab key as the completion key, call

    readline.parse_and_bind("tab: complete")
1997-09-26 22:04:56 +00:00
Guido van Rossum 290900a5d7 Reordered and reformatted, and added some cool new features:
set_completer(function)
parse_and_bind(string)
read_init_file(filename)

The first is the most exciting feature: with an appropriate Python
completer function, it can do dynamic completion based on the contents
of your namespace!
1997-09-26 21:51:21 +00:00
Guido van Rossum ee81af8977 Release interpreter lock around readline call in [raw_]input(). 1997-09-26 21:47:43 +00:00
Guido van Rossum 5edcf34fac Change bind() to tag_bind() so it works again. 1997-09-24 13:39:51 +00:00
Guido van Rossum 3bbeb7a318 Fix by Sjoerd: don't want to resize to zero length. 1997-09-22 16:14:27 +00:00
Guido van Rossum 03be7f525e Changes by jack so the generated modules export their types
to Python.
1997-09-22 16:13:19 +00:00
Jack Jansen a755e68df6 Export type objects to Python 1997-09-20 17:40:22 +00:00
Guido van Rossum 6dd4868681 The command can now either be a string (as before) or a list of
arguments for execvp (for those who don't want the shell's argument
parsing).
1997-09-18 20:00:39 +00:00
Barry Warsaw 963b871e86 Py_Initialize(): move the call to _PyImport_FixupExtension() to after
the phase 2 init of the __builtin__ module, so that multiple
interpreters will get the right exceptions.
1997-09-18 16:42:02 +00:00
Barry Warsaw b01a7fa5f8 initerrors(): Eliminate circular reference which was causing a small
but annoying memory leak.  This was introduced when PyExc_Exception
was added; the loop above populating the PyExc_StandardError exception
tuple started at index 1 in bltin_exc, but PyExc_Exception was added
at index 0, so PyExc_StandardError was getting inserted in itself!
How else can a tuple include itself?!

Change the loop to start at index 2.

This was a *fun* one! :-)
1997-09-18 03:44:38 +00:00
Barry Warsaw 412cdc2284 [Py_Exc]NumberError => [Py_Exc]ArithmeticError 1997-09-16 21:51:14 +00:00
Barry Warsaw 25131faffe NumberError => ArithmeticError 1997-09-16 21:50:59 +00:00
Guido van Rossum 2d2c34445b New API PyErr_NewException(name, base, dict) to create simple new exceptions. 1997-09-16 21:50:37 +00:00
Barry Warsaw 65349a3936 [Py_Exc]NumberError => [Py_Exc]ArithmeticError 1997-09-16 21:50:36 +00:00
Barry Warsaw 2f5f6a2595 PyErr_Print(): When printing a class exception, try to dig out the
__module__ string and if found, print <module>.<class>, unless
<module> == "exceptions".
1997-09-16 21:42:03 +00:00
Guido van Rossum b81b5c72db Moved pystone to Lib/test. Use import test.pystone to run it. 1997-09-16 18:57:42 +00:00
Guido van Rossum d2ba3690ce Skip symlinks; don't bother keeping a list of files that is never used. 1997-09-16 18:57:14 +00:00
Guido van Rossum 7617e05a9b New API PyErr_NewException(name, base, dict) to create simple new exceptions. 1997-09-16 18:43:50 +00:00