diff options
-rw-r--r-- | TODO | 5 | ||||
-rw-r--r-- | roff.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.114 2011/06/29 15:38:09 kristaps Exp $ +* $Id: TODO,v 1.115 2011/06/30 08:05:13 kristaps Exp $ ************************************************************************ ************************************************************************ @@ -329,6 +329,9 @@ Several areas can be cleaned up to make mandoc even faster. These are - the PDF file is HUGE: this can be reduced by using relative offsets +- instead of re-initialising the roff predefined-strings set before each + parse, create a read-only version the first time and copy it + ************************************************************************ * structural issues ************************************************************************ @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.142 2011/05/26 11:58:25 kristaps Exp $ */ +/* $Id: roff.c,v 1.143 2011/06/30 08:05:13 kristaps Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010, 2011 Ingo Schwarze <schwarze@openbsd.org> @@ -347,8 +347,12 @@ roff_free1(struct roff *r) void roff_reset(struct roff *r) { + int i; roff_free1(r); + + for (i = 0; i < PREDEFS_MAX; i++) + roff_setstr(r, predefs[i].name, predefs[i].str, 0); } |