Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 95758e4

Browse files
committed
A parent shell's enclosing_envars should be updated by its sub-shell.
Also added enclosing_aliases.
1 parent 8768ea3 commit 95758e4

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

stash.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,7 @@ def __init__(self, app):
828828
self.retval = 0
829829

830830
self.enclosing_envars = {}
831+
self.enclosing_aliases = {}
831832

832833
self.state_stack = []
833834
self.io_stack = []
@@ -848,12 +849,14 @@ def save_state(self):
848849
dict(self.aliases),
849850
os.getcwd(),
850851
dict(self.enclosing_envars),
852+
dict(self.enclosing_aliases),
851853
sys.argv[:],
852854
sys.path[:],
853855
dict(os.environ),
854856
])
855857
# new enclosed envars
856858
self.envars.update(self.enclosing_envars)
859+
self.aliases.update(self.enclosing_aliases)
857860
self.enclosing_envars = {}
858861

859862
def restore_state(self,
@@ -873,10 +876,14 @@ def restore_state(self,
873876
self.aliases,
874877
cwd,
875878
self.enclosing_envars,
879+
self.enclosing_aliases,
876880
sys.argv,
877881
sys.path,
878882
os.environ) = self.state_stack.pop()
879883

884+
self.enclosing_envars.update(saved_envars)
885+
self.enclosing_aliases.update(saved_aliases)
886+
880887
if persist_envars:
881888
self.envars.update(saved_envars)
882889

0 commit comments

Comments
 (0)