Auparavant, je venais de couper et de coller du code dans mon fichier .emacs, mais j'ai alors décidé d'ajouter des fonctionnalités maven à emacs. Maintenant, je ne vois pas comment j'ai pu gâcher ça, mais hier soir, je n'arrêtais pas d'obtenir l'erreur que j'ai mise dans le titre lorsque je lance M-x jarl-mvn-exec. J'ai dormi dessus et je suis revenu le lendemain mais je n'arrive toujours à rien.
(defun jarl-get-pom ()
(concat (locate-dominating-file
(buffer-file-name
(current-buffer))
"pom.xml")
"pom.xml"))
(defun jarl-visit-pom ()
(interactive)
(find-file (jarl-get-pom)))
(defun jarl-mvn-exec ()
(interactive)
(switch-to-buffer (get-buffer-create "maven"))
(start-process-Shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "compile")
(start-process-Shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "exec:exec"))
Vous devrez fournir plus d'informations pour être sûr. Essayez de définir
(setq debug-on-error t)
ce qui vous donnera une trace de pile indiquant quelle fonction se plaint que la chaîne est nulle.
Je suppose que buffer-file-name
renvoie nil, et c'est là que réside le problème (tous les tampons n'ont pas de nom de fichier). Consultez la section débogage de An Introduction To Programming in Emacs LISP , ou la section debugging du manuel Emacs LISP.
Le secret pour trouver un problème dans votre fichier init n'est pas un secret: recherche binaire.
Utilisation comment-region
pour commenter la moitié de votre fichier init, puis 3/4, 7/8, ... Il est très très rapide d'identifier le problème. comment-region
décommente également: C-h f comment-region RET
.