Package: ikiwiki
Version: 2.40
Severity: normal
Hello.
While migrating my site to use prefix directives, after rebuilt I
noticed a smelly diff in one blog entry involving several \[[ escapes.
In particular:
* when rendering a page, if the \[[ is between `backticks` and not
]]-closed in the same line, the backslash is emitted in the html
output.
This works with prefix_directives disabled.
* for \[[ escapes that are closed in the same line, and *only* when
inlining, the opening and closing double brackets are not emitted.
The case where the escape contains spaces works without prefix
directives, and doesn't with them. If the escape is a single word,
it doesn't work in either case (nor with 2.32).
The following file illustrates the problem:
-8<-
So, \[[this escape]] gets its brackets stripped when inlined.
Now, the next one is always emitted with the backslash: `\[[this
one]]`, but only because it's between backticks. In a block:
\[[this one brackets stripped]]
\[[this one
backslash preserved]]
Finally, this \[[escape]] too gets its brackets stripped when inlining,
but that's not 2.40 specific.
->8-
--- out-2.40-noprefix
+++ out-2.40-prefix
@@ -30,10 +30,11 @@
<div id="content">
<p>So, [[this escape]] gets its brackets stripped when inlined.
-Now, the next one is always emitted with the backslash: <code>[[this
one]]</code>, but only because it’s between backticks. In a block:</p>
+Now, the next one is always emitted with the backslash: <code>\[[this
+one]]</code>, but only because it’s between backticks. In a block:</p>
<pre><code> [[this one brackets stripped]]
- [[this one
+ \[[this one
backslash preserved]]
</code></pre>
--- out-2.40-noprefix/inline.html
+++ out-2.40-prefix/inline.html
@@ -37,11 +37,12 @@
<a href="entries/entry.html">entry</a>
</span>
-<p>So, [[this escape]] gets its brackets stripped when inlined.
-Now, the next one is always emitted with the backslash: <code>[[this
one]]</code>, but only because it’s between backticks. In a block:</p>
+<p>So, this escape gets its brackets stripped when inlined.
+Now, the next one is always emitted with the backslash: <code>\[[this
+one]]</code>, but only because it’s between backticks. In a block:</p>
-<pre><code> [[this one brackets stripped]]
- [[this one
+<pre><code> this one brackets stripped
+ \[[this one
backslash preserved]]
</code></pre>
--
Adeodato Simó dato at net.com.org.es
Debian Developer adeodato at debian.org
«A lo que iba. El amor es como el embutido: hay lomo embuchado y hay
mortadela.»
-- Carlos Ruiz Zafón, “La sombra del viento”