Re: namespace collision [bug]

*To*: mathgroup at smc.vnet.net*Subject*: [mg68741] Re: namespace collision [bug]*From*: "Norbert Marxer" <marxer at mec.li>*Date*: Thu, 17 Aug 2006 04:18:54 -0400 (EDT)*References*: <ebujoc$6k9$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Hello If you use a relative path (i.e. insert ` before "Private`"), i.e. Begin["`Private`"]; twice in your code, then everything should work: funA[5] funB[5] funC[5] will give: 120 you called funB you called funC I hope this is what you wanted. Best Regards Norbert Marxer www.mec.li 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) > > -- > http://chris.chiasson.name/