I realize this was already in Cairo, but, Render::getRenderedVersion added the following line:
$text =~ s/$TWiki::TranslationToken/!/go;
Which results in plugins operating on text that has the verbatim blocks taken out loosing the verbatim, should they have to apply TWiki::Func::renderText. I believe this is not part of the specification of TWiki::Func::renderText. I'll set this to "Requirement".
Can somebody please motivate why we are doing this? At least, we should document in renderText that such is happening. I don't think, typically users are aware that the standard rendering function would destroy the verbatim that might occur (or other taken out stuff).
Could we at least give Render::getRenderedVersion a parameter that does not result in this effect if set?
Note that the current status forces plugins to have knowledge of the TWiki insides: We need to put the original
$TranslationToken
back in, and thus we need to
- know the format of markers indicating removed text, such as verbatim markers
- access
$TWiki::TranslationToken
.
All these is against the rules for plugins! --
TW
Agreed; this is definitely a bug. --
CC