Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package re2 for openSUSE:Factory checked in 
at 2024-04-04 22:24:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/re2 (Old)
 and      /work/SRC/openSUSE:Factory/.re2.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "re2"

Thu Apr  4 22:24:41 2024 rev:59 rq:1164443 version:MACRO

Changes:
--------
--- /work/SRC/openSUSE:Factory/re2/re2.changes  2024-03-03 20:19:51.875009682 
+0100
+++ /work/SRC/openSUSE:Factory/.re2.new.1905/re2.changes        2024-04-04 
22:25:15.673107699 +0200
@@ -1,0 +2,8 @@
+Wed Apr  3 20:30:36 UTC 2024 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- update to 2024-04-01:
+  * Fix SIGSEGV if Match is called before Compile
+  * remove unsuppressable stderr message when compiling an empty
+    re2.Filter
+
+-------------------------------------------------------------------

Old:
----
  re2-2024-03-01.tar.gz

New:
----
  re2-2024-04-01.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ re2.spec ++++++
--- /var/tmp/diff_new_pack.KNnou5/_old  2024-04-04 22:25:16.693145253 +0200
+++ /var/tmp/diff_new_pack.KNnou5/_new  2024-04-04 22:25:16.693145253 +0200
@@ -17,7 +17,7 @@
 #
 
 
-%global longver 2024-03-01
+%global longver 2024-04-01
 %global shortver %(echo %{longver}|sed 's|-||g')
 %define libname libre2-11
 Name:           re2

++++++ re2-2024-03-01.tar.gz -> re2-2024-04-01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.bazelrc new/re2-2024-04-01/.bazelrc
--- old/re2-2024-03-01/.bazelrc 2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.bazelrc 2024-03-29 20:36:50.000000000 +0100
@@ -8,10 +8,6 @@
 build --features=parse_headers
 
 # Abseil requires C++14 at minimum.
-# Previously, the flag was set via `BAZEL_CXXOPTS`. On macOS, we also had to 
set
-# `BAZEL_USE_CPP_ONLY_TOOLCHAIN` since Bazel wouldn't respect the former 
without
-# the latter. However, the latter stopped Bazel from using Xcode and 
`-framework
-# Foundation`, which CCTZ (vendored into Abseil) requires.
 build --enable_platform_specific_config
 build:linux --cxxopt=-std=c++14
 build:macos --cxxopt=-std=c++14
@@ -19,3 +15,6 @@
 
 # Print test logs for failed tests.
 test --test_output=errors
+
+# https://bazel.build/configure/best-practices#bazelrc-file
+try-import %workspace%/user.bazelrc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/bazel.sh 
new/re2-2024-04-01/.github/bazel.sh
--- old/re2-2024-03-01/.github/bazel.sh 2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/bazel.sh 2024-03-29 20:36:50.000000000 +0100
@@ -1,24 +1,25 @@
 #!/bin/bash
 set -eux
 
-bazel clean
-bazel build --compilation_mode=dbg -- //:all
-bazel test  --compilation_mode=dbg -- //:all \
-  -//:dfa_test \
-  -//:exhaustive1_test \
-  -//:exhaustive2_test \
-  -//:exhaustive3_test \
-  -//:exhaustive_test \
-  -//:random_test
+# Disable MSYS/MSYS2 path conversion, which interferes with Bazel.
+export MSYS_NO_PATHCONV='1'
+export MSYS2_ARG_CONV_EXCL='*'
 
-bazel clean
-bazel build --compilation_mode=opt -- //:all
-bazel test  --compilation_mode=opt -- //:all \
-  -//:dfa_test \
-  -//:exhaustive1_test \
-  -//:exhaustive2_test \
-  -//:exhaustive3_test \
-  -//:exhaustive_test \
-  -//:random_test
+for compilation_mode in dbg opt
+do
+  bazel clean
+  bazel build --compilation_mode=${compilation_mode} -- \
+    //:re2 \
+    //python:re2
+  bazel test  --compilation_mode=${compilation_mode} -- \
+    //:all \
+    -//:dfa_test \
+    -//:exhaustive1_test \
+    -//:exhaustive2_test \
+    -//:exhaustive3_test \
+    -//:exhaustive_test \
+    -//:random_test \
+    //python:all
+done
 
 exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/cmake.sh 
new/re2-2024-04-01/.github/cmake.sh
--- old/re2-2024-03-01/.github/cmake.sh 2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/cmake.sh 2024-03-29 20:36:50.000000000 +0100
@@ -1,12 +1,11 @@
 #!/bin/bash
 set -eux
 
-cmake . -D CMAKE_BUILD_TYPE=Debug -D RE2_BUILD_TESTING=ON "$@"
-cmake --build . --config Debug --clean-first
-ctest -C Debug --output-on-failure -E 'dfa|exhaustive|random'
-
-cmake . -D CMAKE_BUILD_TYPE=Release -D RE2_BUILD_TESTING=ON "$@"
-cmake --build . --config Release --clean-first
-ctest -C Release --output-on-failure -E 'dfa|exhaustive|random'
+for CMAKE_BUILD_TYPE in Debug Release
+do
+  cmake . -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -D RE2_BUILD_TESTING=ON "$@"
+  cmake --build . --config ${CMAKE_BUILD_TYPE} --clean-first
+  ctest -C ${CMAKE_BUILD_TYPE} --output-on-failure -E 'dfa|exhaustive|random'
+done
 
 exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/ci-bazel.yml 
new/re2-2024-04-01/.github/workflows/ci-bazel.yml
--- old/re2-2024-03-01/.github/workflows/ci-bazel.yml   2024-02-29 
11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/workflows/ci-bazel.yml   2024-03-29 
20:36:50.000000000 +0100
@@ -14,8 +14,8 @@
     env:
       BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
     steps:
-      - uses: actions/checkout@v4
-      - uses: p0deje/setup-bazel@0.6.0
+      - uses: actions/checkout@v4.1.1
+      - uses: bazel-contrib/setup-bazel@0.8.1
         with:
           bazelisk-version: '1.x'
       - run: .github/bazel.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/ci-cmake.yml 
new/re2-2024-04-01/.github/workflows/ci-cmake.yml
--- old/re2-2024-03-01/.github/workflows/ci-cmake.yml   2024-02-29 
11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/workflows/ci-cmake.yml   2024-03-29 
20:36:50.000000000 +0100
@@ -15,7 +15,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install CMake
         run: |
           apt update -y
@@ -35,7 +35,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           brew update
@@ -50,7 +50,7 @@
       matrix:
         build_shared_libs: [OFF, ON]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           vcpkg update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/ci.yml 
new/re2-2024-04-01/.github/workflows/ci.yml
--- old/re2-2024-03-01/.github/workflows/ci.yml 2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/.github/workflows/ci.yml 2024-03-29 20:36:50.000000000 
+0100
@@ -21,7 +21,7 @@
       # (The other two flags are the default provided for CXXFLAGS in 
Makefile.)
       CXXFLAGS: -O3 -g -std=c++${{ matrix.ver }}
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           brew update
@@ -34,12 +34,12 @@
     strategy:
       fail-fast: false
       matrix:
-        ver: [15, 16, 17]
+        ver: [16, 17, 18]
     env:
       CC: clang-${{ matrix.ver }}
       CXX: clang++-${{ matrix.ver }}
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install Clang ${{ matrix.ver }}
         run: |
           # Avoid `Conflicts: python3-lldb-x.y` between packages.
@@ -65,7 +65,7 @@
       CC: gcc-${{ matrix.ver }}
       CXX: g++-${{ matrix.ver }}
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       - name: Install Abseil, GoogleTest and Benchmark
         run: |
           sudo apt update -y
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/pages.yml 
new/re2-2024-04-01/.github/workflows/pages.yml
--- old/re2-2024-03-01/.github/workflows/pages.yml      2024-02-29 
11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/workflows/pages.yml      2024-03-29 
20:36:50.000000000 +0100
@@ -17,13 +17,13 @@
       # Bazel fails if the username is unknown.
       USER: runner
     steps:
-      - uses: actions/checkout@v4
-      - uses: p0deje/setup-bazel@0.6.0
+      - uses: actions/checkout@v4.1.1
+      - uses: bazel-contrib/setup-bazel@0.8.1
         with:
           bazelisk-version: '1.x'
       - run: app/build.sh
         shell: bash
-      - uses: actions/upload-pages-artifact@v3
+      - uses: actions/upload-pages-artifact@v3.0.1
         with:
           path: app/deploy
   deploy:
@@ -37,5 +37,5 @@
     environment: github-pages
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
-      - uses: actions/deploy-pages@v4
+      - uses: actions/checkout@v4.1.1
+      - uses: actions/deploy-pages@v4.0.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/pr.yml 
new/re2-2024-04-01/.github/workflows/pr.yml
--- old/re2-2024-03-01/.github/workflows/pr.yml 2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/.github/workflows/pr.yml 2024-03-29 20:36:50.000000000 
+0100
@@ -15,8 +15,8 @@
       pull-requests: write
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
-      - uses: actions/github-script@v7
+      - uses: actions/checkout@v4.1.1
+      - uses: actions/github-script@v7.0.1
         with:
           script: |
             const fs = require('fs');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.github/workflows/python.yml 
new/re2-2024-04-01/.github/workflows/python.yml
--- old/re2-2024-03-01/.github/workflows/python.yml     2024-02-29 
11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.github/workflows/python.yml     2024-03-29 
20:36:50.000000000 +0100
@@ -31,11 +31,11 @@
       # Bazel fails if the username is unknown.
       USER: runner
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: p0deje/setup-bazel@0.6.0
+      - uses: bazel-contrib/setup-bazel@0.8.1
         with:
           bazelisk-version: '1.x'
       - name: Prepare Python ${{ matrix.ver }} environment
@@ -58,7 +58,7 @@
           "${PYTHON}" re2_test.py
         shell: bash
         working-directory: python
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v4.3.1
         with:
           name: ${{ hashFiles('python/google_re2-*.whl') }}
           path: python/google_re2-*.whl
@@ -80,18 +80,21 @@
       BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
       BAZEL_CPU: darwin_${{ matrix.arch.bazel-name }}
       PLAT_NAME: macosx-${{ matrix.os }}.0-${{ matrix.arch.python-name }}
+      # Force a specific target version of macOS.
+      # Otherwise, `delocate` renames the wheels!
+      MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os }}.0
       # Stop macOS from reporting the system version as 10.x.
       # Otherwise, Python refuses to install the built wheel!
       SYSTEM_VERSION_COMPAT: 0
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: p0deje/setup-bazel@0.6.0
+      - uses: bazel-contrib/setup-bazel@0.8.1
         with:
           bazelisk-version: '1.x'
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v5.1.0
         with:
           python-version: ${{ matrix.ver }}
       - name: Prepare Python ${{ matrix.ver }} environment
@@ -115,7 +118,7 @@
           python re2_test.py
         shell: bash
         working-directory: python
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v4.3.1
         with:
           name: ${{ hashFiles('python/google_re2-*.whl') }}
           path: python/google_re2-*.whl
@@ -135,11 +138,11 @@
       BAZEL_CPU: ${{ matrix.arch.bazel-name }}_windows
       PLAT_NAME: ${{ matrix.arch.python-name }}
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: p0deje/setup-bazel@0.6.0
+      - uses: bazel-contrib/setup-bazel@0.8.1
         with:
           bazelisk-version: '1.x'
       # Lowercase the architecture name for `actions/setup-python`.
@@ -147,7 +150,7 @@
           ARCHITECTURE=${{ matrix.arch.name }}
           echo "architecture=${ARCHITECTURE,,}" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v5.1.0
         with:
           python-version: ${{ matrix.ver }}
           architecture: ${{ env.architecture }}
@@ -171,7 +174,7 @@
           python re2_test.py
         shell: bash
         working-directory: python
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@v4.3.1
         with:
           name: ${{ hashFiles('python/google_re2-*.whl') }}
           path: python/google_re2-*.whl
@@ -183,11 +186,11 @@
       - wheel-windows
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v4.1.1
       # Stash the timestamp for the commit SHA that triggered the workflow.
       - run: echo "timestamp=$(git log -1 --pretty=%ct)" >> "${GITHUB_ENV}"
         shell: bash
-      - uses: actions/setup-python@v5
+      - uses: actions/setup-python@v5.1.0
         with:
           python-version: '3.x'
       - name: Prepare Python 3.x environment
@@ -203,7 +206,7 @@
           python -m build --sdist
         shell: bash
         working-directory: python
-      - uses: actions/download-artifact@v4
+      - uses: actions/download-artifact@v4.1.4
         with:
           path: python
       - name: Set build number to ${{ inputs.build }}
@@ -219,7 +222,7 @@
         shell: bash
         working-directory: python
       - if: inputs.build >= 1
-        uses: pypa/gh-action-pypi-publish@release/v1
+        uses: pypa/gh-action-pypi-publish@v1.8.14
         with:
           password: ${{ secrets.PYPI_API_TOKEN }}
           packages-dir: python/dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/.gitignore 
new/re2-2024-04-01/.gitignore
--- old/re2-2024-03-01/.gitignore       2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/.gitignore       2024-03-29 20:36:50.000000000 +0100
@@ -3,3 +3,4 @@
 core
 obj/
 benchlog.*
+user.bazelrc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/BUILD.bazel 
new/re2-2024-04-01/BUILD.bazel
--- old/re2-2024-03-01/BUILD.bazel      2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/BUILD.bazel      2024-03-29 20:36:50.000000000 +0100
@@ -58,6 +58,7 @@
         # WebAssembly support for threads is... fraught at every level.
         "@platforms//cpu:wasm32": [],
         "@platforms//cpu:wasm64": [],
+        "@platforms//os:emscripten": [],
         "@platforms//os:wasi": [],
         "@platforms//os:windows": [],
         "//conditions:default": ["-pthread"],
@@ -70,6 +71,7 @@
         # WebAssembly support for threads is... fraught at every level.
         "@platforms//cpu:wasm32": [],
         "@platforms//cpu:wasm64": [],
+        "@platforms//os:emscripten": [],
         "@platforms//os:wasi": [],
         "@platforms//os:windows": [],
         "//conditions:default": ["-pthread"],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/MODULE.bazel 
new/re2-2024-04-01/MODULE.bazel
--- old/re2-2024-03-01/MODULE.bazel     2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/MODULE.bazel     2024-03-29 20:36:50.000000000 +0100
@@ -6,16 +6,16 @@
 
 module(
     name = "re2",
-    version = "2024-03-01",
+    version = "2024-04-01",
     compatibility_level = 1,
 )
 
-bazel_dep(name = "platforms", version = "0.0.8")
+bazel_dep(name = "platforms", version = "0.0.9")
 bazel_dep(name = "apple_support", version = "1.14.0")
 bazel_dep(name = "rules_cc", version = "0.0.9")
 bazel_dep(name = "abseil-cpp", version = "20240116.1")
 bazel_dep(name = "rules_python", version = "0.31.0")
-bazel_dep(name = "pybind11_bazel", version = "2.11.1.bzl.2")
+bazel_dep(name = "pybind11_bazel", version = "2.11.1.bzl.3")
 
 # This is a temporary hack for `x64_x86_windows`.
 # TODO(junyer): Remove whenever no longer needed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/README new/re2-2024-04-01/README
--- old/re2-2024-03-01/README   2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/README   2024-03-29 20:36:50.000000000 +0100
@@ -32,7 +32,7 @@
 
 RE2's native language is C++.
 
-The Python wrapper is at https://github.com/google/re2/tree/abseil/python
+The Python wrapper is at https://github.com/google/re2/tree/main/python
 and on PyPI (https://pypi.org/project/google-re2/).
 
 A C wrapper is at https://github.com/marcomaggi/cre2/.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/doc/mksyntaxgo 
new/re2-2024-04-01/doc/mksyntaxgo
--- old/re2-2024-03-01/doc/mksyntaxgo   2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/doc/mksyntaxgo   2024-03-29 20:36:50.000000000 +0100
@@ -19,7 +19,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// DO NOT EDIT. This file is generated by mksyntaxgo from the RE2 distribution.
+// Code generated by mksyntaxgo from the RE2 distribution. DO NOT EDIT.
 
 /*
 Package syntax parses regular expressions into parse trees and compiles
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/python/BUILD.bazel 
new/re2-2024-04-01/python/BUILD.bazel
--- old/re2-2024-03-01/python/BUILD.bazel       2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/python/BUILD.bazel       2024-03-29 20:36:50.000000000 
+0100
@@ -19,7 +19,7 @@
 py_library(
     name = "re2",
     srcs = ["re2.py"],
-    data = [":_re2.so"],
+    data = [":_re2"],
     imports = ["."],
     visibility = ["//visibility:public"],
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/python/_re2.cc 
new/re2-2024-04-01/python/_re2.cc
--- old/re2-2024-03-01/python/_re2.cc   2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/python/_re2.cc   2024-03-29 20:36:50.000000000 +0100
@@ -219,6 +219,10 @@
   }
 
   std::vector<int> Match(py::buffer buffer, bool potential) const {
+    if (set_ == nullptr) {
+      py::pybind11_fail("Match() called before compiling");
+    }
+
     auto bytes = buffer.request();
     auto text = FromBytes(bytes);
     std::vector<int> atoms;
@@ -243,6 +247,9 @@
 };
 
 PYBIND11_MODULE(_re2, module) {
+  // Translate exceptions thrown by py::pybind11_fail() into Python.
+  py::register_local_exception<std::runtime_error>(module, "Error");
+
   module.def("CharLenToBytes", &CharLenToBytes);
   module.def("BytesToCharLen", &BytesToCharLen);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/python/re2.py 
new/re2-2024-04-01/python/re2.py
--- old/re2-2024-03-01/python/re2.py    2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/python/re2.py    2024-03-29 20:36:50.000000000 +0100
@@ -33,8 +33,9 @@
 import _re2
 
 
-class error(Exception):
-  pass
+# pybind11 translates C++ exceptions to Python exceptions.
+# We use that same Python exception class for consistency.
+error = _re2.Error
 
 
 class Options(_re2.RE2.Options):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/python/re2_test.py 
new/re2-2024-04-01/python/re2_test.py
--- old/re2-2024-03-01/python/re2_test.py       2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/python/re2_test.py       2024-03-29 20:36:50.000000000 
+0100
@@ -477,6 +477,13 @@
     # Verify whether the underlying RE2 object is usable.
     self.assertEqual(0, f.re(2).groups)
 
+  def test_issue_484(self):
+    # Previously, the shim would dereference a null pointer and crash.
+    f = re2.Filter()
+    with self.assertRaisesRegex(re2.error,
+                                r'Match\(\) called before compiling'):
+      f.Match('')
+
 
 if __name__ == '__main__':
   absltest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/python/setup.py 
new/re2-2024-04-01/python/setup.py
--- old/re2-2024-03-01/python/setup.py  2024-02-29 11:59:13.000000000 +0100
+++ new/re2-2024-04-01/python/setup.py  2024-03-29 20:36:50.000000000 +0100
@@ -61,6 +61,11 @@
         cmd.append(f'--extra_toolchains=@local_config_cc//:cc-toolchain-{cpu}')
     except KeyError:
       pass
+    try:
+      ver = os.environ['MACOSX_DEPLOYMENT_TARGET']
+      cmd.append(f'--macos_minimum_os={ver}')
+    except KeyError:
+      pass
     # Register the local Python toolchains with highest priority.
     self.generate_python_toolchains()
     cmd.append('--extra_toolchains=//python/toolchains:all')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/re2/filtered_re2.cc 
new/re2-2024-04-01/re2/filtered_re2.cc
--- old/re2-2024-03-01/re2/filtered_re2.cc      2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/re2/filtered_re2.cc      2024-03-29 20:36:50.000000000 
+0100
@@ -70,8 +70,9 @@
     return;
   }
 
+  // Similarly to PrefilterTree::Compile(), make compiling
+  // a no-op if it's attempted before adding any patterns.
   if (re2_vec_.empty()) {
-    LOG(ERROR) << "Compile called before Add.";
     return;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2024-03-01/re2/prefilter_tree.cc 
new/re2-2024-04-01/re2/prefilter_tree.cc
--- old/re2-2024-03-01/re2/prefilter_tree.cc    2024-02-29 11:59:13.000000000 
+0100
+++ new/re2-2024-04-01/re2/prefilter_tree.cc    2024-03-29 20:36:50.000000000 
+0100
@@ -57,8 +57,9 @@
 
   // Some legacy users of PrefilterTree call Compile() before
   // adding any regexps and expect Compile() to have no effect.
-  if (prefilter_vec_.empty())
+  if (prefilter_vec_.empty()) {
     return;
+  }
 
   compiled_ = true;
 
@@ -272,8 +273,9 @@
     // Some legacy users of PrefilterTree call Compile() before
     // adding any regexps and expect Compile() to have no effect.
     // This kludge is a counterpart to that kludge.
-    if (prefilter_vec_.empty())
+    if (prefilter_vec_.empty()) {
       return;
+    }
 
     LOG(ERROR) << "RegexpsGivenStrings called before Compile.";
     for (size_t i = 0; i < prefilter_vec_.size(); i++)

Reply via email to