xonsh/news/refactor-session-loading.rst

25 lines
243 B
ReStructuredText
Raw Normal View History

Refactor: make session loading explicit (#4540) * Refactor: Don't modify XSH in Execer This is not an invariant change - the __del__ method of the execer now does not unload the session. This is probably what we want - the session should be the final arbiter of when it goes out of scope, and we might need an explicit mechanism to handle this. * Refactor: make import hook Execer explicit This is ugly for now, but helps raise the global state modifications to the surface * Style: run black * Refactor: add `update_cache` to `CommandsCache` Previously a lot of internal usage of `all_commands` was for the updating side-effect. Now we make that a separate routine. * Refactor: remove args from XonshSession constructor * Refactor: move non stateful XonshSession methods to __init__ * Refactor: don't create custom class for namespace * Refactor: auto-generate set of default builtins * Refactor: set session attributes to None in constructor * Refactor: don't test hasattr for known attribute * Refactor: add methods to restore and disable Python exit * Refactor: add initial value for XSH.aliases * Refactor: don't default getattr for known attribute * Refactor: make _lastflush a closer and move to `load()` * Fix: catch $path even if empty. This shouldn't ever actually manifest itself, but whilst we're here! * Refactor: support existing usage of install_import_hooks * Style: run black * Refactor: remove unneeded import * Docs: add news item * Fix: news item * Refactor: remove unused arg * docs: fix news item * fix: no duplicate calls add helpers properties to completion-context * refactor: importing a module should not affect the session the user has to have XSH loaded before * fix: todo item for testing imphooks Co-authored-by: Noortheen Raja <jnoortheen@gmail.com>
2021-12-21 07:37:53 +00:00
**Added:**
* <news item>
**Changed:**
* Make `XSH.load` calls explicit (not in Execer)
* Make import hooks require Execer
**Deprecated:**
* <news item>
**Removed:**
* <news item>
**Fixed:**
* <news item>
**Security:**
* <news item>