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