Spacemacs и Prolog: REPL зависает - PullRequest
0 голосов
/ 03 июня 2019

Я использую 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

Последующие попытки просто зависают.

...