summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2023-05-16 23:53:01 -0600
committerDan Allen <dan.j.allen@gmail.com>2023-05-17 00:33:14 -0600
commitf717cc76330eedfc627995437409ab2e8385cefa (patch)
tree6602b59a0abee73d07d0775f5b50a58f0a9548b4 /lib
parent5b9f1225a68ba983f2486cd5be8fb47a7dc15570 (diff)
only match transitional role (x-) that this distinct from other roles
Diffstat (limited to 'lib')
-rw-r--r--lib/asciidoctor/substitutors.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/asciidoctor/substitutors.rb b/lib/asciidoctor/substitutors.rb
index 2fc5f9d9..af850790 100644
--- a/lib/asciidoctor/substitutors.rb
+++ b/lib/asciidoctor/substitutors.rb
@@ -1020,11 +1020,17 @@ module Substitutors
next %(#{$1}[#{attrlist}]#{RS * (escape_count - 1)}#{boundary}#{$5}#{boundary})
elsif $1 == RS
preceding = %([#{attrlist}])
- else
- if boundary == '++' && (attrlist.end_with? 'x-')
+ elsif boundary == '++'
+ if attrlist == 'x-'
+ old_behavior = true
+ attributes = {}
+ elsif attrlist.end_with? ' x-'
old_behavior = true
- attrlist = attrlist.slice 0, attrlist.length - 2
+ attributes = parse_quoted_text_attributes attrlist.slice 0, attrlist.length - 3
+ else
+ attributes = parse_quoted_text_attributes attrlist
end
+ else
attributes = parse_quoted_text_attributes attrlist
end
elsif (escape_count = $3.length) > 0
@@ -1066,7 +1072,7 @@ module Substitutors
if compat_mode
old_behavior = true
- elsif attrlist && (attrlist.end_with? 'x-')
+ elsif attrlist && (attrlist == 'x-' || (attrlist.end_with? ' x-'))
old_behavior = old_behavior_forced = true
end