Saya memiliki bug di salah satu ekstensi saya yang pada akhirnya ternyata disebabkan oleh set
tidak berfungsi seperti yang saya harapkan:
;; -*- lexical-binding: t -*-
(let ((a nil))
(setq a t)
(print a))
(let ((a nil))
(set 'a t)
(print a))
saat dijalankan dengan emacs -Q --batch -l temp.el
cetakan:
t
nil
Ini sepertinya sangat aneh bagi saya. Saya mendapat kesan bahwa itu (setq a b)
adalah singkatan (set 'a b)
. Apa yang sedang terjadi?
sumber