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

Re: Help to review a patch in ELisp



Stéphane Aulery <saulery@free.fr> writes:

> Hello,
>
> I am looking for a person who knows enough to verify a ELisp patch. The
> patch is supposed to fix a problem of space in file names [1], upstream
> unfortunately does not have the in-house expertise [2].
>
> Volunteers?

The change to elisp only touch one regexp, and only to its beginning.
when one remove the first level of quoting it is:

^\([^ \t]+\)[ \t]+\([^ \t]+\)[ \t]+\([0-9]+\)[ \t]+\(.*\)\n"
replaced by
^\([^\t]+\)[ \t]+\([^ \t]+\)[ \t]+\([0-9]+\)[ \t]+\(.*\)\n"

So it was looking for 4 group of char, separate by one space or tab, the
first and second being made of any char not char or space, the third
being made of digit, and the last of everything until end of line.

It is now mostly the same, the only difference is that the first group
may also contain space, and in practice must be ended by one tabulation
(as the regexp is greedy, if there is a space at the end of the first
group, it will be added to the first group...)

By looking at
http://www.opensource.apple.com/source/cscope/cscope-5/cscope/contrib/xcscope/xcscope.el
it seem that this regexp is use to parse the output of some program,
each line should always match it, the first group being the file, the
second the function-name, the third the line-number and the last the
line.

This seem good, the only problem being that the old regexp make the
assumption that the file and the function-name are separated by a space
or a tab, and the new one might failed if the separator is a space and
not a tab.



-- 
Rémi Vanicat


Reply to: