X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/6f0fdff7bd838e5309174d1f70528d04e7474a18..9df73edf21694f640f489f84755d19ea5ca9ddaa:/mdoc_macro.c diff --git a/mdoc_macro.c b/mdoc_macro.c index 4a018eed..ba36227d 100644 --- a/mdoc_macro.c +++ b/mdoc_macro.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_macro.c,v 1.123 2013/10/21 23:47:58 schwarze Exp $ */ +/* $Id: mdoc_macro.c,v 1.126 2013/12/31 22:40:12 schwarze Exp $ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons * Copyright (c) 2010, 2012, 2013 Ingo Schwarze @@ -561,6 +561,9 @@ rew_sub(enum mdoc_type t, struct mdoc *mdoc, case (REWIND_NONE): return(1); case (REWIND_THIS): + n->lastline = line - + (MDOC_NEWLINE & mdoc->flags && + ! (MDOC_EXPLICIT & mdoc_macros[tok].flags)); break; case (REWIND_FORCE): mandoc_vmsg(MANDOCERR_SCOPEBROKEN, mdoc->parse, @@ -569,6 +572,8 @@ rew_sub(enum mdoc_type t, struct mdoc *mdoc, mdoc_macronames[n->tok]); /* FALLTHROUGH */ case (REWIND_MORE): + n->lastline = line - + (MDOC_NEWLINE & mdoc->flags ? 1 : 0); n = n->parent; continue; case (REWIND_LATER): @@ -708,8 +713,7 @@ blk_exp_close(MACRO_PROT_ARGS) maxargs = 1; break; case (MDOC_Ek): - if ( ! (MDOC_SYNOPSIS & mdoc->flags)) - mdoc->flags &= ~MDOC_KEEP; + mdoc->flags &= ~MDOC_KEEP; default: maxargs = 0; break; @@ -1345,25 +1349,6 @@ blk_part_imp(MACRO_PROT_ARGS) body = mdoc->last; } - for (n = body->child; n && n->next; n = n->next) - /* Do nothing. */ ; - - /* - * End of sentence spacing: if the last node is a text node and - * has a trailing period, then mark it as being end-of-sentence. - */ - - if (n && MDOC_TEXT == n->type && n->string) - if (mandoc_eos(n->string, strlen(n->string), 1)) - n->flags |= MDOC_EOS; - - /* Up-propagate the end-of-space flag. */ - - if (n && (MDOC_EOS & n->flags)) { - body->flags |= MDOC_EOS; - body->parent->flags |= MDOC_EOS; - } - /* * If there is an open sub-block requiring explicit close-out, * postpone closing out the current block