Greetings,
Mac OS X allows the use of special/reserved characters in file names such as the exclamation mark ("!") and the space character (" ").
This was causing gis_set.tcl and other Tcl scripts to choke using the native Aqua Tcl/Tk interface when encountering a file with illegal unix characters.
It turns out the most elegant solution I could come up with was to create a wrapper for the "ls" command to escape the exclamation marks and to wrap the filename in quotes to compensate for spaces and other special characters.
The wrapper is a shell script using awk and sed, and then I simply changed occurrences of "ls -a" with "lsWrap -a" and so on. I can supply patches if anyone is interested.
Here's the wrapper:
lsWrap:
#!/bin/sh
/bin/ls -1 $* | awk '{print "\"" $0 "\"" }' | sed s/\!/\\\\!/g
I suppose that it could be implemented inline, however I am not familiar enough with Tcl/Tk to make the attempt. It also seems that it's best to have it in one place.
I am also trying to fix these errors:
Starting GRASS ...
: command not foundtc/Init.sh:
These errors are being caused by:
puts stdout "GISDBASE='$database'; export GISDBASE;"
puts stdout "LOCATION_NAME='$location'; export LOCATION_NAME;"
puts stdout "MAPSET='$mapset'; export MAPSET;"
If I change stdout to stderr, everything looks normal:
set GISDBASE='/Users/jeshua'; export GISDBASE;
I don't get any errors when I remove the export part such as:
puts stdout "GISDBASE='$database'"
If I include the semicolon, I get the error:
: command not foundtc/Init.sh:
I suppose this is a bug with the Aqua port of Tcl/Tk 8.4.2.
What is the grass tcltk script trying to accomplish here? Just setting the environment variables and exporting them?
Also I am getting:
ERROR: Invalid return code from gis_set.tcl.
Please advise GRASS developers of this error.
Welcome to GRASS 5.0.1 (January 2003)
The 'gis_set' result is 127. Everything seems to work fine, do you think the error is anything to be concerned about?
I am also trying to fix the "console 1 bug" OS X Aqua Tcl/Tk 8.4.x bug, and thought I should get rid of all the errors/warnings first.
Thanks,
Jeshua Lacock __________________________
Programmer/Owner Phone: 760.935.4736
http://OpenOSX.com Fax: 760.935.4845
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_