Page MenuHomeFreeBSD

D55116.diff
No OneTemporary

D55116.diff

diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c
--- a/usr.bin/m4/eval.c
+++ b/usr.bin/m4/eval.c
@@ -490,7 +490,7 @@
case DEFNTYPE:
if (argc > 2)
- for (n = 2; n < argc; n++)
+ for (n = argc - 1; n >= 2; n--)
dodefn(argv[n]);
break;
diff --git a/usr.bin/m4/tests/Makefile b/usr.bin/m4/tests/Makefile
--- a/usr.bin/m4/tests/Makefile
+++ b/usr.bin/m4/tests/Makefile
@@ -5,6 +5,7 @@
${PACKAGE}FILES+= args.m4
${PACKAGE}FILES+= args2.m4
${PACKAGE}FILES+= comments.m4
+${PACKAGE}FILES+= defn.m4
${PACKAGE}FILES+= esyscmd.m4
${PACKAGE}FILES+= eval.m4
${PACKAGE}FILES+= ff_after_dnl.m4.uu
@@ -27,6 +28,7 @@
${PACKAGE}FILES+= regress.args.out
${PACKAGE}FILES+= regress.args2.out
${PACKAGE}FILES+= regress.comments.out
+${PACKAGE}FILES+= regress.defn.out
${PACKAGE}FILES+= regress.esyscmd.out
${PACKAGE}FILES+= regress.eval.out
${PACKAGE}FILES+= regress.ff_after_dnl.out
diff --git a/usr.bin/m4/tests/defn.m4 b/usr.bin/m4/tests/defn.m4
new file mode 100644
--- /dev/null
+++ b/usr.bin/m4/tests/defn.m4
@@ -0,0 +1,5 @@
+dnl Check that our defn processes its arguments in order.
+define(a,1)dnl
+define(b,2)dnl
+define(c,3)dnl
+defn(`a',`b',`c')
diff --git a/usr.bin/m4/tests/m4_test.sh b/usr.bin/m4/tests/m4_test.sh
--- a/usr.bin/m4/tests/m4_test.sh
+++ b/usr.bin/m4/tests/m4_test.sh
@@ -70,6 +70,14 @@
m4_test comments
}
+defn_head()
+{
+}
+defn_body()
+{
+ m4_test defn
+}
+
esyscmd_head()
{
}
@@ -219,6 +227,7 @@
atf_add_test_case args
atf_add_test_case args2
atf_add_test_case comments
+ atf_add_test_case defn
atf_add_test_case esyscmd
atf_add_test_case eval
atf_add_test_case ff_after_dnl
diff --git a/usr.bin/m4/tests/regress.defn.out b/usr.bin/m4/tests/regress.defn.out
new file mode 100644
--- /dev/null
+++ b/usr.bin/m4/tests/regress.defn.out
@@ -0,0 +1 @@
+123

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 11, 1:20 AM (9 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28635179
Default Alt Text
D55116.diff (1 KB)

Event Timeline