Обратный вызов для движения мыши, как оказалось, не является проблемой.
Причиной ошибки деления на ноль оказалось то, что GTK полагается на возможность деления на ноль. Все, что мне нужно было сделать, чтобы это исправить, - это сказать SBCL, чтобы он не считал деление на ноль ошибкой. Единственная причина, по которой было задействовано движение мыши, заключалась в том, что деление на ноль происходит тогда. Причина, по которой этого не происходит в большинстве других языков программирования, заключается в том, что они не считают деление на ноль ошибкой.
Чтобы исправить сценарий MCVE, чтобы он работал, просто добавьте эту строку после строки shebang, чтобы сказать, что она должна рассматривать только переполнение и недопустимую как ошибки с плавающей запятой, а не деление на ноль: (sb-int: set -floating-point-mode: traps '(: переполнение: недопустимо))