(byte-compile-form): Always check the function arguments, whether or

not it has a handler.
This commit is contained in:
Glenn Morris 2009-09-17 07:29:43 +00:00
parent a8106aecf0
commit 88d5190ca2
2 changed files with 9 additions and 6 deletions

View file

@ -1,5 +1,8 @@
2009-09-17 Glenn Morris <rgm@gnu.org>
* emacs-lisp/bytecomp.el (byte-compile-form): Always check the function
arguments, whether or not it has a handler.
* ansi-color.el (ansi-color-get-face-1): Fix typo in handler.
* simple.el (hard-newline): Give it a doc-string.

View file

@ -2980,6 +2980,12 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(memq bytecomp-fn byte-compile-interactive-only-functions)
(byte-compile-warn "`%s' used from Lisp code\n\
That command is designed for interactive use only" bytecomp-fn))
(when (byte-compile-warning-enabled-p 'callargs)
(if (memq bytecomp-fn
'(custom-declare-group custom-declare-variable
custom-declare-face))
(byte-compile-nogroup-warn form))
(byte-compile-callargs-warn form))
(if (and bytecomp-handler
;; Make sure that function exists. This is important
;; for CL compiler macros since the symbol may be
@ -2993,12 +2999,6 @@ That command is designed for interactive use only" bytecomp-fn))
(get (get bytecomp-fn 'byte-opcode)
'emacs19-opcode))))
(funcall bytecomp-handler form)
(when (byte-compile-warning-enabled-p 'callargs)
(if (memq bytecomp-fn
'(custom-declare-group custom-declare-variable
custom-declare-face))
(byte-compile-nogroup-warn form))
(byte-compile-callargs-warn form))
(byte-compile-normal-call form))
(if (byte-compile-warning-enabled-p 'cl-functions)
(byte-compile-cl-warn form))))