ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/util.tcl
Revision: 2.3
Committed: Fri Dec 9 14:17:47 1994 UTC (29 years, 3 months ago) by greg
Content type: application/x-tcl
Branch: MAIN
Changes since 2.2: +6 -1 lines
Log Message:
made it so editors like emacs open their own window

File Contents

# User Rev Content
1 greg 2.1 # SCCSid "$SunId$ LBL"
2     #
3     # General utility routines
4     #
5    
6     proc beep {} { # ring the bell
7     puts -nonewline stderr "\a"
8     }
9    
10     proc view_txt fn { # view a text file
11     global env
12     if [info exists env(EDITOR)] {
13 greg 2.3 if {[lsearch -exact {vi vedit view ex edit ed red} \
14     [file tail [lindex $env(EDITOR) 0]]] >= 0} {
15     eval exec xterm +sb -e $env(EDITOR) $fn
16     } else {
17     eval exec $env(EDITOR) $fn
18     }
19 greg 2.1 } else {
20     foreach f $fn {
21     exec xedit $f
22     }
23     }
24     }
25    
26     proc cardval {var cvl} { # set variable to one of a set of values
27     upvar $var v
28     set tv [string toupper $v]
29     foreach cv $cvl {
30     if {[string first $tv [string toupper $cv]] == 0} {
31     set v $cv
32     return $cv
33     }
34     }
35     return {} ; # this would seem to be an error
36     }
37 greg 2.2
38     proc writevars {f vl} { # write variables to a file
39     foreach v $vl {
40     upvar $v myv
41     if [catch {set il [array names myv]}] {
42     puts $f "set $v [list $myv]"
43     } else {
44     foreach i $il {
45     puts $f "set ${v}($i) [list $myv($i)]"
46     }
47     }
48     }
49     }