Using Notebooks to write packages?

*To*: mathgroup at smc.vnet.net*Subject*: [mg66852] Using Notebooks to write packages?*From*: "Steven T. Hatton" <hattons at globalsymmetry.com>*Date*: Thu, 1 Jun 2006 06:55:33 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

I have encountered a problem while working with packages in which a package needed when loading the one I'm creating will produce a shadow warning. For example if I have BeginPackage["Drawing`", {"Graphics`Arrow`"}] DrawGrid::usage = "DrawGrid[\[Theta],X,Y,origin, options]"; .... Begin["`Private`"] .... DrawGrid[theta_, X_, Y_, o_, opts___?OptionQ] := Module[{dx = UR[theta], dy = UR[theta + Pi/2], Dx, mXColor, mYColor}, mXColor = xColor /. {opts} /. Options[DrawGrid]; mYColor = yColor /. {opts} /. Options[DrawGrid]; Dx = {o, X dx}; Dy = {o, Y dy}; {{mXColor ,{Dashing[{0.01}] , Table[Line[{Dx[[1]] + #, Dx[[2]] + #} &@(y dy)], {y, 0, Y}] } , Arrow[o, dx, HeadScaling -> Relative] } ,{mYColor ,{Dashing[{0.01}] ,Table[Line[{Dy[[1]] + #, Dy[[2]] + #} &@(x dx)], {x, 0, X}] } ,Arrow[o, dy, HeadScaling -> Relative] } } ] End[] EndPackage[] I get a shadow warning saying that Arrow and HeadScaling are in multiple contexts; global and Graphics`Arrow`. I checked before loading the package, and they were not present in global scope. I tried creating a very minimal package along the same lines, and using Graphics`Arrow`, and I didn't get the warning. I then took all the code I had written and rewrote it using Emacs, and saved it as a .m file. No more warning. This is on Linux. Has anybody else encountered this kind of problem? I'm inclined to believe the problem has to do with the fact that I created the package using the Notebook front end. It doesn't happen every time I create a package using the front end, but I have not identified any kind of pattern. -- http://www.mathematica-users.org/ http://www.ifi.unizh.ch/math/bmwcs/master.html http://www.w3.org/Math/ http://230nsc1.phy-astr.gsu.edu/hbase/hframe.html