Emacs和Prolog

Cod*_*lus 5 emacs prolog swi-prolog

我今天下载了SWI Prolog但是,我无法让emacs识别我的prolog文件.我正在使用扩展名保存我的prolog文件,.pl但它一直认为它们是perl文件.在我的主目录中./.emacs file,我有我的prolog.el文件.同样在我的./.emacs文件末尾,我附加了以下内容:

(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
(autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t)
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
(setq prolog-system 'swi)
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
                                ("\\.m$" . mercury-mode))
                               auto-mode-alist)
Run Code Online (Sandbox Code Playgroud)

我正在使用此示例.emacs文件:示例Emacs文件

为什么emacs不能识别我的prolog文件?我不熟悉emacs,所以非常感谢所有帮助!

Dan*_*ons 7

Emacs预先配置为使用Perl而不是Prolog for .pl,因为Perl更常见.将其添加到.emacs以永久更改配置:

(add-to-list 'auto-mode-alist '("\\.\\(pl\\|pro\\|lgt\\)" . prolog-mode))
Run Code Online (Sandbox Code Playgroud)

如果您只想为单个文件和编辑会话M-x prolog-mode执行一次,则会执行此操作.