GNU bug report logs - #20457
compiler does not warn about arglist mismatch with obsolete alias

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Wed, 29 Apr 2015 07:09:01 UTC

Severity: normal

Found in version 24.5

Full log


Message #9 received at 20457 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 20457 <at> debbugs.gnu.org
Subject: Re: bug#20457: compiler does not warn about arglist mismatch with
 obsolete alias
Date: Fri, 28 May 2021 02:30:38 +0200
Glenn Morris <rgm <at> gnu.org> writes:

> warns about oldfunc being obsolete:
>
>   In blah:
>   foo.el:6:8:Warning: `oldfunc' is an obsolete function (as of 25.1); use
>       `newfunc' instead.
>
> however, it says nothing about blah calling oldfunc with the wrong
> number of arguments, which leads to a runtime error.

The problem seems to be more general than that -- it doesn't warn about
the wrong number of arguments, ever, if using aliases?

Test case:

(defun foo ())
(defalias 'bar 'foo)
(defun zot ()
  (bar t))
(defun foobar ()
  (foo t))


----
Compiling file /tmp/warn.el at Fri May 28 02:26:55 2021

In foobar:
warn.el:6:4: Warning: foo called with 1 argument, but accepts only 0
----

Note -- no warning from the zot function.

It seems so odd that nobody has pointed this out before, so I'm
wondering if I'm just doing something obviously wrong in this test
case.  Anybody?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.