summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mdoc_action.c2
-rw-r--r--mdoc_term.c10
-rw-r--r--term.c3
3 files changed, 11 insertions, 4 deletions
diff --git a/mdoc_action.c b/mdoc_action.c
index 3941f4fb..6f70e99b 100644
--- a/mdoc_action.c
+++ b/mdoc_action.c
@@ -89,7 +89,7 @@ const struct actions mdoc_actions[MDOC_MAX] = {
{ NULL, NULL }, /* Ad */
{ NULL, NULL }, /* An */
{ NULL, post_ar }, /* Ar */
- { NULL, NULL }, /* Cd */
+ { NULL, NULL }, /* Cd */ /* FIXME: tabs are accepted! */
{ NULL, NULL }, /* Cm */
{ NULL, NULL }, /* Dv */
{ NULL, NULL }, /* Er */
diff --git a/mdoc_term.c b/mdoc_term.c
index f1f28e7c..89da4318 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -776,12 +776,14 @@ termp_it_pre(DECL_ARGS)
/* FALLTHROUGH */
case (MDOC_Dash):
/* FALLTHROUGH */
- case (MDOC_Enum):
- /* FALLTHROUGH */
case (MDOC_Hyphen):
if (width < 4)
width = 4;
break;
+ case (MDOC_Enum):
+ if (width < 5)
+ width = 5;
+ break;
case (MDOC_Tag):
if (0 == width)
width = 10;
@@ -791,11 +793,13 @@ termp_it_pre(DECL_ARGS)
}
/*
- * Whitespace control. Inset bodies need an initial space.
+ * Whitespace control. Inset bodies need an initial space,
+ * while diagonal bodies need two.
*/
switch (type) {
case (MDOC_Diag):
+ term_word(p, "\\ ");
/* FALLTHROUGH */
case (MDOC_Inset):
if (MDOC_BODY == node->type)
diff --git a/term.c b/term.c
index ad42fc62..b1653267 100644
--- a/term.c
+++ b/term.c
@@ -200,6 +200,9 @@ term_isopendelim(const char *p, int len)
* Otherwise, the line will break at the right margin. Extremely long
* lines will cause the system to emit a warning (TODO: hyphenate, if
* possible).
+ *
+ * FIXME: newline breaks occur (in groff) also occur when a single
+ * space follows a NOBREAK!
*/
void
term_flushln(struct termp *p)