aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2015-11-28 13:59:12 +0200
committerEli Zaretskii2015-11-28 13:59:12 +0200
commita63d1eca8de317b85e59732f8628eae52250901a (patch)
tree320e684dd02e2943cb6b7e1d5d113ce22ce7e562 /src
parentb527d609d9da61497ba10e0c5fe7c6a3eb7ba7d0 (diff)
downloademacs-a63d1eca8de317b85e59732f8628eae52250901a.tar.gz
emacs-a63d1eca8de317b85e59732f8628eae52250901a.zip
Don't reject module calls with no arguments
* src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
Diffstat (limited to 'src')
-rw-r--r--src/emacs-module.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 76c9098bab3..403e7d24d3e 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -777,13 +777,14 @@ DEFUN ("module-load", Fmodule_load, Smodule_load, 1, 1, 0,
777DEFUN ("internal--module-call", Finternal_module_call, Sinternal_module_call, 2, 2, 0, 777DEFUN ("internal--module-call", Finternal_module_call, Sinternal_module_call, 2, 2, 0,
778 doc: /* Internal function to call a module function. 778 doc: /* Internal function to call a module function.
779ENVOBJ is a save pointer to a module_fun_env structure. 779ENVOBJ is a save pointer to a module_fun_env structure.
780ARGLIST is a list of arguments passed to SUBRPTR. */) 780ARGLIST is a list of arguments passed to SUBRPTR, or nil. */)
781 (Lisp_Object envobj, Lisp_Object arglist) 781 (Lisp_Object envobj, Lisp_Object arglist)
782{ 782{
783 CHECK_TYPE (SAVE_VALUEP (envobj), Qsave_value_p, envobj); 783 CHECK_TYPE (SAVE_VALUEP (envobj), Qsave_value_p, envobj);
784 struct Lisp_Save_Value *save_value = XSAVE_VALUE (envobj); 784 struct Lisp_Save_Value *save_value = XSAVE_VALUE (envobj);
785 CHECK_TYPE (save_type (save_value, 0) == SAVE_POINTER, Qsave_pointer_p, envobj); 785 CHECK_TYPE (save_type (save_value, 0) == SAVE_POINTER, Qsave_pointer_p, envobj);
786 CHECK_CONS (arglist); 786 if (!NILP (arglist))
787 CHECK_CONS (arglist);
787 struct module_fun_env *envptr = XSAVE_POINTER (envobj, 0); 788 struct module_fun_env *envptr = XSAVE_POINTER (envobj, 0);
788 EMACS_INT len = XFASTINT (Flength (arglist)); 789 EMACS_INT len = XFASTINT (Flength (arglist));
789 eassume (0 <= envptr->min_arity); 790 eassume (0 <= envptr->min_arity);