U:RDoc::TopLevel[ iI"ChangeLog-0.60_to_1.1:EFcRDoc::Parser::ChangeLogo:RDoc::Markup::Document : @parts[S:RDoc::Markup::Heading: leveli: textI"ChangeLog-0.60_to_1.1;To:RDoc::Markup::BlankLineS; ; i; I"1997-08-12;T@ S; ; i; I"FTue Aug 12 16:02:18 1997 Yukihiro Matsumoto ;T@ o:RDoc::Markup::List: @type: NOTE: @items[o:RDoc::Markup::ListItem: @labelI"variable.c;T;[o:RDoc::Markup::Paragraph;[I"goption variables: $-0, $-p(readonly), $-v, $-I(load_path), $-a(readonly), $-K, $-d, $-F, $-i, $-l.;To;;I"parse.y (yylex);T;[o;;[I"+ignore rd (ruby document) in the code.;TS; ; i; I"1997-08-11;T@ S; ; i; I"FMon Aug 11 12:37:58 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (Init_Regexp);T;[o;;[I" $-K as alias to the $KCODE.;To;;I"io.c (Init_IO);T;[o;;[I"9new virtual variable $-i for the value of -i option.;To;;I"enum.c (Init_Enumerable);T;[o;;[I"!include? as alias of member?;TS; ; i; I"1997-08-08;T@ S; ; i; I"FFri Aug 8 11:16:50 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"io.c (io_foreach);T;[o;;[I"/now the record separator can be specified.;To;;I"io.c (io_s_readlines);T;[o;;[I"Dnew method to read in whole file (or command output) from path.;To;;I"&ext/socket/socket.c (Init_socket);T;[o;;[I"recvfrom did not work.;To;;I"$ext/socket/socket.c (sock_send);T;[o;;[I")forgot to check nil for false value.;TS; ; i; I"1997-08-07;T@ S; ; i; I"FThu Aug 7 11:40:01 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"variable.c (mod_constants);T;[o;;[I"4lists constants defiend in the modules/classes.;To;;I"variable.c (rb_const_set);T;[o;;[I"=no longer warns about constant overriding by subclasses.;To;;I"eval.c (mod_eval);T;[o;;[I"Rdoes eval() on module's context. local variables are shared with outer scope.;To;;I"object.c (Init_Object);T;[o;;[I"%remove private_attr/public_attr.;TS; ; i; I"1997-08-06;T@ S; ; i; I"FWed Aug 6 14:21:36 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (mod_attr);T;[o;;[I")forgot to check nil for false value.;TS; ; i; I"1997-08-04;T@ S; ; i; I"FMon Aug 4 11:50:28 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (class_s_new);T;[o;;[I"Jneed not to specify names to create classes (or modules) dynamically.;To;;I"variable.c (rb_class_path);T;[o;;[I"Jscan class constants for anonymous classes/modules to make up pathes.;TS; ; i; I"1997-07-30;T@ S; ; i; I"FWed Jul 30 08:45:12 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"(stop to cache const value in nodes.;TS; ; i; I"1997-07-26;T@ S; ; i; I"OSat Jul 26 03:17:22 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"numeric.c (flo_to_s);T;[o;;[I"wrong .0 at end.;TS; ; i; I"FSat Jul 26 00:36:36 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (error_print);T;[o;;[I"Calways print exception type in the toplevel exception handler.;To;;I"string.c (str_hash);T;[o;;[I"wrong hash value.;TS; ; i; I"1997-07-24;T@ S; ; i; I"FThu Jul 24 11:05:51 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (uscore_get);T;[o;;[I"'proper error message for unset $_.;TS; ; i; I"1997-07-23;T@ S; ; i; I"FWed Jul 23 09:56:55 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (obj_methods);T;[o;;[I":returns list of method names of the specified object.;To;;I"#class.c (mod_instance_methods);T;[o;;[I"8returns list of method names of the class instnace.;TS; ; i; I"1997-07-11;T@ S; ; i; I"FFri Jul 11 22:38:55 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I" object.c (class_superclass);T;[o;;[I"-returns class's superclass itself. (1.1);To;;I"object.c (obj_type);T;[o;;[I")returns object's class itself. (1.1);To;;I"#class.c (mod_included_modules);T;[o;;[I"list included modules.;To;;I" object.c (class_superclass);T;[o;;[I"raises error for Object.;TS; ; i; I"1997-07-03;T@ S; ; i; I"FThu Jul 3 09:54:02 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (SETUP_ARGS);T;[o;;[I",save source position, remove nd_line().;To;;I"eval.c (rb_call);T;[o;;[I"#replace modulo by bit-masking.;To;;I"eval.c (POP_SCOPE);T;[o;;[I"2force recycle scope object to reduce gc rate.;To;;I"gc.c (obj_free);T;[o;;[I"8aboid calling run_final() when no finalizer is set.;To;;I"eval.c (PUSH_VARS);T;[o;;[I"9do not allocate the dynamic scope's end-mark object.;TS; ; i; I"1997-07-02;T@ S; ; i; I"MWed Jul 2 14:25:07 1997 KIMURA Koichi ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-07-01;T@ S; ; i; I"FTue Jul 1 09:59:00 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"parse.y (mrhs);T;[o;;[I"+allow rest-star(*) in right hand side.;TS; ; i; I"1997-06-24;T@ S; ; i; I"FTue Jun 24 19:04:31 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-06-20;T@ S; ; i; I"QSat Jun 20 22:22:51 1997 Michio "Karl" Jinbo ;T@ o; ;;;[o;;I" eval.c;T;[o;;[I"(freebsd 3.0 support.;TS; ; i; I"FFri Jun 20 01:24:45 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I" gc.c;T;[o;;[I"Oeliminate uninitilalized field of Hash, Array etc., to avoid dumping core.;TS; ; i; I"1997-06-19;T@ S; ; i; I"FThu Jun 19 01:29:44 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I" string.c (str_split_method);T;[o;;[I"wrong limit.;TS; ; i; I"1997-06-14;T@ S; ; i; I"FSat Jun 14 01:54:16 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"!class.c (rb_singleton_class);T;[o;;[I"?no singleton for special constants (now raises exception).;To;;I"eval.c (ruby_init);T;[o;;[I"6cbase in TOPLEVEL_BINDING need to be initialized.;TS; ; i; I"CSat Jun 14 01:01:16 1997 maeda shugo ;T@ o; ;;;[o;;I"array.c (sort_2);T;[o;;[I"wrong comparison.;TS; ; i; I"FSat Jun 14 00:53:44 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"hash.c (hash_foreach);T;[o;;[I"safe iteration.;TS; ; i; I"1997-06-13;T@ S; ; i; I"QFri Jun 13 14:04:56 1997 Michio "Karl" Jinbo ;T@ o; ;;;[o;;I"configure.in;T;[o;;[I"#-Bshareable option for netbsd.;TS; ; i; I"OFri Jun 13 01:16:22 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"io.c (pipe_open);T;[o;;[I"2call io_unbuffered() only for writable pipes.;TS; ; i; I"1997-06-12;T@ S; ; i; I"FThu Jun 12 01:14:15 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"#ext/socket/socket.c (sock_new);T;[o;;[I"use io_unbuffered().;To;;I"#ext/marshal/marshal.c (w_long);T;[o;;[I"^compact long format, which supports 64 bit architectures (unless longs are >32 bit size).;To;;I"ext/marshal/marshal.c;T;[o;;[I"*allows recursive data for marshaling.;To;;I"parse.y (rb_intern);T;[o;;[I"/raise exception for non-internable string.;To;;I")ext/marshal/marshal.c (marshal_load);T;[o;;[I"(allows direct loading from strings.;To;;I")ext/marshal/marshal.c (marshal_dump);T;[o;;[I"#allows direct dump to strings.;To;;I")ext/marshal/marshal.c (marshal_dump);T;[o;;[I"interface changed.;TS; ; i; I"1997-06-11;T@ S; ; i; I"FWed Jun 11 18:26:00 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"gc.c (rb_newobj);T;[o;;[I"remove needless memset().;TS; ; i; I"1997-06-09;T@ S; ; i; I"FMon Jun 9 13:03:43 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"3reduce condition checks from while/until loop.;To;;I"eval.c (rb_eval);T;[o;;[I"!wrong jump point for `next'.;TS; ; i; I"1997-06-06;T@ S; ; i; I"FFri Jun 6 11:47:39 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (ruby_set_argv);T;[o;;[I"(initialize dln_argv0 for dln_a_out.;To;;I"$ext/socket/socket.c (open_unix);T;[o;;[I"&display path name for exceptions.;To;;I"ruby.c (proc_options);T;[o;;[I"!option -S did not work well.;TS; ; i; I"1997-05-30;T@ S; ; i; I"FFri May 30 02:14:44 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (eval);T;[o;;[I"3set $! properly if exception raised in eval().;To;;I"io.c (io_write);T;[o;;[I"#now handles non T_FILE object.;To;;I"io.c (io_defset);T;[o;;[I"1$< can be anything which has `write' method.;TS; ; i; I"1997-05-29;T@ S; ; i; I"FThu May 29 15:40:22 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (eval);T;[o;;[I"($@ is always an array (not string).;To;;I"pack.c (pack_unpack);T;[o;;[I":avoid corrupting memory for unexpected input strings.;TS; ; i; I"1997-05-28;T@ S; ; i; I"FWed May 28 12:46:13 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"process.c (rb_waitpid);T;[o;;[I" do not block other threads.;TS; ; i; I"1997-05-27;T@ S; ; i; I"FTue May 27 12:02:31 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (ruby_init);T;[o;;[I":split initialize and processing command line options.;To;;I"ruby.c (ruby_options);T;[o;;[I"&ruby_init(0, 0, envp) dumps core.;TS; ; i; I"1997-05-20;T@ S; ; i; I"FTue May 20 18:59:45 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"variable.c (rb_ivar_set);T;[o;;[I"Kinvalid instance variable access for built-in object raises TypeError.;TS; ; i; I"1997-05-16;T@ S; ; i; I"FFri May 16 17:32:21 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"dir.c (push_globs);T;[o;;[I""was freeing non heap pointer.;To;;I" gc.c;T;[o;;[I"'remove some duplicated prototypes.;To;;I"ext/kconv/kconv.c;T;[o;;[I"fix prototypes.;TS; ; i; I"1997-05-09;T@ S; ; i; I"FFri May 9 11:38:59 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"gc.c (obj_free);T;[o;;[I"avoid free(NULL).;To;;I"eval.c (rb_check_safe_str);T;[o;;[I"&argument missing for TypeError().;TS; ; i; I"1997-05-08;T@ S; ; i; I"FThu May 8 01:14:28 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_s_dirname);T;[o;;[I"1need to return "." for path without slashes.;TS; ; i; I"1997-05-07;T@ S; ; i; I"FWed May 7 19:18:48 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (f_fork);T;[o;;[I"tchild processe does not inherit parent's itimer setting on linux. call setitimer() again in the child process.;TS; ; i; I"1997-05-03;T@ S; ; i; I"FSat May 3 02:49:43 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/curses/curses.c;T;[o;;[I"Cmodified for portability and add to the standard distribution.;TS; ; i; I"1997-04-30;T@ S; ; i; I"FWed Apr 30 00:34:00 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_s_size);T;[o;;[I"+returns 0 for empty files (not FALSE).;TS; ; i; I"1997-04-25;T@ S; ; i; I"FFri Apr 25 02:17:50 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (f_load);T;[o;;[I"free unused name-table.;To;;I"eval.c (f_load);T;[o;;[I"$copy local variable name-table.;To;;I"gc.c (obj_free);T;[o;;[I"avoid free(NULL).;To;;I"eval.c (rb_eval);T;[o;;[I"\forgot to make link from the scope object to NODE_SCOPE. It may crash the interpreter.;TS; ; i; I"1997-04-24;T@ S; ; i; I"FThu Apr 24 00:35:09 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"random.c (f_srand);T;[o;;[I"Esave old seed anyway. srand() returns no value on some systems.;To;;I"gc.c (obj_free);T;[o;;[I"8avoid double free of the local variable name table.;To;;I"parse.y (top_local_setup);T;[o;;[I"%modify realloc to handle offset.;TS; ; i; I"1997-04-22;T@ S; ; i; I"FTue Apr 22 12:58:26 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-04-17;T@ S; ; i; I"FThu Apr 17 00:40:51 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"!configure.in (rb_cv_bsdpgrp);T;[o;;[I"*proper check for BSD setpgrp/setpgrp.;TS; ; i; I"1997-04-16;T@ S; ; i; I"FWed Apr 16 16:14:02 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (proc_call);T;[o;;[I"0proc called in other thread must be orphan.;TS; ; i; I"1997-04-15;T@ S; ; i; I"FTue Apr 15 10:46:31 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"gc.c (obj_free);T;[o;;[I")NODE_SCOPE marked from SCOPE object.;To;;I"gc.c (gc_mark);T;[o;;[I"some nodes marked wrong.;To;;I"process.c (proc_getpgrp);T;[o;;[I"wrong argument;TS; ; i; I"1997-04-14;T@ S; ; i; I"FFri Apr 14 18:32:42 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-04-12;T@ S; ; i; I"FFri Apr 12 01:20:12 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" ruby.h;T;[o;;[I"-String pointer changed to unsigned char.;TS; ; i; I"1997-04-11;T@ S; ; i; I"FFri Apr 11 10:27:29 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"Makefile.in;T;[o;;[I"*create libruby.a before linking ruby.;To;;I"string.c (str_strip_bang);T;[o;;[I"$>0x80 characters for isspace().;To;;I"eval.c (proc_call);T;[o;;[I"set safe-level temporally;To;;I"eval.c (proc_s_new);T;[o;;[I")save safe-level in the proc context.;To;;I"eval.c (rb_eval);T;[o;;[I",no class/module extension in safe mode.;TS; ; i; I"1997-04-10;T@ S; ; i; I"FThu Apr 10 02:10:41 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"gc.c (gc_mark);T;[o;;[I"0remove some pointer checks for speeding up.;To;;I"ruby.c (ruby_options);T;[o;;[I"%set $0 temporally for -r option.;To;;I" eval.c;T;[o;;[I"built-in security feature.;To;;I"gc.c (gc_sweep);T;[o;;[I"&do not free nodes during compile.;To;;I"parse.y (yycompile);T;[o;;[I"set flag when compiling.;TS; ; i; I"1997-04-09;T@ S; ; i; I"FWed Apr 9 10:19:02 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I" ruby.c;T;[o;;[I"/forgot to include for isspace().;To;;I" file.c;T;[o;;[I"(provide S_ISREG for some platforms.;To;;I"io.c (Init_IO);T;[o;;[I"added some $< operations.;To;;I"lib/ping.rb;T;[o;;[I"&check host upness using TCP echo.;TS; ; i; I"1997-04-08;T@ S; ; i; I"FTue Apr 8 00:10:15 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (arg_read);T;[o;;[I"bug with 0 length input.;TS; ; i; I"1997-04-07;T@ S; ; i; I"FMon Apr 7 11:36:16 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ext/fcntl/fcntl.c;T;[o;;[I" module for fcntl constants.;To;;I"eval.c (rb_alias);T;[o;;[I"$bug when original was an alias.;To;;I"parse.y (primary);T;[o;;[I"&syntax to access singleton class.;To;;I"eval.c (mod_public_method);T;[o;;[I"`method's to specify visibitily of the class methods. make_method_{public,private} removed.;TS; ; i; I"1997-04-04;T@ S; ; i; I"FFri Apr 4 21:43:57 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"gc.c (obj_free);T;[o;;[I"$finalizer added for experiment.;TS; ; i; I"1997-04-03;T@ S; ; i; I"FThu Apr 3 02:12:31 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (thread_schedule);T;[o;;[I"1make Fatal rise on main_thread on deadlocks.;To;;I"eval.c (thread_join);T;[o;;[I"=raise ThreadError instead of Fatal, in case of deadlock.;To;;I"!regex.c (re_compile_fastmap);T;[o;;[I""uninitialized local variable.;To;;I"parse.y (parse_regx);T;[o;;[I"lnew option //[nes] to specify character code for regexp literals. Last specified code option is valid.;To;;I"re.c (reg_s_new);T;[o;;[I"Iadditional 3rd argument to specify compiled regexp's character code.;To;;I"re.c (reg_new_1);T;[o;;[I"Cregexp character code can be specified for each regexp object.;TS; ; i; I"1997-04-02;T@ S; ; i; I"FWed Apr 2 14:51:06 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (thread_create);T;[o;;[I"handle uncaught throw.;To;;I"eval.c (thread_create);T;[o;;[I"&halt on some deadlock conditions.;To;;I"regex.c (is_in_list);T;[o;;[I"5wrong result for non-mbc higher-byte characters.;To;;I"regex.c (re_match);T;[o;;[I"*wrong skip for multi-byte characters.;To;;I"!regex.c (re_compile_fastmap);T;[o;;[I"#wrong fastmap in non-mbc mode.;To;;I"hash.c (Init_Hash);T;[o;;[I"+hash compatible features added to ENV.;TS; ; i; I"1997-04-01;T@ S; ; i; I"FTue Apr 1 15:24:06 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (obj_extend);T;[o;;[I"uremove Object#extend as an iterator which is in experimental state, since it unveils internal singleton classes.;TS; ; i; I"1997-03-31;T@ S; ; i; I"FMon Mar 31 14:29:39 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-03-30;T@ S; ; i; I"OSun Mar 30 19:40:57 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"parse.y (terms);T;[o;;[I"*avoided win32 gcc's optimization bug.;TS; ; i; I"1997-03-29;T@ S; ; i; I"FSat Mar 29 11:21:58 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"struct.c (make_struct);T;[o;;[I"&St[val,..] creates new structure.;TS; ; i; I"1997-03-28;T@ S; ; i; I"FFri Mar 28 11:24:51 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (obj_make_private);T;[o;;[I"Wnew method make_method_{public,private} to change visibility of singleton methods.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"= 0x80 in the character class.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"8enabled numeric literal >= 0x80, in multibyte mode.;To;;I"!regex.c (re_compile_fastmap);T;[o;;[I"Pmodified exantn and charset(_not) to set fastmap for higher bytes properly.;To;;I"regex.c (is_in_list);T;[o;;[I""now matches numeric literals.;TS; ; i; I"1997-03-27;T@ S; ; i; I"OThu Mar 27 13:34:20 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"pack.c (pack_unpack);T;[o;;[I"+extra null byte after unpacked string.;TS; ; i; I"1997-03-26;T@ S; ; i; I"FWed Mar 26 15:20:34 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"!regex.c (re_compile_pattern);T;[o;;[I"Bregister numbers must be fit in a byte (0 <= regnum <= 0xff).;To;;I"!regex.c (re_compile_fastmap);T;[o;;[I"Bforgot to set mbchar map for charset_not if RE_MBCTYPE is on.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"Pset list bits for multi-byte characters for \W, \S, \D in range expression.;To;;I"object.c (obj_is_kind_of);T;[o;;[I"defined that nil itself is kind of nil. TRUE is kind of TRUE, FALSE is kind of FALSE likewise. This change makes `obj.kind_of?(eval(obj.type))' always true.;TS; ; i; I"1997-03-25;T@ S; ; i; I"FTue Mar 25 14:08:43 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/English.rb;T;[o;;[I"4provides nicer English alias for the variables.;To;;I"parse.y (expr);T;[o;;[I":alias $var1 $var2 makes alias of the global variable.;TS; ; i; I"1997-03-24;T@ S; ; i; I"FMon Mar 24 18:23:20 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-03-20;T@ S; ; i; I"FThu Mar 20 22:04:59 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (mod_modfunc);T;[o;;[I""forget to clear method cache.;TS; ; i; I"1997-03-19;T@ S; ; i; I"FWed Mar 19 17:06:55 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (program);T;[o;;[I"Gset methods' default private/public status correctly under eval().;To;;I"eval.c (eval);T;[o;;[I"5set the_class correctly while evaluating string.;TS; ; i; I"1997-03-18;T@ S; ; i; I"FTue Mar 18 12:23:53 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (eval);T;[o;;[I"%yield can be called from eval().;To;;0;[o;;[0o;;I"parse.y (program);T;[o;;[I"Iregexp in condition expression should do matching operation with $_.;To;;I"re.c (reg_regsub);T;[o;;[I"wrong substitution.;TS; ; i; I"1997-03-14;T@ S; ; i; I"FFri Mar 14 14:36:28 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"hash.c (hash_invert);T;[o;;[I";returns value to key mapping of the associative array.;To;;I"ext/socket/extconf.rb;T;[o;;[I"Fset environment variable SOCKS_SERVER to compile with libsocks.a.;To;;I"'ext/socket/socket.c (socks_s_open);T;[o;;[I";T@ o; ;;;[ o;;I"sprintf.c (f_sprintf);T;[o;;[I"wrong output for bignums.;To;;I"array.c (ary_reverse_each);T;[o;;[I"iterates in reverse order.;To;;I"pack.c (pack_unpack);T;[o;;[I"L unpacked signed long.;To;;I"io.c (f_backquote);T;[o;;[I"/now returns an empty string for no output.;TS; ; i; I"1997-03-12;T@ S; ; i; I"FWed Mar 12 10:20:30 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/socks/socks.c;T;[o;;[I"&socket module with socks library.;TS; ; i; I"1997-03-10;T@ S; ; i; I"FMon Mar 10 20:44:22 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (reg_regsub);T;[o;;[I"<\& for substitution. \`, \', and \+ are avaiable also.;TS; ; i; I"1997-03-06;T@ S; ; i; I"FThu Mar 6 01:47:03 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"sample/rubydb.el (gud);T;[o;;[I""ruby debugger emacs interface;To;;I"lib/debug.rb;T;[o;;[I"ruby debugger;To;;I"parse.y (exprs);T;[o;;[I"'more accurate line number display.;TS; ; i; I"1997-03-05;T@ S; ; i; I"FWed Mar 5 21:31:46 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-03-04;T@ S; ; i; I"FTue Mar 4 12:28:32 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (proc_options);T;[o;;[I"4search through RUBYPATH and PATH for option -S.;TS; ; i; I"1997-03-03;T@ S; ; i; I"FMon Mar 3 22:44:55 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_status);T;[o;;[I"2returns nil for exception terminated threads.;To;;I"eval.c (thread_value);T;[o;;[I"re-raise exceptions.;TS; ; i; I"1997-03-01;T@ S; ; i; I"FSat Mar 1 00:59:47 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"Lrestore $! value after rescue clause, to re-raise exceptions correctly.;TS; ; i; I"1997-02-28;T@ S; ; i; I"FFri Feb 28 16:43:38 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1997-02-27;T@ S; ; i; I"FThu Feb 27 11:23:41 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_yield_0);T;[o;;[I"redo raises exception;To;;I"eval.c (thread_schedule);T;[o;;[I")bug in interrupt handling by rescue.;TS; ; i; I"1997-02-26;T@ S; ; i; I"FWed Feb 26 00:55:36 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (eval);T;[o;;[I"7forgot to restore dynamic local variable bindings.;TS; ; i; I"1997-02-25;T@ S; ; i; I"FTue Feb 25 11:22:08 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ext/aix_ld.rb;T;[o;;[I"+AIX dynamic load support (not tested).;To;;I"eval.c (rb_eval);T;[o;;[I"+wrong return value for defined? super.;To;;I"error.c (exception);T;[o;;[I"more error check.;To;;I"re.c (reg_regsub);T;[o;;[I"9wrong substitution when sub expanded to null string.;TS; ; i; I"1997-02-21;T@ S; ; i; I"FFri Feb 21 13:01:47 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"eval.c (f_require);T;[o;;[I"\volatile added. register variable was recycled, so that GC did not mark that variable.;To;;I"object.c (Init_Object);T;[o;;[I"Pforget to mark main object (was mostly ok, but made trouble with early GC.);TS; ; i; I"1997-02-20;T@ S; ; i; I"FThu Feb 20 11:50:50 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"AThu Feb 20 11:25:50 1997 Yasuo OHBA ;T@ o; ;;;[o;;I"lib/date.rb;T;[o;;[I" update;TS; ; i; I"FThu Feb 20 08:25:57 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (yylex);T;[o;;[I"(forgot tokfix() before rb_intern().;To;;I"lib/tk.rb (TkVariable);T;[o;;[I"give up using trace_var.;TS; ; i; I"1997-02-19;T@ S; ; i; I"FWed Feb 19 00:24:35 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"pack.c (pack_pack);T;[o;;[I":packed by null for A specifier. must be space filled.;To;;I"pack.c (pack_unpack);T;[o;;[I"bug in skipping spaces;To;;I"gc.c (xmalloc);T;[o;;[I"1garbage collect for every 4 Meg. allocation.;To;;I" string.c (str_split_method);T;[o;;[I"limit worked wrong way.;To;;I"io.c (io_gets_method);T;[o;;[I"7misunderstand 0xff in binary files when $/ == nil.;To;;I"re.c (reg_regsub);T;[o;;[I"re-implement.;To;;I")ext/socket/socket.c (thread_connect);T;[o;;[I"Hremove O_NONBLOCK, which is not defined on some platform like NeXT.;TS; ; i; I"1997-02-17;T@ S; ; i; I"FMon Feb 17 13:08:30 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"object.c (mod_eqq);T;[o;;[I"?=== extended for subclass check (to use case as typecase).;TS; ; i; I"1997-02-15;T@ S; ; i; I"FSat Feb 15 02:07:22 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"!regex.c (re_compile_pattern);T;[o;;[I"+wrong match backref at end of pattern.;To;;I"io.c (arg_read);T;[o;;[I""now works beyond end of file.;TS; ; i; I"1997-02-13;T@ S; ; i; I"FThu Feb 13 16:21:24 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (expr);T;[o;;[I"4return/yield now accept normal argument format.;To;;I"parse.y (yylex);T;[o;;[I">a star in `yield *x' must not be multiplication operator.;TS; ; i; I"1997-02-12;T@ S; ; i; I"FWed Feb 12 15:06:44 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"time.c (time_plus);T;[o;;[I"bug in simple addition.;To;;I"eval.c (thread_raise);T;[o;;[I"#raise exceptions from outside.;To;;I"eval.c (Init_Thread);T;[o;;[I".Thread#alive? -- alias for Thread#status.;TS; ; i; I"1997-02-10;T@ S; ; i; I"FMon Feb 10 00:38:55 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.h (Data_Make_Struct);T;[o;;[I"rename macros.;TS; ; i; I"1997-02-08;T@ S; ; i; I"FSun Feb 8 11:48:13 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (f_syscall);T;[o;;[I"argument offset was wrong.;TS; ; i; I"1997-02-07;T@ S; ; i; I"FFri Feb 7 18:01:17 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I" eval.c;T;[o;;[I"=add volatiles to avoid variable crobbering by longjmp().;To;;I"eval.c (f_raise);T;[o;;[I"31st argument can be the GlobalExit object now.;To;;I"array.c (ary_unshift);T;[o;;[I"'no longer accept more than 2 args.;To;;I"eval.c (f_raise);T;[o;;[I"*bug if 2nd argument is the exception.;TS; ; i; I"1997-02-04;T@ S; ; i; I"FTue Feb 4 00:37:29 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (eval);T;[o;;[I"#check compile errors by nerrs.;To;;I"eval.c (rb_eval);T;[o;;[I"Mcheck syntax error by nerrs, not by the return value, which may be NULL.;To;;I"eval.c (compile);T;[o;;[I"Do not clear errinfo.;TS; ; i; I"1997-02-03;T@ S; ; i; I"FMon Feb 3 10:13:06 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (obj_extend);T;[o;;[I"Fmove real inclusion to Module#extend_object to allow redfinition.;To;;I"object.c (Init_Object);T;[o;;[I"IKernel class is now Module. Object class became the true root class.;To;;I"object.c (obj_inspect);T;[o;;[I"remove useless buffer.;To;;I"hash.c (any_cmp);T;[o;;[I".disable interrupts and context switching.;To;;I" st.c;T;[o;;[I">remove ALLOW_INTS to disable interrupt during operations.;TS; ; i; I"1997-01-31;T@ S; ; i; I"FFri Jan 31 22:10:08 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"hash.c (hash_rehash);T;[o;;[I"re-register all key-value.;TS; ; i; I"1997-01-30;T@ S; ; i; I"FThu Jan 30 02:14:49 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (io_reopen);T;[o;;[I"+re-implement according to clone() way.;To;;I"io.c (io_clone);T;[o;;[I"copy IO object.;To;;I"struct.c (struct_eql);T;[o;;[I"compare elements by eql?.;To;;I"io.c (io_mode_flags);T;[o;;[I"detect "rb", "wb" etc.;To;;I"io.h (FMODE_BINMODE);T;[o;;[I" added.;To;;I"&ext/socket/socket.c (Init_socket);T;[o;;[I"undef BasicSocket.new;To;;I"file.c (Init_File);T;[o;;[I"File.new(path[,mode]);To;;I"io.c (Init_IO);T;[o;;[I"IO.new(fd[,mode]);To;;I"eval.c (rb_method_boundp);T;[o;;[I"$forgot to enable priv argument.;To;;I"object.c (Init_Object);T;[o;;[I"#remove `=~' from Kernel class.;To;;I"$ext/socket/socket.c (open_inet);T;[o;;[I"0initialize sockaddr before calling bind(2).;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"skip comment lines;TS; ; i; I"1997-01-29;T@ S; ; i; I"FWed Jan 29 18:43:22 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (Init_Thread);T;[o;;[I",DEFER_INTS during initializing threads.;To;;I"hash.c (Init_Hash);T;[o;;[I"*Hash#eql? checks for object identity.;To;;I"!eval.c (thread_set_critical);T;[o;;[I"wrong value assigned.;TS; ; i; I"1997-01-27;T@ S; ; i; I"FMon Jan 27 16:10:51 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (io_print);T;[o;;[I"remove print_on().;To;;I"eval.c (f_missing);T;[o;;[I"?proper error message for undefined method without argument;TS; ; i; I"1997-01-25;T@ S; ; i; I"FSat Jan 25 23:32:32 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (str_sub_s);T;[o;;[I"0false alert - sub() does not modify string.;To;;I"array.c (ary_times);T;[o;;[I"%negative multiplication detected;To;;I"string.c (str_times);T;[o;;[I"%negative multiplication detected;TS; ; i; I"1997-01-24;T@ S; ; i; I"FFri Jan 24 10:51:39 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"time.c (time_arg);T;[o;;[I"cmonth -> 0 == "jan" == "1" == "01", little bit confusing but wanted to conform japanese style.;To;;0;[o;;[0S; ; i; I"OFri Jan 24 09:52:49 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"util.c (_fixpath);T;[o;;[I"&supports SJIS filenames on DJGPP.;TS; ; i; I"1997-01-23;T@ S; ; i; I"FThu Jan 23 16:52:06 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"README.EXT;T;[o;;[I"/update. partially translated into English.;To;;I"ext/extmk.rb.in;T;[o;;[I"(inherit $LDFLAGS to the final link.;To;;I"&ext/socket/socket.c (Init_socket);T;[o;;[I"add various constants.;TS; ; i; I"OMon Jan 23 11:40:59 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I"eval.c (Init_Thread);T;[o;;[I"/allocate main_thread first to avoid crash.;TS; ; i; I"FThu Jan 23 02:09:26 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"gc.c (ObjectSpace);T;[o;;[I"@API modified. each_object method will do all the iteration.;To;;I"eval.c (proc_call);T;[o;;[I"%wrong return from nested lambda.;To;;I"ext/GD/GD.c;T;[o;;[I"debugged.;TS; ; i; I"1997-01-22;T@ S; ; i; I"FWed Jan 22 16:12:25 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"gc.c (gc_mark);T;[o;;[I"forgot to mark match->str.;To;;I"ext/GD/GD.c;T;[o;;[I"GD interface module.;To;;I"eval.c (PUSH_BLOCK);T;[o;;[I"+wrong value pushed as the block level.;TS; ; i; I"1997-01-20;T@ S; ; i; I"FMon Jan 20 14:01:31 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_run);T;[o;;[I"/no context switch in the critical section.;TS; ; i; I"OMon Jan 20 09:40:59 1997 WATANABE Hirofumi ;T@ o; ;;;[o;;I" utils.c;T;[o;;[I"supports 8+3 filenames;TS; ; i; I"1997-01-18;T@ S; ; i; I"FSat Jan 18 01:23:03 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"regex.c (PATFETCH);T;[o;;[I" need cast to unsigned char.;To;;I"io.c (io_ctl);T;[o;;[I"*bug in case when arg is not a string.;To;;I"lib/tk.rb;T;[o;;[I"8forgot that Kernel#type returns the class name now.;To;;I"regex.c (re_search);T;[o;;[I"&"abc\n" =~ "^$" should not match.;TS; ; i; I"1997-01-17;T@ S; ; i; I"FFri Jan 17 12:31:37 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"ruby.c (ruby_options);T;[o;;[I"Aconstant PLATFORM, which is in the {cpu}-{os} form, defined.;To;;I"configure.in;T;[o;;[I"6platform information embedded in the interpreter.;To;;I"regex.c (re_search);T;[o;;[I"6/^$/ did not match to "" by wrong exit condition.;To;;I"lib/thread.rb;T;[o;;[I"3re-write Mutex/Queue based on Thread.critical.;To;;I"!eval.c (thread_set_critical);T;[o;;[I"Gremove Thread.exclusive, add Thread.critical = TRUE/FALSE instead.;To;;I"re.c (reg_search);T;[o;;[I"!re-compile pattern if needed;To;;I"regex.c (PATFETCH);T;[o;;[I"!do translate at compile time;TS; ; i; I"1997-01-16;T@ S; ; i; I"FThu Jan 16 00:49:10 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"gc.c (gc_mark_frame);T;[o;;[I"!forgot to mark frame->cbase.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"/a$|b)/ causes error.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"/(^|b)/ causes error.;To;;0;[o;;[0o;;I"re.c (Init_Regexp);T;[o;;[I"(set RE_CONTEXTUAL_INVALID_OPS flag.;TS; ; i; I"1997-01-14;T@ S; ; i; I"FTue Jan 14 02:09:06 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (proc_call);T;[o;;[I">Proc#callをイテレータとして呼んだ時に対応;To;;I"configure.in;T;[o;;[I"nextstep対応?;To;;I"eval.c (rb_eval);T;[o;;[I"2a[b]=cで無駄な配列を割り当てない;To;;I"eval.c (f_send);T;[o;;[I"]イテレータとして呼ばれたらイテレータとしてメソッ ドを呼ぶ.;To;;I"string.c (str_new4);T;[o;;[I""match共有用の生成関数;To;;I"re.c (reg_search);T;[o;;[I"Ymatchの実体(文字列)をマッチを行った文字列と copy-on-writeで共有;To;;I"string.c (str_hash);T;[o;;[I"0toupperをかける条件が違っていた;To;;I"array.c (sort_2);T;[o;;[I"2FixnumとStringを特別扱いして高速化;TS; ; i; I"1997-01-13;T@ S; ; i; I"FMon Jan 13 11:03:53 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_create);T;[o;;[I">threadが生成されるまで割込みを設定しない;To;;I"eval.c (Init_Thread);T;[o;;[I"*割込みタイミングを100msecに;TS; ; i; I"1997-01-11;T@ S; ; i; I"FSat Jan 11 00:17:05 1997 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"regex.c (re_search);T;[o;;[I"Iマッチに失敗する場合があった(本当に直ったか?);To;;I"io.c (io_ioctl,io_fcntl);T;[o;;[I"!第2引数を省略可能に;To;;I"io.c (io_ioctl,io_fcntl);T;[o;;[I"d戻り値がIOだった.整数(システムコール の戻り値)を返すようにした.;To;;I"io.c (io_ctl);T;[o;;[I"#引数が整数の時に対応;To;;I"io.c (io_fcntl);T;[o;;[I"file.cから移動;TS; ; i; I"1997-01-10;T@ S; ; i; I"FFri Jan 10 17:01:47 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I")ext/socket/socket.c (thread_connect);T;[o;;[I"Fopen(connect(2))で他の threadをブロックしないように;To;;I"eval.c (thread_create);T;[o;;[I"1exitでないときにexitだと思い込む;TS; ; i; I"1997-01-06;T@ S; ; i; I"FMon Jan 6 17:42:22 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (str_sub_s);T;[o;;[I",文字列長より長いoffsetの検出;To;;I"regex.c (re_search);T;[o;;[I"6空にマッチするパターン後の$で失敗;TS; ; i; I"1997-01-02;T@ S; ; i; I"FThu Jan 2 16:36:23 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_reopen);T;[o;;[I"/Fileのreopen(pathまたはIOで指定).;To;;I"io.c (io_reopen);T;[o;;[I"3IOのreopen(IOで指定) -- change classつき;TS; ; i; I"1997-01-01;T@ S; ; i; I"FWed Jan 1 11:09:01 1997 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (f_select);T;[o;;[I"timeoutでnilを返す;TS; ; i; I"1996-12-27;T@ S; ; i; I"FFri Dec 27 13:06:44 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_s_open);T;[o;;[I"Tサブクラスではそのクラスのインスタンスを返 すように.;TS; ; i; I"9Fri Dec 27 08:58:27 1996 ;T@ o; ;;;[o;;I"numeric.c (flo_to_s);T;[o;;[I",index()を使わない.strstr()に.;TS; ; i; I"1996-12-26;T@ S; ; i; I"FThu Dec 26 01:34:17 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/tk.rb;T;[o;;[I"placeが使えるように;To;;I"pack.c (endian);T;[o;;[I"\マクロDYNAMIC_ENDIANを指定すると実行時にendian を判定するように.;To;;I"eval.c (thread_alloc);T;[o;;[I"/初期化忘れのメンバがあった.;TS; ; i; I"1996-12-25;T@ S; ; i; I"FWed Dec 25 00:33:19 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"io.c (Init_IO);T;[o;;[I"newを無効化;To;;I"lib/tkthcore.rb;T;[o;;[I"@tk_call "global $foo; set foo 5"などもできるように;To;;I"$eval.c (thread_restore_context);T;[o;;[I",$~, $_でスタックを壊していた;To;;I"process.c (rb_waitpid);T;[o;;[I"threadに一応対応;TS; ; i; I"1996-12-24;T@ S; ; i; I"FTue Dec 24 15:20:58 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"configure.in;T;[o;;[I"/charがunsignedかどうかもチェック;To;;I"regex.c (SIGN_EXTEND_CHAR);T;[o;;[I""__CHAR_UNSIGNED__にも対応;To;;I"pack.c (pack_unpack);T;[o;;[I"(明示的にsigned charを指定.;TS; ; i; I"1996-12-23;T@ S; ; i; I"FMon Dec 23 14:41:23 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (load_file);T;[o;;[I"W標準入力からのスクリプトで一時ファイルを使わ ないように;To;;I"object.c (f_integer);T;[o;;[I"6`0x', `0'などでbaseを解釈するように.;TS; ; i; I"1996-12-20;T@ S; ; i; I"FFri Dec 20 01:44:39 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"Makefile.in (flock.o);T;[o;;[I"flockに対応;TS; ; i; I"1996-12-19;T@ S; ; i; I"FThu Dec 19 20:13:32 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-12-18;T@ S; ; i; I"FWed Dec 18 00:06:48 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"glob.c (glob_filename);T;[o;;[I"*strrchrがマクロの場合に対応;To;;I"configure.in;T;[o;;[I""をチェック;To;;I"ext/kconv/kconv.c;T;[o;;[I"1.62ベースに;To;;I"ext/kconv/kconv.c;T;[o;;[I"Kconvモジュール;To;;I"string.c (str_substr);T;[o;;[I"2lenが元の文字列より長い時に対応;To;;I"parse.y (iterator);T;[o;;[I"7「$bar do .. end」などは許さないように;To;;I"parse.y (iterator);T;[o;;[I"?FID(foo!,foo?)をdo形式のイテレータにできる.;To;;I"missing/flock.c (flock);T;[o;;[I"lockf()を使って代替;To;;I"file.c (file_flock);T;[o;;[I"flockを実装;TS; ; i; I"1996-12-17;T@ S; ; i; I"FTue Dec 17 12:13:38 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-12-13;T@ S; ; i; I"FFri Dec 13 02:05:03 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"configure.in;T;[o;;[I"9RUBYLIBのカレントを後回し(@mix/awk offline);To;;I" dln.c;T;[o;;[I",AIXに対応した?(@mix/awk offline);To;;I"eval.c (thread_schedule);T;[o;;[I"acritical sectionでも明示的なコンテキス トスイッチは起きないとまずい;To;;I"re.c (reg_search);T;[o;;[I"-matchに失敗した時に$~をnilに.;To;;I"re.c (reg_search);T;[o;;[I"(毎回matchを生成するように;TS; ; i; I"1996-12-12;T@ S; ; i; I"FThu Dec 12 17:03:30 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"numeric.c (flo_to_s);T;[o;;[I"2.0.to_s -> 2.0に;To;;I"!eval.c (thread_save_context);T;[o;;[I" $_, $~をthread毎に保存;To;;I"eval.c (thread_kill);T;[o;;[I"main threadではexit(0);To;;I" string.c (str_split_method);T;[o;;[I")間違った結果を返していた;TS; ; i; I"OThu Dec 12 15:32:48 1996 WATANABE Hirofumi ;T@ o; ;;;[o;;I" dir.c;T;[o;;[I"CYGWIN32対応;To;;I"ext/socket/socket.c;T;[o;;[I"CYGWIN32対応;To;;I" io.c;T;[o;;[I"CYGWIN32対応;TS; ; i; I"FThu Dec 12 00:41:17 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"parse.y (parse_string);T;[o;;[I"2"""..."""はやはり無くすことにした;To;;I"parse.y (parse_regx);T;[o;;[I"D%r|...|でterminatorを \ でエスケープできる ように;To;;I"signal.c (posix_signal);T;[o;;[I"sigactionを使うsignal;To;;I"configure.in;T;[o;;[I"%posix signal/bsd signalの検出;TS; ; i; I"1996-12-11;T@ S; ; i; I"FWed Dec 11 17:47:35 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_schedule);T;[o;;[I"Rcritical sectionではコンテキストスイッ チが起きないように;To;;I"lib/thread.rb;T;[o;;[I"SharedMutexクラス;To;;I"lib/jcode.rb;T;[o;;[I""String#scanを使うように;TS; ; i; I"1996-12-10;T@ S; ; i; I"FTue Dec 10 12:21:28 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I" string.c (str_split_method);T;[o;;[I"+正規表現に()を含む時にバグ;To;;I"lib/jcode.rb;T;[o;;[I"#ちょっとましになった;To;;I"string.c (tr_setup_table);T;[o;;[I";置換文字が短すぎる(2文字)のときのバグ;TS; ; i; I"1996-12-09;T@ S; ; i; I"FMon Dec 9 11:38:04 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (str_scan);T;[o;;[I"N文字列のマッチを行う.イテレータとしても動 作する;To;;I" regex.c (re_copy_registers);T;[o;;[I"2allocatedが初期化されていなかった;To;;I"re.c (match_to_s);T;[o;;[I"$~の文字列化;To;;I"re.c (match_to_a);T;[o;;[I"%$~を配列化できるように;To;;I"re.c (match_getter);T;[o;;[I"5レジスタが初期化されていなかった;TS; ; i; I"1996-12-05;T@ S; ; i; I"FThu Dec 5 11:06:10 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" string.c (str_split_method);T;[o;;[I"Rマッチしなかった括弧は空文字列を pushするべきではない;To;;I"string.c (str_succ);T;[o;;[I"8アルファベットを含まない文字に対応;TS; ; i; I"1996-12-04;T@ S; ; i; I"FWed Dec 4 10:48:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"io.c (io_binmode);T;[o;;[I"DJGPPでのbinmode対応;To;;I"sprintf.c (f_sprintf);T;[o;;[I"9intの範囲の数値は直接sprintfで変換する;To;;I"sprintf.c (f_sprintf);T;[o;;[I""%02s"に頼らない;To;;I"re.c (reg_search);T;[o;;[I"indexでSEGV;TS; ; i; I"1996-12-03;T@ S; ; i; I"FTue Dec 3 10:09:36 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"ext/extmk.rb.in (install);T;[o;;[I"'INSTALL_DATAからINSTALLに変更;To;;I" dln.c;T;[o;;[I"hpux対応;To;;I"string.c (str_aset_method);T;[o;;[I";負の値を含む範囲でも例外を起こさない;To;;I"array.c (ary_replace);T;[o;;[I";負の値を含む範囲でも例外を起こさない;To;;I"array.c (beg_len);T;[o;;[I" beg==endの時,長さ0に;TS; ; i; I"1996-12-02;T@ S; ; i; I"FMon Dec 2 14:07:12 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"configure.in;T;[o;;[I"HP shl対応;To;;I"string.c (str_upto);T;[o;;[I">beg > endの時無限ループに落ちるのを止めた;To;;I"range.c (range_each);T;[o;;[I"4String#uptoが再定義された場合に対応;To;;I" string.c (str_split_method);T;[o;;[I"#"ABC".split(/(B)/)が誤動作;TS; ; i; I"1996-11-30;T@ S; ; i; I"FSat Nov 30 01:43:52 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"undefでSEGV;TS; ; i; I"1996-11-29;T@ S; ; i; I"FFri Nov 29 12:17:59 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"~%Q#..#などに対応.しか し,区切り文字が演算子で行末にある場合には対応できなかった.;To;;I"re.c (reg_raise);T;[o;;[I"2例外でもスラッシュをエスケープ;To;;I"re.c (reg_inspect);T;[o;;[I"&スラッシュをエスケープ;To;;I"parse.y (parse_string);T;[o;;[I">`%[QqXxRr](.)..\1'なる文字列形式(テスト 採用);To;;I"parse.y (parse_qstring);T;[o;;[I"'''...'''の形式;To;;I"ext/dbm/dbm.c (Init_dbm);T;[o;;[I"述語key?,value?の追加;To;;I"ext/dbm/dbm.c (Init_dbm);T;[o;;[I"includes->include?;To;;I"hash.c (Init_Hash);T;[o;;[I"(述語key?,value?,include?の追加;To;;I"eval.c (rb_eval);T;[o;;[I"5unlessでelse節が実行されない(うーん);To;;I"string.c (str_sub_iter_s);T;[o;;[I"wイテレータブロック内でマッチが行われ ると位置がずれる(時に無限ループに落ちる);To;;I"string.c (str_resize);T;[o;;[I"7lenが0の時sizeの調整が行われなかった;TS; ; i; I"1996-11-28;T@ S; ; i; I"FThu Nov 28 00:59:54 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"parse.y (parse_string);T;[o;;[I"13-quote styleの文字列(例:"""abc"d"e""");To;;I"configure.in (EXTSTATIC);T;[o;;[I"Iextを静的にリンクする時にはrubyはdllを 使うように;To;;I"io.c (Init_IO);T;[o;;[I"'getsの引数が間違っていた;To;;I"string.c (str_each_line);T;[o;;[I".RSを明示的に指定できるように;TS; ; i; I"1996-11-27;T@ S; ; i; I"FWed Nov 27 12:37:46 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (rb_eval);T;[o;;[I"8iver defined? でselfを指定するのを忘れた;To;;I" io.c;T;[o;;[I"8gets等でRSを明示的に指定できるように;To;;I"ext/extmk.rb.in (install);T;[o;;[I"static linkに失敗;TS; ; i; I"1996-11-26;T@ S; ; i; I"FTue Nov 26 10:33:04 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"string.c (str_sub_s);T;[o;;[I"5置換後の文字列長さが間違っていた;TS; ; i; I"1996-11-25;T@ S; ; i; I"FMon Nov 25 09:11:22 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"numeric.c (fix_rshift);T;[o;;[I"b32以上の右シフトで0を返すように(Cの rshiftは(x>>(y%32))を返していた).;To;;I"string.c (str_gsub);T;[o;;[I"/置換が行われない場合があった;To;;I"string.c (str_resize);T;[o;;[I"'本当に必要な時だけrealloc;TS; ; i; I"1996-11-21;T@ S; ; i; I"FThu Nov 21 04:13:21 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"configure.in (EXTSTATIC);T;[o;;[I"Z--with-static-linked-extで全てのモジュー ルを静的リンクするように;To;;I"pack.c (pack_unpack);T;[o;;[I"W行末の改行がない時にもチェックサムをスキッ プするように;TS; ; i; I"1996-11-20;T@ S; ; i; I"AWed Nov 20 21:42:51 1996 Yasuo OHBA ;T@ o; ;;;[o;;I"configure.in;T;[o;;[I"freebsd対応;TS; ; i; I"FWed Nov 20 10:24:24 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ext/extmk.rb.in (install);T;[o;;[I"W通常リンク用のLDFLAGSとダイナミックリ ンク用のDLDFALGSを分離;To;;I"ext/extmk.rb.in (install);T;[o;;[I"Wコンパイルの成功したものを静的リンク のリストに追加する;To;;I"eval.c (f_missing);T;[o;;[I"`オブジェクトの文字列表現が長すぎる時バッファ を書き潰していた;To;;I"process.c (proc_exec_v);T;[o;;[I"9forkした後例外を発生させてはいけない;TS; ; i; I"1996-11-19;T@ S; ; i; I"FTue Nov 19 13:28:15 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I" eval.c (mod_method_defined);T;[o;;[I"%Module#method_defined? の追加;To;;I"parse.y (call_args);T;[o;;[I"h引数が唯一のコマンドコールである時のバグ(戻 り値が展開されてしまう);TS; ; i; I"1996-11-18;T@ S; ; i; I"FMon Nov 18 13:28:18 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (str_sub);T;[o;;[I",失敗した時にnilを返していた;To;;I" string.c (str_split_method);T;[o;;[I"2検索開始位置が移動してなかった;To;;I"0ext/socket/socket.c (sock_s_getservbyaname);T;[o;;[I"まだ間違っていた;To;;0;[o;;[0o;;I"string.c (str_sub_s);T;[o;;[I"2元の文字列を置換するのを止めた;To;;I"pack.c (encodes);T;[o;;[I")領域外をアクセスしていた;TS; ; i; I"1996-11-15;T@ S; ; i; I"FFri Nov 15 17:10:35 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"bignum.c (big_divmod);T;[o;;[I",Bignumが引数の場合の対応忘れ;To;;I"(sample/ruby-mode.el (ruby-expr-beg);T;[o;;[I"(word?形式への対応が不完全;TS; ; i; I"1996-11-13;T@ S; ; i; I"FWed Nov 13 15:42:40 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (str_tr_s_bang);T;[o;;[I",tr_sでtrが行われていなかった;To;;I"eval.c (rb_eval);T;[o;;[I"%autoloadクラスのチェック;To;;I"string.c (f_sub);T;[o;;[I"0subがsub!と同じ動作になっていた;To;;I"eval.c (thread_sleep);T;[o;;[I"stopとsleepの分離;TS; ; i; I"1996-11-11;T@ S; ; i; I"FMon Nov 11 13:53:19 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"numeric.c (fix_step);T;[o;;[I".to, stepが整数以外の場合に対応;To;;I"eval.c (rb_call);T;[o;;[I"Idynamic varがdynamic scopingになっていた(これ はまずい);To;;I"string.c (str_chop_bang);T;[o;;[I"V長さ0の文字列のchopで,領域外のアクセ スが発生していた.;To;;I"parse.y (yyerror);T;[o;;[I"8割り当てた領域外をアクセスしていた;TS; ; i; I"1996-11-08;T@ S; ; i; I"FFri Nov 8 11:54:46 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_yield);T;[o;;[I"scopeをheapにコピー;TS; ; i; I"1996-11-07;T@ S; ; i; I"FThu Nov 7 09:56:53 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"numeric.c (num_coerce);T;[o;;[I":とりあえず両辺をFloatに変換することに;TS; ; i; I"1996-11-06;T@ S; ; i; I"AWed Nov 6 10:45:13 1996 Yasuo OHBA ;T@ o; ;;;[o;;I"lib/parsearg.rb;T;[o;;[I"第2引数を変更.;TS; ; i; I"1996-11-05;T@ S; ; i; I"FTue Nov 5 14:21:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-11-02;T@ S; ; i; I"FSat Nov 2 01:11:40 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"bignum.c (big_pow);T;[o;;[I"typo (dy -> dx);To;;I"bignum.c (big_divmod);T;[o;;[I"1知らない型はfloatに変換してみる;To;;I"numeric.c (fix_lshift);T;[o;;[I"1境界条件のバグ(負になっていた);To;;I"bignum.c (big_pow);T;[o;;[I".無駄なfloatへの変換をなくした;To;;I"math.c (math_atan2);T;[o;;[I"typo(x -> y);TS; ; i; I"1996-11-01;T@ S; ; i; I"FFri Nov 1 15:30:59 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"+ext/socket/socket.c (sock_gethostname);T;[o;;[I"Igethostnameがない時には unameを使ってホスト名を得る;To;;I"!ext/etc/etc.c (etc_getlogin);T;[o;;[I"EgetloginがNULLを返しても環境変数を 調べるように;To;;I"object.c (krn_clone);T;[o;;[I"/オブジェクトのフラグもコピー;To;;I"hash.c (rb_cmp);T;[o;;[I"9ハッシュの比較を`=='でなく`eql?'に変更;To;;I"math.c (Need_Float);T;[o;;[I"$Float()を使って変換する;To;;I"compar.c (cmp_gt);T;[o;;[I">以前の右辺を返す仕様の名残が残っていた;TS; ; i; I"1996-10-31;T@ S; ; i; I"FThu Oct 31 12:55:51 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"numeric.c (Init_Numeric);T;[o;;[I" typo;To;;I"eval.c (error_print);T;[o;;[I"0長すぎるtrace backを途中省略する;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"全角のrangeに対応;TS; ; i; I"1996-10-30;T@ S; ; i; I"FWed Oct 30 03:03:18 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"io.c (f_ungetc);T;[o;;[I"関数を追加;To;;I"eval.c (dyna_var_asgn);T;[o;;[I"return値忘れ;TS; ; i; I"1996-10-29;T@ S; ; i; I"FTue Oct 29 10:05:28 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (f_split);T;[o;;[I"関数splitを追加;To;;I"eval.c (rb_call);T;[o;;[I"[ネストした外側のクラス/モジュールの定数を参照 できるように;TS; ; i; I"1996-10-28;T@ S; ; i; I"FMon Oct 28 09:51:03 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (str_sub);T;[o;;[I"8offsetが文字の末尾にある時のチェック;To;;I"regex.c (re_match);T;[o;;[I"6割り当てるレジスタの数が1多かった;To;;I"io.c (io_gets);T;[o;;[I"R$/ = ""の動作をperlに合わせる(awkとはちょっと違 うらしい);To;;I"io.c (io_gets);T;[o;;[I""$/ = nilの時少し高速化;To;;I" string.c (str_split_method);T;[o;;[I"F括弧がnullにマッチした時にも無視し ないように;To;;I" string.c (str_split_method);T;[o;;[I"J括弧にマッチした分はlimitの数に含め ないように.;To;;I"numeric.c (num_coerce_bin);T;[o;;[I"Hcoerceの定義を変更,2要素の配列 [x,y]を返すように;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"*"do |aa|"の対応を改 善した.;TS; ; i; I"1996-10-26;T@ S; ; i; I"FSat Oct 26 01:43:51 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"Tビルトインクラスのサブクラスを 正しく復旧できるように;To;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"!ユーザ定義dumpの優先;To;;I"numeric.c (flo_coerce);T;[o;;[I"Float()を使って定義;To;;I"numeric.c (Init_Numeric);T;[o;;[I"&Numericのnewのundefはまずい;To;;I"%ext/marshal/marshal.c (w_symbol);T;[o;;[I"Yシンボルの内容(文字列)は一度し かファイルに書き出さない.;To;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"8if/while修飾子に対応し なくなっていた;To;;I"bignum.c (Init_Bignum);T;[o;;[I"Bignum.newを除く;To;;I"eval.c (rb_eval);T;[o;;[I">引数評価後にファイル名と行番号を再設定;To;;I"numeric.c (flo_div);T;[o;;[I" typo;To;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"def /, def `に対応;TS; ; i; I"1996-10-25;T@ S; ; i; I"FFri Oct 25 09:26:29 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I""do |aa|"に対応;To;;I"array.c (ary_aset);T;[o;;[I"1indexがfixnumの場合ちょっと高速化;To;;I" eval.c (thread_fd_writable);T;[o;;[I")書き込み前のselectチェック;To;;I"array.c (ary_assoc);T;[o;;[I" 無限ループに落ちた;To;;I"eval.c (thread_wait_for);T;[o;;[I"\selectがエラー終了した時,linux以外で の動作が正しくなかった.;TS; ; i; I"1996-10-24;T@ S; ; i; I"FThu Oct 24 08:26:48 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (backtrace);T;[o;;[I"3`$@'を文字列から配列に変更した.;To;;I"eval.c (eval);T;[o;;[I"0eval中の例外発生位置を保存する;To;;I"bignum.c (bigsub);T;[o;;[I",オペランドの大小比較の失敗;To;;I"re.c (reg_search);T;[o;;[I"E直接参照がない時にも`$~'がセットされるように;TS; ; i; I"1996-10-23;T@ S; ; i; I"FWed Oct 23 10:40:10 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"$ext/marshal/marshal.c (r_bytes);T;[o;;[I"&mallocをやめ,allocaを使う;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I" 括弧の対応を変更.;To;;0;[o;;[0S; ; i; I"1996-10-22;T@ S; ; i; I"FTue Oct 22 12:59:11 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"hash.c (hash_s_new);T;[o;;[I"$sizeを指定できるように;To;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"7dumpする深さ制限を指定できるよ うに;To;;I"array.c (ary_s_new);T;[o;;[I"-sizeを指定した時の初期化忘れ;To;;I"object.c (f_float);T;[o;;[I"big2dblの宣言忘れ.;To;;I"bignum.c (bigsub);T;[o;;[I"f大きさの近いBignum同士の演算で結果が負になる 場合に間違いがあった.;To;;I"array.c (ary_aset);T;[o;;[I"\置換先と置換元が同じ長さの時内容を shift(memmove)しないように.;To;;I")ext/marshal/marshal.c (marshal_dump);T;[o;;[I"Nファイルフォーマットにバー ジョンを埋め込むように;To;;I"#ext/marshal/marshal.c (tmpnam);T;[o;;[I"linux-aout-dln用に定義;TS; ; i; I"1996-10-21;T@ S; ; i; I"FMon Oct 21 08:40:20 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"/ext/socket/socket.c (sock_s_gethostbyname);T;[o;;[I"(hostent構造体の情報 を返す;To;;I"(sock_s_gethostbyaddr);T;[o;;[I"2IPアドレスからhostent構造体を得る;To;;I"(sock_s_getservbyaname);T;[o;;[I"getservbyname(3);TS; ; i; I"1996-10-18;T@ S; ; i; I"FFri Oct 18 10:37:36 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I")sample/ruby-mode.el (ruby-indent-to);T;[o;;[I",移動先カラムが負になるバグ;To;;I"eval.c (compile);T;[o;;[I"?evalで元ソースの行番号でエラーを表示する;TS; ; i; I"1996-10-17;T@ S; ; i; I"FThu Oct 17 09:52:28 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (eval);T;[o;;[I"1evalで文法エラーがあった時にSEGV;To;;I"lib/safe.rb;T;[o;;[I"5Restricted.evalの中だけ制限を加える.;To;;I"eval.c (error_print);T;[o;;[I"バックトレースの出力.callerで例外発生位置 を調整した時に問題が出る(そんなことをしなければ良いのだが…);To;;I"eval.c (make_backtrace);T;[o;;[I"#バックトレースの生成;TS; ; i; I"1996-10-16;T@ S; ; i; I"FWed Oct 16 12:56:22 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I""ruby-man-0.99.2-jp/index.html;T;[o;;[I"=日本語版ドキュメントの完成(長かった…);To;;I"re.c (reg_regcomp);T;[o;;[I"$=がnilの時の処理;To;;I"string.c (f_chop);T;[o;;[I"$_に対するchop;TS; ; i; I"1996-10-15;T@ S; ; i; I"FTue Oct 15 11:04:23 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-10-14;T@ S; ; i; I"FMon Oct 14 18:22:38 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_schedule);T;[o;;[I"BOW対応.selectが-1を返した時にバグ(実 はdo .. whileがcontinueで先頭にジャンプすると思い込んでいた.条 件の直前だったのね ^^);;;;;;To;;I"1sample/ruby-mode.el (ruby-mode-syntax-table);T;[o;;[I".?のsyntaxが"/"では まずいらしい;To;;I"hash.c (rb_hash);T;[o;;[I"name conflict;TS; ; i; I"1996-10-11;T@ S; ; i; I"FFri Oct 11 00:23:05 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"Q結局動いていなかった循環オブジェ クト対応を外した.;To;;I"hash.c (rb_hash);T;[o;;[I"#Fixnumと文字列の高速化;To;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"D無駄なデータの削除(フォーマッ トの非互換性);To;;I"io.c (io_readline);T;[o;;[I"戻り値の不備;To;;I"*ext/marshal/marshal.c (marshal_dumps);T;[o;;[I"MSDOS対応;To;;I"ruby.c (load_file);T;[o;;[I"MSDOS対応;TS; ; i; I"1996-10-09;T@ S; ; i; I"FWed Oct 9 17:46:27 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/extmk.rb.in (install);T;[o;;[I"#無駄なコピーを避ける;To;;I"string.c (str_sub_method);T;[o;;[I"Iマッチがなかった時のString#subの値が 違っていた.;To;;I"eval.c (obj_extend);T;[o;;[I"8extendした時にobject_extendedを呼ぶように;TS; ; i; I"1996-10-08;T@ S; ; i; I"FTue Oct 8 00:55:38 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (thread_alloc);T;[o;;[I"割当の平均化;To;;I"eval.c (thread_schedule);T;[o;;[I"joinのバグを修正;To;;I"eval.c (thread_wait_for);T;[o;;[I")selectへの割込みなどに対応;To;;I"eval.c (thread_select);T;[o;;[I">linuxのselectの挙動に対応(timeoutが変化 する);TS; ; i; I"1996-10-07;T@ S; ; i; I"FMon Oct 7 09:47:19 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (PUSH_BLOCK);T;[o;;[I",the_classの保存を忘れていた.;To;;I"ext/dbm/dbm.c (fdbm_store);T;[o;;[I"3sizeの保存する場所が間違っていた;To;;I"#ext/socket/socket.c (s_accept);T;[o;;[I"&thread対応していなかった;TS; ; i; I"1996-10-05;T@ S; ; i; I"FSat Oct 5 01:32:27 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (io_readchar);T;[o;;[I"#EOFで例外を発生させる;TS; ; i; I"1996-10-04;T@ S; ; i; I"FFri Oct 4 11:59:54 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"%ext/marshal/marshal.c (w_object);T;[o;;[I"aHashとObjectの復旧に必要なハッ シュテーブルが渡されていなかった.;To;;I"variable.c (rb_path2class);T;[o;;[I";ユーザ定義クラスの復旧に失敗していた;To;;I"variable.c (rb_path2class);T;[o;;[I"Mクラスが存在しない時のエラーをFatal からNameErrorへ.;To;;I"range.c (range_s_new);T;[o;;[I"Dfirst,lastが両方Numericの時エラーになって いた.;To;;I" range.c;T;[o;;[I"start->first, end->last;TS; ; i; I"1996-10-02;T@ S; ; i; I"FWed Oct 2 02:02:46 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I" file.c;T;[o;;[I"PDJGPPでchmod,chownを使えるように(ってDOSにchownがあるのか?);To;;I"!class.c (rb_singleton_class);T;[o;;[I"fビルトインクラスもextendしたり特異 メソッドを追加したりできるように;To;;I"#variable.c (rb_set_class_path);T;[o;;[I"Lユーザ定義のトップレベルクラスに pathを設定しない;To;;I"eval.c (eval);T;[o;;[I",例外がRuntimeErrorに化けていた;To;;I"eval.c (eval);T;[o;;[I"'eval中の例外の表現の改善;To;;I"eval.c (eval);T;[o;;[I"%eval_with_bindingとの一本化;To;;I"eval.c (rb_eval);T;[o;;[I"qクラス/モジュール定義の中から定義中のクラス/モ ジュールが参照できるように;TS; ; i; I"1996-10-01;T@ S; ; i; I"FTue Oct 1 01:40:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I" parse.y;T;[o;;[I")cur_crefが2度宣言されていた;To;;I"signal.c (trap);T;[o;;[I"-SIGSEGV,SIGBUSのない機種に対応;To;;I"io.c (Init_IO);T;[o;;[I"&引数タイプの指定間違い;TS; ; i; I"1996-09-30;T@ S; ; i; I"FMon Sep 30 15:28:00 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"config.guess,config.sub;T;[o;;[I"+$host_osが正しく設定されない;To;;I"eval.c (rb_eval);T;[o;;[I"8yieldで正しくないselfが設定されていた;To;;I"eval.c (ruby_run);T;[o;;[I"%toplevelの例外処理のバグ;TS; ; i; I"OMon Sep 30 09:13:26 1996 WATANABE Hirofumi ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-09-28;T@ S; ; i; I"FSat Sep 28 02:45:10 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"2sample/ruby-mode.el (ruby-beginning-of-block);T;[o;;[I"_ブロックの先頭に 移動(正しくインデントしていないと動作しない);To;;I"(ruby-end-of-block);T;[o;;[I" 同上;To;;I"eval.c (class_s_new);T;[o;;[I"vClass#newがイテレータとして呼ばれた時は initializeもイテレータとして呼ばれるように;To;;I"signal.c (sigsegv);T;[o;;[I"-SEGVでbacktraceを表示するように;TS; ; i; I"1996-09-27;T@ S; ; i; I"FFri Sep 27 09:51:07 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (error_print);T;[o;;[I"S引数のないraiseでメッセージが正しく表示さ れるように.;To;;I"eval.c (rb_longjmp);T;[o;;[I"3mesgがnilの時RuntimeErrorを生成する.;To;;I"eval.c (f_raise);T;[o;;[I" 引数がない時に対応;To;;I"eval.c (thread_mark);T;[o;;[I"Jstack上にないデータのアドレス変換を行って いた.;To;;I"eval.c (Init_Thread);T;[o;;[I"0割込みの間隔が1秒と長すぎた.;TS; ; i; I"1996-09-26;T@ S; ; i; I"FThu Sep 26 16:02:45 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_schedule);T;[o;;[I"Z一度ペンディングになるとフラグがクリア されていなかった.;To;;I"process.c (rb_proc_exec);T;[o;;[I"bsystem/execの引数が空文字列であった場 合,例外を発生すべきだった.;To;;I"config.sub/config.guess;T;[o;;[I"#新しいものに置き換え;TS; ; i; I"OThu Sep 26 15:41:35 1996 WATANABE Hirofumi ;T@ o; ;;;[o;;I"io.c (next_argv);T;[o;;[I"#-i.bakをBOWとDOSに対応.;TS; ; i; I"FThu Sep 26 01:31:43 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"io.c (io_sysread);T;[o;;[I"EOFで例外;To;;I"io.c (f_readline);T;[o;;[I"aEOFで例外を発生するように.getsは互換性のため nilを返すままにする;To;;I"eval.c (proc_call);T;[o;;[I"JlambdaからのreturnでIN_BLOCKフラグが立ったま まだった;To;;I"eval.c (PUSH_BLOCK2);T;[o;;[I"?threadに対応するためBlockを一度stackにコピー;TS; ; i; I"1996-09-25;T@ S; ; i; I"FWed Sep 25 11:54:11 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"parse.y (method_call);T;[o;;[I"cConst::method()形式を使えるようにしてみた. 引数括弧は省略できない.;To;;I"sample/test.rb;T;[o;;[I"AProcess.killの存在を確かめてからテストを行う;To;;I"eval.c (eval_with_binding);T;[o;;[I"q第2引数としてbinding(またはlambda)を 与えるとその環境でevalを実行するようにした;To;;I"eval.c (f_binding);T;[o;;[I"$現在のbindingを返す関数;To;;I" eval.c;T;[o;;[I"@block構造体にthe_classを保存するメンバを追加;To;;I"process.c (Init_process);T;[o;;[I")kill,wait,waitpidをProcessに移動;TS; ; i; I"1996-09-24;T@ S; ; i; I"FTue Sep 24 02:44:43 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"sample/ruby-mode.el;T;[o;;[I"iいろいろ問題が多いので以前の高速化は破棄. 別のアプローチを使った.;To;;I"lib/tk.rb (Tk.pack);T;[o;;[I"3複数のウィンドウを受け付けるpack;TS; ; i; I"1996-09-21;T@ S; ; i; I"FSat Sep 21 11:08:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (exprs);T;[o;;[I"r空文も受け付けるように文法を変更.今までは改行 の連続だけが許されていた.;TS; ; i; I"1996-09-20;T@ S; ; i; I"FFri Sep 20 11:39:18 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"re.c (Init_Regexp);T;[o;;[I"#名前つき例外を導入.;To;;I"eval.c (f_missing);T;[o;;[I"!Objectはinspectしない.;To;;I"object.c (inspect_i);T;[o;;[I"&Object#inspectでloopに対応.;To;;I"regex.c (re_search);T;[o;;[I",/^$/が""にマッチしなかった.;TS; ; i; I"1996-09-19;T@ S; ; i; I"FThu Sep 19 19:25:12 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"regex.c (re_search);T;[o;;[I"0/^$/が非空行にマッチしていた.;TS; ; i; I"1996-09-17;T@ S; ; i; I"FTue Sep 17 10:28:11 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-09-16;T@ S; ; i; I"FMon Sep 16 10:47:56 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"<演算子継続の場合の 文字列の判定のバグ;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"Celseなどの次の行の インデント計算を正しく.;TS; ; i; I"1996-09-14;T@ S; ; i; I"FSat Sep 14 08:37:19 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-09-13;T@ S; ; i; I"FFri Sep 13 08:06:03 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I""ext/socket/socket.c (tcpaddr);T;[o;;[I"&port番号にntohsをつけ忘れ;To;;I"dln.c (link_undef);T;[o;;[I"2テーブルの種類が間違っていた.;To;;I"bignum.c (bigadd);T;[o;;[I"D引き算が発生する時に計算違いが起きていた.;To;;I"parse.y (iter_do_block);T;[o;;[I"(do..endでもdynamic variableを.;To;;I"bignum.c (big_pow);T;[o;;[I"Lより正確な計算を(整数同士ではfloatに変換しな い).;TS; ; i; I"1996-09-12;T@ S; ; i; I"FThu Sep 12 13:11:55 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"#variable.c (rb_set_class_path);T;[o;;[I"vStringクラスが初期化される前に Stringを作っていた.組込みクラスにはpathはいらない;To;;I"parse.y (yylex);T;[o;;[I"0.1が0になっていた;To;;I"parse.y (yylex);T;[o;;[I"行番号の不整合;To;;I"gc.c (oblist_live_obj);T;[o;;[I"今「生きている」全部のオブジェクトを返す イテレータ.そのクラス(またはサブクラス)の全部のインスタンスを返 すeach_object_ofも定義した.;To;;I"!class.c (rb_define_class_id);T;[o;;[I"無駄なクラスを割り当てていた.結果 として未初期化のクラスオブジェクトが存在していた.;TS; ; i; I"1996-09-11;T@ S; ; i; I"FWed Sep 11 00:56:23 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"parse.y (yylex);T;[o;;[I"Hoctalの定数の検出をより正確に(090はエラーとか).;To;;I"bignum.c (big_minus);T;[o;;[I".yがxより大きい場合にエラー.;To;;I"parse.y (yylex);T;[o;;[I"2エラー行番号の表示をより正確に;To;;I"(sample/ruby-mode.el (ruby-expr-beg);T;[o;;[I"7変数名が1文字の時誤動作して いた.;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"5?/でループに落ちい たバグを修正.;To;;I"enum.c (enum_min,enum_max);T;[o;;[I"Isortのようにイテレータとしても動作す るように.;To;;I"enum.c (enum_find_all);T;[o;;[I" typo;TS; ; i; I"1996-09-10;T@ S; ; i; I"FTue Sep 10 12:07:12 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"node.h (nd_line);T;[o;;[I"NODEのlineをflagsに押し込めてオブジェクトサイ ズを小さくした.制限:32bit intのマシンの場合,ファイルの行数が 32767を越えると正常に表示されない.;To;;I" st.c;T;[o;;[I"hashとcompareの関数メンバを構造体にパック,クラス的な使い 方を行う.1 tableあたり4 byteの節約.;TS; ; i; I"1996-09-09;T@ S; ; i; I"FMon Sep 9 16:35:54 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_truncate);T;[o;;[I"K提供されない時には特別な例外を発生するよ うに.;To;;I"eval.c (Init_Proc);T;[o;;[I"3不適切な位置のlocal-jumpを例外に.;TS; ; i; I"1996-09-07;T@ S; ; i; I"FSat Sep 7 17:06:15 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (proc_call);T;[o;;[I"まだスコープがスタック上にある時には局所脱出 を有効にする.これで,procを生成してcallすることは,スコープを脱 出しない限り,yieldと同じ意味を持つことになる.;TS; ; i; I"1996-09-06;T@ S; ; i; I"FFri Sep 6 13:30:59 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I")sample/ruby-mode.el (ruby-indent-to);T;[o;;[I"Qインデントが変わらない時に はバッファを変更しない.;To;;I"(ruby-calculate-indent);T;[o;;[I"まず文字列の内部か判断してから,前の行 からパーズを行う.defunが大きくなった時の高速化.;To;;I"(ruby-in-string-p);T;[o;;[I"U文字列の内部かどうかを判断する関数(以前の parseから分離);To;;I"(ruby-parse-region);T;[o;;[I"/文字列に対する処理をはずす.;To;;I"(ruby-beginning-of-block);T;[o;;[I"ブロックの先頭に;To;;I"(ruby-end-of-block);T;[o;;[I"(ブロックの末尾に(遅い…);TS; ; i; I"1996-09-05;T@ S; ; i; I"FThu Sep 5 14:23:07 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_s_split);T;[o;;[I"([dirname,basename]にsplitする.;To;;I"eval.c (rb_eval);T;[o;;[I"evalの中でも定数の値が正しくなるように.これで 定数に関しては静的なスコープが保証されるようになった.;To;;I"st.c (rehash);T;[o;;[I"bハッシュ拡大の系数を2から1.79に.割算がより良い値 を返すように.;TS; ; i; I"FThu Sep 5 00:32:07 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-09-04;T@ S; ; i; I"FWed Sep 4 16:54:56 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"random.c (f_rand);T;[o;;[I"]Bignumやlongの範囲を越えるFloatに対する乱数も 発生できるように.;To;;I"struct.c (struct_alloc);T;[o;;[I"^Fatalではなく例外を発生させるように(通 常の使用で発生しうる).;To;;I" struct.c (struct_s_members);T;[o;;[I"oStructの特異メソッドではなく,生成 されたStructクラスの特異メソッドにした.;To;;I"st.c (st_init_table);T;[o;;[I"Hruby専用にパラメタを固定にした(サイ ズが減った);TS; ; i; I"1996-09-02;T@ S; ; i; I"FMon Sep 2 11:37:59 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"array.c (ary_shift);T;[o;;[I"=capaがあまりにも大きい時には領域をREALLOC;To;;I"(ary_pop);T;[o;;[I" 同上;To;;I"string.c (str_inspect);T;[o;;[I"+multibyte character 対応にミス.;To;;I"(str_inspect);T;[o;;[I"?unsigned charにしないと符号展開されてしまう;To;;I"parse.y (primary);T;[o;;[I"Q`::'をprimaryに移動 Foo::Bar.Bazがエラーにな らないように.;To;;I"parse.y (primary);T;[o;;[I"Dオペレータ形式の特異メソッドが定義できない;To;;I"random.c (f_rand);T;[o;;[I"maxが0の時に対応;To;;I"io.c (io_printf);T;[o;;[I"W関数を定義していたがインタプリタに登録していな かった.;To;;I"file.c (file_s_basename);T;[o;;[I"*第2引数が無い時にエラー.;TS; ; i; I"1996-08-29;T@ S; ; i; I"FThu Aug 29 10:49:40 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (expr);T;[o;;[I"vイテレータの新形式に「method do .. end」形式を採 用した.もちろん昔の形式も有効.;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"Qendの数の方が多い場 合にもエラーを起こさないように.;TS; ; i; I"1996-08-28;T@ S; ; i; I"FWed Aug 28 09:41:36 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"'numeric.c (upto,downto,step,times);T;[o;;[I"E対象がfixnumの範囲を越えても 動作するように.;TS; ; i; I"1996-08-26;T@ S; ; i; I"FMon Aug 26 10:04:37 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"missing/setenv.c (envix);T;[o;;[I"$typo(missing `== 0' for memcmp);To;;I"dir.c (dir_foreach);T;[o;;[I"2foreach(dir open -> read loop -> closeまで);To;;I"io.c (io_foreach);T;[o;;[I"3foreach(file open -> read loop -> closeまで);To;;0;[o;;[0S; ; i; I"1996-08-24;T@ S; ; i; I"FSat Aug 24 23:56:37 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"bignum.c (bigdivmod);T;[o;;[I"$FIX2INT -> INT2FIX 大間違い;TS; ; i; I"1996-08-23;T@ S; ; i; I"FFri Aug 23 18:13:03 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" regex.c (re_free_registers);T;[o;;[I"Iallocateしていない時には当然 free してはいけない.;TS; ; i; I"1996-08-22;T@ S; ; i; I"FThu Aug 22 01:20:35 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_create);T;[o;;[I"U外側から強制終了させられたthreadは cleanupする必要が無い.;TS; ; i; I"1996-08-21;T@ S; ; i; I"FWed Aug 21 09:57:28 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_create);T;[o;;[I"Vthreadを終了させた大域脱出の情報を main_threadに渡すように.;To;;I"parse.y (call_args);T;[o;;[I"最終引数に括弧を省略したメソッド呼出しを置 けるように(例: print foo bar, baz == print(foo(bar,baz)));TS; ; i; I"1996-08-20;T@ S; ; i; I"FTue Aug 20 13:37:16 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (masign);T;[o;;[I"^多重代入とrest引数の動作を合わせて空の配列を代 入するように.;To;;I"parse.y (arg);T;[o;;[I"1defined?の強度をもうちょっと強く;To;;I"eval.c (error_print);T;[o;;[I"+-wで例外名も表示するように;To;;I"eval.c (rb_eval);T;[o;;[I"新構文に対応;To;;I"(handle_rescue);T;[o;;[I"-捕捉する例外を kind_of? で同定;To;;I"parse.y (primary);T;[o;;[I"Crescueの構文を変更(同定引数の追加,複数rescue);To;;0;[o;;[0o;;I"eval.c (thread_interrupt);T;[o;;[I"NInterrupt(今はnon-local jump)は main-threadに送られるように.;To;;I"eval.c (rb_longjmp);T;[o;;[I";$! の内容を文字列から例外クラスに変更;To;;I"(rb_raise);T;[o;;[I"rb_fail から名称変更;To;;I"(rb_interrupt);T;[o;;[I"例外化;To;;I"(rb_exit);T;[o;;[I"例外化;To;;I"error.c (Init_Exception);T;[o;;[I":例外クラスの新設(文字列のサブクラス);TS; ; i; I"1996-08-19;T@ S; ; i; I"FMon Aug 19 19:40:52 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"signal.c (trap);T;[o;;[I",古いハンドラを返すように.;TS; ; i; I"1996-08-14;T@ S; ; i; I"FWed Aug 14 00:07:18 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (rb_trap_eval);T;[o;;[I"Fハンドラのためにthreadをforkすることを止 めた.;To;;I"eval.c (thread_mark);T;[o;;[I".thread毎の $!, $@ をマークし忘れ;To;;I" ext/dbm/dbm.c (fdbm_delete);T;[o;;[I"fイテレータとして呼ばれた場合,要素 が無ければブロックを評価する.;To;;I"hash.c (hash_delete);T;[o;;[I"fイテレータとして呼ばれた場合,要素が無けれ ばブロックを評価する.;To;;I"array.c (ary_delete);T;[o;;[I"fイテレータとして呼ばれた場合,要素が無けれ ばブロックを評価する.;To;;I"eval.c (rb_interrupt);T;[o;;[I"SIGINTのデフォルトをexitから特別な大域脱 出に.やはり割り込まれた位置の表示が無いのは寂しいので.;TS; ; i; I"1996-08-13;T@ S; ; i; I"FTue Aug 13 01:34:00 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (rb_exit);T;[o;;[I"=sub-thread内でのexitもstatusを保存するように;To;;I"(thread_create);T;[o;;[I"!自thread内のexitに対応;To;;I"signal.c (sighandle);T;[o;;[I"?SIGINTのデフォルトハンドラはexitするように;To;;0;[o;;[0o;;0;[o;;[0o;;I"string.c (str_aset);T;[o;;[I"l文字列の置換の対象が部分文字列でなかった時, 例外を発生させないように;To;;I"eval.c (proc_call);T;[o;;[I"PProcの中からbreak/nextは通し,他のものは通さ ないように;TS; ; i; I"1996-08-12;T@ S; ; i; I"FMon Aug 12 14:15:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"object.c (krn_type);T;[o;;[I"文字列を返す;To;;I"eval.c (thread_create);T;[o;;[I"%sub-thread内でのexitに対応;To;;I"numeric.c (fix_type);T;[o;;[I"文字列を返す;To;;I"io.c (f_p);T;[o;;[I"/デバッグ用データ表示メソッド;To;;I"eval.c (f_missing);T;[o;;[I""nil/TRUE/FALSEを特別扱い;To;;I"string.c (str_inspect);T;[o;;[I"長い文字列を短縮表示.inspectの働きを human readable stringの生成に統一(re-generatable string は正式に 無くなった).;TS; ; i; I"1996-08-10;T@ S; ; i; I"FSat Aug 10 16:54:21 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (Init_Object);T;[o;;[I"|kernel/nil/false/trueのクラス名を変更(小 文字に),rubyスクリプトからアクセスできないように.;To;;I"eval.c (rb_eval);T;[o;;[I"DCONSTANTのアクセス先を単純化.crefを使わない.;To;;I"eval.c (f_eval);T;[o;;[I"G特異メソッド内でも定数の値が正しくなるように;TS; ; i; I"1996-08-09;T@ S; ; i; I"FFri Aug 9 12:23:17 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"array.c (ary_concat);T;[o;;[I"+append -> concat Stringに合わせた;To;;I"parse.y (yylex);T;[o;;[I"!`$;'が使えなかった.;To;;I"array.c (ary_push_method);T;[o;;[I"/複数引数を受け付けるように.;To;;I"(ary_unshift);T;[o;;[I"/複数引数を受け付けるように.;To;;I"io.c (io_popen);T;[o;;[I"4IO.popenでcommand pipeが開けるように.;To;;I"object.c (Init_Object);T;[o;;[I"JKernelとNilをruby scriptからアクセスでき ないように.;TS; ; i; I"1996-08-08;T@ S; ; i; I"FThu Aug 8 01:21:47 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"object.c (f_integer);T;[o;;[I"整数への変換関数;To;;I"(f_float);T;[o;;[I"実数への変換関数;To;;I"(f_string);T;[o;;[I" 文字列への変換関数;To;;I"(f_array);T;[o;;[I"配列への変換関数;To;;I"bignum.c (big_to_i);T;[o;;[I"KFIXNUMの範囲でない時はBignumのまま返すよう に変更.;TS; ; i; I"1996-08-07;T@ S; ; i; I"FWed Aug 7 09:28:38 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"parse.y (mlhs);T;[o;;[I">「*foo = 1,2,3」タイプの多重代入も可能に.;To;;I"object.c (Init_Object);T;[o;;[I"QクラスTrue/Falseをruby scriptからアクセ スできないように.;To;;I"object.c (nil_inspect);T;[o;;[I"inspect表現は"nil"に;To;;I"io.c (io_print);T;[o;;[I"nilのprintをnilに.;To;;I"object.c (nil_to_s);T;[o;;[I"%nilの文字列表現を""に.;TS; ; i; I"1996-08-06;T@ S; ; i; I"FTue Aug 6 01:12:32 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"dir.c (dir_s_open);T;[o;;[I"Zfile descripterが足りない時にはgcしてからも う一度openしてみる.;To;;I"io.c (rb_fopen);T;[o;;[I"yすべてのfopen()についてfile descripterが足りな い時にはgcしてからもう一度openしてみる.;To;;I"&ext/socket/socket.c (Init_socket);T;[o;;[I"定数の追加.;To;;I")sample/ruby-mode.el (ruby-indent-to);T;[o;;[I"Eインデント後のカーソル位置 の調整を正しく.;To;;I"gc.c (gc);T;[o;;[I"q割込みチェックを行わない(Cコードの中で安心して malloc()が使えなくなるので).;To;;I"st.c (call_hash_func);T;[o;;[I"2signalとthreadによる割込みに対応.;To;;I"sig.h (DEFER_INTS);T;[o;;[I"#割込み禁止区間の指定;To;;I"eval.c (f_require);T;[o;;[I"mthreadによるrequireの競合に対応(最初の requireが終了するまで他のthreadは待つ).;To;;I"bignum.c (str2inum);T;[o;;[I"-0x80000000の値が負になっていた;To;;I"sprintf.c (f_sprintf);T;[o;;[I"5文字列末尾,行末の単独の`%'に対応;To;;I"bignum.c (big_cmp);T;[o;;[I"5比較の結果が逆になる時があった.;TS; ; i; I"1996-08-05;T@ S; ; i; I"FMon Aug 5 10:58:13 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (proc_exec_v);T;[o;;[I"5例外のメッセージを分かりやすく.;To;;I"ext/dbm/dbm.c (fdbm_store);T;[o;;[I"2nilを格納すると要素の削除になる;To;;I"ext/dbm/dbm.c;T;[o;;[I"#サイズをキャッシュ.;TS; ; i; I"1996-08-03;T@ S; ; i; I"FSat Aug 3 01:52:52 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_fail);T;[o;;[I"[`fail'が引数無しで呼ばれた時だけ以前の`$@'を保 存するように.;To;;I"eval.c (f_fail);T;[o;;[I"frameの調整;TS; ; i; I"1996-08-02;T@ S; ; i; I"FFri Aug 2 11:26:21 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"'ext/socket/socket.c (bsock_setopt);T;[o;;[I"AvalとしてTRUE/FALSE/Fixnumも 受け付けるように.;To;;I"&ext/socket/socket.c (Init_socket);T;[o;;[I"&SO_REUSEADDR等の定数の追加;To;;I"ext/md5/md5init.c;T;[o;;[I"Ymd5モジュール(初の複数ファイルからなるモジュー ルでもある);To;;I"ruby.h (Make_Data_Struct);T;[o;;[I"\Data: objectのinstance変数に格納 -> Data型のObjectに(Dir,Time,Proc,Thread,DBM);TS; ; i; I"1996-08-01;T@ S; ; i; I"FThu Aug 1 11:38:44 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/dbm/dbm.c (fdbm_store);T;[o;;[I"(valueが文字で無い時に対応;TS; ; i; I"1996-07-31;T@ S; ; i; I"FWed Jul 31 10:53:42 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"$ext/socket/socket.c (open_inet);T;[o;;[I"htonsが必要であった;To;;I"(tcpaddr);T;[o;;[I"ntohlで変換した;To;;I"process.c (rb_proc_exec);T;[o;;[I"execvp -> execv;TS; ; i; I"1996-07-30;T@ S; ; i; I"FTue Jul 30 17:48:33 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I" eval.c;T;[o;;[I"`$?'をthread localに;To;;I"Makefile.in (install);T;[o;;[I" install時にstripを行う;To;;I"configure.in;T;[o;;[I" install時のstripの検出;To;;I"configure.in;T;[o;;[I"NEXTSTEP対応;To;;0;[o;;[0S; ; i; I"KTue Jul 30 16:40:35 1996 SHIROYAMA Takayuki ;T@ o; ;;;[o;;I"dln.c (dln_load);T;[o;;[I"3NeXT dln(mach-o)対応.configureは未対応;TS; ; i; I"FTue Jul 30 09:46:51 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (f_system);T;[o;;[I"&複数引数もとれるように;To;;I"process.c (f_exec);T;[o;;[I"&複数引数もとれるように;To;;I"array.c (ary_append);T;[o;;[I"8配列(またはEnum)の要素を破壊的に追加;To;;I"array.c (ary_plus);T;[o;;[I"!Enumはその要素を追加;To;;I"file.c (file_s_open);T;[o;;[I"File.openを追加;To;;I"struct.c (struct_new);T;[o;;[I"FIX2INTを忘れていた;To;;I"file.c (Init_File);T;[o;;[I"exists? -> exist?;To;;I"object.c (obj_is_kind_of);T;[o;;[I"#is_kind_of? -> kind_of?, is_a?;To;;I""object.c (obj_is_instance_of);T;[o;;[I"$is_instance_of? -> instance_of?;TS; ; i; I"1996-07-29;T@ S; ; i; I"FMon Jul 29 16:40:02 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (parse_regx);T;[o;;[I"S式展開を行った場合,casefoldの設定ができて いなかった.;To;;I"object.c (true_type);T;[o;;[I""TRUE/FALSEにtypeを実装.;To;;I"parse.y (read_escape);T;[o;;[I"-3文字以内のoctalに対応(\0とか);TS; ; i; I"1996-07-26;T@ S; ; i; I"FFri Jul 26 00:31:45 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"array.c (ary_reverse_bang);T;[o;;[I"(in-placeで配列を反転させる;To;;I"(ary_sort_bang);T;[o;;[I"in-placeでsortする;To;;I"(ary_sort);T;[o;;[I"'sortした配列を返すように;To;;I"(ary_delete_at);T;[o;;[I"/指定した位置の要素を削除する;To;;I"eval.c (rb_call);T;[o;;[I"=stack深さチェックを毎回は行わないように;To;;I"error.c (Warning);T;[o;;[I"9実行中のwarningが表示されていなかった;To;;I"eval.c (compile);T;[o;;[I"例外発生を分離.;To;;I"eval.c (f_eval);T;[o;;[I"6変数rb_in_evalを正しく管理するように;To;;I"ext/dbm/dbm.c (fdbm_store);T;[o;;[I")格納するkeyを文字列に変換;To;;I"eval.c (rb_call);T;[o;;[I"無限再帰のチェックを大域脱出を行うC methodにも 対応させた.threadのstack深さチェックルーチンを流用.;To;;I"parse.y (yylex);T;[o;;[I"<第1引数のunary -/+の判定が間違っていた.;To;;I"parse.y (yylex);T;[o;;[I">unary +で数字を余計に読んでいた(ex. +5 -> 55);TS; ; i; I"1996-07-25;T@ S; ; i; I"FThu Jul 25 12:15:04 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"parse.y (yylex);T;[o;;[I"A曖昧でない引数に対して警告を出していた.;To;;I"eval.c (iterator_p);T;[o;;[I">引数で呼んでも正しい結果を返すように.;To;;I" parse.y;T;[o;;[I"/break/next/redo/retryのメソッド化.;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"nestのチェックミス;To;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"&予約語のチェックを強化;To;;I"parse.y (primary);T;[o;;[I"unless/untilの復活;TS; ; i; I"1996-07-23;T@ S; ; i; I"FTue Jul 23 18:50:10 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"Marray.c (Array#empty?), Hash.c (Hash#empty?), ext/dbm/dbm.c (DBM#empty?);T;[o;;[I"空の判定述語;To;;I"eval.c (f_unless);T;[o;;[I"%ifの逆をするイテレータ;To;;I"eval.c (f_until);T;[o;;[I"(whileの逆をするイテレータ;To;;I" parse.y;T;[o;;[I",notの優先順位をand/orより高く;To;;I"parse.y (expr);T;[o;;[I"9`!'を引数括弧を省略したcallでも有効に;TS; ; i; I"1996-07-22;T@ S; ; i; I"FMon Jul 22 10:15:38 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"array.c (ary_print_on);T;[o;;[I"&OFSのNILチェックが不完全;To;;I"ruby.c (load_file);T;[o;;[I"A標準入力からのスクリプトが空の時に対応.;To;;I"ruby.c (proc_options);T;[o;;[I"r-wでは引数無しの時には標準入力からスクリ プトをとる(-vではたんに終了する).;To;;I"array.c (ary_compact);T;[o;;[I",nilの要素を取り除くメソッド;To;;I"array.c (ary_nitems);T;[o;;[I"/nilでない要素を数えるメソッド;TS; ; i; I"1996-07-20;T@ S; ; i; I"FSun Jul 20 00:51:53 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (proc_options);T;[o;;[I"-w optionを追加;To;;I" parse.y;T;[o;;[I"@{}が閉じていない時には展開しない文字列を;TS; ; i; I"1996-07-19;T@ S; ; i; I"FFri Jul 19 16:16:05 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"lib/find.rb;T;[o;;[I"$石塚版(pruneの拡張付き);To;;I"file.c (test_l);T;[o;;[I""lstatで調べないとね.;To;;I"eval.c (f_throw);T;[o;;[I"$第2引数を省略可能に.;To;;I"parse.y (str_extend);T;[o;;[I"{}のネストに対応;TS; ; i; I"1996-07-18;T@ S; ; i; I"FThu Jul 18 18:25:46 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"parse.y (str_extend);T;[o;;[I"O文字列中の式展開に \" ' ` / を含む事ができ るように.;TS; ; i; I"1996-07-16;T@ S; ; i; I"FTue Jul 16 15:55:31 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"0正規表現内のエスケープ に対応;To;;0;[o;;[0S; ; i; I"1996-07-12;T@ S; ; i; I"FFri Jul 12 10:06:19 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"io.c (f_select);T;[o;;[I"引数のclose check.;To;;I"ruby.c (load_file);T;[o;;[I"V#!行の引数チェックを第1引数に限定(実をいうと DOS改行対策);TS; ; i; I"1996-07-10;T@ S; ; i; I"FWed Jul 10 17:18:35 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I",time.c (time_s_timegm/time_s_timelocal);T;[o;;[I"&時間を生成するメソッド;TS; ; i; I"1996-06-17;T@ S; ; i; I"FMon Jun 17 15:59:20 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"parse.y (yyerror);T;[o;;[I"#エラー表示の簡略化.;TS; ; i; I"1996-06-12;T@ S; ; i; I"FWed Jun 12 14:11:01 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"signal.c (rb_trap_exit);T;[o;;[I"5trap 0はthreadを生成せずに処理する.;TS; ; i; I"1996-06-07;T@ S; ; i; I"FFri Jun 7 10:17:01 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"array.c/hash.c (indexes);T;[o;;[I"g配列1引数のパターンを無くした.配列の 場合は`*ary'を使ってもらおう.;To;;I"!eval.c (thread_wait_threads);T;[o;;[I"amain_threadが終了する前に他の threadを待つ(強制的には終了させない).;To;;I"(ruby_run);T;[o;;[I"i他のthreadを待っている間にシグナルが来たら,全thread を強制終了させる.;To;;I"eval.c (rb_fail);T;[o;;[I"-メソッド名を`$!'に埋め込む.;To;;I"eval.c (thread_create);T;[o;;[I"Smain_threadのコンテクストがセーブされな い場合があった.;To;;I"process.c (f_sleep);T;[o;;[I"Q時間を指定せず,threadがひとつしかない状況 にも対応.;To;;I"eval.c (thread_create);T;[o;;[I"|create後,fnを呼び出す前にcontext switch が起きると違うcontextでfnが実行されてしまうバグ.;TS; ; i; I"1996-06-03;T@ S; ; i; I"FMon Jun 3 08:03:17 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"struct.c (struct_s_def);T;[o;;[I"Vメンバの指定を文字列,シンボル(FIXNUM) 双方で可能にした.;To;;I"ext/etc/etc.c (Init_etc);T;[o;;[I":構造体オブジェクトをGCから保護した.;To;;I"error.c (rb_sys_fail);T;[o;;[I";nil/FALSEを引数として受け付けるように.;TS; ; i; I"1996-06-01;T@ S; ; i; I"IThu Dec 12 14:43:51 1996 Jun Kuroda ;T@ o; ;;;[o;;I"lib/tk.rb;T;[o;;[I"'wish4.2も探索候補に含める;To;;I"config.guess;T;[o;;[I"JCC対応;TS; ; i; I"1996-05-30;T@ S; ; i; I"FThu May 30 16:19:08 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_select);T;[o;;[I"EINTRに対応.;TS; ; i; I"1996-05-29;T@ S; ; i; I"FWed May 29 11:04:51 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (f_catch);T;[o;;[I""catch/throwを実装した.;TS; ; i; I"1996-05-28;T@ S; ; i; I"FTue May 28 13:30:52 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (thread_cleanup);T;[o;;[I"Smain threadが終了すると他のthreadも終了 することの明確化.;To;;I"signal.c (trap);T;[o;;[I"SIGINTのデフォルトの設定ミス(本当にSIG_DFLでは まずかった).rubyではちゃんとハンドルしないと.;To;;I"eval.c (thread_interrupt);T;[o;;[I"ASIGINTはmain_threadに例外を発生させる ように.;TS; ; i; I"1996-05-27;T@ S; ; i; I"FMon May 27 15:13:31 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (thread_status);T;[o;;[I"Nthreadの状態を返すメソッド.threadの終了 を待たない.;To;;I"eval.c (thread_value);T;[o;;[I"<一種のpromiseを実装するためのメソッド.;To;;I"eval.c (thread_join);T;[o;;[I"m待っているthreadが例外を起こした時には, joinがその例外を発生するように.;To;;I"eval.c (thread_create);T;[o;;[I"8threadでの例外をpropagateしないように.;TS; ; i; I"1996-05-24;T@ S; ; i; I"FFri May 24 10:47:53 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"enum.c (Init_Enumerable);T;[o;;[I"$`size' as alias to the `length';To;;I"!eval.c (thread_save_context);T;[o;;[I"0`$@', `$!'をスレッド毎にセーブ.;To;;I"eval.c (superclass);T;[o;;[I")エラー表示をより親切に.;TS; ; i; I"1996-05-23;T@ S; ; i; I"FThu May 23 10:38:41 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"eval.c (superclass);T;[o;;[I"Vエラー時にスーパークラス名を(分かれば)表示 するように.;TS; ; i; I"1996-05-22;T@ S; ; i; I"FWed May 22 19:48:42 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (superclass);T;[o;;[I"Aスーパークラスの指定子を`:'から`<'に変更.;TS; ; i; I"1996-05-21;T@ S; ; i; I"FTue May 21 09:27:59 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/thread.rb;T;[o;;[I":threadをサポートするクラス(Mutex, Queue).;TS; ; i; I"1996-05-20;T@ S; ; i; I"FMon May 20 09:39:49 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"time.c (time_cmp);T;[o;;[I"/浮動小数点数も扱えるように.;To;;I"(time_minus);T;[o;;[I":Time - Timeが浮動小数点数を返すように.;TS; ; i; I"1996-05-17;T@ S; ; i; I"FFri May 17 15:40:10 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (rb_proc_exec);T;[o;;[I"NThread対応時にexecの直前に ITIMER_VIRTUALをリセットする.;TS; ; i; I"1996-05-14;T@ S; ; i; I"FTue May 14 02:12:44 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"signal.c (sighandle);T;[o;;[I"zSIGINTに対してデフォルトで例外を発生させる のをやめ,status 130でexitするようにした.;To;;I"eval.c (thread_schedule);T;[o;;[I"8Threadのバグはほとんどとれたようだ.;TS; ; i; I"1996-05-10;T@ S; ; i; I"FFri May 10 11:21:08 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (thread_schedule);T;[o;;[I"ユーザレベルThread機能.効率はともかく 移植性はある.今後,thread間の通信機能を実装する予定.;TS; ; i; I"1996-05-02;T@ S; ; i; I"FThu May 2 21:22:31 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"time.c (time_timeval);T;[o;;[I"Lstruct timevalを直接返すように(static変数 を使わない).;TS; ; i; I"1996-05-01;T@ S; ; i; I"FWed May 1 17:27:32 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (f_sleep);T;[o;;[I"6整数以外のtimeを指定できるように.;TS; ; i; I"1996-04-25;T@ S; ; i; I"FThu Apr 25 08:19:15 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (file_s_dirname);T;[o;;[I"^ファイル名が"/"を含まない時,"."を返す ように(GNU dirnameの仕様).;To;;I"file.c (file_s_basename);T;[o;;[I"Fまだnilと0を混同しているソースが残って いた.;To;;I"parse.y (exprs);T;[o;;[I"&エラーリカバリを追加.;TS; ; i; I"1996-04-24;T@ S; ; i; I"FWed Apr 24 15:51:05 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (str_chop_bang);T;[o;;[I"3CRLFの場合2 bytesをchop!するように.;To;;I")ext/socket/socket.c (tcp_svr_s_open);T;[o;;[I"Fまだnilと0を混同しているソー スが残っていた.;TS; ; i; I"1996-04-23;T@ S; ; i; I"FTue Apr 23 18:14:25 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"pack.c (pack_pack);T;[o;;[I";"A/a"のバグ.余計なpaddingが入っていた.;TS; ; i; I"1996-04-18;T@ S; ; i; I"FThu Apr 18 13:02:11 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"configure.in;T;[o;;[I"cアーキテクチャ依存部を別ディレクトリにインストール するように.;To;;I"parse.y (yyerror);T;[o;;[I"Qエラー発生時にエラー行とその位置を表示するよ うに.;TS; ; i; I"1996-04-17;T@ S; ; i; I"FWed Apr 17 14:22:42 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"defines.h;T;[o;;[I"LSAFE_SIGHANDLEを無くし,危険な選択はできないように.;To;;I"io.c (io_ungetc);T;[o;;[I"新機能.;To;;I"ruby.c (load_file);T;[o;;[I"Jファイルからの読み込み方式が変わったのに対応.;To;;I"parse.y (compile_file);T;[o;;[I"mファイルからの入力を一度全部読み込むのを 止めて,getsを使うことにした.;TS; ; i; I"1996-04-10;T@ S; ; i; I"FWed Apr 10 17:40:11 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-04-09;T@ S; ; i; I"FTue Apr 9 09:54:30 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"parse.y (iter_block);T;[o;;[I"fイテレータブロックの指定をメソッド呼び出し に限定.文法の明確化.;To;;I"eval.c (rb_eval);T;[o;;[I"5条件式の正規表現の比較をinline化.;To;;I"eval.c (rb_eval);T;[o;;[I">defined? の 定義情報(種別)を文字列で返す.;To;;I" node.h;T;[o;;[I"7NODE_BEGIN -> NODE_RESCUE, NODE_ENSUREに分離.;To;;I"eval.c (rb_eval);T;[o;;[I"Aoption -n/-pのトップレベルループのinline展開.;To;;I"parse.y (cond0);T;[o;;[I";条件式中の文字列は比較の対象としない;TS; ; i; I"1996-03-27;T@ S; ; i; I"JWed Mar 27 12:33:54 1996 Tairo Nomura ;T@ o; ;;;[o;;I"defines.h;T;[o;;[I"NeXT対応;TS; ; i; I"FWed Mar 27 10:02:44 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" parse.y;T;[o;;[I"(予約語の変更 continue -> next;TS; ; i; I"1996-03-25;T@ S; ; i; I"FMon Mar 25 07:34:37 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (parse_regx);T;[o;;[I"'o(once)オプションを追加.;TS; ; i; I"1996-03-22;T@ S; ; i; I"FFri Mar 22 14:25:35 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"eval.c (dyna_var_defined);T;[o;;[I"E動的ローカル変数の定義チェック用ルー チン.;To;;I"parse.y (gettable);T;[o;;[I"teval()の中での動的ローカル変数(既に値を持っ ているもの)の検出に失敗していた.;TS; ; i; I"1996-03-19;T@ S; ; i; I"FTue Mar 19 10:46:47 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"re.c (reg_s_new);T;[o;;[I"'compile時にsegmentation fault.;To;;I"parse.y (str_extend);T;[o;;[I"$いつもevalするように.;TS; ; i; I"1996-03-13;T@ S; ; i; I"FWed Mar 13 11:00:42 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (str_extend);T;[o;;[I"8文字列中の式展開の不備を無くした.;To;;I" parse.y;T;[o;;[I"2下手なエラーリカバリを外した.;TS; ; i; I"1996-03-12;T@ S; ; i; I"FTue Mar 12 12:30:20 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rescue);T;[o;;[I";間違ってensureでも例外を捕捉していた.;TS; ; i; I"1996-03-06;T@ S; ; i; I"FWed Mar 6 12:11:03 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (var_extend);T;[o;;[I"変数展開"#{}"で,任意の式を書けるようにし た,これで「変数」展開では無くなっちゃったなあ.;To;;I"regex.c (init_syntax_once);T;[o;;[I"`_'をwordに追加.;To;;I"!regex.c (re_compile_pattern);T;[o;;[I"<`\w',`\W'の判定をsyntax tableを使 うように.;TS; ; i; I"1996-02-27;T@ S; ; i; I"FTue Feb 27 10:15:32 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (obj_inspect);T;[o;;[I"O表示するインスタンス変数が無い時には, to_sを使う.;To;;I"configure.in;T;[o;;[I"#dlnの検出を自動的に.;TS; ; i; I"1996-02-26;T@ S; ; i; I"FMon Feb 26 19:55:33 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (readin);T;[o;;[I"Kread(2)で一度にファイルが読み込めない場合に対応.;TS; ; i; I"1996-02-24;T@ S; ; i; I"FSat Feb 24 14:47:18 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-02-23;T@ S; ; i; I"FFri Feb 23 11:26:02 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"class.c (rb_define_module);T;[o;;[I"bC言語で定義されたモジュールのPATHの 設定忘れ.文字列化でcore dump.;To;;I"eval.c (mod_include);T;[o;;[I"戻り値をnilに.;To;;0;[o;;[0S; ; i; I"1996-02-22;T@ S; ; i; I"FThu Feb 22 21:03:42 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"array.c (ary_times);T;[o;;[I"F「配列*文字列」がjoinと同じ働きをするように.;TS; ; i; I"1996-02-21;T@ S; ; i; I"FWed Feb 21 11:18:09 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"configure.in ;T;[o;;[I"fileCountをcache.;To;;I"configure.in ;T;[o;;[I"=LinuxでELF環境を自動的に検出できるよう.;TS; ; i; I"1996-02-20;T@ S; ; i; I"OTue Feb 20 11:18:09 1996 Mitsuhide Satou ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-02-16;T@ S; ; i; I"FFri Feb 16 08:50:01 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (obj_inspect);T;[o;;[I"fインスタンス変数を持たないオブジェクトも 正しく表示されるように.;TS; ; i; I"1996-02-14;T@ S; ; i; I"FWed Feb 14 16:56:44 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"`条件式の`2..2'など左辺成立直後に右辺が成立する パターンにバグ.;TS; ; i; I"1996-02-13;T@ S; ; i; I"FTue Feb 13 18:22:22 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-02-09;T@ S; ; i; I"FFri Feb 9 21:32:55 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/tkscrollbox.rb;T;[o;;[I"_スクロールでtclの設定を行い,ruby<->wishの不 要な通信を無くした.;TS; ; i; I"1996-02-07;T@ S; ; i; I"FWed Feb 7 10:26:52 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (str_aref);T;[o;;[I".indexをunsigned intでとっていた.;To;;I"string.c (str_aref);T;[o;;[I"1範囲外のindexに対してnilを返す.;To;;I" parse.y (special_local_set);T;[o;;[I"\`$_'が宣言無しに使われた場合に対応. 関数をvariable.cから移動.;To;;I"string.c (str_sub);T;[o;;[I"/置換開始位置が間違っていた.;TS; ; i; I"1996-02-06;T@ S; ; i; I"FTue Feb 6 16:17:31 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"0コメントの読み飛ばしの バグ.;TS; ; i; I"1996-02-02;T@ S; ; i; I"FFri Feb 2 18:35:28 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"variable.c (lastline_get);T;[o;;[I"I`$_'を`$~'と同じようにSCOPEローカルな 変数にした.;TS; ; i; I"1996-02-01;T@ S; ; i; I"FThu Feb 1 14:14:07 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" file.c;T;[o;;[I" statのcacheをやめた.;TS; ; i; I"1996-01-31;T@ S; ; i; I"FWed Jan 31 07:13:08 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (proc_s_new);T;[o;;[I"oprocの中でyieldを呼ばれた時にcore dumpして いた.とりあえず例外を発生させる.;To;;I"variable.c (rb_class2path);T;[o;;[I" singleton classに対応.;To;;I"ext/etc/etc.c (Init_etc);T;[o;;[I"6struct_defineのターミネータがnilだった;To;;0;[o;;[0o;;I"ext/marshal/marshal.c;T;[o;;[I"-TRUE/FALSEを吐き出せるように.;To;;I" eval.c (rb_get_method_body);T;[o;;[I"jキャッシュのalias対応,いままでは aliasはキャッシュに入っていなかった.;TS; ; i; I"1996-01-30;T@ S; ; i; I"FTue Jan 30 09:55:13 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (rb_eval);T;[o;;[I"DNODE_BLOCK - tail recursive(というほどでもない が).;To;;I"io.c (io_pipe);T;[o;;[I"pipe(2)を実装した.;To;;I"eval.c (rb_eval);T;[o;;[I"PQselfをなくした.thread対応への第一歩.先は遠 いが….;To;;I"eval.c (proc_call);T;[o;;[I"procの中でのreturnはprocの終了を意味するよう に.ただし,procからのyieldの中でのreturnは例外を発生する.;TS; ; i; I"1996-01-24;T@ S; ; i; I"FWed Jan 24 11:33:48 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"dir.c (dir_each);T;[o;;[I"0`$_'の値を変更するのをやめた.;To;;I"io.c (f_readlines);T;[o;;[I"MnilとFALSEの分離のあおりで無限ループに落ちて いた.;To;;I"ruby.c (ruby_options);T;[o;;[I"$0の設定ミス.;TS; ; i; I"1996-01-23;T@ S; ; i; I"FTue Jan 23 15:28:21 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"w``は文字列を引数とするメソッド(`)呼び出しのシ ンタックスシュガーであるとした.;To;;I"ruby.c (addpath);T;[o;;[I"^`-I'オプションでディレクトリが「前に」追加され るように変更.;TS; ; i; I"1996-01-19;T@ S; ; i; I"FFri Jan 19 11:23:12 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"dln.c (load_1);T;[o;;[I"4N_INDR対応(出来たような気がする).;TS; ; i; I"1996-01-18;T@ S; ; i; I"FThu Jan 18 18:14:20 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.texi;T;[o;;[I"+FALSEとnilの分離を反映した.;TS; ; i; I"1996-01-16;T@ S; ; i; I"FTue Jan 16 17:39:23 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1996-01-10;T@ S; ; i; I"FWed Jan 10 15:31:48 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (reg_match);T;[o;;[I"7マッチしなかった時の戻り値はFALSE.;To;;I"object.c (rb_equal);T;[o;;[I"(`0 == nil'がTRUEになるバグ.;TS; ; i; I"1996-01-09;T@ S; ; i; I"FTue Jan 9 00:44:58 1996 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;0;[o;;[0o;;I"struct.c (struct_new);T;[o;;[I"3引数を0で終る必要が無くなった.;To;;I"object.c (inspect_i);T;[o;;[I"Rオブジェクトのチェックのバグ(Fixnumでcore dumpしていた).;To;;I"range.c (range_to_s);T;[o;;[I"Rangeの表示を改善.;To;;I"object.c (true_inspect);T;[o;;[I"!TRUEの表示を`TRUE'に.;TS; ; i; I"1996-01-08;T@ S; ; i; I"FMon Jan 8 15:02:33 1996 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"numeric.c (fix_mul);T;[o;;[I"Odivide by zero errorが発生した(オーバーフロー 検出のバグ);To;;0;[o;;[0S; ; i; I"1995-12-31;T@ S; ; i; I"FSun Dec 31 00:08:49 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"[`::'では,そのクラスで定義された定数を参照する ように変更.;To;;I"string.c (Init_String);T;[o;;[I"$eachをeach_lineに戻した.;TS; ; i; I"1995-12-28;T@ S; ; i; I"FThu Dec 28 12:31:55 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"-caseの演算子を`=~'から`==='に.;To;;I"variable.c (rb_const_set);T;[o;;[I"\クラス定数の再定義を許す(同じクラスで は不可).警告は出す.;TS; ; i; I"1995-12-27;T@ S; ; i; I"FWed Dec 27 13:27:52 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"ext/tkutil/tkutil.c;T;[o;;[I"Uwishがあってもなくても一応コンパイルだけは するように.;To;;I"lib/tk.rb;T;[o;;[I">環境変数PATHから{wish|wish4.0}を探すように.;TS; ; i; I"1995-12-26;T@ S; ; i; I"FTue Dec 26 01:03:42 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I",sample/ruby-mode.el (ruby-parse-region);T;[o;;[I"#正規表現の検出強化.;To;;I"numeric.c (fix_mul);T;[o;;[I"G乗算のオーバーフロー検出アルゴリズムのバグ.;To;;I"ext/extmk.rb.in;T;[o;;[I"3./install-shを使う場合のPATHを調整.;To;;I"Makefile.in (install);T;[o;;[I"1lib/*.rbを一つずつインストール.;To;;I"io.c (io_each_line);T;[o;;[I"2イテレータの戻り値をnilで統一.;TS; ; i; I"1995-12-22;T@ S; ; i; I"FFri Dec 22 10:34:32 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"variable.c (f_untrace_var);T;[o;;[I"N第2引数を指定すると特定のtraceを削除 できるように.;To;;I"variable.c (f_trace_var);T;[o;;[I"5第2引数がnilの時,traceを削除する.;To;;I",lib/tk.rb (file_readable/file_writable);T;[o;;[I"G第2引数をnilにすること によるevent handlerの削除.;To;;I"parse.y (variable);T;[o;;[I"yドキュメントに`__FILE__'と`__LINE__'が残って いた.`caller(0)'で代用したはずだったのに.;To;;I"eval.c (f_eval);T;[o;;[I"$!のリセット.;To;;I"error.c (err_sprintf);T;[o;;[I"3勝手に"\n"を付加するのを止めた.;To;;I"parse.y (f_arglist);T;[o;;[I"n引数リスト直後のif/whileの読み間違い. lex_stateの値が設定されていなかった.;TS; ; i; I"1995-12-21;T@ S; ; i; I"FThu Dec 21 00:56:57 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"lib/tkscrollbox.rb;T;[o;;[I"/パッケージに入ってなかった.;To;;I"configure.in;T;[o;;[I".FILE structureのチェックにバグ.;To;;I"Makefile.in (clean);T;[o;;[I"'ext以下をinstallしていた.;To;;I"ext/socket/extconf.rb;T;[o;;[I"/Solarisにおける-lnlsのチェック.;To;;I"array.c (beg_len);T;[o;;[I")バグがあった….悲しい.;To;;0;[o;;[0o;;I"eval.c (rb_eval);T;[o;;[I"7rescueのロジックをrb_rescue()に一元化.;TS; ; i; I"1995-12-20;T@ S; ; i; I"FWed Dec 20 19:30:58 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"Makefile.in;T;[o;;[I":不要なコンパイルの回避(より完全に).;To;;I""class.c (singleton_class_new);T;[o;;[I"`single'->`singleton';TS; ; i; I"1995-12-19;T@ S; ; i; I"FTue Dec 19 07:14:33 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"io.c (closed?);T;[o;;[I"rubyの変換関数の用意.;To;;I"ext/extmk.rb.in (install);T;[o;;[I".installの2重コンパイルの回避.;To;;I"array.c (range_beg_len);T;[o;;[I"4range指定の不適切なエラーを訂正.;To;;I"string.c (str_aref);T;[o;;[I"%range指定のバグを削除.;To;;I"lib/tk.rb (tk_split_list);T;[o;;[I" Tclのリストに対応.;TS; ; i; I"1995-12-18;T@ S; ; i; I"FMon Dec 18 09:58:12 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"dln.c (dln_load);T;[o;;[I"HP対応(未確認);To;;I"eval.c (Init_Proc);T;[o;;[I"BlockをProcに改名.;TS; ; i; I"1995-12-16;T@ S; ; i; I"FSat Dec 16 13:46:14 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"@retryでイテレータの再実行ができるように.;TS; ; i; I"1995-12-15;T@ S; ; i; I"FFri Dec 15 17:14:30 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" eval.c;T;[o;;[I"+proc:lambdaの親しみやすい別名;TS; ; i; I"1995-12-14;T@ S; ; i; I"FThu Dec 14 17:21:55 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (dyna_var_asgn);T;[o;;[I"イテレータブロック内で最初に初期化された ローカル変数の有効範囲をそのブロック内に限定.これでlambdaと呼べ ないことはない.;TS; ; i; I"1995-12-13;T@ S; ; i; I"FWed Dec 13 02:30:58 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I" gc.c;T;[o;;[I""autoloadのマークミス.;To;;I"lib/tk.rb;T;[o;;[I"0wishからの複数行の戻り値に対応;To;;I"lib/tkcomposite.rb;T;[o;;[I"複合widget;To;;I"variable.c (rb_class2path);T;[o;;[I")ICLASSに対応してなかった.;To;;I"eval.c (ruby_run);T;[o;;[I"exit(0)のバグ;TS; ; i; I"1995-12-09;T@ S; ; i; I"FSat Dec 9 01:21:24 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"'ext/marshal/marshal.c (dumps|load);T;[o;;[I"e文字列に対する入出力を可能に した(ただし実はファイル経由なのだ).;TS; ; i; I"1995-12-08;T@ S; ; i; I"FFri Dec 8 18:29:11 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/marshal/marshal.c;T;[o;;[I"2シンボルを一度だけ初期化する.;TS; ; i; I"1995-12-07;T@ S; ; i; I"FThu Dec 7 07:58:50 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (yylex);T;[o;;[I"g第1引数の正規表現の認識にエラーがあった.同時に 状態数を減らした.;To;;I"string.c (str_sub);T;[o;;[I"2置換でスキップ幅が大きすぎた.;TS; ; i; I"1995-12-06;T@ S; ; i; I"FWed Dec 6 15:14:23 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (str_sub_method);T;[o;;[I"bsub/gsub(!なし)は置換が行なわれなかっ た時,置換前の文字列を返す.;TS; ; i; I"1995-12-05;T@ S; ; i; I"FTue Dec 5 00:55:15 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (yylex);T;[o;;[I">括弧を省略した時の引数展開の`*'に対応.;To;;I"eval.c (ruby_run);T;[o;;[I"0EXITハンドラ内での例外に対応.;To;;I"bignum.c (big_cmp);T;[o;;[I",BignumとFixnumの比較で落ちる.;TS; ; i; I"1995-12-04;T@ S; ; i; I"FMon Dec 4 14:21:18 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (call_op);T;[o;;[I"oコンパイル時の定数式の展開をやめた.労多くし て益少ないと判断したので.;TS; ; i; I"1995-11-30;T@ S; ; i; I"FThu Nov 30 01:35:15 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"lib/tk.rb;T;[o;;[I"/{Radio,Check}Buttonのvariableの実装.;To;;I"eval.c (rb_yield_0);T;[o;;[I"0Block.callがネストした時のバグ.;To;;I"io.c (f_select);T;[o;;[I"9常に配列3つをふくむ配列を返すように;To;;I"lib/tk.rb;T;[o;;[I"$fileeventをruby側で実装.;TS; ; i; I"1995-11-29;T@ S; ; i; I"FWed Nov 29 17:53:23 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"variable.c (rb_ivar_get);T;[o;;[I"*selfを常に指定するように.;TS; ; i; I"1995-11-14;T@ S; ; i; I"FTue Nov 14 00:07:29 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/tk.rb;T;[o;;[I"Tk4.0対応;TS; ; i; I"1995-11-13;T@ S; ; i; I"FMon Nov 13 16:23:32 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-11-09;T@ S; ; i; I"FThu Nov 9 23:26:01 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"gc.c (gc_mark);T;[o;;[I"1モジュールのMixinのマーク忘れ.;To;;I"parse.y (f_arglist);T;[o;;[I"Wメソッド定義の引数を括弧で括らなくても良い ようにした.;TS; ; i; I"1995-11-08;T@ S; ; i; I"FWed Nov 8 00:17:51 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (rb_yield_0);T;[o;;[I"5未初期化のローカル変数があった.;To;;I"eval.c (rb_eval);T;[o;;[I"pendig signalのチェックをeval実行後に行うよう にした.でないとシグナルの発生と検出が遠く離れてしまう事がある.;To;;I" parse.y;T;[o;;[I"Aclass文のsuperclass部を定数から式に拡張した.;To;;I"lib/tk.rb;T;[o;;[I"~Tkのほぼ全ウィンドウクラスに対応.キャンバスとテキス ト上のオブジェクトが残っている.;TS; ; i; I"1995-11-07;T@ S; ; i; I"FTue Nov 7 08:18:37 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"signal.c (trap);T;[o;;[I"/ブロックを指定できるように.;TS; ; i; I"1995-11-06;T@ S; ; i; I"FMon Nov 6 16:44:00 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (f_caller);T;[o;;[I"#呼出元の情報を得る.;To;;I"ext/tkutil/tkutil.c;T;[o;;[I"Owishのstderr出力を監視することで,エラー処 理を行う.;To;;I"ext/tkutil/tkutil.c;T;[o;;[I"(wishとの通信部をCで記述.;TS; ; i; I"1995-11-04;T@ S; ; i; I"FSat Nov 4 01:12:59 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"}インデントの計算を もう少しスマートにした(正規表現のチェック,継続行のチェック).;To;;I"eval.c (rb_call);T;[o;;[I"Z無限再帰を避けるため,関数のネストレベルの制限 を行なう.;To;;I"lib/tk.rb;T;[o;;[I":Tkインターフェース.まだ不完全だが.;To;;I"eval.c (rb_yield_0);T;[o;;[I"空のBlockのバグ.;To;;I"0sample/ruby-mode.el (ruby-calculate-indent);T;[o;;[I"6行末の演算子による 行継続に対応.;TS; ; i; I"1995-11-03;T@ S; ; i; I"FFri Nov 3 12:56:21 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"eval.c (rb_call);T;[o;;[I"/本体が空の関数の実行にバグ.;To;;I"parse.y (var_extend);T;[o;;[I"2文字列の末尾の変数展開のバグ.;To;;I"variable.c (rb_gvar_set);T;[o;;[I"=traceの評価時にに変数値を与えるように.;To;;I"eval.c (f_require);T;[o;;[I"#ruby scriptのrequireにbug.;To;;I"variable.c (rb_const_get);T;[o;;[I"'モジュールのinclude対策.;TS; ; i; I"1995-10-19;T@ S; ; i; I"FThu Oct 19 13:56:06 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"dln.c (dln_load);T;[o;;[I"HP対応でのtypo.;TS; ; i; I"1995-10-18;T@ S; ; i; I"FWed Oct 18 17:39:39 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"object.c (krn_type);T;[o;;[I">オブジェクトの動的な型を返すメソッド.;TS; ; i; I"1995-10-17;T@ S; ; i; I"FTue Oct 17 00:48:18 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ruby.c (proc_options);T;[o;;[I"1-X オプション.chdirだけを行う.;To;;I"re.c (reg_search);T;[o;;[I"漢字コードを途中で変更できるように.コンパイ ル時のコードが変更された時にはマッチの直前に正規表現の再コンパイ ルを行う.定数KCODEから変数$KCODEへ.;To;;I" parse.y;T;[o;;[I"'()のなかにcompexprを許す.;To;;I"re.c (reg_search);T;[o;;[I"&メモリリークを直した.;TS; ; i; I"1995-10-13;T@ S; ; i; I"FFri Oct 13 13:19:19 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (str_sub);T;[o;;[I" 文字列置換にバグ.;To;;I"string.c (str_strip_bang);T;[o;;[I"K文字列の後ろの長さの調整が行われてい なかった.;To;;I"re.c (reg_search);T;[o;;[I"$&, $1...はローカルに束縛するようになった.呼 び出したメソッドでのマッチは現スコープの$&などの値に影響しない. マッチの情報をスコープ外で得たいときには$~を使って束縛情報を持ち 出す必要がある.;TS; ; i; I"1995-10-12;T@ S; ; i; I"FThu Oct 12 00:33:33 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (reg_search);T;[o;;[I"SString:split, String:indexでは$&, $1...が変化 しないようにした.;To;;I"io.c (rb_str_setter);T;[o;;[I"2setterの仕様が変更になっていた.;To;;I"variable.c (f_trace_var);T;[o;;[I"L第2引数を省略してイテレータとして呼べ るように.;TS; ; i; I"1995-10-11;T@ S; ; i; I"FWed Oct 11 11:50:59 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"variable.c (var_setter);T;[o;;[I"5引数が間違っていた.致命的バグ.;To;;I"io.c (pipe_open);T;[o;;[I"j$stderrの値が変更されている時にはそちらを 子プロセスのstderrに設定する.;TS; ; i; I"1995-10-09;T@ S; ; i; I"FMon Oct 9 13:06:33 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"object.c (mod_to_s);T;[o;;[I"aモジュール内のモジュールは`::'を使った表現 で表示されるように.;To;;I"variable.c (rb_gvar_set);T;[o;;[I"p代入によるループが発生しないように, trace内での代入ではtraceを評価しない.;To;;I"struct.c (struct_equal);T;[o;;[I"=structのequal判定にクラスの一致を含めた.;TS; ; i; I"1995-10-07;T@ S; ; i; I"FSat Oct 7 00:18:32 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (rb_eval);T;[o;;[I"Pdefined?の機能を拡張(yieldのチェック,superの 存在など).;TS; ; i; I"1995-10-06;T@ S; ; i; I"FFri Oct 6 12:06:47 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"st.c (st_foreach);T;[o;;[I"J要素を削除した時に要素数が変化していなかった.;To;;I"hash.c (hash_values);T;[o;;[I"0バグ修正.keysを返していた….;To;;I"parse.y (call_op);T;[o;;[I"Adefined? の引数では定数の畳み込みを行わない;To;;0;[o;;[0o;;0;[o;;[0S; ; i; I"1995-10-05;T@ S; ; i; I"FThu Oct 5 00:29:43 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"gc.c (looks_pointerp);T;[o;;[I")ヒープチェックの高速化.;To;;I"struct.c (Fstruct_aset);T;[o;;[I""構造体に対する`[]='.;To;;I"(struct_set);T;[o;;[I",構造体メンバに対する代入.;TS; ; i; I"1995-10-04;T@ S; ; i; I"FWed Oct 4 09:54:07 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c (Frequire);T;[o;;[I"Gダイナミックロードのエラーチェックを厳しく.;To;;I" struct.c;T;[o;;[I"structの構造を完全に書き換えた.以前は順序付きの id->valueの連想配列であったが,今度は構造体毎に新しいクラスを生 成するようにした.;To;;I" parse.y;T;[o;;[I"h`::'の意味をAssocの生成からクラス(モジュール)内の定数ア クセスへ変更.;To;;I" assoc.c;T;[o;;[I"なくす.;TS; ; i; I"1995-10-03;T@ S; ; i; I"FTue Oct 3 13:31:08 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"variable.c (Ftrace_var);T;[o;;[I"Etrace_var, 大域変数への書き込みhookを設 定する.;To;;I"variable.c;T;[o;;[I"Wglobal_entryの構成を書き換えた.これでtrace_varを実 装できる.;To;;I"file.c (Ffile_stat);T;[o;;[I"@"&"で直前のfstatの結果も参照できるように.;TS; ; i; I"1995-09-29;T@ S; ; i; I"FFri Sep 29 14:15:13 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"dln.c (dln_load);T;[o;;[I"HAIXとHPに対応したコードを入れた(動作は未確認).;To;;I"ext/extmk.rb.in;T;[o;;[I"A必要に応じて,定数EXTLIBを定義するように.;To;;I"dln.c (dln_load);T;[o;;[I"8dln独立に書き換える.将来の拡張用.;To;;I" (load_1);T;[o;;[I"dln_a_outにおいてソースコードでライブラリを明示的にロー ドする必要がないように変更した.;TS; ; i; I"1995-09-28;T@ S; ; i; I"FThu Sep 28 13:31:37 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"sample/ruby-mode.el;T;[o;;[I"5もっとましなhilit19対応(正規表現).;TS; ; i; I"1995-09-27;T@ S; ; i; I"AWed Sep 27 04:12:44 1995 Takahasi Mamoru ;T@ o; ;;;[o;;I"sample/test.rb;T;[o;;[I"5echoで-nを使わないように(SysV対策).;To;;I"ext/extmk.rb.in;T;[o;;[I"sub -> sub!;TS; ; i; I"1995-09-26;T@ S; ; i; I"@Tue Sep 26 19:12:42 1995 Yasuo OHBA ;T@ o; ;;;[o;;I"dln.c (dln_find_1);T;[o;;[I"3`.', `..'から始まるパスに対応した.;TS; ; i; I"1995-09-25;T@ S; ; i; I"FMon Sep 25 12:33:03 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-09-23;T@ S; ; i; I"FSat Sep 23 10:00:18 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"eval.c (Fmod_modfunc);T;[o;;[I"メソッドをprivateにし,同時に特異メソッド も定義するメソッド.パッケージ的使い方のモジュール用.;TS; ; i; I"1995-09-22;T@ S; ; i; I"FFri Sep 22 11:02:44 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"lib/find.rb;T;[o;;[I"'findを提供するライブラリ;To;;I"$variable.c (rb_define_variable);T;[o;;[I"hookの設定を分離.;To;;I"(add_hook);T;[o;;[I"C1変数に対して複数のhookを設定できるように.;TS; ; i; I"1995-09-21;T@ S; ; i; I"FThu Sep 21 00:22:11 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (Fstr_frozen);T;[o;;[I"T文字列が更新不可かどうかをチェックする述 語メソッド.;To;;I"hash.c (Fhash_aset);T;[o;;[I"ckeyが文字列の時,キーの内容が変化しないよう に,dupしてfreezeする.;TS; ; i; I"1995-09-20;T@ S; ; i; I"FWed Sep 20 16:12:44 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I""ext/extmk.rb.in (have_header);T;[o;;[I" キャッシュにバグ.;To;;I"#ext/extmk.rb.in (have_library);T;[o;;[I"&引数の順序が変わった.;TS; ; i; I"1995-09-14;T@ S; ; i; I"FThu Sep 14 18:00:59 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I""object.c (obj_is_instance_of);T;[o;;[I"his_member_ofから名称変更. Wed Sep 13 15:44:35 1995 Yukihiro Matsumoto ;To;;I"string.c (Fstr_tr_bang);T;[o;;[I"2範囲外の文字に対する変換バグ.;TS; ; i; I"1995-09-12;T@ S; ; i; I"FTue Sep 12 14:27:58 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (Sfile_expand_path);T;[o;;[I"7expand_file_name -> expand_pathに名 称変更.;To;;I"enum.c (Fenum_member);T;[o;;[I",includes? -> member? に名称変更.;To;;I"string.c (Fstr_each_byte);T;[o;;[I"StringはByteArrayであるという基本に戻っ て,eachの定義をeach_byteに変更した.今までのeachはeach_lineでア クセスできる.;TS; ; i; I"1995-09-11;T@ S; ; i; I"FMon Sep 11 18:31:17 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"file.c (cache_stat);T;[o;;[I"jファイル名として"&"を指定すると直前の stat(2)の結果を再利用するように.;TS; ; i; I"1995-09-08;T@ S; ; i; I"FFri Sep 8 14:18:51 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ruby.texi;T;[o;;[I"1`!', `?'に対応してアップデート.;To;;I" parse.y;T;[o;;[I"defined -> defined?;To;;I" file.c;T;[o;;[I"jFileOpの一文字メソッドをなくす.一文字テストはtestメソッ ドにまかせる.;To;;I"parse.y (yylex);T;[o;;[I"]変数名の後ろに`?'も許す.述語メソッドの後ろに `?'を追加する.;TS; ; i; I"1995-09-07;T@ S; ; i; I"FThu Sep 7 20:01:33 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" string.c;T;[o;;[I"文字列の中身を更新するメソッドの名前の終りに`!'を付加. `!'の無いバージョンも用意した.;To;;I" parse.y;T;[o;;[I")変数名の後ろに`!'を許す.;TS; ; i; I"1995-09-06;T@ S; ; i; I"FWed Sep 6 14:12:19 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"string.c (Fstr_dup);T;[o;;[I" 文字列の複製を作る;To;;I"(Fstr_freeze);T;[o;;[I"A文字列の更新不可属性を設定できるように.;To;;I"(Fsub/Fgsub);T;[o;;[I"=$_の内容をdupしてから置換を行うように.;To;;I"ruby.h (CLONESETUP);T;[o;;[I"flagsの状態もコピー;TS; ; i; I"1995-09-05;T@ S; ; i; I"FTue Sep 5 01:27:50 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"sample/test.rb;T;[o;;[I"#失敗の検出を厳しく.;TS; ; i; I"1995-08-25;T@ S; ; i; I"FFri Aug 25 14:31:02 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"process.c (Ffork);T;[o;;[I"8イテレータとしても動作するように.;To;;0;[o;;[0o;;I"signal.c (sig_beg);T;[o;;[I"Gハンドラが設定されている時には再設定しない.;To;;I"&ext/extmk.rb.in (create_makefile);T;[o;;[I"Vshared objectのリンクの際に `-l'オプションを指定するように.;To;;I"signal.c (trap);T;[o;;[I"8`EXIT'で終了処理を行う設定が出来る.;TS; ; i; I"1995-08-16;T@ S; ; i; I"FWed Aug 16 00:13:22 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"signal.c (sig_beg);T;[o;;[I"Yデフォルトではbegin節の中でだけSIGINTを捕捉 するように変更.;To;;I"io.c (io_ctl);T;[o;;[I"4fcntlを持たないシステムにも対応.;To;;0;[o;;[0o;;I"+string.c (Sstr_new,str_sub,Fstr_crypt);T;[o;;[I"?引数を自動的に文字列に変 換するように.;TS; ; i; I"1995-08-12;T@ S; ; i; I"FSat Aug 12 00:44:02 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (Fstr_crypt);T;[o;;[I"PD cryptを用意した.;TS; ; i; I"1995-08-11;T@ S; ; i; I"FFri Aug 11 14:37:03 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"assoc.c (Fassoc_clone);T;[o;;[I"'assocもcloneできるように.;To;;I" io.c;T;[o;;[I">マクロREAD_DATA_PENDINGの定義を変更(Linux対応);To;;I"io.c (io_fptr_finalize);T;[o;;[I";T@ o; ;;;[o;;I"eval.c (rb_provided);T;[o;;[I"u複数のfeatureをロードすると無限ループに落 ちるという単純な(しかし凶悪な)ミス.;To;;I"ext/extmk.rb.in (install);T;[o;;[I"]dlopen対応を行った.今までdlnにしか十 分に対応していなかった.;TS; ; i; I"1995-08-08;T@ S; ; i; I"FTue Aug 8 14:17:06 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-08-07;T@ S; ; i; I"FMon Aug 7 12:47:41 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I" parse.y;T;[o;;[I"resque -> rescue.恥ずかしいがtypoを残しておくわけには いかないよなあ.なんで今まで気がつかなかったのか….;TS; ; i; I"1995-08-03;T@ S; ; i; I"FThu Aug 3 18:18:05 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"missing/nt.c;T;[o;;[I".NT移植用の関数群をまとめた.;To;;I"variable.c (rb_const_get);T;[o;;[I"また例外を発生するようにした.defined がある以上例外を発生させない理由がないので(例外が発生した方がタ イプミスの検出などの点で有利).;To;;I"variable.c (Fautoload);T;[o;;[I"1autoloadを実装.今度は使えるか.;TS; ; i; I"1995-07-31;T@ S; ; i; I"FMon Jul 31 15:44:21 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (arg_ambiguous);T;[o;;[I"J第1引数のあいまいさを警告(-vオプション で有効).;To;;I"eval.c (rb_eval);T;[o;;[I"l`-v'オプションをつけて`def'が呼ばれると不必要 なエラーメッセージが出た.;To;;I"parse.y (yylex);T;[o;;[I"Kメソッドの第1引数の判定をもうちょっと賢くした.;TS; ; i; I"1995-07-28;T@ S; ; i; I"FFri Jul 28 19:04:43 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (yylex);T;[o;;[I"a`+/-/['の直前に空白が来るかどうかで動作を変更し た(混乱のもとか?);TS; ; i; I"1995-07-26;T@ S; ; i; I"FWed Jul 26 09:21:23 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"sprintf.c (Fsprintf);T;[o;;[I".`%s'で'\0'を含む文字列に対応.;To;;I"pack.c (Fpck_pack);T;[o;;[I"$packの要素確保のバグ.;To;;I"eval.c (Floop);T;[o;;[I")無限ループのイテレータ.;To;;I"io.c (next_argv);T;[o;;[I"l存在しないファイル名が指定された時のエラー処理 が行われていなかった.;TS; ; i; I"1995-07-24;T@ S; ; i; I"FMon Jul 24 17:37:34 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"ext/extmk.rb.in (install);T;[o;;[I"&拡張モジュールをstatic linkする場合は そのモジュールが既にrequireされたのと同じようにfeatureを設定する. これで拡張モジュールの機能が必要な時には(static linkされているか どうかにかかわらず)requireすればよくなる.;To;;I"eval.c (Frequire);T;[o;;[I"`$"'に格納する文字列をフルパスでなくフィーチャ 名とする.rubyスクリプトをロードした時には`.rb',オブジェクトを ロードした時には`.o'をフィーチャ名に付加する.lispのrequireと provideの働きに(少し)近い.;TS; ; i; I"1995-07-20;T@ S; ; i; I"FThu Jul 20 12:50:05 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"Makefile.in (test);T;[o;;[I"&make testができるように.;To;;I"struct.c (struct_new);T;[o;;[I" typo.;To;;I"eval.c (rb_eval);T;[o;;[I"_`defined'を追加.メソッド/変数/定数の定義状態 を知る事が出来る.;TS; ; i; I"1995-07-19;T@ S; ; i; I"FWed Jul 19 18:04:01 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-07-17;T@ S; ; i; I"FMon Jul 17 14:53:51 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"variable.c (rb_const_get);T;[o;;[I"未初期化のCONSTANTの値をnilにした.し かし,今後また例外に戻す可能性はある.要はoptionalなクラス/モジュー ルが存在するかチェックしたいだけなんだな.;To;;I"st.c (int);T;[o;;[I"Hgrow_factorを固定にした(大嶋さんのマシンに対応).;TS; ; i; I"1995-07-14;T@ S; ; i; I"FFri Jul 14 00:48:40 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"ext/extmk.rb.in;T;[o;;[I")キャッシュのバグを修正.;To;;I"parse.y (var_extend);T;[o;;[I"!#{$数字}に対応した.;To;;I"dln.c (dln_load_1);T;[o;;[I"M`Init_FILENAME'だけを有効に.`init_*'は今後 実行しない.;To;;I"ext/etc/etc.c ;T;[o;;[I"~Etcモジュールを拡張モジュールとして分離.実はNT 対応への布石だったりするかもしれない.;TS; ; i; I"1995-07-11;T@ S; ; i; I"FTue Jul 11 17:12:48 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0o;;I"signal.c (trap);T;[o;;[I" typo.;TS; ; i; I"1995-07-07;T@ S; ; i; I"FFri Jul 7 10:08:51 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;0;[o;;[0o;;I"ruby.texi;T;[o;;[I"Ctexinfo documentを提供.specとruby.1は無くなった.;To;;I"signal.c (Ftrap);T;[o;;[I"2割込み禁止中の例外発生に対応.;To;;I"eval.c (Flambda);T;[o;;[I"=Blockオブジェクトを返す.Block.newと同義.;TS; ; i; I"1995-07-06;T@ S; ; i; I"FThu Jul 6 00:35:03 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"signal.c (Ftrap);T;[o;;[I"lSIG_DFLの処理を変更.SIGINTへのデフォルトハン ドラを用意(例外を発生する).;To;;I" file.c (Sfile_expand_fname);T;[o;;[I";パス名を絶対パスに展開するメソッド.;To;;I"(Sfile_basename);T;[o;;[I"=basenameを得るメソッド.拡張子も外せる.;To;;I"(Sfile_dirname);T;[o;;[I"basenameの反対.;To;;I"eval.c (rb_call);T;[o;;[I"1argument評価中の例外発生に対応.;To;;I"file.c (Ftest);T;[o;;[I"`M', `A', `C'を追加.;TS; ; i; I"1995-07-04;T@ S; ; i; I"FTue Jul 4 12:36:33 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"file.c (Ftest);T;[o;;[I",ファイルテスト用メソッド.;To;;I"ruby.c (proc_options);T;[o;;[I"$`-r'オプションを追加.;To;;I"parse.y (f_args);T;[o;;[I"&デフォルト引数を追加.;To;;I"eval.c (rb_call);T;[o;;[I"B該当する引数が無い時,rest引数の値をnilに.;To;;I"numeric.c (num_equal);T;[o;;[I"Y数値以外との比較で例外が発生していた. FALSEを返すように.;To;;I"eval.c (masign);T;[o;;[I"<多重代入のrest部の動作がおかしかった.;TS; ; i; I"1995-06-17;T@ S; ; i; I"FSat Jun 17 01:03:16 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"parse.y (gettable);T;[o;;[I"w未初期化のローカル変数の参照(独立した識別子) は正式にメソッド呼び出しとした.;To;;I"parse.y (read_escape);T;[o;;[I"tokenbufを使わないように修正.それにとも ない,`\C-x',`\M-x'などのエスケープ表現を復活.これでドキュメン トと実際の処理系が一致した.;TS; ; i; I"1995-06-15;T@ S; ; i; I"FThu Jun 15 15:42:00 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (re_regcomp);T;[o;;[I"%cacheのチェックを改善.;TS; ; i; I"1995-06-12;T@ S; ; i; I"FMon Jun 12 18:50:51 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-06-10;T@ S; ; i; I"FSat Jun 10 00:25:01 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (re_regcomp);T;[o;;[I"2cache判定に`$='の値も反映させた.;To;;I"sample/test.rb;T;[o;;[I"test suite作成.;TS; ; i; I"1995-06-09;T@ S; ; i; I"?Fri Jun 9 15:58:34 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"re.c (re_regcomp);T;[o;;[I"+cacheの判定が間違っていた.;TS; ; i; I">Fri Jun 9 00:01:35 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I"eval.c (rb_yield);T;[o;;[I"block構造体に初期化していないメンバ(iter)があっ たのでイテレータのネストが正しく動作しなかった.;TS; ; i; I"1995-06-08;T@ S; ; i; I">Thu Jun 8 00:59:03 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[ o;;I"re.c (=~);T;[o;;[I"XString以外との比較がFALSEを返すように(例外を発生して いた).;To;;I"extmk.rb.in;T;[o;;[I"M判定した値をファイルにキャッシュするようにした.;To;;I"assoc.c (to_a);T;[o;;[I";T@ o; ;;;[ o;;I"eval.c (rb_fail);T;[o;;[I"<例外処理後も`$!'をクリアしないように.;To;;I"(rb_fail);T;[o;;[I"6`$!'変数に最後に改行を追加しない.;To;;I"io.c (Fprint);T;[o;;[I"gprivateメソッドに変更.引数を取らない時の動作を変 更(`$_'を出力する).;To;;I"(Fio_print);T;[o;;[I"+出力先指定のprintメソッド.;To;;I"(Fio_printf);T;[o;;[I",出力先指定のprintfメソッド.;To;;I" parse.y;T;[o;;[I"Anot演算子の追加.優先順位の低い`!'演算子.;TS; ; i; I"1995-06-05;T@ S; ; i; I"?Mon Jun 5 19:00:55 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-06-02;T@ S; ; i; I"?Fri Jun 2 17:52:03 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ruby.c (proc_options);T;[o;;[I"K-Iオプションで`$:'への追加される順番を修 正した.;TS; ; i; I">Fri Jun 2 00:36:34 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"while修飾子の動作を通常のwhileと同じにした.ただし, begin式へのwhile修飾子だけはdo..while型のループとなる.;TS; ; i; I"1995-05-31;T@ S; ; i; I"?Wed May 31 18:36:30 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-05-29;T@ S; ; i; I"?Mon May 29 18:39:37 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/extmk.rb.in (install);T;[o;;[I"E拡張モジュールもインストールできるよ うに.;TS; ; i; I"1995-05-26;T@ S; ; i; I"?Fri May 26 14:43:01 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"process.c (Fsystem);T;[o;;[I"z戻り値をサブプロセスの失敗/成功を表す真偽値 にした.終了ステータスは`$?'で得る.;TS; ; i; I"1995-05-23;T@ S; ; i; I"?Tue May 23 10:58:11 1995 Yukihiro Matsumoto ;T@ o; ;;;[ o;;I"string.c (Fstr_upto);T;[o;;[I"/無限ループに陥らないように.;To;;I"parse.y (cond);T;[o;;[I"`||'などの右辺に制御式が書けるように,条件式がか ならずしも値を持たなくても良いようにした.;To;;I"ext/marshal/marshal.c;T;[o;;[I"オブジェクトの読み書きをメソッドの再定義 でコントロールできるように.インスタンスが`_dump_to'というメソッ ドを定義している時はそちらを使うように.;To;;I"ext/extmk.rb.in;T;[o;;[I"static linkも設定できるような仕様にした. ext/Setupというファイルにディレクトリ名を記述するとそのディレク トリに存在するモジュールはstatic linkされる(はず).;To;;I"eval.c (rb_eval);T;[o;;[I"S`..'を文法に組み込み,`..'と`...'の動作をperl に合わせた.;TS; ; i; I"1995-05-20;T@ S; ; i; I">Sat May 20 01:22:48 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I"io.c (select);T;[o;;[I"6timeout時と割込み時の動作の明確化.;TS; ; i; I"1995-05-19;T@ S; ; i; I"?Fri May 19 15:33:23 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;0;[o;;[0S; ; i; I">Fri May 19 00:48:08 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I"string.c (Fstr_each);T;[o;;[I"イテレータブロック中で文字列の変更が行われ たかどうかをチェック.ポインタの値が変わっていれば例外を発生する.;To;;I"ruby-mode.el;T;[o;;[I"$ruby-electric-braceの新設.;TS; ; i; I"1995-05-18;T@ S; ; i; I"?Thu May 18 12:27:23 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"string.c (Fstr_tr);T;[o;;[I"trの置換対象に`\0'を含む時に正しく置換を行わ ないバグがあった.更に置換文字列をASCII順に指定しないと動作しな い問題もあった.結果としてtrを書き換えたので,copyrightの問題は 無くなった(と思う).;To;;I"gc.c (gc);T;[o;;[I"the_scopeをマークしていなかったので,ローカル変数の指 しているオブジェクトが間違って開放される場合があった.;To;;I" gc.c (mark_locations_array);T;[o;;[I"若干の高速化.;TS; ; i; I"1995-05-15;T@ S; ; i; I"?Mon May 15 11:43:49 1995 Yukihiro Matsumoto ;T@ o; ;;;[o;;I"ext/extmk.rb.in;T;[o;;[I",Dynamic Loadモジュールのコンパイル用チェックを 行うruby script.autoconfに近い感覚で使える.新しいモジュールを 提供したい人はextの下にディレクトリを作るだけで良い.必須のファ イルはファイル名の一覧を記録した`MANIFEST'というファイルのみ.必 要に応じて`depend'(ファイルの依存関係を記述するファイル gcc -MM の出力),`extconf.rb'(コンパイル用にライブラリと関数の存在チェッ クするファイル)を用意できる.;To;;I"eval.c (rb_call);T;[o;;[I"_rubyメソッドの引数チェック時に未初期化の jmp_bufを使用していた.;To;;I" parse.y;T;[o;;[I"5`or'と`and'の優先順位を同じにした.;TS; ; i; I"1995-05-03;T@ S; ; i; I">Wed May 3 18:21:36 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" dln.c;T;[o;;[I"+Linuxでは`__.SYMDEF/'であった.;To;;I" dln.c;T;[o;;[I"=system callのエラーチェックを忘れていた.;TS; ; i; I"1995-04-26;T@ S; ; i; I"?Wed Apr 26 09:50:56 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"イテレータブロックの変数宣言を`|'で括るようにした.これ でイテレータ変数がない時は宣言そのものを省略できる.文法の変更は 久しぶりだ.;TS; ; i; I"1995-04-25;T@ S; ; i; I"?Tue Apr 25 12:04:17 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"eval.c(require);T;[o;;[I"loadからダイナミックロードの機能を移してきた. さらに拡張子の補完機能を追加してユーザがdln/dlopenの差を意識する 必要のないようにした.;To;;I"string.c(sub,sub);T;[o;;[I"8イテレータとしても動作するように.;To;;I" object.c;T;[o;;[I"init_object -> initialize.;TS; ; i; I"1995-04-24;T@ S; ; i; I"?Mon Apr 24 14:22:39 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I" io.c;T;[o;;[I"Solarisのstdioの動作が違うようだ.signalでEOFを返してしま う….perlでも同様の問題がある.;TS; ; i; I"1995-04-21;T@ S; ; i; I"?Fri Apr 21 20:04:39 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;0;[o;;[0o;;I" signal.c;T;[o;;[I"0trapがなくなっていた.うーむ.;To;;I"configure;T;[o;;[I"Solaris 2.3対応.;To;;I" io.c;T;[o;;[I""#elifのないcppもある.;To;;I" dir.c;T;[o;;[I")autoconf 2.xへの対応が不十分;TS; ; i; I"1995-04-20;T@ S; ; i; I"?Thu Apr 20 12:31:24 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I"env.h, gc.c, regex.c;T;[o;;[I"IRIXへの移植対応;To;;I"configure;T;[o;;[I"udlopen用にpicを生成するoptionの検出のため,システムタ イプをチェックするように.;TS; ; i; I"1995-04-18;T@ S; ; i; I"?Tue Apr 18 19:08:17 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"gc.c(xrealloc);T;[o;;[I"/ptr=nilの時,malloc()と同じ働きを;To;;I"array.c(astore);T;[o;;[I"^空の配列の0番目の要素に代入するとsize=0で realloc()を呼んでいた.;To;;I"configure, glob.c;T;[o;;[I"4Solaris 2.xでコンパイルできるように;TS; ; i; I"1995-04-10;T@ S; ; i; I"?Mon Apr 10 18:36:06 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-04-07;T@ S; ; i; I"?Fri Apr 7 13:51:08 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"cons.c->assoc.c;T;[o;;[I"consの余計な機能は外してpairとしての機能だけを 残した.Enumerableをincludeするのもやめた.;To;;I"string.c(esub);T;[o;;[I"D文字列置換イテレータ.perlのs///eの相当する.;TS; ; i; I"1995-04-05;T@ S; ; i; I"?Wed Apr 5 11:35:21 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;0;[o;;[0o;;I" file.c;T;[o;;[I"4utimesがない時はutimeを使うように.;TS; ; i; I"1995-04-03;T@ S; ; i; I"?Mon Apr 3 15:19:41 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I"regexp.c(re_match);T;[o;;[I"Wバグがあった.match_2を削除した時にenbugして いたのだった.;TS; ; i; I"1995-03-27;T@ S; ; i; I"?Mon Mar 27 15:41:43 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" dict.c;T;[o;;[I"'Dict->Hashに全面的に移行.;TS; ; i; I"1995-03-23;T@ S; ; i; I"?Thu Mar 23 20:30:00 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"dbm.c,socket.c;T;[o;;[I"&extディレクトリに分離.;To;;I"configure;T;[o;;[I"&dln周りのチェックの強化;To;;I" dln.c;T;[o;;[I"8initの呼び出しをdlopen()版に合わせた.;TS; ; i; I"1995-03-20;T@ S; ; i; I"?Mon Mar 20 17:45:08 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"configure;T;[o;;[I"%autoconf 2.2に対応(一部).;TS; ; i; I"1995-03-17;T@ S; ; i; I"?Fri Mar 17 15:56:44 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" dln.c;T;[o;;[I"dlopenのあるマシンではそちらを使うように.ただし,ちゃん と動いているかどうかは自信がない.;To;;I" regex.c;T;[o;;[I")virtual concatinationをやめた.;TS; ; i; I"1995-03-16;T@ S; ; i; I"?Thu Mar 16 11:32:57 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I"eval.c,regex.c;T;[o;;[I")gccでのコンパイルエラー.;To;;I" io.c;T;[o;;[I"cinplace-editで拡張子が指定されない場合,もとのファイルを削 除する.;TS; ; i; I"1995-03-15;T@ S; ; i; I"?Wed Mar 15 14:59:18 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I"eval.c(method_missing);T;[o;;[I"!unknownから名称変更.;To;;I" eval.c(single_method_added);T;[o;;[I"特異メソッドが定義された時に呼ばれ るメソッド.hookとして使える.実際に定義される直前に呼ばれる.;TS; ; i; I"1995-03-14;T@ S; ; i; I"?Tue Mar 14 14:46:44 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"ruby.c(proc_options);T;[o;;[I"引数の解析を自分でやることにより引数指定の 方法がperlに近付いた.getopt_longはもう使わない.;To;;I"dir.c(glob);T;[o;;[I"0`{}'のネストを許すようにした.;TS; ; i; I"1995-03-13;T@ S; ; i; I"?Mon Mar 13 17:56:25 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" glob.c;T;[o;;[I"Glob(ワイルドカードオブジェクト)はなくなった.ワイルドカー ドの展開はDir.glob(文字列)を使う.ワイルドカードのマッチは正規表 現で代用.;TS; ; i; I"1995-03-10;T@ S; ; i; I"?Fri Mar 10 18:35:46 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I" eval.c;T;[o;;[I"EMathのようなモジュールは自分自身でextendする.;To;;I" eval.c;T;[o;;[I"クラスやモジュールを定義する時,既に同名のものがあれば追 加定義となるように.ただし.superクラスの違いなどはチェックする.;To;;I" regex.c;T;[o;;[I" debug.;To;;I" math.c;T;[o;;[I"定数PIとEを定義.;TS; ; i; I"1995-03-09;T@ S; ; i; I"?Thu Mar 9 21:35:12 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" regex.c;T;[o;;[I"MEUC,SJISモードでは0x80以上の8進,16進リテラルを禁止.;To;;I" regex.c;T;[o;;[I"Vクラス内でも数値リテラル・文字クラスが使えるようした.;TS; ; i; I"1995-03-08;T@ S; ; i; I"?Wed Mar 8 17:39:05 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" regex.c;T;[o;;[I"x\200など括弧の数以上の表現は8進リテラルと解釈する.ただ し,\1から\9までは例外.;To;;I" regex.c;T;[o;;[I"7\9以上のリファレンスも有効にした.;TS; ; i; I"1995-03-07;T@ S; ; i; I"?Tue Mar 7 14:26:01 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"eval.c(public/private);T;[o;;[I"~スコープ制御メソッドの名称変更.静的なア クセスも出来るようにしてみたが,不採用.;TS; ; i; I"1995-03-06;T@ S; ; i; I"?Mon Mar 6 19:34:32 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"eval.c(inlcude);T;[o;;[I"メソッド化.動的にモジュールをインクルードでき るように.さらに任意のオブジェクトにもモジュールをインクルードで きるメソッド `extend'も用意した.;To;;I" parse.y;T;[o;;[I"6文法からincludeを削除.メソッド化.;TS; ; i; I"1995-02-28;T@ S; ; i; I"?Tue Feb 28 15:35:10 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"A配列,連想配列の最後に`,'をおけるように.;TS; ; i; I"1995-02-24;T@ S; ; i; I"?Fri Feb 24 13:15:43 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0S; ; i; I"1995-02-23;T@ S; ; i; I"?Thu Feb 23 11:19:19 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" eval.c;T;[o;;[I"3resque節のselfの値が間違っていた.;To;;I"eval.c(rb_clear_cache);T;[o;;[I"8キャッシュのクリアし忘れがあった.;To;;I" eval.c;T;[o;;[I"定数のスコープをクラス内の静的スコープに変更した.これに よって,特異メソッドから参照される定数は,レシーバのクラスではな く,定義されたスコープのクラスの定数となる.;TS; ; i; I"1995-02-22;T@ S; ; i; I">Wed Feb 22 00:51:38 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" regex.c;T;[o;;[I"mignorecaseを正規表現のコンパイル前に指定しないと正しく 動作しない.修正.;To;;I"string.c(toupper,tolower);T;[o;;[I" bug fix.;To;;I"ENV,VERSION;T;[o;;[I"%readonly変数から定数へ.;TS; ; i; I"1995-02-21;T@ S; ; i; I"?Tue Feb 21 18:56:56 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" io.c(STDIN, STDOUT, STDERR);T;[o;;[I"定数として定義.;To;;I"io.c(select);T;[o;;[I" bug fix.;To;;0;[o;;[0S; ; i; I"1995-02-20;T@ S; ; i; I"?Mon Feb 20 16:10:14 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"parse.y(yylex);T;[o;;[I"定数を`%識別子'から,第1文字が大文字の識別子に変 更.それにともないクラスは定数となった.;To;;I" eval.c;T;[o;;[I"Nクラス定義内のselfがクラス定義外部のthe_classだった.;To;;I"variable.c(rb_name_class);T;[o;;[I">クラス名をインスタンス変数に格納する.;TS; ; i; I"1995-02-16;T@ S; ; i; I"?Thu Feb 16 15:36:17 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"~BLOCKをbraceで表現する文法に変更したものを作ってみる. MLに提示してみるが反応がない.;To;;I"object.c(do,forever);T;[o;;[I"なくした.;TS; ; i; I"1995-02-15;T@ S; ; i; I"?Wed Feb 15 13:20:49 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"re.c(new);T;[o;;[I"第2引数が与えられて,かつnilでないときだけ設定するよ うに(以前はnilの時にも設定を行なっていた).;To;;I"parse.y(parse_regexp);T;[o;;[I"i正規表現リテラルで大文字小文字を無視する かどうか指定できるように.;TS; ; i; I"1995-02-14;T@ S; ; i; I">Tue Feb 14 00:55:33 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"(compexpr) -> (expr).;TS; ; i; I"1995-02-10;T@ S; ; i; I"?Fri Feb 10 16:30:00 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"ruby.c(load_file);T;[o;;[I"Escriptを読み込む時だけ"#!"の解析を行うように.;To;;I"ruby.c(readin);T;[o;;[I"ファイル読み込み時に先頭に"#!"があり,その行が "ruby"という文字列を含む時,rubyに引数が与えられていれば,その引 数も有効になる.;To;;I"parse.y(yylex);T;[o;;[I"rコメント行の終りが`\'であった時,次の行に継続し ているとみなすようにした.;TS; ; i; I"1995-02-09;T@ S; ; i; I"?Thu Feb 9 16:18:37 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I" parse.y;T;[o;;[I"|protectをbeginに変更.begin..endは例外処理だけでなく, 文括弧としても働くことになった.;TS; ; i; I"1995-02-01;T@ S; ; i; I"?Wed Feb 1 19:48:24 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0o;;I"string.c(str_replace);T;[o;;[I"W置き換える文字列の長さが等しい時メモリコ ピーをしない.;To;;I"string.c(rindex);T;[o;;[I"バグ修正.;TS; ; i; I"1995-01-30;T@ S; ; i; I"?Mon Jan 30 11:23:05 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"parse.y(value_expr);T;[o;;[I""ifのチェックを追加.;To;;I"gc.c(gc_mark);T;[o;;[I"#free cellの扱いにバグ.;To;;I" parse.y;T;[o;;[I"F文法の変更(よりシンプルに).例外を減らした.;TS; ; i; I"1995-01-26;T@ S; ; i; I">Thu Jan 26 00:52:55 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"引数として連想配列を置くことができるように.この場合, 連想配列リテラルが最終引数となる.;To;;I" parse.y;T;[o;;[I"?配列参照の`[]'内が空でもよいことにした.;TS; ; i; I"1995-01-24;T@ S; ; i; I"?Tue Jan 24 14:45:15 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"class.c(rb_include_module);T;[o;;[I"{`-v'を指定した時にはincludeしたモジュー ルとクラス定数が衝突していないかチェックする.;TS; ; i; I"1995-01-23;T@ S; ; i; I"?Mon Jan 23 10:42:09 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I"parse.y(rb_class2name);T;[o;;[I"(メタクラスに関するbug fix.;To;;I" dict.c;T;[o;;[I"7Dict[..]で辞書の生成が出来るように.;To;;I" array.c;T;[o;;[I"8Array[..]で配列の生成が出来るように.;To;;I" parse.y;T;[o;;[I"I辞書の表現として{a,b,..}という形式も許すように.;TS; ; i; I"1995-01-20;T@ S; ; i; I"?Fri Jan 20 10:28:38 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I"re.c(Regexp.quote);T;[o;;[I"8正規表現をエスケープするメソッド.;To;;0;[o;;[0o;;I" parse.y;T;[o;;[I"i`!', `!=', `!~'を特殊演算子にする.よってこれらは再定義 できなくなった.;TS; ; i; I"1995-01-18;T@ S; ; i; I"?Wed Jan 18 13:20:41 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"4文法の整理(unless,untilをなくした).;TS; ; i; I"1995-01-17;T@ S; ; i; I"?Tue Jan 17 11:11:27 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" eval.c;T;[o;;[I"defでメソッド再定義時にはスーパークラスのメソッドの可視 性を継承する.最初の定義の時は今までと同じデフォルト(トップレベ ルで関数的,クラス定義内で通常メソッド).;To;;I"object.c(Class#new);T;[o;;[I"nオブジェクトの生成時に関数的メソッド init_objectが必ず呼ばれるように変更.;To;;I" eval.c;T;[o;;[I"未定義のメソッドに対してunknownメソッドが呼ばれるように なった.エラー表示が今までと同じになるようにenvを調節している.;TS; ; i; I"1995-01-13;T@ S; ; i; I"?Fri Jan 13 14:40:30 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" gc.c;T;[o;;[I"^gcを若干書き換えて整理した.が,あまり変化はなかったようだ.;To;;I"parse.y(yylex);T;[o;;[I".symbolを\symから:symに変更した.;TS; ; i; I"1995-01-12;T@ S; ; i; I">Thu Jan 12 01:39:28 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[ o;;I" eval.c;T;[o;;[I"%新規関数 rb_eval_string().;To;;I" gc.c;T;[o;;[I"&gc_mark()を一部非再帰化.;To;;I""variable.c(rb_ivar_{get,set});T;[o;;[I"Zインスタンス変数のアクセス周りで チェックが足りなかった.;To;;I"variable.c;T;[o;;[I"lクラス定数とインスタンス変数でハッシュテーブルを共有 するようにした.;To;;I" ruby.h;T;[o;;[I"iv_tblをRBasicからRObjectとRClassへ移動した.これにより, ObjectとClass,Moduleしかインスタンス変数を持てなくなる.が,メモ リ効率は若干向上する.;TS; ; i; I"1995-01-10;T@ S; ; i; I">Tue Jan 10 00:58:20 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;0;[o;;[0o;;I" eval.c;T;[o;;[I"6レシーバと引数は常にiterではない.;To;;I"cons.c(aref,aset);T;[o;;[I"negative offset対応.;TS; ; i; I"1995-01-09;T@ S; ; i; I"?Mon Jan 9 14:40:39 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I" parse.y;T;[o;;[I"foo{..}の形式において,fooをローカル変数やクラス名では なく,引数なしの関数型メソッド呼び出しとみなすようにした.;To;;I"list.c -> cons.c;T;[o;;[I"%名称変更(クラス名も).;To;;I" list.c;T;[o;;[I"a::b::c::nilをリスト(a b c)とみなすlisp形式から,a::b::c をリスト(a b c)とみなすruby形式に変更.[], []=, eachもそれに会わ せた仕様とする.;To;;I" list.c;T;[o;;[I"Sat Jan 7 01:26:26 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" eval.c;T;[o;;[I"&自己代入の不具合修正.;To;;I"eval.c(masign);T;[o;;[I"D多重代入が配列もリストもとれるようにした.;To;;I" list.c;T;[o;;[I"Eassocを2要素の配列からList(CONSペア)に変更した.;TS; ; i; I"1995-01-06;T@ S; ; i; I"?Fri Jan 6 13:42:12 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"^a[b]+=cやa.b+=cなどの自己代入形式で,aやbを2度評価しな くなった.;To;;I" eval.c;T;[o;;[I".iterator設定のバグフィックス.;To;;I" list.c;T;[o;;[I"Listクラスを新設.;TS; ; i; I"1995-01-05;T@ S; ; i; I"?Thu Jan 5 13:55:00 1995 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I" parse.y;T;[o;;[I"1SCOPEのメモリリークをなくした.;To;;I" eval.c;T;[o;;[I"nbuilt-inメソッドへの引数の引き渡し方を変更して,配列の生 成数を減らした.;To;;I" re.c;T;[o;;[I"tmatch-dataを毎回生成することをやめた.`$~'をアクセスした時 にon-demandで生成する.;To;;I"string.c etc;T;[o;;[I"-不必要なmemmoveをmemcpyに置換.;To;;I" parse.y;T;[o;;[I"P=~, !~は副作用があるのでコンパイル時に展開できない.;TS; ; i; I"1995-01-03;T@ S; ; i; I">Tue Jan 3 02:04:36 1995 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[o;;I" eval.c;T;[o;;[I"rest引数のbug fix.;To;;I"eval.c,gc.c;T;[o;;[I"+scopeをオブジェクトにした.;To;;I" eval.c;T;[o;;[I"+envとscopeの扱いを変更した.;TS; ; i; I"1994-12-28;T@ S; ; i; I"?Wed Dec 28 09:46:57 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"Hevalでローカル変数が追加された場合に対応した.;To;;I" parse.y;T;[o;;[I"'演算子を含むaliasのbug fix.;TS; ; i; I"1994-12-27;T@ S; ; i; I"?Tue Dec 27 16:45:20 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I" parse.y;T;[o;;[I"$def A Bをalias A Bに変更.;To;;I" eval.c;T;[o;;[I"_alias関係のbug修正.nodeをオブジェクト化した時にenbugし たようだ.;To;;I" signal.c;T;[o;;[I"5システムコールの再定義を止めた.;To;;I"io.c(select);T;[o;;[I"/write/exceptのフラグ設定にバグ.;To;;I"Makefile.in;T;[o;;[I"Jstatic link用オプションをMake変数として独立させた.;TS; ; i; I"1994-12-20;T@ S; ; i; I">Tue Dec 20 00:46:19 1994 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[ o;;0;[o;;[0o;;I"eval.c(rb_call);T;[o;;[I"Qsuperの呼び出しで落ちる.argc, argvの設定を忘れ ていた.;To;;I"parse.y(read_escape);T;[o;;[I"展開エラー.;To;;I"variable.c;T;[o;;[I"?定義済みの変数のhookを変更しないように.;TS; ; i; I"1994-12-19;T@ S; ; i; I"?Mon Dec 19 12:01:10 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[ o;;I"parse.y(cond);T;[o;;[I"d条件式に代入式が置かれた場合,`-v'オプションで警 告が出るように.;To;;I"parse.y(**);T;[o;;[I"N冪乗演算子`**'の優先順位を単項演算子より高くした.;To;;I"parse.y(and,or);T;[o;;[I"/優先順位の低い演算子`and', `or'.;To;;0;[o;;[0o;;I" eval.c;T;[o;;[I"=不必要になったPUSH_ENV, POP_ENVを減らした.;To;;I" env.h;T;[o;;[I"nENVIONからselfをはずした.PUSH_ENVはsuperの準備のためだけ に用いることにした.;To;;I" eval.c;T;[o;;[I"Y下記のオブジェクト化で遅くなった実行速度をもとに戻した.;TS; ; i; I"1994-12-17;T@ S; ; i; I"?Mon Dec 17 23:01:10 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" eval.c;T;[o;;[I"Benv.{argv,argc}とscope.local_varsのオブジェクト化.;To;;I" eval.c;T;[o;;[I"M1スコープ内で複数Blockを生成したときのバグを修正.;TS; ; i; I"1994-12-16;T@ S; ; i; I"?Fri Dec 16 15:52:06 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" parse.y;T;[o;;[I"=`&&'と`||'の両辺はいつでも条件式とした.;TS; ; i; I"1994-12-15;T@ S; ; i; I">Thu Dec 15 00:16:04 1994 Yukihiro Matsumoto (matz@dyna);T@ o; ;;;[ o;;I"eval.c(Block);T;[o;;[I"(Blockオブジェクトを実現.;To;;I" node.h;T;[o;;[I"$NODE_QLISTはなくなった.;To;;I"eval.c(rb_call);T;[o;;[I"x引数への代入を名前で一つずつ代入するのをやめて, 一度にコピーするようにした.;To;;I"eval.c(rb_call);T;[o;;[I"Hrubyで記述されたメソッドへの引数渡しをinline化.;To;;I" eval.c;T;[o;;[I"イテレータ判定処理の全面書き換え.不適切なイテレータ呼び 出しをなくした.例えば「[foo(),bar()]{i|baz(i)}」でfooもbarもイ テレータとして呼び出され*ない*.;To;;I"eval.c(rb_call);T;[o;;[I"PSCOPE処理をinline化.メソッド呼び出しの若干の高 速化.;TS; ; i; I"1994-12-14;T@ S; ; i; I"?Wed Dec 14 18:09:33 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;I" node.h;T;[o;;[I"Jnodeもオブジェクトにする.よってGCで回収される.;TS; ; i; I"1994-12-08;T@ S; ; i; I"?Thu Dec 8 14:17:29 1994 Yukihiro Matsumoto (matz@ix-02);T@ o; ;;;[o;;0;[o;;[0: @file@:0@omit_headings_from_table_of_contents_below0:@omit_headings_belowi