From 24cb053b158a3cd63f7be05ac27f47e45bb2f1b3 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 9 Mar 2006 23:22:06 +0000 Subject: Patch #1446372: quit and exit can now be called from the interactive interpreter to exit. --- Lib/site.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Lib/site.py') diff --git a/Lib/site.py b/Lib/site.py index 2207ec59cd..3fc75377b1 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -227,12 +227,21 @@ def setquit(): """ if os.sep == ':': - exit = 'Use Cmd-Q to quit.' + eof = 'Cmd-Q' elif os.sep == '\\': - exit = 'Use Ctrl-Z plus Return to exit.' + eof = 'Ctrl-Z plus Return' else: - exit = 'Use Ctrl-D (i.e. EOF) to exit.' - __builtin__.quit = __builtin__.exit = exit + eof = 'Ctrl-D (i.e. EOF)' + + class Quitter(object): + def __init__(self, name): + self.name = name + def __repr__(self): + return 'Use %s() or %s to exit' % (self.name, eof) + def __call__(self, code=None): + raise SystemExit(code) + __builtin__.quit = Quitter('quit') + __builtin__.exit = Quitter('exit') class _Printer(object): -- cgit v1.2.1