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/