path: root/lib/importenv.rb
diff options
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-02-08 09:19:27 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-02-08 09:19:27 +0000
commited520cf6e96dcae2b7900127e325fcea1f4abc26 (patch)
tree89c098f2e02099588c8b4f74fbb8e37c15045d49 /lib/importenv.rb
parentb576f57aa02c4983eeb081f625c45b9445c50538 (diff)
* parse.y (parse_quotedwords): %w should allow parenthesis escape.
* 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:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/importenv.rb')
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/importenv.rb b/lib/importenv.rb
index fcf306a..abf1c30 100644
--- a/lib/importenv.rb
+++ b/lib/importenv.rb
@@ -9,11 +9,12 @@
for k,v in ENV
next unless /^[a-zA-Z][_a-zA-Z0-9]*/ =~ k
+ v = v.gsub(/\\/) {|s| '\\'+s}
eval <<EOS
- $#{k} = %q!#{v}!
+ $#{k} = %q\0#{v}\0
trace_var "$#{k}", proc{|v|
- ENV[%q!#{k}!] = v;
- $#{k} = %q!#{v}!
+ ENV[%q!#{k}!] = v
+ $#{k} = v
if v == nil
untrace_var "$#{k}"