mirror of
https://github.com/python/cpython.git
synced 2024-12-18 22:34:08 +08:00
3caca2326e
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>. |
||
---|---|---|
.. | ||
RPM | ||
ACKS | ||
AIX-NOTES | ||
BeOS-NOTES | ||
BeOS-setup.py | ||
cheatsheet | ||
find_recursionlimit.py | ||
gdbinit | ||
HISTORY | ||
HPUX-NOTES | ||
indent.pro | ||
NEWS | ||
Porting | ||
PURIFY.README | ||
python-mode.el | ||
python.man | ||
README | ||
RFD | ||
setuid-prog.c | ||
unicode.txt | ||
vgrindefs |
Python Misc subdirectory ======================== This directory contains files that wouldn't fit in elsewhere. Some documents are only of historic importance. Files found here ---------------- ACKS Acknowledgements AIX-NOTES Notes for building Python on AIX BeOS-NOTES Notes for building on BeOS BeOS-setup.py setup.py replacement for BeOS, see BeOS-NOTES HISTORY News from previous releases -- oldest last HPUX-NOTES Notes about dynamic loading under HP-UX NEWS News for this release PURIFY.README Information for Purify users Porting Mini-FAQ on porting to new platforms README The file you're reading now RFD Request For Discussion about a Python newsgroup RPM (Old) tools to build RPMs cheatsheet Quick summary of Python by Ken Manheimer find_recursionlimit.py Script to find a value for sys.maxrecursionlimit gdbinit Handy stuff to put in your .gdbinit file, if you use gdb indent.pro GNU indent profile approximating my C style python-mode.el Emacs mode for editing Python programs python.man UNIX man page for the python interpreter setuid-prog.c C helper program for set-uid Python scripts unicode.txt Marc-Andre Lemburg's specification of the Unicode API vgrindefs Python configuration for vgrind (a generic pretty printer)