[BACK]Return to man.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/man.c between version 1.187 and 1.188

version 1.187, 2019/01/05 00:36:50 version 1.188, 2022/04/28 10:26:37
Line 1 
Line 1 
 /*      $Id$ */  /* $Id$ */
 /*  /*
    * Copyright (c) 2013-2015,2017-2019,2022 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2013-2015, 2017-2019 Ingo Schwarze <schwarze@openbsd.org>  
  * Copyright (c) 2011 Joerg Sonnenberger <joerg@netbsd.org>   * Copyright (c) 2011 Joerg Sonnenberger <joerg@netbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 70  man_hasc(char *start)
Line 70  man_hasc(char *start)
         return (ep - cp) % 2 ? NULL : ep;          return (ep - cp) % 2 ? NULL : ep;
 }  }
   
   /*
    * Rewind all open next-line scopes.
    */
 void  void
 man_descope(struct roff_man *man, int line, int offs, char *start)  man_descope(struct roff_man *man, int line, int offs, char *start)
 {  {
Line 274  man_pmacro(struct roff_man *man, int ln, char *buf, in
Line 277  man_pmacro(struct roff_man *man, int ln, char *buf, in
         return 1;          return 1;
 }  }
   
   /*
    * Rewind open next-line scopes
    * unless the tok request or macro is allowed inside them.
    */
 void  void
 man_breakscope(struct roff_man *man, int tok)  man_breakscope(struct roff_man *man, int tok)
 {  {
Line 294  man_breakscope(struct roff_man *man, int tok)
Line 301  man_breakscope(struct roff_man *man, int tok)
                     (man_macro(n->tok)->flags & (MAN_NSCOPED | MAN_ESCOPED))                      (man_macro(n->tok)->flags & (MAN_NSCOPED | MAN_ESCOPED))
                      == MAN_NSCOPED)                       == MAN_NSCOPED)
                         n = n->parent;                          n = n->parent;
                   for (;;) {
                 mandoc_msg(MANDOCERR_BLK_LINE, n->line, n->pos,                          mandoc_msg(MANDOCERR_BLK_LINE, n->line, n->pos,
                     "%s breaks %s", roff_name[tok], roff_name[n->tok]);                              "%s breaks %s", roff_name[tok], roff_name[n->tok]);
                           if (n->parent->type != ROFFT_ELEM ||
                               (man_macro(n->parent->tok)->flags &
                                MAN_ESCOPED) == 0)
                                   break;
                           n = n->parent;
                   }
                 roff_node_delete(man, n);                  roff_node_delete(man, n);
                 man->flags &= ~MAN_ELINE;                  man->flags &= ~MAN_ELINE;
         }          }

Legend:
Removed from v.1.187  
changed lines
  Added in v.1.188

CVSweb