MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: namespace collision [bug]


Hi,

can you start the Private context correctly ??
before you found a "bug" ?? the correct way is
Begin["`Private`"]

and *not*
 > Begin["Private`"];

notice the back quote *before* the "`Private`"
and
BeginPackage["A`"];
funA::usage = "";
Begin["`Private`"];
funA[funB_] := funB!;
End[];
EndPackage[];
BeginPackage["B`"];
Off[General::spell1];
funB::usage = "";
funC::usage = "";
Begin["`Private`"];
funB[_] := "you called funB";

funC[_] := "you called funC";
End[];
EndPackage[];

work as it should.

Regards
   Jens

Chris Chiasson wrote:
> As far as I know, a named pattern created inside the A`Private`
> context should not interfere with the definition of a symbol with the
> same name from B`. Will someone verify this as a bug? Will someone
> please provide a workaround?
> 
> In[1]:=
> BeginPackage["A`"];
> funA::usage="";
> Begin["Private`"];
> funA[funB_]:=funB!;
> End[];
> EndPackage[];
> BeginPackage["B`"];
> Off[General::spell1];
> funB::usage="";
> funC::usage="";
> Begin["Private`"];
> funB[_]:="you called funB";
> funC[_]:="you called funC";
> End[];
> EndPackage[];
> 
> In[16]:=
> funB[5]
> 
> Out[16]=
> funB[5]
> 
> In[17]:=
> funC[5]
> 
> Out[17]=
> you called funC
> 
> In[18]:=
> $Version
> 
> Out[18]=
> 5.2 for Microsoft Windows (June 20, 2005)
> 


  • Prev by Date: RE: perplexed by blank sequence in pattern replacement
  • Next by Date: Re: Equal represented as HTML HEX entity number 63449 - is that correct?
  • Previous by thread: Re: namespace collision [bug]
  • Next by thread: Re: namespace collision [bug]