MathGroup Archive 2011

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

Search the Archive

Re: Why does Manipulate leak global symbols? (Potential bug here?)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123864] Re: Why does Manipulate leak global symbols? (Potential bug here?)
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Sun, 25 Dec 2011 06:33:49 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

On 12/24/11 at 7:08 AM, szhorvat at gmail.com (Szabolcs) wrote:

>It appears that in Mathematica 8, using Manipulate will create some
>symbols in the global context.  Let me illustrate:

>First, I use this to monitor the contents of Global` in real time:

>Dynamic@Refresh[Sort@Names["Global`*"], UpdateInterval -> 2]

>Then I evaluate Manipulate[n, {n, 1, 10}]

>Note that the following unexpected symbols have been added to the
>Global` context: BitDepth, FullScreenArea, Resolution, ScreenArea
>
>Why does this happen?  Is it a bug?  Can it cause any problems (e.g.
>if I have defined BitDepth before using Manipulate, in the belief
>that there's no such builtin)?

I can't answer as to why this happens. But I doubt that it is a
bug and it seems to have no conflict with things you define.
That is, if I first do

BitDepth=2;

then execute the code you posted in a fresh session, the value I
assigned to BitDepth is unchanged. Alternatively, if I start a
fresh session, execute the code above then type BitDepth in a
new cell, I see BitDepth is colored consistent as any undefined
symbol would be.

>This makes me feel a bit insecure.  I am not sure if I might
>inadvertently break something by defining those symbols, thinking
>that they're not used by Mathematica (since they're syntax-coloured
>blue).

It seems the best way to ensure no conflicts could occur is to
simply use a lower case letter as the first letter of the name
of anything you create.




  • Prev by Date: Re: remove tick labels
  • Next by Date: Re: Create a Windows 7 Screen Saver from a Mathematica Animation
  • Previous by thread: Why does Manipulate leak global symbols? (Potential bug here?)
  • Next by thread: Errors when using ParallelTable with compiled functions