[GRASS-dev] Re: gis.m: font selection in module panels
Michael Barton
michael.barton at asu.edu
Mon May 21 22:47:12 EDT 2007
I'll just have to put a catch around it. But it bothers me not knowing why
this is a problem with Windows TclTk.
Michael
On 5/21/07 7:34 PM, "Glynn Clements" <glynn at gclements.plus.com> wrote:
>
> Moritz Lennert wrote:
>
>>> For when you get up tomorrow.
>>>
>>> Try this for the entire if clause
>>>
>>> if {![info exists env(GRASS_FONT)]} {
>>> set fontindex -1
>>> } elseif {$env(GRASS_FONT) != ""} {
>>> set fontindex [lsearch $fontlist $env(GRASS_FONT)]
>>> if {$fontindex > -1} {
>>> $fontlb selection set $fontindex
>>> $fontlb see $fontindex
>>> }
>>> }
>>>
>>
>>
>> Doesn't work, but I'm getting closer to identifying the problem:
>> Going back to the original version and just erasing the second part of the
>> if clause, I now notice (a bit more awake than yesterday) that I still get
>> an error message, but not the same:
>>
>> can't read "env(GRASS_FONT)": no such variable
>> can't read "env(GRASS_FONT)": no such variable
>> while executing
>> "lsearch $fontlist $env(GRASS_FONT)"
>> (procedure "Gm:DefaultFont" line 27)
>> invoked from within
>> "Gm:DefaultFont dbarscale"
>> (procedure "GmDtext::set_font" line 5)
>> invoked from within
>> "GmDtext::set_font 1"
>> ("uplevel" body line 1)
>> invoked from within
>> "uplevel \#0 $cmd"
>> (procedure "Button::_release" line 18)
>> invoked from within
>> "Button::_release .mainframe.frame.pw1.f1.frame.sw.sf.frame.fr.fontopt1.b"
>> (command bound to event)
>>
>> So actually the problem is not the 'if exists' clause, but it's
>> '$env(GRASS_FONT)'. For some reason, it seems like it does not recognize
>> env() as the function it is, but rather it tries to get the content of a
>> variable name 'env(GRASS_FONT)'. GRASS_FONT is recognized as existing,
>> since it passes the test 'if {[info exists env(GRASS_FONT)]}'.
>
> I can only conclude that "info exists ..." doesn't do what you want
> when applied to array elements.
>
> You could try catching the error, and dumping out "env" with
> "array get env" to see if that provides any clues.
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
More information about the grass-dev
mailing list