diff --git a/packages/jpl/CMakeLists.txt b/packages/jpl/CMakeLists.txt index 9c2d194ad..5d7499eba 100644 --- a/packages/jpl/CMakeLists.txt +++ b/packages/jpl/CMakeLists.txt @@ -1,3 +1,4 @@ + #CHECK: JavaLibs set (JPL_SOURCES diff --git a/packages/jpl/src/c/CMakeLists.txt b/packages/jpl/src/c/CMakeLists.txt index 27a06621c..403c255f6 100644 --- a/packages/jpl/src/c/CMakeLists.txt +++ b/packages/jpl/src/c/CMakeLists.txt @@ -4,16 +4,25 @@ add_lib(jplYap jpl.h jpl.c hacks.h) include_directories (${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_PATH} ) + + if (APPLE) -get_filename_component ( JAVA_AWT_DIR ${JAVA_AWT_LIBRARY} DIRECTORY) -find_library (JLI jli ${JAVA_AWT_DIR}/jli) + set(CMAKE_MACOSX_RPATH 1) + get_filename_component ( JAVA_AWT_DIR ${JAVA_AWT_LIBRARY} DIRECTORY) + get_filename_component ( JAVA_JNI_DIR ${JAVA_JVM_LIBRARY} DIRECTORY) + find_library (JLI jli ${JAVA_AWT_DIR}/jli) + find_library (JAL JavaApplicationLauncher FRAMEWORK ONLY PATH /System/Library/PrivateFrameworks) + find_library (JL JavaLaunching FRAMEWORK ONLY PATH /System/Library/PrivateFrameworks) + SET(CMAKE_INSTALL_RPATH "${JAVA_AWT_DIR}/jli") + target_link_libraries(jplYap libYap ${JL} ${JAL} -L${JAVA_AWT_DIR}/jli -ljli ) +else() + target_link_libraries(jplYap libYap ${JAVA_JVM_LIBRARY}) + endif() - target_link_libraries(jplYap libYap ${JLI} ${JNI_LIBRARIES}) set_target_properties(jplYap PROPERTIES OUTPUT_NAME jpl - INSTALL_RPATH_USE_LINK_PATH TRUE ) # set(YAP_SYSTEM_OPTIONS "jpl " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) diff --git a/packages/jpl/test_jpl.pl b/packages/jpl/test_jpl.pl index 63b7be178..371c03a1a 100644 --- a/packages/jpl/test_jpl.pl +++ b/packages/jpl/test_jpl.pl @@ -1,4 +1,4 @@ -:- module(test_jpl, +f:- module(test_jpl, [ run_tests/0, run_tests/1 ]). diff --git a/packages/python/yap_kernel/yap_ipython/yapi.py b/packages/python/yap_kernel/yap_ipython/yapi.py index c941990aa..f27bf5c49 100644 --- a/packages/python/yap_kernel/yap_ipython/yapi.py +++ b/packages/python/yap_kernel/yap_ipython/yapi.py @@ -6,14 +6,14 @@ from traitlets import Bool from yap4py.yapi import * -from yap_ipython.core.completer import Completer -# import yap_ipython.core +from IPython.core.completer import Completer +# import IPython.core from traitlets import Instance -from yap_ipython.core.inputsplitter import * -from yap_ipython.core.inputtransformer import * -from yap_ipython.core.interactiveshell import * +from IPython.core.inputsplitter import * +from IPython.core.inputtransformer import * +from IPython.core.interactiveshell import * from ipython_genutils.py3compat import builtin_mod -from yap_ipython.core import interactiveshell +from IPython.core import interactiveshell from collections import namedtuple import traceback @@ -198,11 +198,11 @@ class YAPInputSplitter(InputSplitter): self.reset() def push(self, lines): - """Push one or more lines of yap_ipython input. + """Push one or more lines of IPython input. This stores the given lines and returns a status code indicating whether the code forms a complete Python block or not, after processing - all input lines for special yap_ipython syntax. + all input lines for special IPython syntax. Any exceptions generated in compilation are swallowed, but if an exception was produced, the method returns True. @@ -488,7 +488,7 @@ class YAPCompleter(Completer): If ``IPCompleter.debug`` is :any:`True` will yield a ``--jedi/ipython--`` fake Completion token to distinguish completion returned by Jedi - and usual yap_ipython completion. + and usual IPython completion. .. note:: @@ -507,7 +507,7 @@ class YAPCompleter(Completer): -class YAPRun: +class YAPRun(InteractiveShell): """An enhanced, interactive shell for YAP.""" def __init__(self, shell): @@ -602,28 +602,29 @@ class YAPRun: return self.result + def _yrun_cell(self, raw_cell, store_history=True, silent=False, - shell_futures=True): - """Run a complete IPython cell. - - Parameters - ---------- - raw_cell : str - The code (including IPython code such as - %magic functions) to run. - store_history : bool - If True, the raw and translated cell will be stored in IPython's - history. For user code calling back into - IPython's machinery, this - should be set to False. - silent : bool - If True, avoid side-effects, such as implicit displayhooks and - and logging. silent=True forces store_history=False. - shell_futures : bool - If True, the code will share future statements with the interactive - shell. It will both be affected by previous - __future__ imports, and any __future__ imports in the code - will affect the shell. If False, + shell_futures=True): + """Run a complete IPython cell. +- + Parameters + ---------- + raw_cell : str + The code (including IPython code such as + %magic functions) to run. + store_history : bool + If True, the raw and translated cell will be stored in IPython's + history. For user code calling back into + IPython's machinery, this + should be set to False. + silent : bool + If True, avoid side-effects, such as implicit displayhooks and + and logging. silent=True forces store_history=False. + shell_futures : bool + If True, the code will share future statements with the interactive + shell. It will both be affected by previous + __future__ imports, and any __future__ imports in the code + will affect the shell. If False, __future__ imports are not shared in either direction. Returns @@ -727,6 +728,7 @@ class YAPRun: self.result.result = False has_raised = False try: + builtin_mod.input = self.shell.sys_raw_input self.yapeng.mgoal(streams(True),"user", True) if cell.strip('\n \t'): #create a Trace object, telling it what to ignore, and whether to