quilt-dev
[Top][All Lists]
Advanced

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

Re: [Quilt-dev] [PATCH] Avoid warnings with grep 3.8


From: Andreas Grünbacher
Subject: Re: [Quilt-dev] [PATCH] Avoid warnings with grep 3.8
Date: Thu, 8 Sep 2022 12:58:16 +0200

Am Do., 8. Sept. 2022 um 11:53 Uhr schrieb Jean Delvare <jdelvare@suse.de>:
> GNU grep version 3.8 became more strict about needless quoting in
> patterns. We have one occurrence of that in quilt, where "/"
> characters are being quoted by default. There are cases where they
> indeed need to be quoted (typically when used in a sed s/// command)
> but most of the time they do not, and this results in the following
> warning:
>
> grep: warning: stray \ before /
>
> So make quoting of "/" by quote_bre() optional, and off by default.
>
> Signed-off-by: Jean Delvare <jdelvare@suse.de>
> ---
> As reported here:
> https://bugzilla.opensuse.org/show_bug.cgi?id=1203230
>
>  quilt/diff.in             |    2 +-
>  quilt/scripts/patchfns.in |    7 +++++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
>
> --- quilt.orig/quilt/scripts/patchfns.in        2022-09-08 11:06:22.647974801 
> +0200
> +++ quilt/quilt/scripts/patchfns.in     2022-09-08 11:27:26.506609417 +0200
> @@ -79,9 +79,12 @@ array_join()
>  }
>
>  # Quote a string for use in a basic regular expression.
> +# Optional second parameter can be used to quote an additional character,
> +# typically '/' when the quoted regular expression is used in a sed s///
> +# command.
>  quote_bre()
>  {
> -       echo "$1" | sed -e 's:\([][^$/.*\\]\):\\\1:g'
> +       echo "$1" | sed -e 's:\([][^$.*\\'$2']\):\\\1:g'
>  }

Hmm, can you replace quote_bre() with a quote_grep_re() and a
quote_sed_re() function instead?

>  # Quote a string for use in an extended regular expression.
> @@ -631,7 +634,7 @@ files_in_patch()
>         then
>                 find "$path" -type f \
>                                -a ! -path "$(quote_glob "$path")/.timestamp" |
> -               sed -e "s/$(quote_bre "$path")\///"
> +               sed -e "s/$(quote_bre "$path" /)\///"
>         fi
>  }
>
> --- quilt.orig/quilt/diff.in    2021-06-10 17:14:19.062768258 +0200
> +++ quilt/quilt/diff.in 2022-09-08 11:20:54.317134342 +0200
> @@ -255,7 +255,7 @@ then
>         # Add all files in the snapshot into the file list (they may all
>         # have changed).
>         files=( $(find $QUILT_PC/$snap_subdir -type f \
> -                 | sed -e "s/^$(quote_bre $QUILT_PC/$snap_subdir/)//" \
> +                 | sed -e "s/^$(quote_bre $QUILT_PC/$snap_subdir/ /)//" \
>                   | sort) )
>         printf "%s\n" "${files[@]}" >&4
>         unset files

Thanks,
Andreas



reply via email to

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