Le jeudi 1 juin 2023 à 16:01, Michel Verdier <mv...@free.fr> a écrit :
> Le 1 juin 2023 benoit a écrit : > > > Il me reste juste l'exception pour le cas ou je veux laisser les "\n" des > > lignes qui se terminent par un "." ? > > > Ah oui j'avais zappé ça. Voilà mon texte de test : > > Je voudrais reformater du texte en colonne, qui a été just- > ifié avec des retours à la ligne (\n) et est - de coupure de > mot. > Mais pas ce dernier. > > Et l'ajout de la ligne qui va bien : > > (defun ConvertRet () > "Convertit un retour à la ligne." > (interactive) > (let ( > (p1 (region-beginning)) > (p2 (region-end))) > (save-restriction > (narrow-to-region p1 p2) > (goto-char (point-min)) > (while (re-search-forward "-\\\n" nil t) > (replace-match "" nil t)) > (goto-char (point-min)) > (while (re-search-forward "\\\n" nil t) > (cond (not match ".\\\n") > (replace-match " " nil t))) > ))) > > (defun indentBuffer () > "Convertit un texte jutifié avec des retours à la ligne." > (interactive) > (mark-whole-buffer) > (ConvertRet)) (cond (not match ".\\\n") Ne fonctionne pas chez moi Est ce que ".\\\n" ne veut pas dire n'importe que caractère (.) suivit de \n ? Du coup j'ai essayé deux formes : "\\.\\\n" "[.]\\\n" Mais il désélectionne la première ligne et rien ne se passe J'ai joint un fichier formaté sur 72 caractères comme exemple
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mollis sagittis libero at semper. In lacinia in lorem sit amet semper. Nulla pellentesque venenatis dolor, et dapibus dolor feugiat ut. Aenean purus nunc, elementum vel lectus sed, blandit laoreet ipsum. Aenean in augue lobortis leo accumsan maximus. Maecenas ante est, ornare vel ullamcorper sodales, ultrices sit amet augue. Donec ut augue eget odio tempus condimentum sit amet eu tortor. Aliquam tincidunt lacinia nulla eu pretium. Nunc eu velit velit. Mauris a volutpat odio, vitae molestie tellus. Proin fermentum tempus tempor. Maecenas pellentesque consequat quam, in fringilla lectus mollis nec. Ut tristique magna hendrerit, gravida metus id, dapibus dui. Proin sed consequat risus. Aenean eu placerat leo. Suspendisse pulvinar augue porttitor risus tempus tristique. Donec mauris nulla, suscipit non arcu non, ullamcorper feugiat dui. Vestibulum at orci cursus, elementum tellus ut, accumsan ipsum. Nam luctus neque quis arcu posuere, vulputate volutpat magna efficitur. Maecenas ut leo quis est molestie faucibus. Nam commodo est ac elit molestie hendrerit. Aliquam ut aliquet mauris. Maecenas magna magna, volutpat cursus ligula vel, tristique laoreet ante. Maecenas malesuada ante fringilla, sagittis massa fringilla, rutrum ligula. Nullam gravida dolor ut dolor faucibus, ac posuere mauris lobortis. Fusce tempor sodales enim, et lobortis arcu mattis vehicula. Ut posuere tristique diam id lobortis. Integer porta neque sit amet erat aliquet consectetur sed quis mi. Maecenas ut maximus diam. Sed rhoncus lorem vel eros dictum, sit amet vehicula dui mollis. Mauris euismod felis hendrerit, tempus sapien quis, commodo eros. Vestibulum id auctor libero, non accumsan enim. Nulla facilisi. Mauris vel lacinia sem. Aliquam nec molestie enim. Cras ac justo eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Fusce eget felis congue, vulputate est eget, bibendum sapien. Donec scelerisque erat vitae massa molestie sodales. Ut lorem quam, varius ac purus in, cursus pulvinar ante. Phasellus et mi sed elit molestie accumsan. Ut venenatis suscipit urna quis commodo. Aliquam suscipit aliquet magna, vitae condimentum ipsum aliquet in. Pellentesque condimentum est eu lorem elementum luctus. Nunc venenatis justo sit amet dui rutrum scelerisque. Duis ut pellentesque ante, ornare vulputate dui. Etiam congue sed ante sit amet euismod. Maecenas rutrum laoreet sapien ut tincidunt. Maecenas commodo eros sit amet posuere varius.