git clone 'git://github.com/lokedhs/gnu-apl-mode.git'
To install, add the following to your
(add-to-list 'load-path "~/path-to/gnu-apl-mode") (require 'gnu-apl-mode)
You can then start the APL interaction using
This package requires certain features of GNU APL that was implemented
as of version 1.2. In partciular, it takes advantage of a command line
--emacs which enables certain features that are used
by this mode. If your version of GNU APL is too old, you will get an
error message saying that the
--emacs flag is not understood.
This version of the mode uses a different method to communicate with the backend GNU APL instance. Instead of sending commands to the command line, it now loads native code which allows the Emacs mode to communicate using a network connection.
GNU APL ships with the native component of this mode and is installed
libemacs.so. If you are using a newer version of this Emacs mode,
it may cause compatibility problems between the native module and the
Emacs Lisp code. If this happens, you need to compile the module
yourself (from the
native directory) and install it in the
directory where GNU APL is installed.
This mode provides two different ways to input APL characters. The first is part of the mode itself, and implements the full GNU APL keymap, when the “super” key is active.
If your keyboard does not have a super key (I highly recommend that
you map one, for example the otherwise useless windows key), you can
also use the
APL-Z mode. Simply press
C-\ and choose
will provide the same keymap, but prefixed by “.”. Pressing dot twice
will output a dot on its own.
By default, the keyboard help buffer is opened whenever the GNU APL
interactive mode is started. If you do not want this behaviour, set
nil. This value can
be customised using
Some operating systems (in particular, Fedora) does not ship with fonts that contain all the nescessary APL symbols. One free font that contains all symbols and also looks good is GNU Free Mono. It can be downloaded here: https://www.gnu.org/software/freefont/
Usually, one wants to use a different font for APL buffers. This mode
includes a face called
gnu-apl-default which is used in various
places, such as the help buffers. However, it's not currently enabled
by default in the interactive session, nor in APL buffers.
If you want to enable this, add the following to your
(defun em-gnu-apl-init () (setq buffer-face-mode-face 'gnu-apl-default) (buffer-face-mode)) (add-hook 'gnu-apl-interactive-mode-hook 'em-gnu-apl-init) (add-hook 'gnu-apl-mode-hook 'em-gnu-apl-init)
buffer-face-mode with the chosen font when an APL
buffer is opened.
This may be changed to be the default in a future version.