mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
df2d69b49a
based on ruby_frame->iter altered by PUSH_ITER(). * eval.c (rb_thread_fd_close): should save current context before raising exception. * io.c (set_stdin): preserve original stdin. * io.c (set_outfile): preserve original stdout/stderr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
31 lines
480 B
Ruby
31 lines
480 B
Ruby
# importenv.rb -- imports environment variables as global variables, Perlish ;(
|
|
#
|
|
# Usage:
|
|
#
|
|
# require 'importenv'
|
|
# p $USER
|
|
# $USER = "matz"
|
|
# p ENV["USER"]
|
|
|
|
for k,v in ENV
|
|
next unless /^[a-zA-Z][_a-zA-Z0-9]*/ =~ k
|
|
eval <<EOS
|
|
$#{k} = v
|
|
trace_var "$#{k}", proc{|v|
|
|
ENV[%q!#{k}!] = v
|
|
$#{k} = v
|
|
if v == nil
|
|
untrace_var "$#{k}"
|
|
end
|
|
}
|
|
EOS
|
|
end
|
|
|
|
if __FILE__ == $0
|
|
p $TERM
|
|
$TERM = nil
|
|
p $TERM
|
|
p ENV["TERM"]
|
|
$TERM = "foo"
|
|
p ENV["TERM"]
|
|
end
|