Defect #29247
closedTextile phrase modifiers break wiki macros
0%
Description
redcloth.rb, Redmine's textile interpreter, has a long standing bug or "glitch". That glitch relates to using modifiers (bold, italic, underline, etc.) together with a macro.
*{{user(1)}}*
will not produce the desired result, namely a link to a user in bold face. Instead, it will produce a "}" in boldface like here: {{}}
I propose the following fix to lib/redmine/wiki_formatting/textile/redcloth3.rb:
346c346,347 < C_STYL = '(?:\{[^"}]+\})' --- > # C_STYL = '(?:\{[^"}]+\})' > C_STYL = '(?:\{[^{][^"}]+\})'
The proposed fix will catch double curly brackets and still apply styles (boldface, underline, italic, etc.)
Files
Updated by Go MAEDA over 6 years ago
- File 29247.patch 29247.patch added
- Subject changed from Long standing bug in redcloth.rb and proposal for solution to Textile phrase modifiers break wiki macros
- Status changed from New to Confirmed
Confirmed the issue in Textile mode. No problem in Markdown mode.
I added a test which can catch the issue to Stephan Wenzel's patch.
Updated by Gregor Schmidt over 6 years ago
Disclaimer: I don't know a lot about the inner workings of redcloth.
I can see, how the proposed change fixes the problem at hand. I assume it does not have negative side effects.
The C_STYLE
var seems to be used to match css style expressions, e.g. p{background:red}. Red paragraph
. After the change, expressions that start with {
are no longer matched. This should not be a problem. As far as I can tell, {
will never appear at the beginning of such an expression.
That being said, I don't see a reason, to reject the proposed change.
Updated by Go MAEDA over 6 years ago
- Target version set to 3.4.7
Gregor, thank you for reviewing the patch. I am setting the target version to 3.4.7.
Updated by Go MAEDA over 6 years ago
- Status changed from Confirmed to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed. Thank you for your contribution.