{"thread":{"id":"56932","subject":"[PATCH 1/2] grep/pcre2: limit the instances in which UTF mode is enabled","startedAt":"2021-11-18T08:44:23Z","lastAt":"2021-11-22T22:27:07Z","messageCount":8,"participants":["Hamza Mahfooz","Carlo Arenas","Ævar Arnfjörð Bjarmason","Carlo Marcelo Arenas Belón","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"441581","messageId":"20211118084143.279174-1-someguy@effective-light.com","threadId":"56932","inReplyTo":null,"subject":"[PATCH 1/2] grep/pcre2: limit the instances in which UTF mode is enabled","fromName":"Hamza Mahfooz","fromEmail":"someguy@effective-light.com","sentAt":"2021-11-18T08:41:42Z","receivedAt":"2021-11-18T08:44:23Z","isPatch":true,"sender":{"key":"someguy@effective-light.com","avatar":"https://avatars.githubusercontent.com/u/3885502?v=4"},"body":"UTF mode is enabled for cases that cause older versions of PCRE to break.\nThis is primarily due to the fact that we can't make as many assumptions on\nthe kind of data that is fed to \"git grep.\" So, limit when UTF mode can be\nenabled by introducing \"is_log\" to struct grep_opt, checking to see if it's\na non-zero value in compile_pcre2_pattern() and only mutating it in\ncmd_log() so that we know \"git log\" was invoked if it's set to a non-zero\nvalue.\n\nFixes: ae39ba431a (grep/pcre2: fix an edge case concerning ascii patterns\nand UTF-8 data, 2021-10-15)\nSuggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Hamza Mahfooz <someguy@effective-light.com>\n---\n builtin/log.c                   | 1 +\n grep.c                          | 2 +-\n grep.h                          | 1 +\n t/t7812-grep-icase-non-ascii.sh | 2 +-\n 4 files changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/builtin/log.c b/builtin/log.c\nindex f75d87e8d7..040b0b533f 100644\n--- a/builtin/log.c\n+++ b/builtin/log.c\n@@ -751,6 +751,7 @@ int cmd_log(int argc, const char **argv, const char *prefix)\n \tgit_config(git_log_config, NULL);\n \n \trepo_init_revisions(the_repository, &rev, prefix);\n+\trev.grep_filter.is_log = 1;\n \trev.always_show_header = 1;\n \tmemset(&opt, 0, sizeof(opt));\n \topt.def = \"HEAD\";\ndiff --git a/grep.c b/grep.c\nindex f6e113e9f0..665d86f007 100644\n--- a/grep.c\n+++ b/grep.c\n@@ -382,7 +382,7 @@ static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt *opt\n \t\t}\n \t\toptions |= PCRE2_CASELESS;\n \t}\n-\tif ((!opt->ignore_locale && !has_non_ascii(p->pattern)) ||\n+\tif ((opt->is_log && !opt->ignore_locale && !has_non_ascii(p->pattern)) ||\n \t    (!opt->ignore_locale && is_utf8_locale() &&\n \t     has_non_ascii(p->pattern) && !(!opt->ignore_case &&\n \t\t\t\t\t    (p->fixed || p->is_fixed))))\ndiff --git a/grep.h b/grep.h\nindex 3e8815c347..64634c6a3f 100644\n--- a/grep.h\n+++ b/grep.h\n@@ -167,6 +167,7 @@ struct grep_opt {\n \tint extended_regexp_option;\n \tint pattern_type_option;\n \tint ignore_locale;\n+\tint is_log;\n \tchar colors[NR_GREP_COLORS][COLOR_MAXLEN];\n \tunsigned pre_context;\n \tunsigned post_context;\ndiff --git a/t/t7812-grep-icase-non-ascii.sh b/t/t7812-grep-icase-non-ascii.sh\nindex 22487d90fd..1da6b07a57 100755\n--- a/t/t7812-grep-icase-non-ascii.sh\n+++ b/t/t7812-grep-icase-non-ascii.sh\n@@ -60,7 +60,7 @@ test_expect_success GETTEXT_LOCALE,PCRE 'log --author with an ascii pattern on U\n \ttest_write_lines \"forth\" >file4 &&\n \tgit add file4 &&\n \tgit commit --author=\"À Ú Thor <author@example.com>\" -m sécond &&\n-\tgit log -1 --color=always --perl-regexp --author=\".*Thor\" >log &&\n+\tgit log -1 --color=always --perl-regexp --author=\". . Thor\" >log &&\n \tgrep Author log >actual.raw &&\n \ttest_decode_color <actual.raw >actual &&\n \ttest_cmp expected actual\n-- \n2.34.0\n\n"},{"id":"441582","messageId":"20211118084143.279174-2-someguy@effective-light.com","threadId":"56932","inReplyTo":"20211118084143.279174-1-someguy@effective-light.com","subject":"[PATCH 2/2] ci: add a job for PCRE2","fromName":"Hamza Mahfooz","fromEmail":"someguy@effective-light.com","sentAt":"2021-11-18T08:41:43Z","receivedAt":"2021-11-18T08:44:29Z","isPatch":true,"sender":{"key":"someguy@effective-light.com","avatar":"https://avatars.githubusercontent.com/u/3885502?v=4"},"body":"Since, git aspires to support many PCRE2 versions, it is only sensible to\ntest changes to git against versions of PCRE2 that are deemed to be\nnotable, to ensure those changes to git don't cause regressions when using\nthe aforementioned PCRE2 versions. This is underscored by the fact that,\ncommit ae39ba431a (grep/pcre2: fix an edge case concerning ascii patterns\nand UTF-8 data, 2021-10-15) was able to make it's way to master while\ncausing an otherwise easy to catch regression when an older version of\nPCRE2 is used. So, to address this issue, add a job for PCRE2 to build all\nof the notable versions, compile all of them against git and only run the\ntests that can possibly be impacted by PCRE2.\n\nSuggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Hamza Mahfooz <someguy@effective-light.com>\n---\n .github/workflows/main.yml | 26 ++++++++++++++++++++++++++\n 1 file changed, 26 insertions(+)\n\ndiff --git a/.github/workflows/main.yml b/.github/workflows/main.yml\nindex 6ed6a9e807..ae96fc0251 100644\n--- a/.github/workflows/main.yml\n+++ b/.github/workflows/main.yml\n@@ -319,3 +319,29 @@ jobs:\n     - uses: actions/checkout@v2\n     - run: ci/install-dependencies.sh\n     - run: ci/test-documentation.sh\n+  pcre2:\n+    needs: ci-config\n+    if: needs.ci-config.outputs.enabled == 'yes'\n+    strategy:\n+      fail-fast: false\n+      matrix:\n+        jit: ['--enable-jit', '--disable-jit']\n+        utf: ['--enable-utf', '--disable-utf']\n+        version: [31, 34, 36, 39]\n+    runs-on: ubuntu-latest\n+    steps:\n+    - uses: actions/checkout@v2\n+    - uses: actions/checkout@v2\n+      with:\n+        repository: 'PhilipHazel/pcre2'\n+        path: 'compat/pcre2-repo'\n+    - run: ci/install-dependencies.sh\n+    - run: cd compat/pcre2-repo\n+    - run: git checkout pcre2-10.${{matrix.version}}\n+    - run: ./autogen.sh\n+    - run: ./configure ${{matrix.jit}} ${{matrix.utf}} --prefix=\"$PWD/inst\"\n+    - run: make\n+    - run: sudo make install\n+    - run: cd ../..\n+    - run: make USE_LIBPCRE=Y CFLAGS=-O3 LIBPCREDIR=\"$PWD/compat/pcre2-repo/inst\"\n+    - run: cd t && make *{grep,log,pickaxe}*\n-- \n2.34.0\n\n"},{"id":"441588","messageId":"20211118095331.282468-1-someguy@effective-light.com","threadId":"56932","inReplyTo":"20211118084143.279174-2-someguy@effective-light.com","subject":"[PATCH v2 2/2] ci: add a job for PCRE2","fromName":"Hamza Mahfooz","fromEmail":"someguy@effective-light.com","sentAt":"2021-11-18T09:53:31Z","receivedAt":"2021-11-18T09:54:48Z","isPatch":true,"sender":{"key":"someguy@effective-light.com","avatar":"https://avatars.githubusercontent.com/u/3885502?v=4"},"body":"Since, git aspires to support many PCRE2 versions, it is only sensible to\ntest changes to git against versions of PCRE2 that are deemed to be\nnotable, to ensure those changes to git don't cause regressions when using\nthe aforementioned PCRE2 versions. This is underscored by the fact that,\ncommit ae39ba431a (grep/pcre2: fix an edge case concerning ascii patterns\nand UTF-8 data, 2021-10-15) was able to make it's way to master while\ncausing an otherwise easy to catch regression when an older version of\nPCRE2 is used. So, to address this issue, add a job for PCRE2 to build all\nof the notable versions, compile all of them against git and only run the\ntests that can possibly be impacted by PCRE2.\n\nSuggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\nSigned-off-by: Hamza Mahfooz <someguy@effective-light.com>\n---\nv2: use 'ref' instead of doing a manual checkout and add jobname to\n    the env.\n---\n .github/workflows/main.yml | 28 ++++++++++++++++++++++++++++\n 1 file changed, 28 insertions(+)\n\ndiff --git a/.github/workflows/main.yml b/.github/workflows/main.yml\nindex 6ed6a9e807..6d8906139d 100644\n--- a/.github/workflows/main.yml\n+++ b/.github/workflows/main.yml\n@@ -319,3 +319,31 @@ jobs:\n     - uses: actions/checkout@v2\n     - run: ci/install-dependencies.sh\n     - run: ci/test-documentation.sh\n+  pcre2:\n+    needs: ci-config\n+    if: needs.ci-config.outputs.enabled == 'yes'\n+    strategy:\n+      fail-fast: false\n+      matrix:\n+        jit: ['--enable-jit', '--disable-jit']\n+        utf: ['--enable-utf', '--disable-utf']\n+        version: [31, 34, 36, 39]\n+    env:\n+      jobname: linux-gcc-default\n+    runs-on: ubuntu-latest\n+    steps:\n+    - uses: actions/checkout@v2\n+    - uses: actions/checkout@v2\n+      with:\n+        repository: 'PhilipHazel/pcre2'\n+        path: 'compat/pcre2-repo'\n+        ref: pcre2-10.${{matrix.version}}\n+    - run: ci/install-dependencies.sh\n+    - run: cd compat/pcre2-repo\n+    - run: ./autogen.sh\n+    - run: ./configure ${{matrix.jit}} ${{matrix.utf}} --prefix=\"$PWD/inst\"\n+    - run: make\n+    - run: sudo make install\n+    - run: cd ../..\n+    - run: make USE_LIBPCRE=Y CFLAGS=-O3 LIBPCREDIR=\"$PWD/compat/pcre2-repo/inst\"\n+    - run: cd t && make *{grep,log,pickaxe}*\n-- \n2.34.0\n\n"},{"id":"441589","messageId":"CAPUEspi5-urxZxHCsAWjyLxPWDfaYCK7nqGBL8FejU=n=qcFrQ@mail.gmail.com","threadId":"56932","inReplyTo":"20211118084143.279174-1-someguy@effective-light.com","subject":"Re: [PATCH 1/2] grep/pcre2: limit the instances in which UTF mode is enabled","fromName":"Carlo Arenas","fromEmail":"carenas@gmail.com","sentAt":"2021-11-18T10:04:08Z","receivedAt":"2021-11-18T10:06:20Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Thu, Nov 18, 2021 at 12:42 AM Hamza Mahfooz\n<someguy@effective-light.com> wrote:\n>\n> UTF mode is enabled for cases that cause older versions of PCRE to break.\n\nNot really; what is broken is our implementation of how PCRE gets\ncalled and that ignores the fact that giving it invalid UTF-8 (which\nmight be valid LATIN-1 text for example) and telling it to do a match\nusing UTF, will fail (if we are lucky even with an error) or might\neven crash (and obviously don't match) if we also tell it to not do\nthe validation, and which is something we do when JIT is enabled.\n\n> This is primarily due to the fact that we can't make as many assumptions on\n> the kind of data that is fed to \"git grep.\" So, limit when UTF mode can be\n> enabled by introducing \"is_log\" to struct grep_opt, checking to see if it's\n> a non-zero value in compile_pcre2_pattern() and only mutating it in\n> cmd_log() so that we know \"git log\" was invoked if it's set to a non-zero\n> value.\n\nI haven't tested it, but I think that for this to work with the log,\nwe also need to make sure that all log entries that might not be UTF-8\nget first iconv() which is why probably Æevar mentioned[1]\ni18n.commitEncoding in his old email.\n\nOf course doing that translation only makes sense if the log output is\nmeant to be UTF-8 which is why there is all that logic about being in\nan UTF-8 locale or not which probably needs to be adjusted as well.\n\nCarlo\n\n[1] https://lore.kernel.org/git/87v92bju64.fsf@evledraar.gmail.com/\n"},{"id":"441596","messageId":"211118.86h7c96885.gmgdl@evledraar.gmail.com","threadId":"56932","inReplyTo":"20211118084143.279174-2-someguy@effective-light.com","subject":"Re: [PATCH 2/2] ci: add a job for PCRE2","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2021-11-18T10:32:50Z","receivedAt":"2021-11-18T10:58:44Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Thu, Nov 18 2021, Hamza Mahfooz wrote:\n\n> Since, git aspires to support many PCRE2 versions, it is only sensible to\n> test changes to git against versions of PCRE2 that are deemed to be\n> notable, to ensure those changes to git don't cause regressions when using\n> the aforementioned PCRE2 versions. This is underscored by the fact that,\n> commit ae39ba431a (grep/pcre2: fix an edge case concerning ascii patterns\n> and UTF-8 data, 2021-10-15) was able to make it's way to master while\n> causing an otherwise easy to catch regression when an older version of\n> PCRE2 is used. So, to address this issue, add a job for PCRE2 to build all\n> of the notable versions, compile all of them against git and only run the\n> tests that can possibly be impacted by PCRE2.\n>\n> Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>\n> ---\n>  .github/workflows/main.yml | 26 ++++++++++++++++++++++++++\n>  1 file changed, 26 insertions(+)\n>\n> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml\n> index 6ed6a9e807..ae96fc0251 100644\n> --- a/.github/workflows/main.yml\n> +++ b/.github/workflows/main.yml\n> @@ -319,3 +319,29 @@ jobs:\n>      - uses: actions/checkout@v2\n>      - run: ci/install-dependencies.sh\n>      - run: ci/test-documentation.sh\n> +  pcre2:\n> +    needs: ci-config\n> +    if: needs.ci-config.outputs.enabled == 'yes'\n> +    strategy:\n> +      fail-fast: false\n> +      matrix:\n> +        jit: ['--enable-jit', '--disable-jit']\n> +        utf: ['--enable-utf', '--disable-utf']\n> +        version: [31, 34, 36, 39]\n> +    runs-on: ubuntu-latest\n> +    steps:\n> +    - uses: actions/checkout@v2\n> +    - uses: actions/checkout@v2\n> +      with:\n> +        repository: 'PhilipHazel/pcre2'\n> +        path: 'compat/pcre2-repo'\n> +    - run: ci/install-dependencies.sh\n> +    - run: cd compat/pcre2-repo\n> +    - run: git checkout pcre2-10.${{matrix.version}}\n> +    - run: ./autogen.sh\n> +    - run: ./configure ${{matrix.jit}} ${{matrix.utf}} --prefix=\"$PWD/inst\"\n\nThanks a lot for following-up on this. Do you have a link to a sample\nrun of this to see how it looks?\n\nI think that the --enable-utf here is a bug, my fault, I suggested using\nthat option.\n\nBut on closer inspection I should have said\n--{enable,disable}-unicode. Eyeballing the configure.ac in pcre2.git now\nand checking if/how it passes our tests I think it might be a noop\nunless --enable-ebcdic is also in play, which we don't need to test.\n\nAny reason for picking those specific versions? I think we do need to\ntest on older than 10.31 (released in early 2018).\n\nOn the other hand PCREv2 wasn't released at all until 2015, and got up\nto 10.20 all in that one year, and I think git may have been one of the\nfirst popular packages to use it.\n\nI (optionally at first) us from PCRE v1 to v2, and IIRC something like\nonly 1-2 obscure packages in Debian depended on it at the time, with\nhundreds depending on PCREv1.\n\nWe should also add a \"latest\" in there, and then just map that ourselves to:\n\n     git tag -l --sort=-version:refname | head -n 1\n\nI.e. it's probably overkill to test the pcre2.git bleeding edge, and it\nmight produce undue noise, but testing the latest release in addition to\nselect older versions seems like a good thing to do.\n\n> +    - run: make\n> +    - run: sudo make install\n\nI don't think \"sudo\" here is needed (and I'm surprised it works in CI,\npresumably a noop or it's always root). Just a:\n\n    make install\n\nShould do, it'll also take care of doing \"make\"\n\n> +    - run: cd ../..\n> +    - run: make USE_LIBPCRE=Y CFLAGS=-O3 LIBPCREDIR=\"$PWD/compat/pcre2-repo/inst\"\n\n\nI was going to say: \"We should probably leave CFLAGS undefined and use\nwhatever the default is, or is there a good reason for -O3?\".\n\nBut I see this is another thing copied from my throw-away one-liner in\n[1], sorry. We can just skip that, I just happened to be testing with\nCFLAGS=-O3 locally at the time & copied that into my E-Mail.\n\n> +    - run: cd t && make *{grep,log,pickaxe}*\n\n1. https://lore.kernel.org/git/211117.867dd67spq.gmgdl@evledraar.gmail.com/\n"},{"id":"441653","messageId":"YZasJWuysic3OWS1@carlos-mbp.lan","threadId":"56932","inReplyTo":"CAPUEspi5-urxZxHCsAWjyLxPWDfaYCK7nqGBL8FejU=n=qcFrQ@mail.gmail.com","subject":"Re: [PATCH 1/2] grep/pcre2: limit the instances in which UTF mode is enabled","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2021-11-18T19:40:21Z","receivedAt":"2021-11-18T19:40:26Z","isPatch":true,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Thu, Nov 18, 2021 at 02:04:08AM -0800, Carlo Arenas wrote:\n> \n> I haven't tested it, but I think that for this to work with the log,\n> we also need to make sure that all log entries that might not be UTF-8\n> get first iconv() which is why probably Æevar mentioned[1]\n> i18n.commitEncoding in his old email.\n\nHaving tested it, it seems this might work, but needs at least the\nfollowing to make the test for it meaningful:\n\ndiff --git a/t/t7812-grep-icase-non-ascii.sh b/t/t7812-grep-icase-non-ascii.sh\nindex 1da6b07a57..e1fbdc0f80 100755\n--- a/t/t7812-grep-icase-non-ascii.sh\n+++ b/t/t7812-grep-icase-non-ascii.sh\n@@ -47,6 +47,8 @@ test_expect_success REGEX_LOCALE 'grep string with regex, with -F' '\n '\n \n test_expect_success REGEX_LOCALE 'pickaxe -i on non-ascii' '\n+\tGIT_COMMITTER_NAME=\"C O Mitter\" &&\n+\tGIT_COMMITTER_EMAIL=\"committer@example.com\" &&\n \tgit commit -m first &&\n \tgit log --format=%f -i -S\"TILRAUN: HALLÓ HEIMUR!\" >actual &&\n \techo first >expected &&\n@@ -72,10 +74,10 @@ test_expect_success GETTEXT_LOCALE,PCRE 'log --committer with an ascii pattern o\n \tEOF\n \ttest_write_lines \"fifth\" >file5 &&\n \tgit add file5 &&\n-\tGIT_COMMITTER_NAME=\"Ç O Mîtter\" &&\n+\tGIT_COMMITTER_NAME=$(echo \"Ç O Mîtter\" | iconv -t ISO-8859-1) &&\n \tGIT_COMMITTER_EMAIL=\"committer@example.com\" &&\n \tgit -c i18n.commitEncoding=latin1 commit -m thïrd &&\n-\tgit -c i18n.logOutputEncoding=latin1 log -1 --pretty=fuller --color=always --perl-regexp --committer=\" O.*\" >log &&\n+\tgit log -1 --pretty=fuller --color=always --perl-regexp --committer=\" O.*\" >log &&\n \tgrep Commit: log >actual.raw &&\n \ttest_decode_color <actual.raw >actual &&\n \ttest_cmp expected actual\n\nThe first hunk is a nice to have and mimics what is done in the previous\ntest where a non UTF match will match instead an equivalent ASCII text,\nbut is not strictly needed unless the expression is also tightened.\n\nNote the second hunk is incomplete as the message is still not really\nencoded as latin1 and will need an equivalent processing, but left it\nout so it can be done together with fixing the corresponding test.\n\nI have to admit that adding to a complex condition might be obscuring\nsome other edge case, and indeed the fact the test passed even without\nthis fix is concerning.\n\nFrom my reading of what Ævar suggested originally[1], it would seem that\nthe new is_log condition should be on an branch of its own, and more code\nshould be needed to make sure the contents we are going to use are indeed\nutf8 by the time it hits pcre2_*match() before setting it.\n\nCarlo\n\n[1] https://lore.kernel.org/git/211116.86tugcp8mg.gmgdl@evledraar.gmail.com/\n"},{"id":"441657","messageId":"xmqqo86hw5gb.fsf@gitster.g","threadId":"56932","inReplyTo":"YZasJWuysic3OWS1@carlos-mbp.lan","subject":"Re: [PATCH 1/2] grep/pcre2: limit the instances in which UTF mode is enabled","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2021-11-18T20:53:56Z","receivedAt":"2021-11-18T20:54:00Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:\n\n> I have to admit that adding to a complex condition might be obscuring\n> some other edge case, and indeed the fact the test passed even without\n> this fix is concerning.\n>\n> From my reading of what Ævar suggested originally[1], it would seem that\n> the new is_log condition should be on an branch of its own, and more code\n> should be needed to make sure the contents we are going to use are indeed\n> utf8 by the time it hits pcre2_*match() before setting it.\n\nAt least, let's not consider pursuing this approach to pile on more\niffy code on top of broken code in the release.  Unless I hear\notherwise, I am leaning to revert the whole three patches of the\noriginal series and call it a day for both 'maint' (for 2.34.1) and\n'master'.\n\nThanks.\n"},{"id":"442036","messageId":"ROVZ2R.2MLACYZXFLRU@effective-light.com","threadId":"56932","inReplyTo":"211118.86h7c96885.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH 2/2] ci: add a job for PCRE2","fromName":"Hamza Mahfooz","fromEmail":"someguy@effective-light.com","sentAt":"2021-11-22T22:26:51Z","receivedAt":"2021-11-22T22:27:07Z","isPatch":true,"sender":{"key":"someguy@effective-light.com","avatar":"https://avatars.githubusercontent.com/u/3885502?v=4"},"body":"\n\nOn Thu, Nov 18 2021 at 11:32:50 AM +0100, Ævar Arnfjörð Bjarmason \n<avarab@gmail.com> wrote:\n>> \n> Thanks a lot for following-up on this. Do you have a link to a sample\n> run of this to see how it looks?\n\nhttps://github.com/effective-light/git/actions/runs/1492352516\n(it looks like the disable unicode case isn't worth considering, since \nit never runs through the tests successfully).\n\n> But on closer inspection I should have said\n> --{enable,disable}-unicode. Eyeballing the configure.ac in pcre2.git \n> now\n> and checking if/how it passes our tests I think it might be a noop\n> unless --enable-ebcdic is also in play, which we don't need to test.\n\nLooks like ebcdic and unicode can't be enabled at the same time.\n\n> Any reason for picking those specific versions? I think we do need to\n> test on older than 10.31 (released in early 2018).\n\nI chose them primarily because they were brought up on the other thread.\n\n\n"}]}