Guy Harris wrote in <4EDFA3A5-DA50-41BE-A248-EB850CB3A581@alum.mit.edu>: |On Jan 10, 2020, at 10:26 PM, enh via tz <tz@iana.org> wrote: |> NetBSD already supported regular expressions in RS, and they |> upstreamed that to one-true-awk last year | |macOS: | | https://opensource.apple.com/source/awk/awk-24/ | |uses what I'm guessing, based on the Lucent copyrights, is the One \ |True Awk: | | https://github.com/onetrueawk/awk | |and I suspect most if not all of the *BSDs do so as well, but macOS \ |seems to be using a 2007-vintage version. Perhaps they should update, \ Debian systems use a historic mawk implementation worth testing against, as it has no gsub and does not have character classes (i finally have made a port for the Linux hobby distribution i use to be able to do so easily). And Sun xpg4/bin/awk expands \ sequences twice: - gsub(/"/, "\\\\\"", LINE) + # Sun xpg4/bin/awk expands those twice: + # Notice that backslash escapes are interpreted twice, once in + # lexical processing of the string and once in processing the + # regular expression. + i = "\"" + gsub(/"/, "\\\\\"", i) + i = (i == "\"") + gsub(/"/, (i ? "\\\\\"" : "\134\134\""), LINE) |especially to a version that has... | |> (https://github.com/onetrueawk/awk/commit/643a5a3dad633431c6ce8831944c23\ |> 059a6be309 |> and https://github.com/onetrueawk/awk/commit/7cae39dfa53e17981990f649a2f\ |> 6b4c1ba856112) |> so hopefully all the OSes not using gawk can unify at some point. | |...that change. | |> but, yeah, right now most awks don't have this ability. | |...so the tzcode should probably not depend on it. And the other hand and in my experience packagers simply start adding build time dependencies to work around such. I unfortunately forced them to use gawk on MacOS and Debian in the past... --End of <4EDFA3A5-DA50-41BE-A248-EB850CB3A581@alum.mit.edu> --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)