GNU bug report logs -
#20457
compiler does not warn about arglist mismatch with obsolete alias
Previous Next
Full log
Message #12 received at 20457 <at> debbugs.gnu.org (full text, mbox):
> 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.