[#2840] Changing Resolv::DNS — Daniel Hobe <daniel@...>
I put out a RCR a while ago (176) that subclassed the Resolv::DNS class to
5 messages
2004/05/01
[#2853] cgi.rb: option to omit HTTP header emission — Jos Backus <jos@...>
I'm trying to use cgi.rb to write HTML-only output. This patch adds a
5 messages
2004/05/06
[#2867] ruby/dl — Jeff Mitchell <quixoticsycophant@...>
# dltest.rb
7 messages
2004/05/12
[#2878] Bug in open-uri under win32 (?) — Mauricio Fern疣dez <batsman.geo@...>
4 messages
2004/05/16
[#2894] RI for distribution — why the lucky stiff <ruby-core@...>
Hi, everyone.
6 messages
2004/05/18
[#2901] test/yaml/test_yaml.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Hello.
2 messages
2004/05/19
[#2913] [yaml] YAML.load([1,2,3].to_yaml.to_yaml) — Jeff Mitchell <quixoticsycophant@...>
A bit contrived,
8 messages
2004/05/20
[#2926] Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml)
— "daz" <dooby@...10.karoo.co.uk>
2004/05/23
[#2927] Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml)
— ts <decoux@...>
2004/05/23
>>>>> "d" == daz <dooby@d10.karoo.co.uk> writes:
[#2928] Syck CVS (was Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml))
— why the lucky stiff <ruby-core@...>
2004/05/23
ts wrote:
[#2929] Re: Syck CVS (was Re: [bug] [yaml] YAML.load([1,2,3].to_yaml.to_yaml))
— ts <decoux@...>
2004/05/23
>>>>> "w" == why the lucky stiff <ruby-core@whytheluckystiff.net> writes:
[#2918] fixed SIG_SEGV in check_stack() in eval.c — b g <bg_rubyposter_123456@...>
I was getting a crash at 'JUMP_TAG(state);' in
6 messages
2004/05/22
[#2938] -Wstrict-prototypes for extensions — Jeff Mitchell <quixoticsycophant@...>
6 messages
2004/05/25
Another bug in fileutils.rb
From:
Johan Holmberg <holmberg@...>
Date:
2004-05-04 16:36:40 UTC
List:
ruby-core #2843
Hi !
Many methods in FileUtils take either an array of arguments or a
single scalar argument. To handle this, the internal method
'fu_list' naively uses the Kernel.Array method. For a string this
means (as far as I can understand):
Kernel.Array --> Enumerable.to_a --> String.each
Considering that:
- String.each returns the *records* (normally lines) of the
string
- On UNIX filenames are allowed to contain newlines
it is obvious that many FileUtils methods don't work as expected
on such weird filenames. For example: the call to
FileUtils.rmdir "abc\ndef"
removed the two directories "abc\n" and "def", *not* the directory
"abc\ndef" as it is supposed to do.
Below is a patch that I think fixeshe problem, and an added
test to the test-suite that demonstrates the problem
(the diffs are compared with the latest in CVS).
I have made the test so it is not executed on Windows, since
newlines are not allowed in filenames there.
Is this a reasonable change ?
/Johan Holmberg
------------------------------------------------------------------------------
Index: lib/fileutils.rb
===================================================================
RCS file: /src/ruby/lib/fileutils.rb,v
retrieving revision 1.41
diff -u -r1.41 fileutils.rb
--- lib/fileutils.rb 7 Apr 2004 02:51:05 -0000 1.41
+++ lib/fileutils.rb 4 May 2004 15:48:19 -0000
@@ -717,7 +717,7 @@
end
def fu_list(arg)
- Array(arg).map {|path| File.path(path) }
+ (arg.is_a?(Array) ? arg : [arg]).map {|path| File.path(path) }
end
def fu_each_src_dest(src, dest)
Index: test/fileutils/test_fileutils.rb
===================================================================
RCS file: /src/ruby/test/fileutils/test_fileutils.rb,v
retrieving revision 1.21
diff -u -r1.21 test_fileutils.rb
--- test/fileutils/test_fileutils.rb 2 May 2004 12:57:31 -0000 1.21
+++ test/fileutils/test_fileutils.rb 4 May 2004 15:48:20 -0000
@@ -537,6 +537,13 @@
mkdir Pathname.new('tmp/tmpdirtmp')
mkdir [Pathname.new('tmp/tmpdirtmp2'), Pathname.new('tmp/tmpdirtmp3')]
}
+
+ if /mswin/ !~ RUBY_PLATFORM
+ # newlines not allowed in filenames on Windows, but it's ok on UNIX
+ mkdir "tmp-first-line\ntmp-second-line"
+ assert_directory "tmp-first-line\ntmp-second-line"
+ Dir.rmdir "tmp-first-line\ntmp-second-line"
+ end
end
def test_mkdir_p
------------------------------------------------------------------------------