* configure.in: default --enable-shared to yes on cygwin and mingw32.
2 lines of code changed in:
* configure.in: set target_cpu to i386 on cygwin and mingw32.
7 lines of code changed in:
bug fix for getnstr() and wgetnstr()
2 lines of code changed in:
* string.c (rb_str_equal): object with to_str must be treated as a
string.
31 lines of code changed in:
* README.EXT: Appendix B is duplicated.
* README.EXT.ja: ditto.
8 lines of code changed in:
* eval.c (rb_thread_select): should subtract timeofday() from
limit, not reverse.
* util.c (scan_hex): x is not a hexadecimal digit.
* eval.c (rb_thread_schedule): should treat the case that
select(2) returns 0, if a thread is under both WAIT_SELECT and
WAIT_TIME. Jakub Travnik <J.Travnik@sh.cvut.cz> actually fixed
this bug.
89 lines of code changed in:
* marshal.c (w_float): must distinguish -0.0 from 0.0.
* gc.c (gc_mark_all): tweak mark order for little bit better scan.
* gc.c (rb_gc_mark): ditto.
* gc.c (rb_gc): ditto.
* enum.c (sort_by_i): slight performance boost.
* gc.c (gc_mark_rest): should call gc_mark_children(), not gc_mark().
* gc.c (rb_gc_mark): may cause infinite looop.
300 lines of code changed in:
Import the "syslog" module from the rough ruby project. This module
provides the interface to the UNIX system logger (syslog).
718 lines of code changed in:
* win32/win32.c (mypopen): fixed that mypclose() didn't really close
pipe.
* win32/win32.c (CreateChild): set STARTF_USESTDHANDLES flag only
when some handles are passed.
82 lines of code changed in:
2001-11-25
2 lines of code changed in:
* parse.y (str_extend): change types of second and third arguments
from char to int.
7 lines of code changed in:
Curses::getstr and Window#getstr use getnstr() and wgetnstr()
if they are available.
11 lines of code changed in:
2001-11-22
2 lines of code changed in:
* parse.y (str_extend): should check nesting parentheses in #{}.
* process.c (pst_wstopsig): returns nil unless WIFSTOPPED() is
non-zero.
* process.c (pst_wtermsig): returns nil unless WIFSIGNALED() is
non-zero.
* process.c (pst_wexitstatus): returns nil unless WIFEXITED() is
non-zero.
* eval.c (rb_thread_select): tv_sec and tv_usec should not be
negative.
* signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM.
* parse.y (call_args2): block_arg may follow the first argument in
call_args2.
* eval.c (stack_check): should avoid stack length check during
raising SystemStackError exception.
181 lines of code changed in:
* lib/cgi.rb: CGI#header: do not set Apache.request.status for
Location: if Apache.request.status is already set.
8 lines of code changed in:
2001-11-20
2 lines of code changed in:
* parse.y (str_extend): should not terminate string interpolation
with newlines in here-docs and newline terminated strings.
14 lines of code changed in:
* eval.c (rb_mod_modfunc): should follow NODE_ZSUPER link; based
on Guy Decoux's patch in [ruby-talk:25478].
* string.c (rb_str_succ): there was buffer overrun.
* parse.y (str_extend): term can be any character.
36 lines of code changed in:
* parse.y (parse_regx): should raise error on untermitated
expression interpolation.
* pack.c (pack_unpack): should give length to utf8_to_uv().
* pack.c (utf8_to_uv): add length check.
* massages: replace "wrong #" by "wrong number".
* marshal.c (w_float): output Infinity and NaN explicitly.
* marshal.c (r_object): support new explicit float format.
* eval.c (rb_thread_wait_for): select may cause ERESTART on
Solaris.
* eval.c (rb_thread_select): ditto.
* array.c (rb_ary_join): dumped core if sep is not T_STRING nor T_NIL.
* array.c (rb_ary_join): buffer size calculattion was wrong.
* array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines
between array elements (use rb_default_rs as newline litral)
[experimental].
* gc.c (init_mark_stack): no need to clear mark_stack.
* gc.c (gc_mark_all): need to handle finalizer mark.
* gc.c (gc_mark_rest): use MEMCPY instead of memcpy.
* gc.c (rb_gc_mark): earlier const check to avoid pusing special
constants into mark stack.
* numeric.c (fix_to_s): 'to_s' now takes optional argument to
specify radix. [new]
* bignum.c (rb_big_to_s): ditto. [new]
348 lines of code changed in:
* lib/cgi.rb (header): support for Apache. thanks to
Shugo Maeda <shugo@ruby-lang.org>.
9 lines of code changed in:
* parse.y: needless conditionals.
* parse.y (parse_regx): parse error at unterminated regex /#{.
(ruby-bugs-ja:PR#142)
12 lines of code changed in:
20011115
2 lines of code changed in:
* array.c (rb_ary_join): non-nil separator must be converted to
String. and separators' total length was wrong.
8 lines of code changed in:
* hash.c (ruby_setenv): remove USE_WIN32_RTL_ENV block since it's
obsoleted.
* win32/win32.c, win32/win32.h: sort out #if 0 - #endif or others.
49 lines of code changed in:
* win32/win32.c (waitpid): fix wait count.
* win32/win32.c (poll_child_status): rename from wait_child().
11 lines of code changed in:
* configure.in: do not override CC if set.
7 lines of code changed in:
tkutil needed to be updated
1 lines of code changed in:
* signal.c (sighandle): should not re-register sighandler if
POSIX_SIGNAL is defined.
* eval.c (error_print): errat array may be empty.
* eval.c (rb_eval_cmd): should not upgrade safe level unless
explicitly specified by argument newly added.
* signal.c (sig_trap): should not allow tainted trap closure.
* variable.c (rb_f_trace_var): should not allow trace_var on safe
level higher than 3.
* variable.c (rb_f_trace_var): should not allow tainted trace
closure.
* gc.c: do not use static stack until system stack overflows.
* eval.c (eval): should call Exception#exception instead of
calling rb_exc_new3() directly.
* error.c (exc_exception): set "mesg" directly to the clone. it
might be better to set mesg via some method for flexibility.
* variable.c (cvar_override_check): should print original module
name, if 'a' is T_ICLASS.
* parse.y (yylex): float '1_.0' should not be allowed.
* variable.c (var_getter): should care about var as Qfalse
(ruby-bugs#PR199).
* array.c (cmpint): <=> or block for {min,max} may return bignum.
* array.c (sort_1): use rb_compint.
* array.c (sort_2): ditto.
* enum.c (min_ii): ditto.
* enum.c (min_ii): ditto.
* enum.c (max_i): ditto.
* enum.c (max_ii): ditto.
327 lines of code changed in:
* signal.c (sighandle): should not re-register sighandler if
POSIX_SIGNAL is defined.
* eval.c (error_print): errat array may be empty.
* eval.c (rb_eval_cmd): should not upgrade safe level unless
explicitly specified by argument newly added.
* signal.c (sig_trap): should not allow tainted trap closure.
* variable.c (rb_f_trace_var): should not allow trace_var on safe
level higher than 3.
* variable.c (rb_f_trace_var): should not allow tainted trace
closure.
* gc.c: do not use static stack until system stack overflows.
* eval.c (eval): should call Exception#exception instead of
calling rb_exc_new3() directly.
* error.c (exc_exception): set "mesg" directly to the clone. it
might be better to set mesg via some method for flexibility.
* variable.c (cvar_override_check): should print original module
name, if 'a' is T_ICLASS.
* parse.y (yylex): float '1_.0' should not be allowed.
* variable.c (var_getter): should care about var as Qfalse
(ruby-bugs#PR199).
* array.c (cmpint): <=> or block for {min,max} may return bignum.
* array.c (sort_1): use rb_compint.
* array.c (sort_2): ditto.
* enum.c (min_ii): ditto.
* enum.c (min_ii): ditto.
* enum.c (max_i): ditto.
* enum.c (max_ii): ditto.
41 lines of code changed in:
* win32/win32.c (mypopen): return error status instead of calling
rb_sys_fail().
* win32/win32.c (do_spawn): ditto.
12 lines of code changed in:
2001-11-13
2 lines of code changed in:
* hash.c (envix): use GET_ENVIRON and FREE_ENVIRON to get environment
variables list.
* hash.c (env_keys): ditto.
* hash.c (env_each_key): ditto.
* hash.c (env_values): ditto.
* hash.c (env_keys): ditto.
* hash.c (env_each_value): ditto.
* hash.c (env_each): ditto.
* hash.c (env_inspect): ditto.
* hash.c (env_to_a): ditto.
* hash.c (env_size): ditto.
* hash.c (env_empty_p): ditto.
* hash.c (env_has_value): ditto.
* hash.c (env_index): ditto.
* hash.c (env_to_hash): ditto.
* win32/win32.c (win32_getenv): use static buffer.
* win32/win32.c, win32/win32.h (win32_get_environ): get environment
variables list. [new]
* win32/win32.c, win32/win32.h (win32_free_environ): free environment
variables list. [new]
* win32/win32.c (do_spawn): use CreateChild() instead of calling
CreateProcess() directly. Original patches comes from Patrick Cheng.
* win32/win32.c (mypopen): ditto.
* win32/win32.c (mypclose): use rb_syswait() instead of waiting in this
function.
* win32/win32.c (waitpid): use wait_child() instead of _cwait().
* win32/win32.c (CreateChild): added. [new]
* win32/win32.c (wait_child): added. [new]
* win32/win32.c (FindFirstChildSlot): added. [new]
* win32/win32.c (FindChildSlot): added. [new]
* win32/win32.c (FindPipedChildSlot): added. [new]
* win32/win32.c (CloseChildHandle): added. [new]
* win32/win32.c (FindFreeChildSlot): added. [new]
464 lines of code changed in:
* win32/config.status.in: make CFLAGS same as Makefile's one.
5 lines of code changed in:
too much backout
2 lines of code changed in:
* eval.c (rb_trap_eval): avoid annoying warning with signal.
[ruby-talk:23225]
* eval.c (rb_call0): adjust caller source file/line while
evaluating optional arguments.
15 lines of code changed in:
eval.c fix
37 lines of code changed in:
* file.c (path_check_1): forgot to initialize 'p'.
* mkconfig.rb: use String#dump to generate Ruby string literal.
* range.c (range_eql): should override 'eql?'
* array.c (rb_ary_hash): should override 'hash' too.
83 lines of code changed in:
* process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN.
* file.c (rb_file_s_readlink): ditto.
* file.c (path_check_1): ditto.
* eval.c (rb_yield_0): should not call rb_f_block_given_p().
* string.c (rb_str_chomp_bang): should terminate string by NUL.
* eval.c (rb_yield_0): better error message.
201 lines of code changed in:
* process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN.
* file.c (rb_file_s_readlink): ditto.
* file.c (path_check_1): ditto.
* eval.c (rb_yield_0): should not call rb_f_block_given_p().
* string.c (rb_str_chomp_bang): should terminate string by NUL.
* eval.c (rb_yield_0): better error message.
22 lines of code changed in:
* lib/net/imap.rb (getquota_response): use astring for mailbox
names.
* lib/net/imap.rb (getacl_response): ditto.
10 lines of code changed in:
* matrix.rb (Matrix#column_vectors, Matrix#row_vectors): ditto bug.
this bug report and fix by tsutomu@nucba.ac.jp.
* forwardable.rb: change raise to Kernel::raise
12 lines of code changed in:
gc patch
114 lines of code changed in:
* bignum.c (rb_big_aref): idx may be a Bignum.
* numeric.c (fix_aref): negative index must return zero.
337 lines of code changed in:
* gc.c (gc_mark_children): should NOT treat last element of
structs and arrays specially.
7 lines of code changed in: