11.1 Правила согласованности

Ошибки связанные с пакетами могут быть очень тонкими и запутанными. Для предотвращения большинства распространённых ошибок, которые могли бы быть при обычном использовании, система пакетов Common Lisp’а спроектирована с рядом безопасных мер. Может показаться, что такая защита избыточна, однако опыт предыдущих систем пакетов показал, что такие меры необходимы.

При работе с системой пакетов, полезно держать в памяти следующие правила. Эти правила остаются в силе, пока пользователь не изменил значение *package*.

Эти правила согласованности остаются в силе, несмотря на любое количество неявных случаев пакетирования символов в Lisp’овых формах, загрузках файлов и так далее. Пока текущий пакет не меняется, согласованность сохраняется вне зависимости от порядка загрузки файлов или истории вводимых символов. Правила могут быть нарушены только явным действием: изменением значения *package*, продолжением выполнения после ошибки, или вызовом одной из «опасных» функций unintern, unexport, shadow, shadowing-import или unuse-package.