* texi2mdoc: Add all of the accents and fix their weird parsing rules.
@ 2015-02-24 20:07 kristaps
0 siblings, 0 replies; only message in thread
From: kristaps @ 2015-02-24 20:07 UTC (permalink / raw)
To: source
Log Message:
-----------
Add all of the accents and fix their weird parsing rules.
Add lots more symbols, while there.
Modified Files:
--------------
texi2mdoc:
extern.h
main.c
texi2mdoc.1
Revision Data
-------------
Index: extern.h
===================================================================
RCS file: /home/cvs/mdocml/texi2mdoc/extern.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -Lextern.h -Lextern.h -u -p -r1.11 -r1.12
--- extern.h
+++ extern.h
@@ -23,9 +23,13 @@
* different story.
*/
enum texicmd {
+ TEXICMD_A4PAPER,
+ TEXICMD_AA,
+ TEXICMD_AASMALL,
TEXICMD_ACRONYM,
TEXICMD_ACUTE,
- TEXICMD_A4PAPER,
+ TEXICMD_AE,
+ TEXICMD_AESMALL,
TEXICMD_ANCHOR,
TEXICMD_APPENDIX,
TEXICMD_APPENDIXSEC,
@@ -83,12 +87,16 @@ enum texicmd {
TEXICMD_DEFVRX,
TEXICMD_DETAILMENU,
TEXICMD_DFN,
+ TEXICMD_DH,
+ TEXICMD_DHSMALL,
TEXICMD_DIRCATEGORY,
TEXICMD_DIRENTRY,
TEXICMD_DISPLAY,
TEXICMD_DMN,
TEXICMD_DOCUMENTDESCRPITION,
TEXICMD_DOCUMENTENCODING,
+ TEXICMD_DOTACCENT,
+ TEXICMD_DOTLESS,
TEXICMD_DOTS,
TEXICMD_EMAIL,
TEXICMD_EMPH,
@@ -99,6 +107,7 @@ enum texicmd {
TEXICMD_EQUIV,
TEXICMD_ERROR,
TEXICMD_EXAMPLE,
+ TEXICMD_EXCLAMDOWN,
TEXICMD_EXDENT,
TEXICMD_EXPANSION,
TEXICMD_FILE,
@@ -109,6 +118,7 @@ enum texicmd {
TEXICMD_FORMAT,
TEXICMD_GRAVE,
TEXICMD_GROUP,
+ TEXICMD_H,
TEXICMD_HEADING,
TEXICMD_HEADINGS,
TEXICMD_HEADITEM,
@@ -141,9 +151,12 @@ enum texicmd {
TEXICMD_KBD,
TEXICMD_KEY,
TEXICMD_KINDEX,
+ TEXICMD_L,
TEXICMD_LATEX,
TEXICMD_LOWERSECTIONS,
+ TEXICMD_LSMALL,
TEXICMD_MACRO,
+ TEXICMD_MACRON,
TEXICMD_MATH,
TEXICMD_MENU,
TEXICMD_MINUS,
@@ -152,20 +165,29 @@ enum texicmd {
TEXICMD_NEWLINE,
TEXICMD_NODE,
TEXICMD_NOINDENT,
+ TEXICMD_O,
+ TEXICMD_OE,
+ TEXICMD_OESMALL,
+ TEXICMD_OGONEK,
TEXICMD_OPTION,
- TEXICMD_PXREF,
- TEXICMD_QUESTIONMARK,
- TEXICMD_QUOTATION,
+ TEXICMD_ORDF,
+ TEXICMD_ORDM,
+ TEXICMD_OSMALL,
TEXICMD_PAGE,
TEXICMD_PARINDENT,
TEXICMD_PERIOD,
TEXICMD_PINDEX,
TEXICMD_PRINTINDEX,
+ TEXICMD_PXREF,
+ TEXICMD_QUESTIONDOWN,
+ TEXICMD_QUESTIONMARK,
+ TEXICMD_QUOTATION,
TEXICMD_R,
TEXICMD_RAISESECTIONS,
TEXICMD_REF,
TEXICMD_REFILL,
TEXICMD_RESULT,
+ TEXICMD_RINGACCENT,
TEXICMD_SAMP,
TEXICMD_SANSSERIF,
TEXICMD_SC,
@@ -203,13 +225,19 @@ enum texicmd {
TEXICMD_TABLE,
TEXICMD_TEX,
TEXICMD_TEXSYM,
+ TEXICMD_TH,
+ TEXICMD_THSMALL,
TEXICMD_TIE,
+ TEXICMD_TIEACCENT,
TEXICMD_TILDE,
TEXICMD_TINDEX,
TEXICMD_TITLE,
TEXICMD_TITLEFONT,
TEXICMD_TITLEPAGE,
TEXICMD_TOP,
+ TEXICMD_U,
+ TEXICMD_UBARACCENT,
+ TEXICMD_UDOTACCENT,
TEXICMD_UMLAUT,
TEXICMD_UNNUMBERED,
TEXICMD_UNNUMBEREDSEC,
@@ -218,6 +246,7 @@ enum texicmd {
TEXICMD_UREF,
TEXICMD_URL,
TEXICMD_USER_INDEX,
+ TEXICMD_V,
TEXICMD_VALUE,
TEXICMD_VAR,
TEXICMD_VERB,
Index: main.c
===================================================================
RCS file: /home/cvs/mdocml/texi2mdoc/main.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -Lmain.c -Lmain.c -u -p -r1.41 -r1.42
--- main.c
+++ main.c
@@ -77,9 +77,13 @@ static void doverbinclude(struct texi *,
static const struct texitok __texitoks[TEXICMD__MAX] = {
/* TEXICMD__BEGIN */
+ { doignline, "afourpaper", 10 }, /* TEXICMD_A4PAPER */
+ { dosymbol, "AA", 2 }, /* TEXICMD_AA */
+ { dosymbol, "aa", 2 }, /* TEXICMD_AASMALL */
{ doignargn, "acronym", 7 }, /* TEXICMD_ACRONYM */
{ doaccent, "'", 1 }, /* TEXICMD_ACUTE */
- { doignline, "afourpaper", 10 }, /* TEXICMD_A4PAPER */
+ { dosymbol, "AE", 2 }, /* TEXICMD_AE */
+ { dosymbol, "ae", 2 }, /* TEXICMD_AESMALL */
{ doignbracket, "anchor", 6 }, /* TEXICMD_ANCHOR */
{ dosection, "appendix", 8 }, /* TEXICMD_APPENDIX */
{ dosection, "appendixsec", 11 }, /* TEXICMD_APPENDIXSEC */
@@ -137,12 +141,16 @@ static const struct texitok __texitoks[T
{ dodefn, "defvrx", 6 }, /* TEXICMD_DEFVRX */
{ doignblock, "detailmenu", 10 }, /* TEXICMD_DETAILMENU */
{ doinline, "dfn", 3 }, /* TEXICMD_DFN */
+ { dosymbol, "DH", 2 }, /* TEXICMD_DH */
+ { dosymbol, "dh", 2 }, /* TEXICMD_DHSMALL */
{ doignline, "dircategory", 11 }, /* TEXICMD_DIRCATEGORY */
{ doignblock, "direntry", 8 }, /* TEXICMD_DIRENTRY */
{ dodisplay, "display", 7 }, /* TEXICMD_DISPLAY */
{ doignbracket, "dmn", 3 }, /* TEXICMD_DMN */
{ doignblock, "documentdescription", 19 }, /* TEXICMD_DOCUMENTDESCRIPTION */
{ doignline, "documentencoding", 16 }, /* TEXICMD_DOCUMENTENCODING */
+ { doaccent, "dotaccent", 9 }, /* TEXICMD_DOTACCENT */
+ { doaccent, "dotless", 7 }, /* TEXICMD_DOTLESS */
{ dosymbol, "dots", 4 }, /* TEXICMD_DOTS */
{ dolink, "email", 5 }, /* TEXICMD_EMAIL */
{ doinline, "emph", 4 }, /* TEXICMD_EMPH */
@@ -153,6 +161,7 @@ static const struct texitok __texitoks[T
{ dosymbol, "equiv", 5 }, /* TEXICMD_EQUIV */
{ dosymbol, "error", 5 }, /* TEXICMD_ERROR */
{ doexample, "example", 7 }, /* TEXICMD_EXAMPLE */
+ { dosymbol, "exclamdown", 10 }, /* TEXICMD_EXCLAMDOWN */
{ doignline, "exdent", 6 }, /* TEXICMD_EXDENT */
{ dosymbol, "expansion", 9 }, /* TEXICMD_EXPANSION */
{ doinline, "file", 4 }, /* TEXICMD_FILE */
@@ -163,6 +172,7 @@ static const struct texitok __texitoks[T
{ dodisplay, "format", 6 }, /* TEXICMD_FORMAT */
{ doaccent, "`", 1 }, /* TEXICMD_GRAVE */
{ doblock, "group", 5 }, /* TEXICMD_GROUP */
+ { doaccent, "H", 1 }, /* TEXICMD_H */
{ dosection, "heading", 7 }, /* TEXICMD_HEADING */
{ doignline, "headings", 8 }, /* TEXICMD_HEADINGS */
{ doitem, "headitem", 8 }, /* TEXICMD_HEADITEM */
@@ -195,9 +205,12 @@ static const struct texitok __texitoks[T
{ doinline, "kbd", 3 }, /* TEXICMD_KBD */
{ dobracket, "key", 3 }, /* TEXICMD_KEY */
{ doignline, "kindex", 6 }, /* TEXICMD_KINDEX */
+ { dosymbol, "L", 1 }, /* TEXICMD_L */
{ dosymbol, "LaTeX", 5 }, /* TEXICMD_LATEX */
{ dosecoffs, "lowersections", 13 }, /* TEXICMD_LOWERSECTIONS */
+ { dosymbol, "l", 1 }, /* TEXICMD_LSMALL */
{ domacro, "macro", 5 }, /* TEXICMD_MACRO */
+ { doaccent, "=", 1 }, /* TEXICMD_MACRON */
{ domath, "math", 4 }, /* TEXICMD_MATH */
{ doignblock, "menu", 4 }, /* TEXICMD_MENU */
{ dosymbol, "minus", 5 }, /* TEXICMD_MINUS */
@@ -206,20 +219,29 @@ static const struct texitok __texitoks[T
{ dosymbol, "\n", 1 }, /* TEXICMD_NEWLINE */
{ doignline, "node", 4 }, /* TEXICMD_NODE */
{ doignline, "noindent", 8 }, /* TEXICMD_NOINDENT */
+ { dosymbol, "O", 1 }, /* TEXICMD_O */
+ { dosymbol, "OE", 2 }, /* TEXICMD_OE */
+ { dosymbol, "oe", 2 }, /* TEXICMD_OESMALL */
+ { doaccent, "ogonek", 6 }, /* TEXICMD_OGONEK */
{ doinline, "option", 6 }, /* TEXICMD_OPTION */
- { dolink, "pxref", 5 }, /* TEXICMD_PXREF */
- { dosymbol, "?", 1 }, /* TEXICMD_QUESTIONMARK */
- { doquotation, "quotation", 9 }, /* TEXICMD_QUOTATION */
+ { dosymbol, "ordf", 4 }, /* TEXICMD_ORDF */
+ { dosymbol, "ordm", 4 }, /* TEXICMD_ORDM */
+ { dosymbol, "o", 1 }, /* TEXICMD_OSMALL */
{ doignline, "page", 4 }, /* TEXICMD_PAGE */
{ doignline, "paragraphindent", 15 }, /* TEXICMD_PARINDENT */
{ dosymbol, ".", 1 }, /* TEXICMD_PERIOD */
{ doignline, "pindex", 6 }, /* TEXICMD_PINDEX */
{ doignline, "printindex", 10 }, /* TEXICMD_PRINTINDEX */
+ { dolink, "pxref", 5 }, /* TEXICMD_PXREF */
+ { dosymbol, "questiondown", 12 }, /* TEXICMD_QUESTIONDOWN */
+ { dosymbol, "?", 1 }, /* TEXICMD_QUESTIONMARK */
+ { doquotation, "quotation", 9 }, /* TEXICMD_QUOTATION */
{ doinline, "r", 1 }, /* TEXICMD_R */
{ dosecoffs, "raisesections", 13 }, /* TEXICMD_RAISESECTIONS */
{ dobracket, "ref", 3 }, /* TEXICMD_REF */
{ doignline, "refill", 6 }, /* TEXICMD_REFILL */
{ dosymbol, "result", 6 }, /* TEXICMD_RESULT */
+ { doaccent, "ringaccent", 10 }, /* TEXICMD_RINGACCENT */
{ doinline, "samp", 4 }, /* TEXICMD_SAMP */
{ doinline, "sansserif", 9 }, /* TEXICMD_SANSSERIF */
{ dobracket, "sc", 2 }, /* TEXICMD_SC */
@@ -257,13 +279,19 @@ static const struct texitok __texitoks[T
{ dotable, "table", 5 }, /* TEXICMD_TABLE */
{ doignblock, "tex", 3 }, /* TEXICMD_TEX */
{ dosymbol, "TeX", 3 }, /* TEXICMD_TEXSYM */
+ { dosymbol, "TH", 2 }, /* TEXICMD_TH */
+ { dosymbol, "th", 2 }, /* TEXICMD_THSMALL */
{ dosymbol, "tie", 3 }, /* TEXICMD_TIE */
+ { doaccent, "tieaccent", 9 }, /* TEXICMD_TIEACCENT */
{ doaccent, "~", 1 }, /* TEXICMD_TILDE */
{ doignline, "tindex", 6 }, /* TEXICMD_TINDEX */
{ doignline, "title", 5 }, /* TEXICMD_TITLE */
{ dobracket, "titlefont", 9 }, /* TEXICMD_TITLEFONT */
{ doignblock, "titlepage", 9 }, /* TEXICMD_TITLEPAGE */
{ dotop, "top", 3 }, /* TEXICMD_TOP */
+ { doaccent, "u", 1 }, /* TEXICMD_U */
+ { doaccent, "ubaraccent", 10 }, /* TEXICMD_UBARACCENT */
+ { doaccent, "udotaccent", 10 }, /* TEXICMD_UDOTACCENT */
{ doaccent, "\"", 1 }, /* TEXICMD_UMLAUT */
{ dosection, "unnumbered", 10 }, /* TEXICMD_UNNUMBERED */
{ dosection, "unnumberedsec", 13 }, /* TEXICMD_UNNUMBEREDSEC */
@@ -272,6 +300,7 @@ static const struct texitok __texitoks[T
{ dolink, "uref", 4 }, /* TEXICMD_UREF */
{ dolink, "url", 3 }, /* TEXICMD_URL */
{ doignline, "", 0 }, /* TEXICMD_USER_INDEX */
+ { doaccent, "v", 1 }, /* TEXICMD_V */
{ dovalue, "value", 5 }, /* TEXICMD_VALUE */
{ doinline, "var", 3 }, /* TEXICMD_VAR */
{ doverb, "verb", 4 }, /* TEXICMD_VERB */
@@ -877,31 +906,39 @@ static void
doaccent(struct texi *p, enum texicmd cmd,
const char *buf, size_t sz, size_t *pos)
{
+ int brace = 0;
- if (*pos == sz)
+ if (*pos == sz) {
+ texiwarn(p, "truncated: @%s", texitoks[cmd].tok);
return;
- if (p->seenws && p->outcol && 0 == p->literal)
+ }
+
+ /* Pad us with space, if necessary. */
+ if (p->seenws && p->outcol && 0 == p->literal) {
texiputchar(p, ' ');
- p->seenws = 0;
- switch (cmd) {
- case (TEXICMD_CEDILLA):
- /* Strange rules... */
+ p->seenws = 0;
+ }
+
+ /*
+ * If we're braced, then that's that.
+ * Otherwise, in a special Texinfo case: if we're a non
+ * alphabetic command of one letter, then the next character is
+ * the critical one.
+ * Otherwise, space can sit between us and our argument.
+ */
+ if ('{' == buf[*pos]) {
+ brace = 1;
+ advance(p, buf, pos);
+ } else if (isalpha(texitoks[cmd].tok[0]))
while (*pos < sz && isws(buf[*pos]))
advance(p, buf, pos);
- if (*pos == sz || '{' != buf[*pos])
- return;
- advance(p, buf, pos);
- switch (buf[*pos]) {
- case ('c'): case ('C'):
- texiputchars(p, "\\(,");
- texiputchar(p, buf[*pos]);
- break;
- default:
- texiputchar(p, buf[*pos]);
- break;
- }
- advance(p, buf, pos);
- break;
+
+ if (*pos == sz) {
+ texiwarn(p, "truncated: @%s", texitoks[cmd].tok);
+ return;
+ }
+
+ switch (cmd) {
case (TEXICMD_ACUTE):
switch (buf[*pos]) {
case ('a'): case ('A'):
@@ -910,11 +947,21 @@ doaccent(struct texi *p, enum texicmd cm
case ('o'): case ('O'):
case ('u'): case ('U'):
texiputchars(p, "\\(\'");
- texiputchar(p, buf[*pos]);
break;
default:
- texiputchar(p, buf[*pos]);
+ texiwarn(p, "ignoring accent");
+ break;
}
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
+ break;
+ case (TEXICMD_CEDILLA):
+ if ('c' == buf[*pos] || 'C' == buf[*pos])
+ texiputchars(p, "\\(,");
+ else
+ texiwarn(p, "ignoring accent");
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
break;
case (TEXICMD_CIRCUMFLEX):
switch (buf[*pos]) {
@@ -924,12 +971,21 @@ doaccent(struct texi *p, enum texicmd cm
case ('o'): case ('O'):
case ('u'): case ('U'):
texiputchars(p, "\\(^");
- texiputchar(p, buf[*pos]);
break;
default:
- texiputchar(p, buf[*pos]);
+ texiwarn(p, "ignoring accent");
break;
}
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
+ break;
+ case (TEXICMD_DOTLESS):
+ if ('i' == buf[*pos] || 'j' == buf[*pos])
+ texiputchars(p, "\\(.");
+ else
+ texiwarn(p, "ignoring accent");
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
break;
case (TEXICMD_GRAVE):
switch (buf[*pos]) {
@@ -939,11 +995,13 @@ doaccent(struct texi *p, enum texicmd cm
case ('o'): case ('O'):
case ('u'): case ('U'):
texiputchars(p, "\\(`");
- texiputchar(p, buf[*pos]);
break;
default:
- texiputchar(p, buf[*pos]);
+ texiwarn(p, "ignoring accent");
+ break;
}
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
break;
case (TEXICMD_TILDE):
switch (buf[*pos]) {
@@ -951,12 +1009,13 @@ doaccent(struct texi *p, enum texicmd cm
case ('n'): case ('N'):
case ('o'): case ('O'):
texiputchars(p, "\\(~");
- texiputchar(p, buf[*pos]);
break;
default:
- texiputchar(p, buf[*pos]);
+ texiwarn(p, "ignoring accent");
break;
}
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
break;
case (TEXICMD_UMLAUT):
switch (buf[*pos]) {
@@ -967,17 +1026,39 @@ doaccent(struct texi *p, enum texicmd cm
case ('u'): case ('U'):
case ('y'):
texiputchars(p, "\\(:");
- texiputchar(p, buf[*pos]);
break;
default:
- texiputchar(p, buf[*pos]);
+ texiwarn(p, "ignoring accent");
break;
}
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
break;
default:
- abort();
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
+ break;
+ }
+
+ if (brace) {
+ while (*pos < sz && '}' != buf[*pos]) {
+ texiputchar(p, buf[*pos]);
+ advance(p, buf, pos);
+ }
+ if (*pos < sz)
+ advance(p, buf, pos);
+ }
+
+ switch (cmd) {
+ case (TEXICMD_TIEACCENT):
+ texiputchar(p, ']');
+ break;
+ case (TEXICMD_DOTACCENT):
+ texiputchar(p, '*');
+ break;
+ default:
+ break;
}
- advance(p, buf, pos);
}
static void
@@ -985,12 +1066,25 @@ dosymbol(struct texi *p, enum texicmd cm
const char *buf, size_t sz, size_t *pos)
{
+ /* Remember to pad us. */
if (p->seenws && p->outcol && 0 == p->literal) {
texiputchar(p, ' ');
p->seenws = 0;
}
switch (cmd) {
+ case (TEXICMD_AA):
+ texiputchars(p, "\\(oA");
+ break;
+ case (TEXICMD_AASMALL):
+ texiputchars(p, "\\(oa");
+ break;
+ case (TEXICMD_AE):
+ texiputchars(p, "\\(AE");
+ break;
+ case (TEXICMD_AESMALL):
+ texiputchars(p, "\\(ae");
+ break;
case (TEXICMD_ASTERISK):
case (TEXICMD_NEWLINE):
case (TEXICMD_SPACE):
@@ -1012,6 +1106,12 @@ dosymbol(struct texi *p, enum texicmd cm
case (TEXICMD_COPYRIGHT):
texiputchars(p, "\\(co");
break;
+ case (TEXICMD_DH):
+ texiputchars(p, "\\(-D");
+ break;
+ case (TEXICMD_DHSMALL):
+ texiputchars(p, "\\(Sd");
+ break;
case (TEXICMD_DOTS):
case (TEXICMD_ENDDOTS):
texiputchars(p, "...");
@@ -1022,18 +1122,48 @@ dosymbol(struct texi *p, enum texicmd cm
case (TEXICMD_ERROR):
texiputchars(p, "error\\(->");
break;
+ case (TEXICMD_EXCLAMDOWN):
+ texiputchars(p, "\\(r!");
+ break;
case (TEXICMD_EXPANSION):
texiputchars(p, "\\(->");
break;
+ case (TEXICMD_L):
+ texiputchars(p, "\\(/L");
+ break;
case (TEXICMD_LATEX):
texiputchars(p, "LaTeX");
break;
+ case (TEXICMD_LSMALL):
+ texiputchars(p, "\\(/l");
+ break;
case (TEXICMD_MINUS):
texiputchars(p, "\\-");
break;
+ case (TEXICMD_O):
+ texiputchars(p, "\\(/O");
+ break;
+ case (TEXICMD_OE):
+ texiputchars(p, "\\(OE");
+ break;
+ case (TEXICMD_OESMALL):
+ texiputchars(p, "\\(oe");
+ break;
+ case (TEXICMD_ORDF):
+ texiputchars(p, "a");
+ break;
+ case (TEXICMD_ORDM):
+ texiputchars(p, "o");
+ break;
+ case (TEXICMD_OSMALL):
+ texiputchars(p, "\\(/o");
+ break;
case (TEXICMD_PERIOD):
texiputchar(p, '.');
break;
+ case (TEXICMD_QUESTIONDOWN):
+ texiputchars(p, "\\(r?");
+ break;
case (TEXICMD_QUESTIONMARK):
texiputchar(p, '?');
break;
@@ -1055,6 +1185,12 @@ dosymbol(struct texi *p, enum texicmd cm
case (TEXICMD_TEXSYM):
texiputchars(p, "TeX");
break;
+ case (TEXICMD_TH):
+ texiputchars(p, "\\(TP");
+ break;
+ case (TEXICMD_THSMALL):
+ texiputchars(p, "\\(Tp");
+ break;
case (TEXICMD_TIE):
texiputchars(p, "\\ ");
break;
@@ -1065,7 +1201,8 @@ dosymbol(struct texi *p, enum texicmd cm
abort();
}
- if (texitoks[cmd].len > 1)
+ /* Alphabetic commands have braces we ignore. */
+ if (isalpha(texitoks[cmd].tok[0]))
doignbracket(p, cmd, buf, sz, pos);
}
Index: texi2mdoc.1
===================================================================
RCS file: /home/cvs/mdocml/texi2mdoc/texi2mdoc.1,v
retrieving revision 1.8
retrieving revision 1.9
diff -Ltexi2mdoc.1 -Ltexi2mdoc.1 -u -p -r1.8 -r1.9
--- texi2mdoc.1
+++ texi2mdoc.1
@@ -105,6 +105,10 @@ with the text.
Moreover, many commands that might contain useful information (such as
.Li @footnote )
are thrown away.
+.Pp
+Not all accent marks are supported by
+.Xr mdoc 7 :
+carons, breves, etc.
.\" .Sh BUGS
.Sh SECURITY CONSIDERATIONS
As a security precaution,
--
To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-02-24 20:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-24 20:07 texi2mdoc: Add all of the accents and fix their weird parsing rules kristaps
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).