It's very much undocumented. It's also very ad-hoc
since I just added functions as they were needed.
You can see the implementation in the GNU APL source
under src/emacs_mode I think. Every command is in its own file
with a name ending with *Command.cc.
I'm on the phone right now so I can't give you a
comprehensive list, but there are commands that do:
Show the implementation of a function
Define a new function
List all functions, variables
Trace updates to a variable
List all system commands
List all quad-variables
Show the si-stack
Clear the si-stack
Get the tag for a function (the tag contains the source file and
line where it was defined)
If you need other commands, it's trivial to add.
Regards,
Elias
On 15 Aug 2014 04:24, "Chris Moller" <
address@hidden>
wrote:
I'll take a look at
that. Is your protocol documented somewhere? Or is it
implicit in gnu-apl-mode/native?
cm
On 08/13/14 23:28, Elias Mårtenson wrote:
Hello Chris,
I've been following the discussions about the GTK
wrapper, and while I'm not using it myself (since I
work on the Emacs integration) I realise that there
are plenty of (potential) overlaps between our
projects.
In particular, I want to let you know about the
Emacs mode backchannel protocol that the mode uses for
directly communicating with the GNU APL interpreter.
When started, if gives you a simple text-based
protocol through which you can do things such as
defining functions or creating listeners that send you
a message whenever a variable is changed (this is used
by the realtime variable watcher).
It would be neat if you were to consider
implementing some of the feature I added to the Emacs
mode, and if you do it would be useful if you used the
same protocol as I am using.
Please let me know if you have any questions.
Regards,
Elias