summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-20 07:36:01 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-20 07:36:01 +0000
commitc8c55db68ae5d78d6926b160f5472712cf68993f (patch)
tree7c38bc0ddd8cb0b16d2f0bca9075afb8f8034d51
parente0c5eed65c3b6c4cfb2a922286b1be792ddac58b (diff)
* io.c (rb_io_putc): output via rb_io_write().
* re.c (rb_reg_initialize_m): frozen check should be moved here from rb_reg_initialize(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog9
-rw-r--r--ToDo1
-rw-r--r--io.c22
-rw-r--r--re.c6
4 files changed, 17 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index f3d2a8e25c..28e94601b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Aug 20 12:12:25 2002 Tietew <tietew@tietew.net>
+
+ * io.c (rb_io_putc): output via rb_io_write().
+
Mon Aug 19 19:01:55 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* misc/inf-ruby.el (inf-ruby-keys): ruby-send-definition
@@ -11,6 +15,11 @@ Mon Aug 19 19:01:55 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* misc/inf-ruby.el (ruby-send-terminator): added to make unique
terminator.
+Mon Aug 19 17:08:19 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * re.c (rb_reg_initialize_m): frozen check should be moved here
+ from rb_reg_initialize().
+
Mon Aug 19 15:38:44 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (sort_2): comparison should be done as signed long.
diff --git a/ToDo b/ToDo
index 3d5e79436b..3b03b417fb 100644
--- a/ToDo
+++ b/ToDo
@@ -35,6 +35,7 @@ Language Spec.
* selector namespace - something like generic-flet in CLOS, to help RubyBehevior
* private instance variable (as in Python?) @_foo in class Foo => @_Foo_foo
* warn/error "bare word" method, like "foo", you should type "foo()"
+* clarify evaluation order of operator argument (=~, .., ...)
Hacking Interpreter
diff --git a/io.c b/io.c
index 8edc5651b6..32203dca49 100644
--- a/io.c
+++ b/io.c
@@ -2381,24 +2381,10 @@ static VALUE
rb_io_putc(io, ch)
VALUE io, ch;
{
- OpenFile *fptr;
- FILE *f;
- int c = NUM2CHR(ch);
-
- rb_secure(4);
- GetOpenFile(io, fptr);
- rb_io_check_writable(fptr);
- f = GetWriteFile(fptr);
-
- if (fputc(c, f) == EOF)
- rb_sys_fail(fptr->path);
- if (fptr->mode & FMODE_SYNC) {
- io_fflush(f, fptr);
- }
- else {
- fptr->mode |= FMODE_WBUF;
- }
-
+ char c[2];
+ c[0] = NUM2CHR(ch);
+ c[1] = '\0';
+ rb_io_write(io, rb_str_new(c, 1));
return ch;
}
diff --git a/re.c b/re.c
index 94cefa4bbc..1dc41528a9 100644
--- a/re.c
+++ b/re.c
@@ -959,9 +959,6 @@ rb_reg_initialize(obj, s, len, options)
{
struct RRegexp *re = RREGEXP(obj);
- if (OBJ_FROZEN(obj)) {
- rb_error_frozen("Regexp");
- }
if (re->ptr) re_free_pattern(re->ptr);
if (re->str) free(re->str);
re->ptr = 0;
@@ -1161,6 +1158,9 @@ rb_reg_initialize_m(argc, argv, self)
}
}
+ if (OBJ_FROZEN(self)) {
+ rb_error_frozen("Regexp");
+ }
src = argv[0];
if (TYPE(src) == T_REGEXP) {
rb_reg_check(src);