]> granicus.if.org Git - python/commitdiff
Whoops, input *and* raw_input are slated for removal, and now both are gone.
authorNeal Norwitz <nnorwitz@gmail.com>
Fri, 17 Mar 2006 06:04:34 +0000 (06:04 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Fri, 17 Mar 2006 06:04:34 +0000 (06:04 +0000)
Lib/test/test_builtin.py
Python/bltinmodule.c

index c97a7f1e2dcafc32567064477d2bdab045b8a458..4f10d929e707ef4472a04440467f585de88db9ad 100644 (file)
@@ -1106,7 +1106,6 @@ class BuiltinTest(unittest.TestCase):
         self.assertRaises(TypeError, oct, ())
 
     def write_testfile(self):
-        # NB the first 4 lines are also used to test input, below
         fp = open(TESTFN, 'w')
         try:
             fp.write('1+1\n')
@@ -1265,36 +1264,6 @@ class BuiltinTest(unittest.TestCase):
         self.assertRaises(OverflowError, range, -sys.maxint, sys.maxint)
         self.assertRaises(OverflowError, range, 0, 2*sys.maxint)
 
-    def test_input(self):
-        self.write_testfile()
-        fp = open(TESTFN, 'r')
-        savestdin = sys.stdin
-        savestdout = sys.stdout # Eats the echo
-        try:
-            sys.stdin = fp
-            sys.stdout = BitBucket()
-            self.assertEqual(input(), '1+1')
-            self.assertEqual(input('testing\n'), '1+1')
-            self.assertEqual(input(), 'The quick brown fox jumps over the lazy dog.')
-            self.assertEqual(input('testing\n'), 'Dear John')
-            sys.stdin = cStringIO.StringIO("NULL\0")
-            self.assertRaises(TypeError, input, 42, 42)
-            whitespace = "    'whitespace'"
-            sys.stdin = cStringIO.StringIO(whitespace)
-            self.assertEqual(input(), whitespace)
-            sys.stdin = cStringIO.StringIO()
-            self.assertRaises(EOFError, input)
-
-            del sys.stdout
-            self.assertRaises(RuntimeError, input, 'prompt')
-            del sys.stdin
-            self.assertRaises(RuntimeError, input, 'prompt')
-        finally:
-            sys.stdin = savestdin
-            sys.stdout = savestdout
-            fp.close()
-            unlink(TESTFN)
-
     def test_reduce(self):
         self.assertEqual(reduce(lambda x, y: x+y, ['a', 'b', 'c'], ''), 'abc')
         self.assertEqual(
index a5dc0e34aac09ac339cc203020e53a8f315e6f5e..4c168eb147c44871eea40a9855db2cff04b5949b 100644 (file)
@@ -1073,91 +1073,6 @@ PyDoc_STRVAR(hex_doc,
 Return the hexadecimal representation of an integer or long integer.");
 
 
-static PyObject *
-builtin_input(PyObject *self, PyObject *args)
-{
-       PyObject *v = NULL;
-       PyObject *fin = PySys_GetObject("stdin");
-       PyObject *fout = PySys_GetObject("stdout");
-
-       if (!PyArg_UnpackTuple(args, "input", 0, 1, &v))
-               return NULL;
-
-       if (fin == NULL) {
-               PyErr_SetString(PyExc_RuntimeError, "input: lost sys.stdin");
-               return NULL;
-       }
-       if (fout == NULL) {
-               PyErr_SetString(PyExc_RuntimeError, "input: lost sys.stdout");
-               return NULL;
-       }
-       if (PyFile_SoftSpace(fout, 0)) {
-               if (PyFile_WriteString(" ", fout) != 0)
-                       return NULL;
-       }
-       if (PyFile_Check(fin) && PyFile_Check(fout)
-            && isatty(fileno(PyFile_AsFile(fin)))
-            && isatty(fileno(PyFile_AsFile(fout)))) {
-               PyObject *po;
-               char *prompt;
-               char *s;
-               PyObject *result;
-               if (v != NULL) {
-                       po = PyObject_Str(v);
-                       if (po == NULL)
-                               return NULL;
-                       prompt = PyString_AsString(po);
-                       if (prompt == NULL)
-                               return NULL;
-               }
-               else {
-                       po = NULL;
-                       prompt = "";
-               }
-               s = PyOS_Readline(PyFile_AsFile(fin), PyFile_AsFile(fout),
-                                  prompt);
-               Py_XDECREF(po);
-               if (s == NULL) {
-                       if (!PyErr_Occurred())
-                               PyErr_SetNone(PyExc_KeyboardInterrupt);
-                       return NULL;
-               }
-               if (*s == '\0') {
-                       PyErr_SetNone(PyExc_EOFError);
-                       result = NULL;
-               }
-               else { /* strip trailing '\n' */
-                       size_t len = strlen(s);
-                       if (len > INT_MAX) {
-                               PyErr_SetString(PyExc_OverflowError,
-                                               "[raw_]input: input too long");
-                               result = NULL;
-                       }
-                       else {
-                               result = PyString_FromStringAndSize(s,
-                                                               (int)(len-1));
-                       }
-               }
-               PyMem_FREE(s);
-               return result;
-       }
-       if (v != NULL) {
-               if (PyFile_WriteObject(v, fout, Py_PRINT_RAW) != 0)
-                       return NULL;
-       }
-       return PyFile_GetLine(fin, -1);
-}
-
-PyDoc_STRVAR(input_doc,
-"input([prompt]) -> string\n\
-\n\
-Read a string from standard input.  The trailing newline is stripped.\n\
-If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.\n\
-On Unix, GNU readline is used if enabled.  The prompt string, if given,\n\
-is printed without a trailing newline before reading.");
-
-
-
 static PyObject *
 builtin_intern(PyObject *self, PyObject *args)
 {
@@ -2193,7 +2108,6 @@ static PyMethodDef builtin_methods[] = {
        {"hash",        builtin_hash,       METH_O, hash_doc},
        {"hex",         builtin_hex,        METH_O, hex_doc},
        {"id",          builtin_id,         METH_O, id_doc},
-       {"input",       builtin_input,      METH_VARARGS, input_doc},
        {"intern",      builtin_intern,     METH_VARARGS, intern_doc},
        {"isinstance",  builtin_isinstance, METH_VARARGS, isinstance_doc},
        {"issubclass",  builtin_issubclass, METH_VARARGS, issubclass_doc},