Index: pydoc.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/pydoc.py,v retrieving revision 1.81 diff -u -r1.81 pydoc.py --- pydoc.py 30 Mar 2003 20:31:34 -0000 1.81 +++ pydoc.py 23 Apr 2003 11:45:31 -0000 @@ -1550,16 +1550,22 @@ def interact(self): self.output.write('\n') while True: - self.output.write('help> ') - self.output.flush() try: - request = self.input.readline() - if not request: break - except KeyboardInterrupt: break + request = self.getline('help> ') + except EOFError: break request = strip(replace(request, '"', '', "'", '')) if lower(request) in ['q', 'quit']: break self.help(request) + def getline(self, prompt): + self.output.write('help> ') + self.output.flush() + try: + request = self.input.readline() + except KeyboardInterrupt: request = "" + if not request: raise EOFError + return request + def help(self, request): if type(request) is type(''): if request == 'help': self.intro() @@ -1690,7 +1696,17 @@ for modules whose descriptions contain the word "spam". ''') -help = Helper(sys.stdin, sys.stdout) +class ConsoleHelper(Helper): + def __init__(self): + Helper.__init__(self, sys.stdin, sys.stdout) + + def getline(self, prompt): + try: + request = raw_input(prompt) + except KeyboardInterrupt: raise EOFError + return request + +help = ConsoleHelper() class Scanner: """A generic tree iterator."""