2012-01-20 2 views
2

Я нахожу, когда я печатаю строку, как это для стандартного ввода CLISP программы ...Как можно запросить стандартный ввод ванили?

((74 25 80)) 

... курсор, кажется, танцевать, и не важно, правильно ли я делаю

(read) 

или

(read-from-string (read-line)) 

То есть, когда я типа каждую правая скобка, курсор на короткое время парит над согласующей левой скобкой. Если я наберу вперед, иногда вся строка, набранная до этого момента, повторно отозвана обратно ко мне.

Это было бы замечательно, я думаю, но я делаю это через pty, и я хочу, чтобы входные данные из этого pty (что отображается на стандартном выходе и выходе ошибки CLIS), были «чистыми». Нет танцевального курсора, нет повторного эха линии.

Я полагаю, что я мог использовать именованные каналы для ввода и вывода, но я хочу обработать это через pty.

Как сделать стандартный ввод чисто ванильным? Нет танцевального курсора? Нет повторного повторения typeahead? Могу ли я изменить файл конфигурации где-нибудь?

ответ

2

Звучит как GNU Readline используется. Есть флаг командной строки -disable-readline для clisp according to this page. В противном случае, я думаю, вам придется использовать канал, чтобы либо убедить readline, что он не читает с терминала, либо не выводит его на терминал.

+0

Ваш диагноз кажется правильным. Мой clisp не является достаточно новым, чтобы иметь параметр «-disable-readline», но обертывание сценария оболочки вокруг программы «cat | myprogram | кошка 'делает трюк! Спасибо! –

Смежные вопросы