Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-tree-sitter for openSUSE:Factory checked in at 2025-11-10 19:19:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tree-sitter (Old) and /work/SRC/openSUSE:Factory/.python-tree-sitter.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tree-sitter" Mon Nov 10 19:19:27 2025 rev:4 rq:1316815 version:0.25.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tree-sitter/python-tree-sitter.changes 2025-08-12 17:04:58.856276460 +0200 +++ /work/SRC/openSUSE:Factory/.python-tree-sitter.new.1980/python-tree-sitter.changes 2025-11-10 19:19:32.029860372 +0100 @@ -1,0 +2,17 @@ +Mon Nov 10 08:21:09 UTC 2025 - Dirk Müller <[email protected]> + +- update to 0.25.2: + * ci: bump actions/download-artifact from 4 to 5 in the actions + group + * ci: bump actions/checkout from 4 to 5 in the actions group + * build: bump tree_sitter/core from `3624198` to `629093d` + * build: properly detect MSVC compiler + * ci: bump actions/upload-pages-artifact from 3 to 4 in the + actions group + * ci: bump actions/setup-python from 5 to 6 in the actions + group + * build: bump tree_sitter/core from `629093d` to `a467ea8` + * fix(parser): fix memleak of source_view + * build: bump tree_sitter/core from `a467ea8` to `da6fe9b` + +------------------------------------------------------------------- Old: ---- tree-sitter-0.25.1.tar.gz New: ---- tree-sitter-0.25.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tree-sitter.spec ++++++ --- /var/tmp/diff_new_pack.Hsa6a3/_old 2025-11-10 19:19:32.677887579 +0100 +++ /var/tmp/diff_new_pack.Hsa6a3/_new 2025-11-10 19:19:32.677887579 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-tree-sitter # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-tree-sitter -Version: 0.25.1 +Version: 0.25.2 Release: 0 Summary: Python bindings to the Tree-sitter parsing library License: MIT ++++++ tree-sitter-0.25.1.tar.gz -> tree-sitter-0.25.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/PKG-INFO new/tree-sitter-0.25.2/PKG-INFO --- old/tree-sitter-0.25.1/PKG-INFO 2025-08-05 19:09:06.451971500 +0200 +++ new/tree-sitter-0.25.2/PKG-INFO 2025-09-25 19:31:46.131384600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: tree-sitter -Version: 0.25.1 +Version: 0.25.2 Summary: Python bindings to the Tree-sitter parsing library Author-email: Max Brunsfeld <[email protected]> Project-URL: Homepage, https://tree-sitter.github.io/tree-sitter/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/pyproject.toml new/tree-sitter-0.25.2/pyproject.toml --- old/tree-sitter-0.25.1/pyproject.toml 2025-08-05 19:09:00.000000000 +0200 +++ new/tree-sitter-0.25.2/pyproject.toml 2025-09-25 19:31:41.000000000 +0200 @@ -4,7 +4,7 @@ [project] name = "tree-sitter" -version = "0.25.1" +version = "0.25.2" description = "Python bindings to the Tree-sitter parsing library" keywords = ["incremental", "parsing", "tree-sitter"] classifiers = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/setup.py new/tree-sitter-0.25.2/setup.py --- old/tree-sitter-0.25.1/setup.py 2025-08-05 19:09:00.000000000 +0200 +++ new/tree-sitter-0.25.2/setup.py 2025-09-25 19:31:41.000000000 +0200 @@ -1,20 +1,25 @@ -from os import name as os_name from platform import machine from setuptools import Extension, setup # type: ignore +from setuptools.command.build_ext import build_ext + + +class BuildExt(build_ext): + def build_extension(self, ext: Extension): + if self.compiler.compiler_type != "msvc": + ext.extra_compile_args = [ + "-std=c11", + "-fvisibility=hidden", + "-Wno-cast-function-type", + "-Werror=implicit-function-declaration", + ] + # FIXME: GCC optimizer bug workaround for #330 & #386 + if machine().startswith("aarch64"): + ext.extra_compile_args.append("--param=early-inlining-insns=9") + else: + ext.extra_compile_args = ["/std:c11", "/wd4244"] + super().build_extension(ext) -if os_name != "nt": - cflags = [ - "-std=c11", - "-fvisibility=hidden", - "-Wno-cast-function-type", - "-Werror=implicit-function-declaration", - ] - # FIXME: GCC optimizer bug workaround for #330 & #386 - if machine().startswith("aarch64"): - cflags.append("--param=early-inlining-insns=9") -else: - cflags = ["/std:c11", "/wd4244"] setup( packages=["tree_sitter"], @@ -22,6 +27,9 @@ package_data={ "tree_sitter": ["py.typed", "*.pyi"], }, + cmdclass={ + "build_ext": BuildExt, + }, ext_modules=[ Extension( name="tree_sitter._binding", @@ -50,7 +58,6 @@ ("PY_SSIZE_T_CLEAN", None), ("TREE_SITTER_HIDE_SYMBOLS", None), ], - extra_compile_args=cflags, ) ], ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/binding/parser.c new/tree-sitter-0.25.2/tree_sitter/binding/parser.c --- old/tree-sitter-0.25.1/tree_sitter/binding/parser.c 2025-08-05 19:09:00.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/binding/parser.c 2025-09-25 19:31:41.000000000 +0200 @@ -140,6 +140,7 @@ if (progress_callback_obj != NULL) { const char *warning = "The progress_callback is ignored when parsing a bytestring"; if (PyErr_WarnEx(PyExc_UserWarning, warning, 1) < 0) { + PyBuffer_Release(&source_view); return NULL; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/core/lib/src/language.c new/tree-sitter-0.25.2/tree_sitter/core/lib/src/language.c --- old/tree-sitter-0.25.1/tree_sitter/core/lib/src/language.c 2025-08-05 19:09:01.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/core/lib/src/language.c 2025-09-25 19:31:42.000000000 +0200 @@ -186,7 +186,7 @@ uint32_t length, bool is_named ) { - if (!strncmp(string, "ERROR", length)) return ts_builtin_sym_error; + if (is_named && !strncmp(string, "ERROR", length)) return ts_builtin_sym_error; uint16_t count = (uint16_t)ts_language_symbol_count(self); for (TSSymbol i = 0; i < count; i++) { TSSymbolMetadata metadata = ts_language_symbol_metadata(self, i); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/core/lib/src/parser.c new/tree-sitter-0.25.2/tree_sitter/core/lib/src/parser.c --- old/tree-sitter-0.25.1/tree_sitter/core/lib/src/parser.c 2025-08-05 19:09:01.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/core/lib/src/parser.c 2025-09-25 19:31:42.000000000 +0200 @@ -396,20 +396,24 @@ static unsigned ts_parser__external_scanner_serialize( TSParser *self ) { + uint32_t length; if (ts_language_is_wasm(self->language)) { - return ts_wasm_store_call_scanner_serialize( + length = ts_wasm_store_call_scanner_serialize( self->wasm_store, (uintptr_t)self->external_scanner_payload, self->lexer.debug_buffer ); + if (ts_wasm_store_has_error(self->wasm_store)) { + self->has_scanner_error = true; + } } else { - uint32_t length = self->language->external_scanner.serialize( + length = self->language->external_scanner.serialize( self->external_scanner_payload, self->lexer.debug_buffer ); - ts_assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE); - return length; } + ts_assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE); + return length; } static void ts_parser__external_scanner_deserialize( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/core/lib/src/portable/endian.h new/tree-sitter-0.25.2/tree_sitter/core/lib/src/portable/endian.h --- old/tree-sitter-0.25.1/tree_sitter/core/lib/src/portable/endian.h 2025-08-05 19:09:01.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/core/lib/src/portable/endian.h 2025-09-25 19:31:42.000000000 +0200 @@ -18,6 +18,7 @@ #if defined(HAVE_ENDIAN_H) || \ defined(__linux__) || \ defined(__GNU__) || \ + defined(__HAIKU__) || \ defined(__illumos__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/core/lib/src/query.c new/tree-sitter-0.25.2/tree_sitter/core/lib/src/query.c --- old/tree-sitter-0.25.1/tree_sitter/core/lib/src/query.c 2025-08-05 19:09:01.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/core/lib/src/query.c 2025-09-25 19:31:42.000000000 +0200 @@ -1340,7 +1340,12 @@ // Determine if this hypothetical child node would match the current step // of the query pattern. bool does_match = false; - if (visible_symbol) { + + // ERROR nodes can appear anywhere, so if the step is + // looking for an ERROR node, consider it potentially matchable. + if (step->symbol == ts_builtin_sym_error) { + does_match = true; + } else if (visible_symbol) { does_match = true; if (step->symbol == WILDCARD_SYMBOL) { if ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter/core/lib/src/wasm_store.c new/tree-sitter-0.25.2/tree_sitter/core/lib/src/wasm_store.c --- old/tree-sitter-0.25.1/tree_sitter/core/lib/src/wasm_store.c 2025-08-05 19:09:01.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter/core/lib/src/wasm_store.c 2025-09-25 19:31:42.000000000 +0200 @@ -754,6 +754,7 @@ wasmtime_val_t stack_pointer_value = WASM_I32_VAL(0); wasmtime_global_t stack_pointer_global; error = wasmtime_global_new(context, var_i32_type, &stack_pointer_value, &stack_pointer_global); + wasm_globaltype_delete(var_i32_type); ts_assert(!error); *self = (TSWasmStore) { @@ -1376,11 +1377,12 @@ if (symbol == 0) break; uint16_t value_count; memcpy(&value_count, &memory[wasm_language.alias_map + alias_map_size], sizeof(value_count)); + alias_map_size += sizeof(uint16_t); alias_map_size += value_count * sizeof(TSSymbol); } language->alias_map = copy( &memory[wasm_language.alias_map], - alias_map_size * sizeof(TSSymbol) + alias_map_size ); language->alias_sequences = copy( &memory[wasm_language.alias_sequences], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tree-sitter-0.25.1/tree_sitter.egg-info/PKG-INFO new/tree-sitter-0.25.2/tree_sitter.egg-info/PKG-INFO --- old/tree-sitter-0.25.1/tree_sitter.egg-info/PKG-INFO 2025-08-05 19:09:06.000000000 +0200 +++ new/tree-sitter-0.25.2/tree_sitter.egg-info/PKG-INFO 2025-09-25 19:31:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: tree-sitter -Version: 0.25.1 +Version: 0.25.2 Summary: Python bindings to the Tree-sitter parsing library Author-email: Max Brunsfeld <[email protected]> Project-URL: Homepage, https://tree-sitter.github.io/tree-sitter/
