Staging
v0.5.1
https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
1622112 Added warning about ni's obsolescence. Retracted semantic changes (i.e. when using ni, the old __init__.py semantics prevail!) 07 September 1997, 03:02:39 UTC
5938011 Initial revision 07 September 1997, 02:56:35 UTC
f5f5fdb Significant speedup -- when a submodule imports a global module, add a dummy entry to sys.modules, marking the absence of a submodule by the same name. Thus, if module foo.bar executes the statement "import time", sys.modules['foo.time'] will be set to None, once the absence of a module foo.time is confirmed (by looking for it in foo's path). The next time when foo.bar (or any other submodule of foo) executes "import time", no I/O is necessary to determine that there is no module foo.time. (Justification: It may seem strange to pollute sys.modules. However, since we're doing the lookup anyway it's definitely the fastest solution. This is the same convention that 'ni' uses and I haven't heard any complaints.) 06 September 1997, 20:29:52 UTC
81da02e Added feeble test for reload() of packages and submodules. 06 September 1997, 19:58:53 UTC
222ef56 Fix reload() for package submodules. 06 September 1997, 19:41:09 UTC
17fc85f Phase two of package import. "import a.b.c" and all variants now do the right thing. Still to do: - Make reload() of a submodule work. - Performance tweaks -- currently, a submodule that tries to import a global module *always* searches the package directory first, even if the global module was already imported. Not sure how to solve this one; probably need to record misses per package. - Documentation! 06 September 1997, 18:52:03 UTC
114c1ea #Added prototype for PyObject_HasAttr() -- must've been an oversight. 06 September 1997, 18:44:59 UTC
6c61242 Test set for package import. 06 September 1997, 18:42:57 UTC
d6bf45b Fixed some details of printing the str() of an exception. This fixes a core dump when __str__() returns a non-string, and plugs a memory leak as well: the result of PyObject_Str() was never DECREFed. 05 September 1997, 19:11:53 UTC
f394f56 Made the 'info' argument to SyntaxError optional, so phase-2 syntax errors are handled (these gave ``TypeError: not enough arguments''). Also changed its __str__() to correct a typo (missing self.) and return str(self.msg) to ensure the result is always string. Also changed the default __str__ to simply return str(self.args). 05 September 1997, 19:00:56 UTC
49bb0e3 Fix in trailing comment: PyDict_SetItemString() does *not* consume a reference count, PyList_SetItem() does. Very confusing! 05 September 1997, 17:53:53 UTC
aee0bad First part of package support. This doesn't yet support "import a.b.c" or "from a.b.c import x", but it does recognize directories. When importing a directory, it initializes __path__ to a list containing the directory name, and loads the __init__ module if found. The (internal) find_module() and load_module() functions are restructured so that they both also handle built-in and frozen modules and Mac resources (and directories of course). The imp module's find_module() and (new) load_module() also have this functionality. Moreover, imp unconditionally defines constants for all module types, and has two more new functions: find_module_in_package() and find_module_in_directory(). There's also a new API function, PyImport_ImportModuleEx(), which takes all four __import__ arguments (name, globals, locals, fromlist). The last three may be NULL. This is currently the same as PyImport_ImportModule() but in the future it will be able to do relative dotted-path imports. Other changes: - bltinmodule.c: in __import__, call PyImport_ImportModuleEx(). - ceval.c: always pass the fromlist to __import__, even if it is a C function, so PyImport_ImportModuleEx() is useful. - getmtime.c: the function has a second argument, the FILE*, on which it applies fstat(). According to Sjoerd this is much faster. The first (pathname) argument is ignored, but remains for backward compatibility (so the Mac version still works without changes). By cleverly combining the new imp functionality, the full support for dotted names in Python (mini.py, not checked in) is now about 7K, lavishly commented (vs. 14K for ni plus 11K for ihooks, also lavishly commented). Good night! 05 September 1997, 07:33:22 UTC
026de19 Added PyImport_ImportModuleEx(name, globals, locals, fromlist); this is like PyImport_ImporModule(name) but receives the globals and locals dict and the fromlist arguments as well. (The name is a char*; the others are PyObject*s). 05 September 1997, 07:11:32 UTC
9eb671f Contribution by Hannu Krosing (with some changes). Added 'p' format character for Pascal string (i.e. leading length byte). This uses the count prefix line 's' does, except that the count includes the length byte; i.e. '10p' takes 10 bytes packed but has space for a length byte and 9 data bytes. 05 September 1997, 07:08:39 UTC
bd4435a Don't use ANSI string literal concatenation (everything is K&R compatible). 05 September 1997, 07:01:19 UTC
8102c00 Get rid of most silly #include and #ifdefs near the top; these are all obsolete now it includes Python.h. Make all functions K&R compatible (Sue Williams). 05 September 1997, 01:48:48 UTC
6459627 Now produces some reassuring output. 04 September 1997, 23:42:01 UTC
9dc2b8e Many more tests, including tests of many optional arguments. 04 September 1997, 23:41:37 UTC
cb91404 Several changes: 1. Fix bug in (de)compression objects. The final string resize used zst.total_out to determine the length of the string, but the (de)compression object will output data a little bit at a time, which means total_out is not the string size. Fix: save original value of total_out at the start of the call. 2. Be sure to Py_DECREF the result value if you exit with an exception. 3. Use PyInt_FromLong instead of Py_BuildValue 4. include more constants from the zlib header file 5. Use PyErr_Format instead of using a local buffer and sprintf. 04 September 1997, 23:39:23 UTC
898c915 Added some try-excepts so that it can be imported in restricted mode (though some type names are undefined in that case, e.g. CodeType (inaccessible), FileType (not always accessible), and TracebackType and FrameType (inaccessible). 04 September 1997, 22:12:34 UTC
d807b75 The re test suite is very slow on slower hosts. To save time, only run the first and last 10 tests except in verbose mode. 04 September 1997, 14:35:45 UTC
c7736b9 Added first line to set Emacs makefile mode (pretty colors :-) 04 September 1997, 13:05:14 UTC
c12c62e (py-parse-partial-sexp-works-p): Removed as obsolete. All current Emacs and XEmacs versions should have working parse-partial-sexp's. (py-emacs-features): Defined as future placeholder. 04 September 1997, 04:18:07 UTC
dc5d07d Different test for Unix -- rely on os.sep instead of sys.platform. 03 September 1997, 23:12:18 UTC
2b3fd76 One patch from Sjoerd and one from Jack. Sjoerd: add separate administration of temporary files created y URLopener.retrieve() so cleanup can properly remove them. The old code removed everything in tempcache which was a bad idea if the user had passed a non-temp file into it. (I added a line to delete the tempcache in cleanup() -- it still seems to make sense.) Jack: in basejoin(), interpret relative paths starting in "../". This is necessary if the server uses symbolic links. 03 September 1997, 22:36:15 UTC
f01dff7 Give in to Mike Meyer -- add *both* lib/python1.5/packages and lib/site-python to the path (if they exist). This is a reasonable compromise. 03 September 1997, 22:05:54 UTC
ad87d3e Give in to Mike Meyer -- add *both* lib/python1.5/packages and lib/site-python to the path (if they exist). This is a reasonable compromise. 03 September 1997, 21:41:30 UTC
9efe8ef #Plug small memory leaks in constructors. 03 September 1997, 18:19:40 UTC
c3beda2 Plug small leaks: the [de]compress object itself was never freed. 03 September 1997, 18:14:30 UTC
d5f0ce9 Added some symbols (I'm afraid more will come). 03 September 1997, 16:12:00 UTC
fd91056 Change instructions to require use of PCbuild directory (instead of just recommending it). At Mark Hammond's request. 03 September 1997, 16:11:19 UTC
9ca064f At Mark Hammond's suggestion: - use the DLL versions of the C runtime (!) - change path settings so intermediate files go to Debug/temp or Release/temp - add resource file to python15.dll (can't remember what this does) - add a separate project to build the parser module 03 September 1997, 16:10:52 UTC
4a78a3c Added empty PCbuild directory for use by the NT build process. 03 September 1997, 15:37:50 UTC
64790de Added new flags and exceptions; removed AccessError exception. 03 September 1997, 01:09:25 UTC
d19c04a Change [_Py_]re_compile_pattern() to return a char*. Since it only returns an error message (or NULL) there's no reason for it to be unsigned char *, and various compilers like this better. 03 September 1997, 00:47:36 UTC
5ade084 Mod suggested by Donn Cave -- invoke makexp_aix relative to $0 so it doesn't have to be on $PATH. 03 September 1997, 00:45:30 UTC
3f0bff6 Disable the portable multimedia modules (audioop, imageop, rgbimg) by default since they don't work on 64-bit platforms. 03 September 1997, 00:44:14 UTC
fc6efff #Removed debug print that was accidentally left in. 03 September 1997, 00:35:38 UTC
5ed5c4c Add the same _keep_alive patch (by Michael Scharff) that was added to copy.deepcopy() a while ago. Can't reproduce this but it doesn't break anything and it looks like the code could have the same problem. 03 September 1997, 00:23:54 UTC
15a4039 Fix the bug Jeremy was experiencing: both the close() and the dealloc() functions contained code to free/DECREF the buffer (there were differences between I and O objects but the logic bug was the same). Fixed this be setting the buffer pointer to NULL and testing for that. (This also makes it safe to call close() more than once.) XXX Worry: what if you try to read() or write() once the thing is closed? 03 September 1997, 00:09:26 UTC
2d30840 Define BUILDNO in macbuildno.h (incremented by fullbuild) 01 September 1997, 15:39:07 UTC
68a0ee0 Can't remember... 01 September 1997, 15:38:24 UTC
898ac1b Added GetTicks() here, so profiling can use a decent timer 01 September 1997, 15:38:12 UTC
faad995 Fullbuild now maintains BUILDNO for mac builds 01 September 1997, 15:37:07 UTC
04fb06f Names changed 01 September 1997, 15:36:42 UTC
625f40d #typo 30 August 1997, 20:04:42 UTC
28cad96 Document newly revamped site configuration mechanism. Damn the criticism in c.l.p! 30 August 1997, 20:03:28 UTC
36764b8 Added docs for 'user' customization module. Renamed libuser.tex (which had UserDict/UserList) to libuserdict.tex. 30 August 1997, 20:02:25 UTC
d7ed683 Inline PyObject_CallObject (Marc-Andre Lemburg). 30 August 1997, 15:02:50 UTC
b2afc81 Added os.altsep; this is '/' on DOS/Windows, and None on systems with a sane filename syntax. 29 August 1997, 22:37:44 UTC
a28dab5 Write out the dynamic OS choice, to avoid exec statements. Adding support for a new OS is now a bit more work, but I bet that 'dos' or 'nt' will cover most situations... 29 August 1997, 22:36:47 UTC
7922bd7 Added -X option to suppress default import of site.py. Also split the usage message in *three* parts under 510 bytes, for low-end ANSI compatibility. 29 August 1997, 22:34:47 UTC
3d90af9 Added NoSite flag. 29 August 1997, 22:34:00 UTC
dcc0c13 Two independent changes (oops): - Changed semantics for initialized flag (again); forget the ref counting, forget the fatal errors -- redundant calls to Py_Initialize() or Py_Finalize() calls are simply ignored. - Automatically import site.py on initialization, unless a flag is set not to do this by main(). 29 August 1997, 22:32:42 UTC
f30bec7 New site.py semantics. Searches in <*prefix>/lib/python<version>/packages for *.pth files containing directories that are appended to sys.path. 29 August 1997, 22:30:45 UTC
83b6709 Swap the sense of the -X option vis-a-vis Py_UseClassExceptionsFlag so that class based exceptions are enabled by default. -X disables them in favor of the old-style string exceptions. 29 August 1997, 22:20:16 UTC
757af0e Removed obsolete exception PyExc_AccessError. Added PyErr_MemoryErrorInst to hold the pre-instantiated instance when using class based exceptions. Simplified the creation of all built-in exceptions, both class based and string based. Actually, for class based exceptions, the string ones are still created just in case there's a problem creating the class based ones (so you still get *some* exception handling!). Now the init and fini functions run through a list of structure elements, creating the strings (and optionally classes) for every entry. initerrors(): the new base class exceptions StandardError, LookupError, and NumberError are initialized when using string exceptions, to tuples containing the list of derived string exceptions. This GvR trick enables forward compatibility! One bit of nastiness is that the C code has to know the inheritance tree embodied in exceptions.py. Added the two phase init and fini functions. 29 August 1997, 22:13:51 UTC
035574d Added Py_UseClassExceptionsFlag, the variable containing the state of the -X command line option. Py_Initialize(): Handle the two phase initialization of the built-in module. Py_Finalize(): Handle the two phase finalization of the built-in module. parse_syntax_error(): New function which parses syntax errors that PyErr_Print() will catch. This correctly parses such errors regardless of whether PyExc_SyntaxError is an old-style string exception or new-fangled class exception. PyErr_Print(): Many changes: 1. Normalize the exception. 2. Handle SystemExit exceptions which might be class based. Digs the exit code out of the "code" attribute. String based SystemExit is handled the same as before. 3. Handle SyntaxError exceptions which might be class based. Digs the various information bits out of the instance's attributes (see parse_syntax_error() for details). String based SyntaxError still works too. 4. Don't write the `:' after the exception if the exception is class based and has an empty string str() value. 29 August 1997, 22:07:17 UTC
d5a0ff9 Added extern definition for -X flag variable. 29 August 1997, 22:01:11 UTC
3e613ce New file, which is imported by the built-in module when python is started with the -X option. This file contains the definitions for the built-in exception classes. 29 August 1997, 21:59:26 UTC
6ed41a0 Expanded r() function to handle class exceptions. 29 August 1997, 21:58:25 UTC
f488af3 Parse new command line option -X which enables exception classes. 29 August 1997, 21:57:49 UTC
0596c2a Declarations for two phase initialization and finalization functions for the built-in module. 29 August 1997, 21:57:07 UTC
392d827 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. 29 August 1997, 21:56:07 UTC
2d8adff 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). 29 August 1997, 21:54:35 UTC
dd82bb9 Added a new variable TESTPYTHON which contains the path (and args) for the executable to use during regression testing. 29 August 1997, 21:52:14 UTC
45140f9 Subtle changes to the AIX shared library things to make them work when building outside the source directory. Courtesy Donn Cave. 29 August 1997, 18:44:06 UTC
cf0be04 Should remove getbuildno.o/buildno files in clobber/distclean targets. 29 August 1997, 18:42:35 UTC
beef8aa Cprrect stuoid tyops -- was comparing variabes with themselves because of co/cp mixup. 29 August 1997, 17:12:43 UTC
eaedc7c 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!). 28 August 1997, 22:36:40 UTC
c1f0882 Added (binaryfunc) casts to function pointers in method lists. 28 August 1997, 21:21:22 UTC
24a4994 Some long variables should have been int to match the 'i' format specifier. 28 August 1997, 18:11:05 UTC
02840fd user.py -- when imported, execfile(~/.pythonrc.py). 28 August 1997, 14:32:14 UTC
522578e Complete log of changes since 1.5a3 at the end. 28 August 1997, 03:43:21 UTC
a11b041 Added faqwiz and webchecker. 28 August 1997, 02:41:33 UTC
8c5fa91 Added section about multiple FAQs. 28 August 1997, 02:38:54 UTC
f1ead1a 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. 28 August 1997, 02:38:01 UTC
8a2d216 Removed faqmain.py -- it was an earlier implementation and no longer relevant. 27 August 1997, 22:31:18 UTC
282290f Referred to POSIX docs as well as to Unix docs. 27 August 1997, 14:54:25 UTC
09dcff7 Put all prints inside "if verbose:" 27 August 1997, 14:11:15 UTC
ebacc2e Removed debug print 27 August 1997, 14:10:49 UTC
82bfde9 Modified for CW Pro projects and new filenames 27 August 1997, 14:10:29 UTC
8505ef8 Added #include <WETabs.h>, which had somehow gone missing 27 August 1997, 14:09:25 UTC
3412c5d Modified for installer and new names of various applets. Also cleaned up anything else I saw. 27 August 1997, 14:08:22 UTC
9ffa432 Modified for new scripting support 27 August 1997, 14:07:37 UTC
21b5d60 Moved suites to their own folder 27 August 1997, 13:49:18 UTC
e2ed9df Fixed bugs regarding lines starting with '.' (both receiving and sending). Added a minimal test function. 26 August 1997, 23:26:18 UTC
e20aef5 Ignore whitespace between formats (not internal to a count+format). 26 August 1997, 20:39:54 UTC
ab0abdc 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. 26 August 1997, 19:06:40 UTC
36b8f94 PyErr_Print(): Use PyErr_GivenExceptionMatches() instead of pointer compares to test for SystemExit and SyntaxError. 26 August 1997, 18:09:48 UTC
26726fe Replaced by ReadMe 26 August 1997, 13:27:22 UTC
83cab72 Adapted from ReadMeOrSuffer for the new installer 26 August 1997, 13:25:06 UTC
0c96887 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. 26 August 1997, 13:20:34 UTC
0cdb887 Completed first draft. 26 August 1997, 00:08:51 UTC
9101055 unpack_sequence(): In finally clause, watch out for Py_DECREF evaluating its arguments twice. 25 August 1997, 22:30:51 UTC
09f9547 regression test for new sequence unpacking semantics 25 August 1997, 22:17:45 UTC
9525df0 Output for sequence unpacking test 25 August 1997, 22:15:22 UTC
e42b18f 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. 25 August 1997, 22:13:04 UTC
1fb071c Checkpoint. 25 August 1997, 21:36:44 UTC
b2173c3 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). 25 August 1997, 21:23:56 UTC
back to top