Am 26.10.2018 um 20:36 schrieb Allin Cottrell:
On Fri, 26 Oct 2018, Sven Schreiber wrote: 

Again, I'm not saying these artificial cases have to be caught, just adding this example for completeness.

OK. But I'd say that what now happens with your example in git is correct. Within exlag(), the user-function LRM() is masked by the series-name LRM; the function is ignored and the first lag of LRM is created.

Is it? OK, I wasn't completely aware of that implication. Very good.

If that's not what "you" (hypothetical function-writer) wanted, then don't use varnames() on series you got via a list; you can't be sure that these names won't collide with other stuff -- not only functions, but variables of type other than series that you have defined. That's the point of the "List.$i" syntax.

I guess if we wanted to get very nanny-ish about this we could figure out a way to make varnames() fail on series whose names you're not supposed to have access to inside a function.

No no, no need.