1 |
On 2022-06-03 00:45, Ionen Wolkens wrote: |
2 |
> On Fri, Jun 03, 2022 at 06:09:38AM +0200, Michał Górny wrote: |
3 |
> > On Tue, 2022-05-31 at 07:23 -0400, Ionen Wolkens wrote: |
4 |
> > > Often preferable to use patches so this happens, but sed have its |
5 |
> > > uses/convenience and this intend to help reduce the amount of old |
6 |
> > > broken seds causing issues that go unnoticed on bumps. |
7 |
> > > |
8 |
> > > Inspired by app-portage/iwdevtools' qa-sed (warns on any seds), but |
9 |
> > > this is for more deterministic use in ebuilds. |
10 |
> > > |
11 |
> > > Also slightly shortens sed use, -i is default, and no need to || die. |
12 |
> > > (see @EXAMPLE in eclass for a quick usage overview). |
13 |
> > > |
14 |
> > |
15 |
> > To be honest, I strongly dislike this. It really feels like trying to |
16 |
> > make an adapter for a square wheel, while the right solution would be to |
17 |
> > replace the wheel. On top of that, ton of evals which are pretty much |
18 |
> > a huge "no-no". |
19 |
> |
20 |
> About evals, the two eval is just to silence this: |
21 |
> |
22 |
> var=$(printf "\0") |
23 |
|
24 |
Or in ksh93 syntax: |
25 |
|
26 |
var=$'\0' |
27 |
|
28 |
> The 2>/dev/null doesn't work without wrapping it, aka |
29 |
> |
30 |
> eval 'var=$(printf "\0")' 2>/dev/null |
31 |
> |
32 |
> No variables are expanded pre-eval so it's just evaluating a |
33 |
> static statement. eval can be removed, but it'll be noisy |
34 |
> if someone happens to sed binary files. |
35 |
> |
36 |
> > |
37 |
> > Perhaps it would be better to forget about trying to work miracles with |
38 |
> > sed and instead write a trivial shell replacement for the most common |
39 |
> > use cases. One thing I'd love to see is a simple substitution command |
40 |
> > that would work for paths/CFLAGS on RHS without having to worry about |
41 |
> > them conflicting with the pattern delimiter. |
42 |
> > |
43 |
> > -- |
44 |
> > Best regards, |
45 |
> > Michał Górny |
46 |
> > |
47 |
> > |
48 |
> |
49 |
> -- |
50 |
> ionen |