Ввод S-выражений

Для ввода S-выражения следует установить курсор в область ввода, ввести (и, при необходимости, отредактировать) выражение, установить курсор после последней скобки S-выражения и нажать Enter. Текст введенного выражения будет передан интерпретатору только в случае, если скобки сбалансированы. Если же скобки несбалансированы или стоят в неправильном порядке, то выдается звуковой сигнал, а в шестой панели статус-бара появляется предупреждение:



Для контроля баланса скобок и показа их вложенности существует встроенное средство. Если выполнить однократный щелчок мыши сразу же за правой скобкой или непосредственно перед левой скобкой, то произойдет выделение цветом текста части S-выражения, ограниченного парной скобкой. Это выглядит так:



Корректное (в смысле скобочной структуры) выражение передается интерпретатору. Если включен режим эха, введенное выражение дублируется в области вывода, а вслед за этим, после комбинации "==>" выводится результат вычисления:



Команды, введенные пользователем, запоминаются в специальном буфере. Размером этого буфера можно управлять - количество запоминаемых команд задается в конфигурационном файле homelisp.ini. Для вызова введенной ранее команды в область ввода, следует нажать сочетание клавиш Ctrl+ВасkSpace. Повторное нажатие этого сочетания клавиш вызовет команду, введенную до предыдущей, и т.д. После вызова самой ранней команды из буфера будет вызвана самая поздняя (предыдущая) команда. Если пользователь вводит команду (S-выражение), которое уже есть в буфере, то введенное выражение не дублируется. В противном случае последняя введенная команда запоминается, а самая старая удаляется из буфера.

В процессе вычисления S-выражений могут произойти ошибки. Сообщения об ошибках выводятся независимо от состояния режима эха. Разработчик обращает внимание на следующее важное обстоятельство. Не следует вводить несколько независимых S-выражений за раз. Точнее, в этом случае обработается только первое S-выражение; остальные будут проигнорированы. Игнорируются символы, стоящие правее правой скобки, закрывающей первое S-выражение. Об этом пользователь будет предупрежден. Так, если введено:


То пользователь увидит в области ответа:


При вводе S-выражений доступно контекстное меню, активизируемое по нажатию правой клавиши мыши и позволяющее переносить в область ввода данные из буфера обмена, очищать области ввода и вывода. Кстати, выделять и помещать в буфер обмена можно также блоки текста из области вывода.