Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package re2 for openSUSE:Factory checked in 
at 2023-09-02 22:07:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/re2 (Old)
 and      /work/SRC/openSUSE:Factory/.re2.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "re2"

Sat Sep  2 22:07:07 2023 rev:55 rq:1108487 version:MACRO

Changes:
--------
--- /work/SRC/openSUSE:Factory/re2/re2.changes  2023-08-02 16:48:23.348600398 
+0200
+++ /work/SRC/openSUSE:Factory/.re2.new.1766/re2.changes        2023-09-02 
22:07:21.394628056 +0200
@@ -1,0 +2,6 @@
+Fri Sep  1 12:53:42 UTC 2023 - Andreas Stieger <[email protected]>
+
+- update to 2023-09-01:
+  * Add support for (?<name>expr)
+
+-------------------------------------------------------------------

Old:
----
  re2-2023-08-01.tar.gz

New:
----
  re2-2023-09-01.tar.gz

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

Other differences:
------------------
++++++ re2.spec ++++++
--- /var/tmp/diff_new_pack.JXRYYr/_old  2023-09-02 22:07:22.470666506 +0200
+++ /var/tmp/diff_new_pack.JXRYYr/_new  2023-09-02 22:07:22.470666506 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%global longver 2023-08-01
+%global longver 2023-09-01
 %global shortver %(echo %{longver}|sed 's|-||g')
 %define libname libre2-11
 Name:           re2

++++++ re2-2023-08-01.tar.gz -> re2-2023-09-01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/.bazelrc new/re2-2023-09-01/.bazelrc
--- old/re2-2023-08-01/.bazelrc 2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/.bazelrc 2023-08-31 12:55:02.000000000 +0200
@@ -2,6 +2,9 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
+# Enable Bzlmod. This will be the default eventually...
+build --enable_bzlmod
+
 # 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
@@ -12,8 +15,5 @@
 build:macos --cxxopt=-std=c++14
 build:windows --cxxopt=/std:c++14
 
-# Print command lines for build commands.
-build --subcommands=pretty_print
-
 # Print test logs for failed tests.
 test --test_output=errors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/BUILD.bazel 
new/re2-2023-09-01/BUILD.bazel
--- old/re2-2023-08-01/BUILD.bazel      2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/BUILD.bazel      2023-08-31 12:55:02.000000000 +0200
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-# Bazel (http://bazel.io/) BUILD file for RE2.
+# Bazel (http://bazel.build/) BUILD file for RE2.
 
 licenses(["notice"])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/MODULE.bazel 
new/re2-2023-09-01/MODULE.bazel
--- old/re2-2023-08-01/MODULE.bazel     1970-01-01 01:00:00.000000000 +0100
+++ new/re2-2023-09-01/MODULE.bazel     2023-08-31 12:55:02.000000000 +0200
@@ -0,0 +1,24 @@
+# Copyright 2009 The RE2 Authors.  All Rights Reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# Bazel (http://bazel.build/) MODULE file for RE2.
+
+module(
+    name = "re2",
+    version = "2023-09-01",
+    compatibility_level = 1,
+)
+
+bazel_dep(name = "platforms", version = "0.0.7")
+bazel_dep(name = "rules_cc", version = "0.0.8")
+bazel_dep(name = "abseil-cpp", version = "20230802.0", repo_name = 
"com_google_absl")
+bazel_dep(name = "google_benchmark", version = "1.8.2", repo_name = 
"com_github_google_benchmark")
+bazel_dep(name = "googletest", version = "1.14.0", repo_name = 
"com_google_googletest")
+bazel_dep(name = "rules_python", version = "0.25.0")
+bazel_dep(name = "abseil-py", version = "1.4.0", repo_name = "io_abseil_py")
+bazel_dep(name = "pybind11_bazel", version = "2.11.1")
+
+python_configure = use_extension("@pybind11_bazel//:python_configure.bzl", 
"extension")
+python_configure.toolchain(python_version = "3")  # ignored when non-root 
module
+use_repo(python_configure, "local_config_python", "pybind11")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/Makefile new/re2-2023-09-01/Makefile
--- old/re2-2023-08-01/Makefile 2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/Makefile 2023-08-31 12:55:02.000000000 +0200
@@ -20,6 +20,7 @@
 CCABSL=$(shell pkg-config $(ABSL_DEPS) --cflags)
 # GCC barfs on `-Wl` whereas Clang doesn't mind, but it's unclear what
 # causes it to manifest on Ubuntu 22.04 LTS, so filter it out for now.
+# Similar is needed for `static-testinstall` and `shared-testinstall`.
 LDABSL=$(shell pkg-config $(ABSL_DEPS) --libs | sed -e 's/-Wl / /g')
 
 # To build against ICU for full Unicode properties support,
@@ -358,7 +359,8 @@
        @cp testinstall.cc obj/static-testinstall.cc
        (cd obj && export PKG_CONFIG_PATH=$(DESTDIR)$(libdir)/pkgconfig; \
          $(CXX) static-testinstall.cc -o static-testinstall $(CXXFLAGS) 
$(LDFLAGS) \
-         $$(pkg-config re2 --cflags --libs | sed -e 's/-lre2/-l:libre2.a/'))
+         $$(pkg-config re2 --cflags) \
+         $$(pkg-config re2 --libs | sed -e 's/-Wl / /g' | sed -e 
's/-lre2/-l:libre2.a/'))
        obj/static-testinstall
 endif
 
@@ -368,7 +370,8 @@
        @cp testinstall.cc obj/shared-testinstall.cc
        (cd obj && export PKG_CONFIG_PATH=$(DESTDIR)$(libdir)/pkgconfig; \
          $(CXX) shared-testinstall.cc -o shared-testinstall $(CXXFLAGS) 
$(LDFLAGS) \
-         $$(pkg-config re2 --cflags --libs))
+         $$(pkg-config re2 --cflags) \
+         $$(pkg-config re2 --libs | sed -e 's/-Wl / /g'))
 ifeq ($(shell uname),Darwin)
        DYLD_LIBRARY_PATH="$(DESTDIR)$(libdir):$(DYLD_LIBRARY_PATH)" 
obj/shared-testinstall
 else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/WORKSPACE.bazel 
new/re2-2023-09-01/WORKSPACE.bazel
--- old/re2-2023-08-01/WORKSPACE.bazel  2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/WORKSPACE.bazel  2023-08-31 12:55:02.000000000 +0200
@@ -2,61 +2,6 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-# Bazel (http://bazel.io/) WORKSPACE file for RE2.
+# Bazel (http://bazel.build/) WORKSPACE file for RE2.
 
 workspace(name = "com_googlesource_code_re2")
-
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-
-http_archive(
-    name = "com_google_absl",
-    strip_prefix = "abseil-cpp-master",
-    urls = ["https://github.com/abseil/abseil-cpp/archive/master.zip";],
-)
-
-http_archive(
-    name = "bazel_skylib",
-    strip_prefix = "bazel-skylib-main",
-    urls = ["https://github.com/bazelbuild/bazel-skylib/archive/main.zip";],
-)
-
-http_archive(
-    name = "com_github_google_benchmark",
-    strip_prefix = "benchmark-main",
-    urls = ["https://github.com/google/benchmark/archive/main.zip";],
-)
-
-http_archive(
-    name = "com_google_googletest",
-    strip_prefix = "googletest-main",
-    urls = ["https://github.com/google/googletest/archive/main.zip";],
-)
-
-http_archive(
-    name = "rules_python",
-    strip_prefix = "rules_python-main",
-    urls = ["https://github.com/bazelbuild/rules_python/archive/main.zip";],
-)
-
-http_archive(
-    name = "io_abseil_py",
-    strip_prefix = "abseil-py-main",
-    urls = ["https://github.com/abseil/abseil-py/archive/main.zip";],
-)
-
-http_archive(
-    name = "pybind11_bazel",
-    strip_prefix = "pybind11_bazel-master",
-    urls = ["https://github.com/pybind/pybind11_bazel/archive/master.zip";],
-)
-
-http_archive(
-    name = "pybind11",
-    build_file = "@pybind11_bazel//:pybind11.BUILD",
-    strip_prefix = "pybind11-master",
-    urls = ["https://github.com/pybind/pybind11/archive/master.zip";],
-)
-
-load("@pybind11_bazel//:python_configure.bzl", "python_configure")
-
-python_configure(name = "local_config_python")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/WORKSPACE.bzlmod 
new/re2-2023-09-01/WORKSPACE.bzlmod
--- old/re2-2023-08-01/WORKSPACE.bzlmod 1970-01-01 01:00:00.000000000 +0100
+++ new/re2-2023-09-01/WORKSPACE.bzlmod 2023-08-31 12:55:02.000000000 +0200
@@ -0,0 +1,7 @@
+# Copyright 2009 The RE2 Authors.  All Rights Reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+# Bazel (http://bazel.build/) WORKSPACE file for RE2.
+
+workspace(name = "com_googlesource_code_re2")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/app/BUILD.bazel 
new/re2-2023-09-01/app/BUILD.bazel
--- old/re2-2023-08-01/app/BUILD.bazel  2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/app/BUILD.bazel  2023-08-31 12:55:02.000000000 +0200
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-# Bazel (http://bazel.io/) BUILD file for RE2 app.
+# Bazel (http://bazel.build/) BUILD file for RE2 app.
 
 cc_binary(
     name = "_re2.js",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/doc/syntax.html 
new/re2-2023-09-01/doc/syntax.html
--- old/re2-2023-08-01/doc/syntax.html  2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/doc/syntax.html  2023-08-31 12:55:02.000000000 +0200
@@ -62,7 +62,7 @@
 <tr><td colspan=2><b>Grouping:</b></td></tr>
 <tr><td><code>(re)</code></td><td>numbered capturing group (submatch)</td></tr>
 <tr><td><code>(?P&lt;name&gt;re)</code></td><td>named &amp; numbered capturing 
group (submatch)</td></tr>
-<tr><td><code><font 
color=#808080>(?&lt;name&gt;re)</font></code></td><td>named &amp; numbered 
capturing group (submatch) </td></tr>
+<tr><td><code>(?&lt;name&gt;re)</code></td><td>named &amp; numbered capturing 
group (submatch)</td></tr>
 <tr><td><code><font color=#808080>(?'name're)</font></code></td><td>named 
&amp; numbered capturing group (submatch) </td></tr>
 <tr><td><code>(?:re)</code></td><td>non-capturing group</td></tr>
 <tr><td><code>(?flags)</code></td><td>set flags within current group; 
non-capturing</td></tr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/doc/syntax.txt 
new/re2-2023-09-01/doc/syntax.txt
--- old/re2-2023-08-01/doc/syntax.txt   2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/doc/syntax.txt   2023-08-31 12:55:02.000000000 +0200
@@ -51,7 +51,7 @@
 Grouping:
 (re)   numbered capturing group (submatch)
 (?P<name>re)   named & numbered capturing group (submatch)
-(?<name>re)    named & numbered capturing group (submatch) NOT SUPPORTED
+(?<name>re)    named & numbered capturing group (submatch)
 (?'name're)    named & numbered capturing group (submatch) NOT SUPPORTED
 (?:re) non-capturing group
 (?flags)       set flags within current group; non-capturing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/python/BUILD.bazel 
new/re2-2023-09-01/python/BUILD.bazel
--- old/re2-2023-08-01/python/BUILD.bazel       2023-07-28 21:03:25.000000000 
+0200
+++ new/re2-2023-09-01/python/BUILD.bazel       2023-08-31 12:55:02.000000000 
+0200
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-# Bazel (http://bazel.io/) BUILD file for RE2 Python.
+# Bazel (http://bazel.build/) BUILD file for RE2 Python.
 
 load("@pybind11_bazel//:build_defs.bzl", "pybind_extension")
 load("@rules_python//python:defs.bzl", "py_library", "py_test")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/re2/dfa.cc 
new/re2-2023-09-01/re2/dfa.cc
--- old/re2-2023-08-01/re2/dfa.cc       2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/re2/dfa.cc       2023-08-31 12:55:02.000000000 +0200
@@ -134,15 +134,8 @@
                         // into this state, along with kFlagMatch if this
                         // is a matching state.
 
-// Work around the bug affecting flexible array members in GCC 6.x (for x >= 
1).
-// (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70932)
-#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 6 && 
__GNUC_MINOR__ >= 1
-    std::atomic<State*> next_[0];   // Outgoing arrows from State,
-                                    // one per input byte class
-#else
     std::atomic<State*> next_[];    // Outgoing arrows from State,
                                     // one per input byte class
-#endif
   };
 
   enum {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/re2/parse.cc 
new/re2-2023-09-01/re2/parse.cc
--- old/re2-2023-08-01/re2/parse.cc     2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/re2/parse.cc     2023-08-31 12:55:02.000000000 +0200
@@ -2059,8 +2059,6 @@
     return false;
   }
 
-  t.remove_prefix(2);  // "(?"
-
   // Check for named captures, first introduced in Python's regexp library.
   // As usual, there are three slightly different syntaxes:
   //
@@ -2074,22 +2072,23 @@
   // support all three as well.  EcmaScript 4 uses only the Python form.
   //
   // In both the open source world (via Code Search) and the
-  // Google source tree, (?P<expr>name) is the dominant form,
-  // so that's the one we implement.  One is enough.
-  if (t.size() > 2 && t[0] == 'P' && t[1] == '<') {
+  // Google source tree, (?P<name>expr) and (?<name>expr) are the
+  // dominant forms of named captures and both are supported.
+  if ((t.size() > 4 && t[2] == 'P' && t[3] == '<') ||
+      (t.size() > 3 && t[2] == '<')) {
     // Pull out name.
-    size_t end = t.find('>', 2);
+    size_t begin = t[2] == 'P' ? 4 : 3;
+    size_t end = t.find('>', begin);
     if (end == absl::string_view::npos) {
-      if (!IsValidUTF8(*s, status_))
+      if (!IsValidUTF8(t, status_))
         return false;
       status_->set_code(kRegexpBadNamedCapture);
-      status_->set_error_arg(*s);
+      status_->set_error_arg(t);
       return false;
     }
 
-    // t is "P<name>...", t[end] == '>'
-    absl::string_view capture(t.data()-2, end+3);  // "(?P<name>"
-    absl::string_view name(t.data()+2, end-2);     // "name"
+    absl::string_view capture(t.data(), end+1);
+    absl::string_view name(t.data()+begin, end-begin);
     if (!IsValidUTF8(name, status_))
       return false;
     if (!IsValidCaptureName(name)) {
@@ -2103,11 +2102,12 @@
       return false;
     }
 
-    s->remove_prefix(
-        static_cast<size_t>(capture.data() + capture.size() - s->data()));
+    s->remove_prefix(capture.size());
     return true;
   }
 
+  t.remove_prefix(2);  // "(?"
+
   bool negated = false;
   bool sawflags = false;
   int nflags = flags_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/re2/re2.h new/re2-2023-09-01/re2/re2.h
--- old/re2-2023-08-01/re2/re2.h        2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/re2/re2.h        2023-08-31 12:55:02.000000000 +0200
@@ -963,7 +963,7 @@
 }
 
 // Silence warnings about missing initializers for members of LazyRE2.
-#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ >= 6
+#if !defined(__clang__) && defined(__GNUC__)
 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/re2/regexp.cc 
new/re2-2023-09-01/re2/regexp.cc
--- old/re2-2023-08-01/re2/regexp.cc    2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/re2/regexp.cc    2023-08-31 12:55:02.000000000 +0200
@@ -400,7 +400,13 @@
              a->max() == b->max();
 
     case kRegexpCapture:
-      return a->cap() == b->cap() && a->name() == b->name();
+      if (a->name() == NULL || b->name() == NULL) {
+        // One pointer is null, so the other pointer should also be null.
+        return a->cap() == b->cap() && a->name() == b->name();
+      } else {
+        // Neither pointer is null, so compare the pointees for equality.
+        return a->cap() == b->cap() && *a->name() == *b->name();
+      }
 
     case kRegexpHaveMatch:
       return a->match_id() == b->match_id();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/re2/testing/parse_test.cc 
new/re2-2023-09-01/re2/testing/parse_test.cc
--- old/re2-2023-08-01/re2/testing/parse_test.cc        2023-07-28 
21:03:25.000000000 +0200
+++ new/re2-2023-09-01/re2/testing/parse_test.cc        2023-08-31 
12:55:02.000000000 +0200
@@ -166,6 +166,8 @@
   // Test named captures
   { "(?P<name>a)", "cap{name:lit{a}}" },
   { "(?P<中文>a)", "cap{中文:lit{a}}" },
+  { "(?<name>a)", "cap{name:lit{a}}" },
+  { "(?<中文>a)", "cap{中文:lit{a}}" },
 
   // Case-folded literals
   { "[Aa]", "litfold{a}" },
@@ -396,6 +398,11 @@
   "(?P<name",
   "(?P<x y>a)",
   "(?P<>a)",
+  "(?<name>a",
+  "(?<name>",
+  "(?<name",
+  "(?<x y>a)",
+  "(?<>a)",
   "[a-Z]",
   "(?i)[a-Z]",
   "a{100000}",
@@ -416,6 +423,7 @@
  "\\Q\\\\\\\\\\E",
  "(?:a)",
  "(?P<name>a)",
+ "(?<name>a)",
 };
 
 // Valid in POSIX, bad in Perl.
@@ -505,6 +513,16 @@
   EXPECT_TRUE(re == NULL);
   EXPECT_EQ(status.code(), kRegexpBadNamedCapture);
   EXPECT_EQ(status.error_arg(), "(?P<space bar>");
+
+  re = Regexp::Parse("test(?<name", Regexp::LikePerl, &status);
+  EXPECT_TRUE(re == NULL);
+  EXPECT_EQ(status.code(), kRegexpBadNamedCapture);
+  EXPECT_EQ(status.error_arg(), "(?<name");
+
+  re = Regexp::Parse("test(?<space bar>z)", Regexp::LikePerl, &status);
+  EXPECT_TRUE(re == NULL);
+  EXPECT_EQ(status.code(), kRegexpBadNamedCapture);
+  EXPECT_EQ(status.error_arg(), "(?<space bar>");
 }
 
 }  // namespace re2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/re2-2023-08-01/util/pcre.cc 
new/re2-2023-09-01/util/pcre.cc
--- old/re2-2023-08-01/util/pcre.cc     2023-07-28 21:03:25.000000000 +0200
+++ new/re2-2023-09-01/util/pcre.cc     2023-08-31 12:55:02.000000000 +0200
@@ -21,7 +21,7 @@
 #include "util/pcre.h"
 
 // Silence warnings about the wacky formatting in the operator() functions.
-#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ >= 6
+#if !defined(__clang__) && defined(__GNUC__)
 #pragma GCC diagnostic ignored "-Wmisleading-indentation"
 #endif
 

Reply via email to