This bug is a combination of TclTk and non-TclTk issues. The proximate
'cause' is that TclTk treats all data sent to stderr as real errors.
The current fix in 6.3 involves select.tcl (which now adds @[mapset] to all
selected items -- I don't know if this would or would not break other things
in 6.2), changes to quiet extraneous messages like the one below in some of
the GRASS modules, and changes to mapcanvas.tcl (and many other modules) to
greatly improve error trapping. The latter involves new error trapping
routines in gm.tcl.
I agree with Glynn that the easiest fix is to replace exit with return. This
will simply output the "error" message to the terminal and continue on.
I'm not sure how to put this into 6.2.2. Can you do it Moritz?
Michael
On 10/16/07 5:37 AM, "Glynn Clements" <[EMAIL PROTECTED]> wrote:
>
> Moritz Lennert wrote:
>
>>> I don't know if this is a problem with just my installation (compiled
>>> Debian 6.2.2 package with source code from Debian site) but it seems
>>> that that an important bug which (AFAIK) is fixed in 6.3, is still
>>> present in 6.2.2:
>>>
>>> In spearfish:
>>>
>>> 1) g.copy [EMAIL PROTECTED],fields
>>>
>>> 2) Select 'fields' as vector file to display and in Map Display "Zoom to
>>> selected map".
>>>
>>> => gis.m crashes and in terminal you see:
>>>
>>> WARNING: 'vector/fields' was found in more mapsets (also found in user1).
>>>
>>> If another bugfix release of 6.2 is foreseen can this be backported ?
>>>
>> Re-launching this question since we will begin GIS classes soon with
>> 6.2.2 and I would like to resolve this before.
>>
>> Can someone confirm this bug ? If yes, could someone point me to the fix
>> in 6.3, so that I can at least locally backport it to 6.2.2 ?
>
> In mapcanvas.tcl, proc MapCanvas::zoom_gregion:
>
> 6.2.2:
> if {[catch {close $input} error]} {
> puts $error
> exit
> }
> CVS:
> if {[catch {close $input} error]} {
> Gm::errmsg $error [G_msg "Error setting region"]
> }
>
> The quickest fix is to change "exit" to "return" (Gm::errmsg ends with
> "uplevel 1 return", which causes its caller to return).
>
> BTW, I note that the top of gm.tcl has been modified to catch errors
> and call Gm::errmsg. But Gm::errmsg hasn't been defined at that point.
__________________________________________
Michael Barton, Professor of Anthropology
Director of Graduate Studies
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University
phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton
_______________________________________________
grass-dev mailing list
[email protected]
http://grass.itc.it/mailman/listinfo/grass-dev