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

Diff for /mandoc/man_macro.c between version 1.23 and 1.30

version 1.23, 2009/08/20 11:51:07 version 1.30, 2010/01/01 17:14:28
Line 14 
Line 14 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
   #ifdef HAVE_CONFIG_H
   #include "config.h"
   #endif
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 38  static int   rew_block(int, enum man_type, 
Line 42  static int   rew_block(int, enum man_type, 
 const   struct man_macro __man_macros[MAN_MAX] = {  const   struct man_macro __man_macros[MAN_MAX] = {
         { in_line_eoln, 0 }, /* br */          { in_line_eoln, 0 }, /* br */
         { in_line_eoln, 0 }, /* TH */          { in_line_eoln, 0 }, /* TH */
         { blk_imp, 0 }, /* SH */          { blk_imp, MAN_SCOPED }, /* SH */
         { blk_imp, 0 }, /* SS */          { blk_imp, MAN_SCOPED }, /* SS */
         { blk_imp, MAN_SCOPED }, /* TP */          { blk_imp, MAN_SCOPED | MAN_FSCOPED }, /* TP */
         { blk_imp, 0 }, /* LP */          { blk_imp, 0 }, /* LP */
         { blk_imp, 0 }, /* PP */          { blk_imp, 0 }, /* PP */
         { blk_imp, 0 }, /* P */          { blk_imp, 0 }, /* P */
Line 66  const struct man_macro __man_macros[MAN_MAX] = {
Line 70  const struct man_macro __man_macros[MAN_MAX] = {
         { blk_close, 0 }, /* RE */          { blk_close, 0 }, /* RE */
         { blk_imp, MAN_EXPLICIT }, /* RS */          { blk_imp, MAN_EXPLICIT }, /* RS */
         { in_line_eoln, 0 }, /* DT */          { in_line_eoln, 0 }, /* DT */
           { in_line_eoln, 0 }, /* UC */
           { in_line_eoln, 0 }, /* PD */
 };  };
   
 const   struct man_macro * const man_macros = __man_macros;  const   struct man_macro * const man_macros = __man_macros;
Line 236  blk_imp(MACRO_PROT_ARGS)
Line 242  blk_imp(MACRO_PROT_ARGS)
 {  {
         int              w, la;          int              w, la;
         char            *p;          char            *p;
           struct man_node *n;
   
         /* Close out prior scopes. */          /* Close out prior scopes. */
   
Line 251  blk_imp(MACRO_PROT_ARGS)
Line 258  blk_imp(MACRO_PROT_ARGS)
         if ( ! man_head_alloc(m, line, ppos, tok))          if ( ! man_head_alloc(m, line, ppos, tok))
                 return(0);                  return(0);
   
           n = m->last;
   
         /* Add line arguments. */          /* Add line arguments. */
   
         for (;;) {          for (;;) {
Line 269  blk_imp(MACRO_PROT_ARGS)
Line 278  blk_imp(MACRO_PROT_ARGS)
         /* Close out head and open body (unless MAN_SCOPE). */          /* Close out head and open body (unless MAN_SCOPE). */
   
         if (MAN_SCOPED & man_macros[tok].flags) {          if (MAN_SCOPED & man_macros[tok].flags) {
                 m->flags |= MAN_BLINE;                  /* If we're forcing scope (`TP'), keep it open. */
                 return(1);                  if (MAN_FSCOPED & man_macros[tok].flags) {
         } else if ( ! rew_scope(MAN_HEAD, m, tok))                          m->flags |= MAN_BLINE;
                           return(1);
                   } else if (n == m->last) {
                           m->flags |= MAN_BLINE;
                           return(1);
                   }
           }
   
           if ( ! rew_scope(MAN_HEAD, m, tok))
                 return(0);                  return(0);
   
         return(man_body_alloc(m, line, ppos, tok));          return(man_body_alloc(m, line, ppos, tok));
Line 303  in_line_eoln(MACRO_PROT_ARGS)
Line 320  in_line_eoln(MACRO_PROT_ARGS)
                         return(0);                          return(0);
         }          }
   
         if (n == m->last && (MAN_SCOPED & man_macros[tok].flags)) {          if (n == m->last && MAN_SCOPED & man_macros[tok].flags) {
                 m->flags |= MAN_ELINE;                  m->flags |= MAN_ELINE;
                 return(1);                  return(1);
         }          }
Line 354  man_macroend(struct man *m)
Line 371  man_macroend(struct man *m)
                         continue;                          continue;
                 if ( ! (MAN_EXPLICIT & man_macros[n->tok].flags))                  if ( ! (MAN_EXPLICIT & man_macros[n->tok].flags))
                         continue;                          continue;
                 return(man_nerr(m, n, WEXITSCOPE));                  if ( ! man_nwarn(m, n, WEXITSCOPE))
                           return(0);
         }          }
   
         return(man_unscope(m, m->first));          return(man_unscope(m, m->first));

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.30

CVSweb