2010-12-08 36 views

Répondre

3

Si vous voulez juste des variables personnalisables, vous pouvez utiliser M-x-customize à propos.

Sinon, essayez quelque chose comme ceci:

(with-output-to-temp-buffer "*Variables*" 
    (set-buffer standard-output) 
    (insert (mapconcat (lambda (sym) (format "%s: %s" sym (eval sym))) 
        (apropos-internal "^comint-.*" 'boundp) "\n\n"))) 

Cela va produire un tampon *Variables* avec des contenus tels que:

comint-accum-marker: nil 

comint-buffer-maximum-size: 1024 

comint-completion-addsuffix: t 
... 
1

pas "parfait" mais vous pouvez faire Chvprefix, puis appuyez sur l'onglet pour obtenir toutes les variables qui commencent par ce `préfixe.

Si vous voulez l'essayer manuellement, la fonction que vous devez rechercher est completion--do-completion.

1

Voilà comment je le ferais:

(require 'cl) 
(loop for sym being the symbols 
     when (and (boundp sym) (string-match "^comint-" (symbol-name sym))) 
     collect (cons sym (symbol-value sym))) 

Sur mon système, ce sera évalué à:

((comint-output-filter-functions comint-watch-for-password-prompt) 
(comint-mode-abbrev-table . [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]) 
(comint-exec-hook (lambda nil (set-process-query-on-exit-flag ... nil))) 
(comint-file-name-prefix . "")) 
+0

Salut Sean - Je suis curieux de savoir le mécanisme derrière tout cela. Même après (require 'cl) les symboles ne sont pas liés. Est-ce que cette possibilité de faire une boucle sur la table de symboles est intégrée dans la macro de boucle? Je n'ai pas pu trouver cela documenté (même si cela fonctionne comme vous le décrivez). – SetJmp

+0

Oui, la macro de boucle gère les clauses de la forme "being the" spécialement. Les autres possibilités sont "être les cadres" (pour parcourir tous les cadres visibles) et "être les tampons" (pour parcourir tous les tampons). Voir: http://www.gnu.org/software/emacs/manual/html_mono/cl.html#For-Clauses pour des informations plus complètes. – Sean