diff options
author | Alan Mackenzie <acm@muc.de> | 2022-10-29 13:21:39 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2022-10-29 13:21:39 +0000 |
commit | 31e7b9c073bd0dddedb90a1ff882dc78ff33315c (patch) | |
tree | 5a635ab618cd95588d43624e53112fe54202950c /test/lisp/emacs-lisp/memory-report-tests.el | |
parent | 174dd064643e9487c0fa1460727d0935a60b3646 (diff) | |
download | emacs-31e7b9c073bd0dddedb90a1ff882dc78ff33315c.tar.gz emacs-31e7b9c073bd0dddedb90a1ff882dc78ff33315c.tar.bz2 emacs-31e7b9c073bd0dddedb90a1ff882dc78ff33315c.zip |
Fix the subr-arity returned by native compiled functions with lots of args
This fixes bug #58739. Make subr-arity return, e.g., (12 . 12) rather than
(12 . many) for a function with a fixed number of arguments more than 8.
* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Only return a cdr
of 'many when there are &rest arguments.
* src/eval.c (eval_sub): Also check for a fixed number of args over 8 when
using the nargs + *args calling convention.
(funcall_subr): Also check numargs <= 8 before using the fixed args calling
convention. Include the case numargs > 8 in the aMany calling convention.
* src/lisp.h (DEFUN): Amend the comment about MANY.
Diffstat (limited to 'test/lisp/emacs-lisp/memory-report-tests.el')
0 files changed, 0 insertions, 0 deletions