To jest prawdopodobnie głupie, ale nie mam wystarczającej wiedzy Elisp, aby zrozumieć, co się dzieje w odniesieniu do cytowania i oceny.Emacs Lisp: ocena zmiennej w alist
Załóżmy, że mam ten kod Elisp:
(add-to-list 'default-frame-alist '(width . 100))
(add-to-list 'default-frame-alist '(height . 50))
Spowoduje to oczekiwanej wartości domyślnych ramki ALIST:
((height 50)
(width 100))
Ale teraz, gdy mam to:
(setq my-frame-width 100)
(setq my-frame-height 50)
(add-to-list 'default-frame-alist '(width . my-frame-width))
(add-to-list 'default-frame-alist '(height . my-frame-height))
Spowoduje to -
((height my-frame-height)
(width my-frame-width))
i, sądząc z geometrii ramki, nigdy nie ocenia tych zmiennych. Jak wyświetlić rzeczywiste wartości szerokości i wysokości mojej ramki w tym zestawieniu? Czy mam zbyt wiele ofert? Ale nie mogę usunąć dowolny z add-to-liście ocenach ...
Dokładnie tego, czego szukałem, dzięki! Takie pytania przypominają mi, że powinienem poświęcić czas na systematyczną naukę elisu. –
Zobacz także [Emacs LISP ocenia zmienną w tym samym miejscu] (http://stackoverflow.com/questions/15485833/emacs-lisp-evaluate-variable-in-alist) dla podobnego problemu. –
Uwielbiam intuicyjną oczywistość rzecz z wycinkami i przecinkami. – Cheeso