summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog20
-rw-r--r--test/inlinetest.rb3
2 files changed, 15 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index e778433726..88bdfc03c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
+Wed May 19 18:00:44 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/inlinetest.rb (InlineTest::loadtest): requiring library with
+ replaced $0 can make $0 == __FILE__ block be evaluated twice.
+ [ruby-dev:23538]
+
Wed May 19 11:08:10 2004 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
- * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from
+ * ext/tk/lib/tk.rb: change permition of TkObject#tk_send from
private to public
Wed May 19 02:29:36 2004 Minero Aoki <aamine@loveruby.net>
@@ -25,26 +31,26 @@ Tue May 18 21:21:43 2004 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>
* CSV::Cell removed. a cell is represented as just a String or
nil(NULL). this change will cause widespread destruction.
- CSV.open("foo.csv", "r") do |row|
- row.each do |cell|
+ CSV.open("foo.csv", "r") do |row|
+ row.each do |cell|
if cell.is_null # Cell#is_null
p "(NULL)"
else
p cell.data # Cell#data
end
- end
+ end
end
must be just;
CSV.open("foo.csv", "r") do |row|
- row.each do |cell|
+ row.each do |cell|
if cell.nil?
p "(NULL)"
else
p cell
end
- end
+ end
end
* lib/csv.rb: [CAUTION] record separator(CR, LF, CR+LF) behavior
@@ -55,7 +61,7 @@ Tue May 18 21:21:43 2004 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>
parameter "r", "w", "rb", and "wb". CSV.parse and CSV.generate open
file with "r" and "w".
- setting mode properly is user's responsibility now.
+ setting mode properly is user's responsibility now.
* lib/csv.rb: accepts String as a fs (field separator/column separator)
and rs (record separator/row separator)
diff --git a/test/inlinetest.rb b/test/inlinetest.rb
index 40819913b5..6b9fdd1dda 100644
--- a/test/inlinetest.rb
+++ b/test/inlinetest.rb
@@ -6,12 +6,12 @@ module InlineTest
if endpart.nil?
raise RuntimeError.new("No #{part} part in the library '#{filename}'")
end
- require(libname)
eval(endpart, TOPLEVEL_BINDING, path, mainpart.count("\n")+1)
end
module_function :eval_part
def loadtest(libname)
+ require(libname)
in_critical do
in_progname(libpath(libname)) do
eval_part(libname, /^(?=if\s+(?:\$0\s*==\s*__FILE__|__FILE__\s*==\s*\$0)(?:[\#\s]|$))/, '$0 == __FILE__')
@@ -21,6 +21,7 @@ module InlineTest
module_function :loadtest
def loadtest__END__part(libname)
+ require(libname)
eval_part(libname, /^__END__$/, '__END__')
end
module_function :loadtest__END__part