summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed changed UPP routines names. The module now compiles and loads.Jack Jansen2001-05-221-3/+7
|
* Move the sha tests to PyUnit.Fred Drake2001-05-222-22/+20
|
* Convert binhex regression test to PyUnit. We could use a better testFred Drake2001-05-221-40/+38
| | | | for this.
* SF patch #425242: Patch which "inlines" small dictionaries.Tim Peters2001-05-221-81/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is Marc-Andre Lemburg's, the implementation is Tim's. Add a new ma_smalltable member to dictobjects, an embedded vector of MINSIZE (8) dictentry structs. Short course is that this lets us avoid additional malloc(s) for dicts with no more than 5 entries. The changes are widespread but mostly small. Long course: WRT speed, all scalar operations (getitem, setitem, delitem) on non-empty dicts benefit from no longer needing NULL-pointer checks (ma_table is never NULL anymore). Bulk operations (copy, update, resize, clearing slots during dealloc) benefit in some cases from now looping on the ma_fill count rather than on ma_size, but that was an unexpected benefit: the original reason to loop on ma_fill was to let bulk operations on empty dicts end quickly (since the NULL-pointer checks went away, empty dicts aren't special-cased any more). Special considerations: For dicts that remain empty, this change is a lose on two counts: the dict object contains 8 new dictentry slots now that weren't needed before, and dict object creation also spends time memset'ing these doomed-to-be-unsused slots to NULLs. For dicts with one or two entries that never get larger than 2, it's a mix: a malloc()/free() pair is no longer needed, and the 2-entry case gets to use 8 slots (instead of 4) thus decreasing the chance of collision. Against that, dict object creation spends time memset'ing 4 slots that aren't strictly needed in this case. For dicts with 3 through 5 entries that never get larger than 5, it's a pure win: the dict is created with all the space they need, and they never need to resize. Before they suffered two malloc()/free() calls, plus 1 dict resize, to get enough space. In addition, the 8-slot table they ended with consumed more memory overall, because of the hidden overhead due to the additional malloc. For dicts with 6 or more entries, the ma_smalltable member is wasted space, but then these are large(r) dicts so 8 slots more or less doesn't make much difference. They still benefit all the time from removing ubiquitous dynamic null-pointer checks, and get a small benefit (but relatively smaller the larger the dict) from not having to do two mallocs, two frees, and a resize on the way *to* getting their sixth entry. All in all it appears a small but definite general win, with larger benefits in specific cases. It's especially nice that it allowed to get rid of several branches, gotos and labels, and overall made the code smaller.
* Convert copy_reg test to PyUnit.Fred Drake2001-05-221-29/+19
|
* Remove unused import.Fred Drake2001-05-221-1/+0
|
* Simple conversion to PyUnit -- this test really needs more work!Fred Drake2001-05-221-9/+14
|
* Convert dospath test suite to PyUnit, adding a couple more cases forFred Drake2001-05-221-46/+55
| | | | isabs() (no false results were checked) and splitdrive().
* Re-write the rfc822 tests to use PyUnit.Fred Drake2001-05-221-138/+162
| | | | | Update to reflect using "" as the default value for the second parameter to the get() method.
* Per discussion with Barry, make the default value for both get() andFred Drake2001-05-221-5/+4
| | | | | | setdefault() the empty string. In setdefault(), use + to join the value to create the entry for the headers attribute so that TypeError is raised if the value is of the wrong type.
* Implementing an idea from Guido on the checkins list:Tim Peters2001-05-222-24/+25
| | | | | | | | When regrtest.py finds an attribute "test_main" in a test it imports, regrtest runs the test's test_main after the import. test_threaded_import needs this else the cross-thread import lock prevents it from making progress. Other tests can use this hack too, but I doubt it will ever be popular.
* Convert time module tests to PyUnit.Fred Drake2001-05-221-37/+49
|
* file_getiter(): make iter(file) be equivalent to file.xreadlines().Guido van Rossum2001-05-221-12/+3
| | | | | | | | | | | | | | This should be faster. This means: (1) "for line in file:" won't work if the xreadlines module can't be imported. (2) The body of "for line in file:" shouldn't use the file directly; the effects (e.g. of file.readline(), file.seek() or even file.tell()) would be undefined because of the buffering that goes on in the xreadlines module.
* Migrate the strop test to PyUnit.Fred Drake2001-05-222-84/+118
|
* Iterator support: made the xreadlines object its own iterator. ThisGuido van Rossum2001-05-221-25/+81
| | | | ought to be faster.
* create_message(): When os.link() doesn't exist, make a copy of the msgTim Peters2001-05-221-1/+6
| | | | instead. Allows this test to finish on Windows again.
* - calendar.py uses month and day names based on the current locale.Barry Warsaw2001-05-221-0/+2
|
* Application of patch #401842 by Denis S. Otkidach to supportBarry Warsaw2001-05-221-9/+11
| | | | localization of month and day names.
* Correct the sense of a couple of conditional compilations -- used #ifndefFred Drake2001-05-221-2/+2
| | | | | | when #ifdef was needed. This closes (reallu!) SF bug #417418.
* Update to add get() and setdefault() as supported mapping operations, andFred Drake2001-05-221-2/+8
| | | | | add a list of the mapping methods which are not supported (per Barry's comments).
* Add tests for the new .get() and .setdefault() methods of rfc822.MessageFred Drake2001-05-221-1/+19
| | | | objects.
* Added .get() and .setdefault() support to rfc822.Message.Fred Drake2001-05-221-0/+20
|
* Add some clarifications about the mapping interface presented byFred Drake2001-05-221-2/+4
| | | | rfc822.Message objects, based on comments from Barry.
* Fixed a nasty slowdown in imports in frozen applications: the shortcutJack Jansen2001-05-221-18/+32
| | | | | | for loading modules from the application resource fork stopped working when sys.path component normalization was implemented. Comparison of sys.path components is now done by FSSpec in stead of by pathname.
* New test adapted from the ancient Demo/threads/bug.py.Tim Peters2001-05-221-0/+52
| | | | | | | ICK ALERT: read the long comment block before run_the_test(). It was almost impossible to get this to run without instant deadlock, and the solution here sucks on several counts. If you can dream up a better way, let me know!
* Added NEWS item for the UTF-16 change.Marc-André Lemburg2001-05-221-0/+5
|
* Changed all the examples with ugly platform-dependent float output to useTim Peters2001-05-221-16/+20
| | | | | | | | numbers that display nicely after repr(). From much doctest experience with the same trick, I believe people find examples with simple fractions easier to understand too: they can usually check the results in their head, and so feel confident about what they're seeing. Not even I get a warm feeling from a result that looks like 70330.345024097141 ...
* init_name_op(): add (void) to the argument list to make it a validGuido van Rossum2001-05-221-1/+1
| | | | prototype, for gcc -Wstrict-prototypes.
* Add a "See also" section with useful links. More should be added givingFred Drake2001-05-211-0/+15
| | | | | pointers to information about the other mailbox formats; if anyone can provide the information needed, please let me know!
* Remove all files of expected output that contain only the name of theFred Drake2001-05-2165-65/+0
| | | | | test; there is no need to store this in a file if the actual test code does not produce any output.
* If the file containing expected output does not exist, assume that itFred Drake2001-05-211-1/+6
| | | | | contains a single line of text giving the name of the output file. This covers all tests that do not actually produce any output in the test code.
* Patch #411055 from MvL: import each extension after building it, andAndrew M. Kuchling2001-05-211-0/+14
| | | | | delete ones that can't be imported due to missing symbols or other causes.
* Trim out some cruftAndrew M. Kuchling2001-05-211-6/+0
|
* Fix bug #418369: typo in bdist_rpmAndrew M. Kuchling2001-05-211-1/+1
|
* This patch changes the behaviour of the UTF-16 codec family. Only theMarc-André Lemburg2001-05-212-21/+30
| | | | | | | | | UTF-16 codec will now interpret and remove a *leading* BOM mark. Sub- sequent BOM characters are no longer interpreted and removed. UTF-16-LE and -BE pass through all BOM mark characters. These changes should get the UTF-16 codec more in line with what the Unicode FAQ recommends w/r to BOM marks.
* Fix bug #232619: fix misleading warning on installing to lib-dynloadAndrew M. Kuchling2001-05-211-1/+10
|
* Re-write the mailbox test suite to use PyUnit. Cover a lot more groundFred Drake2001-05-212-22/+81
| | | | | for the Maildir mailbox format. This still does not address other mailbox formats.
* parse_declaration(): be more lenient in what we accept. We nowGuido van Rossum2001-05-211-12/+7
| | | | | | | | | basically accept <!...> where the dots can be single- or double-quoted strings or any other character except >. Background: I found a real-life example that failed to parse with the old assumption: http://www.opensource.org/licenses/jabberpl.html contains a few constructs of the form <![if !supportLists]>...<![endif]>.
* main(): default-domain argument to getopt.getopt() was missing a = toBarry Warsaw2001-05-211-1/+1
| | | | | indicate it took an argument. This closes SF patch #402223 by Bastian Kleineidam.
* __addentry(): add optional keyword arg `isdocstring' which is a flagBarry Warsaw2001-05-211-4/+10
| | | | | | | | | | | indicating whether the entry was extracted from a docstring or not. write(): If any of the locations of a string appearance came from a docstring, add a comment such as #. docstring before the references (after a suggestion by Martin von Loewis).
* write(): A patch inspired by Tokio Kikuchi that sorts location entriesBarry Warsaw2001-05-211-7/+12
| | | | | | first by filename and then by line number. Closes SF patch #425821. Also, fixes a problem with duplicate entries.
* Update output to reflect additional precision produced by the repr() ofFred Drake2001-05-211-2/+3
| | | | | | | | | | floating point numbers in an interactive example. Added comment to help explain control flow in the example code showing how to check if a number is prime. This closes SF bugs 419434 and 424552.
* Add documentation for Py_Main() and PyThreadState_GetDict().Fred Drake2001-05-211-0/+21
|
* Typo: "that" --> "than"Fred Drake2001-05-211-1/+1
| | | | This closes SF bug #425320.
* SF bug #425836: Reference leak in filter().Tim Peters2001-05-211-0/+1
| | | | | Mark Hammond claimed that the iterized filter() forgot to decref the iterator upon return. He was right!
* Add :method info to the PyArg_ParseTuple() format strings for poll objects.Fred Drake2001-05-211-3/+3
|
* Fix bug in smtplib example: the prompt said to end the message with ^D,Fred Drake2001-05-201-3/+6
| | | | | | | but doing so raised EOFError. This makes it work as advertised and converts to string methods where reasonable. This closes SF bug #424776.
* Get Aahz listed correctly using his legal/professional name.Fred Drake2001-05-201-1/+1
|
* Add another itemAndrew M. Kuchling2001-05-191-0/+3
|
* Generate prototype-style function headers in stead of K&R style. Makes life ↵Jack Jansen2001-05-193-33/+12
| | | | easier with gcc -Wstrict-function-prototypes.