diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-06-12 09:18:00 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-06-12 09:18:00 +0000 |
commit | 81a387c030a677e4c49c020a270294d21c564320 (patch) | |
tree | 5edd66188f498f18a740574c6d45f2d103ab9af4 /mdoc_action.c | |
parent | c3b3cef562cad122a19ef12743ef5aa73df002b5 (diff) | |
download | mandoc-81a387c030a677e4c49c020a270294d21c564320.tar.gz |
`Lk' is correctly handled as CALLABLE (note groff munges nested output).
`Mt' is now CALLABLE.
Fixed missing validate/action of zero-element, non-called inline elements.
Fixed missing validate/action of nested inline element re-calls.
Fixed bogus column argv index in validator.
Diffstat (limited to 'mdoc_action.c')
-rw-r--r-- | mdoc_action.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/mdoc_action.c b/mdoc_action.c index f0da42b4..96945c4f 100644 --- a/mdoc_action.c +++ b/mdoc_action.c @@ -56,6 +56,7 @@ static int post_bl_tagwidth(POST_ARGS); static int post_dd(POST_ARGS); static int post_display(POST_ARGS); static int post_dt(POST_ARGS); +static int post_lk(POST_ARGS); static int post_nm(POST_ARGS); static int post_os(POST_ARGS); static int post_prol(POST_ARGS); @@ -179,7 +180,7 @@ const struct actions mdoc_actions[MDOC_MAX] = { { NULL, NULL }, /* Lb */ { NULL, NULL }, /* Ap */ { NULL, NULL }, /* Lp */ - { NULL, NULL }, /* Lk */ + { NULL, post_lk }, /* Lk */ { NULL, NULL }, /* Mt */ { NULL, NULL }, /* Brq */ { NULL, NULL }, /* Bro */ @@ -669,6 +670,27 @@ post_bl(POST_ARGS) static int +post_lk(POST_ARGS) +{ + struct mdoc_node *n; + + if (m->last->child) + return(1); + + n = m->last; + m->next = MDOC_NEXT_CHILD; + /* FIXME: this isn't documented anywhere! */ + if ( ! mdoc_word_alloc(m, m->last->line, + m->last->pos, "~")) + return(0); + + m->last = n; + m->next = MDOC_NEXT_SIBLING; + return(1); +} + + +static int post_ar(POST_ARGS) { struct mdoc_node *n; |