From 5b7dc3927aa4000091847cf15dc641adc7503d74 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Mon, 24 Aug 2015 22:18:35 -0500 Subject: [PATCH] Remove enabled extensions from `options.select` When taking advantage of the --select flag for off-by-default extensions, we neglected to take into account the fact that leaving the extension names in the select list would cause different behaviour in pep8. This should remedy this. Related to GitLab bug #67 --- flake8/engine.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/flake8/engine.py b/flake8/engine.py index 0f440c1..4763b5a 100644 --- a/flake8/engine.py +++ b/flake8/engine.py @@ -168,9 +168,16 @@ class StyleGuide(object): def _disable_extensions(parser, options): ignored_extensions = set(getattr(parser, 'ignored_extensions', [])) + select = set(options.select) + + enabled_extensions = ignored_extensions.intersection(select) # Remove any of the selected extensions from the extensions ignored by # default. - ignored_extensions -= set(options.select) + ignored_extensions -= select + + for extension in enabled_extensions: + options.select.remove(extension) + # Whatever is left afterwards should be unioned with options.ignore and # options.ignore should be updated with that. options.ignore = tuple(ignored_extensions.union(options.ignore))