On the sample page, you find three block which I expected to be identical (like the 3rd) but two of them are not.
URL: http://de.wikipedia.org/wiki/Benutzer:Purodha/ws2008/error
On the sample page, you find three block which I expected to be identical (like the 3rd) but two of them are not.
URL: http://de.wikipedia.org/wiki/Benutzer:Purodha/ws2008/error
There's no need to use <nowiki> inside <pre>, <pre> is already nowiki-fied, as such I've removed them from your example page to simplify the demo since there is no difference between them in output.
The bug is related to where the line-break is. Rephrasing summary.
This is partially a tidy issue (well actually without tidy its even more borked... Anyways, try it in [[special:expandtemplates]] to see what i mean).
Mediawiki interprets
;Foo: Bar
To mean a definition list where the term Foo is defined by Bar. MediaWiki expects all the content of the definition when using ; : lists to be on the same line, so after the first line break in the pre, MediaWiki considers that to be the end of the <dd> tag (Thus in your example, resulting in a <dd> tag that looks like <dd><pre></dd>, which is striped by tidy). The browser (or tidy) see's the closed </dd> but no closing </pre> , so assumes the closing tag for pre was missed, and closes it.
So MediaWiki would either have to see that a pre started inside the <dd> and wait for the </pre> before closing the <dd>, or it could just stop the <dd> as soon as it sees a <pre>. However doing that would break the usecase of doing ;Foo:<pre>bar</pre> which does work fine.
Minimal test case is:
;Foo:<pre>
bar</pre>
Compared to:
;Foo:
<pre>
bar</pre>
Or (probably closer to your expected behaviour)
;Foo:<pre>bar</pre>