This is an old revision of the document!
Поле ввода процедур guile открывается по нажатию клавиши : (двоеточие). После этого пользователь может вводить команды в появившемся поле ввода и наблюдать результат выполнения команд в окне журнала.
В текущей версии репозитория geda-gaf (на 09.02.2016) имеется дополнительная функция вызова REPL в фоновом терминале, запускаемая по нажатию FShift+R.
Учтите, что в данный момент можно запустить её несколько раз, что может привести к путанице в терминале. Кроме того, есть вероятность закрыть работающую версию gschem, при использовании некоторых сочетаний клавиш.
При работе в терминале можно подключить функции библиотеки readline. Для этого в терминале следует набрать:
(use-modules (ice-9 readline)) (activate-readline)
Для запуска внешнего графического окна, предоставляющего функции REPL, необходима библиотека работы с REPL из проекта guile-gnome. В Debian, например, для её использования необходимо установить пакет guile-gnome2-gtk. Для вывода окна наберите в поле встроенного REPL:
(use-modules (gnome-2) (gnome gtk) (gnome gtk graphical-repl)) (guile-gtk-repl)
Для запуска REPL в терминале нужно открыть сокет изнутри gschem. Для этого надо загрузить системный модуль для REPL и вызвать функцию порождения сервера.
(use-modules (system repl server)) (spawn-server)
Без параметров функция запуска сервера работает с портом 37146, используемым в guile по умолчанию. Для использования другого порта можно задать, например:
(spawn-server 1234)
При открытии порта учтите соображения по безопасности, указанные здесь https://lists.gnu.org/archive/html/guile-devel/2010-10/msg00044.html.
Дальше необходимо просто подключиться к нему любой программой, которая может работать с сокетом, например, используя telnet, netcat или другую программу. Примеры использования telnet:
$ telnet localhost 37146
Пример использования netcat:
$ nc localhost 37146
В этом случае интерфейс readline работать не будет.
Пользователи Emacs для работы с REPL могут использовать чудесное
окружение Geiser.
Для этого нужно установить данный пакет, запустить сервер REPL в
gschem и подключиться к нему в Emacs с помощью M+X
connect-to-guile
.