summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes5
-rw-r--r--LibXML.pm8
-rw-r--r--LibXML.pod2
-rw-r--r--MANIFEST1
-rw-r--r--META.json6
-rw-r--r--META.yml4
-rw-r--r--docs/libxml.dbk2
-rw-r--r--lib/XML/LibXML/Attr.pod2
-rw-r--r--lib/XML/LibXML/AttributeHash.pm2
-rw-r--r--lib/XML/LibXML/Boolean.pm2
-rw-r--r--lib/XML/LibXML/CDATASection.pod2
-rw-r--r--lib/XML/LibXML/Comment.pod2
-rw-r--r--lib/XML/LibXML/Common.pm3
-rw-r--r--lib/XML/LibXML/Common.pod2
-rw-r--r--lib/XML/LibXML/DOM.pod2
-rw-r--r--lib/XML/LibXML/Devel.pm2
-rw-r--r--lib/XML/LibXML/Document.pod2
-rw-r--r--lib/XML/LibXML/DocumentFragment.pod2
-rw-r--r--lib/XML/LibXML/Dtd.pod2
-rw-r--r--lib/XML/LibXML/Element.pod2
-rw-r--r--lib/XML/LibXML/ErrNo.pm2
-rw-r--r--lib/XML/LibXML/ErrNo.pod2
-rw-r--r--lib/XML/LibXML/Error.pm7
-rw-r--r--lib/XML/LibXML/Error.pod2
-rw-r--r--lib/XML/LibXML/InputCallback.pod2
-rw-r--r--lib/XML/LibXML/Literal.pm2
-rw-r--r--lib/XML/LibXML/Namespace.pod2
-rw-r--r--lib/XML/LibXML/Node.pod2
-rw-r--r--lib/XML/LibXML/NodeList.pm2
-rw-r--r--lib/XML/LibXML/Number.pm2
-rw-r--r--lib/XML/LibXML/PI.pod2
-rw-r--r--lib/XML/LibXML/Parser.pod2
-rw-r--r--lib/XML/LibXML/Pattern.pod2
-rw-r--r--lib/XML/LibXML/Reader.pm2
-rw-r--r--lib/XML/LibXML/Reader.pod2
-rw-r--r--lib/XML/LibXML/RegExp.pod2
-rw-r--r--lib/XML/LibXML/RelaxNG.pod2
-rw-r--r--lib/XML/LibXML/SAX.pm2
-rw-r--r--lib/XML/LibXML/SAX.pod2
-rw-r--r--lib/XML/LibXML/SAX/Builder.pm2
-rw-r--r--lib/XML/LibXML/SAX/Builder.pod2
-rw-r--r--lib/XML/LibXML/SAX/Generator.pm2
-rw-r--r--lib/XML/LibXML/SAX/Parser.pm2
-rw-r--r--lib/XML/LibXML/Schema.pod2
-rw-r--r--lib/XML/LibXML/Text.pod2
-rw-r--r--lib/XML/LibXML/XPathContext.pm2
-rw-r--r--lib/XML/LibXML/XPathContext.pod2
-rw-r--r--lib/XML/LibXML/XPathExpression.pod2
-rw-r--r--perl-libxml-mm.c2
-rw-r--r--t/48_gh_pr63_detect_undef_values.t34
-rw-r--r--t/pod-files-presence.t8
51 files changed, 102 insertions, 58 deletions
diff --git a/Changes b/Changes
index e26f62b..e00313e 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,10 @@
Revision history for Perl extension XML::LibXML
+2.0207 2021-04-17
+ - Small cleanups:
+ - https://github.com/shlomif/perl-XML-LibXML/pull/63
+ - Thanks to @Grinnz , @Kritzefitz and @atoomic .
+
2.0206 2020-09-15
- Add expand_entities => 1 to the instantiation at lib/XML/LibXML/SAX.pm
- in order to fix https://rt.cpan.org/Public/Bug/Display.html?id=132759
diff --git a/LibXML.pm b/LibXML.pm
index f437ce6..7f033ca 100644
--- a/LibXML.pm
+++ b/LibXML.pm
@@ -29,11 +29,11 @@ use XML::LibXML::XPathContext;
use IO::Handle; # for FH reads called as methods
BEGIN {
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
$ABI_VERSION = 2;
require Exporter;
-require DynaLoader;
-@ISA = qw(DynaLoader Exporter);
+use XSLoader ();
+@ISA = qw(Exporter);
use vars qw($__PROXY_NODE_REGISTRY $__threads_shared $__PROXY_NODE_REGISTRY_MUTEX $__loaded);
@@ -147,7 +147,7 @@ $CloseCB = undef;
#-------------------------------------------------------------------------#
# bootstrapping #
#-------------------------------------------------------------------------#
-bootstrap XML::LibXML $VERSION;
+XSLoader::load( 'XML::LibXML', $VERSION );
undef &AUTOLOAD;
*encodeToUTF8 = \&XML::LibXML::Common::encodeToUTF8;
diff --git a/LibXML.pod b/LibXML.pod
index 16aa47b..73a9e50 100644
--- a/LibXML.pod
+++ b/LibXML.pod
@@ -507,7 +507,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/MANIFEST b/MANIFEST
index f3ba579..4297696 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -161,6 +161,7 @@ t/46err_column.t
t/47load_xml_callbacks.t
t/48_RH5_double_free_rt83779.t
t/48_SAX_Builder_rt_91433.t
+t/48_gh_pr63_detect_undef_values.t
t/48_memleak_rt_83744.t
t/48_reader_undef_warning_on_empty_str_rt106830.t
t/48_removeChild_crashes_rt_80395.t
diff --git a/META.json b/META.json
index db0d088..2bfa259 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
"Petr Pajas <PAJAS@cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010",
"keywords" : [
"dom",
"html",
@@ -97,6 +97,6 @@
"web" : "https://github.com/shlomif/perl-XML-LibXML"
}
},
- "version" : "2.0206",
- "x_serialization_backend" : "JSON::PP version 4.04"
+ "version" : "2.0207",
+ "x_serialization_backend" : "JSON::PP version 4.06"
}
diff --git a/META.yml b/META.yml
index 81dd06d..fee45e0 100644
--- a/META.yml
+++ b/META.yml
@@ -19,7 +19,7 @@ configure_requires:
Config: '0'
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010'
keywords:
- dom
- html
@@ -69,5 +69,5 @@ requires:
warnings: '0'
resources:
repository: https://github.com/shlomif/perl-XML-LibXML.git
-version: '2.0206'
+version: '2.0207'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/docs/libxml.dbk b/docs/libxml.dbk
index 5f35e39..c7a4208 100644
--- a/docs/libxml.dbk
+++ b/docs/libxml.dbk
@@ -22,7 +22,7 @@
</authorgroup>
- <edition>2.0206</edition>
+ <edition>2.0207</edition>
<copyright>
<year>2001-2007</year>
<holder>AxKit.com Ltd</holder>
diff --git a/lib/XML/LibXML/Attr.pod b/lib/XML/LibXML/Attr.pod
index 5ea3953..fa6a5cd 100644
--- a/lib/XML/LibXML/Attr.pod
+++ b/lib/XML/LibXML/Attr.pod
@@ -121,7 +121,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/AttributeHash.pm b/lib/XML/LibXML/AttributeHash.pm
index 31f3e4a..c83f0dc 100644
--- a/lib/XML/LibXML/AttributeHash.pm
+++ b/lib/XML/LibXML/AttributeHash.pm
@@ -7,7 +7,7 @@ use Tie::Hash;
our @ISA = qw/Tie::Hash/;
use vars qw($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
BEGIN
{
diff --git a/lib/XML/LibXML/Boolean.pm b/lib/XML/LibXML/Boolean.pm
index f9d275e..faa53b7 100644
--- a/lib/XML/LibXML/Boolean.pm
+++ b/lib/XML/LibXML/Boolean.pm
@@ -16,7 +16,7 @@ use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
diff --git a/lib/XML/LibXML/CDATASection.pod b/lib/XML/LibXML/CDATASection.pod
index d78a667..1113e56 100644
--- a/lib/XML/LibXML/CDATASection.pod
+++ b/lib/XML/LibXML/CDATASection.pod
@@ -45,7 +45,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Comment.pod b/lib/XML/LibXML/Comment.pod
index 8240ef2..aaacdce 100644
--- a/lib/XML/LibXML/Comment.pod
+++ b/lib/XML/LibXML/Comment.pod
@@ -46,7 +46,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Common.pm b/lib/XML/LibXML/Common.pm
index 2d34775..eb7681c 100644
--- a/lib/XML/LibXML/Common.pm
+++ b/lib/XML/LibXML/Common.pm
@@ -19,12 +19,11 @@ use strict;
use warnings;
require Exporter;
-require DynaLoader;
use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS);
@ISA = qw(Exporter);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use XML::LibXML qw(:libxml);
diff --git a/lib/XML/LibXML/Common.pod b/lib/XML/LibXML/Common.pod
index 4bcd4cc..9423109 100644
--- a/lib/XML/LibXML/Common.pod
+++ b/lib/XML/LibXML/Common.pod
@@ -116,7 +116,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/DOM.pod b/lib/XML/LibXML/DOM.pod
index 299501e..d01e75a 100644
--- a/lib/XML/LibXML/DOM.pod
+++ b/lib/XML/LibXML/DOM.pod
@@ -129,7 +129,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Devel.pm b/lib/XML/LibXML/Devel.pm
index 3fd4587..8f13912 100644
--- a/lib/XML/LibXML/Devel.pm
+++ b/lib/XML/LibXML/Devel.pm
@@ -12,7 +12,7 @@ use warnings;
use XML::LibXML;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use 5.008_000;
diff --git a/lib/XML/LibXML/Document.pod b/lib/XML/LibXML/Document.pod
index 4efa5d9..2cdc576 100644
--- a/lib/XML/LibXML/Document.pod
+++ b/lib/XML/LibXML/Document.pod
@@ -683,7 +683,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/DocumentFragment.pod b/lib/XML/LibXML/DocumentFragment.pod
index 98631a7..61e741c 100644
--- a/lib/XML/LibXML/DocumentFragment.pod
+++ b/lib/XML/LibXML/DocumentFragment.pod
@@ -27,7 +27,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Dtd.pod b/lib/XML/LibXML/Dtd.pod
index 4c77f74..294cb17 100644
--- a/lib/XML/LibXML/Dtd.pod
+++ b/lib/XML/LibXML/Dtd.pod
@@ -89,7 +89,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Element.pod b/lib/XML/LibXML/Element.pod
index b7504df..f6f0b74 100644
--- a/lib/XML/LibXML/Element.pod
+++ b/lib/XML/LibXML/Element.pod
@@ -382,7 +382,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/ErrNo.pm b/lib/XML/LibXML/ErrNo.pm
index 1b0542d..0fa6308 100644
--- a/lib/XML/LibXML/ErrNo.pm
+++ b/lib/XML/LibXML/ErrNo.pm
@@ -14,7 +14,7 @@ use strict;
use warnings;
use vars qw($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use constant ERR_OK => 0;
use constant ERR_INTERNAL_ERROR => 1;
diff --git a/lib/XML/LibXML/ErrNo.pod b/lib/XML/LibXML/ErrNo.pod
index 7d33df8..4b1b59e 100644
--- a/lib/XML/LibXML/ErrNo.pod
+++ b/lib/XML/LibXML/ErrNo.pod
@@ -17,7 +17,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Error.pm b/lib/XML/LibXML/Error.pm
index 6d02676..9855eaf 100644
--- a/lib/XML/LibXML/Error.pm
+++ b/lib/XML/LibXML/Error.pm
@@ -17,7 +17,6 @@ no warnings 'recursion';
use Encode ();
use vars qw(@error_domains $VERSION $WARNINGS);
-use Carp;
use overload
'""' => \&as_string,
'eq' => sub {
@@ -29,7 +28,7 @@ use overload
fallback => 1;
$WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use constant XML_ERR_NONE => 0;
use constant XML_ERR_WARNING => 1; # A simple warning
@@ -243,7 +242,7 @@ sub as_string {
# warnings. This has the pleasing benefit of making the test suite
# run warning-free.
no warnings 'utf8';
- my $context = Encode::encode('utf8', $self->{context}, Encode::FB_DEFAULT);
+ my $context = Encode::encode('UTF-8', $self->{context});
$msg.=$context."\n";
$context = substr($context,0,$self->{column});
$context=~s/[^\t]/ /g;
@@ -254,7 +253,7 @@ sub as_string {
sub dump {
my ($self)=@_;
- use Data::Dumper;
+ require Data::Dumper;
return Data::Dumper->new([$self],['error'])->Dump;
}
diff --git a/lib/XML/LibXML/Error.pod b/lib/XML/LibXML/Error.pod
index f93cb55..b8915e3 100644
--- a/lib/XML/LibXML/Error.pod
+++ b/lib/XML/LibXML/Error.pod
@@ -244,7 +244,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/InputCallback.pod b/lib/XML/LibXML/InputCallback.pod
index 6e38efe..3cfcd15 100644
--- a/lib/XML/LibXML/InputCallback.pod
+++ b/lib/XML/LibXML/InputCallback.pod
@@ -280,7 +280,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Literal.pm b/lib/XML/LibXML/Literal.pm
index 5105a36..1bc9fa1 100644
--- a/lib/XML/LibXML/Literal.pm
+++ b/lib/XML/LibXML/Literal.pm
@@ -16,7 +16,7 @@ use strict;
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
diff --git a/lib/XML/LibXML/Namespace.pod b/lib/XML/LibXML/Namespace.pod
index cd9dbe0..85d5598 100644
--- a/lib/XML/LibXML/Namespace.pod
+++ b/lib/XML/LibXML/Namespace.pod
@@ -141,7 +141,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Node.pod b/lib/XML/LibXML/Node.pod
index ee750a7..6f8e9a5 100644
--- a/lib/XML/LibXML/Node.pod
+++ b/lib/XML/LibXML/Node.pod
@@ -763,7 +763,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/NodeList.pm b/lib/XML/LibXML/NodeList.pm
index 68d7273..ca748d9 100644
--- a/lib/XML/LibXML/NodeList.pm
+++ b/lib/XML/LibXML/NodeList.pm
@@ -17,7 +17,7 @@ use XML::LibXML::Literal;
use XML::LibXML::Number;
use vars qw($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&to_literal,
diff --git a/lib/XML/LibXML/Number.pm b/lib/XML/LibXML/Number.pm
index 75a7178..cddd4c0 100644
--- a/lib/XML/LibXML/Number.pm
+++ b/lib/XML/LibXML/Number.pm
@@ -14,7 +14,7 @@ use strict;
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
diff --git a/lib/XML/LibXML/PI.pod b/lib/XML/LibXML/PI.pod
index da3e0e9..99323ff 100644
--- a/lib/XML/LibXML/PI.pod
+++ b/lib/XML/LibXML/PI.pod
@@ -74,7 +74,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Parser.pod b/lib/XML/LibXML/Parser.pod
index c07a780..034395d 100644
--- a/lib/XML/LibXML/Parser.pod
+++ b/lib/XML/LibXML/Parser.pod
@@ -988,7 +988,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Pattern.pod b/lib/XML/LibXML/Pattern.pod
index 6e7464f..3cf4d72 100644
--- a/lib/XML/LibXML/Pattern.pod
+++ b/lib/XML/LibXML/Pattern.pod
@@ -94,7 +94,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Reader.pm b/lib/XML/LibXML/Reader.pm
index 060f713..40f093c 100644
--- a/lib/XML/LibXML/Reader.pm
+++ b/lib/XML/LibXML/Reader.pm
@@ -14,7 +14,7 @@ use strict;
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use 5.008_000;
diff --git a/lib/XML/LibXML/Reader.pod b/lib/XML/LibXML/Reader.pod
index 2515f91..094e852 100644
--- a/lib/XML/LibXML/Reader.pod
+++ b/lib/XML/LibXML/Reader.pod
@@ -657,7 +657,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/RegExp.pod b/lib/XML/LibXML/RegExp.pod
index 48e7bf8..0ef9b6e 100644
--- a/lib/XML/LibXML/RegExp.pod
+++ b/lib/XML/LibXML/RegExp.pod
@@ -58,7 +58,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/RelaxNG.pod b/lib/XML/LibXML/RelaxNG.pod
index 3dc0ca0..a05d583 100644
--- a/lib/XML/LibXML/RelaxNG.pod
+++ b/lib/XML/LibXML/RelaxNG.pod
@@ -73,7 +73,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/SAX.pm b/lib/XML/LibXML/SAX.pm
index 7f129bd..681499e 100644
--- a/lib/XML/LibXML/SAX.pm
+++ b/lib/XML/LibXML/SAX.pm
@@ -14,7 +14,7 @@ use warnings;
use vars qw($VERSION @ISA);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
use XML::LibXML;
use XML::SAX::Base;
diff --git a/lib/XML/LibXML/SAX.pod b/lib/XML/LibXML/SAX.pod
index 933b968..dc736f7 100644
--- a/lib/XML/LibXML/SAX.pod
+++ b/lib/XML/LibXML/SAX.pod
@@ -47,7 +47,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/SAX/Builder.pm b/lib/XML/LibXML/SAX/Builder.pm
index 556ca7a..c16ee87 100644
--- a/lib/XML/LibXML/SAX/Builder.pm
+++ b/lib/XML/LibXML/SAX/Builder.pm
@@ -21,7 +21,7 @@ sub CLONE_SKIP {
return $XML::LibXML::__threads_shared ? 0 : 1;
}
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
sub new {
my $class = shift;
diff --git a/lib/XML/LibXML/SAX/Builder.pod b/lib/XML/LibXML/SAX/Builder.pod
index 3dab014..c199c2f 100644
--- a/lib/XML/LibXML/SAX/Builder.pod
+++ b/lib/XML/LibXML/SAX/Builder.pod
@@ -38,7 +38,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/SAX/Generator.pm b/lib/XML/LibXML/SAX/Generator.pm
index e48d9a4..2ae881f 100644
--- a/lib/XML/LibXML/SAX/Generator.pm
+++ b/lib/XML/LibXML/SAX/Generator.pm
@@ -15,7 +15,7 @@ use warnings;
use XML::LibXML;
use vars qw ($VERSION);
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
sub CLONE_SKIP {
return $XML::LibXML::__threads_shared ? 0 : 1;
diff --git a/lib/XML/LibXML/SAX/Parser.pm b/lib/XML/LibXML/SAX/Parser.pm
index 562db45..0b2ba85 100644
--- a/lib/XML/LibXML/SAX/Parser.pm
+++ b/lib/XML/LibXML/SAX/Parser.pm
@@ -18,7 +18,7 @@ use XML::LibXML::Common qw(:libxml);
use XML::SAX::Base;
use XML::SAX::DocumentLocator;
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
@ISA = ('XML::SAX::Base');
sub CLONE_SKIP {
diff --git a/lib/XML/LibXML/Schema.pod b/lib/XML/LibXML/Schema.pod
index f156754..5bfc958 100644
--- a/lib/XML/LibXML/Schema.pod
+++ b/lib/XML/LibXML/Schema.pod
@@ -69,7 +69,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/Text.pod b/lib/XML/LibXML/Text.pod
index 70a6d23..be65280 100644
--- a/lib/XML/LibXML/Text.pod
+++ b/lib/XML/LibXML/Text.pod
@@ -170,7 +170,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/XPathContext.pm b/lib/XML/LibXML/XPathContext.pm
index f63e2ad..10e62ed 100644
--- a/lib/XML/LibXML/XPathContext.pm
+++ b/lib/XML/LibXML/XPathContext.pm
@@ -17,7 +17,7 @@ use Carp;
use XML::LibXML;
use XML::LibXML::NodeList;
-$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
# should LibXML XPath data types be used for simple objects
# when passing parameters to extension functions (default: no)
diff --git a/lib/XML/LibXML/XPathContext.pod b/lib/XML/LibXML/XPathContext.pod
index 793d8f6..0b8f81c 100644
--- a/lib/XML/LibXML/XPathContext.pod
+++ b/lib/XML/LibXML/XPathContext.pod
@@ -362,7 +362,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/lib/XML/LibXML/XPathExpression.pod b/lib/XML/LibXML/XPathExpression.pod
index 7daff90..5ff7b0d 100644
--- a/lib/XML/LibXML/XPathExpression.pod
+++ b/lib/XML/LibXML/XPathExpression.pod
@@ -52,7 +52,7 @@ Petr Pajas
=head1 VERSION
-2.0206
+2.0207
=head1 COPYRIGHT
diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c
index afe82d5..b433c5c 100644
--- a/perl-libxml-mm.c
+++ b/perl-libxml-mm.c
@@ -1118,7 +1118,7 @@ Sv2C( SV* scalar, const xmlChar *encoding )
dTHX;
xs_warn("SV2C: start!\n");
- if ( scalar != NULL && scalar != &PL_sv_undef ) {
+ if ( scalar != NULL && SvOK(scalar) ) {
STRLEN len = 0;
char * t_pv =SvPV(scalar, len);
xmlChar* ts = NULL;
diff --git a/t/48_gh_pr63_detect_undef_values.t b/t/48_gh_pr63_detect_undef_values.t
new file mode 100644
index 0000000..cb5f935
--- /dev/null
+++ b/t/48_gh_pr63_detect_undef_values.t
@@ -0,0 +1,34 @@
+
+use strict;
+use warnings;
+
+=head1 DESCRIPTION
+
+L<https://github.com/shlomif/perl-XML-LibXML/pull/63>
+
+This test program
+
+ use warnings;
+ use XML::LibXML;
+
+ my $test = XML::LibXML::Text->new({}->{bar});
+
+produces the following warning:
+
+ $ perl ~/test.pl
+ Use of uninitialized value in subroutine entry at /home/sven/test.pl line 4.
+
+This apparently happens, because Sv2C tries to catch undef values by comparing the memory location of the scalar in question to &PL_sv_undef. While PL_sv_undef certainly is an undef value, not all undef values share its memory location. The added commit fixes this, by using SvOK to correctly detect all undef values.
+
+=cut
+
+use Test::More tests => 1;
+
+use XML::LibXML;
+
+$SIG{__WARN__} = sub { die "warning " . shift . "!"; };
+
+my $test = XML::LibXML::Text->new( {}->{bar} );
+
+# TEST
+pass("success");
diff --git a/t/pod-files-presence.t b/t/pod-files-presence.t
index e77d24a..02b069d 100644
--- a/t/pod-files-presence.t
+++ b/t/pod-files-presence.t
@@ -3,9 +3,15 @@
use strict;
use warnings;
-use Test::More tests => 3;
+use Test::More;
use File::Spec;
+if ( ! $ENV{AUTHOR_TESTING} ) {
+ plan skip_all => "only for AUTHORS";
+} else {
+ plan tests => 3;
+}
+
sub _is_present
{
my $path = shift;