Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Text-CSV_XS for 
openSUSE:Factory checked in at 2025-08-27 21:33:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Text-CSV_XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.30751 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Text-CSV_XS"

Wed Aug 27 21:33:19 2025 rev:59 rq:1301444 version:1.610.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Text-CSV_XS/perl-Text-CSV_XS.changes        
2025-02-11 21:23:07.834545469 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.30751/perl-Text-CSV_XS.changes 
    2025-08-27 21:33:20.927344992 +0200
@@ -1,0 +2,6 @@
+Wed Aug 13 13:00:44 UTC 2025 - Tina Müller <tina.muel...@suse.com>
+
+- updated to 1.610.0 (1.61)
+   see /usr/share/doc/packages/perl-Text-CSV_XS/ChangeLog
+
+-------------------------------------------------------------------

Old:
----
  Text-CSV_XS-1.60.tgz

New:
----
  README.md
  Text-CSV_XS-1.61.tgz
  _scmsync.obsinfo
  build.specials.obscpio

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

Other differences:
------------------
++++++ perl-Text-CSV_XS.spec ++++++
--- /var/tmp/diff_new_pack.uKbWh0/_old  2025-08-27 21:33:21.451366902 +0200
+++ /var/tmp/diff_new_pack.uKbWh0/_new  2025-08-27 21:33:21.455367070 +0200
@@ -18,15 +18,16 @@
 
 %define cpan_name Text-CSV_XS
 Name:           perl-Text-CSV_XS
-Version:        1.600.0
+Version:        1.610.0
 Release:        0
-# 1.60 -> normalize -> 1.600.0
-%define cpan_version 1.60
+# 1.61 -> normalize -> 1.610.0
+%define cpan_version 1.61
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Comma-Separated Values manipulation routines
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/H/HM/HMBRAND/%{cpan_name}-%{cpan_version}.tgz
 Source1:        cpanspec.yml
+Source100:      README.md
 BuildRequires:  perl
 BuildRequires:  perl-macros
 Provides:       perl(Text::CSV_XS) = %{version}
@@ -63,5 +64,5 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%doc ChangeLog CONTRIBUTING.md examples README SECURITY.md
+%doc ChangeLog CONTRIBUTING.md examples LOVE_LETTER.md README SECURITY.md
 

++++++ README.md ++++++

## Build Results

Current state of perl in openSUSE:Factory is

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-Text-CSV_XS/standard)

The current state of perl in the devel project build (devel:languages:perl)

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-Text-CSV_XS)



++++++ Text-CSV_XS-1.60.tgz -> Text-CSV_XS-1.61.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/CSV_XS.pm 
new/Text-CSV_XS-1.61/CSV_XS.pm
--- old/Text-CSV_XS-1.60/CSV_XS.pm      2025-01-05 15:13:41.000000000 +0100
+++ new/Text-CSV_XS-1.61/CSV_XS.pm      2025-07-10 19:02:16.000000000 +0200
@@ -23,7 +23,7 @@
 use Carp;
 
 use vars qw( $VERSION @ISA @EXPORT_OK %EXPORT_TAGS );
-$VERSION = "1.60";
+$VERSION = "1.61";
 @ISA     = qw( Exporter );
 XSLoader::load ("Text::CSV_XS", $VERSION);
 
@@ -3767,15 +3767,14 @@
 X<detect_bom>
 
 If  C<detect_bom>  is given, the method  L</header>  will be invoked on the
-opened stream to check if there is a BOM and set the encoding accordingly.
+opened stream to check if there is a  BOM and set the encoding accordingly.
+Note that the attribute L<C<headers>|/headers>  can be used to overrule the
+default behavior of how that method automatically sets the attribute.
 
 C<detect_bom> can be abbreviated to C<bom>.
 
 This is the same as setting L<C<encoding>|/encoding> to C<"auto">.
 
-Note that as the method  L</header> is invoked,  its default is to also set
-the headers.
-
 =head3 headers
 X<headers>
 
@@ -5085,7 +5084,7 @@
 The header line parsed in the L</header> contains an empty field.
 
 =item *
-1013 "INI - the header contains nun-unique fields"
+1013 "INI - the header contains non-unique fields"
 X<1013>
 
 The header line parsed in the  L</header>  contains at least  two identical
@@ -5302,9 +5301,12 @@
 L<Text::CSV::Encoded>,     L<Text::CSV::Separator>,    L<Text::CSV::Slurp>,
 L<Spreadsheet::CSV> and L<Spreadsheet::Read>, and of course L<perl>.
 
-If you are using Raku,  have a look at C<Text::CSV> in the Raku ecosystem,
+If you are using Raku,  have a look at C<Text::CSV> in the  Raku ecosystem,
 offering the same features.
 
+A beautiful L<Love 
Letter|https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md>
+to C<CSV> by the developers of L<xan|https://github.com/medialab/xan#readme>.
+
 =head3 non-perl
 
 A CSV parser in JavaScript,  also used by L<W3C|http://www.w3.org>,  is the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/CSV_XS.xs 
new/Text-CSV_XS-1.61/CSV_XS.xs
--- old/Text-CSV_XS-1.60/CSV_XS.xs      2025-01-29 15:29:33.000000000 +0100
+++ new/Text-CSV_XS-1.61/CSV_XS.xs      2025-07-10 19:02:08.000000000 +0200
@@ -282,7 +282,7 @@
     { 1010, "INI - the header is empty"                                        
        },
     { 1011, "INI - the header contains more than one valid separator"          
},
     { 1012, "INI - the header contains an empty field"                         
},
-    { 1013, "INI - the header contains nun-unique fields"                      
},
+    { 1013, "INI - the header contains non-unique fields"                      
},
     { 1014, "INI - header called on undefined stream"                          
},
 
     /* Syntax errors */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/ChangeLog 
new/Text-CSV_XS-1.61/ChangeLog
--- old/Text-CSV_XS-1.60/ChangeLog      2025-01-29 15:40:11.000000000 +0100
+++ new/Text-CSV_XS-1.61/ChangeLog      2025-07-26 15:43:19.000000000 +0200
@@ -1,3 +1,8 @@
+1.61   - 2025-07-26, H.Merijn Brand
+    * Add love letter to CSV from xan project with reference
+    * Bugtracker to github (long overdue) (issue 63)
+    * Update to Devel::PPPort-3.73
+
 1.60   - 2025-01-29, H.Merijn Brand
     * Add SECURITY.md
     * CR/NL/CRNL inside quoted fields not affected by strict_eol
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/LOVE_LETTER.md 
new/Text-CSV_XS-1.61/LOVE_LETTER.md
--- old/Text-CSV_XS-1.60/LOVE_LETTER.md 1970-01-01 01:00:00.000000000 +0100
+++ new/Text-CSV_XS-1.61/LOVE_LETTER.md 2025-03-31 09:31:21.000000000 +0200
@@ -0,0 +1,65 @@
+# A love letter to the CSV format
+
+*Or why people pretending CSV is dead are wrong*
+
+Every month or so, a new blog article declaring the near demise of CSV in 
favor of some "obviously superior" format 
([parquet](https://parquet.apache.org/), newline-delimited JSON, 
[MessagePack](https://msgpack.org/) records etc.) find its ways to the reader's 
eyes. Sadly those articles often offer a very narrow and biased comparison and 
often fail to understand what makes CSV a seemingly unkillable staple of data 
serialization.
+
+It is therefore my intention, through this article, to write a love letter to 
this data format, often criticized for the wrong reasons, even more so when it 
is somehow deemed "cool" to hate on it. My point is not, far from it, to say 
that CSV is a silver bullet but rather to shine a light on some of the format's 
sometimes overlooked strengths.
+
+## 1. CSV is dead simple
+
+The specification of CSV holds in its title: "comma separated values". Okay, 
it's a lie, but still, the specification holds in a tweet and can be explained 
to anybody in seconds: commas separate values, new lines separate rows. Now 
quote values containing commas and line breaks, double your quotes, and that's 
it. This is so simple you might even invent it yourself without knowing it 
already exists while learning how to program.
+
+Of course it does not mean you should not use a dedicated CSV parser/writer 
because you *will* mess something up.
+
+## 2. CSV is a collective idea
+
+No one owns CSV. It has no real specification (yes, I know about the 
controversial ex-post [RFC 
4180](https://datatracker.ietf.org/doc/html/rfc4180)), just a set of rules 
everyone kinda agrees to respect implicitly. It is, and will forever remain, an 
open and free collective idea.
+
+## 3. CSV is text
+
+Like JSON, YAML or XML, CSV is just plain text, that you are free to encode 
however you like. CSV is not a binary format, can be opened with any text 
editor and does not require any specialized program to be read. This means, by 
extension, that it can both be read and edited by humans directly, somehow.
+
+## 4. CSV is streamable
+
+CSV can be read row by row very easily without requiring more memory than what 
is needed to fit a single row. This also means that a trivial program that 
anyone can write is able to read gigabytes of CSV data with only some kilobytes 
of RAM.
+
+By comparison, column-oriented data formats such as parquet are not able to 
stream files row by row without requiring you to jump here and there in the 
file or to buffer the memory cleverly so you don't tank read performance.
+
+But of course, CSV is terrible if you are only interested in specific columns 
because you will indeed need to read all of a row only to access the part you 
are interested in.
+
+Column-oriented data format are of course a very good fit for the dataframes 
mindset of R, pandas and such. But critics of CSV coming from this set of 
practices tend to only care about use-cases where everything is expected to fit 
into memory.
+
+## 5. CSV can be appended to
+
+It is trivial to add new rows at the end of a CSV file and it is very 
efficient to do so. Just open the file in append mode (`a+`) and get going.
+
+Once again, column-oriented data formats cannot do this, or at least not in a 
straightforward manner. They can actually be regarded as on-disk dataframes, 
and like with dataframes, adding a column is very efficient while adding a new 
row really isn't.
+
+## 6. CSV is dynamically typed
+
+Please don't flee. Let me explain why this is sometimes a good thing. 
Sometimes when dealing with data, you might like to have some flexibility, 
especially across programming languages, when parsing serialized data.
+
+Consider JavaScript, for instance, that is unable to represent 64 bits 
integers. Or what languages, frameworks and libraries consider as null values 
(don't get me started on pandas and null values). CSV lets you parse values as 
you see fit and is in fact dynamically typed. But this is as much of a strength 
as it can become a potential footgun if you are not careful.
+
+Note also, but this might be hard to do with higher-level languages such as 
python and JavaScript, that you are not required to decode the text at all to 
process CSV cell values and that you can work directly on the binary 
representation of the text for performance reasons.
+
+## 7. CSV is succinct
+
+Having the headers written only once at the beginning of the file means the 
amount of formal repetition of the format is naturally very low. Consider a 
list of objects in JSON or the equivalent in XML and you will quickly see the 
cost of repeating keys everywhere. That does not mean JSON and XML will not 
compress very well, but few formats exhibit this level of natural conciseness.
+
+What's more, strings are often already optimally represented and the overhead 
of the format itself (some commas and quotes here and there) is kept to a 
minimum. Of course, statically-typed numbers could be represented more 
concisely, but you will not save up an order of magnitude there neither.
+
+## 8. Reverse CSV is still valid CSV
+
+This one is not often realized by everyone but a reversed (byte by byte) CSV 
file, is still valid CSV. This is only made possible because of the genius idea 
to escape quotes by doubling them, which means escaping is a palindrome. It 
would not work if CSV used a backslash-based escaping scheme, as is most common 
when representing string literals.
+
+But why should you care? Well, this means you can read very efficiently and 
very easily the last rows of a CSV file. Just feed the bytes of your file in 
reverse order to a CSV parser, then reverse the yielded rows and their cells' 
bytes and you are done (maybe read the header row before though).
+
+This means you can very well use a CSV output as a way to efficiently resume 
an aborted process. You can indeed read and parse the last rows of a CSV file 
in constant time since you don't need to read the whole file but only to 
position yourself at the end of the file to buffer the bytes in reverse and 
feed them to the parser.
+
+## 9. Excel hates CSV
+
+It clearly means CSV must be doing something right.
+
+Signed: [xan](https://github.com/medialab/xan#readme), the CSV magician
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/MANIFEST 
new/Text-CSV_XS-1.61/MANIFEST
--- old/Text-CSV_XS-1.60/MANIFEST       2025-01-31 11:36:19.000000000 +0100
+++ new/Text-CSV_XS-1.61/MANIFEST       2025-07-26 16:50:04.000000000 +0200
@@ -4,6 +4,7 @@
 cpanfile               Dependency list for cpan/cpanm
 CONTRIBUTING.md                Guide in how to contribute
 SECURITY.md            Guide for reporting security issues
+LOVE_LETTER.md         A love letter to CSV from the xan folk
 CSV_XS.pm              Perl part of the module
 CSV_XS.xs              C part of the module
 Makefile.PL            Makefile generator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/META.json 
new/Text-CSV_XS-1.61/META.json
--- old/Text-CSV_XS-1.60/META.json      2025-01-31 11:36:19.000000000 +0100
+++ new/Text-CSV_XS-1.61/META.json      2025-07-26 16:50:05.000000000 +0200
@@ -1,70 +1,70 @@
 {
-   "meta-spec" : {
-      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : 2
-   },
-   "provides" : {
-      "Text::CSV_XS" : {
-         "version" : "1.60",
-         "file" : "CSV_XS.pm"
-      }
-   },
-   "dynamic_config" : 1,
-   "abstract" : "Comma-Separated Values manipulation routines",
-   "generated_by" : "Author",
-   "license" : [
-      "perl_5"
-   ],
    "prereqs" : {
-      "test" : {
+      "build" : {
          "requires" : {
-            "Test::More" : "0",
-            "Tie::Scalar" : "0"
+            "Config" : "0"
          }
       },
-      "build" : {
+      "runtime" : {
          "requires" : {
-            "Config" : "0"
+            "perl" : "5.006001",
+            "XSLoader" : "0",
+            "IO::Handle" : "0"
+         },
+         "recommends" : {
+            "Encode" : "3.21"
          }
       },
       "configure" : {
-         "recommends" : {
-            "ExtUtils::MakeMaker" : "7.70"
-         },
          "requires" : {
             "ExtUtils::MakeMaker" : "0"
+         },
+         "recommends" : {
+            "ExtUtils::MakeMaker" : "7.76"
          }
       },
-      "runtime" : {
-         "recommends" : {
-            "Encode" : "3.21"
-         },
+      "test" : {
          "requires" : {
-            "XSLoader" : "0",
-            "IO::Handle" : "0",
-            "perl" : "5.006001"
+            "Test::More" : "0",
+            "Tie::Scalar" : "0"
          }
       }
    },
+   "author" : [
+      "H.Merijn Brand <hmbr...@cpan.org>"
+   ],
+   "provides" : {
+      "Text::CSV_XS" : {
+         "file" : "CSV_XS.pm",
+         "version" : "1.61"
+      }
+   },
+   "abstract" : "Comma-Separated Values manipulation routines",
    "resources" : {
-      "license" : [
-         "http://dev.perl.org/licenses/";
-      ],
+      "homepage" : "https://metacpan.org/pod/Text::CSV_XS";,
       "repository" : {
          "type" : "git",
          "url" : "https://github.com/Tux/Text-CSV_XS";,
          "web" : "https://github.com/Tux/Text-CSV_XS";
       },
-      "x_IRC" : "irc://irc.perl.org/#csv",
       "bugtracker" : {
-         "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS";
+         "web" : "https://github.com/Tux/Text-CSV_XS/issues";
       },
-      "homepage" : "https://metacpan.org/pod/Text::CSV_XS";
+      "x_IRC" : "irc://irc.perl.org/#csv",
+      "license" : [
+         "http://dev.perl.org/licenses/";
+      ]
    },
-   "version" : "1.60",
-   "author" : [
-      "H.Merijn Brand <hmbr...@cpan.org>"
-   ],
+   "version" : "1.61",
+   "dynamic_config" : 1,
+   "meta-spec" : {
+      "version" : 2,
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";
+   },
+   "generated_by" : "Author",
    "name" : "Text-CSV_XS",
+   "license" : [
+      "perl_5"
+   ],
    "release_status" : "stable"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/META.yml 
new/Text-CSV_XS-1.61/META.yml
--- old/Text-CSV_XS-1.60/META.yml       2025-01-31 11:36:19.000000000 +0100
+++ new/Text-CSV_XS-1.61/META.yml       2025-07-26 16:50:05.000000000 +0200
@@ -16,7 +16,7 @@
 provides: 
   Text::CSV_XS: 
     file: CSV_XS.pm
-    version: '1.60'
+    version: '1.61'
 recommends: 
   Encode: '3.21'
 requires: 
@@ -27,8 +27,8 @@
   perl: '5.006001'
 resources: 
   IRC: irc://irc.perl.org/#csv
-  bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Text-CSV_XS
+  bugtracker: https://github.com/Tux/Text-CSV_XS/issues
   homepage: https://metacpan.org/pod/Text::CSV_XS
   license: http://dev.perl.org/licenses/
   repository: https://github.com/Tux/Text-CSV_XS
-version: '1.60'
+version: '1.61'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/SECURITY.md 
new/Text-CSV_XS-1.61/SECURITY.md
--- old/Text-CSV_XS-1.60/SECURITY.md    2025-01-06 15:07:17.000000000 +0100
+++ new/Text-CSV_XS-1.61/SECURITY.md    2025-06-05 21:10:20.000000000 +0200
@@ -1,21 +1,20 @@
 # Security Policy for the Text::CSV_XS distribution.
 
-Report issues via email at: H.Merijn Brand <hmbr...@cpan.org>.
+Report security issues by email to H.Merijn Brand <hmbr...@cpan.org>.
 
-
-This is the Security Policy for the Perl Text::CSV_XS distribution.
+This is the Security Policy for Text::CSV_XS.
 
 The latest version of the Security Policy can be found in the
 [git repository for Text::CSV_XS](https://github.com/Tux/Text-CSV_XS).
 
 This text is based on the CPAN Security Group's Guidelines for Adding
-a Security Policy to Perl Distributions (version 1.0.0)
+a Security Policy to Perl Distributions (version 1.3.0)
 https://security.metacpan.org/docs/guides/security-policy-for-authors.html
 
 # How to Report a Security Vulnerability
 
-Security vulnerabilities can be reported by e-mail to the current
-project maintainers at H.Merijn Brand <hmbr...@cpan.org>.
+Security vulnerabilities can be reported to the current Text::CSV_XS
+maintainers by email to H.Merijn Brand <hmbr...@cpan.org>.
 
 Please include as many details as possible, including code samples
 or test cases, so that we can reproduce the issue.  Check that your
@@ -62,13 +61,16 @@
 
 Any security vulnerabilities in Text::CSV_XS are covered by this policy.
 
+Security vulnerabilities in versions of any libraries that are
+included in Text::CSV_XS are also covered by this policy.
+
 Security vulnerabilities are considered anything that allows users
 to execute unauthorised code, access unauthorised resources, or to
 have an adverse impact on accessibility or performance of a system.
 
-Security vulnerabilities in upstream software (embedded libraries,
-prerequisite modules or system libraries, or in Perl), are not
-covered by this policy unless they affect Text::CSV_XS, or Text::CSV_XS can
+Security vulnerabilities in upstream software (prerequisite modules
+or system libraries, or in Perl), are not covered by this policy
+unless they affect Text::CSV_XS, or Text::CSV_XS can
 be used to exploit vulnerabilities in them.
 
 Security vulnerabilities in downstream software (any software that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/cpanfile 
new/Text-CSV_XS-1.61/cpanfile
--- old/Text-CSV_XS-1.60/cpanfile       2025-01-31 11:36:19.000000000 +0100
+++ new/Text-CSV_XS-1.61/cpanfile       2025-07-26 16:50:04.000000000 +0200
@@ -6,7 +6,7 @@
 on "configure" => sub {
     requires   "ExtUtils::MakeMaker";
 
-    recommends "ExtUtils::MakeMaker"      => "7.70";
+    recommends "ExtUtils::MakeMaker"      => "7.76";
     };
 
 on "build" => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Text-CSV_XS-1.60/ppport.h 
new/Text-CSV_XS-1.61/ppport.h
--- old/Text-CSV_XS-1.60/ppport.h       2024-08-09 09:25:43.000000000 +0200
+++ new/Text-CSV_XS-1.61/ppport.h       2025-07-26 15:42:30.000000000 +0200
@@ -4,9 +4,9 @@
 /*
 ----------------------------------------------------------------------
 
-    ppport.h -- Perl/Pollution/Portability Version 3.72
+    ppport.h -- Perl/Pollution/Portability Version 3.73
 
-    Automatically created by Devel::PPPort running under perl 5.040000.
+    Automatically created by Devel::PPPort running under perl 5.042000.
 
     Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
     includes in parts/inc/ instead.
@@ -21,7 +21,7 @@
 
 =head1 NAME
 
-ppport.h - Perl/Pollution/Portability version 3.72
+ppport.h - Perl/Pollution/Portability version 3.73
 
 =head1 SYNOPSIS
 
@@ -302,6 +302,7 @@
     sv_setpvf_mg()            NEED_sv_setpvf_mg            
NEED_sv_setpvf_mg_GLOBAL
     sv_setpvf_mg_nocontext()  NEED_sv_setpvf_mg_nocontext  
NEED_sv_setpvf_mg_nocontext_GLOBAL
     sv_unmagicext()           NEED_sv_unmagicext           
NEED_sv_unmagicext_GLOBAL
+    sv_vstring_get()          NEED_sv_vstring_get          
NEED_sv_vstring_get_GLOBAL
     utf8_to_uvchr_buf()       NEED_utf8_to_uvchr_buf       
NEED_utf8_to_uvchr_buf_GLOBAL
     vload_module()            NEED_vload_module            
NEED_vload_module_GLOBAL
     vmess()                   NEED_vmess                   NEED_vmess_GLOBAL
@@ -588,7 +589,7 @@
 # Disable broken TRIE-optimization
 BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= "5.009004" && "$]" <= 
"5.009005"}
 
-my $VERSION = 3.72;
+my $VERSION = 3.73;
 
 my %opt = (
   quiet     => 0,
@@ -7089,6 +7090,7 @@
 Perl_sqrt|5.006000|5.006000|n
 PERL_STACK_OFFSET_DEFINED|||piu
 PERL_STACK_OVERFLOW_CHECK|5.006000||Viu
+PERL_STACK_REALIGN|||piu
 PERL_STATIC_FORCE_INLINE|5.031011||Viu
 PERL_STATIC_FORCE_INLINE_NO_RET|5.031011||Viu
 PERL_STATIC_INLINE|5.013004|5.013004|poVn
@@ -9445,7 +9447,7 @@
 sv_ref|5.023005|5.023005|
 SvREFCNT|5.003007|5.003007|
 SvREFCNT_dec|5.003007|5.003007|
-SvREFCNT_dec_NN|5.017007|5.017007|
+SvREFCNT_dec_NN|5.017007|5.017007|p
 SvREFCNT_IMMORTAL|5.017008||Viu
 SvREFCNT_inc|5.003007|5.003007|pn
 SvREFCNT_inc_NN|5.009004|5.003007|pn
@@ -9631,11 +9633,13 @@
 sv_vcatpvf_mg|5.006000|5.004000|p
 sv_vcatpvfn|5.004000|5.004000|
 sv_vcatpvfn_flags|5.017002|5.017002|
-SvVOK|5.008001|5.008001|
+SvVOK|5.008001|5.008001|p
 sv_vsetpvf|5.006000|5.004000|p
 sv_vsetpvf_mg|5.006000|5.004000|p
 sv_vsetpvfn|5.004000|5.004000|
+sv_vstring_get|||p
 SvVSTRING_mg|5.009004|5.003007|p
+SvVSTRING|||piu
 SvWEAKREF|5.006000||Viu
 SvWEAKREF_off|5.006000||Viu
 SvWEAKREF_on|5.006000||Viu
@@ -12513,6 +12517,19 @@
 #endif
 
 #endif
+
+/* work around a stack alignment bug in 32-bit GCC on Windows */
+#if defined(WIN32) && !defined(WIN64) && defined(__GNUC__)
+#ifndef PERL_STACK_REALIGN
+#  define PERL_STACK_REALIGN             
__attribute__((force_align_arg_pointer))
+#endif
+
+#else
+#ifndef PERL_STACK_REALIGN
+#  define PERL_STACK_REALIGN
+#endif
+
+#endif
 #ifndef cBOOL
 #  define cBOOL(cbool)                   ((cbool) ? (bool)1 : (bool)0)
 #endif
@@ -15932,6 +15949,11 @@
           (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
 #  endif
 #endif
+
+/* not as efficient as the real thing, but it works */
+#ifndef SvREFCNT_dec_NN
+#  define SvREFCNT_dec_NN(sv)            SvREFCNT_dec(sv)
+#endif
 #ifndef SvREFCNT_inc_simple_void
 #  define SvREFCNT_inc_simple_void(sv)   STMT_START { if (sv) SvREFCNT(sv)++; 
} STMT_END
 #endif
@@ -16595,6 +16617,49 @@
 
 #endif
 #endif
+#ifndef SvVSTRING
+#  define SvVSTRING(sv, len)             (sv_vstring_get(sv, &(len)))
+#endif
+
+#ifndef SvVOK
+#  define SvVOK(sv)                      (FALSE)
+#endif
+
+#if !defined(sv_vstring_get)
+
+#if defined(NEED_sv_vstring_get)
+static const char * DPPP_(my_sv_vstring_get)(pTHX_ SV * sv, STRLEN * lenp);
+static
+#else
+extern const char * DPPP_(my_sv_vstring_get)(pTHX_ SV * sv, STRLEN * lenp);
+#endif
+
+#if defined(NEED_sv_vstring_get) || defined(NEED_sv_vstring_get_GLOBAL)
+
+#ifdef sv_vstring_get
+#  undef sv_vstring_get
+#endif
+#define sv_vstring_get(a,b) DPPP_(my_sv_vstring_get)(aTHX_ a,b)
+#define Perl_sv_vstring_get DPPP_(my_sv_vstring_get)
+
+
+const char *
+DPPP_(my_sv_vstring_get)(pTHX_ SV *sv, STRLEN *lenp)
+{
+#ifdef SvVSTRING_mg
+    MAGIC *mg = SvVSTRING_mg(sv);
+    if (!mg) return NULL;
+
+    if (lenp) *lenp = mg->mg_len;
+    return mg->mg_ptr;
+#else
+    return NULL;
+#endif
+}
+
+#endif
+
+#endif
 
 #ifdef USE_ITHREADS
 #ifndef CopFILE

++++++ _scmsync.obsinfo ++++++
mtime: 1755090290
commit: 3c6f1900b25f50eb52fbf63e040865343d0042e00ecb1496d3b90e1e74c40e49
url: https://src.opensuse.org/perl/perl-Text-CSV_XS.git
revision: 3c6f1900b25f50eb52fbf63e040865343d0042e00ecb1496d3b90e1e74c40e49
projectscmsync: https://src.opensuse.org/perl/_ObsPrj

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-08-13 16:53:35.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to