Ho avuto un bug in una delle mie estensioni che alla fine si è rivelato essere causato dal set
mancato funzionamento come mi aspettavo:
;; -*- lexical-binding: t -*-
(let ((a nil))
(setq a t)
(print a))
(let ((a nil))
(set 'a t)
(print a))
quando eseguito con emacs -Q --batch -l temp.el
stampe:
t
nil
Questo mi sembra molto strano. Avevo l'impressione che (setq a b)
sia una scorciatoia per (set 'a b)
. Cosa sta succedendo?