[Python-checkins] r43098 - in python/branches/p3yk: Demo/pdist/cmptree.py Demo/pdist/mac.py Demo/pdist/rcvs.py Demo/pdist/sumtree.py Demo/scripts/unbirthday.py Demo/sockets/ftp.py Demo/sockets/gopher.py Demo/tkinter/guido/wish.py Doc/lib/libcmd.tex Doc/lib/libcode.tex Doc/lib/libcrypt.tex Doc/lib/libexcs.tex Doc/lib/libfuncs.tex Doc/lib/libsmtplib.tex Doc/lib/libsys.tex Doc/lib/libtelnetlib.tex Doc/lib/libtermios.tex Doc/ref/ref8.tex Doc/tools/keywords.py Doc/tut/tut.tex Lib/cmd.py Lib/code.py Lib/distutils/command/register.py Lib/getpass.py Lib/idlelib/PyShell.py Lib/pdb.py Lib/plat-mac/aetools.py Lib/pydoc.py Lib/rlcompleter.py Lib/site.py Lib/test/test_exceptions.py Lib/urllib.py Mac/Demo/resources/copyres.py Mac/Demo/sound/morselib.py Misc/Vim/python.vim Misc/cheatsheet Misc/python-mode.el Tools/compiler/regrtest.py Tools/scripts/ftpmirror.py Tools/scripts/treesync.py Tools/scripts/xxci.py Tools/webchecker/wcmac.py

neal.norwitz python-checkins at python.org
Fri Mar 17 07:50:06 CET 2006


Author: neal.norwitz
Date: Fri Mar 17 07:49:51 2006
New Revision: 43098

Modified:
   python/branches/p3yk/Demo/pdist/cmptree.py
   python/branches/p3yk/Demo/pdist/mac.py
   python/branches/p3yk/Demo/pdist/rcvs.py
   python/branches/p3yk/Demo/pdist/sumtree.py
   python/branches/p3yk/Demo/scripts/unbirthday.py
   python/branches/p3yk/Demo/sockets/ftp.py
   python/branches/p3yk/Demo/sockets/gopher.py
   python/branches/p3yk/Demo/tkinter/guido/wish.py
   python/branches/p3yk/Doc/lib/libcmd.tex
   python/branches/p3yk/Doc/lib/libcode.tex
   python/branches/p3yk/Doc/lib/libcrypt.tex
   python/branches/p3yk/Doc/lib/libexcs.tex
   python/branches/p3yk/Doc/lib/libfuncs.tex
   python/branches/p3yk/Doc/lib/libsmtplib.tex
   python/branches/p3yk/Doc/lib/libsys.tex
   python/branches/p3yk/Doc/lib/libtelnetlib.tex
   python/branches/p3yk/Doc/lib/libtermios.tex
   python/branches/p3yk/Doc/ref/ref8.tex
   python/branches/p3yk/Doc/tools/keywords.py
   python/branches/p3yk/Doc/tut/tut.tex
   python/branches/p3yk/Lib/cmd.py
   python/branches/p3yk/Lib/code.py
   python/branches/p3yk/Lib/distutils/command/register.py
   python/branches/p3yk/Lib/getpass.py
   python/branches/p3yk/Lib/idlelib/PyShell.py
   python/branches/p3yk/Lib/pdb.py
   python/branches/p3yk/Lib/plat-mac/aetools.py
   python/branches/p3yk/Lib/pydoc.py
   python/branches/p3yk/Lib/rlcompleter.py
   python/branches/p3yk/Lib/site.py
   python/branches/p3yk/Lib/test/test_exceptions.py
   python/branches/p3yk/Lib/urllib.py
   python/branches/p3yk/Mac/Demo/resources/copyres.py
   python/branches/p3yk/Mac/Demo/sound/morselib.py
   python/branches/p3yk/Misc/Vim/python.vim
   python/branches/p3yk/Misc/cheatsheet
   python/branches/p3yk/Misc/python-mode.el
   python/branches/p3yk/Tools/compiler/regrtest.py
   python/branches/p3yk/Tools/scripts/ftpmirror.py
   python/branches/p3yk/Tools/scripts/treesync.py
   python/branches/p3yk/Tools/scripts/xxci.py
   python/branches/p3yk/Tools/webchecker/wcmac.py
Log:
Get rid of a bunch more raw_input references

Modified: python/branches/p3yk/Demo/pdist/cmptree.py
==============================================================================
--- python/branches/p3yk/Demo/pdist/cmptree.py	(original)
+++ python/branches/p3yk/Demo/pdist/cmptree.py	Fri Mar 17 07:49:51 2006
@@ -6,6 +6,11 @@
 import time
 import os
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def main():
     pwd = os.getcwd()
     s = raw_input("chdir [%s] " % pwd)

Modified: python/branches/p3yk/Demo/pdist/mac.py
==============================================================================
--- python/branches/p3yk/Demo/pdist/mac.py	(original)
+++ python/branches/p3yk/Demo/pdist/mac.py	Fri Mar 17 07:49:51 2006
@@ -1,14 +1,18 @@
 import sys
-import string
 import rcvs
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def main():
     while 1:
         try:
             line = raw_input('$ ')
         except EOFError:
             break
-        words = string.split(line)
+        words = line.split()
         if not words:
             continue
         if words[0] != 'rcvs':
@@ -16,4 +20,5 @@
         sys.argv = words
         rcvs.main()
 
-main()
+if __name__ == '__main__':
+    main()

Modified: python/branches/p3yk/Demo/pdist/rcvs.py
==============================================================================
--- python/branches/p3yk/Demo/pdist/rcvs.py	(original)
+++ python/branches/p3yk/Demo/pdist/rcvs.py	Fri Mar 17 07:49:51 2006
@@ -35,7 +35,6 @@
 from cvslib import CVS, File
 import md5
 import os
-import string
 import sys
 from cmdfw import CommandFrameWork
 
@@ -269,13 +268,13 @@
 
     def mailinfo(self, files, message = ""):
         towhom = "sjoerd at cwi.nl, jack at cwi.nl" # XXX
-        mailtext = MAILFORM % (towhom, string.join(files),
-                                string.join(files), message)
+        mailtext = MAILFORM % (towhom, ' '.join(files),
+                                ' '.join(files), message)
         print '-'*70
         print mailtext
         print '-'*70
         ok = raw_input("OK to mail to %s? " % towhom)
-        if string.lower(string.strip(ok)) in ('y', 'ye', 'yes'):
+        if ok.lower().strip() in ('y', 'ye', 'yes'):
             p = os.popen(SENDMAIL, "w")
             p.write(mailtext)
             sts = p.close()

Modified: python/branches/p3yk/Demo/pdist/sumtree.py
==============================================================================
--- python/branches/p3yk/Demo/pdist/sumtree.py	(original)
+++ python/branches/p3yk/Demo/pdist/sumtree.py	Fri Mar 17 07:49:51 2006
@@ -1,4 +1,5 @@
 import time
+import sys
 import FSProxy
 
 def main():
@@ -9,7 +10,9 @@
     proxy._close()
     t2 = time.time()
     print t2-t1, "seconds"
-    raw_input("[Return to exit] ")
+    sys.stdout.write("[Return to exit] ")
+    sys.stdout.flush()
+    sys.stdin.readline()
 
 def sumtree(proxy):
     print "PWD =", proxy.pwd()

Modified: python/branches/p3yk/Demo/scripts/unbirthday.py
==============================================================================
--- python/branches/p3yk/Demo/scripts/unbirthday.py	(original)
+++ python/branches/p3yk/Demo/scripts/unbirthday.py	Fri Mar 17 07:49:51 2006
@@ -9,6 +9,11 @@
 import time
 import calendar
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def main():
     # Note that the range checks below also check for bad types,
     # e.g. 3.14 or ().  However syntactically invalid replies

Modified: python/branches/p3yk/Demo/sockets/ftp.py
==============================================================================
--- python/branches/p3yk/Demo/sockets/ftp.py	(original)
+++ python/branches/p3yk/Demo/sockets/ftp.py	Fri Mar 17 07:49:51 2006
@@ -130,6 +130,11 @@
         sys.stdout.write(data)
     print '(end of data connection)'
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 # Get a command from the user.
 #
 def getcommand():
@@ -143,4 +148,5 @@
 
 # Call the main program.
 #
-main()
+if __name__ == '__main__':
+    main()

Modified: python/branches/p3yk/Demo/sockets/gopher.py
==============================================================================
--- python/branches/p3yk/Demo/sockets/gopher.py	(original)
+++ python/branches/p3yk/Demo/sockets/gopher.py	Fri Mar 17 07:49:51 2006
@@ -4,7 +4,6 @@
 #
 # Usage: gopher [ [selector] host [port] ]
 
-import string
 import sys
 import os
 import socket
@@ -42,7 +41,7 @@
     if not port:
         port = DEF_PORT
     elif type(port) == type(''):
-        port = string.atoi(port)
+        port = int(port)
     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     s.connect((host, port))
     return s
@@ -73,7 +72,7 @@
             print '(Empty line from server)'
             continue
         typechar = line[0]
-        parts = string.splitfields(line[1:], TAB)
+        parts = line[1:].split(TAB)
         if len(parts) < 4:
             print '(Bad line from server: %r)' % (line,)
             continue
@@ -160,7 +159,7 @@
         for i in range(len(list)):
             item = list[i]
             typechar, description = item[0], item[1]
-            print string.rjust(repr(i+1), 3) + ':', description,
+            print repr(i+1).rjust(3) + ':', description,
             if typename.has_key(typechar):
                 print typename[typechar]
             else:
@@ -175,8 +174,8 @@
             if not str:
                 return
             try:
-                choice = string.atoi(str)
-            except string.atoi_error:
+                choice = int(str)
+            except ValueError:
                 print 'Choice must be a number; try again:'
                 continue
             if not 0 < choice <= len(list):
@@ -218,6 +217,11 @@
         print 'IOError:', msg
     x.close()
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 # Browse a search index
 def browse_search(selector, host, port):
     while 1:
@@ -230,7 +234,7 @@
         except EOFError:
             print
             break
-        query = string.strip(query)
+        query = query.strip()
         if not query:
             break
         if '\t' in query:
@@ -300,11 +304,11 @@
     except EOFError:
         print
         return None
-    savefile = string.strip(savefile)
+    savefile = savefile.strip()
     if not savefile:
         return None
     if savefile[0] == '|':
-        cmd = string.strip(savefile[1:])
+        cmd = savefile[1:].strip()
         try:
             p = os.popen(cmd, 'w')
         except IOError, msg:
@@ -331,10 +335,10 @@
         browser(sys.argv[1], sys.argv[2], sys.argv[3])
     elif sys.argv[2:]:
         try:
-            port = string.atoi(sys.argv[2])
+            port = int(sys.argv[2])
             selector = ''
             host = sys.argv[1]
-        except string.atoi_error:
+        except ValueError:
             selector = sys.argv[1]
             host = sys.argv[2]
             port = ''

Modified: python/branches/p3yk/Demo/tkinter/guido/wish.py
==============================================================================
--- python/branches/p3yk/Demo/tkinter/guido/wish.py	(original)
+++ python/branches/p3yk/Demo/tkinter/guido/wish.py	Fri Mar 17 07:49:51 2006
@@ -2,6 +2,7 @@
 
 import _tkinter
 import os
+import sys
 
 tk = _tkinter.create(os.environ['DISPLAY'], 'wish', 'Tk', 1)
 tk.call('update')
@@ -12,7 +13,9 @@
     if cmd: prompt = ''
     else: prompt = '% '
     try:
-        line = raw_input(prompt)
+        sys.stdout.write(prompt)
+        sys.stdout.flush()
+        line = sys.stdin.readline()
     except EOFError:
         break
     cmd = cmd + (line + '\n')

Modified: python/branches/p3yk/Doc/lib/libcmd.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libcmd.tex	(original)
+++ python/branches/p3yk/Doc/lib/libcmd.tex	Fri Mar 17 07:49:51 2006
@@ -186,13 +186,3 @@
 headers.  If empty, no ruler line is drawn.  It defaults to
 \character{=}.
 \end{memberdesc}
-
-\begin{memberdesc}{use_rawinput}
-A flag, defaulting to true.  If true, \method{cmdloop()} uses
-\function{raw_input()} to display a prompt and read the next command;
-if false, \method{sys.stdout.write()} and
-\method{sys.stdin.readline()} are used. (This means that by
-importing \refmodule{readline}, on systems that support it, the
-interpreter will automatically support \program{Emacs}-like line editing 
-and command-history keystrokes.)
-\end{memberdesc}

Modified: python/branches/p3yk/Doc/lib/libcode.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libcode.tex	(original)
+++ python/branches/p3yk/Doc/lib/libcode.tex	Fri Mar 17 07:49:51 2006
@@ -167,7 +167,7 @@
 \begin{methoddesc}{raw_input}{\optional{prompt}}
 Write a prompt and read a line.  The returned line does not include
 the trailing newline.  When the user enters the \EOF{} key sequence,
-\exception{EOFError} is raised.  The base implementation uses the
-built-in function \function{raw_input()}; a subclass may replace this
+\exception{EOFError} is raised.  The base implementation reads from
+\code{sys.stdin}; a subclass may replace this
 with a different implementation.
 \end{methoddesc}

Modified: python/branches/p3yk/Doc/lib/libcrypt.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libcrypt.tex	(original)
+++ python/branches/p3yk/Doc/lib/libcrypt.tex	Fri Mar 17 07:49:51 2006
@@ -41,6 +41,12 @@
 \begin{verbatim}
 import crypt, getpass, pwd
 
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def login():
     username = raw_input('Python login:')
     cryptedpasswd = pwd.getpwnam(username)[1]

Modified: python/branches/p3yk/Doc/lib/libexcs.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libexcs.tex	(original)
+++ python/branches/p3yk/Doc/lib/libexcs.tex	Fri Mar 17 07:49:51 2006
@@ -153,9 +153,7 @@
 
 \begin{excdesc}{EOFError}
 % XXXJH xrefs here
-  Raised when one of the built-in functions (\function{input()} or
-  \function{raw_input()}) hits an end-of-file condition (\EOF) without
-  reading any data.
+  Raised when attempting to read beyond the end of a file.
 % XXXJH xrefs here
   (N.B.: the \method{read()} and \method{readline()} methods of file
   objects return an empty string when they hit \EOF.)
@@ -213,9 +211,6 @@
   \kbd{Control-C} or \kbd{Delete}).  During execution, a check for
   interrupts is made regularly.
 % XXX(hylton) xrefs here
-  Interrupts typed when a built-in function \function{input()} or
-  \function{raw_input()} is waiting for input also raise this
-  exception.
   The exception inherits from \exception{BaseException} so as to not be
   accidentally caught by code that catches \exception{Exception} and thus
   prevent the interpreter from exiting.

Modified: python/branches/p3yk/Doc/lib/libfuncs.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libfuncs.tex	(original)
+++ python/branches/p3yk/Doc/lib/libfuncs.tex	Fri Mar 17 07:49:51 2006
@@ -551,23 +551,6 @@
   note: this is the address of the object.)
 \end{funcdesc}
 
-\begin{funcdesc}{input}{\optional{prompt}}
-  Equivalent to \code{eval(raw_input(\var{prompt}))}.
-  \warning{This function is not safe from user errors!  It
-  expects a valid Python expression as input; if the input is not
-  syntactically valid, a \exception{SyntaxError} will be raised.
-  Other exceptions may be raised if there is an error during
-  evaluation.  (On the other hand, sometimes this is exactly what you
-  need when writing a quick script for expert use.)}
-
-  If the \refmodule{readline} module was loaded, then
-  \function{input()} will use it to provide elaborate line editing and
-  history features.
-
-  Consider using the \function{raw_input()} function for general input
-  from users.
-\end{funcdesc}
-
 \begin{funcdesc}{int}{\optional{x\optional{, radix}}}
   Convert a string or number to a plain integer.  If the argument is a
   string, it must contain a possibly signed decimal number
@@ -811,24 +794,6 @@
 \end{verbatim}
 \end{funcdesc}
 
-\begin{funcdesc}{raw_input}{\optional{prompt}}
-  If the \var{prompt} argument is present, it is written to standard output
-  without a trailing newline.  The function then reads a line from input,
-  converts it to a string (stripping a trailing newline), and returns that.
-  When \EOF{} is read, \exception{EOFError} is raised. Example:
-
-\begin{verbatim}
->>> s = raw_input('--> ')
---> Monty Python's Flying Circus
->>> s
-"Monty Python's Flying Circus"
-\end{verbatim}
-
-  If the \refmodule{readline} module was loaded, then
-  \function{raw_input()} will use it to provide elaborate
-  line editing and history features.
-\end{funcdesc}
-
 \begin{funcdesc}{reduce}{function, sequence\optional{, initializer}}
   Apply \var{function} of two arguments cumulatively to the items of
   \var{sequence}, from left to right, so as to reduce the sequence to

Modified: python/branches/p3yk/Doc/lib/libsmtplib.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libsmtplib.tex	(original)
+++ python/branches/p3yk/Doc/lib/libsmtplib.tex	Fri Mar 17 07:49:51 2006
@@ -267,6 +267,12 @@
 \begin{verbatim}
 import smtplib
 
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def prompt(prompt):
     return raw_input(prompt).strip()
 

Modified: python/branches/p3yk/Doc/lib/libsys.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libsys.tex	(original)
+++ python/branches/p3yk/Doc/lib/libsys.tex	Fri Mar 17 07:49:51 2006
@@ -511,11 +511,8 @@
 \dataline{stderr}
   File objects corresponding to the interpreter's standard input,
   output and error streams.  \code{stdin} is used for all interpreter
-  input except for scripts but including calls to
-  \function{input()}\bifuncindex{input} and
-  \function{raw_input()}\bifuncindex{raw_input}.  \code{stdout} is
-  used for the output of \keyword{print} and expression statements and
-  for the prompts of \function{input()} and \function{raw_input()}.
+  input except for scripts.  \code{stdout} is
+  used for the output of \keyword{print} and expression statements.
   The interpreter's own prompts and (almost all of) its error messages
   go to \code{stderr}.  \code{stdout} and \code{stderr} needn't be
   built-in file objects: any object is acceptable as long as it has a

Modified: python/branches/p3yk/Doc/lib/libtelnetlib.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libtelnetlib.tex	(original)
+++ python/branches/p3yk/Doc/lib/libtelnetlib.tex	Fri Mar 17 07:49:51 2006
@@ -196,6 +196,11 @@
 import sys
 import telnetlib
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 HOST = "localhost"
 user = raw_input("Enter your remote account: ")
 password = getpass.getpass()

Modified: python/branches/p3yk/Doc/lib/libtermios.tex
==============================================================================
--- python/branches/p3yk/Doc/lib/libtermios.tex	(original)
+++ python/branches/p3yk/Doc/lib/libtermios.tex	Fri Mar 17 07:49:51 2006
@@ -91,6 +91,12 @@
 old tty attributes are restored exactly no matter what happens:
 
 \begin{verbatim}
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def getpass(prompt = "Password: "):
     import termios, sys
     fd = sys.stdin.fileno()

Modified: python/branches/p3yk/Doc/ref/ref8.tex
==============================================================================
--- python/branches/p3yk/Doc/ref/ref8.tex	(original)
+++ python/branches/p3yk/Doc/ref/ref8.tex	Fri Mar 17 07:49:51 2006
@@ -103,10 +103,7 @@
 \end{productionlist}
 
 Note: to read `raw' input line without interpretation, you can use the
-built-in function \function{raw_input()} or the \method{readline()} method
-of file objects.
+the \method{readline()} method of file objects, including \code{sys.stdin}.
 \obindex{file}
 \index{input!raw}
-\index{raw input}
-\bifuncindex{raw_input}
 \withsubitem{(file method)}{\ttindex{readline()}}

Modified: python/branches/p3yk/Doc/tools/keywords.py
==============================================================================
--- python/branches/p3yk/Doc/tools/keywords.py	(original)
+++ python/branches/p3yk/Doc/tools/keywords.py	Fri Mar 17 07:49:51 2006
@@ -2,6 +2,12 @@
 
 # This Python program sorts and reformats the table of keywords in ref2.tex
 
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 l = []
 try:
     while 1:

Modified: python/branches/p3yk/Doc/tut/tut.tex
==============================================================================
--- python/branches/p3yk/Doc/tut/tut.tex	(original)
+++ python/branches/p3yk/Doc/tut/tut.tex	Fri Mar 17 07:49:51 2006
@@ -231,7 +231,7 @@
 
 Note that there is a difference between \samp{python file} and
 \samp{python <file}.  In the latter case, input requests from the
-program, such as calls to \function{input()} and \function{raw_input()}, are
+program, such as calling \code{sys.stdin.read()}, are
 satisfied from \emph{file}.  Since this file has already been read
 until the end by the parser before the program starts executing, the
 program will encounter end-of-file immediately.  In the former case
@@ -1161,6 +1161,12 @@
 \keyword{if} statement.  For example:
 
 \begin{verbatim}
+>>> def raw_input(prompt):
+...     import sys
+...     sys.stdout.write(prompt)
+...     sys.stdout.flush()
+...     return sys.stdin.readline()
+... 
 >>> x = int(raw_input("Please enter an integer: "))
 >>> if x < 0:
 ...      x = 0
@@ -1453,6 +1459,12 @@
 arguments than it is defined to allow.  For example:
 
 \begin{verbatim}
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
     while True:
         ok = raw_input(prompt)
@@ -2711,15 +2723,15 @@
  'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError',
  'UserWarning', 'ValueError', 'Warning', 'WindowsError',
  'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__',
- '__name__', 'abs', 'apply', 'basestring', 'bool', 'buffer',
+ '__name__', 'abs', 'basestring', 'bool', 'buffer',
  'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile',
  'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod',
  'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float',
  'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex',
- 'id', 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter',
+ 'id', 'int', 'intern', 'isinstance', 'issubclass', 'iter',
  'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min',
  'object', 'oct', 'open', 'ord', 'pow', 'property', 'quit', 'range',
- 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set',
+ 'reduce', 'reload', 'repr', 'reversed', 'round', 'set',
  'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super',
  'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
 \end{verbatim}
@@ -3412,6 +3424,12 @@
 raising the \exception{KeyboardInterrupt} exception.
 
 \begin{verbatim}
+>>> def raw_input(prompt):
+...     import sys
+...     sys.stdout.write(prompt)
+...     sys.stdout.flush()
+...     return sys.stdin.readline()
+... 
 >>> while True:
 ...     try:
 ...         x = int(raw_input("Please enter a number: "))
@@ -4983,7 +5001,12 @@
 placeholders such as the current date, image sequence number, or file format:
 
 \begin{verbatim}
->>> import time, os.path
+>>> import time, os.path, sys
+>>> def raw_input(prompt):
+...     sys.stdout.write(prompt)
+...     sys.stdout.flush()
+...     return sys.stdin.readline()
+... 
 >>> photofiles = ['img_1074.jpg', 'img_1076.jpg', 'img_1077.jpg']
 >>> class BatchRename(Template):
 ...     delimiter = '%'

Modified: python/branches/p3yk/Lib/cmd.py
==============================================================================
--- python/branches/p3yk/Lib/cmd.py	(original)
+++ python/branches/p3yk/Lib/cmd.py	Fri Mar 17 07:49:51 2006
@@ -40,18 +40,20 @@
 `self.undoc_header' set the headers used for the help function's
 listings of documented functions, miscellaneous topics, and undocumented
 functions respectively.
-
-These interpreters use raw_input; thus, if the readline module is loaded,
-they automatically support Emacs-like command history and editing features.
 """
 
-import string
+import string, sys
 
 __all__ = ["Cmd"]
 
 PROMPT = '(Cmd) '
 IDENTCHARS = string.ascii_letters + string.digits + '_'
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 class Cmd:
     """A simple framework for writing line-oriented command interpreters.
 

Modified: python/branches/p3yk/Lib/code.py
==============================================================================
--- python/branches/p3yk/Lib/code.py	(original)
+++ python/branches/p3yk/Lib/code.py	Fri Mar 17 07:49:51 2006
@@ -269,12 +269,14 @@
         The returned line does not include the trailing newline.
         When the user enters the EOF key sequence, EOFError is raised.
 
-        The base implementation uses the built-in function
-        raw_input(); a subclass may replace this with a different
-        implementation.
+        The base implementation uses sys.stdin.readline(); a subclass
+        may replace this with a different implementation.
 
         """
-        return raw_input(prompt)
+        sys.stdout.write(prompt)
+        sys.stdout.flush()
+        return sys.stdin.readline()
+
 
 
 def interact(banner=None, readfunc=None, local=None):

Modified: python/branches/p3yk/Lib/distutils/command/register.py
==============================================================================
--- python/branches/p3yk/Lib/distutils/command/register.py	(original)
+++ python/branches/p3yk/Lib/distutils/command/register.py	Fri Mar 17 07:49:51 2006
@@ -13,6 +13,11 @@
 from distutils.core import Command
 from distutils.errors import *
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 class register(Command):
 
     description = ("register the distribution with the Python package index")

Modified: python/branches/p3yk/Lib/getpass.py
==============================================================================
--- python/branches/p3yk/Lib/getpass.py	(original)
+++ python/branches/p3yk/Lib/getpass.py	Fri Mar 17 07:49:51 2006
@@ -69,8 +69,7 @@
 
 
 def _raw_input(prompt=""):
-    # A raw_input() replacement that doesn't save the string in the
-    # GNU readline history.
+    # This doesn't save the string in the GNU readline history.
     prompt = str(prompt)
     if prompt:
         sys.stdout.write(prompt)

Modified: python/branches/p3yk/Lib/idlelib/PyShell.py
==============================================================================
--- python/branches/p3yk/Lib/idlelib/PyShell.py	(original)
+++ python/branches/p3yk/Lib/idlelib/PyShell.py	Fri Mar 17 07:49:51 2006
@@ -1122,7 +1122,7 @@
         self.text.tag_add("stdin", "iomark", "end-1c")
         self.text.update_idletasks()
         if self.reading:
-            self.top.quit() # Break out of recursive mainloop() in raw_input()
+            self.top.quit() # Break out of recursive mainloop()
         else:
             self.runit()
         return "break"

Modified: python/branches/p3yk/Lib/pdb.py
==============================================================================
--- python/branches/p3yk/Lib/pdb.py	(original)
+++ python/branches/p3yk/Lib/pdb.py	Fri Mar 17 07:49:51 2006
@@ -22,6 +22,11 @@
 __all__ = ["run", "pm", "Pdb", "runeval", "runctx", "runcall", "set_trace",
            "post_mortem", "help"]
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def find_function(funcname, filename):
     cre = re.compile(r'def\s+%s\s*[(]' % funcname)
     try:

Modified: python/branches/p3yk/Lib/plat-mac/aetools.py
==============================================================================
--- python/branches/p3yk/Lib/plat-mac/aetools.py	(original)
+++ python/branches/p3yk/Lib/plat-mac/aetools.py	Fri Mar 17 07:49:51 2006
@@ -342,6 +342,11 @@
 # XXXX Should test more, really...
 
 def test():
+    def raw_input(prompt):
+        sys.stdout.write(prompt)
+        sys.stdout.flush()
+        return sys.stdin.readline()
+
     target = AE.AECreateDesc('sign', 'quil')
     ae = AE.AECreateAppleEvent('aevt', 'oapp', target, -1, 0)
     print unpackevent(ae)

Modified: python/branches/p3yk/Lib/pydoc.py
==============================================================================
--- python/branches/p3yk/Lib/pydoc.py	(original)
+++ python/branches/p3yk/Lib/pydoc.py	Fri Mar 17 07:49:51 2006
@@ -1505,6 +1505,11 @@
                     done[modname] = 1
                     writedoc(modname)
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 class Helper:
     keywords = {
         'and': 'BOOLEAN',

Modified: python/branches/p3yk/Lib/rlcompleter.py
==============================================================================
--- python/branches/p3yk/Lib/rlcompleter.py	(original)
+++ python/branches/p3yk/Lib/rlcompleter.py	Fri Mar 17 07:49:51 2006
@@ -28,12 +28,6 @@
 acceptable risk.  More complicated expressions (e.g. function calls or
 indexing operations) are *not* evaluated.
 
-- GNU readline is also used by the built-in functions input() and
-raw_input(), and thus these also benefit/suffer from the completer
-features.  Clearly an interactive application can benefit by
-specifying its own completer function and using raw_input() for all
-its input.
-
 - When the original stdin is not a tty device, GNU readline is never
 used, and this module (and the readline module) are silently inactive.
 

Modified: python/branches/p3yk/Lib/site.py
==============================================================================
--- python/branches/p3yk/Lib/site.py	(original)
+++ python/branches/p3yk/Lib/site.py	Fri Mar 17 07:49:51 2006
@@ -299,7 +299,9 @@
                 lineno += self.MAXLINES
                 key = None
                 while key is None:
-                    key = raw_input(prompt)
+                    sys.stdout.write(prompt)
+                    sys.stdout.flush()
+                    key = sys.stdin.readline()
                     if key not in ('', 'q'):
                         key = None
                 if key == 'q':

Modified: python/branches/p3yk/Lib/test/test_exceptions.py
==============================================================================
--- python/branches/p3yk/Lib/test/test_exceptions.py	(original)
+++ python/branches/p3yk/Lib/test/test_exceptions.py	Fri Mar 17 07:49:51 2006
@@ -44,8 +44,8 @@
 savestdin = sys.stdin
 try:
     try:
-        sys.stdin = fp
-        x = raw_input()
+        import marshal
+        marshal.loads('')
     except EOFError:
         pass
 finally:

Modified: python/branches/p3yk/Lib/urllib.py
==============================================================================
--- python/branches/p3yk/Lib/urllib.py	(original)
+++ python/branches/p3yk/Lib/urllib.py	Fri Mar 17 07:49:51 2006
@@ -768,10 +768,11 @@
 
     def prompt_user_passwd(self, host, realm):
         """Override this in a GUI environment!"""
-        import getpass
+        import getpass, sys
         try:
-            user = raw_input("Enter username for %s at %s: " % (realm,
-                                                                host))
+            sys.stdout.write("Enter username for %s at %s: " % (realm, host))
+            sys.stdout.flush()
+            user = sys.stdin.readline()
             passwd = getpass.getpass("Enter password for %s in %s at %s: " %
                 (user, realm, host))
             return user, passwd

Modified: python/branches/p3yk/Mac/Demo/resources/copyres.py
==============================================================================
--- python/branches/p3yk/Mac/Demo/resources/copyres.py	(original)
+++ python/branches/p3yk/Mac/Demo/resources/copyres.py	Fri Mar 17 07:49:51 2006
@@ -6,6 +6,12 @@
 WRITE = 2
 smAllScripts = -3
 
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def copyres(src, dst):
     """Copy resource from src file to dst file."""
 

Modified: python/branches/p3yk/Mac/Demo/sound/morselib.py
==============================================================================
--- python/branches/p3yk/Mac/Demo/sound/morselib.py	(original)
+++ python/branches/p3yk/Mac/Demo/sound/morselib.py	Fri Mar 17 07:49:51 2006
@@ -61,11 +61,10 @@
 }
 
 def morsecode(s):
-    from string import lower
     m = ''
     for c in s:
-        c = lower(c)
-        if morsetab.has_key(c):
+        c = c.lower()
+        if c in morsetab:
             c = morsetab[c] + ' '
         else:
             c = '? '
@@ -107,9 +106,12 @@
 
     def sendmorse(self, s):
         for c in s:
-            if c == '.': self.dot()
-            elif c == '-': self.dah()
-            else: self.pdah()
+            if c == '.':
+                self.dot()
+            elif c == '-':
+                self.dah()
+            else:
+                self.pdah()
             self.pdot()
 
     def sendascii(self, s):
@@ -122,8 +124,9 @@
 import Audio_mac
 class MyAudio(Audio_mac.Play_Audio_mac):
     def _callback(self, *args):
-        if hasattr(self, 'usercallback'): self.usercallback()
-        apply(Audio_mac.Play_Audio_mac._callback, (self,) + args)
+        if hasattr(self, 'usercallback'):
+            self.usercallback()
+        Audio_mac.Play_Audio_mac._callback(self, args)
 
 
 class MacMorse(BaseMorse):
@@ -169,12 +172,21 @@
     def usercallback(self):
         if self.morsequeue:
             c, self.morsequeue = self.morsequeue[0], self.morsequeue[1:]
-            if c == '.': self.dot()
-            elif c == '-': self.dah()
-            else: self.pdah()
+            if c == '.':
+                self.dot()
+            elif c == '-':
+                self.dah()
+            else:
+                self.pdah()
             self.pdot()
 
 
+def raw_input(prompt):
+    import sys
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def test():
     m = MacMorse()
     while 1:
@@ -183,6 +195,8 @@
         except (EOFError, KeyboardInterrupt):
             break
         m.send(line)
-        while m.morsequeue: pass
+        while m.morsequeue:
+            pass
 
-test()
+if __name__ == '__main__':
+    test()

Modified: python/branches/p3yk/Misc/Vim/python.vim
==============================================================================
--- python/branches/p3yk/Misc/Vim/python.vim	(original)
+++ python/branches/p3yk/Misc/Vim/python.vim	Fri Mar 17 07:49:51 2006
@@ -63,16 +63,16 @@
 
 if exists("python_highlight_builtins")
   syn keyword pythonBuiltin    unichr all set abs vars int __import__ unicode
-  syn keyword pythonBuiltin    enumerate reduce coerce intern exit issubclass
-  syn keyword pythonBuiltin    divmod file Ellipsis apply isinstance open any
+  syn keyword pythonBuiltin    enumerate reduce exit issubclass
+  syn keyword pythonBuiltin    divmod file Ellipsis isinstance open any
   syn keyword pythonBuiltin    locals help filter basestring slice copyright min
-  syn keyword pythonBuiltin    super sum tuple hex execfile long id xrange chr
+  syn keyword pythonBuiltin    super sum tuple hex execfile long id chr
   syn keyword pythonBuiltin    complex bool zip pow dict True oct NotImplemented
   syn keyword pythonBuiltin    map None float hash getattr buffer max reversed
   syn keyword pythonBuiltin    object quit len repr callable credits setattr
   syn keyword pythonBuiltin    eval frozenset sorted ord __debug__ hasattr
-  syn keyword pythonBuiltin    delattr False input license classmethod type
-  syn keyword pythonBuiltin    raw_input list iter compile reload range globals
+  syn keyword pythonBuiltin    delattr False license classmethod type
+  syn keyword pythonBuiltin    list iter reload range globals
   syn keyword pythonBuiltin    staticmethod str property round dir cmp
 
 endif

Modified: python/branches/p3yk/Misc/cheatsheet
==============================================================================
--- python/branches/p3yk/Misc/cheatsheet	(original)
+++ python/branches/p3yk/Misc/cheatsheet	Fri Mar 17 07:49:51 2006
@@ -925,8 +925,6 @@
 globals[, locals[,  more details)
 fromlist]]])
 abs(x)              Return the absolute value of number x.
-apply(f, args[,     Calls func/method f with arguments args and optional
-keywords])          keywords.
 bool(x)             Returns True when the argument x is true and False otherwise.
 buffer(obj)         Creates a buffer reference to an object.
 callable(x)         Returns True if x callable, else False.
@@ -934,10 +932,6 @@
 classmethod(f)      Converts a function f, into a method with the class as the
                     first argument.  Useful for creating alternative constructors.
 cmp(x,y)            Returns negative, 0, positive if x <, ==, > to y
-coerce(x,y)         Returns a tuple of the two numeric arguments converted to a
-                    common type.
-                    Compiles string into a code object.filename is used in
-                    error message, can be any string. It isusually the file
 compile(string,     from which the code was read, or eg. '<string>'if not read
 filename, kind)     from file.kind can be 'eval' if string is a single stmt, or
                     'single' which prints the output of expression statements
@@ -971,8 +965,6 @@
 help(f)             Display documentation on object f.
 hex(x)              Converts a number x to a hexadecimal string.
 id(object)          Returns a unique 'identity' integer for an object.
-input([prompt])     Prints prompt if given. Reads input and evaluates it.
-                    Converts a number or a string to a plain integer. Optional
 int(x[, base])      base paramenter specifies base from which to convert string
                     values.
 intern(aString)     Enters aString in the table of "interned strings"
@@ -1013,8 +1005,6 @@
 range(start [,end   Returns list of ints from >= start and < end.With 1 arg,
 [, step]])          list from 0..arg-1With 2 args, list from start..end-1With 3
                     args, list from start up to end by step
-raw_input([prompt]) Prints prompt if given, then reads string from stdinput (no
-                    trailing \n). See also input().
 reduce(f, list [,   Applies the binary function f to the items oflist so as to
 init])              reduce the list to a single value.If init given, it is
                     "prepended" to list.

Modified: python/branches/p3yk/Misc/python-mode.el
==============================================================================
--- python/branches/p3yk/Misc/python-mode.el	(original)
+++ python/branches/p3yk/Misc/python-mode.el	Fri Mar 17 07:49:51 2006
@@ -378,18 +378,18 @@
 			  "ZeroDivisionError" "__debug__"
 			  "__import__" "__name__" "abs" "apply" "basestring"
 			  "bool" "buffer" "callable" "chr" "classmethod"
-			  "cmp" "coerce" "compile" "complex" "copyright"
+			  "cmp" "compile" "complex" "copyright"
 			  "delattr" "dict" "dir" "divmod"
 			  "enumerate" "eval" "execfile" "exit" "file"
 			  "filter" "float" "getattr" "globals" "hasattr"
-			  "hash" "hex" "id" "input" "int" "intern"
+			  "hash" "hex" "id" "int" "intern"
 			  "isinstance" "issubclass" "iter" "len" "license"
 			  "list" "locals" "long" "map" "max" "min" "object"
 			  "oct" "open" "ord" "pow" "property" "range"
-			  "raw_input" "reduce" "reload" "repr" "round"
+			  "reduce" "reload" "repr" "round"
 			  "setattr" "slice" "staticmethod" "str" "sum"
 			  "super" "tuple" "type" "unichr" "unicode" "vars"
-			  "xrange" "zip")
+			  "zip")
 			"\\|"))
 	)
     (list

Modified: python/branches/p3yk/Tools/compiler/regrtest.py
==============================================================================
--- python/branches/p3yk/Tools/compiler/regrtest.py	(original)
+++ python/branches/p3yk/Tools/compiler/regrtest.py	Fri Mar 17 07:49:51 2006
@@ -67,6 +67,11 @@
 def cleanup(dir):
     os.system("rm -rf %s" % dir)
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def main():
     lib_dir = copy_library()
     compile_files(lib_dir)

Modified: python/branches/p3yk/Tools/scripts/ftpmirror.py
==============================================================================
--- python/branches/p3yk/Tools/scripts/ftpmirror.py	(original)
+++ python/branches/p3yk/Tools/scripts/ftpmirror.py	Fri Mar 17 07:49:51 2006
@@ -352,6 +352,11 @@
     def close(self):
         self.outfp.write('\n')
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 # Ask permission to download a file.
 def askabout(filetype, filename, pwd):
     prompt = 'Retrieve %s %s from %s ? [ny] ' % (filetype, filename, pwd)

Modified: python/branches/p3yk/Tools/scripts/treesync.py
==============================================================================
--- python/branches/p3yk/Tools/scripts/treesync.py	(original)
+++ python/branches/p3yk/Tools/scripts/treesync.py	Fri Mar 17 07:49:51 2006
@@ -187,6 +187,11 @@
     f.close()
     g.close()
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def okay(prompt, answer='ask'):
     answer = answer.strip().lower()
     if not answer or answer[0] not in 'ny':

Modified: python/branches/p3yk/Tools/scripts/xxci.py
==============================================================================
--- python/branches/p3yk/Tools/scripts/xxci.py	(original)
+++ python/branches/p3yk/Tools/scripts/xxci.py	Fri Mar 17 07:49:51 2006
@@ -105,6 +105,11 @@
     cmd = 'rcsdiff ' + file + ' 2>&1 | ${PAGER-more}'
     sts = os.system(cmd)
 
+def raw_input(prompt):
+    sys.stdout.write(prompt)
+    sys.stdout.flush()
+    return sys.stdin.readline()
+
 def askyesno(prompt):
     s = raw_input(prompt)
     return s in ['y', 'yes']

Modified: python/branches/p3yk/Tools/webchecker/wcmac.py
==============================================================================
--- python/branches/p3yk/Tools/webchecker/wcmac.py	(original)
+++ python/branches/p3yk/Tools/webchecker/wcmac.py	Fri Mar 17 07:49:51 2006
@@ -4,4 +4,6 @@
 webchecker.verbose = 2
 sys.argv.append('-x')
 webchecker.main()
-raw_input("\nCR to exit: ")
+sys.stdout.write("\nCR to exit: ")
+sys.stdout.flush()
+sys.stdin.readline()


More information about the Python-checkins mailing list