diff --git a/doc/whatsnew/2/2.14/full.rst b/doc/whatsnew/2/2.14/full.rst index 11caebb800..a0d5e7bc8a 100644 --- a/doc/whatsnew/2/2.14/full.rst +++ b/doc/whatsnew/2/2.14/full.rst @@ -5,7 +5,9 @@ What's New in Pylint 2.14.4? ---------------------------- Release date: TBA +* Fixed regression that didn't allow quoted ``init-hooks`` in option files. + Closes #7006 What's New in Pylint 2.14.3? ---------------------------- diff --git a/pylint/config/config_initialization.py b/pylint/config/config_initialization.py index 9f3b2bcc51..af47a4c6bb 100644 --- a/pylint/config/config_initialization.py +++ b/pylint/config/config_initialization.py @@ -45,7 +45,7 @@ def _config_initialization( # Run init hook, if present, before loading plugins if "init-hook" in config_data: - exec(config_data["init-hook"]) # pylint: disable=exec-used + exec(utils._unquote(config_data["init-hook"])) # pylint: disable=exec-used # Load plugins if specified in the config file if "load-plugins" in config_data: diff --git a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out new file mode 100644 index 0000000000..21edc7ba0f --- /dev/null +++ b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out @@ -0,0 +1 @@ +I should just print diff --git a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini new file mode 100644 index 0000000000..8b10877edf --- /dev/null +++ b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini @@ -0,0 +1,4 @@ +# Check that we support quoted init-hooks +# See https://github.com/PyCQA/pylint/issues/7006 +[MAIN] +init-hook='print("I should just print")'