]> git.cameronkatri.com Git - mandoc.git/commitdiff
In keep mode, if any text is printed (even in NOSPACE mode),
authorIngo Schwarze <schwarze@openbsd.org>
Wed, 29 May 2013 15:17:52 +0000 (15:17 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Wed, 29 May 2013 15:17:52 +0000 (15:17 +0000)
any text that follows must be kept on the same line.

I already found the issue and wrote the patch in April 2011,
but didn't come round to do proper testing and forgot about it.

term.c

diff --git a/term.c b/term.c
index 6229031285e3721b3daecb5c93c22abb29bbe83e..44973491a438fb79416df126ce5ed606cd50db6f 100644 (file)
--- a/term.c
+++ b/term.c
@@ -1,4 +1,4 @@
-/*     $Id: term.c,v 1.206 2012/11/16 17:16:55 schwarze Exp $ */
+/*     $Id: term.c,v 1.207 2013/05/29 15:17:52 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011, 2012 Ingo Schwarze <schwarze@openbsd.org>
@@ -406,14 +406,14 @@ term_word(struct termp *p, const char *word)
 
        if ( ! (TERMP_NOSPACE & p->flags)) {
                if ( ! (TERMP_KEEP & p->flags)) {
-                       if (TERMP_PREKEEP & p->flags)
-                               p->flags |= TERMP_KEEP;
                        bufferc(p, ' ');
                        if (TERMP_SENTENCE & p->flags)
                                bufferc(p, ' ');
                } else
                        bufferc(p, ASCII_NBRSP);
        }
+       if (TERMP_PREKEEP & p->flags)
+               p->flags |= TERMP_KEEP;
 
        if ( ! (p->flags & TERMP_NONOSPACE))
                p->flags &= ~TERMP_NOSPACE;