[Python-checkins] python/nondist/peps pep-0237.txt,1.13,1.14

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
Sat, 10 Aug 2002 21:05:15 -0700


Update of /cvsroot/python/python/nondist/peps
In directory usw-pr-cvs1:/tmp/cvs-serv13895

Modified Files:
	pep-0237.txt 
Log Message:
Remove author's email addresses.

Mention %X (same treatment as %x).

Insert new stage B0, which gives warnings about e.g. 0xffffffff
without semantic changes.  Move the proposed deployment of subsequent
stages up by one minor revision.


Index: pep-0237.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0237.txt,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** pep-0237.txt	30 Oct 2001 21:12:14 -0000	1.13
--- pep-0237.txt	11 Aug 2002 04:05:13 -0000	1.14
***************
*** 2,6 ****
  Title: Unifying Long Integers and Integers
  Version: $Revision$
! Author: pep@zadka.site.co.il (Moshe Zadka), guido@python.org (Guido van Rossum)
  Status: Draft
  Type: Standards Track
--- 2,6 ----
  Title: Unifying Long Integers and Integers
  Version: $Revision$
! Author: Moshe Zadka, Guido van Rossum
  Status: Draft
  Type: Standards Track
***************
*** 105,117 ****
        machine.  This will be changed to equal 0xffffffffL (2**32-1).
  
!     - Currently, the '%u', '%x' and '%o' string formatting operators
!       and the hex() and oct() built-in functions behave differently
!       for negative numbers: negative short ints are formatted as
!       unsigned C long, while negative long ints are formatted with a
!       minus sign.  This will be changed to use the long int semantics
!       in all cases (but without the trailing 'L' that currently
!       distinguishes the output of hex() and oct() for long ints).
!       Note that this means that '%u' becomes an alias for '%d'.  It
!       will eventually be removed.
  
      - Currently, repr() of a long int returns a string ending in 'L'
--- 105,117 ----
        machine.  This will be changed to equal 0xffffffffL (2**32-1).
  
!     - Currently, the '%u', '%x', '%X' and '%o' string formatting
!       operators and the hex() and oct() built-in functions behave
!       differently for negative numbers: negative short ints are
!       formatted as unsigned C long, while negative long ints are
!       formatted with a minus sign.  This will be changed to use the
!       long int semantics in all cases (but without the trailing 'L'
!       that currently distinguishes the output of hex() and oct() for
!       long ints).  Note that this means that '%u' becomes an alias for
!       '%d'.  It will eventually be removed.
  
      - Currently, repr() of a long int returns a string ending in 'L'
***************
*** 200,203 ****
--- 200,209 ----
      stages of phase B:
  
+     B0. Warnings are enabled about operations that will change their
+         numeric outcome in stage B1, in particular hex() and oct(),
+         '%u', '%x', '%X' and '%o', hex and oct literals in the
+         (inclusive) range [sys.maxint+1, sys.maxint*2+1], and left
+         shifts losing bits; but not repr() of a long.
+ 
      B1. The remaining semantic differences are addressed.  Operations
          that give different results than before will issue a warning
***************
*** 216,222 ****
      We propose the following timeline:
  
!     B1. Python 2.3.
  
!     B2. Python 2.4.
  
      B3. The rest of the Python 2.x line.
--- 222,230 ----
      We propose the following timeline:
  
!     B0. Python 2.3.
  
!     B1. Python 2.4.
! 
!     B2. Python 2.5.
  
      B3. The rest of the Python 2.x line.