From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]); by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 232c8063; for ; Sun, 1 Feb 2015 11:48:09 -0500 (EST) Date: Sun, 1 Feb 2015 11:48:09 -0500 (EST) Message-Id: <2486714850290040761.enqueue@fantadrom.bsd.lv> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: The function rew_sub() tries to rewind any all all kinds of X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- The function rew_sub() tries to rewind any all all kinds of blocks and elements under any and all circumstances, even handling some bad block nesting now and then. Little surprisingly, this ends up in excessive complexity and has caused many bugs in the past. Start to slowly disentangle this mess by replacing calls to rew_sub() immediately following mdoc_head_alloc() by the much simpler rew_last(). Gets rid of the first two rew_sub() calls out of twenty. No functional change. Modified Files: -------------- mdocml: mdoc_macro.c Revision Data ------------- Index: mdoc_macro.c =================================================================== RCS file: /home/cvs/mdocml/mdocml/mdoc_macro.c,v retrieving revision 1.161 retrieving revision 1.162 diff -Lmdoc_macro.c -Lmdoc_macro.c -u -p -r1.161 -r1.162 --- mdoc_macro.c +++ mdoc_macro.c @@ -1,7 +1,7 @@ /* $Id$ */ /* * Copyright (c) 2008-2012 Kristaps Dzonsons - * Copyright (c) 2010, 2012, 2013, 2014 Ingo Schwarze + * Copyright (c) 2010, 2012-2015 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -1137,7 +1137,7 @@ blk_full(MACRO_PROT_ARGS) if (tok == MDOC_Nd) { head = mdoc_head_alloc(mdoc, line, ppos, tok); - rew_sub(MDOC_HEAD, mdoc, tok, line, ppos); + rew_last(mdoc, head); body = mdoc_body_alloc(mdoc, line, ppos, tok); } @@ -1274,8 +1274,7 @@ blk_part_imp(MACRO_PROT_ARGS) */ blk = mdoc_block_alloc(mdoc, line, ppos, tok, NULL); - mdoc_head_alloc(mdoc, line, ppos, tok); - rew_sub(MDOC_HEAD, mdoc, tok, line, ppos); + rew_last(mdoc, mdoc_head_alloc(mdoc, line, ppos, tok)); /* * Open the body scope "on-demand", that is, after we've -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv