Ceci est probablement stupide mais je n'ai pas assez de connaissances Elisp pour comprendre ce qui se passe en ce qui concerne la citation et l'évaluation.Emacs Lisp: évaluer la variable dans alist
Supposons que j'ai ce code Elisp:
(add-to-list 'default-frame-alist '(width . 100))
(add-to-list 'default-frame-alist '(height . 50))
Il se traduira par la valeur par défaut-frame-alist prévu:
((height 50)
(width 100))
Mais maintenant, si j'ai ceci:
(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))
Il en résulte -
((height my-frame-height)
(width my-frame-width))
et, à en juger par la géométrie de la trame, n'évalue jamais ces variables. Comment puis-je faire apparaître les valeurs réelles de my-frame-width et height dans cet alist? Est-ce que j'ai trop de citations? Mais je ne peux pas enlever des évaluations add-to-list ...
Exactement ce que je cherchais, merci! Des questions comme celle-ci me rappellent que je devrais prendre le temps d'apprendre élisp systématiquement. –
Voir aussi [Emacs lisp évaluer variable dans alist] (http://stackoverflow.com/questions/15485833/emacs-lisp-evaluate-variable-in-alist) pour un problème similaire .. –
J'aime l'évidence intuitive de la chose de retour-et-virgule. – Cheeso