Merge ssh://ssh.dcc.fc.up.pt:31064/home/vsc/github/yap-6.3
This commit is contained in:
commit
24d895d100
26
C/absmi.c
26
C/absmi.c
@ -917,7 +917,8 @@ static int interrupt_dexecute(USES_REGS1) {
|
||||
static void undef_goal(USES_REGS1) {
|
||||
PredEntry *pe = PredFromDefCode(P);
|
||||
CELL *b;
|
||||
|
||||
CELL *b0;
|
||||
|
||||
BEGD(d0);
|
||||
/* avoid trouble with undefined dynamic procedures */
|
||||
/* I assume they were not locked beforehand */
|
||||
@ -955,14 +956,23 @@ static void undef_goal(USES_REGS1) {
|
||||
PP = NULL;
|
||||
#endif
|
||||
d0 = pe->ArityOfPE;
|
||||
if (pe->ModuleOfPred == PROLOG_MODULE) {
|
||||
if (CurrentModule == PROLOG_MODULE)
|
||||
HR[0] = MkAtomTerm(Yap_LookupAtom("prolog"));
|
||||
else
|
||||
HR[0] = CurrentModule;
|
||||
} else {
|
||||
HR[0] = Yap_Module_Name(pe);
|
||||
b = HR;
|
||||
HR += 2;
|
||||
}
|
||||
b = b0 = HR;
|
||||
HR += 2;
|
||||
if (d0 == 0) {
|
||||
b[1] = MkAtomTerm((Atom)(pe->FunctorOfPred));
|
||||
} else {
|
||||
b[1] = AbsAppl(HR);
|
||||
b[1] = AbsAppl(b+2);
|
||||
*HR++ = (CELL)pe->FunctorOfPred;
|
||||
b += 3;
|
||||
HR += d0;
|
||||
BEGP(pt1);
|
||||
pt1 = XREGS + 1;
|
||||
for (; d0 > 0; --d0) {
|
||||
@ -973,13 +983,13 @@ static void undef_goal(USES_REGS1) {
|
||||
deref_head(d1, undef_unk);
|
||||
undef_nonvar:
|
||||
/* just copy it to the heap */
|
||||
*HR++ = d1;
|
||||
*b++ = d1;
|
||||
continue;
|
||||
|
||||
derefa_body(d1, pt0, undef_unk, undef_nonvar);
|
||||
if (pt0 <= HR) {
|
||||
/* variable is safe */
|
||||
*HR++ = (CELL)pt0;
|
||||
*b++ = (CELL)pt0;
|
||||
} else {
|
||||
/* bind it, in case it is a local variable */
|
||||
d1 = Unsigned(HR);
|
||||
@ -993,8 +1003,8 @@ static void undef_goal(USES_REGS1) {
|
||||
ENDP(pt1);
|
||||
}
|
||||
ENDD(d0);
|
||||
ARG2 = Yap_getUnknownModule(Yap_GetModuleEntry(b[0]));
|
||||
ARG1 = AbsPair(b);
|
||||
ARG1 = AbsPair(b0);
|
||||
ARG2 = Yap_getUnknownModule(Yap_GetModuleEntry(b0[0]));
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
if (Yap_do_low_level_trace)
|
||||
low_level_trace(enter_pred, UndefCode, XREGS + 1);
|
||||
|
34
C/exec.c
34
C/exec.c
@ -269,7 +269,7 @@ static bool CommaCall(Term t, Term mod) {
|
||||
}
|
||||
|
||||
inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
Term t0 = t;
|
||||
Term t0 = t, mod0 = mod;
|
||||
t = Yap_YapStripModule(t, &mod);
|
||||
/* first do predicate expansion, even before you process signals.
|
||||
This way you don't get to spy goal_expansion(). */
|
||||
@ -278,7 +278,7 @@ inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
return EnterCreepMode(t, mod PASS_REGS);
|
||||
}
|
||||
if (IsVarTerm(t) || IsVarTerm(mod)) {
|
||||
return CallError(INSTANTIATION_ERROR, t0, mod PASS_REGS);
|
||||
return CallError(INSTANTIATION_ERROR, t0, mod0 PASS_REGS);
|
||||
}
|
||||
if (IsApplTerm(t)) {
|
||||
register Functor f = FunctorOfTerm(t);
|
||||
@ -290,9 +290,9 @@ inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
if (f == FunctorComma && false) {
|
||||
Term t2 = ArgOfTerm(2, t);
|
||||
if (IsVarTerm(t2))
|
||||
return CallMetaCall(t, mod PASS_REGS);
|
||||
return CallMetaCall(t0, mod0 PASS_REGS);
|
||||
if (1 || !CommaCall(t2, mod))
|
||||
return CallMetaCall(t, mod PASS_REGS);
|
||||
return CallMetaCall(t0, mod0 PASS_REGS);
|
||||
Term t1 = ArgOfTerm(1, t);
|
||||
|
||||
t = t1;
|
||||
@ -301,11 +301,11 @@ inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
return do_execute(t, mod);
|
||||
}
|
||||
} else if (IsExtensionFunctor(f)) {
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_CALLABLE, t0, mod0 PASS_REGS);
|
||||
}
|
||||
arity = ArityOfFunctor(f);
|
||||
if (arity > MaxTemps) {
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_CALLABLE, t0, mod0 PASS_REGS);
|
||||
}
|
||||
pen = RepPredProp(PredPropByFunc(f, mod));
|
||||
/* You thought we would be over by now */
|
||||
@ -315,7 +315,7 @@ inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
otherwise I would dereference the argument and
|
||||
might skip a svar */
|
||||
if (pen->PredFlags & (MetaPredFlag | UndefPredFlag)) {
|
||||
return CallMetaCall(t, mod PASS_REGS);
|
||||
return CallMetaCall(t0, mod0 PASS_REGS);
|
||||
}
|
||||
pt = RepAppl(t) + 1;
|
||||
for (i = 1; i <= arity; i++) {
|
||||
@ -346,7 +346,7 @@ inline static bool do_execute(Term t, Term mod USES_REGS) {
|
||||
pe = RepPredProp(PredPropByAtom(a, mod));
|
||||
return (CallPredicate(pe, B, pe->CodeOfPred PASS_REGS));
|
||||
}
|
||||
return CallMetaCall(t, mod PASS_REGS);
|
||||
return CallMetaCall(t0, mod0 PASS_REGS);
|
||||
}
|
||||
|
||||
static Term copy_execn_to_heap(Functor f, CELL *pt, unsigned int n,
|
||||
@ -390,17 +390,17 @@ inline static bool do_execute_n(Term t, Term mod, unsigned int n USES_REGS) {
|
||||
PredEntry *pen;
|
||||
unsigned int i, arity;
|
||||
int j = -n;
|
||||
Term t0 = t;
|
||||
Term t0 = t, mod0 = mod;
|
||||
|
||||
restart_exec:
|
||||
if (IsVarTerm(t)) {
|
||||
return CallError(INSTANTIATION_ERROR, t0, mod PASS_REGS);
|
||||
return CallError(INSTANTIATION_ERROR, t0, mod0 PASS_REGS);
|
||||
} else if (IsAtomTerm(t)) {
|
||||
arity = n;
|
||||
Name = AtomOfTerm(t);
|
||||
pt = NULL;
|
||||
} else if (IsIntTerm(t)) {
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod0 PASS_REGS);
|
||||
} else if (IsPairTerm(t)) {
|
||||
arity = n + 2;
|
||||
pt = RepPair(t);
|
||||
@ -415,9 +415,9 @@ restart_exec:
|
||||
goto restart_exec;
|
||||
} else {
|
||||
if (IsVarTerm(tmod)) {
|
||||
return CallError(INSTANTIATION_ERROR, t0, tmod PASS_REGS);
|
||||
return CallError(INSTANTIATION_ERROR, t0, mod0 PASS_REGS);
|
||||
} else {
|
||||
return CallError(TYPE_ERROR_ATOM, t0, tmod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_ATOM, t0, mod0 PASS_REGS);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -427,7 +427,7 @@ restart_exec:
|
||||
}
|
||||
f = Yap_MkFunctor(Name, arity);
|
||||
if (IsExtensionFunctor(f)) {
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_CALLABLE, t0, mod0 PASS_REGS);
|
||||
}
|
||||
if (Yap_has_a_signal() && !LOCAL_InterruptsDisabled) {
|
||||
return EnterCreepMode(
|
||||
@ -435,14 +435,14 @@ restart_exec:
|
||||
mod PASS_REGS);
|
||||
}
|
||||
if (arity > MaxTemps) {
|
||||
return CallError(TYPE_ERROR_CALLABLE, t, mod PASS_REGS);
|
||||
return CallError(TYPE_ERROR_CALLABLE, t0, mod0 PASS_REGS);
|
||||
}
|
||||
pen = RepPredProp(PredPropByFunc(f, mod));
|
||||
/* You thought we would be over by now */
|
||||
/* but no meta calls require special preprocessing */
|
||||
if (pen->PredFlags & (MetaPredFlag | UndefPredFlag)) {
|
||||
Term t = copy_execn_to_heap(f, pt, n, arity, mod PASS_REGS);
|
||||
return (CallMetaCall(t, mod PASS_REGS));
|
||||
// Term t = copy_execn_to_heap(f, pt, n, arity, mod PASS_REGS);
|
||||
return (CallMetaCall(t0, mod0 PASS_REGS));
|
||||
}
|
||||
/* now let us do what we wanted to do from the beginning !! */
|
||||
/* I cannot use the standard macro here because
|
||||
|
19
os/charsio.c
19
os/charsio.c
@ -77,7 +77,6 @@ static Int put_code(USES_REGS1);
|
||||
static Int put_byte(USES_REGS1);
|
||||
static Int skip(USES_REGS1);
|
||||
static Int flush_output(USES_REGS1);
|
||||
static Int flush_all_streams(USES_REGS1);
|
||||
|
||||
/**
|
||||
* CharOfAtom: convert an atom into a single character.
|
||||
@ -96,7 +95,7 @@ INLINE_ONLY inline EXTERN Int CharOfAtom(Atom at) {
|
||||
int Yap_peekWideWithGetwc(int sno) {
|
||||
StreamDesc *s;
|
||||
s = GLOBAL_Stream + sno;
|
||||
int ch = getwc(s->file);
|
||||
int ch = fgetwc(s->file);
|
||||
ungetwc(ch, s->file);
|
||||
return ch;
|
||||
}
|
||||
@ -104,7 +103,7 @@ int Yap_peekWideWithGetwc(int sno) {
|
||||
int Yap_peekWithGetc(int sno) {
|
||||
StreamDesc *s;
|
||||
s = GLOBAL_Stream + sno;
|
||||
int ch = getc(s->file);
|
||||
int ch = fgetc(s->file);
|
||||
ungetc(ch, s->file);
|
||||
return ch;
|
||||
}
|
||||
@ -181,9 +180,13 @@ int Yap_peekWide(int sno) {
|
||||
s->charcount = pos;
|
||||
s->linecount = line;
|
||||
s->linepos = lpos;
|
||||
s->stream_wgetc = Yap_popChar;
|
||||
s->stream_getc = NULL;
|
||||
s->stream_peek= NULL;
|
||||
s->stream_wpeek= NULL;
|
||||
s->stream_getc = Yap_popChar;
|
||||
s->stream_wgetc = Yap_popChar;
|
||||
Yap_SetCurInpPos(sno, pos);
|
||||
// Yap_SetCurInpPos(sno, pos);
|
||||
}
|
||||
return ch;
|
||||
}
|
||||
@ -209,15 +212,17 @@ int Yap_peekChar(int sno) {
|
||||
s->linecount = line;
|
||||
s->linepos = lpos;
|
||||
s->stream_getc = Yap_popChar;
|
||||
s->stream_wgetc = Yap_popChar;
|
||||
Yap_SetCurInpPos(sno, pos);
|
||||
s->stream_wgetc = NULL;
|
||||
s->stream_peek= NULL;
|
||||
s->stream_wpeek= NULL;
|
||||
//Yap_SetCurInpPos(sno, pos);
|
||||
}
|
||||
return ch;
|
||||
}
|
||||
|
||||
int Yap_peek(int sno) { return GLOBAL_Stream[sno].stream_wpeek(sno); }
|
||||
|
||||
static int dopeek_byte(int sno) { return GLOBAL_Stream[sno].stream_wpeek(sno); }
|
||||
static int dopeek_byte(int sno) { return GLOBAL_Stream[sno].stream_peek(sno); }
|
||||
|
||||
bool store_code(int ch, Term t USES_REGS) {
|
||||
Term t2 = Deref(t);
|
||||
|
@ -350,18 +350,19 @@ void Yap_DefaultStreamOps(StreamDesc *st) {
|
||||
st->stream_getc = Yap_popChar;
|
||||
st->stream_wgetc = Yap_popChar;
|
||||
}
|
||||
if (st->file) {
|
||||
if (st->status & Readline_Stream_f) {
|
||||
if (st->status & Readline_Stream_f) {
|
||||
st->stream_peek = Yap_ReadlinePeekChar;
|
||||
st->stream_wpeek = Yap_ReadlinePeekChar;
|
||||
} else {
|
||||
}
|
||||
/* else {
|
||||
st->stream_peek = Yap_peekWithGetc;
|
||||
st->stream_wpeek = Yap_peekWideWithGetwc;
|
||||
}
|
||||
} else if (st->status & Seekable_Stream_f) {
|
||||
st->stream_peek = Yap_peekWithSeek;
|
||||
st->stream_wpeek = Yap_peekWideWithSeek;
|
||||
} else {
|
||||
} */
|
||||
else {
|
||||
st->stream_peek = Yap_peekChar;
|
||||
st->stream_wpeek = Yap_peekWide;
|
||||
}
|
||||
|
@ -337,28 +337,30 @@ static Term syntax_error(TokEntry *errtok, int sno, Term cmod, Int newpos) {
|
||||
else {
|
||||
tm = MkStringTerm("syntax error");
|
||||
}
|
||||
if (GLOBAL_Stream[sno].status & Seekable_Stream_f) {
|
||||
if (errpos && newpos >= 0) {
|
||||
char o[128 + 1];
|
||||
diff = errpos - startpos;
|
||||
if (diff > 128) {
|
||||
diff = 128;
|
||||
startpos = errpos - diff;
|
||||
char o[128 + 1];
|
||||
diff = errpos - startpos;
|
||||
if (diff > 128) {
|
||||
diff = 128;
|
||||
startpos = errpos - diff;
|
||||
}
|
||||
#if HAVE_FTELLO
|
||||
Int curpos = ftello(GLOBAL_Stream[sno].file);
|
||||
fseeko(GLOBAL_Stream[sno].file, startpos, SEEK_SET);
|
||||
#else
|
||||
Int curpos = ftell(GLOBAL_Stream[sno].file);
|
||||
fseek(GLOBAL_Stream[sno].file, startpos, SEEK_SET);
|
||||
#endif
|
||||
fread(o, diff, 1, GLOBAL_Stream[sno].file);
|
||||
#if HAVE_FTELLO
|
||||
fseeko(GLOBAL_Stream[sno].file, curpos, SEEK_SET);
|
||||
#else
|
||||
fseek(GLOBAL_Stream[sno].file, curpos, SEEK_SET);
|
||||
#endif
|
||||
o[diff] = '\0';
|
||||
tf[3] = MkStringTerm(o);
|
||||
}
|
||||
#if HAVE_FTELLO
|
||||
Int curpos = ftello(GLOBAL_Stream[sno].file);
|
||||
fseeko(GLOBAL_Stream[sno].file, startpos, SEEK_SET);
|
||||
#else
|
||||
Int curpos = ftell(GLOBAL_Stream[sno].file);
|
||||
fseek(GLOBAL_Stream[sno].file, startpos, SEEK_SET);
|
||||
#endif
|
||||
fread(o, diff, 1, GLOBAL_Stream[sno].file);
|
||||
#if HAVE_FTELLO
|
||||
fseeko(GLOBAL_Stream[sno].file, curpos, SEEK_SET);
|
||||
#else
|
||||
fseek(GLOBAL_Stream[sno].file, curpos, SEEK_SET);
|
||||
#endif
|
||||
o[diff] = '\0';
|
||||
tf[3] = MkStringTerm(o);
|
||||
} else {
|
||||
while (tok) {
|
||||
|
||||
|
@ -2,10 +2,6 @@
|
||||
%% @brief support yap shell
|
||||
%%
|
||||
|
||||
:- yap_flag(verbose, verbose).
|
||||
|
||||
:- use_module( library(python) ).
|
||||
|
||||
:- module(yapi, [
|
||||
python_ouput/0,
|
||||
show_answer/2,
|
||||
@ -15,12 +11,16 @@
|
||||
yapi_query/2
|
||||
]).
|
||||
|
||||
|
||||
:- yap_flag(verbose, verbose).
|
||||
|
||||
|
||||
:- use_module( library(lists) ).
|
||||
:- use_module( library(maplist) ).
|
||||
:- use_module( library(rbtrees) ).
|
||||
:- use_module( library(terms) ).
|
||||
:- reexport( library(python) ).
|
||||
|
||||
w
|
||||
:- python_import(yap4py.yapi).
|
||||
|
||||
%:- start_low_level_trace.
|
||||
|
@ -68,7 +68,7 @@ elif platform.system() == 'Darwin':
|
||||
win_libs = []
|
||||
local_libs = ['Py4YAP']
|
||||
elif platform.system() == 'Linux':
|
||||
my_extra_link_args = ['-L','..']
|
||||
my_extra_link_args = ['-L','..','-Wl,-rpath','-Wl,${CMAKE_INSTALL_FULL_LIBDIR}']
|
||||
win_libs = []
|
||||
local_libs = ['Py4YAP']
|
||||
|
||||
|
@ -1,55 +1,364 @@
|
||||
|
||||
set (PYTHON_SOURCES
|
||||
yap_ipython/core/getipython.py
|
||||
yap_ipython/core/__init__.py
|
||||
yap_ipython/core/interactiveshell.py
|
||||
# yap_ipython/core/modulefind.py
|
||||
yap_ipython/core/oinspect.py
|
||||
yap_ipython/core/release.py
|
||||
yap_ipython/core/shellapp.py
|
||||
yap_ipython/display.py
|
||||
yap_ipython/__init__.py
|
||||
yap_ipython/shellapp.py
|
||||
yap_kernel_launcher.py
|
||||
yap_kernel/__init__.py
|
||||
yap_kernel/__main__.py
|
||||
yap_kernel/_version.py
|
||||
yap_kernel/codeutil.py
|
||||
yap_kernel/connect.py
|
||||
yap_kernel/datapub.py
|
||||
yap_kernel/displayhook.py
|
||||
yap_kernel/embed.py
|
||||
yap_kernel/eventloops.py
|
||||
yap_kernel/heartbeat.py
|
||||
yap_kernel/interactiveshell.py
|
||||
yap_kernel/iostream.py
|
||||
yap_kernel/jsonutil.py
|
||||
yap_kernel/kernelapp.py
|
||||
yap_kernel/kernelbase.py
|
||||
yap_kernel/kernelspec.py
|
||||
yap_kernel/log.py
|
||||
yap_kernel/parentpoller.py
|
||||
yap_kernel/pickleutil.py
|
||||
yap_kernel/serialize.py
|
||||
yap_kernel/yapkernel.py
|
||||
yap_kernel/zmqshell.py
|
||||
yap_kernel/comm/__init__.py
|
||||
yap_kernel/comm/comm.py
|
||||
yap_kernel/comm/manager.py
|
||||
yap_kernel/gui/__init__.py
|
||||
yap_kernel/gui/gtk3embed.py
|
||||
yap_kernel/gui/gtkembed.py
|
||||
yap_kernel/inprocess/__init__.py
|
||||
yap_kernel/inprocess/blocking.py
|
||||
yap_kernel/inprocess/channels.py
|
||||
yap_kernel/inprocess/client.py
|
||||
yap_kernel/inprocess/ipkernel.py
|
||||
yap_kernel/inprocess/manager.py
|
||||
yap_kernel/inprocess/socket.py
|
||||
yap_kernel/pylab/__init__.py
|
||||
yap_kernel/pylab/backend_inline.py
|
||||
yap_kernel/pylab/config.py
|
||||
)
|
||||
yap_kernel_launcher.py
|
||||
docs/conf.py
|
||||
yap_kernel/serialize.py
|
||||
yap_kernel/_eventloop_macos.py
|
||||
yap_kernel/jsonutil.py
|
||||
yap_kernel/pickleutil.py
|
||||
yap_kernel/pylab/backend_inline.py
|
||||
yap_kernel/pylab/config.py
|
||||
yap_kernel/pylab/__init__.py
|
||||
yap_kernel/displayhook.py
|
||||
yap_kernel/__main__.py
|
||||
yap_kernel/gui/gtk3embed.py
|
||||
yap_kernel/gui/gtkembed.py
|
||||
yap_kernel/gui/__init__.py
|
||||
yap_kernel/parentpoller.py
|
||||
yap_kernel/_version.py
|
||||
yap_kernel/eventloops.py
|
||||
yap_kernel/connect.py
|
||||
yap_kernel/comm/comm.py
|
||||
yap_kernel/comm/__init__.py
|
||||
yap_kernel/comm/manager.py
|
||||
yap_kernel/kernelspec.py
|
||||
yap_kernel/iostream.py
|
||||
yap_kernel/zmqshell.py
|
||||
yap_kernel/kernelbase.py
|
||||
yap_kernel/heartbeat.py
|
||||
yap_kernel/log.py
|
||||
yap_kernel/datapub.py
|
||||
yap_kernel/codeutil.py
|
||||
yap_kernel/kernelapp.py
|
||||
yap_kernel/embed.py
|
||||
yap_kernel/tests/test_embed_kernel.py
|
||||
yap_kernel/tests/test_kernelspec.py
|
||||
yap_kernel/tests/_asyncio.py
|
||||
yap_kernel/tests/test_serialize.py
|
||||
yap_kernel/tests/test_pickleutil.py
|
||||
yap_kernel/tests/test_eventloop.py
|
||||
yap_kernel/tests/utils.py
|
||||
yap_kernel/tests/test_kernel.py
|
||||
yap_kernel/tests/test_io.py
|
||||
yap_kernel/tests/test_jsonutil.py
|
||||
yap_kernel/tests/test_connect.py
|
||||
yap_kernel/tests/test_message_spec.py
|
||||
yap_kernel/tests/__init__.py
|
||||
yap_kernel/tests/test_start_kernel.py
|
||||
yap_kernel/tests/test_zmq_shell.py
|
||||
yap_kernel/__init__.py
|
||||
yap_kernel/inprocess/blocking.py
|
||||
yap_kernel/inprocess/socket.py
|
||||
yap_kernel/inprocess/constants.py
|
||||
yap_kernel/inprocess/channels.py
|
||||
yap_kernel/inprocess/tests/test_kernelmanager.py
|
||||
yap_kernel/inprocess/tests/test_kernel.py
|
||||
yap_kernel/inprocess/tests/__init__.py
|
||||
yap_kernel/inprocess/__init__.py
|
||||
yap_kernel/inprocess/manager.py
|
||||
yap_kernel/inprocess/client.py
|
||||
yap_kernel/inprocess/ipkernel.py
|
||||
yap_kernel/ipkernel.py
|
||||
yap_ipython/display.py
|
||||
yap_ipython/frontend.py
|
||||
yap_ipython/parallel.py
|
||||
yap_ipython/html.py
|
||||
yap_ipython/__main__.py
|
||||
yap_ipython/testing/iptest.py
|
||||
yap_ipython/testing/skipdoctest.py
|
||||
yap_ipython/testing/tools.py
|
||||
yap_ipython/testing/iptestcontroller.py
|
||||
yap_ipython/testing/__main__.py
|
||||
yap_ipython/testing/decorators.py
|
||||
yap_ipython/testing/ipunittest.py
|
||||
yap_ipython/testing/tests/test_tools.py
|
||||
yap_ipython/testing/tests/test_ipunittest.py
|
||||
yap_ipython/testing/tests/test_decorators.py
|
||||
yap_ipython/testing/tests/__init__.py
|
||||
yap_ipython/testing/__init__.py
|
||||
yap_ipython/testing/globalipapp.py
|
||||
yap_ipython/testing/plugin/iptest.py
|
||||
yap_ipython/testing/plugin/show_refs.py
|
||||
yap_ipython/testing/plugin/simplevars.py
|
||||
yap_ipython/testing/plugin/simple.py
|
||||
yap_ipython/testing/plugin/ipdoctest.py
|
||||
yap_ipython/testing/plugin/test_ipdoctest.py
|
||||
yap_ipython/testing/plugin/setup.py
|
||||
yap_ipython/testing/plugin/__init__.py
|
||||
yap_ipython/testing/plugin/dtexample.py
|
||||
yap_ipython/testing/plugin/test_refs.py
|
||||
yap_ipython/terminal/ptutils.py
|
||||
yap_ipython/terminal/shortcuts.py
|
||||
yap_ipython/terminal/ipapp.py
|
||||
yap_ipython/terminal/pt_inputhooks/wx.py
|
||||
yap_ipython/terminal/pt_inputhooks/pyglet.py
|
||||
yap_ipython/terminal/pt_inputhooks/osx.py
|
||||
yap_ipython/terminal/pt_inputhooks/gtk.py
|
||||
yap_ipython/terminal/pt_inputhooks/tk.py
|
||||
yap_ipython/terminal/pt_inputhooks/glut.py
|
||||
yap_ipython/terminal/pt_inputhooks/gtk3.py
|
||||
yap_ipython/terminal/pt_inputhooks/__init__.py
|
||||
yap_ipython/terminal/pt_inputhooks/qt.py
|
||||
yap_ipython/terminal/console.py
|
||||
yap_ipython/terminal/prompts.py
|
||||
yap_ipython/terminal/ptshell.py
|
||||
yap_ipython/terminal/embed.py
|
||||
yap_ipython/terminal/tests/test_help.py
|
||||
yap_ipython/terminal/tests/test_embed.py
|
||||
yap_ipython/terminal/tests/test_interactivshell.py
|
||||
yap_ipython/terminal/tests/__init__.py
|
||||
yap_ipython/terminal/__init__.py
|
||||
yap_ipython/terminal/interactiveshell.py
|
||||
yap_ipython/terminal/debugger.py
|
||||
yap_ipython/terminal/magics.py
|
||||
yap_ipython/consoleapp.py
|
||||
yap_ipython/core/display.py
|
||||
yap_ipython/core/application.py
|
||||
yap_ipython/core/builtin_trap.py
|
||||
yap_ipython/core/formatters.py
|
||||
yap_ipython/core/prefilter.py
|
||||
yap_ipython/core/getipython.py
|
||||
yap_ipython/core/usage.py
|
||||
yap_ipython/core/oinspect.py
|
||||
yap_ipython/core/displayhook.py
|
||||
yap_ipython/core/hooks.py
|
||||
yap_ipython/core/splitinput.py
|
||||
yap_ipython/core/page.py
|
||||
yap_ipython/core/history.py
|
||||
yap_ipython/core/displaypub.py
|
||||
yap_ipython/core/profiledir.py
|
||||
yap_ipython/core/shellapp.py
|
||||
yap_ipython/core/extensions.py
|
||||
yap_ipython/core/compilerop.py
|
||||
yap_ipython/core/events.py
|
||||
yap_ipython/core/pylabtools.py
|
||||
yap_ipython/core/completer.py
|
||||
yap_ipython/core/prompts.py
|
||||
yap_ipython/core/latex_symbols.py
|
||||
yap_ipython/core/macro.py
|
||||
yap_ipython/core/inputsplitter.py
|
||||
yap_ipython/core/error.py
|
||||
yap_ipython/core/profileapp.py
|
||||
yap_ipython/core/magic_arguments.py
|
||||
yap_ipython/core/logger.py
|
||||
yap_ipython/core/inputtransformer.py
|
||||
yap_ipython/core/payloadpage.py
|
||||
yap_ipython/core/crashhandler.py
|
||||
yap_ipython/core/magics/display.py
|
||||
yap_ipython/core/magics/execution.py
|
||||
yap_ipython/core/magics/namespace.py
|
||||
yap_ipython/core/magics/basic.py
|
||||
yap_ipython/core/magics/extension.py
|
||||
yap_ipython/core/magics/history.py
|
||||
yap_ipython/core/magics/pylab.py
|
||||
yap_ipython/core/magics/config.py
|
||||
yap_ipython/core/magics/osm.py
|
||||
yap_ipython/core/magics/script.py
|
||||
yap_ipython/core/magics/__init__.py
|
||||
yap_ipython/core/magics/auto.py
|
||||
yap_ipython/core/magics/logging.py
|
||||
yap_ipython/core/magics/code.py
|
||||
yap_ipython/core/ultratb.py
|
||||
yap_ipython/core/tests/test_application.py
|
||||
yap_ipython/core/tests/simpleerr.py
|
||||
yap_ipython/core/tests/test_paths.py
|
||||
yap_ipython/core/tests/bad_all.py
|
||||
yap_ipython/core/tests/test_prefilter.py
|
||||
yap_ipython/core/tests/test_logger.py
|
||||
yap_ipython/core/tests/test_interactiveshell.py
|
||||
yap_ipython/core/tests/test_events.py
|
||||
yap_ipython/core/tests/test_display.py
|
||||
yap_ipython/core/tests/test_autocall.py
|
||||
yap_ipython/core/tests/test_formatters.py
|
||||
yap_ipython/core/tests/test_alias.py
|
||||
yap_ipython/core/tests/nonascii.py
|
||||
yap_ipython/core/tests/test_displayhook.py
|
||||
yap_ipython/core/tests/test_profile.py
|
||||
yap_ipython/core/tests/test_imports.py
|
||||
yap_ipython/core/tests/test_oinspect.py
|
||||
yap_ipython/core/tests/test_inputtransformer.py
|
||||
yap_ipython/core/tests/test_magic_arguments.py
|
||||
yap_ipython/core/tests/test_debugger.py
|
||||
yap_ipython/core/tests/test_hooks.py
|
||||
yap_ipython/core/tests/test_run.py
|
||||
yap_ipython/core/tests/test_pylabtools.py
|
||||
yap_ipython/core/tests/print_argv.py
|
||||
yap_ipython/core/tests/test_page.py
|
||||
yap_ipython/core/tests/test_compilerop.py
|
||||
yap_ipython/core/tests/test_prompts.py
|
||||
yap_ipython/core/tests/test_magic_terminal.py
|
||||
yap_ipython/core/tests/__init__.py
|
||||
yap_ipython/core/tests/test_ultratb.py
|
||||
yap_ipython/core/tests/test_magic.py
|
||||
yap_ipython/core/tests/test_iplib.py
|
||||
yap_ipython/core/tests/test_completer.py
|
||||
yap_ipython/core/tests/test_shellapp.py
|
||||
yap_ipython/core/tests/daft_extension/daft_extension.py
|
||||
yap_ipython/core/tests/refbug.py
|
||||
yap_ipython/core/tests/tclass.py
|
||||
yap_ipython/core/tests/test_extension.py
|
||||
yap_ipython/core/tests/test_splitinput.py
|
||||
yap_ipython/core/tests/test_completerlib.py
|
||||
yap_ipython/core/tests/nonascii2.py
|
||||
yap_ipython/core/tests/test_inputsplitter.py
|
||||
yap_ipython/core/tests/test_handlers.py
|
||||
yap_ipython/core/tests/test_history.py
|
||||
yap_ipython/core/__init__.py
|
||||
yap_ipython/core/autocall.py
|
||||
yap_ipython/core/alias.py
|
||||
yap_ipython/core/completerlib.py
|
||||
yap_ipython/core/magic.py
|
||||
yap_ipython/core/interactiveshell.py
|
||||
yap_ipython/core/excolors.py
|
||||
yap_ipython/core/release.py
|
||||
yap_ipython/core/display_trap.py
|
||||
yap_ipython/core/debugger.py
|
||||
yap_ipython/core/historyapp.py
|
||||
yap_ipython/core/payload.py
|
||||
yap_ipython/config.py
|
||||
yap_ipython/utils/frame.py
|
||||
yap_ipython/utils/ipstruct.py
|
||||
yap_ipython/utils/module_paths.py
|
||||
yap_ipython/utils/jsonutil.py
|
||||
yap_ipython/utils/PyColorize.py
|
||||
yap_ipython/utils/pickleutil.py
|
||||
yap_ipython/utils/eventful.py
|
||||
yap_ipython/utils/ulinecache.py
|
||||
yap_ipython/utils/generics.py
|
||||
yap_ipython/utils/version.py
|
||||
yap_ipython/utils/tz.py
|
||||
yap_ipython/utils/_process_cli.py
|
||||
yap_ipython/utils/wildcard.py
|
||||
yap_ipython/utils/dir2.py
|
||||
yap_ipython/utils/strdispatch.py
|
||||
yap_ipython/utils/sysinfo.py
|
||||
yap_ipython/utils/io.py
|
||||
yap_ipython/utils/decorators.py
|
||||
yap_ipython/utils/contexts.py
|
||||
yap_ipython/utils/data.py
|
||||
yap_ipython/utils/terminal.py
|
||||
yap_ipython/utils/syspathcontext.py
|
||||
yap_ipython/utils/tokenize2.py
|
||||
yap_ipython/utils/localinterfaces.py
|
||||
yap_ipython/utils/_process_win32_controller.py
|
||||
yap_ipython/utils/py3compat.py
|
||||
yap_ipython/utils/sentinel.py
|
||||
yap_ipython/utils/colorable.py
|
||||
yap_ipython/utils/_sysinfo.py
|
||||
yap_ipython/utils/importstring.py
|
||||
yap_ipython/utils/tokenutil.py
|
||||
yap_ipython/utils/traitlets.py
|
||||
yap_ipython/utils/path.py
|
||||
yap_ipython/utils/daemonize.py
|
||||
yap_ipython/utils/log.py
|
||||
yap_ipython/utils/openpy.py
|
||||
yap_ipython/utils/tempdir.py
|
||||
yap_ipython/utils/_process_common.py
|
||||
yap_ipython/utils/tests/test_openpy.py
|
||||
yap_ipython/utils/tests/test_path.py
|
||||
yap_ipython/utils/tests/test_shimmodule.py
|
||||
yap_ipython/utils/tests/test_sysinfo.py
|
||||
yap_ipython/utils/tests/test_pycolorize.py
|
||||
yap_ipython/utils/tests/test_wildcard.py
|
||||
yap_ipython/utils/tests/test_imports.py
|
||||
yap_ipython/utils/tests/test_importstring.py
|
||||
yap_ipython/utils/tests/test_module_paths.py
|
||||
yap_ipython/utils/tests/test_io.py
|
||||
yap_ipython/utils/tests/test_text.py
|
||||
yap_ipython/utils/tests/test_decorators.py
|
||||
yap_ipython/utils/tests/test_tokenutil.py
|
||||
yap_ipython/utils/tests/test_process.py
|
||||
yap_ipython/utils/tests/test_dir2.py
|
||||
yap_ipython/utils/tests/__init__.py
|
||||
yap_ipython/utils/tests/test_capture.py
|
||||
yap_ipython/utils/tests/test_tempdir.py
|
||||
yap_ipython/utils/encoding.py
|
||||
yap_ipython/utils/__init__.py
|
||||
yap_ipython/utils/signatures.py
|
||||
yap_ipython/utils/_process_win32.py
|
||||
yap_ipython/utils/coloransi.py
|
||||
yap_ipython/utils/_process_posix.py
|
||||
yap_ipython/utils/shimmodule.py
|
||||
yap_ipython/utils/timing.py
|
||||
yap_ipython/utils/text.py
|
||||
yap_ipython/utils/process.py
|
||||
yap_ipython/utils/capture.py
|
||||
yap_ipython/paths.py
|
||||
yap_ipython/nbconvert.py
|
||||
yap_ipython/external/mathjax.py
|
||||
yap_ipython/external/qt_for_kernel.py
|
||||
yap_ipython/external/decorators/_numpy_testing_noseclasses.py
|
||||
yap_ipython/external/decorators/_decorators.py
|
||||
yap_ipython/external/decorators/__init__.py
|
||||
yap_ipython/external/__init__.py
|
||||
yap_ipython/external/qt_loaders.py
|
||||
yap_ipython/__init__.py
|
||||
yap_ipython/sphinxext/ipython_console_highlighting.py
|
||||
yap_ipython/sphinxext/ipython_directive.py
|
||||
yap_ipython/sphinxext/custom_doctests.py
|
||||
yap_ipython/sphinxext/__init__.py
|
||||
yap_ipython/kernel/adapter.py
|
||||
yap_ipython/kernel/channelsabc.py
|
||||
yap_ipython/kernel/__main__.py
|
||||
yap_ipython/kernel/launcher.py
|
||||
yap_ipython/kernel/multikernelmanager.py
|
||||
yap_ipython/kernel/restarter.py
|
||||
yap_ipython/kernel/managerabc.py
|
||||
yap_ipython/kernel/threaded.py
|
||||
yap_ipython/kernel/clientabc.py
|
||||
yap_ipython/kernel/connect.py
|
||||
yap_ipython/kernel/kernelspecapp.py
|
||||
yap_ipython/kernel/kernelspec.py
|
||||
yap_ipython/kernel/channels.py
|
||||
yap_ipython/kernel/__init__.py
|
||||
yap_ipython/kernel/manager.py
|
||||
yap_ipython/kernel/client.py
|
||||
yap_ipython/nbformat.py
|
||||
yap_ipython/extensions/cythonmagic.py
|
||||
yap_ipython/extensions/storemagic.py
|
||||
yap_ipython/extensions/tests/test_autoreload.py
|
||||
yap_ipython/extensions/tests/test_storemagic.py
|
||||
yap_ipython/extensions/tests/__init__.py
|
||||
yap_ipython/extensions/__init__.py
|
||||
yap_ipython/extensions/rmagic.py
|
||||
yap_ipython/extensions/sympyprinting.py
|
||||
yap_ipython/extensions/autoreload.py
|
||||
yap_ipython/yapi.py
|
||||
yap_ipython/qt.py
|
||||
yap_ipython/lib/display.py
|
||||
yap_ipython/lib/pretty.py
|
||||
yap_ipython/lib/inputhookgtk.py
|
||||
yap_ipython/lib/inputhookwx.py
|
||||
yap_ipython/lib/lexers.py
|
||||
yap_ipython/lib/demo.py
|
||||
yap_ipython/lib/inputhookgtk3.py
|
||||
yap_ipython/lib/kernel.py
|
||||
yap_ipython/lib/inputhookpyglet.py
|
||||
yap_ipython/lib/editorhooks.py
|
||||
yap_ipython/lib/inputhook.py
|
||||
yap_ipython/lib/backgroundjobs.py
|
||||
yap_ipython/lib/latextools.py
|
||||
yap_ipython/lib/deepreload.py
|
||||
yap_ipython/lib/tests/test_editorhooks.py
|
||||
yap_ipython/lib/tests/test_backgroundjobs.py
|
||||
yap_ipython/lib/tests/test_display.py
|
||||
yap_ipython/lib/tests/test_pretty.py
|
||||
yap_ipython/lib/tests/test_imports.py
|
||||
yap_ipython/lib/tests/test_clipboard.py
|
||||
yap_ipython/lib/tests/test_lexers.py
|
||||
yap_ipython/lib/tests/test_deepreload.py
|
||||
yap_ipython/lib/tests/test_security.py
|
||||
yap_ipython/lib/tests/__init__.py
|
||||
yap_ipython/lib/tests/test_latextools.py
|
||||
yap_ipython/lib/__init__.py
|
||||
yap_ipython/lib/guisupport.py
|
||||
yap_ipython/lib/security.py
|
||||
yap_ipython/lib/inputhookglut.py
|
||||
yap_ipython/lib/clipboard.py
|
||||
yap_ipython/lib/inputhookqt4.py
|
||||
__init__.py
|
||||
|
||||
)
|
||||
|
||||
set (EXTRAS
|
||||
MANIFEST.in
|
||||
@ -60,15 +369,13 @@
|
||||
)
|
||||
|
||||
set (RESOURCES
|
||||
resources/custom.js
|
||||
resources/prolog.js
|
||||
#resources/logo-32x32.png
|
||||
#resources/logo-64x64.png
|
||||
#yap_kernel/resources/logo-32x32.png
|
||||
#yap_kernel/resourcess/logo-64x64.png
|
||||
)
|
||||
set (RENAMED_RESOURCES
|
||||
resources/logo-32x32.png
|
||||
resources/logo-64x64.png
|
||||
# resources/codemirror/mode/prolog/prolog.js
|
||||
yap_kernel/resources/logo-32x32.png
|
||||
yap_kernel/resources/logo-64x64.png
|
||||
# yap_kernel/resources/codemirror/mode/prolog/prolog.js
|
||||
)
|
||||
|
||||
set (PL_SOURCES
|
||||
@ -79,29 +386,44 @@ set(FILES ${PYTHON_SOURCES} ${PL_SOURCES} ${EXTRAS} ${RESOURCES})
|
||||
|
||||
set(SETUP_PY ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${i}
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cvf ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz ${FILESi}
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cf ${CMAKE_CURRENT_BINARY_DIR}/yap.tgz ${FILES}
|
||||
|
||||
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
DEPENDS ${FILES}
|
||||
)
|
||||
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/logo-32x32.png
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xvf yap.tgz
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_changed ${CMAKE_SOURCE_DIR}/docs/icons/yap_32z32x32.png ${CMAKE_CURRENT_BINARY_DIR}/resources/logo-32x32.png
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/icons/yap_32x32x32.png
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory yap_kernel/resources
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/docs/icons/yap_32x32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/docs/icons/yap_32x32x32.png
|
||||
)
|
||||
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/resources/logo-64x64.png
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_changed ${CMAKE_SOURCE_DIR}/docs/icons/yap_64x64x32.png ${CMAKE_CURRENT_BINARY_DIR}/resources/logo-64x64.png
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/docs/icons/yap_64x64x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/docs/icons/yap_64x64x32.png
|
||||
)
|
||||
|
||||
add_custom_target(YAP_KERNEL
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xvf yap.tgz
|
||||
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kernel.js
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/misc/editors/yap.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js
|
||||
DEPENDS ${CMAKE_SOURCE_DIR}/misc/editors/yap.js
|
||||
)
|
||||
|
||||
add_custom_target(YAP_KERNEL ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xzf yap.tgz
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build sdist bdist
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-32x32.png ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/logo-64x64.png yap.tgz ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/kernel.js ${CMAKE_CURRENT_BINARY_DIR}/yap_kernel/resources/prolog.js
|
||||
)
|
||||
|
||||
|
||||
|
@ -1,42 +1,18 @@
|
||||
|
||||
;(function(window_CodeMirror){
|
||||
"use strict";
|
||||
define([
|
||||
"/kernelspecs/yap_kernel/prolog.js"],function(CodeMirror){
|
||||
|
||||
// the `require` namespace for codemirror
|
||||
CM_PATH = "components/codemirror/";
|
||||
|
||||
define(
|
||||
[
|
||||
"underscore",
|
||||
"jquery",
|
||||
CM_PATH + "lib/codemirror",
|
||||
"base/js/namespace",
|
||||
// silent upgrades
|
||||
"./jshint.js",
|
||||
CM_PATH + "addon/lint/javascript-lint",
|
||||
CM_PATH + "addon/hint/javascript-hint",
|
||||
CM_PATH + "addon/lint/lint",
|
||||
CM_PATH + "addon/hint/show-hint",
|
||||
"./prolog.js"
|
||||
],
|
||||
function(_, $, CodeMirror, Jupyter){
|
||||
|
||||
// the main function
|
||||
cm_tweak_js = function(cell){
|
||||
var editor = cell.code_mirror,
|
||||
opts = {},
|
||||
meta = ensure_ns(cell),
|
||||
keys = editor.getOption("extraKeys") || {},
|
||||
mode = editor.getMode();
|
||||
|
||||
// only update editors we care about, reset ones we might have messed
|
||||
if(!editor){
|
||||
return;
|
||||
} else {
|
||||
editor.setOption("mode", "x-text/prolog");
|
||||
}
|
||||
}
|
||||
}
|
||||
} // the `define` callback
|
||||
); // the `define`
|
||||
).call(this, window.CodeMirror);
|
||||
var onload = function(){
|
||||
console.log("I am being loaded");
|
||||
var cell = Jupyter.notebook.get_selected_cell();
|
||||
var cm = cell.config;
|
||||
var patch = {
|
||||
CodeCell:{
|
||||
cm_config:{mode: "prolog"} // only change here.
|
||||
}
|
||||
};
|
||||
config.update(patch);
|
||||
return {onload:onload};
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -37,12 +37,15 @@ from distutils.core import setup
|
||||
|
||||
pjoin = os.path.join
|
||||
here = os.path.abspath(os.path.dirname(__file__))
|
||||
packages = []
|
||||
# pkg_root = pjoin(here, name)
|
||||
|
||||
packages = setuptools.find_packages(here)
|
||||
# for d, _, _ in os.walk(pjoin(here, name)):
|
||||
# if os.path.exists(pjoin(d, '__init__.py')):
|
||||
# packages.append(d[len(here)+1:].replace(os.path.sep, '.'))
|
||||
for d, _, _ in os.walk(pjoin(here, 'yap_kernel')):
|
||||
if os.path.exists(pjoin(d, '__init__.py')):
|
||||
packages.append(d[len(here)+1:].replace(os.path.sep, '.'))
|
||||
for d, _, _ in os.walk(pjoin(here, 'yap_ipython')):
|
||||
if os.path.exists(pjoin(d, '__init__.py')):
|
||||
packages.append(d[len(here)+1:].replace(os.path.sep, '.'))
|
||||
|
||||
sys.path.insert(0, here)
|
||||
package_data = {
|
||||
@ -50,13 +53,14 @@ package_data = {
|
||||
'yap_kernel': ['resources/*.*']
|
||||
}
|
||||
|
||||
|
||||
version_ns = {here, name, '_version.py')) as f:
|
||||
version_ns = {}
|
||||
with open(pjoin(here, name, '_version.py')) as f:
|
||||
exec(f.read(), {}, version_ns)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
setup_args = dict(
|
||||
name = name,
|
||||
version = version_ns['__version__'],
|
||||
@ -64,10 +68,10 @@ setup_args = dict(
|
||||
packages = packages,
|
||||
py_modules = ['yap_kernel_launcher'],
|
||||
package_data = package_data,
|
||||
package_dir = {'':here},
|
||||
#package_dir = {'':here},
|
||||
description = "YAP Kernel for Jupyter",
|
||||
author = 'YAP Development Team',
|
||||
author_email = 'YAP-dev@scipy.org',
|
||||
author_email = 'yap-dev@scipy.org',
|
||||
url = 'http://ipython.org',
|
||||
license = 'BSD',
|
||||
platforms = "Linux, Mac OS X, Windows",
|
||||
@ -95,7 +99,7 @@ if any(a.startswith(('bdist', 'build', 'install')) for a in sys.argv):
|
||||
|
||||
|
||||
argv = make_yap_kernel_cmd(executable=sys.executable)
|
||||
dest = os.path.join(here, 'resources')
|
||||
dest = os.path.join(here, 'yap_kernel', 'resources')
|
||||
try:
|
||||
write_kernel_spec(dest, overrides={'argv': argv})
|
||||
except:
|
||||
@ -104,14 +108,14 @@ if any(a.startswith(('bdist', 'build', 'install')) for a in sys.argv):
|
||||
#setup_args['data_files'] = [(pjoin('share', 'jupyter', 'kernels', KERNEL_NAME), glob(pjoin(dest, '*')))]
|
||||
mode_loc = pjoin( sysconfig.get_path('platlib'), 'notebook', 'static', 'components', 'codemirror', 'mode', 'prolog')
|
||||
custom_loc = pjoin( sysconfig.get_path('platlib'), 'notebook', 'static', 'custom')
|
||||
try:
|
||||
shutil.copy( pjoin( custom_loc, "custom.js") , pjoin( custom_loc, "custom.js.orig"))
|
||||
shutil.copy( pjoin( "resources", "custom.js") , pjoin( custom_loc, "custom.js"))
|
||||
if not os.path.exists(mode_loc):
|
||||
os.makedirs(mode_loc)
|
||||
shutil.copy( pjoin( "resources","prolog.js") , mode_loc)
|
||||
except:
|
||||
pass
|
||||
# try:
|
||||
# shutil.copy( pjoin( custom_loc, "custom.js") , pjoin( custom_loc, "custom.js.orig"))
|
||||
# shutil.copy( pjoin( "resources", "custom.js") , pjoin( custom_loc, "custom.js"))
|
||||
# if not os.path.exists(mode_loc):
|
||||
# os.makedirs(mode_loc)
|
||||
# shutil.copy( pjoin( "resources","prolog.js") , mode_loc)
|
||||
# except:
|
||||
# pass
|
||||
|
||||
extras_require = setuptools_args['extras_require'] = {
|
||||
'test:python_version=="2.7"': ['mock'],
|
||||
|
@ -0,0 +1 @@
|
||||
#nothing here
|
@ -61,7 +61,7 @@ class YAPInputSplitter(InputSplitter):
|
||||
def __init__(self, line_input_checker=True, physical_line_transforms=None,
|
||||
logical_line_transforms=None):
|
||||
self._buffer_raw = []
|
||||
v self._validate = True
|
||||
self._validate = True
|
||||
self.yapeng = None
|
||||
|
||||
if physical_line_transforms is not None:
|
||||
@ -524,7 +524,6 @@ class YAPRun:
|
||||
return self.errors
|
||||
|
||||
def jupyter_query(self, s):
|
||||
import pdb; pdb.set_trace()
|
||||
#
|
||||
# construct a self.query from a one-line string
|
||||
# self.q is opaque to Python
|
||||
@ -551,7 +550,7 @@ class YAPRun:
|
||||
# variable names should match strings
|
||||
#for eq in vs:
|
||||
# if not isinstance(eq[0],str):x
|
||||
xf # print( "Error: Variable Name matches a Python Symbol")
|
||||
# print( "Error: Variable Name matches a Python Symbol")
|
||||
# return
|
||||
# ask = True
|
||||
# launch the query
|
||||
@ -677,7 +676,7 @@ xf # print( "Error: Variable Name matches a Python Symbol")
|
||||
# preprocessing_exc_tuple = sys.exc_info()
|
||||
|
||||
|
||||
e for i in self.syntaxErrors(raw_cell):
|
||||
for i in self.syntaxErrors(raw_cell):
|
||||
try:
|
||||
(what,lin,_,text) = i
|
||||
e = SyntaxError(what, ("<string>", lin, 1, text))
|
||||
@ -715,7 +714,7 @@ xf # print( "Error: Variable Name matches a Python Symbol")
|
||||
mcell = cell.lstrip('%')
|
||||
txt0 = mcell.split(maxsplit = 2, sep = '\n')
|
||||
txt = txt0[0].split(maxsplit = 2)
|
||||
magic = txt[0]
|
||||
magic = txt[0]
|
||||
if len(txt) == 2:
|
||||
line = txt[1]
|
||||
else:
|
||||
|
11
pl/boot.yap
11
pl/boot.yap
@ -165,8 +165,6 @@ print_message(L,E) :-
|
||||
% This is the YAP init file
|
||||
% should be consulted first step after booting
|
||||
|
||||
:- '$mk_dynamic'(term_expansion/2).
|
||||
|
||||
:- c_compile('top.yap').
|
||||
|
||||
% These are pseudo declarations
|
||||
@ -214,14 +212,12 @@ print_message(L,E) :-
|
||||
C == end_of_file
|
||||
).
|
||||
|
||||
:- '$init_system'.
|
||||
|
||||
:- c_compile('arith.yap').
|
||||
:- c_compile('builtins.yap').
|
||||
%:- stop_low_level_trace.
|
||||
|
||||
:- '$all_current_modules'(M), yap_flag(M:unknown, error) ; true.
|
||||
:- '$init_prolog'.
|
||||
|
||||
:- '$all_current_modules'(M), yap_flag(M:unknown, error) ; true.
|
||||
|
||||
:- compile_expressions.
|
||||
|
||||
@ -233,14 +229,13 @@ print_message(L,E) :-
|
||||
:- c_compile('preddecls.yap').
|
||||
:- c_compile('preddyns.yap').
|
||||
:- c_compile('meta.yap').
|
||||
:- c_compile('builtins.yap').
|
||||
:- c_compile('newmod.yap').
|
||||
|
||||
:- c_compile('atoms.yap').
|
||||
:- c_compile('os.yap').
|
||||
:- c_compile('errors.yap').
|
||||
|
||||
:- '$init_prolog'.
|
||||
|
||||
initialize_prolog :-
|
||||
'$init_prolog'.
|
||||
|
||||
|
@ -156,8 +156,7 @@ considered.
|
||||
'$exec_directive'(module(N,P,Op), Status, _, _, _) :-
|
||||
'$module'(Status,N,P,Op).
|
||||
'$exec_directive'(meta_predicate(P), _, M, _, _) :-
|
||||
'$yap_strip_module'(M:P,M0,P0),
|
||||
'$meta_predicate'(P0,M0).
|
||||
'$meta_predicate'(P,M).
|
||||
'$exec_directive'(module_transparent(P), _, M, _, _) :-
|
||||
'$module_transparent'(P, M).
|
||||
'$exec_directive'(noprofile(P), _, M, _, _) :-
|
||||
|
23
pl/meta.yap
23
pl/meta.yap
@ -61,17 +61,20 @@ meta_predicate declaration
|
||||
'$meta_predicate'( P, M1 ).
|
||||
'$meta_predicate'( D, M ) :-
|
||||
functor(D,F,N),
|
||||
( M = prolog -> M2 = _ ; M2 = M),
|
||||
'$install_meta_predicate'(D,M2,F,N),
|
||||
'$install_meta_predicate'(D,M,F,N),
|
||||
fail.
|
||||
'$meta_predicate'( _D, _M ).
|
||||
|
||||
'$install_meta_predicate'(P,M,_F,_N) :-
|
||||
'$new_meta_pred'(P, M),
|
||||
fail.
|
||||
'$install_meta_predicate'(_P,M,F,N) :-
|
||||
retractall(prolog:'$meta_predicate'(F,M,N,_)),
|
||||
( M = prolog -> M2 = _ ; M2 = M),
|
||||
retractall(prolog:'$meta_predicate'(F,M2,N,_)),
|
||||
fail.
|
||||
'$install_meta_predicate'(P,M,F,N) :-
|
||||
'$new_meta_pred'(P, M),
|
||||
assertz('$meta_predicate'(F,M,N,P)).
|
||||
( M = prolog -> M2 = _ ; M2 = M),
|
||||
assertz('$meta_predicate'(F,M2,N,P)).
|
||||
|
||||
% comma has its own problems.
|
||||
|
||||
@ -494,7 +497,13 @@ expand_goal(Input, Output) :-
|
||||
'$expand_goals'(IG, _, GF0, M, SM, M, HVars-G),
|
||||
'$yap_strip_module'(M:GF0, MF, GF).
|
||||
|
||||
:- '$install_meta_predicate'((0,0),_,(','),2).
|
||||
:- '$install_meta_predicate'((0,0),prolog,(','),2).
|
||||
|
||||
meta_predicate(P) :-
|
||||
source_module(SM),
|
||||
'$meta_predicate'(P, SM).
|
||||
|
||||
|
||||
|
||||
:- meta_predicate
|
||||
abolish(:),
|
||||
@ -594,5 +603,5 @@ expand_goal(Input, Output) :-
|
||||
'|'(2,2,?,?),
|
||||
->(2,2,?,?),
|
||||
\+(2,?,?),
|
||||
\+( 0 )
|
||||
\+( 0 )
|
||||
.
|
||||
|
@ -194,7 +194,7 @@ X = 2 ? ;
|
||||
ERROR!!
|
||||
EXISTENCE ERROR- procedure c/1 is undefined, called from context prolog:$user_call/2
|
||||
Goal was c:c(_131290)
|
||||
vv~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The state of the module system after this error is undefined.
|
||||
|
||||
@ -452,9 +452,15 @@ export_resource(P0) :-
|
||||
; recorda('$module','$module'(user_input,Mod,user_input,[P],1),_)
|
||||
).
|
||||
export_resource(op(Prio,Assoc,Name)) :- !,
|
||||
op(Prio,Assoc,prolog:Name).
|
||||
export_resource(op(Prio,Assoc,Name)) :- !,
|
||||
op(Prio,Assoc,user:Name).
|
||||
'$current_module'(Mod),
|
||||
op(Prio,Assoc,Mod:Name),
|
||||
( recorded('$module','$module'(File,Mod,SourceF,ExportedPreds,Line),R) ->
|
||||
erase(R),
|
||||
recorda('$module','$module'(File,Mod,SourceF,[op(Prio,Assoc,Name)|ExportedPreds],Line ),_)
|
||||
; prolog_load_context(file, File) ->
|
||||
recorda('$module','$module'(File,Mod,SourceF,[op(Prio,Assoc,Name)],Line),_)
|
||||
; recorda('$module','$module'(user_input,Mod,user_input,[op(Prio,Assoc,Name)],1),_)
|
||||
).
|
||||
export_resource(Resource) :-
|
||||
'$do_error'(type_error(predicate_indicator,Resource),export(Resource)).
|
||||
|
||||
|
Reference in New Issue
Block a user