Disons qu'emacs génère une erreur que je ne comprends pas. Ou peut-être que l'erreur indique "La valeur du symbole en tant que variable est vide: modes", mais il y a beaucoup d'occurrences du symbole modes
dans mon code, j'ai donc besoin d'un peu de contexte. Emacs peut-il être configuré pour mentionner le numéro de ligne du code lisp afin que je puisse savoir quel code est à l'origine de l'erreur?
J'ai essayé de le faire (setq stack-trace-on-error '(buffer-read-only))
et j'ai exécuté le code en question dans le but d'obtenir une trace de pile. Pas de trace de pile non plus.
J'ai également essayé d'appeler edebug-defun
ma fonction et de la franchir. Ce n'est que lorsque je quitte la fonction que l'erreur est levée.
(Je ne suis vraiment pas aussi intéressé par la cause de l'erreur particulière que je rencontre actuellement que par le développement de compétences générales de débogage pour elisp. Veuillez me conseiller sur la façon dont je peux faire briller un numéro de ligne, ou un sexp, ou une trace de pile à partir d'un Erreur.)
t
, puis procéder à l'évaluation d'une fonction de lancement d'erreur.)
debug-ignored-errors
liste ne contient aucune erreur. Si vous définissez debug-on-signal
sur non nil
, et que c'était le cas que l'autre code a traité l'erreur, vous pourrez obtenir l'erreur avant que l'autre code ne le fasse.
nil
debug-on-error
? Cela ne vous aide-t-il pas?