def lock_in_subs
unless (default_subs = @default_subs)
case @content_model
when :simple
default_subs = NORMAL_SUBS
when :verbatim
if @context == :listing || (@context == :literal && !(option? 'listparagraph'))
default_subs = VERBATIM_SUBS
elsif @context == :verse
default_subs = NORMAL_SUBS
else
default_subs = BASIC_SUBS
end
when :raw
default_subs = @context == :stem ? BASIC_SUBS : NONE_SUBS
else
return @subs
end
end
@subs = (custom_subs = @attributes['subs']) ? (resolve_block_subs custom_subs, default_subs, @context) : default_subs.dup
if @context == :listing && @style == 'source' && (@attributes.key? 'language') && (@document.basebackend? 'html') &&
(SUB_HIGHLIGHT.include? @document.attributes['source-highlighter']) && (idx = @subs.index :specialcharacters)
@subs[idx] = :highlight
end
@subs
end