Emacs, Geiser и Chez Scheme с включенной расшифровкой

Я работаю над книгой Dybvig "The Scheme Programming Language". Я использую Chez Scheme 9.4.1 в качестве REPL. Я запускаю указанный REPL в Emacs, используя Geiser. Chez Scheme имеет функцию transcript-on, которая записывает ввод и вывод REPL в текстовый файл, что я считаю полезным. Однако, запустив это в Emacs и Geiser, я, однако, получаю также работающий «комментарий» от Geiser, который делает вывод текстового файла излишне подробным и громоздким, поскольку он включает очень подробный вывод Geiser. например

> (geiser:eval '#f '(geiser:autodoc '(1 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(2 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(3 1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(1)))
((result "()") (output . ""))
> (geiser:eval '#f '(geiser:autodoc '(1 1)))
((result "()") (output . ""))

Как мне ограничить вывод, поступающий в текстовый файл, только «чтением» и «печатью» ввода и вывода REPL без ненужных «комментариев» Гейзера, при этом получая преимущества от его запуска в Emacs и Geiser?


person haziz    schedule 30.10.2016    source источник


Ответы (1)


Я не эксперт в Geiser или Scheme, но знаком с lisp в emacs. Подозреваю, что вы не сможете так отфильтровать информацию - запросы Гейзера на информацию вводятся в тот же REPL, что и ваш, просто интерфейс emacs их не отображает. Тем не менее, Geiser, вероятно, просто использует буфер emacs для отображения REPL, и, как и любой другой текстовый буфер, вы сможете довольно легко скопировать его содержимое в файл. Если вы хорошо разбираетесь в настройке emacs, автоматизировать процедуру не составит труда — emacs довольно хорош в таких вещах.

person djeis    schedule 30.10.2016