2009-08-09 7 views
7

Lorsque je définis des variables via M-x customize, les valeurs sont stockées dans cette grande liste générée automatiquement par ordre alphabétique dans mon fichier .emacs. Le problème est que je tiens à documenter pourquoi j'ai choisi une valeur particulière autre que la valeur par défaut pour une variable particulière. Si je fais cela en ajoutant des commentaires d'élisp à l'intérieur de la liste générée automatiquement, ils seront repoussés la prochaine fois que je personnaliserai une autre variable.Comment conserver les commentaires sur les variables définies via "M-x customize" sur emacs?

Y a-t-il un moyen de conserver mes commentaires, ou y a-t-il une autre manière standard d'annoter ceci?

Répondre

5

Personnellement, j'ai déplacé tous mes paramètres de personnaliser et dans mon fichier .emacs. Surtout parce que je n'aime vraiment pas l'interface utilisateur pour personnaliser.

Ainsi, au lieu de ceci est mon fichier personnalisé:

(custom-set-variables 
    ;; custom-set-variables was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
'(scheme-program-name "scheme") 
'(tetris-use-glyphs nil)) 

Je:

(setq 
    scheme-program-name "scheme"  ; because I like it 
    tetris-use-glyphs nil)   ; it's an example 

Cela étant dit variable mis sur mesure prend un certain nombre d'arguments, dont un est un commentaire. Ainsi, vous pouvez faire:

(custom-set-variables 
    ;; custom-set-variables was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
'(scheme-program-name "scheme" nil nil "this is a comment") 
'(tetris-use-glyphs nil nil nil "This is another comment")) 

Le commentaire ne se volatiliser lorsque vous modifiez la valeur de la variable, pas lorsque vous modifiez d'autres variables. Je ne suis pas sûr que ce soit l'usage approprié pour cela. C-h f custom-set-variables a plus d'infos.

+0

Hm .. Je ne suis pas trop familier avec Elisp, mais est-il possible que je puisse omettre le "nil nil" à chaque fois? 'describe-function' pour' custom-set-variables' dit que l'ordre des arguments est '(SYMBOL EXP [NOW [REQUEST [COMMENT]]])'. Y at-il un moyen de déplacer "MAINTENANT" et "DEMANDE" à la fin afin que je puisse éventuellement les laisser de côté? – hsribei

+0

vous pouvez écrire une macro elisp pour cela;) –

4

Au moins depuis 22.3, vous pouvez inclure un commentaire lorsque vous personnalisez quelque chose. Cliquez sur "Etat" -> "Ajouter un commentaire". Ceci est enregistré dans les commandes de personnalisation dans votre .emacs:

« (global salut-lock mode t néant néant "oui oui oui oui oui oui!")

(Apparemment, je J'étais excité quand j'ai trouvé cette personnalisation.)

Questions connexes