help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what can I do with regexp match?


From: Seweryn Kokot
Subject: Re: what can I do with regexp match?
Date: Mon, 14 May 2007 15:17:16 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.95 (gnu/linux)

"Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:

> Seweryn Kokot wrote:
>> Hello,
>>
>> I would like to have a function that visits all the tex files included
>> in main.tex file. I wrote the following function:
>> (defun my-document-files ()
>>   "Open all document files"
>>   (interactive)
>>   (while (re-search-forward "\\\\include{\\(.*\\)}")
>>       (find-file (concat "~/nauka/doktorat/thesis/" "\\1" ".tex"))))
>>
>> But it doesn't work since \\1 is not replaced by regexp match. The
>> result is that the function visits \1.tex file. The question is how to
>> process the regexp match to make it argument for find-file or more
>> general question how to save the match in a variable or list?
>
>
> (match-string 1) ;; At least in Emacs 22
Thanks, the prolbem with \1 is solved but then the function only finds
first occurrence of \include{filename} and then I get in the echo buffer: 
while: Search failed: "\\\\include{\\(.*\\)}"

Now my function is:
(defun my-document-files ()
  "Open all document files"
  (interactive)
  (while (re-search-forward "\\\\include{\\(.*\\)}")
         (find-file (concat "~/nauka/doktorat/thesis/" (match-string 1) 
".tex"))))

why it failed although I have much more occurences of \include{...} in
the main.tex file? Any idea?







reply via email to

[Prev in Thread] Current Thread [Next in Thread]