[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnulib-tool bug
From: |
Eric Blake |
Subject: |
Re: gnulib-tool bug |
Date: |
Fri, 27 Feb 2009 23:42:24 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Bruno Haible <bruno <at> clisp.org> writes:
> Ah! The culprit is the --posix option that gnulib-tool adds:
>
> This looks like a bug to me: \\ expands to nothing. No way to produce a
> backslash in the replacement.
I concur.
> Can you confirm my interpretations?
>
> > POSIX says that \/ is not portable when / is not the delimiter.
>
> In addresses (selection of lines), certainly. But it the 's' command? I
cannot find
> the wording that says so.
"The replacement string shall be scanned from beginning to end. An
<ampersand> ’&’) appearing in the replacement shall be replaced by the string
matching the BRE. The special meaning of ’&’ in this context can be suppressed
by preceding it by a <backslash>. The characters "\n", where n is a digit,
shall be replaced by the text matched by the corresponding back-reference
expression. If the corresponding back-reference expression does not match, then
the characters "\n" shall be replaced by the empty string. The special meaning
of "\n" where n is a digit in this context, can be suppressed by preceding it
by a <backslash>. For each other <backslash> encountered, the following
character shall lose its special meaning (if any). The meaning of a <backslash>
immediately followed by any character other than ’&’, <backslash>, a digit, or
the delimiter character used for this command, is unspecified."
Thus, 's,^,\/,', is non-portable. But 's,^,\\/,' should result in adding the
two bytes \ and / at the front of the string. You are, however, correct
that 'sed --posix' fails to do this. And considering Solaris behavior, I think
we have a definite GNU sed bug. Paolo?
$ echo hi | sed --posix 's,^,\/,'
hi
$ echo hi | sed --posix 's,^,\\/,'
/hi
$ echo hi | /usr/xpg4/bin/sed 's,^,\/,'
/hi
$ echo hi | /usr/xpg4/bin/sed 's,^,\\/,'
\/hi
Time for me to document this in the autoconf manual.
--
Eric Blake
- gnulib-tool bug, Eric Blake, 2009/02/27
- Re: gnulib-tool bug, Bruno Haible, 2009/02/27
- Re: gnulib-tool bug, Eric Blake, 2009/02/27
- Re: gnulib-tool bug, Bruno Haible, 2009/02/27
- Re: gnulib-tool bug, Eric Blake, 2009/02/27
- Re: gnulib-tool bug, Bruno Haible, 2009/02/27
- Re: gnulib-tool bug,
Eric Blake <=
- Re: gnulib-tool bug, Bruno Haible, 2009/02/27
- Re: gnulib-tool bug, Paolo Bonzini, 2009/02/28