From d52954ea75b73bcf965eb57ffdfcde6b03e32c79 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 15 Jun 2009 01:36:24 +0000 Subject: sync to 1.7.16: implement \~ and \^ escapes, and repair \(ss --- usr.bin/mandoc/ascii.in | 6 ++++-- usr.bin/mandoc/mandoc_char.7 | 17 +++++++++++++++-- usr.bin/mandoc/mdoc_strings.c | 10 +++++++--- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/usr.bin/mandoc/ascii.in b/usr.bin/mandoc/ascii.in index 2a9935f3db6..5dd1f721449 100644 --- a/usr.bin/mandoc/ascii.in +++ b/usr.bin/mandoc/ascii.in @@ -1,4 +1,4 @@ -/* $Id: ascii.in,v 1.2 2009/06/14 23:00:57 schwarze Exp $ */ +/* $Id: ascii.in,v 1.3 2009/06/15 01:36:23 schwarze Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -30,6 +30,8 @@ LINE("`", 1, "`", 1) LINE("%", 1, "%", 1) LINE("-", 1, "-", 1) LINE(" ", 1, " ", 1) +LINE("~", 1, " ", 1) +LINE("^", 1, "", 0) LINE("0", 1, " ", 1) LINE(".", 1, ".", 1) LINE("&", 1, "", 0) @@ -96,7 +98,7 @@ LINE("ae", 2, "ae", 2) LINE("AE", 2, "AE", 2) LINE("oe", 2, "oe", 2) LINE("OE", 2, "OE", 2) -LINE("ss", 2, "B", 1) +LINE("ss", 2, "ss", 2) LINE("\'A", 2, "A", 1) LINE("\'E", 2, "E", 1) LINE("\'I", 2, "I", 1) diff --git a/usr.bin/mandoc/mandoc_char.7 b/usr.bin/mandoc/mandoc_char.7 index c68a19b3a16..e0067b8774c 100644 --- a/usr.bin/mandoc/mandoc_char.7 +++ b/usr.bin/mandoc/mandoc_char.7 @@ -1,4 +1,4 @@ -.\" $Id: mandoc_char.7,v 1.2 2009/06/14 23:00:57 schwarze Exp $ +.\" $Id: mandoc_char.7,v 1.3 2009/06/15 01:36:23 schwarze Exp $ .\" .\" Copyright (c) 2009 Kristaps Dzonsons .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: June 14 2009 $ +.Dd $Mdocdate: June 15 2009 $ .Dt MANDOC_CHAR 7 .Os .\" SECTION @@ -457,6 +457,19 @@ Special symbols: .Pq ampersand, deprecated .El .\" SECTION +.Sh COMPATIBILITY +This section documents compatibility of +.Nm +with older or existing versions of +.Xr groff 1 : +.Pp +.Bl -tag -width 12n -offset "XXXX" -compact +.It \e(ss +Renders differently in +.Fl T Ns Ar ascii +mode. +.El +.\" SECTION .Sh SEE ALSO .Xr mandoc 1 .\" SECTION diff --git a/usr.bin/mandoc/mdoc_strings.c b/usr.bin/mandoc/mdoc_strings.c index 2d83c30af20..fce9e6f37fe 100644 --- a/usr.bin/mandoc/mdoc_strings.c +++ b/usr.bin/mandoc/mdoc_strings.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_strings.c,v 1.2 2009/06/14 23:00:57 schwarze Exp $ */ +/* $Id: mdoc_strings.c,v 1.3 2009/06/15 01:36:23 schwarze Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -81,6 +81,10 @@ mdoc_isescape(const char *p) /* FALLTHROUGH */ case ('-'): /* FALLTHROUGH */ + case ('~'): + /* FALLTHROUGH */ + case ('^'): + /* FALLTHROUGH */ case ('%'): /* FALLTHROUGH */ case ('0'): @@ -206,9 +210,9 @@ mdoc_atotime(const char *p) (void)memset(&tm, 0, sizeof(struct tm)); - if (0 == strcmp(p, "$Mdocdate: June 14 2009 $")) + if (0 == strcmp(p, "$Mdocdate: June 15 2009 $")) return(time(NULL)); - if ((pp = strptime(p, "$Mdocdate: June 14 2009 $", &tm)) && 0 == *pp) + if ((pp = strptime(p, "$Mdocdate: June 15 2009 $", &tm)) && 0 == *pp) return(mktime(&tm)); /* XXX - this matches "June 1999", which is wrong. */ if ((pp = strptime(p, "%b %d %Y", &tm)) && 0 == *pp) -- cgit v1.2.3