Subject: Re: bug#17379: 24.3.90.1 pretest: (ag-get-arg 0) somehow returns nil in the middle of advice

From: Stefan Monnier <[email-masked]>
Date: Wed, 30 Apr 2014 23:54:48 -0400

tags 17379 wontfix
thanks

> Ok the repro steps are very specific.  I've tried to make a simpler
> repro, but could not with the time I had.
> The important 2 line of code is here:
> https://github.com/lewang/flx/blob/test-bug-report/flx-ido.el#L226-227
> The advice around it is very basic.  The only interesting thing is
> after (setq test (ad-get-arg 0))
> test is nil, but original-items is correct.

The arglist of ido-set-matches-1 is (items &optional do-full), so
(ad-get-arg 0) is `items', which you have rebound to nil.

AFAICT, this bug is very old.  And, AFAICT, you can't fix it without
breaking backward compatibility.  The new advice mechanism in 24.4
(i.e. advice-add) does not suffer from these problems, tho.

        Stefan