Return to mdoc_term.c CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.48, 2009/07/20 15:05:34 | version 1.50, 2009/07/21 12:47:52 | ||
---|---|---|---|
|
|
||
#include "mdoc.h" | #include "mdoc.h" | ||
/* FIXME: macro arguments can be escaped. */ | /* FIXME: macro arguments can be escaped. */ | ||
/* FIXME: support more offset/width tokens. */ | |||
#define TTYPE_PROG 0 | #define TTYPE_PROG 0 | ||
#define TTYPE_CMD_FLAG 1 | #define TTYPE_CMD_FLAG 1 | ||
|
|
||
if (0 == width) | if (0 == width) | ||
width = 8; | width = 8; | ||
break; | break; | ||
case (MDOC_Column): | |||
/* FALLTHROUGH */ | |||
case (MDOC_Tag): | case (MDOC_Tag): | ||
if (0 == width) | if (0 == width) | ||
width = 10; | width = 10; | ||
|
|
||
case (MDOC_Hang): | case (MDOC_Hang): | ||
/* FALLTHROUGH */ | /* FALLTHROUGH */ | ||
case (MDOC_Tag): | case (MDOC_Tag): | ||
assert(width); | |||
if (MDOC_HEAD == node->type) | if (MDOC_HEAD == node->type) | ||
p->rmargin = p->offset + width; | p->rmargin = p->offset + width; | ||
else | else | ||
p->offset += width; | p->offset += width; | ||
break; | break; | ||
case (MDOC_Column): | case (MDOC_Column): | ||
assert(width); | |||
p->rmargin = p->offset + width; | p->rmargin = p->offset + width; | ||
/* | |||
* XXX - this behaviour is not documented: the | |||
* right-most column is filled to the right margin. | |||
*/ | |||
if (MDOC_HEAD == node->type && | |||
MDOC_BODY == node->next->type) | |||
p->rmargin = p->maxrmargin; | |||
break; | break; | ||
default: | default: | ||
break; | break; |