-/* $Id: mdoc_macro.c,v 1.49 2010/03/31 08:04:57 kristaps Exp $ */
+/* $Id: mdoc_macro.c,v 1.50 2010/04/05 08:38:37 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
* the word.
*/
- d = mdoc_isdelim(p);
+ d = ARGS_QWORD == w ? 0 : mdoc_isdelim(p);
if (ARGS_QWORD != w && d) {
if (0 == lastpunct && ! rew_elem(m, tok))
/* Don't emit leading punct. for phrases. */
if (NULL == head && ARGS_PHRASE != c &&
+ ARGS_QWORD != c &&
1 == mdoc_isdelim(p)) {
if ( ! mdoc_word_alloc(m, line, la, p))
return(0);
if (ARGS_PUNCT == c)
break;
- if (NULL == body && 1 == mdoc_isdelim(p)) {
+ if (NULL == body && ARGS_QWORD != c &&
+ 1 == mdoc_isdelim(p)) {
if ( ! mdoc_word_alloc(m, line, la, p))
return(0);
continue;
/* Flush out leading punctuation. */
- if (NULL == head && 1 == mdoc_isdelim(p)) {
+ if (NULL == head && ARGS_QWORD != c &&
+ 1 == mdoc_isdelim(p)) {
assert(NULL == body);
if ( ! mdoc_word_alloc(m, line, la, p))
return(0);
break;
if ( ! (MDOC_IGNDELIM & mdoc_macros[tok].flags) &&
+ ARGS_QWORD != c &&
0 == j && 1 == mdoc_isdelim(p)) {
if ( ! mdoc_word_alloc(m, line, la, p))
return(0);
}
if ( ! (MDOC_IGNDELIM & mdoc_macros[tok].flags) &&
+ ARGS_QWORD != c &&
! flushed && mdoc_isdelim(p)) {
if ( ! rew_elem(m, tok))
return(0);