-
-
Notifications
You must be signed in to change notification settings - Fork 920
Closed
Labels
Milestone
Description
Please describe the bug
XML::Node#write_to
fails with no implicit conversion of nil into String
Happens on nokogiri-1.14.0-rc1 on Linux and Windows with binary gems, but not on nokogiri-1.13.10 or older versions.
Help us reproduce what you're seeing
doc=Nokogiri::XML("")
File.open("filename", "w") do |fd|
doc.write_to(fd, :indent => 2)
end
With nokogiri-1.14.0-rc1:
/home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/lib/nokogiri/xml/node.rb:1368:in `native_write_to': no implicit conversion of nil into String (TypeError)
from /home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/lib/nokogiri/xml/node.rb:1368:in `write_to'
from /home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/lib/nokogiri/html5/node.rb:37:in `write_to'
from (irb):1:in `block in <top (required)>'
from (irb):1:in `open'
from (irb):1:in `<main>'
from /home/local/COMCARD-NT/kanis/.rvm/rubies/ruby-3.1.3/lib/ruby/gems/3.1.0/gems/irb-1.4.1/exe/irb:11:in `<top (required)>'
from /home/local/COMCARD-NT/kanis/.rvm/rubies/ruby-3.1.3/bin/irb:25:in `load'
from /home/local/COMCARD-NT/kanis/.rvm/rubies/ruby-3.1.3/bin/irb:25:in `<main>'
Expected behavior
The script should write a file "filename" with content
<?xml version="1.0"?>
Environment
$ nokogiri -v
# Nokogiri (1.14.0.rc1)
---
warnings: []
nokogiri:
version: 1.14.0.rc1
cppflags:
- "-I/home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/ext/nokogiri"
- "-I/home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/ext/nokogiri/include"
- "-I/home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/ext/nokogiri/include/libxml2"
ldflags: []
ruby:
version: 3.1.3
platform: x86_64-linux
gem_platform: x86_64-linux
description: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]
engine: ruby
libxml:
source: packaged
precompiled: true
patches:
- 0001-Remove-script-macro-support.patch
- 0002-Update-entities-to-remove-handling-of-ssi.patch
- 0003-libxml2.la-is-in-top_builddir.patch
- '0009-allow-wildcard-namespaces.patch'
libxml2_path: "/home/local/COMCARD-NT/kanis/.rvm/gems/ruby-3.1.3/gems/nokogiri-1.14.0.rc1-x86_64-linux/ext/nokogiri"
memory_management: ruby
iconv_enabled: true
compiled: 2.10.3
loaded: 2.10.3
libxslt:
source: packaged
precompiled: true
patches:
- 0001-update-automake-files-for-arm64.patch
datetime_enabled: true
compiled: 1.1.37
loaded: 1.1.37
other_libraries:
zlib: 1.2.13
libgumbo: 1.0.0-nokogiri
Additional context