From 12f60400d3ddcae17737f95d7ab0ab495631de89 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Mon, 25 Nov 1996 00:19:29 +0000 Subject: Sync with NetBSD. Implement `$@' macro, as promised by the manual page (NetBSD PR#2914). --- usr.bin/m4/eval.c | 21 ++++++++++++++++----- usr.bin/m4/serv.c | 19 +++++++++++++++---- 2 files changed, 31 insertions(+), 9 deletions(-) (limited to 'usr.bin/m4') diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c index 636e113076c..2d37ebe8fb8 100644 --- a/usr.bin/m4/eval.c +++ b/usr.bin/m4/eval.c @@ -1,5 +1,5 @@ -/* $OpenBSD: eval.c,v 1.6 1996/09/15 18:59:07 millert Exp $ */ -/* $NetBSD: eval.c,v 1.5 1996/01/13 23:25:23 pk Exp $ */ +/* $OpenBSD: eval.c,v 1.7 1996/11/25 00:19:27 millert Exp $ */ +/* $NetBSD: eval.c,v 1.7 1996/11/10 21:21:29 pk Exp $ */ /* * Copyright (c) 1989, 1993 @@ -41,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)eval.c 8.2 (Berkeley) 4/27/95"; #else -static char rcsid[] = "$OpenBSD: eval.c,v 1.6 1996/09/15 18:59:07 millert Exp $"; +static char rcsid[] = "$OpenBSD: eval.c,v 1.7 1996/11/25 00:19:27 millert Exp $"; #endif #endif /* not lint */ @@ -247,7 +247,7 @@ register int td; k = strlen(lquote); while (k--) putback(lquote[k]); - putback(','); + putback(COMMA); } k = strlen(rquote); while (k--) @@ -431,10 +431,21 @@ register int argc; case '*': for (n = argc - 1; n > 2; n--) { pbstr(argv[n]); - putback(','); + putback(COMMA); } pbstr(argv[2]); break; + case '@': + for (n = argc - 1; n > 2; n--) { + pbstr(rquote); + pbstr(argv[n]); + pbstr(lquote); + putback(COMMA); + } + pbstr(rquote); + pbstr(argv[2]); + pbstr(lquote); + break; default: putback(*p); putback('$'); diff --git a/usr.bin/m4/serv.c b/usr.bin/m4/serv.c index 6658e6fda79..f826be15060 100644 --- a/usr.bin/m4/serv.c +++ b/usr.bin/m4/serv.c @@ -1,5 +1,5 @@ -/* $OpenBSD: serv.c,v 1.5 1996/09/15 19:05:09 millert Exp $ */ -/* $NetBSD: serv.c,v 1.7 1995/09/28 05:37:47 tls Exp $ */ +/* $OpenBSD: serv.c,v 1.6 1996/11/25 00:19:28 millert Exp $ */ +/* $NetBSD: serv.c,v 1.9 1996/11/10 21:23:53 pk Exp $ */ /* * Copyright (c) 1989 @@ -46,7 +46,7 @@ #if 0 static char sccsid[] = "@(#)serv.c 5.4 (Berkeley) 1/21/94"; #else -static char rcsid[] = "$OpenBSD: serv.c,v 1.5 1996/09/15 19:05:09 millert Exp $"; +static char rcsid[] = "$OpenBSD: serv.c,v 1.6 1996/11/25 00:19:28 millert Exp $"; #endif #endif /* not lint */ @@ -112,10 +112,21 @@ register int argc; case '*': for (n = argc - 1; n > 2; n--) { pbstr(argv[n]); - putback(','); + putback(COMMA); } pbstr(argv[2]); break; + case '@': + for (n = argc - 1; n > 2; n--) { + pbstr(lquote); + pbstr(argv[n]); + pbstr(rquote); + putback(COMMA); + } + pbstr(lquote); + pbstr(argv[2]); + pbstr(rquote); + break; default : putback(*p); break; -- cgit v1.2.3