* ext/curses/extconf.rb: add dir_config.
* Makefile.in (fake.rb): set RUBY_VERSION.
11 lines of code changed in:
* parse.y (yycompile): always store copy of filename.
* parse.y (rb_compile_file): no longer need to strdup() here.
11 lines of code changed in:
aamine
* lib/net/protocol.rb: Protocol#start returns the return value of block.
* lib/net/protocol.rb: set timeout limit by default.
* lib/net/protocol.rb: new methods WriteAdapter#write, puts, print, printf.
* lib/net/http.rb: rename HTTP#get2 to request_get, post2 to request_post ...
* lib/net/smtp.rb: should not resolve HELO domain automatically.
629 lines of code changed in:
* ext/extmk.rb.in (have_library): do not print yes. sigh.
1 lines of code changed in:
* ext/extmk.rb.in, lib/mkmf.rb (have_library): print yes.
8 lines of code changed in:
* ext/extmk.rb.in, lib/mkmf.rb (have_library): accept -lm
unconditionally on mswin32/mingw32.
7 lines of code changed in:
* array.c (rb_cmpint): fixed typo.
8 lines of code changed in:
* bignum.c (rb_cstr2inum): deny "0_".
9 lines of code changed in:
* bignum.c (rb_cstr2inum): allow "0\n" and so on.
20 lines of code changed in:
add pp.rb, prettyprint.rb and time.rb.
3 lines of code changed in:
* lib/pp.rb, lib/prettyprint.rb: new files.
4 lines of code changed in:
lib/pp.rb lib/prettyprint.rb: new file.
1232 lines of code changed in:
* time.c (time_timeval): wrong cast to time_t.
* time.c (time_plus): ditto.
11 lines of code changed in:
* parse.y (str_extend): make up "#$;" handling.
7 lines of code changed in:
* time.c (time_plus): result should not be negative unless
NEGATIVE_TIME_T is defined.
* time.c (time_new_internal): should check tv_sec overflow too.
* time.c (time_timeval): should check time_t range when time is
initialized from float.
* time.c (time_plus): uses modf(3).
* variable.c (rb_cvar_set): add frozen class/module check.
* variable.c (rb_cvar_declare): add frozen class/module check.
* re.c (match_to_a): should propagate taint.
* re.c (rb_reg_s_quote): ditto.
108 lines of code changed in:
* dln.h, ruby.h, util.h: enable prototypes in C++.
33 lines of code changed in:
2001-12-21
2 lines of code changed in:
* eval.c (rb_mod_define_method): must not convert Method to Proc.
7 lines of code changed in:
* lib/mkmf.rb (with_destdir): new.
* lib/mkmf.rb: prefix target directories with $(DESTDIR) all.
* lib/mkmf.rb: no need to mkdir $(libdir)
23 lines of code changed in:
aamine
* lib/net/protocol.rb: rename Net::Socket to Net::BufferedSocket
8 lines of code changed in:
* ext/readline/readline.c: new methods
Readline::basic_word_break_characters,
Readline::basic_word_break_characters=,
Readline::completer_word_break_characters,
Readline::completer_word_break_characters=,
Readline::basic_quote_characters,
Readline::basic_quote_characters=,
Readline::completer_quote_characters,
Readline::completer_quote_characters=,
Readline::filename_quote_characters,
Readline::filename_quote_characters=.
234 lines of code changed in:
* eval.c (rb_mod_define_method): define_method should follow
default method visibility.
* eval.c (rb_attr): should warn if the default method visibility
is "module_function" (can be error).
* eval.c (rb_mod_define_method): should define class/module method
also if the visibility is "module_function".
* eval.c (rb_mod_define_method): should call hook method
"method_added", and "singleton_method_added".
* string.c: use RESIZE_CAPA for capacity change.
* ext/socket/socket.c (Init_socket): add listen method to
TCPServer and UNIXServer.
* ext/socket/socket.c (bsock_send): should raise EWOULDBLOCK
exception.
* ext/socket/socket.c (s_recvfrom): ditto.
* ext/socket/socket.c (s_accept): ditto.
* ext/socket/socket.c (udp_send): ditto.
104 lines of code changed in:
* lib/time.rb: date.rb is not required anymore.
* lib/resolv.rb: fix document. refine IPv6 regex.
41 lines of code changed in:
conflicted.
2 lines of code changed in:
* sample/test.rb: Hash#indexes -> Hash#select.
7 lines of code changed in:
* string.c (rb_str_replace): swap arguments of OBJ_INFECT.
* eval.c (rb_thread_schedule): should not select a thread which is
not yet initialized.
* time.c (time_plus): wrong boundary check.
* time.c (time_minus): ditto.
135 lines of code changed in:
* intern.h: add prototypes.
rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5()
rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(),
rb_str_dup_frozen()
* ruby.h: added declaration.
rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo
* rubyio.h: changed double include guard macro to RUBYIO_H.
* array.c (inspect_call): make static.
* eval.c (dvar_asgn): ditto.
* io.c (rb_io_close_read): ditto.
* lex.c (rb_reserved_word): ditto.
* ruby.c: (req_list_head, req_list_last): ditto.
* ruby.c (require_libraries): ditto.
43 lines of code changed in:
2001-12-17
3 lines of code changed in:
* lib/time.rb: use Time#utc_offset.
12 lines of code changed in:
* time.c: new method `gmtoff', `gmt_offset' and `utc_offset'.
(time_utc_offset): new function.
(Init_Time): bind above methods to `time_utc_offset'.
* time.c: 64bit time_t support.
(time_s_at): use NUM2LONG instead of NUM2INT for tv_sec.
(time_arg): initialize tm_isdst correctly.
use long to initialize tm_year.
(search_time_t): renamed from `make_time_t'.
(make_time_t): call `timegm' and `mktime' instead of `search_time_t'
if availabe.
(time_to_i): use LONG2NUM instead of INT2NUM.
(time_localtime): check localtime failure.
(time_gmtime): check gmtime failure.
(time_year): use LONG2NUM instead of INT2FIX.
(time_to_a): use long for tm_year.
(time_dump): check tm_year which is not representable with 17bit.
(time_load): initialize tm_isdst.
* configure.in: check existence of `mktime' and `timegm'.
check existence of tm_gmtoff field of struct tm.
fix negative time_t for 64bit time_t.
* missing/strftime.c: fix overflow by tm_year + 1900.
180 lines of code changed in:
aamine
* lib/net/pop.rb: new method Net::POP3.APOP
* lib/net/http.rb: set default Content-Type to x-www-form-urlencoded (causes warning)
* lib/net/protocol.rb: remove Net::NetPrivate module.
* lib/net/smtp.rb: ditto.
* lib/net/pop.rb: ditto.
* lib/net/http.rb: ditto.
156 lines of code changed in:
* time.c (time_new_internal): avoid loop to calculate negative
div, mod.
* time.c (time_cmp): should handle Bignums.
* array.c (rb_ary_pop): should ELTS_SHARED flag check before
REALLOC.
51 lines of code changed in:
* string.c (rb_str_match_m): should convert an argument into
regexp if it's a string.
* array.c (rb_ary_select): Array#select(n,m,...) now works like
Array#indexes(n,m,..). [new, experimental]
* hash.c (rb_hash_select): ditto.
* hash.c (env_select): ditto.
* re.c (match_select): ditto.
* struct.c (rb_struct_select): ditto.
* gc.c (STR_ASSOC): use FL_USER3 instead of FL_USER2.
* parse.y (str_extend): make up pushback call.
203 lines of code changed in:
* object.c (rb_class_real): follow included modules.
7 lines of code changed in:
* util.h: change prototype of ruby_qsort() to accord with its definition.
6 lines of code changed in:
* parse.y (gettable): should freeze __FILE__ string.
1 lines of code changed in:
add lib/time.rb.
1 lines of code changed in:
auxiliary routines update.
5 lines of code changed in:
* array.c (rb_ary_modify): should copy the internal buffer if the
modifying buffer is shared.
* array.c (ary_make_shared): make an internal buffer of an array
to be shared.
* array.c (rb_ary_shift): avoid sliding an internal buffer by
using shared buffer.
* array.c (rb_ary_subseq): avoid copying the buffer.
* parse.y (gettable): should freeze __LINE__ string.
* io.c (rb_io_puts): old behavoir restored. rationale: a) if you
want to call to_s for arrays, you can just call print a, "\n".
b) to_s wastes memory if array (and sum of its contents) is
huge. c) now any object that has to_ary is treated as an array,
using rb_check_convert_type().
* hash.c (rb_hash_initialize): now accepts a block to calculate
the default value. [new]
* hash.c (rb_hash_aref): call "default" method to get the value
corrensponding to the non existing key.
* hash.c (rb_hash_default): get the default value based on the
block given to 'new'. Now it takes an optinal "key" argument.
"default" became the method to get the value for non existing
key. Users may override "default" method to change the hash
behavior.
* hash.c (rb_hash_set_default): clear the flag if a block is given
to 'new'
* object.c (Init_Object): undef Data.allocate, left Data.new.
* ext/curses/curses.c (window_scrollok): use RTEST().
* ext/curses/curses.c (window_idlok): ditto.
* ext/curses/curses.c (window_keypad): ditto.
* ext/curses/curses.c (window_idlok): idlok() may return void on
some platforms; so don't use return value.
* ext/curses/curses.c (window_scrollok): ditto for consistency.
* ext/curses/curses.c: replace FIX2INT() by typechecking NUM2INT().
* parse.y (str_extend): should not process immature #$x and
#@x interpolation, e.g #@#@ etc.
* enum.c (enum_sort_by): sort_by does not have to be stable always.
* enum.c (enum_sort_by): call qsort directly to gain performance.
* util.c (ruby_qsort): ruby_qsort(qs6) is now native thread safe.
* error.c (rb_sys_fail): it must be a bug if it's called when
errno == 0.
* regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8.
651 lines of code changed in:
new file.
628 lines of code changed in:
20011209
2 lines of code changed in:
* matrix.rb: Vector#* bug. reported from Massimiliano Mirra
<info@chromatic-harp.com>.
6 lines of code changed in:
* enum.c (enum_sort_by): should replace with last elements.
5 lines of code changed in:
aamine
* lib/net/protocol.rb: calls on_connect before conn_command
301 lines of code changed in:
aamine
* lib/net/smtp.rb: SMTP.new requires at least one arg.
* lib/net/pop.rb: POP.new requires at least one arg.
* lib/net/pop.rb: uses "raise *Error.new" instead of simple raise.
* lib/net/http.rb: HTTP.new requires at least one arg.
* lib/net/http.rb: changes implicit start algolithm.
47 lines of code changed in:
* ext/extmk.rb.in: ignore adding -Wl,-R to DLDFLAGS when the directory
is $topdir.
6 lines of code changed in:
* ext/extmk.rb.in: add -Wl,-R flags to DLDFLAGS on netbsdelf.
* lib/mkmf.rb: ditto.
12 lines of code changed in:
replace have_header("curses") with have_header("curses.h")
1 lines of code changed in:
2001-12-03
2 lines of code changed in:
* time.c (time_plus): must detect result overflow.
* time.c (time_minus): ditto.
* time.c (time_new_internal): round usec overflow and underflow
here.
* time.c (time_plus): move operand overflow/underflow check to
time_new_internal().
* time.c (time_minus): ditto.
* time.c (time_cmp): should consider tv_usec too.
* time.c (time_gmtime): time_modify() should be called even if tm
struct is not calculated yet.
117 lines of code changed in:
* configure.in: add -Wl,-export-dynamic on NetBSD.
5 lines of code changed in:
* ext/socket/extconf.rb: remove -L/usr/local/lib.
4 lines of code changed in:
* configure.in: not use X11BASE, since it's not always set.
6 lines of code changed in:
* configure.in: apply patch from NetBSD's pkgsrc (patch-aa).
16 lines of code changed in:
* configure.in: use GCC, not without_gcc. remove without_gcc.
* ext/curses/extconf.rb: check for curses.h.
* ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR.
18 lines of code changed in:
One more fix to use Digest::MD5.
1 lines of code changed in:
Reflect the update of the MD5 module which is now Digest::MD5.
14 lines of code changed in: