В одному з моїх розширень виявилася помилка, яка, зрештою, була викликана тим, що вона set
не працює, як я очікувала:
;; -*- lexical-binding: t -*-
(let ((a nil))
(setq a t)
(print a))
(let ((a nil))
(set 'a t)
(print a))
при запуску з emacs -Q --batch -l temp.el
відбитками:
t
nil
Це здається мені дуже дивним. Я опинився під враженням, яке (setq a b)
є скороченим (set 'a b)
. Що відбувається?