[dk-tug] reftex: træls lisp
Lars Madsen <[email protected]> Tue, 3 Jun 2014 11:34:21 +0000
| Newsgroups | gmane.comp.tex.danish |
|---|---|
| Message-ID | <[email protected]> |
Hej
Jeg sidder og retter på et dokument hvor jeg retter alle labels så de har prefix (nej jeg bruger ikke cleverref, for den er ikke altid clever).
Jeg har lavet min egen version af reftex-change-label (som nu er i emacs core i reftex-global.el)
Dette er originalen
(defun reftex-change-label (&optional from to)
"Run `query-replace-regexp' of FROM with TO in all macro arguments.
Works on the entire multifile document.
If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
with the command \\[tags-loop-continue].
No active TAGS table is required."
(interactive)
(let ((default (reftex-this-word "-a-zA-Z0-9_*.:")))
(unless from
(setq from (read-string (format "Replace label globally [%s]: "
default))))
(if (string= from "") (setq from default))
(unless to
(setq to (read-string (format "Replace label %s with: "
from))))
(reftex-query-replace-document
(concat "{" (regexp-quote from) "}")
(format "{%s}" to))))
den har jeg så modificeret således at den i stedet for at spørge efter ny label, så spørger den efter prefix.
Det fungerer glimrende.
Men der er et problem. Når makroen er færdig med at rette, så ender man op i en helt anden buffer end man starter i hvilket er bøvlet.
Men det ser ud til at reftex-query-replace-document er træls, eller rettere tags-query-replace (arbejdshesten i reftex-query-replace-document) har et problem. Når den er færdig skriver den
All files processed
men den ser ud til at den gør det med en error metode, i *Messages* står der
user-error: All files processed
Dvs. jeg kan ikke køre noget efter reftex-query-replace-document, det bliver aldrig udført.
Nogen der kender en omvej? Evt. hvordan man kan fange sådan en error så vi kan fortsætte bagefter?
/Lars Madsen
Institut for Matematik / Department of Mathematics
Aarhus Universitet / Aarhus University
Mere info: http://au.dk/daleif@imf / More information: http://au.dk/en/daleif@imf