Я использую spacemacs и следую стандартной настройке Prolog on Emacs, начиная с здесь . После того, как у меня возникла проблема с использованием .spacemacs
, я выполнил каждую команду вручную в буфере scratch
(require 'ob-prolog)
ob-prolog
(load-file "~/.emacs.d/prolog.el")
t
(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
nil
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
nil
(setq prolog-system 'swipl)
swipl
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
("\\.m$" . mercury-mode))
auto-mode-alist))
...big hairy list...
... это swi-prolog 8.0.2, кстати. Затем я открываю файл пролога - prolog.el
загружается нормально - и запускаю пролог REPL, который отображается как *prolog*
. Затем я пытаюсь что-то сделать на REPL - и он зависает, просто сидит там, ничего в Messages . То же самое, если я пытаюсь C-c C-c блок кода пролога в режиме орг, то есть он просто зависает и ничего не делает, пока C-g не убьет его. Но затем я пробую этот же процесс в простой emacs -Q
сессии - и все работает. Я на 26.2, недельных космических маках, последний орг-режим. Не уверен, что делать на этом этапе. Иногда я обнаружил загадочные переводы строк в моем файле .spacemacs
. Но я не нашел в этот раз - я думаю. Еще одна странная вещь, я могу открыть файл пролога и сделать consult buffer
, и REPL ведет себя нормально. То же самое с consult file
. Но если я попробую простую вещь: write ('hello, world!').
Он зависает. Точно так же, если я попытаюсь [test.pl].
UPDATE
В отдельном сеансе, но не в emacs -Q
и не в spacemacs, я получаю сообщение REPL, но блоки режима org все еще зависают. Тем не менее, я получаю эту странную странность при первой попытке C-c C-c на блоке:
executing Prolog source code block
org-babel-prolog--session-load-clauses: Symbol’s function definition is void: prolog-prompt-regexp
Последующие попытки просто зависают.