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: [mg123910] Re: Why does Manipulate leak global symbols? (Potential bug here?)
  • From: David Reiss <dbreiss at gmail.com>
  • Date: Fri, 30 Dec 2011 07:03:13 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jd71p5$140$1@smc.vnet.net> <jdeqc2$8op$1@smc.vnet.net> <jdh6eb$kln$1@smc.vnet.net>

Right. My meaning was slightly fluid -- I meant that it was in the
course of the execution of the Manipulate command, but you are narrow
it down to the display of the Manipulate GUI.

Best,
David

On Dec 29, 2:55 am, Szabolcs Horv=E1t <szhor... at gmail.com> wrote:
> It appears these symbols are created during the formatting (display) of
> the Manipulate object, and not while the Manipulate function runs.
>
> On 2011.12.28. 11:17, David Reiss wrote:
>
>
>
>
> > This is presumably a bug in that what otherwise should be System
> > context (or some other Context) symbols are being placed into the
> > Global Context when they are being defined at the first instance of
> > the use of a Manipulate.   One also comes across this as one uses
> > Mathematica -- not all symbols have been properly contextified: given
> > how many symbols exist, it's amazing that it doesn't happen more
> > often.
>
> > --David
>
> > On Dec 25, 6:35 am, Bill Rowe<readn... at sbcglobal.net>  wrote:
> >> On 12/24/11 at 7:08 AM, szhor... 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.
>
> --
> Szabolcs Horv=E1t
> Mathematica QA site proposal:http://area51.stackexchange.com/proposals/37=
304




  • Prev by Date: Re: Why does Manipulate leak global symbols? (Potential bug here?)
  • Next by Date: Re: beginner question regarding units in equations
  • Previous by thread: Re: Why does Manipulate leak global symbols? (Potential bug here?)
  • Next by thread: Visual C++ 2010 Express compiler not working with Mathematica 8.0.4