mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
ed520cf6e9
* parse.y (parse_qstring): %q should allow terminator escape. * re.c (rb_reg_options): new method to give an option values. * parse.y (cond0): disable special treating of integer literal in conditional unless option -e is supplied. changes current behavior. experimental. * parse.y (cond0): give warning for string/integer literals and dot operators in conditionals unless option -e is supplied. * re.c (rb_reg_equal): all option flags should be same to be equal. * error.c (Init_Exception): make Interrupt a subclass of SignalException. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
33 lines
522 B
Ruby
33 lines
522 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
|
|
v = v.gsub(/\\/) {|s| '\\'+s}
|
|
eval <<EOS
|
|
$#{k} = %q\0#{v}\0
|
|
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
|
|
|