##// END OF EJS Templates
Add nice exit/quit message to the exit functions.
fperez -
Show More
@@ -6,7 +6,7 b' Requires Python 2.3 or newer.'
6 6
7 7 This file contains all the classes and helper functions specific to IPython.
8 8
9 $Id: iplib.py 1787 2006-09-27 06:56:29Z fperez $
9 $Id: iplib.py 1788 2006-09-27 07:15:44Z fperez $
10 10 """
11 11
12 12 #*****************************************************************************
@@ -126,6 +126,23 b' class Bunch: pass'
126 126
127 127 class Undefined: pass
128 128
129 class Quitter(object):
130 """Simple class to handle exit, similar to Python 2.5's.
131
132 It handles exiting in an ipython-safe manner, which the one in Python 2.5
133 doesn't do (obviously, since it doesn't know about ipython)."""
134
135 def __init__(self,shell,name):
136 self.shell = shell
137 self.name = name
138
139 def __repr__(self):
140 return 'Type %s() to exit.' % self.name
141 __str__ = __repr__
142
143 def __call__(self):
144 self.shell.exit()
145
129 146 class InputList(list):
130 147 """Class to store user input.
131 148
@@ -220,10 +237,9 b' class InteractiveShell(object,Magic):'
220 237 self.filename = '<ipython console>'
221 238
222 239 # Install our own quitter instead of the builtins. For python2.3-2.4,
223 # this brings in behavior more like 2.5, and for 2.5 it's almost
224 # identical to Python's official behavior (except we lack the message,
225 # but with autocall the need for that is much less).
226 __builtin__.exit = __builtin__.quit = self.exit
240 # this brings in behavior like 2.5, and for 2.5 it's identical.
241 __builtin__.exit = Quitter(self,'exit')
242 __builtin__.quit = Quitter(self,'quit')
227 243
228 244 # Make an empty namespace, which extension writers can rely on both
229 245 # existing and NEVER being used by ipython itself. This gives them a
General Comments 0
You need to be logged in to leave comments. Login now