diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-03-22 14:05:45 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-03-22 14:05:45 +0000 |
commit | d5822e61b86d3e01e8c8d87feb97cabb4ad9d67d (patch) | |
tree | 439a6c27b466f868e39f65342ef862ecdca567b1 /libmdoc.h | |
parent | 08cbd42d2a572e1adaf5a6aa56d2837a739274e6 (diff) | |
download | mandoc-d5822e61b86d3e01e8c8d87feb97cabb4ad9d67d.tar.gz |
Move mandoc_isdelim() back into libmdoc.h. This fixes an unreported
error where (1) -man pages were punctuating delimiters (e.g., `.B a ;')
and where (2) standalone punctuation in -mdoc or -man (e.g., ";" on its
own line) would also be punctuated. This introduces a small amount of
complexity of mdoc_{html,term}.c must manage their own spacing with
running print_word() or print_text(). The check for delimiting now
happens in mdoc_macro.c's dword().
Diffstat (limited to 'libmdoc.h')
-rw-r--r-- | libmdoc.h | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -80,6 +80,23 @@ enum margverr { ARGV_WORD }; +/* + * A punctuation delimiter is opening, closing, or "middle mark" + * punctuation. These govern spacing. + * Opening punctuation (e.g., the opening parenthesis) suppresses the + * following space; closing punctuation (e.g., the closing parenthesis) + * suppresses the leading space; middle punctuation (e.g., the vertical + * bar) can do either. The middle punctuation delimiter bends the rules + * depending on usage. + */ +enum mdelim { + DELIM_NONE = 0, + DELIM_OPEN, + DELIM_MIDDLE, + DELIM_CLOSE, + DELIM_MAX +}; + extern const struct mdoc_macro *const mdoc_macros; __BEGIN_DECLS @@ -126,6 +143,9 @@ enum margserr mdoc_zargs(struct mdoc *, int, int mdoc_macroend(struct mdoc *); +#define DELIMSZ 6 /* hint: max possible size of a delimiter */ +enum mdelim mdoc_isdelim(const char *); + __END_DECLS #endif /*!LIBMDOC_H*/ |