2010-10-26 10 views

Répondre

15

Vous pouvez essayer d'utiliser M-C-x (eval-defun), qui réévaluera la forme de premier niveau autour du point. Contrairement à M-x eval-tampon ou C-x C-e (exal-last-sexp) pour réinitialiser les variables déclarées avec defvar et defcustom à leurs valeurs initiales, ce qui pourrait ce qui vous trébuchement.

2

M-x eval-buffer devrait le faire.

+0

Eval-buffer réévalue le code, mais le comportement du mode mineur ne semble pas être mis à jour, même si je l'éteins et le rallume. Y a-t-il une commande que je peux utiliser en combinaison avec celle-ci pour recharger le mode mineur? – davidscolgan

+0

Eh bien, j'ai supposé que les modes mineurs fonctionnaient de manière similaire aux modifications de fichiers .emacs, mais je me trompe clairement. Ma prochaine conjecture était que le.emacs devrait aussi être rafraîchi - pas de dés. Je suppose que nous devrons tous les deux attendre que quelqu'un sache de quoi ils parlent. Désolé pour la mauvaise tentative. – Greg

1

Tout dépend de ce que vous écrivez et comment vous l'avez écrit. En basculant le mode devrait vous obtenir le nouveau comportement. Si vous utilisez [define-minor-mode][1], vous pouvez ajouter du code dans le corps de la macro que les clés au large de la variable mode:

(define-minor-mode my-minor-mode 
    "doc string" 
    nil 
    "" 
    nil 
    (if my-minor-mode 
     (progn 
     ;; do something when minor mode is on 
    ) 
    ;; do something when minor mode is off 
    ) 

Mais, une autre façon de le vérifier serait rapidement frayer un nouveau Emacs de votre existant :

M-x shell-command emacs& 
3

essayez aussi C-u C-M-x qui évalue la définition au point et définit un point de jonction, de sorte que vous obtenez est tombé dans le débogueur lorsque vous appuyez sur cette fonction.

M-x ielm est également très utile en tant que LPL REPL riche en fonctionnalités lors du développement du code Emacs.

1

Ce que dit Sean. En outre, j'ai (eval-defun) lié à une clé, avec un test. La boucle de développement devient alors: 1) modifier la fonction, 2) appuyer sur la touche eval-and-test, 3) observer les résultats, 4) répéter. Ceci est extrêmement rapide.

Pendant le développement, j'écris un test, le lie à jmc-test, puis utilise la clé ci-dessus pour l'exécuter sur ma fonction qui vient d'être éditée. J'édite plus, puis j'appuie à nouveau sur la touche pour le tester à nouveau. Lorsque la fonction fonctionne, je zappe jmc-test, édite une autre fonction et écris une autre fonction jmc-test. Ils sont presque toujours une ligne de code, si facile à frapper juste. Lors de l'édition de "myfunc", si j'appuie sur le clavier enter, il affiche "out: 3".

+0

Pourquoi avez-vous le formulaire (quand ...)? Sinon, aime ça! – ftravers

0

je définis juste une fonction appelée LDF (abréviation de charge-file) dans mon fichier .emacs, comme ceci:

(defun LDF (arg) (interactive "P") (charge-fichier (tampon -file-name)))

Comme vous pouvez le voir, cette petite fonction recherche le nom de fichier du tampon courant, puis charge le fichier. Chaque fois que j'ai besoin de recharger le fichier elisp du tampon, tapez "M-x ldf"