Make 'python -tt' the default, meaning Python won't allow mixing tabs and
spaces for indentation. Adds a '-ttt' option to turn the errors back into
warnings; I'm not yet sure whether that's desireable for Py3K.
Also remove the magic for setting the size of tabs based on emacs/vim-style
comments. Python now always considers tabstops to be every-8-spaces.
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 3c82588..0631ca3 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -120,8 +120,8 @@
tok->lineno = 0;
tok->level = 0;
tok->filename = NULL;
- tok->altwarning = 0;
- tok->alterror = 0;
+ tok->altwarning = 1;
+ tok->alterror = 1;
tok->alttabsize = 1;
tok->altindstack[0] = 0;
tok->decoding_state = 0;
@@ -1207,41 +1207,10 @@
/* Set start of current token */
tok->start = tok->cur - 1;
- /* Skip comment, while looking for tab-setting magic */
- if (c == '#') {
- static char *tabforms[] = {
- "tab-width:", /* Emacs */
- ":tabstop=", /* vim, full form */
- ":ts=", /* vim, abbreviated form */
- "set tabsize=", /* will vi never die? */
- /* more templates can be added here to support other editors */
- };
- char cbuf[80];
- char *tp, **cp;
- tp = cbuf;
- do {
- *tp++ = c = tok_nextc(tok);
- } while (c != EOF && c != '\n' &&
- tp - cbuf + 1 < sizeof(cbuf));
- *tp = '\0';
- for (cp = tabforms;
- cp < tabforms + sizeof(tabforms)/sizeof(tabforms[0]);
- cp++) {
- if ((tp = strstr(cbuf, *cp))) {
- int newsize = atoi(tp + strlen(*cp));
-
- if (newsize >= 1 && newsize <= 40) {
- tok->tabsize = newsize;
- if (Py_VerboseFlag)
- PySys_WriteStderr(
- "Tab size set to %d\n",
- newsize);
- }
- }
- }
+ /* Skip comment */
+ if (c == '#')
while (c != EOF && c != '\n')
c = tok_nextc(tok);
- }
/* Check for EOF and errors now */
if (c == EOF) {