diff --git a/ChangeLog b/ChangeLog index d96f8a916b..086e091719 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon May 15 15:38:09 2000 Yukihiro Matsumoto + + * dir.c (glob): trailing path may be null, e.g. glob("**"). + +Mon May 15 01:18:20 2000 Yukihiro Matsumoto + + * io.c (rb_io_s_popen): _exit after Proc execution. + Sun May 14 18:05:59 2000 WATANABE Hirofumi * Makefile.in: missing/nt.c -> win32/win32.c @@ -32,6 +40,10 @@ Sun May 14 00:54:43 2000 WATANABE Hirofumi * io.c: should check _IOBIN, O_BINARY, not PLATFORMs. +Sat May 13 14:21:15 2000 Koji Arai + + * io.c (rb_io_s_popen): should check whether a block is given. + Fri May 12 17:33:44 2000 Yukihiro Matsumoto * regex.c (re_compile_pattern): charset_not should not exclude diff --git a/dir.c b/dir.c index 40a6b8cc28..5b95fcde4a 100644 --- a/dir.c +++ b/dir.c @@ -589,7 +589,7 @@ glob(path, func, arg) else dir = base; magic = extract_elem(p); - if (strcmp(magic, "**") == 0) { + if (m && strcmp(magic, "**") == 0) { recursive = 1; buf = ALLOC_N(char, strlen(base)+strlen(m)+3); sprintf(buf, "%s%s%s", base, (*base)?"":".", m); diff --git a/ext/Setup b/ext/Setup index 830a5095ca..6e178d6ae1 100644 --- a/ext/Setup +++ b/ext/Setup @@ -10,6 +10,6 @@ #pty #sdbm #socket -#tkutil -#tcltklib +tk +tcltklib #gtk diff --git a/ext/md5/extconf.rb b/ext/md5/extconf.rb new file mode 100644 index 0000000000..a57a976a39 --- /dev/null +++ b/ext/md5/extconf.rb @@ -0,0 +1,3 @@ +require 'mkmf' +$CFLAGS += " -DHAVE_CONFIG_H" +create_makefile('md5') diff --git a/io.c b/io.c index 075644abeb..af011b3a02 100644 --- a/io.c +++ b/io.c @@ -1592,12 +1592,15 @@ rb_io_s_popen(argc, argv, self) Check_SafeStr(pname); port = pipe_open(RSTRING(pname)->ptr, mode); if (NIL_P(port)) { + /* child */ if (!NIL_P(proc)) { rb_eval_cmd(proc, rb_ary_new2(0)); + _exit(0); } - else { - rb_yield(port); + else if (rb_iterator_p()) { + rb_yield(Qnil); } + return Qnil; } else if (rb_iterator_p()) { return rb_ensure(rb_yield, port, rb_io_close, port); diff --git a/pack.c b/pack.c index 757d841fcc..028bedd01b 100644 --- a/pack.c +++ b/pack.c @@ -1623,7 +1623,7 @@ pack_unpack(str, fmt) case 'w': { unsigned long ul = 0; - unsigned long ulmask = 0xfe << ((sizeof(unsigned long) - 1) * 8); + unsigned long ulmask = 0xfeL << ((sizeof(unsigned long) - 1) * 8); while (len > 0 && s < send) { ul <<= 7; diff --git a/version.h b/version.h index f94e6aa0b4..e6a037c885 100644 --- a/version.h +++ b/version.h @@ -1,4 +1,4 @@ #define RUBY_VERSION "1.5.4" -#define RUBY_RELEASE_DATE "2000-05-14" +#define RUBY_RELEASE_DATE "2000-05-15" #define RUBY_VERSION_CODE 154 -#define RUBY_RELEASE_CODE 20000514 +#define RUBY_RELEASE_CODE 20000515