From: Barry Warsaw Date: Mon, 21 Oct 2002 15:58:29 +0000 (+0000) Subject: (py-parse-state-re): Remove the "if" from the regular expression. X-Git-Tag: v2.3c1~3705 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=644991fa35920f8ccdf9af66f1e6f90f79c1cf87;p=python (py-parse-state-re): Remove the "if" from the regular expression. This fixes an indentation bug reported by Jeremy when seeing multiple list comprehensions like so: [x for x in seq if blah(x)] # ... [y for y in seq if blah(y)] The reason this broke is because this regexp caused the "find a safe parsing start location higher up in the file" test to erroneously find the if in the listcomp. I think the other keywords in this regexp are fine and good enough. After a weekend of testing, I can't find any adverse effects. --- diff --git a/Misc/python-mode.el b/Misc/python-mode.el index bf4c4d5f60..6ae0c9b772 100644 --- a/Misc/python-mode.el +++ b/Misc/python-mode.el @@ -3148,7 +3148,7 @@ local bindings to py-newline-and-indent.")) ;; Helper functions (defvar py-parse-state-re (concat - "^[ \t]*\\(if\\|elif\\|else\\|while\\|def\\|class\\)\\>" + "^[ \t]*\\(elif\\|else\\|while\\|def\\|class\\)\\>" "\\|" "^[^ #\t\n]"))