Version: 6.1 [6e3291]
Reproduction:
./configure --disable-plugins --without-readline --disable-history-file --without-x --disable-x11-mbfonts --disable-x11-external --disable-wxwidgets --with-qt=no --without-libcerf --without-lua --without-gd --without-tektronix --without-cairo --without-latex --without-bitmap-terminals --disable-stats
make gnuplot
Observed:
command.c: In function ‘define’:
command.c:736:54: error: ‘CALLE’ undeclared (first use in this function); did you mean ‘CALLN’?
736 | if (udf->at && (udf->at->actions[0].index == CALLE))
| ^~~~~
| CALLN
command.c:736:54: note: each undeclared identifier is reported only once for each function it appears in
command.c:737:13: error: implicit declaration of function ‘external_free’ [-Wimplicit-function-declaration]
737 | external_free(udf->at);
| ^~~~~~~~~~~~~
Patch:
--- a/src/command.c
+++ b/src/command.c
@@ -732,9 +732,11 @@
if (END_OF_COMMAND)
int_error(c_token, "function definition expected");
udf = add_udf(start_token);
+#ifdef HAVE_EXTERNAL_FUNCTIONS
/* check for redefinition of a function imported as a plugin */
if (udf->at && (udf->at->actions[0].index == CALLE))
external_free(udf->at);
+#endif
/* odd corner case of attempt to redefine a function while executing it */
if (udf->at && udf->at->recursion_depth > 0)
int_error(NO_CARET, "attempt to redefine %s while executing it", udf->udf_name);
good catch.
Thanks