Commit Graph

6294 Commits

Author SHA1 Message Date
Barry Warsaw f488af3360 Parse new command line option -X which enables exception classes. 1997-08-29 21:57:49 +00:00
Barry Warsaw 0596c2ac28 Declarations for two phase initialization and finalization functions
for the built-in module.
1997-08-29 21:57:07 +00:00
Barry Warsaw 392d8272bf Added externs for three new exceptions PyExc_StandardError,
PyExc_NumberError, and PyExc_LookupError.  Also added extern for
pre-instantiated exception instance PyExc_MemoryErrorInst.

Removed extern of obsolete exception PyExc_AccessError.
1997-08-29 21:56:07 +00:00
Barry Warsaw 2d8adff10a PyErr_NoMemory(): If the pre-instantiated memory exception is non-null
(PyExc_MemoryErrorInst) raise this instead of PyExc_MemoryError.  This
only happens when exception classes are enabled (e.g. when Python is
started with -X).
1997-08-29 21:54:35 +00:00
Barry Warsaw dd82bb9c14 Added a new variable TESTPYTHON which contains the path (and args) for
the executable to use during regression testing.
1997-08-29 21:52:14 +00:00
Guido van Rossum 45140f97a6 Subtle changes to the AIX shared library things to make them work
when building outside the source directory.  Courtesy Donn Cave.
1997-08-29 18:44:06 +00:00
Guido van Rossum cf0be04b2c Should remove getbuildno.o/buildno files in clobber/distclean targets. 1997-08-29 18:42:35 +00:00
Guido van Rossum beef8aa719 Cprrect stuoid tyops -- was comparing variabes with themselves because
of co/cp mixup.
1997-08-29 17:12:43 +00:00
Barry Warsaw eaedc7ce32 eval_code2(), set_exc_info(): Call PyErr_NormalizeException() the
former rather than the latter, since PyErr_NormalizeException takes
PyObject** and I didn't want to change the interface for set_exc_info
(but I did want the changes propagated to eval_code2!).
1997-08-28 22:36:40 +00:00
Guido van Rossum c1f088201f Added (binaryfunc) casts to function pointers in method lists. 1997-08-28 21:21:22 +00:00
Guido van Rossum 24a49941b3 Some long variables should have been int to match the 'i' format specifier. 1997-08-28 18:11:05 +00:00
Guido van Rossum 02840fdf84 user.py -- when imported, execfile(~/.pythonrc.py). 1997-08-28 14:32:14 +00:00
Guido van Rossum 522578e90f Complete log of changes since 1.5a3 at the end. 1997-08-28 03:43:21 +00:00
Guido van Rossum a11b041537 Added faqwiz and webchecker. 1997-08-28 02:41:33 +00:00
Guido van Rossum 8c5fa91253 Added section about multiple FAQs. 1997-08-28 02:38:54 +00:00
Guido van Rossum f1ead1a63c New installation instructions show how to maintain multiple FAQs.
Removed bootstrap script from end of faqwiz.py module.
Added instructions to bootstrap script, too.
Version bumped to 0.8.
Added <html>...</html> feature suggested by Skip Montanaro.
Added leading text for Roulette, default to 'Hit Reload ...'.
Fix typo in default SRCDIR.
1997-08-28 02:38:01 +00:00
Guido van Rossum 8a2d216047 Removed faqmain.py -- it was an earlier implementation and no
longer relevant.
1997-08-27 22:31:18 +00:00
Guido van Rossum 282290f821 Referred to POSIX docs as well as to Unix docs. 1997-08-27 14:54:25 +00:00
Jack Jansen 09dcff793f Put all prints inside "if verbose:" 1997-08-27 14:11:15 +00:00
Jack Jansen ebacc2edff Removed debug print 1997-08-27 14:10:49 +00:00
Jack Jansen 82bfde9382 Modified for CW Pro projects and new filenames 1997-08-27 14:10:29 +00:00
Jack Jansen 8505ef8c6c Added #include <WETabs.h>, which had somehow gone missing 1997-08-27 14:09:25 +00:00
Jack Jansen 3412c5d0fb Modified for installer and new names of various applets. Also cleaned
up anything else I saw.
1997-08-27 14:08:22 +00:00
Jack Jansen 9ffa432972 Modified for new scripting support 1997-08-27 14:07:37 +00:00
Jack Jansen 21b5d605d8 Moved suites to their own folder 1997-08-27 13:49:18 +00:00
Guido van Rossum e2ed9df645 Fixed bugs regarding lines starting with '.' (both receiving and sending).
Added a minimal test function.
1997-08-26 23:26:18 +00:00
Guido van Rossum e20aef574a Ignore whitespace between formats (not internal to a count+format). 1997-08-26 20:39:54 +00:00
Guido van Rossum ab0abdcef8 Explicitly close the socket and temp file in URLopener.retrieve(), so
that multiple retrievals using the same connection will work.

This leaves open the more general problem that after
    f = urlopen("ftp://...")
f must be closed before another retrieval from the same host should be
attempted.
1997-08-26 19:06:40 +00:00
Barry Warsaw 36b8f945e7 PyErr_Print(): Use PyErr_GivenExceptionMatches() instead of pointer
compares to test for SystemExit and SyntaxError.
1997-08-26 18:09:48 +00:00
Jack Jansen 26726fe523 Replaced by ReadMe 1997-08-26 13:27:22 +00:00
Jack Jansen 83cab722f9 Adapted from ReadMeOrSuffer for the new installer 1997-08-26 13:25:06 +00:00
Jack Jansen 0c96887d35 Handle systemclicks ourselves, in stead of passing them to Sioux. This
fixes (or masks?) a bug with Python becoming unreactive during
time.sleep() if you have already switched applications before.
1997-08-26 13:20:34 +00:00
Guido van Rossum 0cdb887676 Completed first draft. 1997-08-26 00:08:51 +00:00
Barry Warsaw 910105515e unpack_sequence(): In finally clause, watch out for Py_DECREF
evaluating its arguments twice.
1997-08-25 22:30:51 +00:00
Barry Warsaw 09f9547393 regression test for new sequence unpacking semantics 1997-08-25 22:17:45 +00:00
Barry Warsaw 9525df03bf Output for sequence unpacking test 1997-08-25 22:15:22 +00:00
Barry Warsaw e42b18f9d1 eval_code2(): collapsed the implementations of UNPACK_TUPLE and
UNPACK_LIST byte codes and added a third code path that allows
generalized sequence unpacking.  Now both syntaxes:

    a, b, c = seq
    [a, b, c] = seq

can be used to unpack any sequence with the exact right number of
items.

unpack_sequence(): out-lined implementation of generalized sequence
unpacking.  tuple and list unpacking are still inlined.
1997-08-25 22:13:04 +00:00
Guido van Rossum 1fb071cc64 Checkpoint. 1997-08-25 21:36:44 +00:00
Guido van Rossum b2173c3146 Allow assignments to instance.__dict__ and instance.__class__. The
former lets you give an instance a set of new instance vars.  The
latter lets you give it a new class.  Both are typechecked and
disallowed in restricted mode.

For classes, the check for read-only special attributes is tightened
so that only assignments to __dict__, __bases__, __name__,
__getattr__, __setattr__, and __delattr__ (these could be made to work
as well, but I don't know if that's useful -- let's see first whether
mucking with instances will help).
1997-08-25 21:23:56 +00:00
Guido van Rossum a27d112213 Rename roundup() to roundupsize(), as there's a macro roundup() in the
sys/types.h header on many systems that may get pulled in (through
WANT_SIGFPE_HANDLER which pulls in signal.h).
1997-08-25 18:36:23 +00:00
Guido van Rossum 81e479a11f Removed some colons that shouldn't be there (probably leftovers from
docstring conversion).
1997-08-25 18:28:03 +00:00
Guido van Rossum 27e4aa3168 Arbitrary point checkpoint commit. Take no notice. 1997-08-25 15:37:59 +00:00
Guido van Rossum bff110f3f1 Examples of metaprogramming in pure Python. 1997-08-23 21:14:37 +00:00
Barry Warsaw 558f66ff53 Added a few more tests of exception class raising 1997-08-22 21:28:05 +00:00
Barry Warsaw ac405ce3f9 generated output for new tests 1997-08-22 21:27:40 +00:00
Barry Warsaw d543077aa6 Added tests of the new builtin functions issubclass() and isinstance() 1997-08-22 21:27:03 +00:00
Barry Warsaw 4249f54b28 cmp_exception gets promoted (essentially) to the C API function
PyErr_GivenExceptionMatches().

set_exc_info(): make sure to normalize exceptions.

do_raise(): Use PyErr_NormalizeException() if type is a class.

loop_subscript(): Use PyErr_ExceptionMatches() instead of raw pointer
compare for PyExc_IndexError.
1997-08-22 21:26:19 +00:00
Barry Warsaw c0dc92af7d Three new C API functions:
- int PyErr_GivenExceptionMatches(obj1, obj2)

  Returns 1 if obj1 and obj2 are the same object, or if obj1 is an
  instance of type obj2, or of a class derived from obj2

- int PyErr_ExceptionMatches(obj)

  Higher level wrapper around PyErr_GivenExceptionMatches() which uses
  PyErr_Occurred() as obj1.  This will be the more commonly called
  function.

- void PyErr_NormalizeException(typeptr, valptr, tbptr)

  Normalizes exceptions, and places the normalized values in the
  arguments.  If type is not a class, this does nothing.  If type is a
  class, then it makes sure that value is an instance of the class by:

  1. if instance is of the type, or a class derived from type, it does
     nothing.

  2. otherwise it instantiates the class, using the value as an
     argument.  If value is None, it uses an empty arg tuple, and if
     the value is a tuple, it uses just that.
1997-08-22 21:22:58 +00:00
Barry Warsaw cde8b1ba0c Two new built-in functions: issubclass() and isinstance(). Both take
classes as their second arguments.  The former takes a class as the
first argument and returns true iff first is second, or is a subclass
of second.

The latter takes any object as the first argument and returns true iff
first is an instance of the second, or any subclass of second.

Also, change all occurances of pointer compares against
PyExc_IndexError with PyErr_ExceptionMatches() calls.
1997-08-22 21:14:38 +00:00
Guido van Rossum 21c5c8fa5b Correct off-by-two-pixels error. 1997-08-22 20:56:07 +00:00