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 #12 received at 20457 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: rgm <at> gnu.org, 20457 <at> debbugs.gnu.org
Subject: Re: bug#20457: compiler does not warn about arglist mismatch with
 obsolete alias
Date: Fri, 28 May 2021 09:26:39 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Fri, 28 May 2021 02:30:38 +0200
> Cc: 20457 <at> debbugs.gnu.org
> 
> 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?

Stefan?




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.