Commit Graph

1142 Commits

Author SHA1 Message Date
Martin v. Löwis 93227275dc Patch #497126: Always compile dl. 2002-01-01 20:18:30 +00:00
Martin v. Löwis 7198a525f3 Patch #494783: Rename cmp_op enumerators. 2002-01-01 19:59:11 +00:00
Neal Norwitz 649b75954a SF Patch #494863, file.xreadlines() should raise ValueError if file is closed
This makes xreadlines behave like all other file methods
(other than close() which just returns).
2002-01-01 19:07:13 +00:00
Martin v. Löwis a6e975801e Patch #497098: build support for GNU/Hurd. 2002-01-01 18:41:33 +00:00
Guido van Rossum 606fe4e79f SF patch #497420 (Eduardo Pérez): ftplib: ftp anonymous password
Instead of sending the real user and host, use "anonymous@" (i.e. no
host name at all!) as the default anonymous FTP password.  This avoids
privacy violations.
2001-12-28 20:57:14 +00:00
Guido van Rossum c33e077838 SF patch #497420 (Eduardo Pérez): ftplib: ftp anonymous password
Instead of sending the real user and host, use "anonymous@" (i.e. no
host name at all!) as the default anonymous FTP password.  This avoids
privacy violations.
2001-12-28 20:54:28 +00:00
Jack Jansen 5560269675 Added someone. 2001-12-27 23:37:49 +00:00
Tim Peters 10a3bb53a8 SF bug #495548: troublesome #define in pyport.h
Removed the ancient "#define ANY void".

Bugfix candidate?  Hard call.  The bug report claims the existence of
this #define creates conflicts with other packages, which is easy to
believe.  OTOH, some extension authors may still be relying on its
presence.  I'm afraid you can't win on this one.
2001-12-25 19:07:38 +00:00
Tim Peters af8446f823 Added 2.3a1 section. 2001-12-21 21:36:50 +00:00
Barry Warsaw 52acb49298 Merge of the release22 branch changes back into the trunk. 2001-12-21 20:04:22 +00:00
Guido van Rossum 1cb65e265a ZZZ. 2001-12-20 15:56:23 +00:00
Guido van Rossum 54dc1d31ab Another contributor. 2001-12-20 13:19:36 +00:00
Guido van Rossum f83142910b Fix for SF bug #494904: Cannot pickle a class with a metaclass,
reported by Dan Parisien.
2001-12-19 16:57:36 +00:00
Tim Peters 1fbb577ee2 SF bug #494738: binascii_b2a_base64 overwrites memory.
binascii_b2a_base64():  We didn't allocate enough buffer space for very
short inputs (e.g., a 1-byte input can produce a 5-byte output, but we
only allocated 2 bytes).  I expect that malloc overheads absorbed the
overrun in practice, but computing a correct upper bound is a very simple
change.
2001-12-19 04:41:35 +00:00
Tim Peters 909c091646 Post-release fiddling -- prep for 2.2 final. 2001-12-14 23:16:18 +00:00
Barry Warsaw 0655745ab0 Merge last minute 2.2c1 changes from branch to trunk. 2001-12-14 20:47:12 +00:00
Fred Drake 6c01e25d9f Note the tighter complex() parameter checking. 2001-12-14 17:08:12 +00:00
Jeremy Hylton 61f649d608 For the exec-free var bug. 2001-12-13 19:53:26 +00:00
Tim Peters 6272dfd99f Update Windows buildno for 2.2c1.
Update 2.2c1 release data in NEWS.
2001-12-13 19:34:00 +00:00
Tim Peters bf72fe2650 Added -Qnew news about the test_coercion.py failure. That's the only test
that still fails under -Qnew, and is so tied to details of current
behavior that fixing it before new division becomes the default is
impractical.
2001-12-11 21:43:14 +00:00
Tim Peters f582b82fe9 SF bug #491415 PyDict_UpdateFromSeq2() unused
PyDict_UpdateFromSeq2():  removed it.
PyDict_MergeFromSeq2():  made it public and documented it.
PyDict_Merge() docs:  updated to reveal <wink> that the second
argument can be any mapping object.
2001-12-11 18:51:08 +00:00
Guido van Rossum 1d961f5e5f New fodder. 2001-12-10 15:46:20 +00:00
Guido van Rossum 146483964e Patch supplied by Burton Radons for his own SF bug #487390: Modifying
type.__module__ behavior.

This adds the module name and a dot in front of the type name in every
type object initializer, except for built-in types (and those that
already had this).  Note that it touches lots of Mac modules -- I have
no way to test these but the changes look right.  Apologies if they're
not.  This also touches the weakref docs, which contains a sample type
object initializer.  It also touches the mmap test output, because the
mmap type's repr is included in that output.  It touches object.h to
put the correct description in a comment.
2001-12-08 18:02:58 +00:00
Tim Peters 25059d30c3 SF patch #489173: Make os.spawnv not block the interpreter, from
Anthony Roach.
Release the global interpreter lock around platform spawn calls.
Bugfix candidate?  Hard to say; I favor "yes, bugfix".
These clearly *should* have been releasing the GIL all along, if for no
other reason than compatibility with the similar os.system().  But it's
possible some program out there is (a) multithreaded, (b) calling a spawn
function with P_WAIT, and (c) relying on the spawn call to block all their
threads until the spawned program completes.  I think it's very unlikely
anyone is doing that on purpose, but someone may be doing so by accident.
2001-12-07 20:35:43 +00:00
Jack Jansen 1999ef4973 Test wether we are building on a case-insensitive filesystem (such
as OSX HFS+) and if so add an extension to the python executable, but
only in the build directory, not on the installed python.
2001-12-06 21:47:20 +00:00
Jack Jansen ffa260fb54 sys.platform is now "darwin" without digits appended. 2001-12-06 21:14:00 +00:00
Tim Peters 3caca2326e SF bug #488514: -Qnew needs work
Big Hammer to implement -Qnew as PEP 238 says it should work (a global
option affecting all instances of "/").

pydebug.h, main.c, pythonrun.c:  define a private _Py_QnewFlag flag, true
iff -Qnew is passed on the command line.  This should go away (as the
comments say) when true division becomes The Rule.  This is
deliberately not exposed to runtime inspection or modification:  it's
a one-way one-shot switch to pretend you're using Python 3.

ceval.c:  when _Py_QnewFlag is set, treat BINARY_DIVIDE as
BINARY_TRUE_DIVIDE.

test_{descr, generators, zipfile}.py:  fiddle so these pass under
-Qnew too.  This was just a matter of s!/!//! in test_generators and
test_zipfile.  test_descr was trickier, as testbinop() is passed
assumptions that "/" is the same as calling a "__div__" method; put
a temporary hack there to call "__truediv__" instead when the method
name is "__div__" and 1/2 evaluates to 0.5.

Three standard tests still fail under -Qnew (on Windows; somebody
please try the Linux tests with -Qnew too!  Linux runs a whole bunch
of tests Windows doesn't):
    test_augassign
    test_class
    test_coercion
I can't stay awake longer to stare at this (be my guest).  Offhand
cures weren't obvious, nor was it even obvious that cures are possible
without major hackery.

Question:  when -Qnew is in effect, should calls to __div__ magically
change into calls to __truediv__?  See "major hackery" at tail end of
last paragraph <wink>.
2001-12-06 06:23:26 +00:00
Guido van Rossum bf7c804588 SF patch #489680 (David Abrahams): h2py uses nonexistent method splitfields() 2001-12-06 03:31:04 +00:00
Guido van Rossum 33bab01da6 Fix SF bug #489581: __slots__ leak.
It was easier than I thought, assuming that no other things contribute
to the instance size besides slots -- a pretty good bet.  With a test
suite, no less!
2001-12-05 22:45:48 +00:00
Guido van Rossum d331cb5502 At the PythonLabs meeting someone mentioned it would make Jim really
happy if one could delete the __dict__ attribute of an instance.  I
love to make Jim happy, so here goes...

- New-style objects now support deleting their __dict__.  This is for
  all intents and purposes equivalent to assigning a brand new empty
  dictionary, but saves space if the object is not used further.
2001-12-05 19:46:42 +00:00
Guido van Rossum bebfe03617 Another no-longer-nameless contributor... 2001-12-04 21:33:34 +00:00
Guido van Rossum cd7b7d6110 Add note about fixed hash() of mutable objects. 2001-12-04 21:02:07 +00:00
Guido van Rossum cdbbd0a59d New about super. 2001-12-03 15:46:59 +00:00
Guido van Rossum 22f9c6ddb8 Add Greg Chapman. 2001-12-03 15:37:40 +00:00
Guido van Rossum 4b80085ddd Fix for SF bug #485678.
slot_tp_descr_set(): When deleting an attribute described by a
descriptor implemented in Python, the descriptor's __del__ method is
called by the slot_tp_descr_set dispatch function.  This is bogus --
__del__ already has a different meaning. Renaming this use of __del__
is renamed to __delete__.
2001-12-03 00:54:52 +00:00
Martin v. Löwis 714d2e2487 Patch #487275: windows-1251 charset alias. 2001-12-02 12:26:03 +00:00
Tim Peters cffed4bc21 SF bug 486278 SystemError: Python/getargs.c:1086: bad.
vgetargskeywords():  Now that this routine is checking for bad input
(rather than dump core in some cases), some bad calls are raising errors
that previously "worked".  This patch makes the error strings more
revealing, and changes the exceptions from SystemError to RuntimeError
(under the theory that SystemError is more of a "can't happen!" assert-
like thing, and so inappropriate for bad arguments to a public C API
function).
2001-11-29 03:26:37 +00:00
Tim Peters 6d20b43a4e SF bug 485175: buffer overflow in traceback.c.
Bugfix candidate.
tb_displayline():  the sprintf format was choking off the file name, but
used plain %s for the function name (which can be arbitrarily long).
Limit both to 500 chars max.
2001-11-27 20:30:42 +00:00
Martin v. Löwis 652e1917c6 Properly set static options for tixBalloon and tixResizeHandle.
Expose Tix.ResizeHandle.{detach_widget,hide,show}.
Update Tix demos.
2001-11-25 14:50:56 +00:00
Martin v. Löwis 3a89b2b131 Patch #484847: Default to netscape.exe on OS/2. 2001-11-25 14:35:58 +00:00
Martin v. Löwis 560da62fc7 Rename get_referents to get_referrers. Fixes #483815. 2001-11-24 09:24:51 +00:00
Tim Peters b3c9af17d9 Add skeleton for 2.2c1 news. 2001-11-17 00:21:57 +00:00
Barry Warsaw 012852ba7f Merged in NEWS changes from the r22b2 branch. 2001-11-16 16:17:27 +00:00
Guido van Rossum 3fc08d23c7 Group dict[ionary] news together; and use dict() instead of
dictionary().
2001-11-15 20:33:10 +00:00
Guido van Rossum 3d27df0734 Correct the description of mixed multiple inheritance: the code
special-cases classic classes, it doesn't do anything about other
cases where different metaclasses are involved (except for the trivial
case where one metaclass is a subclass of the others).  Also note that
it's metaclass, not metatype.
2001-11-15 20:27:54 +00:00
Tim Peters 76f7fe37bb News about mixing classic and new-style classes in MI. 2001-11-15 20:02:21 +00:00
Tim Peters 5ebfd36afa CVS patch #477161: New "access" keyword for mmap, from Jay T Miller.
This gives mmap() on Windows the ability to create read-only, write-
through and copy-on-write mmaps.  A new keyword argument is introduced
because the mmap() signatures diverged between Windows and Unix, so
while they (now) both support this functionality, there wasn't a way to
spell it in a common way without introducing a new spelling gimmick.
The old spellings are still accepted, so there isn't a backward-
compatibility issue here.
2001-11-13 23:11:19 +00:00
Jeremy Hylton 249aaeda0a Add note about assignment to __debug__ being an error. 2001-11-09 21:06:24 +00:00
Martin v. Löwis 25ee87cc50 Patch #478654: Expose tk_chooseDirectory.
Also delegate kw arguments through ** calls.
2001-11-07 22:38:08 +00:00
Tim Peters 7a33d8bb64 News about OS/2 Visual Age C++ patches. 2001-11-05 02:51:07 +00:00
Tim Peters 169ded0d68 Finish SF patch 477059: __del__ on new classes vs. GC.
Just doc and NEWS here, about the change in gc.garbage meaning.
2001-11-03 19:57:21 +00:00
Tim Peters 7533587d43 Improved error msg when a symbolic group name is redefined. Added docs
and NEWS.  Bugfix candidate?  That's a dilemma for Anthony <wink>:  /F
did fix a longstanding bug here, but the fix can cause code to raise an
exception that previously worked by accident.
2001-11-03 19:35:43 +00:00
Martin v. Löwis b7b3260128 Patch #471120: Improved doc strings and new wrappers. 2001-11-02 23:48:20 +00:00
Tim Peters ae0f1ed92c Move a name into correct position. 2001-10-31 04:45:45 +00:00
Tim Peters 59ed448bc6 SF patch #474485: pydoc generates some bad html, from Rich Salz. 2001-10-31 04:20:26 +00:00
Tim Peters a6ca4f40d0 SF patch #474500: Make OS/2 locks work like posix locks, from Michael
Muller.
2001-10-31 03:50:45 +00:00
Tim Peters 5b40f1c212 SF bug #474077 2.2b1: Error compiling extns with BCC
Removed "#undef HAVE_HYPOT" line from Borland config, as suggested.
Whether this will break some other Borland usage is a good question I
can't answer.
2001-10-30 21:09:55 +00:00
Guido van Rossum 692adf19cb News and attribution for SF bug #473009. 2001-10-30 03:03:03 +00:00
Tim Peters a427a2b8d0 Rename "dictionary" (type and constructor) to "dict". 2001-10-29 22:25:45 +00:00
Guido van Rossum 7ad2d1eb8e Add __del__ callbacks. They are too useful to leave out.
XXX Remaining problems:

- The GC module doesn't know about these; I think it has its reasons
  to disallow calling __del__, but for now, __del__ on new-style
  objects is called when the GC module discards an object, for better
  or for worse.

- The code to call a __del__ handler is really ridiculously
  complicated, due to all the different debug #ifdefs.  I've copied
  this from the similar code in classobject.c, so I'm pretty sure I
  did it right, but it's not pretty. :-(

- No tests yet.
2001-10-29 22:11:00 +00:00
Guido van Rossum 86443216b7 News about the socket type and the HP-UX port. 2001-10-27 22:28:54 +00:00
Guido van Rossum 3eedf718b3 Updated this README to reality. 2001-10-26 15:01:16 +00:00
Guido van Rossum 12d955c830 Some news. 2001-10-26 14:56:06 +00:00
Andrew M. Kuchling 79bcc17cd9 Delete Makefile.pre.in (BDFL pronouncement) 2001-10-26 14:54:16 +00:00
Tim Peters 1fc240e851 Generalize dictionary() to accept a sequence of 2-sequences. At the
outer level, the iterator protocol is used for memory-efficiency (the
outer sequence may be very large if fully materialized); at the inner
level, PySequence_Fast() is used for time-efficiency (these should
always be sequences of length 2).

dictobject.c, new functions PyDict_{Merge,Update}FromSeq2.  These are
wholly analogous to PyDict_{Merge,Update}, but process a sequence-of-2-
sequences argument instead of a mapping object.  For now, I left these
functions file static, so no corresponding doc changes.  It's tempting
to change dict.update() to allow a sequence-of-2-seqs argument too.

Also changed the name of dictionary's keyword argument from "mapping"
to "x".  Got a better name?  "mapping_or_sequence_of_pairs" isn't
attractive, although more so than "mosop" <wink>.

abstract.h, abstract.tex:  Added new PySequence_Fast_GET_SIZE function,
much faster than going thru the all-purpose PySequence_Size.

libfuncs.tex:
- Document dictionary().
- Fiddle tuple() and list() to admit that their argument is optional.
- The long-winded repetitions of "a sequence, a container that supports
  iteration, or an iterator object" is getting to be a PITA.  Many
  months ago I suggested factoring this out into "iterable object",
  where the definition of that could include being explicit about
  generators too (as is, I'm not sure a reader outside of PythonLabs
  could guess that "an iterator object" includes a generator call).
- Please check my curly braces -- I'm going blind <0.9 wink>.

abstract.c, PySequence_Tuple():  When PyObject_GetIter() fails, leave
its error msg alone now (the msg it produces has improved since
PySequence_Tuple was generalized to accept iterable objects, and
PySequence_Tuple was also stomping on the msg in cases it shouldn't
have even before PyObject_GetIter grew a better msg).
2001-10-26 05:06:50 +00:00
Guido van Rossum 0afde13b43 Fix two typos, one noted by Noah Spurrier in SF bug #475166, the
second noted after a second's thought about what the next line should
do. :-(
2001-10-26 03:38:46 +00:00
Barry Warsaw d970fe4022 I went back and figured out the release date for Python 2.2a1. 2001-10-25 21:53:30 +00:00
Guido van Rossum a0dfc8577d Fix SF bug #474538: Memory (reference) leak in poller.register (Dave Brueck)
Replace some tortuous code that was trying to be clever but forgot to
DECREF the key and value, by more longwinded but obviously correct
code.

(Inspired by but not copying the fix from SF patch #475033.)
2001-10-25 20:18:35 +00:00
Guido van Rossum 491921467c Note updated RISCOS port. Remove reference in the 2.1 release notes
to os.extsep -- that variable actually didn't exist in that release!
2001-10-24 20:51:44 +00:00
Guido van Rossum 00ebd46dfc SF patch #474175 (Jay T Miller): file.readinto arg parsing bug
The C-code in fileobject.readinto(buffer) which parses
    the arguments assumes that size_t is interchangeable
    with int:

	    size_t ntodo, ndone, nnow;

	    if (f->f_fp == NULL)
		    return err_closed();
	    if (!PyArg_Parse(args, "w#", &ptr, &ntodo))
		    return NULL;

    This causes a problem on Alpha / Tru64 / OSF1 v5.1
    where size_t is a long and sizeof(long) != sizeof(int).

    The patch I'm proposing declares ntodo as an int.  An
    alternative might be to redefine w# to expect size_t.

[We can't change w# because there are probably third party modules
relying on it. GvR]
2001-10-23 21:25:24 +00:00
Tim Peters 98791affc8 Doc and NEWS changes due to Jeremy adding traceback objects to gc. 2001-10-23 01:59:54 +00:00
Fred Drake cb7a6b5bf7 Added two very tardy notes about the 2.2b1 release, fixed a typo. 2001-10-22 18:41:51 +00:00
Andrew M. Kuchling 15e0353715 Add curses-related news items 2001-10-22 16:37:10 +00:00
Andrew M. Kuchling 51c18166bb Fix some typos 2001-10-22 01:47:26 +00:00
Guido van Rossum c8e5645f15 Methods of built-in types now properly check for keyword arguments
(formerly these were silently ignored).  The only built-in methods
that take keyword arguments are __call__, __init__ and __new__.
2001-10-22 00:43:43 +00:00
Guido van Rossum 67b2659046 Patch from SF bug #473150: configure weaknesses on HP-UX (Michael Piotrowski)
1. configure doesn't handle HP-UX release numbers
    (e.g., B.11.00), resulting in MACHDEP = "hpuxB".

    2. After checking for wchar.h, configure doesn't
    include it when checking the size of wchar_t.

    (Python 2.2b1 on HP-UX 11.00)
2001-10-20 14:21:45 +00:00
Tim Peters 84362bc74a The usual post-release fiddling. 2001-10-19 17:55:30 +00:00
Marc-André Lemburg b5507ecd3c Additional test and documentation for the unicode() changes.
This patch should also be applied to the 2.2b1 trunk.
2001-10-19 12:02:29 +00:00
Barry Warsaw f6fb171c9d Last minute updates for changes since 2.2a4. Unless Fred wants to add
anything about the hotshot profiler, this file is ready for the 2.2b1
Windows build.
2001-10-19 05:35:40 +00:00
Jeremy Hylton cb4414366b Add entry for RAND_xxx() functions in socket module. 2001-10-19 03:40:19 +00:00
Guido van Rossum 1c486099ad Note the Unicode changes from SF patch #470578. 2001-10-19 02:05:35 +00:00
Guido van Rossum 93505a2f2b Another. 2001-10-19 01:51:11 +00:00
Guido van Rossum c524d952da SF patch #460805 by Chris Gonnerman: Support for unsetenv()
This adds unsetenv to posix, and uses it in the __delitem__ method of
os.environ.

(XXX Should we change the preferred name for putenv to setenv, for
consistency?)
2001-10-19 01:31:59 +00:00
Guido van Rossum 98bf58f1c6 SF patch #462296: Add attributes to os.stat results; by Nick Mathewson.
This is a big one, touching lots of files.  Some of the platforms
aren't tested yet.  Briefly, this changes the return value of the
os/posix functions stat(), fstat(), statvfs(), fstatvfs(), and the
time functions localtime(), gmtime(), and strptime() from tuples into
pseudo-sequences.  When accessed as a sequence, they behave exactly as
before.  But they also have attributes like st_mtime or tm_year.  The
stat return value, moreover, has a few platform-specific attributes
that are not available through the sequence interface (because
everybody expects the sequence to have a fixed length, these couldn't
be added there).  If your platform's struct stat doesn't define
st_blksize, st_blocks or st_rdev, they won't be accessible from Python
either.

(Still missing is a documentation update.)
2001-10-18 20:34:25 +00:00
Guido van Rossum 6c4bce3b5c Note stricter tp_compare return value requirements. 2001-10-18 19:20:25 +00:00
Fred Drake 934d2a4310 Add a note about changes related to the weak reference objects. 2001-10-18 18:18:06 +00:00
Guido van Rossum a5343ccd28 SF bug #471720: ThreadingMixIn/TCPServer forgets close
Solved with a helper method that calls finish_request() and then
close_request().  The code is by Max Neunhöffer.
2001-10-18 18:02:07 +00:00
Guido van Rossum f76de62f7d Fix SF bug #472234: type(obj) calls type->tp_init (Roeland Rengelink)
The fix is a band-aid: type_call() now makes the same exception for a
single-argument call to type() as type_new() was already making.
2001-10-18 15:49:21 +00:00
Martin v. Löwis 61c5edf6fc Expose setgroups. Fixes feature request #468116. 2001-10-18 04:06:00 +00:00
Guido van Rossum bcbdc95e90 SF patch #467430.
- replace some log_error() calls with log_message()

- flush self.rfile before forking too (hope this works on Windows)
2001-10-17 06:45:56 +00:00
Guido van Rossum 89e000edb7 YAPC. 2001-10-17 00:17:52 +00:00
Guido van Rossum 9074ef6081 Add fix for getattr(obj, name, default). Rearrange a few things. 2001-10-16 21:34:49 +00:00
Guido van Rossum 3c28863e08 Partial patch from SF #452266, by Jason Petrone.
This changes Pythread_start_thread() to return the thread ID, or -1
for an error.  (It's technically an incompatible API change, but I
doubt anyone calls it.)
2001-10-16 21:13:49 +00:00
Jeremy Hylton 6f543b606d Add note about new zlib feature. 2001-10-16 20:42:52 +00:00
Guido van Rossum dfefc06fe0 Add Shane. 2001-10-16 20:13:53 +00:00
Guido van Rossum 3eea25c3fa Reword the text on the demise of __dynamic__ somewhat, correcting a
typo.
2001-10-16 00:46:57 +00:00
Guido van Rossum 687ae00460 Get rid of __defined__ and tp_defined -- there's no need to
distinguish __dict__ and __defined__ any more.  In the C structure,
tp_cache takes its place -- but this hasn't been implemented yet.
2001-10-15 22:03:32 +00:00
Guido van Rossum f35f06963b Another contributor. 2001-10-15 19:55:12 +00:00
Guido van Rossum 1346e83eb0 Patch 471400: escape single-dot lines; by Jason Hildebrand.
RFC 2049 recommends never outputting a line consisting of a single
dot.
2001-10-15 18:44:26 +00:00
Guido van Rossum a8bcf80e7b Note about fix in list comprehensions. 2001-10-15 15:53:58 +00:00
Guido van Rossum c0f1bfec05 SF bug #469910 by Alfonso Baciero: Bugfix for imaplib for macintosh
Pass binary mode to makefile().
2001-10-15 13:47:08 +00:00
Guido van Rossum 9abaf4d3b7 SF patch #467455 : Enhanced environment variables, by Toby Dickenson.
This patch changes to logic to:

   if env.var. set and non-empty:
       if env.var. is an integer:
           set flag to that integer
   if flag is zero: # [actually, <= 0 --GvR]
       set flag to 1

   Under this patch, anyone currently using
   PYTHONVERBOSE=yes will get the same output as before.

   PYTHONVERBNOSE=2 will generate more verbosity than
   before.

   The only unusual case that the following three are
   still all equivalent:
   PYTHONVERBOSE=yespleas
   PYTHONVERBOSE=1
   PYTHONVERBOSE=0
2001-10-12 22:17:56 +00:00
Guido van Rossum 3e99643682 Jason Lowe 2001-10-12 21:54:29 +00:00
Tim Peters 04cf1d31d9 Add item about new "Edit with IDLE" menu entry created by Windows installer. 2001-10-09 22:39:40 +00:00
Tim Peters 659a60311d Allow the profiler's calibration constant to be specified in the constructor
call, or via setting an instance or class vrbl.
Rewrote the calibration docs.
Modern boxes are so friggin' fast, and a profiler event does so much work
anyway, that the cost of looking up an instance vrbl (the bias constant)
per profile event just isn't a big deal.
2001-10-09 20:51:19 +00:00
Martin v. Löwis 454d791c91 Add Cesar Eduardo Barros, for asyncore patches. 2001-10-09 11:53:47 +00:00
Tim Peters cce092d046 A brand new implementation of Profile.calibrate(). This measures an
actual run of the profiler, instead of timing a simplified simulation of
part of what the profiler does.  It computes a constant about 60% higher
on my Win98SE box than the old method, and the new constant appears much
more realistic.  Deleted the undocumented simple(), instrumented(), and
profiler_simulation() methods (which existed only to support the previous
calibration method).
2001-10-09 05:31:56 +00:00
Tim Peters 0a1fc4e389 Remove code and docs for the OldProfile and HotProfile classes: code
hasn't worked in years, docs were wrong, and they aren't interesting
anymore regardless.
2001-10-07 03:12:08 +00:00
Fred Drake 645a7e08b3 Frankly, I'd like my "L." as well! 2001-10-05 14:12:23 +00:00
Guido van Rossum 261f57cc30 Another contributor.
Give Fred his Jr.
2001-10-05 14:06:27 +00:00
Martin v. Löwis 16628c9709 Document addition of chroot. 2001-10-04 22:46:41 +00:00
Guido van Rossum 50fda3ba26 Make new classes dynamic by default. 2001-10-04 19:46:06 +00:00
Guido van Rossum c4b09b4417 Add note about profile fix. 2001-10-04 10:19:00 +00:00
Tim Peters 1c9ca8726e Added a little type/class NEWS. 2001-10-04 06:43:12 +00:00
Guido van Rossum ed554f6fc7 Note removal of Demo/dns, point to PyDNS. 2001-10-02 23:15:37 +00:00
Tim Peters 7402f791a4 SF patch [#466616] Exclude imported items from doctest,
from Tim Hochberg.  Also mucho fiddling to change the way doctest
determines whether a thing is a function, module or class.  Under 2.2,
this really requires the functions in inspect.py (e.g., types.ClassType
is close to meaningless now, if not outright misleading).
2001-10-02 03:53:41 +00:00
Tim Peters 1ce3cf7749 SF patch [#466877] SIGBREAK is missing from signal module.
Patch from Steve Scott to add SIGBREAK support (unique to Windows).
2001-10-01 17:58:40 +00:00
Martin v. Löwis 5868fb8df1 Undo last checkin. 2001-10-01 17:04:03 +00:00
Guido van Rossum ff68693dd5 Another SF patch contributor. 2001-10-01 13:47:46 +00:00
Martin v. Löwis 2fa69d7984 Patch #426880: Implement Listbox itemcget and itemconfigure. 2001-10-01 10:09:31 +00:00
Martin v. Löwis 0daad598d0 Patch #462122: add readline startup and pre_event hooks. 2001-09-30 21:09:59 +00:00
Martin v. Löwis 16dc7f44b1 Patch #462190, patch #464070: Support quoted printable in the binascii module.
Decode and encode underscores for header style encoding. Fixes bug #463996.
2001-09-30 20:32:11 +00:00
Tim Peters d38b1c74f3 SF [#466125] PyLong_AsLongLong works for any integer.
Generalize PyLong_AsLongLong to accept int arguments too.  The real point
is so that PyArg_ParseTuple's 'L' code does too.  That code was
undocumented (AFAICT), so documented it.
2001-09-30 05:09:37 +00:00
Tim Peters abf925f6bf Post-release fiddling (prep for 2.2b1). 2001-09-28 21:53:42 +00:00
Barry Warsaw 647d5e8f4a Fixed a minor typo. 2001-09-28 17:01:02 +00:00
Barry Warsaw 86fbaf8e67 Merged changes from 22a4 branch. 2001-09-28 15:26:12 +00:00
Marc-André Lemburg bf99017bbb Added note about new StringIO/cStringIO feature. 2001-09-27 14:17:33 +00:00
Guido van Rossum 808eea70ec Separate out the type/class-related news and reword some items.
Add news items about comparisons, repr(), __class__ assignment.
2001-09-25 04:15:41 +00:00
Tim Peters 66c1a525e0 Make properties discoverable from Python:
- property() now takes 4 keyword arguments:  fget, fset, fdel, doc.
  Note that the real purpose of the 'f' prefix is to make fdel fit in
  ('del' is a keyword, so can't used as a keyword argument name).

- These map to visible readonly attributes 'fget', 'fset', 'fdel',
  and '__doc__' in the property object.

- fget/fset/fdel weren't discoverable from Python before.

- __doc__ is new, and allows to associate a docstring with a property.
2001-09-24 21:17:50 +00:00
Barry Warsaw 2f60073d2d Added a note about the new email package. 2001-09-24 04:28:10 +00:00
Tim Peters 2c9aa5ea8d Generalize file.writelines() to allow iterable objects. 2001-09-23 04:06:05 +00:00
Tim Peters 8a9c284437 Make difflib.ndiff() and difflib.Differ.compare() generators. This
restores the 2.1 ability of Tools/scripts/ndiff.py to start producing
output before the entire comparison is complete.
2001-09-22 21:30:22 +00:00
Guido van Rossum 380bad1b4e Add note about __getattribute__. 2001-09-22 17:10:44 +00:00
Barry Warsaw 58b072d53f {String,cString}IO.StringIO's support iteration. 2001-09-22 04:44:21 +00:00
Marc-André Lemburg aefd766eed Note about enhancements to unicode(). 2001-09-20 12:59:37 +00:00
Guido van Rossum c9ed5dc81c News about compiler and pydoc. 2001-09-20 05:30:24 +00:00
Martin v. Löwis 2777c021fc Patch #462849: Pass Unicode objects to file's .write method. 2001-09-19 13:47:32 +00:00
Marc-André Lemburg 494f2aea8e Docs and News item for the codecs.py additions. 2001-09-19 11:33:31 +00:00
Guido van Rossum 624c8af706 All the news that fits, we print.
(Went through the logs looking for nuggets.  This is what I found.)
2001-09-18 15:21:04 +00:00
Guido van Rossum d8185ca43e Mention SMTP additions and hmac module. 2001-09-14 16:35:16 +00:00
Tim Peters 59c9a645e2 SF bug [#460467] file objects should be subclassable.
Preliminary support.  What's here works, but needs fine-tuning.
2001-09-13 05:38:56 +00:00
Tim Peters 1f47d11ff2 Added items about significant subclass bugfixes. 2001-09-12 23:40:29 +00:00
Tim Peters 9a9471ca1c Add info about Windows filesystem limits. 2001-09-11 23:18:51 +00:00
Jack Jansen f0b0f680fe Added Donovan Preston. 2001-09-11 19:12:02 +00:00
Guido van Rossum 07bff869f0 Another contributor. 2001-09-11 15:52:01 +00:00
Guido van Rossum 54328388f7 Another volunteer. 2001-09-10 19:00:21 +00:00
Tim Peters 16a77adfbd Generalize operator.indexOf (PySequence_Index) to work with any
iterable object.  I'm not sure how that got overlooked before!

Got rid of the internal _PySequence_IterContains, introduced a new
internal _PySequence_IterSearch, and rewrote all the iteration-based
"count of", "index of", and "is the object in it or not?" routines to
just call the new function.  I suppose it's slower this way, but the
code duplication was getting depressing.
2001-09-08 04:00:12 +00:00
Tim Peters b07352e8b7 The usual post-release fiddling. 2001-09-08 01:25:47 +00:00
Barry Warsaw d6c8ca6536 Merging 2.2a3 branch changes back into trunk 2001-09-07 18:13:44 +00:00
Guido van Rossum 8d7234d1dc Rename 'getset' to 'property'. 2001-09-06 22:02:58 +00:00
Steve Purcell 6091cd61ce Added note of unittest.py changes that fixed bug 451309 2001-09-06 16:05:17 +00:00
Martin v. Löwis cb227c9850 Report patch #416079 changes. 2001-09-06 08:54:16 +00:00
Tim Peters 6e13a562ae Enable large file support on Win32 systems.
Curious:  the MS docs say stati64 etc are supported even on Win95, but
Win95 doesn't support a filesystem that allows partitions > 2 Gb.

test_largefile:  This was opening its test file in text mode.  I have no
idea how that worked under Win64, but it sure needs binary mode on Win98.
BTW, on Win98 test_largefile runs quickly (under a second).
2001-09-06 00:32:15 +00:00
Tim Peters a40c793d06 Rework the way we try to check for libm overflow, given that C99 no longer
requires that errno ever get set, and it looks like glibc is already
playing that game.  New rules:

+ Never use HUGE_VAL.  Use the new Py_HUGE_VAL instead.

+ Never believe errno.  If overflow is the only thing you're interested in,
  use the new Py_OVERFLOWED(x) macro.  If you're interested in any libm
  errors, use the new Py_SET_ERANGE_IF_OVERFLOW(x) macro, which attempts
  to set errno the way C89 said it worked.

Unfortunately, none of these are reliable, but they work on Windows and I
*expect* under glibc too.
2001-09-05 22:36:56 +00:00
Guido van Rossum 97bac53c14 Change the date field to use $Date$ so it won't be outrageously out of
date.
2001-09-05 18:57:51 +00:00
Guido van Rossum b674baf70e Document -Q. Move arguments around to be in strict alphabetical
order.  Add breaks in SYNOPSIS.
2001-09-05 18:55:34 +00:00
Guido van Rossum 32aa5d2c0b Describe -E (which was added to 2.2a2). 2001-09-05 18:43:35 +00:00
Martin v. Löwis 44f8696171 Patch #428326: New class threading.Timer. 2001-09-05 13:44:54 +00:00
Tim Peters 785261684e Return reasonable results for math.log(long) and math.log10(long) (we were
getting Infs, NaNs, or nonsense in 2.1 and before; in yesterday's CVS we
were getting OverflowError; but these functions always make good sense
for positive arguments, no matter how large).
2001-09-05 00:53:45 +00:00
Tim Peters 7eea37e831 At Guido's suggestion, here's a new C API function, PyObject_Dir(), like
__builtin__.dir().  Moved the guts from bltinmodule.c to object.c.
2001-09-04 22:08:56 +00:00
Tim Peters 9fffa3eea3 Raise OverflowError when appropriate on long->float conversion. Most of
the fiddling is simply due to that no caller of PyLong_AsDouble ever
checked for failure (so that's fixing old bugs).  PyLong_AsDouble is much
faster for big inputs now too, but that's more of a happy consequence
than a design goal.
2001-09-04 05:14:19 +00:00
Guido van Rossum 61c345fa37 Rename the -D option to -Q, to avoid a Jython option name conflict. 2001-09-04 03:26:15 +00:00
Tim Peters 32f453eaa4 New restriction on pow(x, y, z): If z is not None, x and y must be of
integer types, and y must be >= 0.  See discussion at
http://sf.net/tracker/index.php?func=detail&aid=457066&group_id=5470&atid=105470
2001-09-03 08:35:41 +00:00
Tim Peters 5d2b77cf31 Make dir() wordier (see the new docstring). The new behavior is a mixed
bag.  It's clearly wrong for classic classes, at heart because a classic
class doesn't have a __class__ attribute, and I'm unclear on whether
that's feature or bug.  I'll repair this once I find out (in the
meantime, dir() applied to classic classes won't find the base classes,
while dir() applied to a classic-class instance *will* find the base
classes but not *their* base classes).

Please give the new dir() a try and see whether you love it or hate it.
The new dir([]) behavior is something I could come to love.  Here's
something to hate:

>>> class C:
...     pass
...
>>> c = C()
>>> dir(c)
['__doc__', '__module__']
>>>

The idea that an instance has a __doc__ attribute is jarring (of course
it's really c.__class__.__doc__ == C.__doc__; likewise for __module__).

OTOH, the code already has too many special cases, and dir(x) doesn't
have a compelling or clear purpose when x isn't a module.
2001-09-03 05:47:38 +00:00
Tim Peters b7da09099a Clarify the Borland situation, based on email from Stephen. 2001-09-02 23:01:43 +00:00
Guido van Rossum aaf80c8c87 Add news about dictionary() constructor. 2001-09-02 13:44:35 +00:00
Guido van Rossum cb6d0da04e An anonymous contributor reveals his name... 2001-09-02 05:07:17 +00:00
Tim Peters bdee63fff3 Start items w/ "-" instead of "+" (consistency w/ earlier versions).
Stephen Hansen reported via email that he didn't finish the port to
Borland C, so remove the old item saying it worked and add a new item
saying what I know; I've asked Stephen for more details.
2001-09-02 03:40:59 +00:00
Guido van Rossum ae45714ed3 Add various and sundry news items -- most mine, one Barry's, one
Michael Hudson's.
2001-08-31 18:31:35 +00:00
Tim Peters d507dab91f SF patch #455966: Allow leading 0 in float/imag literals.
Consequences for Jython still unknown (but raised on Jython-Dev).
2001-08-30 20:51:59 +00:00
Neil Schemenauer 4042c69b5e Add news about GC API change. Explain how to upgrade extension modules. 2001-08-30 15:38:01 +00:00
Tim Peters 692323488b Add a new function imp.lock_held(), and use it to skip test_threaded_import
when that test is doomed to deadlock.
2001-08-30 05:16:13 +00:00
Tim Peters 8211237db8 marshal.c r_long64: When reading a TYPE_INT64 value on a box with 32-bit
ints, convert to PyLong (rather than throwing away the high-order 32 bits).
2001-08-29 02:28:42 +00:00
Tim Peters c6d958192e Note change in fp literal syntax (e.g. "3e-" worked by accident before). 2001-08-28 20:56:27 +00:00
Tim Peters 402d5985d8 SF patch [ #455137 ] Makes popen work with COMMAND.COM on WNT, from
Brian Quinlan.
2001-08-27 06:37:48 +00:00
Tim Peters edc9931f56 "The usual" post-release fiddling. 2001-08-22 21:36:50 +00:00
Barry Warsaw 18b2ecfa9a Add an item about Tim's new installer. This didn't make it into the
2.2a2 release, but it's still worth mentioning.
2001-08-22 20:26:56 +00:00
Barry Warsaw 6f3410deaa More NEWS for 2.2a2. 2001-08-22 04:08:41 +00:00
Jack Jansen 32ce0cdd30 Added a note about --enable-framework on Mac OS X. 2001-08-21 19:28:20 +00:00
Jack Jansen 25a68e1f44 Removed NEXT-NOTES, the NeXT is no longer supported. 2001-08-19 21:18:04 +00:00
Tim Peters 6cd6a82db9 A fiddled version of the rest of Michael Hudson's SF patch
#449043 supporting __future__ in simulated shells
which implements PEP 264.
2001-08-17 22:11:27 +00:00
Guido van Rossum f86ddd2971 Add note on type/class unification. 2001-08-17 21:21:04 +00:00
Martin v. Löwis 339d0f720e Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.
2001-08-17 18:39:25 +00:00
Guido van Rossum f75976617b Another contributor's patch got accepted. 2001-08-17 17:36:00 +00:00
Martin v. Löwis e3eb1f2b23 Patch #427190: Implement and use METH_NOARGS and METH_O. 2001-08-16 13:15:00 +00:00
Andrew M. Kuchling b053209af7 Fix typo 2001-08-15 15:54:56 +00:00
Tim Peters 0afb60951d Add blurb about cleanfuture.py. Fix misspelling in an older item. 2001-08-15 06:06:44 +00:00
Barry Warsaw 9b3be7f5d9 Document the new semantics for setting and deleting a function's
__dict__ attribute.  Deleting it, or setting it to a non-dictionary
result in a TypeError.  Note that getting it the first time magically
initializes it to an empty dict so that func.__dict__ will always
appear to be a dictionary (never None).

Closes SF bug #446645.
2001-08-14 18:35:02 +00:00
Andrew M. Kuchling f3b9430fd1 Update a beopen.com e-mail 2001-08-13 15:14:13 +00:00
Andrew M. Kuchling 5996825ebc Update a few references to beopen.com 2001-08-13 15:13:24 +00:00
Andrew M. Kuchling 8837814cd4 Add a name 2001-08-13 15:00:36 +00:00
Tim Peters 5e824c37d3 SF patch #445412 extract ndiff functionality to difflib, from
David Goodger.
2001-08-12 22:25:01 +00:00
Guido van Rossum e358b423c2 Added Josh Cogliati (turtle.py contributor). 2001-08-09 16:43:52 +00:00
Neil Schemenauer 6d40bf24dc One more. 2001-08-09 16:04:28 +00:00
Tim Peters 36a90f61e8 Thanks to
LettError, Erik van Blokland, http://www.letterror.com/
the Python Windows installer finally has an attractive Pythonic bitmap
to delight the senses and dampen the fears of the millions and millions of
eager new Windows users anticipating their first Python programming joy.

Always knew Mac users secretly wanted to switch to Windows <wink>.
2001-08-08 20:50:07 +00:00
Andrew M. Kuchling b4ee68c385 Remove various outdated files. (Leaving find_recursionlimit.py alone,
as Neil pointed out it isn't the same as sys.getrecursionlimit)
2001-08-06 18:44:56 +00:00
Andrew M. Kuchling 13423f337d Update cheatsheet to 2.0 from Brunning/Gruet's quick reference 2001-08-06 17:43:49 +00:00
Andrew M. Kuchling 7b1262230c Add 'yield' as a keyword
Fix typo in comment
2001-08-06 17:42:53 +00:00
Tim Peters c173137391 Derived from SF patch #446899 Permit import of .pyw under Windows, from
David Bolen.
2001-08-04 08:12:36 +00:00
Tim Peters 6d6c1a35e0 Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
Marc-André Lemburg d627791cf1 Moved the news items about C API topics down to the C API section. 2001-07-31 14:42:42 +00:00
Marc-André Lemburg 48dbfe9aa2 Add news item about Unicode API name mangling. 2001-07-31 14:37:40 +00:00
Marc-André Lemburg 888fac020c Add news items. 2001-07-31 14:24:31 +00:00
Guido van Rossum 0fbca4aaf0 New name. 2001-07-31 06:27:44 +00:00
Martin v. Löwis 66b6e192b9 Patch #416224: add readline completion to cmd.Cmd. 2001-07-28 14:44:03 +00:00
Fred Drake bd2e3b03d6 Document the PYTHONY2K environment variable that had been left out of this
list.

Present the URLs at the bottom in a consistent manner, conforming to the
style guide.

Remove the lone use of "e.g.", which the style guide does not allow.
2001-07-26 21:25:58 +00:00
Martin v. Löwis 4f1cd8bdcb Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
Neil Schemenauer 7d4bb9f179 Add -E command line switch (ignore environment variables like PYTHONHOME
and PYTHONPATH).
2001-07-23 16:30:27 +00:00
Guido van Rossum 8fcc8e1b4f Alex Coventry (SF patch 441791). 2001-07-23 13:28:37 +00:00
Fred Drake b7cea6324a Add item about the new xml.sax.saxutils.quoteaddr() function. 2001-07-21 12:25:10 +00:00
Tim Peters 20f51a7b38 Get started on 2.2a2 NEWS. 2001-07-21 02:31:40 +00:00
Fred Drake 960fdf9ac3 Added the constants ascii_letters, ascii_lowercase, and ascii_uppercase
to the string module.  This was determined to be the right approach in
SF bug #226706.
2001-07-20 18:38:26 +00:00
Martin v. Löwis f0473d511b Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Add dlopenflags to PyInterpreterState, and use it in dlopen calls.
2001-07-18 16:17:16 +00:00
Tim Peters 11a0d10845 Typo repair. 2001-07-17 18:48:00 +00:00
Guido van Rossum 55a78992da - Add news about generators.
- Change header to 2.2a1.
- Add separator between 2.2 and 2.1 news.
2001-07-17 17:22:32 +00:00
Guido van Rossum c7e4aca56c Add xmlrpc.
(Tim & I should agree on where to add new additions: I add them at the
top, Tim adds them at the bottom.  I like the top better because folks
who occasionally check out the NEWS file will see the latest news
first.)
2001-07-12 11:54:37 +00:00
Barry Warsaw 19b1c6156b (py-version): Hopefully fixed my XEmacs settings so this doesn't get
clobbered on checkin.
2001-07-06 20:27:29 +00:00
Barry Warsaw 40fb452be9 (py-continuation-offset): Update docstring to describe that this
additional offset is only applied to continuation lines for block
opening statements.

(py-compute-indentation): Only add py-continuation-offset if
py-statement-opens-block-p is true.
2001-07-06 20:07:13 +00:00
Guido van Rossum 643d3916d5 News about xrange(). 2001-07-05 14:46:25 +00:00
Barry Warsaw 3f8c2e1616 Replace the text with a link to the PEP-ified version. 2001-06-27 17:14:04 +00:00
Barry Warsaw 51acc8d363 Add an item about the extension to {}.update() to allow generic
mapping objects as an argument.
2001-06-26 20:12:50 +00:00
Tim Peters d6d010b874 Teach the UNPACK_SEQUENCE opcode how to tease an iterable object into
giving up the goods.
NEEDS DOC CHANGES
2001-06-21 02:49:55 +00:00
Barry Warsaw e275c42c38 (python-font-lock-keywords): Add "yield" as a keyword to support the
new "simple generators" feature of 2.2.  See PEP 255.
2001-06-19 18:24:42 +00:00
Barry Warsaw fd4c9e87a7 (py-continuation-offset): New variable which controls how much to
indent continuation lines, defined as lines following those that end
in backslash.

(py-compute-indentation): Support for py-continuation-offset.
2001-06-18 23:40:35 +00:00
Tim Peters fa9e273442 Clarification in the fp appendix suggested on c.l.py by Michael Chermside.
Also replaced a *star* style emphasis in the Representation Error section
with an \emph{} thingie.
2001-06-17 21:57:17 +00:00
Tim Peters 52e155e31b Reformat decl of new _PyString_Join. Add NEWS blurb about repr() speedup. 2001-06-16 05:42:57 +00:00
Guido van Rossum 83213cc0a0 Add new built-in 'help' which invokes pydoc.help (with a twist). 2001-06-12 16:48:52 +00:00
Tim Peters 7a3bfc3a47 Added q/Q standard (x-platform 8-byte ints) mode in struct module.
This completes the q/Q project.

longobject.c _PyLong_AsByteArray:  The original code had a gross bug:
the most-significant Python digit doesn't necessarily have SHIFT
significant bits, and you really need to count how many copies of the sign
bit it has else spurious overflow errors result.

test_struct.py:  This now does exhaustive std q/Q testing at, and on both
sides of, all relevant power-of-2 boundaries, both positive and negative.

NEWS:  Added brief dict news while I was at it.
2001-06-12 01:22:22 +00:00
Tim Peters 7b9542a3f7 Initial support for 'q' and 'Q' struct format codes: for now, only in
native mode, and only when config #defines HAVE_LONG_LONG.  Standard mode
will eventually treat them as 8-byte ints across all platforms, but that
likely requires a new set of routines in longobject.c first (while
sizeof(long) >= 4 is guaranteed by C, there's nothing in C we can rely
on x-platform to hold 8 bytes of int, so we'll have to roll our own;
I'm thinking of a simple pair of conversion functions, Python long
to/from sized vector of unsigned bytes; that may be useful for GMP
conversions too; std q/Q would call them with size fixed at 8).

test_struct.py:  In addition to adding some native-mode 'q' and 'Q' tests,
got rid of unused code, and repaired a non-portable assumption about
native sizeof(short) (it isn't 2 on some Cray boxes).

libstruct.tex:  In addition to adding a bit of 'q'/'Q' docs (more needed
later), removed an erroneous footnote about 'I' behavior.
2001-06-10 23:40:19 +00:00
Tim Peters 2a7f384122 SF bug 430991: wrong co_lnotab
Armin Rigo pointed out that the way the line-# table got built didn't work
for lines generating more than 255 bytes of bytecode.  Fixed as he
suggested, plus corresponding changes to pyassem.py, plus added some
long overdue docs about this subtle table to compile.c.

Bugfix candidate (line numbers may be off in tracebacks under -O).
2001-06-09 09:26:21 +00:00
Guido van Rossum c341580afd Added quopri codec. 2001-06-06 13:30:54 +00:00
Martin v. Löwis ebf94db60b Report on fnmatch.filter. 2001-06-06 06:25:40 +00:00
Neil Schemenauer 89e90d67aa Separate CFLAGS and CPPFLAGS. CFLAGS should not contain preprocessor
directives, which is the role of CPPFLAGS.  Closes SF patch #414991.
2001-06-02 06:16:02 +00:00
Tim Peters eb28ef209e New collision resolution scheme: no polynomials, simpler, faster, less
code, less memory.  Tests have uncovered no drawbacks.  Christian and
Vladimir are the other two people who have burned many brain cells on the
dict code in recent years, and they like the approach too, so I'm checking
it in without further ado.
2001-06-02 05:27:19 +00:00
Tim Peters 4324aa3572 Cruft cleanup: Removed the unused last_is_sticky argument from the internal
_PyTuple_Resize().
2001-05-28 22:30:08 +00:00
Tim Peters 15d4929ae4 Implement an old idea of Christian Tismer's: use polynomial division
instead of multiplication to generate the probe sequence.  The idea is
recorded in Python-Dev for Dec 2000, but that version is prone to rare
infinite loops.

The value is in getting *all* the bits of the hash code to participate;
and, e.g., this speeds up querying every key in a dict with keys
 [i << 16 for i in range(20000)] by a factor of 500.  Should be equally
valuable in any bad case where the high-order hash bits were getting
ignored.

Also wrote up some of the motivations behind Python's ever-more-subtle
hash table strategy.
2001-05-27 07:39:22 +00:00
Tim Peters 1af03e98d9 Change list.extend() error msgs and NEWS to reflect that list.extend()
now takes any iterable argument, not only sequences.

NEEDS DOC CHANGES -- but I don't think we settled on a concise way to
say this stuff.
2001-05-26 19:37:54 +00:00
Barry Warsaw ffd674d400 - calendar.py uses month and day names based on the current locale. 2001-05-22 16:00:10 +00:00
Marc-André Lemburg 12e74b3cf2 Added NEWS item for the UTF-16 change. 2001-05-22 08:58:23 +00:00
Marc-André Lemburg fab96cc2ff Add NEWS item for new string methods. 2001-05-15 18:38:45 +00:00
Guido van Rossum 2e0a654f6e Add warnings to the strop module, for to those functions that really
*are* obsolete; three variables and the maketrans() function are not
(yet) obsolete.

Add a compensating warnings.filterwarnings() call to test_strop.py.

Add this to the NEWS.
2001-05-15 02:14:44 +00:00
Tim Peters 58e0a8c130 SF patch #418147 Fixes to allow compiling w/ Borland, from Stephen Hansen. 2001-05-14 22:32:33 +00:00
Tim Peters 95b3f78622 pprint's workhorse _safe_repr() function took time quadratic in the # of
elements when crunching a list, dict or tuple.  Now takes linear time
instead -- huge speedup for even moderately large containers, and the
code is notably simpler too.
Added some basic "is the output correct?" tests to test_pprint.
2001-05-14 18:39:41 +00:00
Guido van Rossum 1bd797a257 Fix a typo, consistently spell ASCII in all caps, and insert blank
lines between paragraphs in Mark Hammond's news item about the default
encoding in posixmodule.  Resist the temptation to reflow paragraphs.
2001-05-14 13:53:38 +00:00
Tim Peters a814db579d SF bug[ #423781: pprint.isrecursive() broken. 2001-05-14 07:05:58 +00:00
Mark Hammond 2a0af79269 Add mention of the default file system encoding for Windows. 2001-05-14 03:09:36 +00:00
Tim Peters 2f228e75e4 Get rid of the superstitious "~" in dict hashing's "i = (~hash) & mask".
The comment following used to say:
	/* We use ~hash instead of hash, as degenerate hash functions, such
	   as for ints <sigh>, can have lots of leading zeros. It's not
	   really a performance risk, but better safe than sorry.
	   12-Dec-00 tim:  so ~hash produces lots of leading ones instead --
	   what's the gain? */
That is, there was never a good reason for doing it.  And to the contrary,
as explained on Python-Dev last December, it tended to make the *sum*
(i + incr) & mask (which is the first table index examined in case of
collison) the same "too often" across distinct hashes.

Changing to the simpler "i = hash & mask" reduced the number of string-dict
collisions (== # number of times we go around the lookup for-loop) from about
6 million to 5 million during a full run of the test suite (these are
approximate because the test suite does some random stuff from run to run).
The number of collisions in non-string dicts also decreased, but not as
dramatically.

Note that this may, for a given dict, change the order (wrt previous
releases) of entries exposed by .keys(), .values() and .items().  A number
of std tests suffered bogus failures as a result.  For dicts keyed by
small ints, or (less so) by characters, the order is much more likely to be
in increasing order of key now; e.g.,

>>> d = {}
>>> for i in range(10):
...    d[i] = i
...
>>> d
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
>>>

Unfortunately. people may latch on to that in small examples and draw a
bogus conclusion.

test_support.py
    Moved test_extcall's sortdict() into test_support, made it stronger,
    and imported sortdict into other std tests that needed it.
test_unicode.py
    Excluced cp875 from the "roundtrip over range(128)" test, because
    cp875 doesn't have a well-defined inverse for unicode("?", "cp875").
    See Python-Dev for excruciating details.
Cookie.py
    Chaged various output functions to sort dicts before building
    strings from them.
test_extcall
    Fiddled the expected-result file.  This remains sensitive to native
    dict ordering, because, e.g., if there are multiple errors in a
    keyword-arg dict (and test_extcall sets up many cases like that), the
    specific error Python complains about first depends on native dict
    ordering.
2001-05-13 00:19:31 +00:00
Tim Peters d85e102337 Variant of patch #423262: Change module attribute get & set
Allow module getattr and setattr to exploit string interning, via the
previously null module object tp_getattro and tp_setattro slots.   Yields
a very nice speedup for things like random.random and os.path etc.
2001-05-11 21:51:48 +00:00
Tim Peters 95bf9390a4 SF bug #422121 Insecurities in dict comparison.
Fixed a half dozen ways in which general dict comparison could crash
Python (even cause Win98SE to reboot) in the presence of kay and/or
value comparison routines that mutate the dict during dict comparison.
Bugfix candidate.
2001-05-10 08:32:44 +00:00
Tim Peters 61dff2b285 Blurb about the increased precision of float literals in .pyc/.pyo files. 2001-05-08 15:43:37 +00:00