Hi, On Wed, 2022-01-19 at 13:31 +0100, наб via Elfutils-devel wrote: > On Tue, Jan 18, 2022 at 11:13:28AM -0500, Frank Ch. Eigler wrote: > > You mean "prefix=@prefix@". And it's not needless, > > because @sysconfdir@ often expands to "$prefix/something", > > which requires a prefix var to be set for evaluation. > > I did, and yeah, that's right. Guess it was so outlandish that I > completely missed it. Dropped. > > > > 2. Simplify needless sh -c "cat glob 2>/dev/null" > > > into cat glob 2>/dev/null > > > > This is not needless, but I forget the exact details. It probably > > has > > to do with the $prefix expansion just above, or perhaps glob > > non-matching error handling. > > Well, no, as-written, it is needless. It's also incorrect, > since it's subject to word-splitting (=> a broken glob) again. > > But, yeah, turns out csh does have "glob non-matching error handing", > which is both news to me and a blast from a V3-era past. > That being said, it was also broken, because under csh > false | cat > fails, for some inexplicable reason, and if the glob "fails", > so does cat, so so does sh. > > I've restored it, in a fashion that isn't subject to re-splitting, > and actually protects -e mode, for csh. > > v2 scissor-patch below. > > Please keep me in CC, as I'm not subscribed, > наб > > -- >8 -- > 1. Simplify needless sh -c "cat glob 2>/dev/null" > into cat glob 2>/dev/null under sh > and fix re-expansion/-e protection under csh > 2. Use $( instead of ` under sh > 3. Assign to D_U directly and either export it or unset it
This seems reasonable to me, but I did have to lookup the exact workings of sh -c to make sense of it. -c string If the -c option is present, then commands are read from string. If there are arguments after the string, they are assigned to the positional parameters, starting with $0. I have added a ChangeLog entry: 2022-01-19 Ahelenia Ziemiańska <nabijaczlew...@nabijaczleweli.xyz> * profile.csh.in: Set DEBUGINFOD_URLS directly. Use "$0" and : in sh -c. * profile.sh.in: Set DEBUGINFOD_URLS directly. Don't use sh -c. Use $() instead of ``. Full commit at: https://code.wildebeest.org/git/user/mjw/elfutils/commit/?h=simplify-profile Frank, do you have any more concerns with this patch? Ahelenia, under which shells have you tested this? Thanks, Mark