- if (MDOC_LITERAL & m->flags) {
- if ( ! mdoc_word_alloc(m, line, 0, buf))
+ for (i = 0; ' ' == buf[i]; i++)
+ /* Skip to first non-space. */ ;
+
+ if ('\0' == buf[i]) {
+ if ( ! mdoc_pwarn(m, line, 0, ENOBLANK))
+ return(0);
+
+ /*
+ * Insert a `Pp' in the case of a blank line. Technically,
+ * blank lines aren't allowed, but enough manuals assume this
+ * behaviour that we want to work around it.
+ */
+ if ( ! mdoc_elem_alloc(m, line, 0, MDOC_Pp, NULL))