Re: [Rd] dubious behaviour of match.arg() with nested functions.

2014-08-26 Thread Joris Meys
Dear all, thank you for the explanations, crystal clear now. I'm also officially an idiot. Functions in files in a package belong to that package and not to some other package that happens to appear in the name of said function. Ah, the merits of inheritance (inheriting a complex code base in this

Re: [Rd] dubious behaviour of match.arg() with nested functions.

2014-08-25 Thread Berend Hasselman
On 25-08-2014, at 16:27, Joris Meys wrote: > Dear all, > > I initially ran into this problem while rebuilding a package dependent on > nleqslv. I got the following error: > > Error in match.arg(global) : 'arg' must be of length 1 > > This didn't occur in previous versions of nleqslv, but did

Re: [Rd] dubious behaviour of match.arg() with nested functions.

2014-08-25 Thread peter dalgaard
On 25 Aug 2014, at 16:27 , Joris Meys wrote: > Dear all, > > I initially ran into this problem while rebuilding a package dependent on > nleqslv. I got the following error: > > Error in match.arg(global) : 'arg' must be of length 1 > > This didn't occur in previous versions of nleqslv, but di

Re: [Rd] dubious behaviour of match.arg() with nested functions.

2014-08-25 Thread Gabriel Becker
More specifically, you're satisifying and not satisfying if (identical(arg, choices)) return(arg[1L]) within the definition of match.args for x, and global, respectively. arg is what is passed to the function (outer default) but choices isn't specified so match.args uses nonstandard

Re: [Rd] dubious behaviour of match.arg() with nested functions.

2014-08-25 Thread Hadley Wickham
This is one of the perils of non-standard evaluation - functions are no longer referentially transparent. Hadley On Mon, Aug 25, 2014 at 9:27 AM, Joris Meys wrote: > Dear all, > > I initially ran into this problem while rebuilding a package dependent on > nleqslv. I got the following error: > >

[Rd] dubious behaviour of match.arg() with nested functions.

2014-08-25 Thread Joris Meys
Dear all, I initially ran into this problem while rebuilding a package dependent on nleqslv. I got the following error: Error in match.arg(global) : 'arg' must be of length 1 This didn't occur in previous versions of nleqslv, but did in the current one (2.4). I think I pinned the problem down to