A
provisional interface to emacs has been included since version
1.6 of SWI-Prolog. The interface is based on the freely distributed
interface delivered with Quintus Prolog. When running Prolog as an
inferior process under GNU-Emacs, there is support for finding predicate
definitions, completing atoms, finding the locations of
compilation-warnings and many more. For details, see the files
pl/lisp/README
and pl/lisp/swi-prolog.el
.