On Fri, May 21 2021, Felipe Contreras wrote: > On Thu, May 20, 2021 at 2:43 AM Tomi Ollila <tomi.oll...@iki.fi> wrote: >> >> On Wed, May 19 2021, Felipe Contreras wrote: >> >> > On Wed, May 19, 2021 at 12:34 PM Tomi Ollila <tomi.oll...@iki.fi> wrote: >> > >> >> Haha, as we do _libconfig_sanitize < OUTPUT > OUTPUT.clean >> >> reading python script from stdin don't work (perl has __DATA__ ;). >> >> (bitten again, I did and tested the change... :D). >> > >> > That can be fixed with: >> > >> > python /dev/fd/3 3<<EOF >> > EOF >> >> According to >> >> https://unix.stackexchange.com/questions/123602/portability-of-file-descriptor-links >> >> that solution could be portable enough. > > What the operating system does doesn't really matter, bash emulates /dev/fd/x:
In this case, /dev/fd/3 is given as a parameter to a command, not part of redirections -- bash cannot know how the program is going to use the arguments it gets... Anyway, the [PATCH v4] in id:20210520134628.11653-1-tomi.oll...@iki.fi implemented your suggestion ${NOTMUCH_PYTHON} /dev/fd/3 3<<'EOF' ... > "If the operating system on which Bash is running provides these > special files, bash will use them; otherwise it will emulate them > internally with the behavior described below." > > https://www.gnu.org/software/bash/manual/html_node/Redirections.html ... "Bash handles several filenames specially when they are used in redirections, as described in the following table." is just before your snippet >;D > > And as far as I know the testing framework only works correctly on bash... > So... > >> Another way still using -c ... I've played to look how it actually looks is >> (diff since patch v3) >> >> - sq = chr(39) # single quote >> - l = l.replace(sq + name, sq + "USER_FULL_NAME", 1) >> + l = l.replace("'\''" + name, "'\''USER_FULL_NAME", 1) > > Yes, that works too. But that's what I said in another mail that is > weird stuff. I had to read it again three times and then copy to a > proper text editor with monospace font to see if it was correct. To me '\'' is /idiomatic/ way to embed ' in the middle of a long argument string... >> Tested the above. That python /dev/fd/3 3<<EOF is so neat it at least >> have to be tested to see how it looks like and behaves... :D > > Yeap. Took me a while to find the right documentation to figure that > out, but in my opinion it's better to write a helper for the tests > once, and then forget about it and just re-use it for all. > > -- > Felipe Contreras _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org