This section presupposes some knowledge of the GNU Emacs editor. The next two sections summarize the features that have been added to GNU Emacs specifically to support Quintus Prolog. It should be noted that these features are not available with the standard GNU Emacs distribution. The Quintus Prolog distribution contains Emacs-Lisp code that constitutes the interface. Users are free to modify this interface in any way, provided they adhere to the copying policies of the Free Software Foundation. Read the file COPYING in the GNU Emacs distribution for further details.

With GNU Emacs, you can talk to Prolog very much as you would without the GNU Emacs interface. The only difference with GNU Emacs is that control characters issued to Prolog generally have their GNU Emacs meaning rather than any meaning they might have outside of GNU Emacs. The reason for this is that the Prolog window is still an edit buffer, and you are free to move up and down in it and modify its contents using the full range of editing commands. Thus ^d deletes a character, ^u may be used to specify an argument for the next command, and so on.

The general philosophy of the Prolog/GNU Emacs interface is that you should not be able to lose your Prolog prompt(by deleting a line, for example). For this reason, a few commands have been slightly modified. There are also a number of additional key bindings, which are described below.

GNU Emacs is a customizable editor. You can use a language called Emacs-Lisp to extend or alter the way it behaves, and in fact this is the way that the Prolog/GNU Emacs interface has been built. If you want to make your own extensions, you may need to know something about the way this interface works; notes to assist you are provided later in this section.

WARNING: The Prolog/GNU Emacs interface uses the control character ^] for its communication. If this character has been made special by the UNIX command stty(1), the Prolog/GNU Emacs interface will not work. If there is a problem with the interface, you can use stty all to see all the special character settings and see if ^] is shown. None of this is a problem under Windows or when using GNU Emacs via X Windows under UNIX.