When a page status indicator is used, it is most probably on a line by itself, e.g.
```
== External links ==
* [http://www.example.com Foobar]
<indicator name="featured-article">☆ Featured</indicator>
[[Category:Foo]]
```
However, this causes a whitespace block between the external link and the category list, because the space occupied by the `indicator` tag gets rendered as `<p><br /></p>`.
By omitting //both// empty lines around it, the space disappears, but just one is enough to cause it, and it is quite difficult to get rid of all surrounding whitespace, especially when the indicator markup is inserted using templates (not to mention that two or more successive indicator tags would all need to be on a single line). Also note the empty line usually used before categories, and cf. the behavior of various parser constructs (e.g. `__NOTOC__`).
I don’t know whether this is an inherent limitation of the chosen implementation method (parser tag hook), or how to fix this correctly. I was able to suppress the space by changing `CoreTagHooks::indicator` to return `'<!-- -->'` (which does appear even in the final HTML, as it results in `<p><!-- --></p>`) instead of just `''`, but that is obviously quite a hack.