* First attempt at register/deregister machinery for envvars
* Added detailed docstring, simplified ensurers
Also added some type checking that became clear from docstring writing.
* Changes in response to @scopatz review
Simplified kwarg names.
* defaultval -> default
* Created new Var namedtuple, as well as DEFAULT_VARS
We should now delete DEFAULT_ENSURERS, DEFAULT_VALUES, DEFAULT_DOCS, and
refactor Env to use the new single namedtuple and the DEFAULT_VARS dict
* Removed DEFAULT_ENSURERS, DEFAULT_VALUES, DEFAULT_DOCS
Now need to edit Env to use new DEFAULT_VARS, Var namedtuple
* Finished updating Env object to use new combined Var
Also made corresponding changes elsewhere ensurer was used
* Working on test failures
* More fixes in light of test failures
* Set default values for Var in register.
There's a bit of duplication here, but makes for a cleaner function.
* Black reformatting on environ.py
* Removed history replay
* Added register tests
* Added addtional deregistration test
* Removed all replay references, in docs too
* Added news item for env-reg-dereg
* trigger rebuild
* doc fix
* more doc fixes
* again
* attr names
* reorder imports
* fix flake error
Co-authored-by: Anthony Scopatz <scopatz@gmail.com>
There now should not be any remaining 3,5 conditinal code.
We now directly use inspect's getouterframes, so remove it from
inspector
The 3.5 parser get merged into 3.6 and a number of global vaiable
referring to 3.5/3.6 are now gone.
The only remaining mention is appveyor test, which are anyway failing
but not being seen as so by GitHub, so I'll leave them alone.
Due to $HISTCONTROL setting some history entries may not be always
flushed to the file and the on-disk history may actually be shorter
than it was in the in-memory buffer. This patch fixes the indexing
error occuring under such condition.
Currently Xonsh passes a resolved path of an executable as argv[0]
argument. This changes the argv[0] to containd the command as
inserted by the user. The new behavior is consistent with bash and
other shells. Some programs behave differently in dependence of the
argv[0] value.
See #3617 for details.