##// END OF EJS Templates
validate ESC_PAREN ('/') is followed by a callable name and not empty (#12690)...
validate ESC_PAREN ('/') is followed by a callable name and not empty (#12690) When running a single python expression with just a slash - `/`, a tuple is returned. ```python In [1]: / Out[1]: () ``` This weird case happens because when a line starts with `/` the `inputtransformer` transforms it into a call of the first word after the `/` as the callable name and rest tokens after as arguments. This PR fixes that issue by validating that at least a callable name is given and it's not empty, if not a `SyntaxError` will be raised. ```python In [1]: / File "<ipython-input-1-8f27084b6294>", line 1 / ^ SyntaxError: invalid syntax In [2]: ``` Validated that tests are passing.

File last commit:

r27288:33f5b346
r28936:b65cf89c merge
Show More
getipython.py
24 lines | 912 B | text/x-python | PythonLexer
# encoding: utf-8
"""Simple function to call to get the current InteractiveShell instance
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
def get_ipython():
"""Get the global InteractiveShell instance.
Returns None if no InteractiveShell instance is registered.
"""
from IPython.core.interactiveshell import InteractiveShell
if InteractiveShell.initialized():
return InteractiveShell.instance()