source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: Fixed condition of `\}' closing a conditional at the start of
@ 2010-06-01 11:47 kristaps
  2010-06-01 12:02 ` Kristaps Dzonsons
  0 siblings, 1 reply; 2+ messages in thread
From: kristaps @ 2010-06-01 11:47 UTC (permalink / raw)
  To: source

Log Message:
-----------
Fixed condition of `\}' closing a conditional at the start of the line.

Fixed flushed-out condition of \} causing subsequent arguments to be
truncated, when in fact the whole line should be passed through (if the
conditional succeeds) to the front-end and the \} ignored there.

Added regression test of this behaviour.

Modified Files:
--------------
    mdocml:
        chars.in
        chars.c
        mandoc.c
        roff.c

Added Files:
-----------
    mdocml/regress/roff/if:
        close-rules.in

Revision Data
-------------
--- /dev/null
+++ regress/roff/if/close-rules.in
@@ -0,0 +1,95 @@
+.\" Copyright (c) 1985, 1991 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\"     from: @(#)erf.3	6.4 (Berkeley) 4/20/91
+.\" $FreeBSD$
+.\"
+.Dd April 20, 1991
+.Dt ERF 3
+.Os
+.Sh NAME
+.Nm erf ,
+.Nm erff ,
+.Nm erfc ,
+.Nm erfcf
+.Nd error function operators
+.Sh LIBRARY
+.Lb libm
+.Sh SYNOPSIS
+.In math.h
+.Ft double
+.Fn erf "double x"
+.Ft float
+.Fn erff "float x"
+.Ft double
+.Fn erfc "double x"
+.Ft float
+.Fn erfcf "float x"
+.Sh DESCRIPTION
+These functions calculate the error function of
+.Fa x .
+.Pp
+The
+.Fn erf
+and the
+.Fn erff
+functions calculate the error function of x; where
+.Bd -ragged -offset indent
+.if n \{\
+erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt.
+1234 \} asdf
+1234 \} asdf
+.if t \{\
+erf\|(x) := 
+(2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt.
+4321 \} fdsa
+4321 \} fdsa
+.Ed
+.Pp
+The
+.Fn erfc
+and the
+.Fn erfcf
+functions calculate the complementary error function of
+.Fa x ;
+that is
+.Fn erfc
+subtracts the result of the error function
+.Fn erf x
+from 1.0.
+This is useful, since for large
+.Fa x
+places disappear.
+.Sh SEE ALSO
+.Xr math 3
+.Sh HISTORY
+The
+.Fn erf
+and
+.Fn erfc
+functions appeared in
+.Bx 4.3 .
Index: mandoc.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/mandoc.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -Lmandoc.c -Lmandoc.c -u -p -r1.16 -r1.17
--- mandoc.c
+++ mandoc.c
@@ -61,6 +61,8 @@ mandoc_special(const char *p)
 		/* FALLTHROUGH */
 	case (' '):
 		/* FALLTHROUGH */
+	case ('}'):
+		/* FALLTHROUGH */
 	case ('|'):
 		/* FALLTHROUGH */
 	case ('&'):
Index: chars.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/chars.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -Lchars.c -Lchars.c -u -p -r1.18 -r1.19
--- chars.c
+++ chars.c
@@ -43,7 +43,7 @@ struct	ln {
 #define CHARS_BOTH	 (CHARS_CHAR | CHARS_STRING)
 };
 
-#define	LINES_MAX	  369
+#define	LINES_MAX	  370
 
 #define CHAR(w, x, y, z, a, b) \
 	{ NULL, (w), (y), (a), (x), (z), (b), CHARS_CHAR },
Index: chars.in
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/chars.in,v
retrieving revision 1.23
retrieving revision 1.24
diff -Lchars.in -Lchars.in -u -p -r1.23 -r1.24
--- chars.in
+++ chars.in
@@ -44,6 +44,7 @@ CHAR("%",			1,	"",		0,	"",		0)
 CHAR("&",			1,	"",		0,	"",		0)
 CHAR("^",			1,	"",		0,	"",		0)
 CHAR("|",			1,	"",		0,	"",		0)
+CHAR("}",			1,	"",		0,	"",		0)
 
 /* Accents. */
 CHAR("a\"",			2,	"\"",		1,	"̋",	6)
Index: roff.c
===================================================================
RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/roff.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -Lroff.c -Lroff.c -u -p -r1.85 -r1.86
--- roff.c
+++ roff.c
@@ -666,10 +666,8 @@ roff_cond_text(ROFF_ARGS)
 		return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT);
 	}
 
-	if (ep > st && '\\' != *(ep - 1)) {
-		ep = '\0';
+	if (ep == st || (ep > st && '\\' != *(ep - 1)))
 		roffnode_pop(r);
-	}
 
 	roffnode_cleanscope(r);
 	return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT);
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: mdocml: Fixed condition of `\}' closing a conditional at the start of
  2010-06-01 11:47 mdocml: Fixed condition of `\}' closing a conditional at the start of kristaps
@ 2010-06-01 12:02 ` Kristaps Dzonsons
  0 siblings, 0 replies; 2+ messages in thread
From: Kristaps Dzonsons @ 2010-06-01 12:02 UTC (permalink / raw)
  To: source

> Log Message:
> -----------
> Fixed condition of `\}' closing a conditional at the start of the line.
> 
> Fixed flushed-out condition of \} causing subsequent arguments to be
> truncated, when in fact the whole line should be passed through (if the
> conditional succeeds) to the front-end and the \} ignored there.
> 
> Added regression test of this behaviour.

Forgot to note--bug reported by Ulrich Spoerlein.
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-01 11:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-01 11:47 mdocml: Fixed condition of `\}' closing a conditional at the start of kristaps
2010-06-01 12:02 ` Kristaps Dzonsons

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).