Permalink
Commits on Oct 19, 2011
  1. inputhookqt4: use InteractiveShell.instance instead of get_ipython

    The latter is meant for user code only.
    committed Oct 19, 2011
Commits on Oct 11, 2011
  1. inputhook: move the new CTRL+C handling logic to this level

    The inputhookqt4 module now only contains a simple, straightforward
    inputhook_qt4 input hook doing only Qt4 event processing in short
    batches (#481).
    
    The logic to handle CTRL+C is now entirely done at the level of the
    InputHookManager, where a new set_safe_inputhook() method can be used
    to install a hook which will automatically benefit of the two-step
    CTRL+C handling (first for interrupting the event loop and suspending
    the input hook, second for returning to the prompt, at which point the
    input hook is restored). This should help to address issues #122 and
    catch KeyboardInterrupt and has to be installed using
    set_safe_inputhook).
    
    Some extra care is taken on Unix where we want to make sure no
    KeyboardInterrupt is raised upon entering the Python callback (e.g. in
    readline.c, if a KeyboardInterrupt is received during a select(), the
    PyOS_InputHook is executed directly afterward and if it's a ctypes
    Python callback the exception will be raised immediately on entering
    the function, even before an initial `try:` could be executed).
    committed Oct 11, 2011
  2. inputhook: disable CTRL+C when a hook is active.

    On systems with 'readline', it's very likely to intercept a signal
    during a select() call. The default SIGINT handler will schedule a
    KeyboardInterrupt exception to be raised as soon as possible. If
    ctypes is used to install a Python callback for PyOS_InputHook, this
    will happen as soon as the bytecode execution starts, so even if the
    first instruction of the callback is a
    `try: ... except KeyboardInterrupt` clause, it's actually too late.
    
    As ctypes doesn't allow a Python callback to raise an exception, this
    ends up with IPython detecting an internal error... not pretty.  We
    must therefore ignore the SIGINT signals until we are sure the
    exception handler is active, in the Python callback.
    committed Oct 11, 2011
Commits on Oct 10, 2011
  1. inputhookqt4: polish the qt4 related hooks

     - make sure we don't install more than one 'pre_prompt_hook'
       for a given ipapi instance
     - clarify the internal documentation and move it from comments
       into docstrings
    committed Oct 10, 2011
Commits on Oct 9, 2011
  1. inputhook: further cleanups for stdin_ready()

     - split stdin_ready() in 3 platform specific functions and choose
       the appropriate one at import time
     - add docstrings for each of these
    committed Oct 9, 2011
  2. inputhook_qt4: handle KeyboardInterrupt in a way compatible with 'rea…

    …dline'.
    
    While the previous code works fine on Windows, on Linux with
    'readline' the situation is different: once we disable the Qt4 event
    loop, we go back waiting in the select() inside readline.c's
    readline_until_enter_or_signal() function. When that select() is
    interrupted, the PyOS_InputHook is executed if present and the pending
    KeyboardInterrupt is delivered as soon as bytecode execution starts,
    even before entering the `try:` clause! As at that point we're in a
    ctypes callback, this will lead to an internal error. The only
    solution is therefore to disable the PyOS_InputHook temporarily.
    committed Oct 9, 2011
  3. inputhook: improve CTRL+C handling with qt4

    Allow a first CTRL+C to interrupt the qt4 event loop
    and a second to trigger a KeyboardInterrupt.
    committed Sep 23, 2011
  4. inputhook: make PyQt4 plays nicer with pyreadline

    PyQt4's own input hook is not really appropriate when PyReadline is active
    (and possibly other readline packages running the PyOS_InputHook repeatedly).
    Arguably this should be fixed in PyQt4 itself, but in the meantime we can
    install a local hook which does the Qt event loop processing in a less
    aggressive way.
    committed Sep 22, 2011
  5. inputhook: improve stdin_ready()

     - move select and msvcrt imports in the function itself
       as they're only needed there
     - switch on os.name for platform dependent code
     - for unknow platforms, assume there's something to read
    committed Sep 21, 2011
  6. inputhook: make stdin_ready() function reusable

    Move it from lib.inputhookwx to lib.inputhook, as the former
    module can only be loaded if wx itself is available.
    committed Sep 21, 2011
  7. catch ConfigFileNotFound where appropriate

    a few IOError catches were not updated in earlier commit 200a760
    minrk committed Oct 9, 2011
  8. Merge pull request #802 from pv/enh/extension-docs

    Lists the extensions that are bundled with IPython in our docs.
    fperez committed Oct 9, 2011
Commits on Oct 8, 2011
  1. Merge pull request #830 from minrk/stream

    Several improvements to stdout/stderr handling and visual layout of cells.
    
    Now stdout and stderr are kept contiguous (in a single div) if they are being written to continuously, and stderr is shown with a light red background to help distinguish from stdout.
    
    Further, input cells now have a light gray background to help distinguish them from plain stdout areas.
    fperez committed Oct 8, 2011
  2. avoid interpreting IOError in config file as file-not-found

    adds ConfigFileNotFound exception class for this case
    minrk committed Oct 8, 2011
  3. fix Input prompt/code alignment

    with note for future reference
    minrk committed Oct 8, 2011
  4. round corner and light bg on code areas

    minrk committed Oct 8, 2011
  5. Merge pull request #801 from takluyver/py3-notebook

    Gets the notebook working under Python3.
    fperez committed Oct 8, 2011
  6. Merge pull request #809 from minrk/osxkernel

    use CFRunLoop directly in `ipython kernel --pylab osx`
    minrk committed Oct 8, 2011
  7. small CSS adjustments in notebook

    * add think border around input area
    * change background instead of foreground on stderr
    * only stderr/stdout are output_stream, general text (including streams) is output_text
    * reduce vertical padding on stream output, per @fperez
    minrk committed Oct 7, 2011
Commits on Oct 7, 2011
  1. Merge pull request #841 from ivanov/scipy-links

    updated old scipy.org links, other minor doc fixes
    
    Also removed references to the defunct separate py3k repo, as per the recent mailing list thread.
    fperez committed Oct 7, 2011
  2. minor doc fixes

    ivanov committed Oct 7, 2011
Commits on Oct 6, 2011
Commits on Oct 4, 2011
  1. Merge branch 'trailling'

    takluyver committed Oct 4, 2011
  2. Lowercase SQL 'insert' for Turkish locale

    Python issue 13099 means that we can't get the last row ID after a capitalised
    'INSERT' to an sqlite3 database, if the locale is set to Turkish. This should
    be fixed in Python 2.7.3 and 3.2.3, but in the meantime, lowercase insert
    should be fine.
    takluyver committed Oct 4, 2011