emacs lexical scoping and quoted variable name
问题 I was experimenting with interplay between Emacs lexical scoping (new feature of Emacs 24) and add-to-list and found the interplay confusing and I don't know how to make sense of it. Here is a minimal example, except I use set instead of add-to-list . ( set is similar to add-to-list in that it usually takes a quoted variable name) (eval '(progn (setq a "global") (let ((a "apple")) (defun my-print-a () (print a) (set 'a "by set") (print a)) (setq a "mature apple")) (let ((a "banana")) (my