Я использую ccl / openmcl в Mac OS X (последние версии обоих). Когда отображается приглашение lisp, использование клавиш курсора для навигации по текущей строке приводит к escape-кодам, а не к перемещению, например:
Welcome to Clozure Common Lisp Version 1.2-r9226-RC1 (DarwinX8664)!
? (^[[D
Здесь я нажал клавишу (
, а затем клавишу left cursor
.
Когда я запускаю ccl / openmcl в блоке Debian Etch, курсор ведет себя так, как ожидалось, и перемещает точку вставки на одну позицию влево.
Я предполагаю, что это какой-то вариант конфигурации терминала?
Если Clozure CL не предоставляет встроенную поддержку строки чтения / строки редактирования / любой другой поддержки или настроен так, чтобы ее не использовать, вы можете запустить ее с помощью rlwrap, например:
rlwrap openmcl
rlwrap можно получить через MacPorts или напрямую из http://utopia.knoware.nl/~hlub/rlwrap/.
Да, я думаю, что в Mac OS есть проблемы с лицензированием, так что readline не может быть включен в ОС, но должен быть установлен пользователем.
Я думаю, что яблоку не нравится что-либо под GPL mrchucho.net/2007/11/06/leopard-readline-and-vi-bindings
Я знаю, что я не отвечаю на этот вопрос, но вам не следует тратить много времени на прямое использование lisp-ответа.
использование emacs и слизь - гораздо более удобный способ взаимодействия с лиспом. у вас под рукой есть инспектор и отладчик, вы можете перейти к исходному коду функций и т. д.
Вероятно ли, что сборка ccl для debian будет настроена для ссылки на readline, а сборка для Mac OS - нет?