0
0
mirror of https://github.com/python/cpython.git synced 2024-11-28 08:20:55 +01:00
Commit Graph

30329 Commits

Author SHA1 Message Date
Fred Drake
31d485c0f5 update to Expat 1.95.8 2004-08-03 07:06:22 +00:00
Raymond Hettinger
70fcdb8be0 Document general mappings for the locals argument for exec and execfile(). 2004-08-03 05:17:58 +00:00
Mark Hammond
a57ec93b93 Fix [ 1001018 ]: Windows: setdefaulttimeout causes unnecessary timeouts on
connect error
2004-08-03 05:06:26 +00:00
Brett Cannon
5ad28e14b6 Tweak previous patch to silence a warning about the unused left value in the
comma expression in listpop() that was being returned.  Still essentially
unused (as it is meant to be), but now the compiler thinks it is worth
*something* by having it incremented.
2004-08-03 04:53:29 +00:00
Fred Drake
bec69f6a2e fix a little lie ;-( 2004-08-02 23:05:25 +00:00
Neal Norwitz
7fdd92f31f Fix typo though 2004-08-02 21:56:33 +00:00
Fred Drake
e72bd4d621 fix markup error 2004-08-02 21:50:26 +00:00
Fred Drake
0c84c7f915 start filling in documentation on extending distutils 2004-08-02 21:39:11 +00:00
Fred Drake
576298d3b2 - fix description of option table entries
- fix broken assert statement; should just raise
2004-08-02 17:58:51 +00:00
Andrew M. Kuchling
c75f11222c Use isabs() in conditional, not abspath 2004-08-02 14:54:16 +00:00
Michael W. Hudson
a3711f73c1 Fix for the unfortunate fact that PyDict_GetItem and PyObject_GetItem
have differing refcount semantics.  If anyone sees a prettier way to
acheive the same ends, then please go for it.

I think this is the first time I've ever used Py_XINCREF.
2004-08-02 14:50:43 +00:00
Andrew M. Kuchling
77a602fbf2 Add PEP318 2004-08-02 13:48:18 +00:00
Michael W. Hudson
c9f510aed2 Any call to insort_{left,right} with a non-list leaked a reference to None
(or to whatever the 'insert' method chose to return).
2004-08-02 13:24:54 +00:00
Michael W. Hudson
f8df9a89bc Add a missing decref. 2004-08-02 13:22:01 +00:00
Michael W. Hudson
52db519faa for some reason, the lack of adherence to Python's C whitespace rules
must have annoyed me at some point.
2004-08-02 13:21:09 +00:00
Andrew M. Kuchling
d91fcbe265 Add import change; add empty section for function decorators 2004-08-02 12:44:28 +00:00
Andrew M. Kuchling
1455f795e2 Update item 2004-08-02 12:09:58 +00:00
Anthony Baxter
270fe88c68 and a unit test for the staticmethod-of-a-non-method failure just fixed 2004-08-02 11:34:10 +00:00
Anthony Baxter
4e7785aa4f fix for @decorators under a debug build. 2004-08-02 11:08:15 +00:00
Raymond Hettinger
829d6c4138 Fix doubled word. 2004-08-02 08:36:07 +00:00
Raymond Hettinger
66bd233225 Completed the patch for Bug #215126.
* Fixes an incorrect variable in a PyDict_CheckExact.
* Allow general mapping locals arguments for the execfile() function
  and exec statement.
* Add tests.
2004-08-02 08:30:07 +00:00
Anthony Baxter
32083f64a7 notes for @decorator 2004-08-02 06:24:59 +00:00
Anthony Baxter
c2a5a63654 PEP-0318, @decorator-style. In Guido's words:
"@ seems the syntax that everybody can hate equally"
Implementation by Mark Russell, from SF #979728.
2004-08-02 06:10:11 +00:00
Tim Peters
fd7dc5169c Typo repair. 2004-08-02 04:30:37 +00:00
Tim Peters
0c6199e8ed Completed a sentence I left dangling. 2004-08-02 04:14:10 +00:00
Tim Peters
99d001ed0d Removed reliance on damaged module object appearing in sys.modules
after a failed import.

This is the last checkin in the "change import failure semantics" series.
2004-08-02 03:59:57 +00:00
Tim Peters
08138fdc7a New tests:
test_failing_import_sticks -- if an import raises an exception,
        ensure that trying to import it again continues raising exceptions
    test_failing_reload -- if a module loads OK, but a reload raises an
        exception, ensure that the module is still in sys.modules, and
        that its __dict__ reflects as much of the reload attempt as
        succeeded.  That doesn't seem like sane semantics, but it is
        backward-compatible semantics <wink>.
2004-08-02 03:58:27 +00:00
Tim Peters
d464838ebc Removed no-longer-needed convolutions to recover from damaged modules
getting left beyind in sys.modules.
2004-08-02 03:55:18 +00:00
Tim Peters
1cd701732f PyImport_ExecCodeModuleEx(): remove module from sys.modules in error cases.
PyImport_ReloadModule():  restore the module to sys.modules in error cases.
load_package():  semantic-neutral refactoring from an earlier stab at
                 this patch; giving it a common error exit made the code
                 easier to follow, so retaining that part.
_RemoveModule():  new little utility to delete a key from sys.modules.
2004-08-02 03:52:12 +00:00
Tim Peters
94f9b86930 "Core" and "C API" news about new semantics for failing imports. 2004-08-02 03:48:03 +00:00
Tim Peters
cfd575d398 PyImport_ImportModule, PyImport_ImportModuleEx, PyImport_ExecCodeModule:
in failure cases, incompletely initalized module objects are no longer
left behind in sys.modules.
2004-08-02 03:46:45 +00:00
Tim Peters
a7c650934d lock_held() docs: Use True/False instead of 1/0. The LaTeX docs were
already correct, so not changed here.
2004-08-01 23:26:05 +00:00
Tim Peters
86c7d2f220 Trimmed trailing whitespace. 2004-08-01 23:24:21 +00:00
Neal Norwitz
0e67fd478f Fix SF #1001053, wave.open() with unicode filename fails
Backport candidate.
2004-08-01 22:48:06 +00:00
Neal Norwitz
4ecd8cd046 Fix typo in comment 2004-08-01 22:45:27 +00:00
Neal Norwitz
750f060ad7 SF bug #1001088, incorrect reference to macro named foo
Backport candidate.
2004-08-01 22:36:40 +00:00
Tim Peters
8fc4a91665 list_ass_slice(): Document the obscure new intent that deleting a slice
of no more than 8 elements cannot fail.

listpop():  Take advantage of that its calls to list_resize() and
list_ass_slice() can't fail.  This is assert'ed in a debug build now, but
in an icky way.  That is, you can't say:

	assert(some_call() >= 0);

because then some_call() won't occur at all in a release build.  So it
has to be a big pile of #ifdefs on Py_DEBUG (yuck), or the pleasant:

        status = some_call();
        assert(status >= 0);

But in that case, compilers may whine in a release build, because status
appears unused then.  I'm not certain the ugly trick I used here will
convince all compilers to shut up about status (status is always "used" now,
as the first (ignored) clause in a comma expression).
2004-07-31 21:53:19 +00:00
Tim Peters
c0cbc8611b Whitespace normalization. 2004-07-31 21:17:37 +00:00
Tim Peters
579f7355fe Be more careful about reverting mutuations to system-wide (sys) variables.
This fixes 15 spurious test failures on Windows (probably all due to
the test leaving a wrong path in sys.argv[0], which then prevented
regrtest.py from finding the expected-output files for tests running
after test_optparse).
2004-07-31 21:14:28 +00:00
Greg Ward
9c8fe1a9b5 Mention upgrade of optparse to Optik 1.5a1. 2004-07-31 16:16:11 +00:00
Greg Ward
eba20e6015 Upgrade optparse module and tests to Optik 1.5a1:
* add expansion of default values in help text: the string
    "%default" in an option's help string is expanded to str() of
    that option's default value, or "none" if no default value.
  * bug #955889: option default values that happen to be strings are
    now processed in the same way as values from the command line; this
    allows generation of nicer help when using custom types.  Can
    be disabled with parser.set_process_default_values(False).
  * bug #960515: don't crash when generating help for callback
    options that specify 'type', but not 'dest' or 'metavar'.
  * feature #815264: change the default help format for short options
    that take an argument from e.g. "-oARG" to "-o ARG"; add
    set_short_opt_delimiter() and set_long_opt_delimiter() methods to
    HelpFormatter to allow (slight) customization of the formatting.
  * patch #736940: internationalize Optik: all built-in user-
    targeted literal strings are passed through gettext.gettext().  (If
    you want translations (.po files), they're not included with Python
    -- you'll find them in the Optik source distribution from
    http://optik.sourceforge.net/ .)
  * bug #878453: respect $COLUMNS environment variable for
    wrapping help output.
  * feature #988122: expand "%prog" in the 'description' passed
    to OptionParser, just like in the 'usage' and 'version' strings.
    (This is *not* done in the 'description' passed to OptionGroup.)
2004-07-31 16:15:44 +00:00
Tim Peters
7357222d0e list_ass_slice(): The difference between "recycle" and "recycled" was
impossible to remember, so renamed one to something obvious.  Headed
off potential signed-vs-unsigned compiler complaints I introduced by
changing the type of a vrbl to unsigned.  Removed the need for the
tedious explanation about "backward pointer loops" by looping on an
int instead.
2004-07-31 02:54:42 +00:00
Tim Peters
8d9eb10c29 Armin asked for a list_ass_slice review in his checkin, so here's the
result.

list_resize():  Document the intent.  Code is increasingly relying on
subtle aspects of its behavior, and they deserve to be spelled out.

list_ass_slice():  A bit more simplification, by giving it a common
error exit and initializing more values.

Be clearer in comments about what "size" means (# of elements?  # of
bytes?).

While the number of elements in a list slice must fit in an int, there's
no guarantee that the number of bytes occupied by the slice will.  That
malloc() and memmove() take size_t arguments is a hint about that <wink>.
So changed to use size_t where appropriate.

ihigh - ilow should always be >= 0, but we never asserted that.  We do
now.

The loop decref'ing the recycled slice had a subtle insecurity:  C doesn't
guarantee that a pointer one slot *before* an array will compare "less
than" to a pointer within the array (it does guarantee that a pointer
one beyond the end of the array compares as expected).  This was actually
an issue in KSR's C implementation, so isn't purely theoretical.  Python
probably has other "go backwards" loops with a similar glitch.
list_clear() is OK (it marches an integer backwards, not a pointer).
2004-07-31 02:24:20 +00:00
Tim Peters
bcc95cb7cb Repair typo in docstring. 2004-07-31 00:19:43 +00:00
Fred Drake
63a5d0b1cf re-wrap paragraphs containing long lines 2004-07-30 19:12:38 +00:00
Fred Drake
69013d070e - document the termination condition for cmd.Cmd.cmdloop()
- document the use of the return value for cmd.Cmd.do_*() methods
2004-07-30 18:58:54 +00:00
Martin v. Löwis
479b7a7cdb Fix typo. 2004-07-30 16:09:19 +00:00
Martin v. Löwis
8ddb638e43 Add closing methoddesc. Add versionadded. Rewrap. 2004-07-30 16:08:49 +00:00
Armin Rigo
1dd04a02e0 This is a reorganization of list_ass_slice(). It should probably be reviewed,
though I tried to be very careful.  This is a slight simplification, and it
adds a new feature: a small stack-allocated "recycled" array for the cases
when we don't remove too many items.

It allows PyList_SetSlice() to never fail if:
* you are sure that the object is a list; and
* you either do not remove more than 8 items, or clear the list.

This makes a number of other places in the source code correct again -- there
are some places that delete a single item without checking for MemoryErrors
raised by PyList_SetSlice(), or that clear the whole list, and sometimes the
context doesn't allow an error to be propagated.
2004-07-30 11:38:22 +00:00
Armin Rigo
a37bbf2e5b What if you call lst.__init__() while it is being sorted? :-)
The invariant checks would break.
2004-07-30 11:20:18 +00:00