Sat, 08 Aug 2015 16:13:27 -0700 demandimport: support lazy loading for absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 16:13:27 -0700] rev 25937
demandimport: support lazy loading for absolute_import Before, we didn't support lazy loading if absolute_import was in effect and a fromlist was used. This meant that "from . import X" wasn't lazy and performance could suffer as a result. With this patch, we now support lazy loading for this scenario. As part of developing this, I discovered issues when module names are defined. Since the enforced import style only allows "from X import Y" or "from .X import Y" in very few scenarios when absolute_import is enabled - scenarios where Y is not a module and thus there is nothing to lazy load - I decided to drop support for this case instead of chasing down the errors. I don't think much harm will come from this. But I'd like to take another look once all modules are using absolute_import and I can see the full extent of what is using names in absolute_import mode.
Sat, 08 Aug 2015 17:07:34 -0700 demandimport: support keyword arguments on _hgextimport
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 17:07:34 -0700] rev 25936
demandimport: support keyword arguments on _hgextimport __import__ supports keyword arguments since Python 2.5. This proxy should too. An upcoming patch will use this feature.
Sat, 08 Aug 2015 16:24:57 -0700 demandimport: refactor logic and add documentation
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 16:24:57 -0700] rev 25935
demandimport: refactor logic and add documentation demandimport doesn't currently support absolute imports (level >= 0). In preparation for this, we add some documentation and a code branch to handle the absolute_import case.
Sat, 08 Aug 2015 17:12:37 -0700 demandimport: add __future__ to ignore list
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 17:12:37 -0700] rev 25934
demandimport: add __future__ to ignore list __future__ is special. We should definitely not be trying to lazy load it.
Sat, 08 Aug 2015 15:01:27 -0700 demandimport: remove support for Python < 2.5
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 15:01:27 -0700] rev 25933
demandimport: remove support for Python < 2.5 The removed code was to support an __import__ function that doesn't support the "level" argument. This argument was added in Python 2.5, which we no longer support.
Sat, 08 Aug 2015 14:42:48 -0700 dispatch: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Aug 2015 14:42:48 -0700] rev 25932
dispatch: use absolute_import A mixed, ambiguous import has been removed!
(0) -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 tip