This library provides a
prolog-emacs interface. This interface is complementary to (and independent from) the
emacs mode, which is used to develop programs from within the
emacs editor/environment. Instead, this library allows calling
emacs from a running Prolog program. This facilitates the use of
emacs as a "user interface" for a Prolog program. Emacs can be made to:

Visit a file, which can then be edited.

Execute arbitrary
emacs lisp code, sent from Prolog.

In order for this library to work correctly, the following is needed:

You should be running the
emacs editor on the same machine where the executable calling this library is executing.

This
emacs should be running the
emacs server. This can be done by including the following line in your
.emacs file:

;; Start a server that emacsclient can connect to.
(server-start)

Or typing M-x server-start within
emacs.

This suffices for using
emacs to edit files. For running arbitrary code the following also needs to be added to the
.emacs file:

(setq enable-local-eval t)

Allows executing lisp code without asking.

(setq enable-local-eval nil)

Does not allow executing lisp code without asking.

(setq enable-local-eval 'maybe)

Allows executing lisp code only if user agrees after asking (asks interactively for every invocation).