diff --git a/src/dorem.c b/src/dorem.c index a3b4840e..d1f5d755 100644 --- a/src/dorem.c +++ b/src/dorem.c @@ -71,6 +71,10 @@ check_trigger_function(char const *fname, char const *type) } return; } + if (f->nargs != 1) { + Wprint("%s function `%s' defined at %s:%d should take 1 argument but actually takes %d", type, fname, f->filename, f->lineno, f->nargs); + return; + } if (ensure_expr_references_first_local_arg(f->node)) { return; } diff --git a/tests/test.cmp b/tests/test.cmp index d5831afe..423165b5 100644 --- a/tests/test.cmp +++ b/tests/test.cmp @@ -5371,10 +5371,48 @@ REM OMITFUNC gg MSG hehe hehe -FSET gg(x) x-x +FSET gg(x,y,z) 0 ../tests/test.rem(1035): Function gg redefined (previously defined at ../tests/test.rem:1030) REM WARN gg MSG Wookie +../tests/test.rem(1036): WARN function `gg' defined at ../tests/test.rem:1035 should take 1 argument but actually takes 3 ../tests/test.rem(1036): Trig = Saturday, 16 February, 1991 +../tests/test.rem(1036): Undefined WARN function: `gg' +Wookie + +REM AT 11:00 SCHED gg MSG blork +../tests/test.rem(1037): SCHED function `gg' defined at ../tests/test.rem:1035 should take 1 argument but actually takes 3 +../tests/test.rem(1037): Trig = Saturday, 16 February, 1991 AT 11:00 +blork + +REM OMITFUNC gg MSG hehe +../tests/test.rem(1038): OMITFUNC function `gg' defined at ../tests/test.rem:1035 should take 1 argument but actually takes 3 +../tests/test.rem(1038): Trig = Saturday, 16 February, 1991 +hehe + + +FSET gg() 0 +../tests/test.rem(1040): Function gg redefined (previously defined at ../tests/test.rem:1035) +REM WARN gg MSG Wookie +../tests/test.rem(1041): WARN function `gg' defined at ../tests/test.rem:1040 should take 1 argument but actually takes 0 +../tests/test.rem(1041): Trig = Saturday, 16 February, 1991 +../tests/test.rem(1041): Undefined WARN function: `gg' +Wookie + +REM AT 11:00 SCHED gg MSG blork +../tests/test.rem(1042): SCHED function `gg' defined at ../tests/test.rem:1040 should take 1 argument but actually takes 0 +../tests/test.rem(1042): Trig = Saturday, 16 February, 1991 AT 11:00 +blork + +REM OMITFUNC gg MSG hehe +../tests/test.rem(1043): OMITFUNC function `gg' defined at ../tests/test.rem:1040 should take 1 argument but actually takes 0 +../tests/test.rem(1043): Trig = Saturday, 16 February, 1991 +hehe + + +FSET gg(x) x-x +../tests/test.rem(1045): Function gg redefined (previously defined at ../tests/test.rem:1040) +REM WARN gg MSG Wookie +../tests/test.rem(1046): Trig = Saturday, 16 February, 1991 Entering UserFN gg(1) x => 1 x => 1 @@ -5383,27 +5421,27 @@ Leaving UserFN gg(1) => 0 Wookie REM AT 11:00 SCHED gg MSG blork -../tests/test.rem(1037): Trig = Saturday, 16 February, 1991 AT 11:00 +../tests/test.rem(1047): Trig = Saturday, 16 February, 1991 AT 11:00 blork REM OMITFUNC gg MSG hehe -../tests/test.rem(1038): Trig = Saturday, 16 February, 1991 +../tests/test.rem(1048): Trig = Saturday, 16 February, 1991 hehe REM WARN not_defined MSG Wookie -../tests/test.rem(1040): Trig = Saturday, 16 February, 1991 -../tests/test.rem(1040): Undefined WARN function: `not_defined' +../tests/test.rem(1050): Trig = Saturday, 16 February, 1991 +../tests/test.rem(1050): Undefined WARN function: `not_defined' Wookie REM AT 11:00 SCHED not_defined MSG blork -../tests/test.rem(1041): Undefined SCHED function: `not_defined' -../tests/test.rem(1041): Trig = Saturday, 16 February, 1991 AT 11:00 +../tests/test.rem(1051): Undefined SCHED function: `not_defined' +../tests/test.rem(1051): Trig = Saturday, 16 February, 1991 AT 11:00 blork REM OMITFUNC not_defined MSG hehe -../tests/test.rem(1042): Undefined OMITFUNC function: `not_defined' -../tests/test.rem(1042): Trig = Saturday, 16 February, 1991 +../tests/test.rem(1052): Undefined OMITFUNC function: `not_defined' +../tests/test.rem(1052): Trig = Saturday, 16 February, 1991 hehe diff --git a/tests/test.rem b/tests/test.rem index 878b0bac..d276de8b 100644 --- a/tests/test.rem +++ b/tests/test.rem @@ -1032,6 +1032,16 @@ REM WARN gg MSG Wookie REM AT 11:00 SCHED gg MSG blork REM OMITFUNC gg MSG hehe +FSET gg(x,y,z) 0 +REM WARN gg MSG Wookie +REM AT 11:00 SCHED gg MSG blork +REM OMITFUNC gg MSG hehe + +FSET gg() 0 +REM WARN gg MSG Wookie +REM AT 11:00 SCHED gg MSG blork +REM OMITFUNC gg MSG hehe + FSET gg(x) x-x REM WARN gg MSG Wookie REM AT 11:00 SCHED gg MSG blork