Bonjour,
Je me permets de relater ma mésaventure avec emacs (ou AucTeX).
Je «travaille» sur un projet de fabrication de code metapost (avec
lualatex) afin d’automatiser la création de figures. Pour cela il me
faut prévoir d’intervenir avec lua sur du code metapost (ajouter,
couper, coller, modifier, recoller…) et il importe dans ces
manipulations que l’éditeur soit respectueux du code, au caractère près,
c’est à dire qu’il n’introduise ni ne supprime des éléments.
Eh bien je viens de constater que emacs (mon éditeur favori jusqu’à ce
jour) se permet au moment de l’enregistrement (c’est à dire sans qu’on
s’en aperçoive) d’ajouter un passage à la ligne en fin de dernière
dernière ligne du fichier (s’il n’y en a pas), dans un code metapost.
J’ai vérifié, c’est pareil avec du code latex, mais il se conduit
normalement avec du texte non codé.
Un éditeur de devrait pas faire ça. D’ailleurs gedit, nano, mousepad
sont plus respectueux.
C’est après plusieurs jours de recherche dans les programmes en lua,
pour comprendre la raison de disparitions de caractères et
d’espacements, que j’ai enfin compris que le bug venait de l’éditeur.
Aussi, je pense utile de le faire savoir !
J’espère ne pas me tromper et ne pas médire !
JM Boucart
Bonsoir,
Effectivement, je me suis fait la même remarque un jour… Et le coupable est dans prog-mode.el :
(define-derived-mode prog-mode fundamental-mode “Prog”
“Major mode for editing programming language source code.”
(setq-local require-final-newline mode-require-final-newline)
(setq-local parse-sexp-ignore-comments t)
(add-hook 'context-menu-functions 'prog-context-menu 10 t)
;; Any programming language is always written left to right.
(setq bidi-paragraph-direction 'left-to-right))
Je suppose qu’on doit pouvoir redéfinir la valeur de require-final-newline avec prog-mode-hook.
Bonnes recherches,
Bastien Dumont
Le Monday 27 March 2023 à 07:48:04PM, Jean-Michel Boucart a écrit :
Bonjour,
Je me permets de relater ma mésaventure avec emacs (ou AucTeX).
Je «travaille» sur un projet de fabrication de code metapost (avec lualatex)
afin d’automatiser la création de figures. Pour cela il me faut prévoir
d’intervenir avec lua sur du code metapost (ajouter, couper, coller,
modifier, recoller…) et il importe dans ces manipulations que l’éditeur
soit respectueux du code, au caractère près, c’est à dire qu’il n’introduise
ni ne supprime des éléments.
Eh bien je viens de constater que emacs (mon éditeur favori jusqu’à ce jour)
se permet au moment de l’enregistrement (c’est à dire sans qu’on s’en
aperçoive) d’ajouter un passage à la ligne en fin de dernière dernière ligne
du fichier (s’il n’y en a pas), dans un code metapost. J’ai vérifié, c’est
pareil avec du code latex, mais il se conduit normalement avec du texte non
codé.
Un éditeur de devrait pas faire ça. D’ailleurs gedit, nano, mousepad sont
plus respectueux.
C’est après plusieurs jours de recherche dans les programmes en lua, pour
comprendre la raison de disparitions de caractères et d’espacements, que
j’ai enfin compris que le bug venait de l’éditeur. Aussi, je pense utile de
le faire savoir !
J’espère ne pas me tromper et ne pas médire !
JM Boucart