Show More
@@ -319,6 +319,9 b' class DisplayHook(Configurable):' | |||||
319 | except: pass |
|
319 | except: pass | |
320 | self.shell.user_ns['_oh'].clear() |
|
320 | self.shell.user_ns['_oh'].clear() | |
321 |
|
321 | |||
|
322 | # Release our own references to objects: | |||
|
323 | self._, self.__, self.___ = '', '', '' | |||
|
324 | ||||
322 | if '_' not in __builtin__.__dict__: |
|
325 | if '_' not in __builtin__.__dict__: | |
323 | self.shell.user_ns.update({'_':None,'__':None, '___':None}) |
|
326 | self.shell.user_ns.update({'_':None,'__':None, '___':None}) | |
324 | import gc |
|
327 | import gc |
@@ -1044,6 +1044,9 b' class InteractiveShell(Configurable, Magic):' | |||||
1044 | """ |
|
1044 | """ | |
1045 | # Clear histories |
|
1045 | # Clear histories | |
1046 | self.history_manager.reset(new_session) |
|
1046 | self.history_manager.reset(new_session) | |
|
1047 | ||||
|
1048 | # Flush cached output items | |||
|
1049 | self.displayhook.flush() | |||
1047 |
|
1050 | |||
1048 | # Reset counter used to index all histories |
|
1051 | # Reset counter used to index all histories | |
1049 | self.execution_count = 0 |
|
1052 | self.execution_count = 0 | |
@@ -1068,6 +1071,10 b' class InteractiveShell(Configurable, Magic):' | |||||
1068 | # Restore the default and user aliases |
|
1071 | # Restore the default and user aliases | |
1069 | self.alias_manager.clear_aliases() |
|
1072 | self.alias_manager.clear_aliases() | |
1070 | self.alias_manager.init_aliases() |
|
1073 | self.alias_manager.init_aliases() | |
|
1074 | ||||
|
1075 | # Flush the private list of module references kept for script | |||
|
1076 | # execution protection | |||
|
1077 | self.clear_main_mod_cache() | |||
1071 |
|
1078 | |||
1072 | def reset_selective(self, regex=None): |
|
1079 | def reset_selective(self, regex=None): | |
1073 | """Clear selective variables from internal namespaces based on a |
|
1080 | """Clear selective variables from internal namespaces based on a |
@@ -967,12 +967,15 b' Currently the magic system has the following functions:\\n"""' | |||||
967 | def magic_reset(self, parameter_s=''): |
|
967 | def magic_reset(self, parameter_s=''): | |
968 | """Resets the namespace by removing all names defined by the user. |
|
968 | """Resets the namespace by removing all names defined by the user. | |
969 |
|
969 | |||
970 | Input/Output history are left around in case you need them. |
|
|||
971 |
|
||||
972 | Parameters |
|
970 | Parameters | |
973 | ---------- |
|
971 | ---------- | |
974 | -f : force reset without asking for confirmation. |
|
972 | -f : force reset without asking for confirmation. | |
975 |
|
973 | |||
|
974 | -h : 'Hard' reset: gives you a new session and removes all | |||
|
975 | references to objects from the current session. By default, we | |||
|
976 | do a 'soft' reset, which only clears out your namespace, and | |||
|
977 | leaves input and output history around. | |||
|
978 | ||||
976 | Examples |
|
979 | Examples | |
977 | -------- |
|
980 | -------- | |
978 | In [6]: a = 1 |
|
981 | In [6]: a = 1 | |
@@ -988,8 +991,8 b' Currently the magic system has the following functions:\\n"""' | |||||
988 | In [10]: 'a' in _ip.user_ns |
|
991 | In [10]: 'a' in _ip.user_ns | |
989 | Out[10]: False |
|
992 | Out[10]: False | |
990 | """ |
|
993 | """ | |
991 |
|
994 | opts, args = self.parse_options(parameter_s,'fh') | ||
992 | if parameter_s == '-f': |
|
995 | if 'f' in opts: | |
993 | ans = True |
|
996 | ans = True | |
994 | else: |
|
997 | else: | |
995 | ans = self.shell.ask_yes_no( |
|
998 | ans = self.shell.ask_yes_no( | |
@@ -997,13 +1000,14 b' Currently the magic system has the following functions:\\n"""' | |||||
997 | if not ans: |
|
1000 | if not ans: | |
998 | print 'Nothing done.' |
|
1001 | print 'Nothing done.' | |
999 | return |
|
1002 | return | |
1000 | user_ns = self.shell.user_ns |
|
|||
1001 | for i in self.magic_who_ls(): |
|
|||
1002 | del(user_ns[i]) |
|
|||
1003 |
|
1003 | |||
1004 | # Also flush the private list of module references kept for script |
|
1004 | if 'h' in opts: # Hard reset | |
1005 | # execution protection |
|
1005 | self.shell.reset(new_session = True) | |
1006 | self.shell.clear_main_mod_cache() |
|
1006 | ||
|
1007 | else: # Soft reset | |||
|
1008 | user_ns = self.shell.user_ns | |||
|
1009 | for i in self.magic_who_ls(): | |||
|
1010 | del(user_ns[i]) | |||
1007 |
|
1011 | |||
1008 | def magic_reset_selective(self, parameter_s=''): |
|
1012 | def magic_reset_selective(self, parameter_s=''): | |
1009 | """Resets the namespace by removing names defined by the user. |
|
1013 | """Resets the namespace by removing names defined by the user. |
General Comments 0
You need to be logged in to leave comments.
Login now