
Wrong number of arguments in inlining function calls (to `defsubst` or explicitly using `inline`) did not result in warnings, or in very cryptic ones. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Add calls to `byte-compile--check-arity-bytecode`. * lisp/emacs-lisp/bytecomp.el (byte-compile-emit-callargs-warn) (byte-compile--check-arity-bytecode): New functions. (byte-compile-callargs-warn): Use factored-out function. * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el: * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-callargs-defsubst.el"): New test case.
5 lines
150 B
EmacsLisp
5 lines
150 B
EmacsLisp
;;; -*- lexical-binding: t -*-
|
|
(defsubst warn-callargs-defsubst-f1 (_x)
|
|
nil)
|
|
(defun warn-callargs-defsubst-f2 ()
|
|
(warn-callargs-defsubst-f1 1 2))
|