]> git.cameronkatri.com Git - mandoc.git/commitdiff
Block closing macros do not allocate a new node but finish an existing
authorIngo Schwarze <schwarze@openbsd.org>
Sun, 15 Sep 2013 18:26:46 +0000 (18:26 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Sun, 15 Sep 2013 18:26:46 +0000 (18:26 +0000)
one, so they miss the clearing of MDOC_NEWLINE in mdoc.c, node_alloc().
Consequently, MDOC_NEWLINE must be cleared before processing the next
macro on the same line.
This fixes horizontal spacing for input lines beginning like .Oc Ns ...

Issue found by Franco Fichtner <franco at lastsummer dot de>
while working on DragonFly mandoc integration.

mdoc_macro.c

index 7e143e02d7ad6174165644b23832b6d2ebe9625e..0a5048649dd2a4cc62f1bac815a47007cbc2a810 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mdoc_macro.c,v 1.121 2012/11/19 22:30:58 schwarze Exp $ */
+/*     $Id: mdoc_macro.c,v 1.122 2013/09/15 18:26:46 schwarze Exp $ */
 /*
  * Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2012 Ingo Schwarze <schwarze@openbsd.org>
@@ -792,6 +792,9 @@ blk_exp_close(MACRO_PROT_ARGS)
                                return(0);
                        flushed = 1;
                }
+
+               mdoc->flags &= ~MDOC_NEWLINE;
+
                if ( ! mdoc_macro(mdoc, ntok, line, lastarg, pos, buf))
                        return(0);
                break;