Show More
@@ -6,7 +6,7 b' Requires Python 2.3 or newer.' | |||||
6 |
|
6 | |||
7 | This file contains all the classes and helper functions specific to IPython. |
|
7 | This file contains all the classes and helper functions specific to IPython. | |
8 |
|
8 | |||
9 |
$Id: iplib.py 1 |
|
9 | $Id: iplib.py 1102 2006-01-30 06:08:16Z fperez $ | |
10 | """ |
|
10 | """ | |
11 |
|
11 | |||
12 | #***************************************************************************** |
|
12 | #***************************************************************************** | |
@@ -1454,49 +1454,44 b' want to merge them back into the new files.""" % locals()' | |||||
1454 | # exit_now is set by a call to %Exit or %Quit |
|
1454 | # exit_now is set by a call to %Exit or %Quit | |
1455 | self.exit_now = False |
|
1455 | self.exit_now = False | |
1456 | while not self.exit_now: |
|
1456 | while not self.exit_now: | |
1457 |
|
1457 | if more: | ||
|
1458 | prompt = self.outputcache.prompt2 | |||
|
1459 | if self.autoindent: | |||
|
1460 | self.readline_startup_hook(self.pre_readline) | |||
|
1461 | else: | |||
|
1462 | prompt = self.outputcache.prompt1 | |||
1458 | try: |
|
1463 | try: | |
1459 | if more: |
|
1464 | line = self.raw_input(prompt,more) | |
1460 | prompt = self.outputcache.prompt2 |
|
1465 | if self.autoindent: | |
1461 |
|
|
1466 | self.readline_startup_hook(None) | |
1462 | self.readline_startup_hook(self.pre_readline) |
|
|||
1463 | else: |
|
|||
1464 | prompt = self.outputcache.prompt1 |
|
|||
1465 | try: |
|
|||
1466 | line = self.raw_input(prompt,more) |
|
|||
1467 | if self.autoindent: |
|
|||
1468 | self.readline_startup_hook(None) |
|
|||
1469 | except EOFError: |
|
|||
1470 | if self.autoindent: |
|
|||
1471 | self.readline_startup_hook(None) |
|
|||
1472 | self.write("\n") |
|
|||
1473 | self.exit() |
|
|||
1474 | except: |
|
|||
1475 | # exceptions here are VERY RARE, but they can be triggered |
|
|||
1476 | # asynchronously by signal handlers, for example. |
|
|||
1477 | self.showtraceback() |
|
|||
1478 | else: |
|
|||
1479 | more = self.push(line) |
|
|||
1480 |
|
||||
1481 | if (self.SyntaxTB.last_syntax_error and |
|
|||
1482 | self.rc.autoedit_syntax): |
|
|||
1483 | self.edit_syntax_error() |
|
|||
1484 |
|
||||
1485 | except KeyboardInterrupt: |
|
1467 | except KeyboardInterrupt: | |
1486 |
self.write( |
|
1468 | self.write('\nKeyboardInterrupt\n') | |
1487 | self.resetbuffer() |
|
1469 | self.resetbuffer() | |
1488 | more = 0 |
|
|||
1489 | # keep cache in sync with the prompt counter: |
|
1470 | # keep cache in sync with the prompt counter: | |
1490 | self.outputcache.prompt_count -= 1 |
|
1471 | self.outputcache.prompt_count -= 1 | |
1491 |
|
1472 | |||
1492 | if self.autoindent: |
|
1473 | if self.autoindent: | |
1493 | self.indent_current_nsp = 0 |
|
1474 | self.indent_current_nsp = 0 | |
1494 |
|
1475 | more = 0 | ||
|
1476 | except EOFError: | |||
|
1477 | if self.autoindent: | |||
|
1478 | self.readline_startup_hook(None) | |||
|
1479 | self.write('\n') | |||
|
1480 | self.exit() | |||
1495 | except bdb.BdbQuit: |
|
1481 | except bdb.BdbQuit: | |
1496 |
warn( |
|
1482 | warn('The Python debugger has exited with a BdbQuit exception.\n' | |
1497 |
|
|
1483 | 'Because of how pdb handles the stack, it is impossible\n' | |
1498 |
|
|
1484 | 'for IPython to properly format this particular exception.\n' | |
1499 |
|
|
1485 | 'IPython will resume normal operation.') | |
|
1486 | except: | |||
|
1487 | # exceptions here are VERY RARE, but they can be triggered | |||
|
1488 | # asynchronously by signal handlers, for example. | |||
|
1489 | self.showtraceback() | |||
|
1490 | else: | |||
|
1491 | more = self.push(line) | |||
|
1492 | if (self.SyntaxTB.last_syntax_error and | |||
|
1493 | self.rc.autoedit_syntax): | |||
|
1494 | self.edit_syntax_error() | |||
1500 |
|
1495 | |||
1501 | # We are off again... |
|
1496 | # We are off again... | |
1502 | __builtin__.__dict__['__IPYTHON__active'] -= 1 |
|
1497 | __builtin__.__dict__['__IPYTHON__active'] -= 1 | |
@@ -1762,6 +1757,7 b' want to merge them back into the new files.""" % locals()' | |||||
1762 | """ |
|
1757 | """ | |
1763 |
|
1758 | |||
1764 | line = raw_input_original(prompt) |
|
1759 | line = raw_input_original(prompt) | |
|
1760 | ||||
1765 | # Try to be reasonably smart about not re-indenting pasted input more |
|
1761 | # Try to be reasonably smart about not re-indenting pasted input more | |
1766 | # than necessary. We do this by trimming out the auto-indent initial |
|
1762 | # than necessary. We do this by trimming out the auto-indent initial | |
1767 | # spaces, if the user's actual input started itself with whitespace. |
|
1763 | # spaces, if the user's actual input started itself with whitespace. |
@@ -1,3 +1,9 b'' | |||||
|
1 | 2006-01-29 Fernando Perez <Fernando.Perez@colorado.edu> | |||
|
2 | ||||
|
3 | * IPython/iplib.py (interact): Fix that we were not catching | |||
|
4 | KeyboardInterrupt exceptions properly. I'm not quite sure why the | |||
|
5 | logic here had to change, but it's fixed now. | |||
|
6 | ||||
1 | 2006-01-29 Ville Vainio <vivainio@gmail.com> |
|
7 | 2006-01-29 Ville Vainio <vivainio@gmail.com> | |
2 |
|
8 | |||
3 | * iplib.py: Try to import pyreadline on Windows. |
|
9 | * iplib.py: Try to import pyreadline on Windows. |
General Comments 0
You need to be logged in to leave comments.
Login now