vfsward: register 'write with no lock' warnings as 'check-locks' config
Update 'write with no lock' warnings in order to be better controlled by the
config. We reuse the option used for lock order for these other lock related
message.
The message can now be disabled using 'devel.check-locks = no' (in addition to
the usual 'devel.all-warnings = no').
demandimport: prefer loaded module over package attribute (
issue5617)
In general, the attribute of the same name is overwritten by executing an
import statement.
import a.b
print(a.b.c) # 'c' of a/b/__init__.py
from a.b.c import d
print(a.b.c) # a/b/c.py
However, this appears not true for the scenario described in the test case,
and surprisingly, "from a.b.c import d" works even if "a.b.c" is not a module.
This patch works around the problem by taking the right module from sys.modules
if available.
demandimport: drop hack for old Pythons which had no level argument
_import() was added by
868282fa29d8, but it is identical to _origimport()
now.
color: drop the now useless color extension
all the extension features are provided by core since 4.2.
extensions: expand the builtins extensions declaration
This will future updates of the set cleaner and more readable.