Skip to content

Commit f954c4b

Browse files
committed
Remove meaning of -ttt, but still accept -t option on cmdline for compatibility.
1 parent e5d68ac commit f954c4b

37 files changed

+1242
-1082
lines changed

Doc/c-api/unicode.rst

+10
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,13 @@ the Python configuration.
144144

145145
Return 1 or 0 depending on whether *ch* is an alphanumeric character.
146146

147+
.. cfunction:: int Py_UNICODE_ISPRINTABLE(Py_UNICODE ch)
148+
149+
Return 1 or 0 depending on whether *ch* is a printable character.
150+
Characters defined in the Unicode character database as "Other"
151+
or "Separator" other than ASCII space(0x20) are not considered
152+
printable.
153+
147154
These APIs can be used for fast direct character conversions:
148155

149156

@@ -228,6 +235,9 @@ APIs:
228235
+===================+=====================+================================+
229236
| :attr:`%%` | *n/a* | The literal % character. |
230237
+-------------------+---------------------+--------------------------------+
238+
| :attr:`%a` | PyObject\* | The result of calling |
239+
| | | :func:`ascii`. |
240+
+-------------------+---------------------+--------------------------------+
231241
| :attr:`%c` | int | A single character, |
232242
| | | represented as an C int. |
233243
+-------------------+---------------------+--------------------------------+

Doc/library/functions.rst

+8
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ are always available. They are listed here in alphabetical order.
9191
return False
9292

9393

94+
.. function:: ascii(object)
95+
96+
As :func:`repr`, return a string containing a printable
97+
representation of an object. But unlike :func:`repr`, the non-ASCII
98+
characters in the string returned by :func:`ascii`() are hex-escaped
99+
to generate a same string as :func:`repr` in Python 2.
100+
101+
94102
.. function:: bin(x)
95103

96104
Convert an integer number to a binary string. The result is a valid Python

Doc/library/stdtypes.rst

+8
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,14 @@ functions based on regular expressions.
774774
least one cased character, false otherwise.
775775

776776

777+
.. method:: str.isprintable()
778+
779+
Return true if all characters in the string are printable and there is at
780+
least one character, false otherwise. Characters defined in the Unicode
781+
character database as "Other" or "Separator" other than ASCII space(0x20) are
782+
not considered printable.
783+
784+
777785
.. method:: str.isspace()
778786

779787
Return true if there are only whitespace characters in the string and there is

Doc/library/sys.rst

-2
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,6 @@ always available.
231231
+------------------------------+------------------------------------------+
232232
| :const:`ignore_environment` | -E |
233233
+------------------------------+------------------------------------------+
234-
| :const:`tabcheck` | -t or -tt |
235-
+------------------------------+------------------------------------------+
236234
| :const:`verbose` | -v |
237235
+------------------------------+------------------------------------------+
238236
| :const:`unicode` | -U |

Doc/using/cmdline.rst

-7
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,6 @@ Miscellaneous options
222222
manipulations of :data:`sys.path` that it entails.
223223

224224

225-
.. cmdoption:: -t
226-
227-
Issue a warning when a source file mixes tabs and spaces for indentation in a
228-
way that makes it depend on the worth of a tab expressed in spaces. Issue an
229-
error when the option is given twice (:option:`-tt`).
230-
231-
232225
.. cmdoption:: -u
233226

234227
Force stdin, stdout and stderr to be totally unbuffered. On systems where it

Include/pydebug.h

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ PyAPI_DATA(int) Py_NoSiteFlag;
1414
PyAPI_DATA(int) Py_BytesWarningFlag;
1515
PyAPI_DATA(int) Py_UseClassExceptionsFlag;
1616
PyAPI_DATA(int) Py_FrozenFlag;
17-
PyAPI_DATA(int) Py_TabcheckFlag;
1817
PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
1918
PyAPI_DATA(int) Py_DivisionWarningFlag;
2019
PyAPI_DATA(int) Py_DontWriteBytecodeFlag;

Include/unicodeobject.h

+8
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
217217
# define _PyUnicode_IsLinebreak _PyUnicodeUCS2_IsLinebreak
218218
# define _PyUnicode_IsLowercase _PyUnicodeUCS2_IsLowercase
219219
# define _PyUnicode_IsNumeric _PyUnicodeUCS2_IsNumeric
220+
# define _PyUnicode_IsPrintable _PyUnicodeUCS2_IsPrintable
220221
# define _PyUnicode_IsTitlecase _PyUnicodeUCS2_IsTitlecase
221222
# define _PyUnicode_IsXidStart _PyUnicodeUCS2_IsXidStart
222223
# define _PyUnicode_IsXidContinue _PyUnicodeUCS2_IsXidContinue
@@ -311,6 +312,7 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
311312
# define _PyUnicode_IsLinebreak _PyUnicodeUCS4_IsLinebreak
312313
# define _PyUnicode_IsLowercase _PyUnicodeUCS4_IsLowercase
313314
# define _PyUnicode_IsNumeric _PyUnicodeUCS4_IsNumeric
315+
# define _PyUnicode_IsPrintable _PyUnicodeUCS4_IsPrintable
314316
# define _PyUnicode_IsTitlecase _PyUnicodeUCS4_IsTitlecase
315317
# define _PyUnicode_IsXidStart _PyUnicodeUCS4_IsXidStart
316318
# define _PyUnicode_IsXidContinue _PyUnicodeUCS4_IsXidContinue
@@ -351,6 +353,7 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
351353
#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch)
352354
#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch)
353355
#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch)
356+
#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch)
354357

355358
#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch)
356359
#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch)
@@ -381,6 +384,7 @@ extern const unsigned char _Py_ascii_whitespace[];
381384
#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch)
382385
#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch)
383386
#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch)
387+
#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch)
384388

385389
#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch)
386390
#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch)
@@ -1499,6 +1503,10 @@ PyAPI_FUNC(int) _PyUnicode_IsNumeric(
14991503
Py_UNICODE ch /* Unicode character */
15001504
);
15011505

1506+
PyAPI_FUNC(int) _PyUnicode_IsPrintable(
1507+
Py_UNICODE ch /* Unicode character */
1508+
);
1509+
15021510
PyAPI_FUNC(int) _PyUnicode_IsAlpha(
15031511
Py_UNICODE ch /* Unicode character */
15041512
);

Lib/doctest.py

+16
Original file line numberDiff line numberDiff line change
@@ -1441,6 +1441,13 @@ class OutputChecker:
14411441
and returns true if they match; and `output_difference`, which
14421442
returns a string describing the differences between two outputs.
14431443
"""
1444+
1445+
def _toAscii(self, s):
1446+
"""
1447+
Convert string to hex-escaped ASCII string.
1448+
"""
1449+
return str(s.encode('ASCII', 'backslashreplace'), "ASCII")
1450+
14441451
def check_output(self, want, got, optionflags):
14451452
"""
14461453
Return True iff the actual output from an example (`got`)
@@ -1451,6 +1458,15 @@ def check_output(self, want, got, optionflags):
14511458
documentation for `TestRunner` for more information about
14521459
option flags.
14531460
"""
1461+
1462+
# If `want` contains hex-escaped character such as "\u1234",
1463+
# then `want` is a string of six characters(e.g. [\,u,1,2,3,4]).
1464+
# On the other hand, `got` could be an another sequence of
1465+
# characters such as [\u1234], so `want` and `got` should
1466+
# be folded to hex-escaped ASCII string to compare.
1467+
got = self._toAscii(got)
1468+
want = self._toAscii(want)
1469+
14541470
# Handle the common case first, for efficiency:
14551471
# if they're string-identical, always return true.
14561472
if got == want:

Lib/test/test_array.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,7 @@ def test_unicode(self):
768768
a = array.array('u', s)
769769
self.assertEqual(
770770
repr(a),
771-
"array('u', '\\x00=\"\\'a\\\\b\\x80\\xff\\x00\\x01\\u1234')")
771+
"array('u', '\\x00=\"\\'a\\\\b\\x80\xff\\x00\\x01\u1234')")
772772

773773
self.assertRaises(TypeError, a.fromunicode)
774774

Lib/test/test_builtin.py

+3
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,9 @@ def test_any(self):
159159
S = [10, 20, 30]
160160
self.assertEqual(any(x > 42 for x in S), False)
161161

162+
def test_ascii(self):
163+
self.assertEqual(ascii("\u0370"), "'\\u0370'")
164+
162165
def test_neg(self):
163166
x = -sys.maxsize-1
164167
self.assert_(isinstance(x, int))

Lib/test/test_exceptions.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ def testRaising(self):
8080
self.raise_catch(IndentationError, "IndentationError")
8181

8282
self.raise_catch(TabError, "TabError")
83-
# can only be tested under -tt, and is the only test for -tt
84-
#try: compile("try:\n\t1/0\n \t1/0\nfinally:\n pass\n", '<string>', 'exec')
85-
#except TabError: pass
86-
#else: self.fail("TabError not raised")
83+
try: compile("try:\n\t1/0\n \t1/0\nfinally:\n pass\n",
84+
'<string>', 'exec')
85+
except TabError: pass
86+
else: self.fail("TabError not raised")
8787

8888
self.raise_catch(SystemError, "SystemError")
8989

Lib/test/test_format.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ def test_format(self):
216216
testformat("%o", 0o42, "42")
217217
testformat("%o", -0o42, "-42")
218218
testformat("%o", float(0o42), "42")
219+
testformat("%r", "\u0370", "'\u0370'")
220+
testformat("%a", "\u0370", "'\\u0370'")
219221
# Test exception for unknown format characters
220222
if verbose:
221223
print('Testing exceptions')
@@ -235,8 +237,8 @@ def test_exc(formatstr, args, exception, excmsg):
235237
raise
236238
else:
237239
raise TestFailed('did not get expected exception: %s' % excmsg)
238-
test_exc('abc %a', 1, ValueError,
239-
"unsupported format character 'a' (0x61) at index 5")
240+
test_exc('abc %b', 1, ValueError,
241+
"unsupported format character 'b' (0x62) at index 5")
240242
#test_exc(unicode('abc %\u3000','raw-unicode-escape'), 1, ValueError,
241243
# "unsupported format character '?' (0x3000) at index 5")
242244
test_exc('%d', '1', TypeError, "%d format: a number is required, not str")

Lib/test/test_pyexpat.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def _verify_parse_output(self, op):
131131
self.assertEquals(op[1], "Comment: ' comment data '")
132132
self.assertEquals(op[2], "Notation declared: ('notation', None, 'notation.jpeg', None)")
133133
self.assertEquals(op[3], "Unparsed entity decl: ('unparsed_entity', None, 'entity.file', None, 'notation')")
134-
self.assertEquals(op[4], "Start element: 'root' {'attr1': 'value1', 'attr2': 'value2\\u1f40'}")
134+
self.assertEquals(op[4], "Start element: 'root' {'attr1': 'value1', 'attr2': 'value2\u1f40'}")
135135
self.assertEquals(op[5], "NS decl: 'myns' 'http://www.python.org/namespace'")
136136
self.assertEquals(op[6], "Start element: 'http://www.python.org/namespace!subelement' {}")
137137
self.assertEquals(op[7], "Character data: 'Contents of subelements'")

Lib/test/test_unicode.py

+14-8
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,14 @@ def test_repr(self):
9494
"JKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\x7f"
9595
"\\x80\\x81\\x82\\x83\\x84\\x85\\x86\\x87\\x88\\x89\\x8a\\x8b\\x8c\\x8d"
9696
"\\x8e\\x8f\\x90\\x91\\x92\\x93\\x94\\x95\\x96\\x97\\x98\\x99\\x9a\\x9b"
97-
"\\x9c\\x9d\\x9e\\x9f\\xa0\\xa1\\xa2\\xa3\\xa4\\xa5\\xa6\\xa7\\xa8\\xa9"
98-
"\\xaa\\xab\\xac\\xad\\xae\\xaf\\xb0\\xb1\\xb2\\xb3\\xb4\\xb5\\xb6\\xb7"
99-
"\\xb8\\xb9\\xba\\xbb\\xbc\\xbd\\xbe\\xbf\\xc0\\xc1\\xc2\\xc3\\xc4\\xc5"
100-
"\\xc6\\xc7\\xc8\\xc9\\xca\\xcb\\xcc\\xcd\\xce\\xcf\\xd0\\xd1\\xd2\\xd3"
101-
"\\xd4\\xd5\\xd6\\xd7\\xd8\\xd9\\xda\\xdb\\xdc\\xdd\\xde\\xdf\\xe0\\xe1"
102-
"\\xe2\\xe3\\xe4\\xe5\\xe6\\xe7\\xe8\\xe9\\xea\\xeb\\xec\\xed\\xee\\xef"
103-
"\\xf0\\xf1\\xf2\\xf3\\xf4\\xf5\\xf6\\xf7\\xf8\\xf9\\xfa\\xfb\\xfc\\xfd"
104-
"\\xfe\\xff'")
97+
"\\x9c\\x9d\\x9e\\x9f\\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9"
98+
"\xaa\xab\xac\\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
99+
"\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5"
100+
"\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3"
101+
"\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1"
102+
"\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef"
103+
"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd"
104+
"\xfe\xff'")
105105
testrepr = repr(''.join(map(chr, range(256))))
106106
self.assertEqual(testrepr, latin1repr)
107107
# Test repr works on wide unicode escapes without overflow.
@@ -374,6 +374,12 @@ def test_isidentifier(self):
374374
self.assertFalse("[".isidentifier())
375375
self.assertFalse("©".isidentifier())
376376

377+
def test_isprintable(self):
378+
self.assertTrue("abcdefg".isprintable())
379+
self.assertFalse("abcdefg\n".isprintable())
380+
self.assertTrue("\u0370".isprintable())
381+
self.assertFalse("\ud800".isprintable())
382+
377383
def test_contains(self):
378384
# Testing Unicode contains method
379385
self.assert_('a' in 'abdb')

Mac/BuildScript/scripts/postflight.framework

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@
66
PYVER="@PYVER@"
77
FWK="/Library/Frameworks/Python.framework/Versions/@PYVER@"
88

9-
"${FWK}/bin/python" -Wi -tt \
9+
"${FWK}/bin/python" -Wi \
1010
"${FWK}/lib/python${PYVER}/compileall.py" \
1111
-x badsyntax -x site-packages \
1212
"${FWK}/lib/python${PYVER}"
1313

14-
"${FWK}/bin/python" -Wi -tt -O \
14+
"${FWK}/bin/python" -Wi -O \
1515
"${FWK}/lib/python${PYVER}/compileall.py" \
1616
-x badsyntax -x site-packages \
1717
"${FWK}/lib/python${PYVER}"
1818

19-
"${FWK}/bin/python" -Wi -tt \
19+
"${FWK}/bin/python" -Wi \
2020
"${FWK}/lib/python${PYVER}/compileall.py" \
2121
-x badsyntax -x site-packages \
2222
"${FWK}/Mac/Tools"
2323

24-
"${FWK}/bin/python" -Wi -tt -O \
24+
"${FWK}/bin/python" -Wi -O \
2525
"${FWK}/lib/python${PYVER}/compileall.py" \
2626
-x badsyntax -x site-packages \
2727
"${FWK}/Mac/Tools"

Mac/Makefile.in

+2-2
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,8 @@ installmacsubtree:
226226

227227

228228
$(RUNSHARED) $(BUILDPYTHON) $(CACHERSRC) -v $(DESTDIR)$(MACLIBDEST) $(DESTDIR)$(MACTOOLSDEST)
229-
$(RUNSHARED) $(BUILDPYTHON) -Wi -tt $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
230-
$(RUNSHARED) $(BUILDPYTHON) -O -Wi -tt $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
229+
$(RUNSHARED) $(BUILDPYTHON) -Wi $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
230+
$(RUNSHARED) $(BUILDPYTHON) -O -Wi $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
231231

232232
$(INSTALLED_PYTHONAPP): install_Python
233233

Makefile.pre.in

+7-7
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
664664

665665
TESTOPTS= -l $(EXTRATESTOPTS)
666666
TESTPROG= $(srcdir)/Lib/test/regrtest.py
667-
TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -tt -bb
667+
TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -bb
668668
test: all platform
669669
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
670670
-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
@@ -687,7 +687,7 @@ testuniversal: all platform
687687
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
688688
-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
689689
$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -uall
690-
$(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) $(TESTOPTS) -uall
690+
$(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E $(TESTPROG) $(TESTOPTS) -uall
691691

692692

693693
# Like testall, but with a single pass only
@@ -872,23 +872,23 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR)
872872
done
873873
$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
874874
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
875-
./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
875+
./$(BUILDPYTHON) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
876876
-d $(LIBDEST) -f \
877877
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
878878
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
879-
./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
879+
./$(BUILDPYTHON) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
880880
-d $(LIBDEST) -f \
881881
-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST)
882882
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
883-
./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
883+
./$(BUILDPYTHON) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
884884
-d $(LIBDEST)/site-packages -f \
885885
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
886886
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
887-
./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
887+
./$(BUILDPYTHON) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
888888
-d $(LIBDEST)/site-packages -f \
889889
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
890890
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
891-
./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram"
891+
./$(BUILDPYTHON) -Wi -c "import lib2to3.pygram"
892892

893893
# Create the PLATDIR source directory, if one wasn't distributed..
894894
$(srcdir)/Lib/$(PLATDIR):

Misc/NEWS

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ What's new in Python 3.0b1?
1212
Core and Builtins
1313
-----------------
1414

15+
- Removed the already-defunct ``-t`` option.
16+
1517
- Issue #2957: Corrected a ValueError "recursion limit exceeded", when
1618
unmarshalling many code objects, which happens when importing a
1719
large .pyc file (~1000 functions).

Misc/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ RSYNC_OPTS="-aC -e ssh"
5959
PYTHON=$INSTALL_DIR/bin/python
6060

6161
# Python options and regression test program that should always be run.
62-
REGRTEST_ARGS="-E -tt $INSTALL_DIR/lib/python3.0/test/regrtest.py"
62+
REGRTEST_ARGS="-E $INSTALL_DIR/lib/python3.0/test/regrtest.py"
6363

6464
REFLOG="build/reflog.txt.out"
6565
# These tests are not stable and falsely report leaks sometimes.

Misc/cheatsheet

-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ Option Effect
4646
-OO remove doc-strings in addition to the -O optimizations
4747
-Q arg division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
4848
-S Don't perform 'import site' on initialization
49-
-t Issue warnings about inconsistent tab usage (-tt: issue errors)
5049
-u Unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x).
5150
-v Verbose (trace import statements) (also PYTHONVERBOSE=x)
5251
-W arg : warning control (arg is action:message:category:module:lineno)

Misc/python.man

-8
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ python \- an interpreted, interactive, object-oriented programming language
3535
.B \-S
3636
]
3737
[
38-
.B \-t
39-
]
40-
[
4138
.B \-u
4239
]
4340
.br
@@ -144,11 +141,6 @@ and the site-dependent manipulations of
144141
.I sys.path
145142
that it entails.
146143
.TP
147-
.B \-t
148-
Issue a warning when a source file mixes tabs and spaces for
149-
indentation in a way that makes it depend on the worth of a tab
150-
expressed in spaces. Issue an error when the option is given twice.
151-
.TP
152144
.B \-u
153145
Force stdin, stdout and stderr to be totally unbuffered. On systems
154146
where it matters, also put stdin, stdout and stderr in binary mode.

Misc/valgrind-python.supp

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66
# cd python/dist/src
77
# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
8-
# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
8+
# ./python -E ./Lib/test/regrtest.py -u bsddb,network
99
#
1010
# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
1111
# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.

0 commit comments

Comments
 (0)