EMACSインタフェースのインストール
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

Emacsインタフェ−スには、以下のファイルとディレクトリが必要です。

$PROROOT/util/emacs/ep-interface LispとPrologのコ−ドを定義します。これにより、IF/PrologからLispを呼び出したり、その逆もできるようになります。

$PROROOT/util/emacs/TAGS ptags.cとprolog.el用のTAGSファイルです。

$PROROOT/util/emacs/prolog.el Prologgモ−ドと下位のPrologを定義するEmacsのLispファイルです。

$PROROOT/util/emacs/ptags.c $PROROOT/util/emacs/ptags.man Lisp,Cなどと同様に、PrologのためにタグファイルをつくるCプログラムと、そのオンライン・マニュアルです。このプログラムは、GNU-Emacsに含まれているetags.cプログラムの代わりに使われます。ptags.cは、/usr/local/, /usr/local/binに置くことができます。 あるいは、$path 変数にpathをつけ加えなければなりません。

$PROROOT/util/emacs/term/* Emacsのファンクションキ−を、セットアップするのを助けるファイルです。

$PROROOT/util/emacs/lisp/* emacsのロードパスに含めるべきEmacs Lispファイルです。これらは、他のディレクトリ中のオリジナルへのリンクです。これらは、emacsの自動ロード機能が正常に作動するようにここに集められています。

GNU-Emacsのインスト−ルが終了すると、以下の手続きで簡単にPrologモ−ドを使用することができます。

 1) localとLispソ−スを含んだディレクトリ$PROROOT/util/emacsを、load-pathにつけ加える     (以下参照)。

 2) Prologファイルが編集される時に、Prologモ−ドになるように、auto-load-alistを変更する     (以下参照)。

上の2つを実現するためには、初期化ファイルのいずれか(パス名は適当に変えて下さい)に、以下のいずれかをつけ加えて下さい。

  yourlocalpath/emacs/lisp/default.el  ~/.emacs

以下のコ−ドは、$PROROOT/util/emacs/INSTALLのオンラインで見ることができます。ファイルdefault.elは、emacsによりユ−ザのファイル .emacsより前にロ−ドされ、emacsのサイトごとの設定に使うことができます。

;;; Modify the load path so that our prolog mode definition ;;; shadows any distributed ones, and include the ep-interface ;;; code in the path as well. ;;; ;;; These path names are typical for installation on a UNIX system ;;; yours may vary. ;;;

(setq load-path (append(list "$PROROOT/util/emacs/lisp" load-path))

;;; ;;; Arrange things so that emacs automatically enters prolog mode ;;; when files have the proper extensions ;;; (setq auto-mode-alist (append '(("\\.pro$" . prolog-mode) ("\\.pre$" . prolog-error-mode) auto-mode-alist))

(autoload 'prolog-error-mode "prolog" "Special mode to use with IF/Prolog's edit/1 and correct/0 Predicates and the emacsclient program. This is still an experimental interface and not guaranteed to work." t nil)


Up read on...