|
From: Yuri T. <qar...@gm...> - 2008-08-22 19:49:21
|
> There is absolutely no camelcase words in the text we pass in, so no
> wikilinks should be generated. However, it appears that the
> placeholder for the "markdownlink" is inserted into the text as
> ``\x02LinkPattern:000\x03``. Normally, this would later be replaced by
Yeah, that's an whoops. I think rather than just avoiding camelcase
in placeholders, we should avoid anything meangingfull in them at all,
apart from STX and ETX codes. We used to have some random combination
of characters. Adding STX and ETX around it made it safer against us
trying to replace the occurrence of the placeholder in the original
text. However, switching from a random combination to meaningful
things like "LinkPattern" creates the possibility of users messing
with our placeholders via extensions. So, I we should do both: use a
meaningless combination of letters (without any punctuation), and then
wrap it with characters that users aren't allowed to put in the input
(STX and ETX). E.g.:
STX = u'\u0002' # Use STX ("Start of text") for start-of-placeholder
ETX = u'\u0003' # Use ETX ("End of text") for end-of-placeholder
HTML_PLACEHOLDER_PREFIX = STX+"wyxhzde38k"
HTML_PLACEHOLDER = HTML_PLACEHOLDER_PREFIX + "%d"+ETX
INLINE_PLACEHOLDER_PREFIX = STX+"0ix2bavflj"
INLINE_PLACEHOLDER_SUFFIX = ETX
AMP_SUBSTITUTE = STX+"k75lziz62a"+ETX
Actually, come to think of it, perhaps even that %d is not a good idea.
(I am not checking this in, since Waylan seems to be actively working
on the file.)
- yuri
--
http://sputnik.freewisdom.org/
|