[php-src] master: Merge branch 'PHP-8.5'

Tim Düsterhus <[email protected]>
Newsgroups gmane.comp.php.cvs.general
Message-ID <[email protected]>
Author: Tim Düsterhus (TimWolla)
Date: 2026-06-30T00:52:18+02:00

Commit: https://github.com/php/php-src/commit/da637e81912dc77bfb91485e3753d0796c61cc8b
Raw diff: https://github.com/php/php-src/commit/da637e81912dc77bfb91485e3753d0796c61cc8b.diff

Merge branch 'PHP-8.5'

* PHP-8.5:
  lexbor: Run `update_lexbor.sh` (PHP 8.5)
  lexbor: Refresh patch files (#22517)

Changed paths:
  A  ext/lexbor/patches/0007-Add-lxb_url_is_special-to-the-public-API-362.patch
  A  ext/lexbor/patches/0008-URL-fixed-setters-for-empty-hosts.patch
  D  ext/lexbor/patches/0007-Add-Is_Special_Url_Support.patch
  D  ext/lexbor/patches/0008-Fix-empty-port-setter.patch
  M  ext/lexbor/lexbor/core/swar.h
  M  ext/lexbor/patches/0001-Expose-line-and-column-information-for-use-in-PHP.patch
  M  ext/lexbor/patches/0002-Track-implied-added-nodes-for-options-use-in-PHP.patch
  M  ext/lexbor/patches/0003-Patch-utilities-and-data-structure-to-be-able-to-gen.patch
  M  ext/lexbor/patches/0004-Remove-unused-upper-case-tag-static-data.patch
  M  ext/lexbor/patches/0005-Shrink-size-of-static-binary-search-tree.patch
  M  ext/lexbor/patches/0006-Patch-out-unused-CSS-style-code.patch
  M  ext/lexbor/patches/update-lexbor.sh


Diff:

diff --git a/ext/lexbor/lexbor/core/swar.h b/ext/lexbor/lexbor/core/swar.h
index 78579ad4bee7..ec0a13b8e23f 100644
--- a/ext/lexbor/lexbor/core/swar.h
+++ b/ext/lexbor/lexbor/core/swar.h
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2024 Alexander Borisov
  *
- * Author: Nora Dossche  <[email protected]>
+ * Author: Niels Dossche <[email protected]>
  */
 
 #ifndef LEXBOR_SWAR_H
diff --git a/ext/lexbor/patches/0001-Expose-line-and-column-information-for-use-in-PHP.patch b/ext/lexbor/patches/0001-Expose-line-and-column-information-for-use-in-PHP.patch
index 32d9d42d2bf1..04136b29f58f 100644
--- a/ext/lexbor/patches/0001-Expose-line-and-column-information-for-use-in-PHP.patch
+++ b/ext/lexbor/patches/0001-Expose-line-and-column-information-for-use-in-PHP.patch
@@ -1,7 +1,7 @@
-From 0cd2add6c46400b808329442f81451b369863983 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Sat, 26 Aug 2023 15:08:59 +0200
-Subject: [PATCH 1/6] Expose line and column information for use in PHP
+Subject: [PATCH 1/8] Expose line and column information for use in PHP
 
 ---
  source/lexbor/dom/interfaces/node.h  |  2 ++
@@ -183,6 +183,3 @@ index 7a212af..b186772 100644
  }
  lxb_html_tree_error_t;
  
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0002-Track-implied-added-nodes-for-options-use-in-PHP.patch b/ext/lexbor/patches/0002-Track-implied-added-nodes-for-options-use-in-PHP.patch
index 1902abf96e3a..615655d7f2ec 100644
--- a/ext/lexbor/patches/0002-Track-implied-added-nodes-for-options-use-in-PHP.patch
+++ b/ext/lexbor/patches/0002-Track-implied-added-nodes-for-options-use-in-PHP.patch
@@ -1,7 +1,7 @@
-From a4c29ba8d1ea1065ce6bd4a34382d53140cf1924 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Mon, 14 Aug 2023 20:18:51 +0200
-Subject: [PATCH 2/6] Track implied added nodes for options use in PHP
+Subject: [PATCH 2/8] Track implied added nodes for options use in PHP
 
 ---
  source/lexbor/html/tree.h                            | 3 +++
@@ -62,6 +62,3 @@ index 05fe738..1e09cda 100644
              tree->mode = lxb_html_tree_insertion_mode_before_head;
  
              break;
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0003-Patch-utilities-and-data-structure-to-be-able-to-gen.patch b/ext/lexbor/patches/0003-Patch-utilities-and-data-structure-to-be-able-to-gen.patch
index 51f77483bc6e..73c5afa19e12 100644
--- a/ext/lexbor/patches/0003-Patch-utilities-and-data-structure-to-be-able-to-gen.patch
+++ b/ext/lexbor/patches/0003-Patch-utilities-and-data-structure-to-be-able-to-gen.patch
@@ -1,7 +1,7 @@
-From 46fc776449252e74795569759a19d13857a59069 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Thu, 24 Aug 2023 22:57:48 +0200
-Subject: [PATCH 3/6] Patch utilities and data structure to be able to generate
+Subject: [PATCH 3/8] Patch utilities and data structure to be able to generate
  smaller lookup tables
 
 Changed the generation script to check if everything fits in 32-bits.
@@ -92,6 +92,3 @@ index 3e75812..2370c66 100755
  
          result.append("};")
  
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0004-Remove-unused-upper-case-tag-static-data.patch b/ext/lexbor/patches/0004-Remove-unused-upper-case-tag-static-data.patch
index 6cb6658a164b..cc0a65a7cd5c 100644
--- a/ext/lexbor/patches/0004-Remove-unused-upper-case-tag-static-data.patch
+++ b/ext/lexbor/patches/0004-Remove-unused-upper-case-tag-static-data.patch
@@ -1,7 +1,7 @@
-From ae9d7254ac129cc3be34de6fd34af27baf3bb396 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Wed, 29 Nov 2023 21:26:47 +0100
-Subject: [PATCH 4/6] Remove unused upper case tag static data
+Subject: [PATCH 4/8] Remove unused upper case tag static data
 
 ---
  source/lexbor/tag/res.h | 2 ++
@@ -48,6 +48,3 @@ index 780bc47..be5bb30 100644
  
  /*
   * No inline functions for ABI.
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0005-Shrink-size-of-static-binary-search-tree.patch b/ext/lexbor/patches/0005-Shrink-size-of-static-binary-search-tree.patch
index 9ef6e305e498..b84120bf6c8c 100644
--- a/ext/lexbor/patches/0005-Shrink-size-of-static-binary-search-tree.patch
+++ b/ext/lexbor/patches/0005-Shrink-size-of-static-binary-search-tree.patch
@@ -1,7 +1,7 @@
-From 19cf6183813e013dfe0eb2303c15eaf6e01b9faf Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Wed, 29 Nov 2023 21:29:31 +0100
-Subject: [PATCH 5/6] Shrink size of static binary search tree
+Subject: [PATCH 5/8] Shrink size of static binary search tree
 
 This also makes it more efficient on the data cache.
 ---
@@ -111,6 +111,3 @@ index 2370c66..c41e645 100755
              self.buffer.append(line)
          fh.close()
  
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0006-Patch-out-unused-CSS-style-code.patch b/ext/lexbor/patches/0006-Patch-out-unused-CSS-style-code.patch
index a643f9716488..196a5a8a62de 100644
--- a/ext/lexbor/patches/0006-Patch-out-unused-CSS-style-code.patch
+++ b/ext/lexbor/patches/0006-Patch-out-unused-CSS-style-code.patch
@@ -1,7 +1,7 @@
-From 54399ee441d922d89c32909e2028f899f6091cd6 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Niels Dossche <[email protected]>
 Date: Sun, 7 Jan 2024 21:59:28 +0100
-Subject: [PATCH 6/6] Patch out unused CSS style code
+Subject: [PATCH 6/8] Patch out unused CSS style code
 
 ---
  source/lexbor/css/rule.h | 2 ++
@@ -27,6 +27,3 @@ index 308dced..d192a01 100644
  }
  
  lxb_inline void
--- 
-2.51.2
-
diff --git a/ext/lexbor/patches/0007-Add-Is_Special_Url_Support.patch b/ext/lexbor/patches/0007-Add-lxb_url_is_special-to-the-public-API-362.patch
similarity index 86%
rename from ext/lexbor/patches/0007-Add-Is_Special_Url_Support.patch
rename to ext/lexbor/patches/0007-Add-lxb_url_is_special-to-the-public-API-362.patch
index 7412783a12d0..6a42cdebc124 100644
--- a/ext/lexbor/patches/0007-Add-Is_Special_Url_Support.patch
+++ b/ext/lexbor/patches/0007-Add-lxb_url_is_special-to-the-public-API-362.patch
@@ -1,7 +1,7 @@
-From 9181fce509ab9b37c02994545f3971687433e770 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= <[email protected]>
 Date: Sun, 17 May 2026 22:17:14 +0200
-Subject: [PATCH] Add lxb_url_is_special() to the public API (#362)
+Subject: [PATCH 7/8] Add lxb_url_is_special() to the public API (#362)
 
 As https://wiki.php.net/rfc/uri_followup#uri_type_detection relies on this information.
 ---
@@ -10,7 +10,7 @@ As https://wiki.php.net/rfc/uri_followup#uri_type_detection relies on this infor
  2 files changed, 10 insertions(+), 1 deletion(-)
 
 diff --git a/source/lexbor/url/url.c b/source/lexbor/url/url.c
-index 5a114346..a5b323f2 100644
+index 5a11434..a5b323f 100644
 --- a/source/lexbor/url/url.c
 +++ b/source/lexbor/url/url.c
 @@ -860,7 +860,7 @@ lxb_url_is_url_codepoint(lxb_codepoint_t cp)
@@ -23,7 +23,7 @@ index 5a114346..a5b323f2 100644
  {
      return url->scheme.type != LXB_URL_SCHEMEL_TYPE__UNKNOWN;
 diff --git a/source/lexbor/url/url.h b/source/lexbor/url/url.h
-index 4ed3f32a..6cc6f108 100644
+index 4ed3f32..6cc6f10 100644
 --- a/source/lexbor/url/url.h
 +++ b/source/lexbor/url/url.h
 @@ -763,6 +763,15 @@ LXB_API lxb_status_t
diff --git a/ext/lexbor/patches/0008-Fix-empty-port-setter.patch b/ext/lexbor/patches/0008-URL-fixed-setters-for-empty-hosts.patch
similarity index 91%
rename from ext/lexbor/patches/0008-Fix-empty-port-setter.patch
rename to ext/lexbor/patches/0008-URL-fixed-setters-for-empty-hosts.patch
index 75ceaab0c63f..deb1d3abf85c 100644
--- a/ext/lexbor/patches/0008-Fix-empty-port-setter.patch
+++ b/ext/lexbor/patches/0008-URL-fixed-setters-for-empty-hosts.patch
@@ -1,7 +1,7 @@
-From cf07699ca0f5fa4e1f7fd05c2135fd38e6d196c2 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 From: Alexander Borisov <[email protected]>
 Date: Fri, 26 Jun 2026 18:55:56 +0300
-Subject: [PATCH] URL: fixed setters for empty hosts.
+Subject: [PATCH 8/8] URL: fixed setters for empty hosts.
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -22,13 +22,13 @@ This relates to #387 issue on GitHub.
  3 files changed, 86 insertions(+), 9 deletions(-)
 
 diff --git a/source/lexbor/url/url.c b/source/lexbor/url/url.c
-index ced4462b..e1da2c38 100644
+index a5b323f..5c6d5cc 100644
 --- a/source/lexbor/url/url.c
 +++ b/source/lexbor/url/url.c
-@@ -1116,11 +1116,13 @@ lxb_url_host_copy(const lxb_url_host_t *src, lxb_url_host_t *dst,
-
+@@ -1115,11 +1115,13 @@ lxb_url_host_copy(const lxb_url_host_t *src, lxb_url_host_t *dst,
+ 
      dst->type = src->type;
-
+ 
 -    if (src->type <= LXB_URL_HOST_TYPE_OPAQUE) {
 -        if (src->type == LXB_URL_HOST_TYPE__UNDEF) {
 -            return LXB_STATUS_OK;
@@ -38,15 +38,15 @@ index ced4462b..e1da2c38 100644
 +    {
 +        return LXB_STATUS_OK;
 +    }
-
+ 
 +    if (src->type <= LXB_URL_HOST_TYPE_OPAQUE) {
          return lxb_url_str_copy(&src->u.domain,
                                  &dst->u.domain, dst_mraw);
      }
-@@ -1153,6 +1155,24 @@ lxb_url_host_set_empty(lxb_url_host_t *host, lexbor_mraw_t *mraw)
+@@ -1152,6 +1154,24 @@ lxb_url_host_set_empty(lxb_url_host_t *host, lexbor_mraw_t *mraw)
      host->type = LXB_URL_HOST_TYPE_EMPTY;
  }
-
+ 
 +lxb_inline bool
 +lxb_url_host_is_empty(const lxb_url_host_t *host)
 +{
@@ -68,7 +68,7 @@ index ced4462b..e1da2c38 100644
  static bool
  lxb_url_host_eq(lxb_url_host_t *host, const lxb_char_t *data, size_t length)
  {
-@@ -1252,7 +1272,7 @@ lxb_url_normalized_windows_drive_letter(const lxb_char_t *data,
+@@ -1251,7 +1271,7 @@ lxb_url_normalized_windows_drive_letter(const lxb_char_t *data,
  static bool
  lxb_url_cannot_have_user_pass_port(lxb_url_t *url)
  {
@@ -77,20 +77,20 @@ index ced4462b..e1da2c38 100644
      || url->host.type == LXB_URL_HOST_TYPE__UNDEF
      || url->scheme.type == LXB_URL_SCHEMEL_TYPE_FILE;
  }
-@@ -3979,6 +3999,11 @@ lxb_url_opaque_host_parse(lxb_url_parser_t *parser, const lxb_char_t *data,
+@@ -3978,6 +3998,11 @@ lxb_url_opaque_host_parse(lxb_url_parser_t *parser, const lxb_char_t *data,
      lxb_status_t status;
      const lxb_char_t *p;
-
+ 
 +    if (data == end) {
 +        lxb_url_host_set_empty(host, mraw);
 +        return LXB_STATUS_OK;
 +    }
 +
      p = data;
-
+ 
      while (p < end) {
 diff --git a/test/files/lexbor/url/changes.ton b/test/files/lexbor/url/changes.ton
-index 07bc9449..1a0b6e35 100644
+index 07bc944..1a0b6e3 100644
 --- a/test/files/lexbor/url/changes.ton
 +++ b/test/files/lexbor/url/changes.ton
 @@ -1,5 +1,5 @@
@@ -167,7 +167,7 @@ index 07bc9449..1a0b6e35 100644
      }
  ]
 diff --git a/test/files/lexbor/url/url.ton b/test/files/lexbor/url/url.ton
-index 2baa4bc2..85794c5b 100644
+index 2baa4bc..85794c5 100644
 --- a/test/files/lexbor/url/url.ton
 +++ b/test/files/lexbor/url/url.ton
 @@ -1,5 +1,5 @@
diff --git a/ext/lexbor/patches/update-lexbor.sh b/ext/lexbor/patches/update-lexbor.sh
index 55e330a87644..ae288285453d 100755
--- a/ext/lexbor/patches/update-lexbor.sh
+++ b/ext/lexbor/patches/update-lexbor.sh
@@ -25,8 +25,9 @@ for patch in "${patches[@]}"; do
 done
 
 # Refresh patches
+rm "$PATCHES_DIR"/*.patch
 NUM_PATCHES=${#patches[@]}
-git format-patch "HEAD~$NUM_PATCHES" -o "$PATCHES_DIR"
+git format-patch --no-signature --zero-commit "HEAD~$NUM_PATCHES" -o "$PATCHES_DIR"
 
 # Run code-generation tools
 (cd "$LEXBOR_TMP_DIR/utils/lexbor/encoding" && python3 single-byte.py)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.