]> granicus.if.org Git - python/commitdiff
#4603: Note that inconsistent tab/space use is now illegal.
authorGeorg Brandl <georg@python.org>
Mon, 15 Dec 2008 08:43:10 +0000 (08:43 +0000)
committerGeorg Brandl <georg@python.org>
Mon, 15 Dec 2008 08:43:10 +0000 (08:43 +0000)
Doc/reference/lexical_analysis.rst

index 1e43128582108af09f7ac3a9fa11fbd3c0cd7e9b..83d3b8ba2d08dc4fc726d747da7c105960a8c5b2 100644 (file)
@@ -174,14 +174,18 @@ Leading whitespace (spaces and tabs) at the beginning of a logical line is used
 to compute the indentation level of the line, which in turn is used to determine
 the grouping of statements.
 
-First, tabs are replaced (from left to right) by one to eight spaces such that
-the total number of characters up to and including the replacement is a multiple
-of eight (this is intended to be the same rule as used by Unix).  The total
-number of spaces preceding the first non-blank character then determines the
-line's indentation.  Indentation cannot be split over multiple physical lines
-using backslashes; the whitespace up to the first backslash determines the
+Tabs are replaced (from left to right) by one to eight spaces such that the
+total number of characters up to and including the replacement is a multiple of
+eight (this is intended to be the same rule as used by Unix).  The total number
+of spaces preceding the first non-blank character then determines the line's
+indentation.  Indentation cannot be split over multiple physical lines using
+backslashes; the whitespace up to the first backslash determines the
 indentation.
 
+Indentation is rejected as inconsistent if a source file mixes tabs and spaces
+in a way that makes the meaning dependent on the worth of a tab in spaces; a
+:exc:`TabError` is raised in that case.
+
 **Cross-platform compatibility note:** because of the nature of text editors on
 non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for the
 indentation in a single source file.  It should also be noted that different