Читатель Lisp сообщает о недопустимом синтаксисе, но не может указать, где на самом деле проблема. Например, ошибка «End of file during parsing» при вычислении выражения указывает на избыток открытых скобок (или квадратных скобок). Читатель обнаруживает этот дисбаланс в конце файла, но не может определить, где должна была быть закрывающая скобка. Точно так же, «Invalid read syntax: ")» указывает на избыточную закрывающую скобку или пропущенную открывающую скобку, но не указывает, где должна находиться пропущенная скобка. Как же тогда найти, что нужно изменить?
Если проблема не просто в дисбалансе скобок, полезной техникой является попытка
использовать C-M-e (end-of-defun, см. Перемещение по defun в Руководство GNU Emacs) в начале каждого
defun и посмотреть, переходит ли курсор в место, где, как кажется, заканчивается этот
defun. Если нет, то в этом defun есть проблема.
Однако несоответствующие скобки являются наиболее распространенными синтаксическими ошибками в Lisp, и мы можем дать дополнительные советы для таких случаев. (Кроме того, простое перемещение курсора по коду с включенным режимом Show Paren может найти несоответствие.)