Hello community,

here is the log from the commit of package rubygem-kramdown for 
openSUSE:Factory checked in at 2020-08-29 20:36:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-kramdown (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-kramdown.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-kramdown"

Sat Aug 29 20:36:30 2020 rev:15 rq:829766 version:2.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-kramdown/rubygem-kramdown.changes        
2020-05-11 13:41:25.589128733 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-kramdown.new.3399/rubygem-kramdown.changes  
    2020-08-29 20:36:39.493321603 +0200
@@ -1,0 +2,52 @@
+Tue Aug 11 01:44:29 UTC 2020 - Matthew Trescott <[email protected]>
+
+- updated to version 2.3.0
+  ## kramdown 2.3.0 released
+
+  Although this is a minor version bump there is **one breaking change**: 
Parsing of XML processing
+  instructions was removed because they are invalid for HTML5 documents.
+
+  This change should only affect a negligible amount of existing kramdown 
documents since XML
+  processing instructions were never something a normal user would use.
+
+  Additionally, CVE-2020-14001 is addressed to avoid problems when using the 
`{::options /}` extension
+  together with the 'template' option. **This means updating is highly 
recommended!**
+
+  ## Changes
+
+  * 2 major changes:
+
+    - New option 'forbidden_inline_options' to restrict the options allowed 
with the `{::options /}`
+      extension. This also addresses the security issue described in 
[CVE-2020-14001].
+    - Parsing of XML processing instructions is not done anymore for kramdown 
documents because they
+      are invalid for HTML5 (fixes issue [#660] by Samuel Williams)
+
+  * 1 minor change:
+
+    - Several internal changes with respect to memory usage and performance 
(PRs [#654], [#655],
+      [#665] by Ashwin Maroli)
+
+  * 2 bug fixes:
+
+    - Extend allowed characters in IDs set with headers to all characters 
allowed by XML (fixes [#658]
+      by Samuel Williams)
+    - Fix thread safety issue by moving global state into an instance variable 
(fixes [#663]
+      by Samuel Williams)
+
+  * 1 other change:
+
+    - Documentation fixes and updates (issue [#662] by Samuel Williams, PR 
[#656] by Noah Doersing)
+
+  [#658]: https://github.com/gettalong/kramdown/issues/658
+  [#663]: https://github.com/gettalong/kramdown/issues/663
+  [#662]: https://github.com/gettalong/kramdown/issues/662
+  [#660]: https://github.com/gettalong/kramdown/issues/660
+
+  [#654]: https://github.com/gettalong/kramdown/pull/654
+  [#655]: https://github.com/gettalong/kramdown/pull/655
+  [#656]: https://github.com/gettalong/kramdown/pull/656
+  [#665]: https://github.com/gettalong/kramdown/pull/665
+
+  [CVE-2020-14001]: 
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14001
+
+-------------------------------------------------------------------

Old:
----
  kramdown-2.2.1.gem

New:
----
  kramdown-2.3.0.gem

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

Other differences:
------------------
++++++ rubygem-kramdown.spec ++++++
--- /var/tmp/diff_new_pack.1odZTF/_old  2020-08-29 20:36:40.841322171 +0200
+++ /var/tmp/diff_new_pack.1odZTF/_new  2020-08-29 20:36:40.845322173 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-kramdown
-Version:        2.2.1
+Version:        2.3.0
 Release:        0
 %define mod_name kramdown
 %define mod_full_name %{mod_name}-%{version}

++++++ kramdown-2.2.1.gem -> kramdown-2.3.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CONTRIBUTERS new/CONTRIBUTERS
--- old/CONTRIBUTERS    2020-04-23 16:16:29.000000000 +0200
+++ new/CONTRIBUTERS    2020-06-28 23:38:07.000000000 +0200
@@ -1,6 +1,6 @@
   Count Name
 ======= ====
-    932 Thomas Leitner <[email protected]>
+    943 Thomas Leitner <[email protected]>
      18 Ashwin Maroli <[email protected]>
       7 Christian Cornelssen <[email protected]>
       6 Gioele Barabucci <[email protected]>
@@ -13,6 +13,7 @@
       3 gettalong <[email protected]>
       3 Brandur <[email protected]>
       3 Ben Armston <[email protected]>
+      3 Ashwin Maroli <[email protected]>
       3 Alex Marandon <[email protected]>
       2 Tom Thorogood <[email protected]>
       2 Parker Moore <[email protected]>
@@ -40,6 +41,7 @@
       1 scherr <[email protected]>
       1 Postmodern <[email protected]>
       1 Pete Michaud <[email protected]>
+      1 Noah Doersing <[email protected]>
       1 myqlarson <[email protected]>
       1 milo.simpson <[email protected]>
       1 Michal Till <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2020-04-23 16:16:29.000000000 +0200
+++ new/VERSION 2020-06-28 23:38:07.000000000 +0200
@@ -1 +1 @@
-2.2.1
+2.3.0
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/converter/html.rb 
new/lib/kramdown/converter/html.rb
--- old/lib/kramdown/converter/html.rb  2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/converter/html.rb  2020-06-28 23:38:07.000000000 +0200
@@ -49,15 +49,13 @@
 
         # stash string representation of symbol to avoid allocations from 
multiple interpolations.
         @highlighter_class = " highlighter-#{options[:syntax_highlighter]}"
+        @dispatcher = Hash.new {|h, k| h[k] = :"convert_#{k}" }
       end
 
-      # The mapping of element type to conversion method.
-      DISPATCHER = Hash.new {|h, k| h[k] = "convert_#{k}" }
-
       # Dispatch the conversion of the element +el+ to a +convert_TYPE+ method 
using the +type+ of
       # the element.
       def convert(el, indent = -@indent)
-        send(DISPATCHER[el.type], el, indent)
+        send(@dispatcher[el.type], el, indent)
       end
 
       # Return the converted content of the children of +el+ as a string. The 
parameter +indent+ has
@@ -70,7 +68,7 @@
         indent += @indent
         @stack.push(el)
         el.children.each do |inner_el|
-          result << send(DISPATCHER[inner_el.type], inner_el, indent)
+          result << send(@dispatcher[inner_el.type], inner_el, indent)
         end
         @stack.pop
         result
@@ -160,10 +158,10 @@
       private_constant :ZERO_TO_ONETWENTYEIGHT
 
       def convert_ul(el, indent)
-        if !@toc_code && (el.options[:ial][:refs].include?('toc') rescue nil)
+        if !@toc_code && el.options.dig(:ial, :refs)&.include?('toc')
           @toc_code = [el.type, el.attr, ZERO_TO_ONETWENTYEIGHT.map { 
rand(36).to_s(36) }.join]
           @toc_code.last
-        elsif !@footnote_location && el.options[:ial] && 
(el.options[:ial][:refs] || []).include?('footnotes')
+        elsif !@footnote_location && el.options.dig(:ial, 
:refs)&.include?('footnotes')
           @footnote_location = ZERO_TO_ONETWENTYEIGHT.map { rand(36).to_s(36) 
}.join
         else
           format_as_indented_block_html(el.type, el.attr, inner(el, indent), 
indent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/converter/kramdown.rb 
new/lib/kramdown/converter/kramdown.rb
--- old/lib/kramdown/converter/kramdown.rb      2020-04-23 16:16:29.000000000 
+0200
+++ new/lib/kramdown/converter/kramdown.rb      2020-06-28 23:38:07.000000000 
+0200
@@ -426,9 +426,9 @@
           end
         end.compact.join('')
         res = "toc" + (res.strip.empty? ? '' : " #{res}") if (el.type == :ul 
|| el.type == :ol) &&
-          (el.options[:ial][:refs].include?('toc') rescue nil)
+          el.options.dig(:ial, :refs)&.include?('toc')
         res = "footnotes" + (res.strip.empty? ? '' : " #{res}") if (el.type == 
:ul || el.type == :ol) &&
-          (el.options[:ial][:refs].include?('footnotes') rescue nil)
+          el.options.dig(:ial, :refs)&.include?('footnotes')
         if el.type == :dl && el.options[:ial] && el.options[:ial][:refs]
           auto_ids = el.options[:ial][:refs].select {|ref| 
ref.start_with?('auto_ids') }.join(" ")
           res = auto_ids << (res.strip.empty? ? '' : " #{res}") unless 
auto_ids.empty?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/converter/latex.rb 
new/lib/kramdown/converter/latex.rb
--- old/lib/kramdown/converter/latex.rb 2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/converter/latex.rb 2020-06-28 23:38:07.000000000 +0200
@@ -127,7 +127,7 @@
       end
 
       def convert_ul(el, opts)
-        if !@data[:has_toc] && (el.options[:ial][:refs].include?('toc') rescue 
nil)
+        if !@data[:has_toc] && el.options.dig(:ial, :refs)&.include?('toc')
           @data[:has_toc] = true
           '\tableofcontents'
         else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/converter/syntax_highlighter/rouge.rb 
new/lib/kramdown/converter/syntax_highlighter/rouge.rb
--- old/lib/kramdown/converter/syntax_highlighter/rouge.rb      2020-04-23 
16:16:29.000000000 +0200
+++ new/lib/kramdown/converter/syntax_highlighter/rouge.rb      2020-06-28 
23:38:07.000000000 +0200
@@ -45,18 +45,26 @@
       cache = converter.data[:syntax_highlighter_rouge] = {}
 
       opts = converter.options[:syntax_highlighter_opts].dup
-      span_opts = (opts.delete(:span) || {}).dup
-      block_opts = (opts.delete(:block) || {}).dup
-      [span_opts, block_opts].each do |hash|
-        hash.keys.each do |k|
-          hash[k.kind_of?(String) ? Kramdown::Options.str_to_sym(k) : k] = 
hash.delete(k)
-        end
-      end
 
-      cache[:span] = opts.merge(span_opts).update(wrap: false)
+      span_opts = opts.delete(:span)&.dup || {}
+      block_opts = opts.delete(:block)&.dup || {}
+      normalize_keys(span_opts)
+      normalize_keys(block_opts)
+
+      cache[:span] = opts.merge(span_opts)
+      cache[:span][:wrap] = false
+
       cache[:block] = opts.merge(block_opts)
     end
 
+    def self.normalize_keys(hash)
+      return if hash.empty?
+
+      hash.keys.each do |k|
+        hash[k.kind_of?(String) ? Kramdown::Options.str_to_sym(k) : k] = 
hash.delete(k)
+      end
+    end
+
     def self.formatter_class(opts = {})
       case formatter = opts[:formatter]
       when Class
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/element.rb new/lib/kramdown/element.rb
--- old/lib/kramdown/element.rb 2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/element.rb 2020-06-28 23:38:07.000000000 +0200
@@ -14,6 +14,14 @@
   # kramdown only uses this one class for representing all available elements 
in an element tree
   # (paragraphs, headers, emphasis, ...). The type of element can be set via 
the #type accessor.
   #
+  # The root of a kramdown element tree has to be an element of type :root. It 
needs to have certain
+  # option keys set so that conversions work correctly. If only a part of a 
tree should be
+  # converted, duplicate the root node and assign the #children appropriately, 
e.g:
+  #
+  #   root = doc.root
+  #   new_root = root.dup
+  #   new_root.children = [root.children[0]]  # assign new array with elements 
to convert
+  #
   # Following is a description of all supported element types.
   #
   # Note that the option :location may contain the start line number of an 
element in the source
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/options.rb new/lib/kramdown/options.rb
--- old/lib/kramdown/options.rb 2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/options.rb 2020-06-28 23:38:07.000000000 +0200
@@ -589,6 +589,16 @@
       Used by: HTML converter
     EOF
 
+    define(:forbidden_inline_options, Object, %w[template], <<~EOF) do |val|
+      Defines the options that may not be set using the {::options} extension
+
+      Default: template
+      Used by: HTML converter
+    EOF
+      val.map! {|item| item.kind_of?(String) ? str_to_sym(item) : item }
+      simple_array_validator(val, :forbidden_inline_options)
+    end
+
   end
 
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/parser/kramdown/extensions.rb 
new/lib/kramdown/parser/kramdown/extensions.rb
--- old/lib/kramdown/parser/kramdown/extensions.rb      2020-04-23 
16:16:29.000000000 +0200
+++ new/lib/kramdown/parser/kramdown/extensions.rb      2020-06-28 
23:38:07.000000000 +0200
@@ -110,6 +110,12 @@
           opts.select do |k, v|
             k = k.to_sym
             if Kramdown::Options.defined?(k)
+              if @options[:forbidden_inline_options].include?(k) ||
+                  k == :forbidden_inline_options
+                warning("Option #{k} may not be set inline")
+                next false
+              end
+
               begin
                 val = Kramdown::Options.parse(k, v)
                 @options[k] = val
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/parser/kramdown/header.rb 
new/lib/kramdown/parser/kramdown/header.rb
--- old/lib/kramdown/parser/kramdown/header.rb  2020-04-23 16:16:29.000000000 
+0200
+++ new/lib/kramdown/parser/kramdown/header.rb  2020-06-28 23:38:07.000000000 
+0200
@@ -8,6 +8,7 @@
 #
 
 require 'kramdown/parser/kramdown/block_boundary'
+require 'rexml/xmltokens'
 
 module Kramdown
   module Parser
@@ -40,7 +41,7 @@
 
       protected
 
-      HEADER_ID = /[\t ]{#(?<id>[A-Za-z][\w:-]*)}\z/
+      HEADER_ID = /[\t 
]{#(?<id>#{REXML::XMLTokens::NAME_START_CHAR}#{REXML::XMLTokens::NAME_CHAR}*)}\z/
 
       # Returns header text and optional ID.
       def parse_header_contents
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/parser/kramdown/html.rb 
new/lib/kramdown/parser/kramdown/html.rb
--- old/lib/kramdown/parser/kramdown/html.rb    2020-04-23 16:16:29.000000000 
+0200
+++ new/lib/kramdown/parser/kramdown/html.rb    2020-06-28 23:38:07.000000000 
+0200
@@ -65,7 +65,7 @@
         end
       end
 
-      HTML_BLOCK_START = 
/^#{OPT_SPACE}<(#{REXML::Parsers::BaseParser::UNAME_STR}|\?|!--|\/)/
+      HTML_BLOCK_START = 
/^#{OPT_SPACE}<(#{REXML::Parsers::BaseParser::UNAME_STR}|!--|\/)/
 
       # Parse the HTML at the current position as block-level HTML.
       def parse_block_html
@@ -74,10 +74,6 @@
           @tree.children << Element.new(:xml_comment, result, nil, category: 
:block, location: line)
           @src.scan(TRAILING_WHITESPACE)
           true
-        elsif (result = @src.scan(HTML_INSTRUCTION_RE))
-          @tree.children << Element.new(:xml_pi, result, nil, category: 
:block, location: line)
-          @src.scan(TRAILING_WHITESPACE)
-          true
         else
           if @src.check(/^#{OPT_SPACE}#{HTML_TAG_RE}/o) && 
!HTML_SPAN_ELEMENTS.include?(@src[1].downcase)
             @src.pos += @src.matched_size
@@ -100,15 +96,13 @@
       end
       define_parser(:block_html, HTML_BLOCK_START)
 
-      HTML_SPAN_START = /<(#{REXML::Parsers::BaseParser::UNAME_STR}|\?|!--|\/)/
+      HTML_SPAN_START = /<(#{REXML::Parsers::BaseParser::UNAME_STR}|!--|\/)/
 
       # Parse the HTML at the current position as span-level HTML.
       def parse_span_html
         line = @src.current_line_number
         if (result = @src.scan(HTML_COMMENT_RE))
           @tree.children << Element.new(:xml_comment, result, nil, category: 
:span, location: line)
-        elsif (result = @src.scan(HTML_INSTRUCTION_RE))
-          @tree.children << Element.new(:xml_pi, result, nil, category: :span, 
location: line)
         elsif (result = @src.scan(HTML_TAG_CLOSE_RE))
           warning("Found invalidly used HTML closing tag for '#{@src[1]}' on 
line #{line}")
           add_text(result)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/utils/html.rb 
new/lib/kramdown/utils/html.rb
--- old/lib/kramdown/utils/html.rb      2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/utils/html.rb      2020-06-28 23:38:07.000000000 +0200
@@ -42,6 +42,8 @@
 
       # Return the HTML representation of the attributes +attr+.
       def html_attributes(attr)
+        return '' if attr.empty?
+
         attr.map do |k, v|
           v.nil? || (k == 'id' && v.strip.empty?) ? '' : " 
#{k}=\"#{escape_html(v.to_s, :attribute)}\""
         end.join('')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/kramdown/version.rb new/lib/kramdown/version.rb
--- old/lib/kramdown/version.rb 2020-04-23 16:16:29.000000000 +0200
+++ new/lib/kramdown/version.rb 2020-06-28 23:38:07.000000000 +0200
@@ -10,6 +10,6 @@
 module Kramdown
 
   # The kramdown version.
-  VERSION = '2.2.1'
+  VERSION = '2.3.0'
 
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/man/man1/kramdown.1 new/man/man1/kramdown.1
--- old/man/man1/kramdown.1     2020-04-23 16:16:29.000000000 +0200
+++ new/man/man1/kramdown.1     2020-06-28 23:38:07.000000000 +0200
@@ -118,6 +118,13 @@
 Default: \[u2018]\[u2019] Used by: HTML
 .RE
 .TP
+\fB\-\-forbidden\-inline\-options\fP \fIARG\fP
+Defines the options that may not be set using the {::options} extension
+.RS
+.P
+Default: template Used by: HTML converter
+.RE
+.TP
 \fB\-\-header\-offset\fP \fIARG\fP
 Sets the output offset for headers
 .RS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2020-04-23 16:16:29.000000000 +0200
+++ new/metadata        2020-06-28 23:38:07.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: kramdown
 version: !ruby/object:Gem::Version
-  version: 2.2.1
+  version: 2.3.0
 platform: ruby
 authors:
 - Thomas Leitner
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2020-04-23 00:00:00.000000000 Z
+date: 2020-06-28 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rexml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_files.rb new/test/test_files.rb
--- old/test/test_files.rb      2020-04-23 16:16:29.000000000 +0200
+++ new/test/test_files.rb      2020-06-28 23:38:07.000000000 +0200
@@ -231,6 +231,7 @@
       'test/testcases/block/15_math/gh_128.html', # bc of mathjax and HTML 
parser
       'test/testcases/span/04_footnote/backlink_inline.html', # bc of mathjax
       'test/testcases/block/09_html/standalone_image_in_div.html', # bc of 
standalone image
+      'test/testcases/block/09_html/processing_instruction.html', # bc of PI
     ].compact
     Dir[File.dirname(__FILE__) + '/testcases/**/*.html'].each do |html_file|
       next if EXCLUDE_HTML_KD_FILES.any? {|f| html_file =~ /#{f}$/ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_location.rb new/test/test_location.rb
--- old/test/test_location.rb   2020-04-23 16:16:29.000000000 +0200
+++ new/test/test_location.rb   2020-06-28 23:38:07.000000000 +0200
@@ -18,7 +18,7 @@
   def check_element_for_location(element)
     if (match = /^line-(\d+)/.match(element.attr['class'] || ''))
       expected_line = match[1].to_i
-      element.options[:location].must_equal(expected_line)
+      assert_equal(expected_line, element.options[:location])
     end
     element.children.each do |child|
       check_element_for_location(child)
@@ -187,7 +187,7 @@
 *[duplicate]: The second definition
     )
     doc = Kramdown::Document.new(test_string.strip)
-    doc.warnings.must_equal ["Duplicate abbreviation ID 'duplicate' on line 4 
- overwriting"]
+    assert_equal(["Duplicate abbreviation ID 'duplicate' on line 4 - 
overwriting"], doc.warnings)
   end
 
   it 'handles abbreviations' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_string_scanner_kramdown.rb 
new/test/test_string_scanner_kramdown.rb
--- old/test/test_string_scanner_kramdown.rb    2020-04-23 16:16:29.000000000 
+0200
+++ new/test/test_string_scanner_kramdown.rb    2020-06-28 23:38:07.000000000 
+0200
@@ -21,7 +21,7 @@
     it "computes the correct current_line_number for example ##{i + 1}" do
       str_sc = Kramdown::Utils::StringScanner.new(test_string)
       scan_regexes.each {|scan_re| str_sc.scan_until(scan_re) }
-      str_sc.current_line_number.must_equal expect
+      assert_equal(expect, str_sc.current_line_number)
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/test/testcases/block/09_html/processing_instruction.html 
new/test/testcases/block/09_html/processing_instruction.html
--- old/test/testcases/block/09_html/processing_instruction.html        
2020-04-23 16:16:30.000000000 +0200
+++ new/test/testcases/block/09_html/processing_instruction.html        
2020-06-28 23:38:07.000000000 +0200
@@ -1,13 +1,12 @@
-<?xml version="1.0"?>
+<p>&lt;?xml version=”1.0”?&gt;</p>
 
 <p>para</p>
 
-<?  test  ?>
-<p>para</p>
+<p>&lt;?  test  ?&gt; para</p>
 
 <p>other</p>
 
-<?
-multiline *text*
+<p>&lt;?
+multiline <em>text</em>
 is allowed
-?>
+?&gt;</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/testcases/block/12_extension/options.text 
new/test/testcases/block/12_extension/options.text
--- old/test/testcases/block/12_extension/options.text  2020-04-23 
16:16:30.000000000 +0200
+++ new/test/testcases/block/12_extension/options.text  2020-06-28 
23:38:07.000000000 +0200
@@ -19,3 +19,5 @@
 Some text[^ab].
 
 [^ab]: Some text.
+
+{::options template="/etc/passwd" /}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/testcases/span/05_html/normal.html 
new/test/testcases/span/05_html/normal.html
--- old/test/testcases/span/05_html/normal.html 2020-04-23 16:16:30.000000000 
+0200
+++ new/test/testcases/span/05_html/normal.html 2020-06-28 23:38:07.000000000 
+0200
@@ -2,7 +2,7 @@
 
 <p><a href="test">title</a> is a title.</p>
 
-<p>This is <? a PI ?>.</p>
+<p>This is &lt;? a PI ?&gt;.</p>
 
 <p>This is <!-- a --> comment.</p>
 


Reply via email to