=================================================================== RCS file: /cvs/mandoc/term_ascii.c,v retrieving revision 1.30 retrieving revision 1.33 diff -u -p -r1.30 -r1.33 --- mandoc/term_ascii.c 2014/08/14 22:33:10 1.30 +++ mandoc/term_ascii.c 2014/09/03 05:22:45 1.33 @@ -1,4 +1,4 @@ -/* $Id: term_ascii.c,v 1.30 2014/08/14 22:33:10 schwarze Exp $ */ +/* $Id: term_ascii.c,v 1.33 2014/09/03 05:22:45 schwarze Exp $ */ /* * Copyright (c) 2010, 2011 Kristaps Dzonsons * Copyright (c) 2014 Ingo Schwarze @@ -19,14 +19,14 @@ #include -#ifdef USE_WCHAR +#if HAVE_WCHAR #include #endif #include #include #include #include -#ifdef USE_WCHAR +#if HAVE_WCHAR #include #endif @@ -36,17 +36,6 @@ #include "term.h" #include "main.h" -/* - * Sadly, this doesn't seem to be defined on systems even when they - * support it. For the time being, remove it and let those compiling - * the software decide for themselves what to use. - */ -#if 0 -#if ! defined(__STDC_ISO_10646__) -# undef USE_WCHAR -#endif -#endif - static struct termp *ascii_init(enum termenc, char *); static double ascii_hspan(const struct termp *, const struct roffsu *); @@ -58,7 +47,7 @@ static void ascii_endline(struct termp *); static void ascii_letter(struct termp *, int); static void ascii_setwidth(struct termp *, int, size_t); -#ifdef USE_WCHAR +#if HAVE_WCHAR static void locale_advance(struct termp *, size_t); static void locale_endline(struct termp *); static void locale_letter(struct termp *, int); @@ -69,7 +58,7 @@ static size_t locale_width(const struct termp *, in static struct termp * ascii_init(enum termenc enc, char *outopts) { - const char *toks[4]; + const char *toks[5]; char *v; struct termp *p; @@ -90,7 +79,7 @@ ascii_init(enum termenc enc, char *outopts) p->setwidth = ascii_setwidth; p->width = ascii_width; -#ifdef USE_WCHAR +#if HAVE_WCHAR if (TERMENC_ASCII != enc) { v = TERMENC_LOCALE == enc ? setlocale(LC_ALL, "") : @@ -108,7 +97,8 @@ ascii_init(enum termenc enc, char *outopts) toks[0] = "indent"; toks[1] = "width"; toks[2] = "mdoc"; - toks[3] = NULL; + toks[3] = "synopsis"; + toks[4] = NULL; while (outopts && *outopts) switch (getsubopt(&outopts, UNCONST(toks), &v)) { @@ -126,6 +116,9 @@ ascii_init(enum termenc enc, char *outopts) p->mdocstyle = 1; p->defindent = 5; break; + case 3: + p->synopsisonly = 1; + break; default: break; } @@ -264,7 +257,7 @@ ascii_hspan(const struct termp *p, const struct roffsu case SCALE_EM: r = su->scale; break; - case SCALE_MAX: + default: abort(); /* NOTREACHED */ } @@ -272,7 +265,7 @@ ascii_hspan(const struct termp *p, const struct roffsu return(r); } -#ifdef USE_WCHAR +#if HAVE_WCHAR static size_t locale_width(const struct termp *p, int c) {