if {${:mime_type} eq "text/enhanced"} {
set content [ad_enhanced_text_to_html$content]
}
if {!${:do_substitutions}} {
return$content
}
## The provided content and the returned result are strings# containing HTML (unless we have other rich-text encodings).## First get the potentially class specific regular expression# definitions.#set baseclass [expr {[[:info class] exists RE] ? [:info class] : [self class]}]
$baseclass instvar RE markupmap
#:log "-- baseclass for RE = $baseclass"## Secondly, iterate line-wise over the text.#set output ""set l ""ad_try {
if {$context_obj ne ""} {
:set_resolve_context -package_id [$context_obj package_id] -parent_id [$context_obj item_id]
set :__ignore_self_in_links 1
}
foreach l0 [split$content \n] {
append l [string map $markupmap(escape)$l0]
if {[string first \{\{ $l] > -1 && [string first \}\} $l] == -1} {append l " "; continue}
set l [:regsub_eval $RE(anchor)$l {:anchor "\1"} "1"]
set l [:regsub_eval $RE(div)$l {:div "\1"}]
set l [:regsub_eval $RE(include)$l {:include_content "\1""\2"}]
#regsub -all -- $RE(clean) $l {\1} lregsub -all -- $RE(clean2)$l { \1} l
set l [string map $markupmap(unescape)$l]
append output $l \n
set l ""
}
} on error {errorMsg} {
error$errorMsg
} finally {
if {$context_obj ne ""} {
unset :__ignore_self_in_links
:reset_resolve_context
}
}
#:log "--substitute_markup returns $output"return$output