Tue Dec 25 23:33:55 2007 Yukihiro Matsumoto * development version 1.9.0 released. Tue Dec 25 23:25:29 2007 Yukihiro Matsumoto * lib/rexml/node.rb (REXML::Node::indent): should initialize rv variable. a patch from Tadayoshi Funaba in [ruby-dev:32783]. Tue Dec 25 23:16:01 2007 Nobuyoshi Nakada * ruby.c (proc_options): encoding option in shbang and RUBYOPT did not work, do not store alloca()ed string in a parent scope struct. Tue Dec 25 22:56:52 2007 NAKAMURA Usaku * win32/Makefile.sub (config.status): keep this file. Tue Dec 25 22:55:42 2007 Nobuyoshi Nakada * configure.in (TIMEZONE_VOID): typo. Tue Dec 25 22:45:10 2007 Koichi Sasada * insns2vm.rb: add encoding option to shbang. Tue Dec 25 22:13:51 2007 Koichi Sasada * bootstraptest/pending.rb: add pending issue. Tue Dec 25 22:12:40 2007 Koichi Sasada * thread.c: remove Thread.critical(=). Tue Dec 25 21:44:50 2007 Nobuyoshi Nakada * tool/make-snapshot: add version number. Tue Dec 25 21:32:54 2007 Koichi Sasada * compile.c (iseq_compile_each): fix stack consistency error (break is compiled to throw instead of jump insn). these problems are reported by Yusuke ENDOH * bootstraptest/test_knownbug.rb, test_syntax.rb: move fixed test. Tue Dec 25 21:32:44 2007 Tanaka Akira * parse.y (struct parser_params): make parser_ruby_sourcefile common field. it is used by node_newnode. new field parser_ruby_sourcefile_string for ripper. (parser_initialize): initialize parser_ruby_sourcefile in ripper. (ripper_initialize): initialize parser_ruby_sourcefile_string. Tue Dec 25 21:26:09 2007 Nobuyoshi Nakada * common.mk (parse.c): depends on tool/ytab.sed. * tool/ytab.sed: hack for bison 2.1. Tue Dec 25 20:24:58 2007 Technorama Ltd. * ext/openssl/ossl_ssl.c: Only show a warning if the default DH callback is actually used. * ext/openssl/ossl_rand.c: New method: random_add(). Tue Dec 25 20:24:48 2007 Nobuyoshi Nakada * tool/make-snapshot: argument check, and cleanup exported directory. Tue Dec 25 20:07:13 2007 WATANABE Hirofumi * tool/make-snapshot: more portable. Tue Dec 25 19:01:04 2007 Nobuyoshi Nakada * encoding.h (rb_enc_mbc_to_codepoint): wrapper for ONIGENC_MBC_TO_CODE(). * string.c (rb_str_succ): deal with invalid sequence as binary. Tue Dec 25 18:40:46 2007 Koichi Sasada * iseq.c: all methods need $SAFE < 1. vm.c: comment out debug functions. Tue Dec 25 18:37:42 2007 Yukihiro Matsumoto * io.c (appendline): move RS comparison to rb_io_getline_1(). Tue Dec 25 18:27:51 2007 Tanaka Akira * string.c (rb_str_each_line): don't call rb_enc_codepoint with empty string. Tue Dec 25 18:06:04 2007 Tanaka Akira * string.c (rb_str_inspect): don't call rb_enc_codepoint with empty string. fix '#'.inspect. * encoding.c (rb_enc_codepoint): raise on empty string. Tue Dec 25 17:48:28 2007 Shugo Maeda * vm.c (rb_frame_method_id_and_class): new function to get the method id and class of the current frame. Tue Dec 25 17:32:04 2007 Akinori MUSHA * lib/mkmf.rb (create_makefile): Add a missing dependency on the target directory for each .rb file. This will hopefully fix parallel make (-jN). Tested on FreeBSD. Tue Dec 25 16:51:07 2007 Nobuyoshi Nakada * enc/trans/japanese.c (rb_{from,to}_{SHIFT_JIS,EUC_JP}): inversed from_encoding and to_encoding. Tue Dec 25 16:41:57 2007 NAKAMURA Usaku * golf_prelude.rb (h): add new method for all golfers. Tue Dec 25 16:37:12 2007 Nobuyoshi Nakada * enc/trans/japanese.c (rb_to_EUC_JP): fixed typo. Tue Dec 25 16:34:58 2007 NAKAMURA Usaku * ext/dl/depend: add dependencies. [ruby-dev:32760] Tue Dec 25 16:26:48 2007 Koichi Sasada * include/ruby/ruby.h, thread.c: rename is_ruby_native_thread() to ruby_native_thread_p(). * ext/tk/tcltklib.c: apply it. Tue Dec 25 16:15:15 2007 Nobuyoshi Nakada * common.mk (clean-enc): clean encoding objects. Tue Dec 25 16:04:28 2007 Nobuyoshi Nakada * trunk/common.mk, goruby.c, golf_prelude.rb: for golfers. * trunk/main.c (main): hook for embedding applications. * trunk/tool/compile_prelude.rb: can change initialize function name. Tue Dec 25 15:59:51 2007 Nobuyoshi Nakada * encoding.c (rb_enc_register): do not use based_encoding to check if dummy encoding. Tue Dec 25 15:55:14 2007 Nobuyoshi Nakada * string.c (rb_str_succ): fix for string with non-alphanumeric chars. Tue Dec 25 15:42:49 2007 Yukihiro Matsumoto * io.c (rb_io_external_encoding): should return nil for pass-through write IO. [ruby-dev:32740] Tue Dec 25 15:24:57 2007 Tanaka Akira * io.c (appendline): initialize rslen to 1 if rsptr is 0. rslen is the length of the delimiter. if only delim is given, it should be 1. [ruby-dev:32746] Tue Dec 25 15:21:33 2007 Nobuyoshi Nakada * transcode.c (transcode_dispatch): fix for multistep transcode. Tue Dec 25 15:07:51 2007 NAKAMURA Usaku * enc/trans/single_byte.c (Init_single_byte): renamed. Tue Dec 25 15:00:33 2007 Yukihiro Matsumoto * enum.c (enum_yield): when multiple values yielded from #each pack them into an array. [ruby-dev:32708] * enum.c: all method but all?, any?, one? and none? passed packed multiple values to the block. * enum.c (collect_all): should pack all values. [ruby-core:14410] Tue Dec 25 14:57:00 2007 Nobuyoshi Nakada * common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans. * transcode_data.h (rb_transcoding, rb_transcoder): prefixed. * transcode.c (rb_register_transcoder, rb_declare_transcoder): split declaration and registration. [ruby-dev:32704] * transcode.c (transcode_dispatch): autoload pre-declared transcoder. * transcode.c (str_transcode): use rb_define_dummy_encoding(). * transcode.c (Init_transcode): initialize transcoder tables. * enc/trans/single_byte.c, enc/trans/japanese.c: moved from top. Tue Dec 25 14:20:13 2007 Yukihiro Matsumoto * lib/mkmf.rb (map_dir): should generate path including $top_srcdir. Tue Dec 25 14:09:16 2007 James Edward Gray II * lib/csv.rb: Fixed test failures caused by changes to Ruby. * test/csv/tc_serialization, test/csv/tc_csv_parsing, test/csv/tc_features: Fixed test failures caused by changes to Ruby. Tue Dec 25 14:11:57 2007 Nobuyoshi Nakada * io.c (io_encoding_set): missing return type. Tue Dec 25 14:03:48 2007 NARUSE, Yui * test/rinda/test_rinda.rb (MockClock#{_forward, forwrd, sleep}): Change default value of n as @reso from nil. If default value is nil, n.+ is not defined. Tue Dec 25 13:54:01 2007 Tanaka Akira * test/ruby/test_io_m17n.rb (test_pipe): fixed. [ruby-dev:32743] Tue Dec 25 13:44:51 2007 Koichi Sasada * thread.c (rb_thread_wait_fd_rw): should check EBADF on select(). Tue Dec 25 13:30:03 2007 Koichi Sasada * thread_pthread.c, thread_pthread.h, thread_win32.c, thread_win32.c: make some functions static functions. a patch from Tadashi Saito in [ruby-core:14407] Tue Dec 25 13:23:13 2007 Tanaka Akira * test/ruby/test_io_m17n.rb (test_write_noenc): don't mix text and binary mode. [ruby-dev:32743] Tue Dec 25 13:13:09 2007 Yukihiro Matsumoto * README.EXT.ja, dir.c, eval.c, eval_intern.h, lex.c.src, lex.c.blt, keywords, load.c, thread.c: more ANSI'ize. a patch from Tadashi Saito in [ruby-dev:32725] Tue Dec 25 13:07:56 2007 Koichi Sasada * vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(), RUBY_VM_SET_TIMER_INTERRUPT(), RUBY_VM_INTERRUPTED(). * thread.c, thread_pthread.c, thread_win32.c: fix to ignore time slice event until sleep. * bootstraptest/test_thread.rb: add a test for time limited join test. Tue Dec 25 12:42:59 2007 Koichi Sasada * vm.c (Init_VM): remove unused code. [ruby-dev:32732] Tue Dec 25 12:32:32 2007 Martin Duerst * transcode.c: Moving a static counter from inside register_transcoder() and register_functional_transcoder() to outside the functions, renaming from n to next_transcoder_position. Fixes 3) in [ruby-dev:32715]. Tue Dec 25 12:22:17 2007 NARUSE, Yui * sample/from.rb: follow Ruby 1.9 libraries. Tue Dec 25 12:21:56 2007 Yukihiro Matsumoto * proc.c (method_inspect): preserve encoding of the method name. Tue Dec 25 12:07:52 2007 Nobuyoshi Nakada * configure.in (BASERUBY): delayed error until BASERUBY is used. Tue Dec 25 11:48:35 2007 Yukihiro Matsumoto * sample/README: removed obsoleted files: dbmtest.rb, getopts.test, mrshtest.rb, regx.rb. Tue Dec 25 11:45:34 2007 James Edward Gray II * lib/csv.rb: Import the FasterCSV source as the new CSV class. * test/csv/*: Added all applicable tests from FasterCSV. Tue Dec 25 11:33:52 2007 Nobuyoshi Nakada * error.c (report_bug): uses ruby_description. Tue Dec 25 11:20:38 2007 Koichi Sasada * compile.c (iseq_compile_each): fix stack consistency error. a patch from Yusuke ENDOH [ruby-dev:32720] * bootstraptest/test_syntax.rb: add 2 tests for above. Tue Dec 25 11:14:20 2007 Koichi Sasada * iseq.c, vm_core.h: comment out unused fields. Tue Dec 25 11:02:10 2007 Koichi Sasada * vm.c: check frame is FINAL when creating env. [ruby-core:14395] * bootstraptest/test_block.rb: add a test for above. Tue Dec 25 09:12:13 2007 Eric Hodel * lib/rdoc/: Enable RDoc debugging only with $DEBUG_RDOC. Tue Dec 25 08:37:43 2007 James Edward Gray II * lib/csv.rb, test/csv/test_csv.rb: Removed in preparation for FasterCSV code import. Tue Dec 25 08:27:43 2007 Eric Hodel * lib/rubygems.rb: Fix test failures. * test/rubygems/test_gem.rb: Fix test failure. Tue Dec 25 06:23:40 2007 Koichi Sasada * bootstraptest/test_knownbug.rb, test_literal.rb: move fixed test. Tue Dec 25 06:19:04 2007 GOTOU Yuuzou * sample/biorhythm.rb: follow Ruby 1.9 libraries. Tue Dec 25 06:15:01 2007 Koichi Sasada * vm.c: add dummy toplevel frame. Tue Dec 25 05:44:56 2007 Eric Hodel * lib/net/http.rb: Fix uninitialized variable warning. [ruby-talk:284582] * lib/irb/output-method.rb: Remove unused #foo method. [ruby-talk:284582] Tue Dec 25 05:24:12 2007 Koichi Sasada * compile.c (iseq_compile): clear local table if node == 0. a patch from Yusuke ENDOH [ruby-dev:32530] * vm.c: clear VM stack. Tue Dec 25 04:23:32 2007 Tanaka Akira * parse.y (rb_id2str): fill klass of returned string as rb_cString. some strings are allocated before rb_cString is created. This prevents a "called on terminated object" error by ObjectSpace.each_object(Module) {|m| p m.name }. Tue Dec 25 03:51:55 2007 Koichi Sasada * compile.c (iseq_compile_each): fix stack consistency bug. a patch from Yusuke ENDOH Tue Dec 25 03:19:47 2007 WATANABE Hirofumi * tool/make-snapshot: must create configure and lex.c. Tue Dec 25 03:16:05 2007 Yukihiro Matsumoto * io.c (rb_io_s_pipe): now takes up to two arguments. allow its external/internal encoding by Encoding objects. * io.c (rb_io_set_encoding): new method to set encoding of the IO. * io.c (argf_set_encoding): ditto. Tue Dec 25 03:08:53 2007 NAKAMURA Usaku * pack.c (pack_pack): use NUM2LONG instead of NUM2INT. * numeric.c (fix_lshift, fix_aref): use SIZEOF_LONG instead of SIZEOF_VALUE. * bignum.c (big2ulong, rb_big_aref): ditto. Tue Dec 25 02:55:26 2007 GOTOU Yuuzou * lib/rexml/element.rb (REXML::Elements#each): yield in each should be called with one parameter. [ruby-dev:32708] Tue Dec 25 02:15:39 2007 Koichi Sasada * compile.c (iseq_compile_each): add a "pop" insn after break to fix stack consistency error. [ruby-core:14385] * bootstraptest/test_syntax.rb: add tests for above. * bootstraptest/test_knownbug.rb: remove fixed bug. Tue Dec 25 01:54:36 2007 Yukihiro Matsumoto * id.c (Init_id): remove several unused symbols. [ruby-core:14362] * compile.c (iseq_specialized_instruction): do not use VM_CALL_SEND_BANG flag any longer. Tue Dec 25 01:42:41 2007 Tanaka Akira * lib/rdoc/rdoc.rb (parse_files): interpret coding cookie. Tue Dec 25 01:38:04 2007 Yukihiro Matsumoto * proc.c (method_name): preserve Symbol's encoding. * numeric.c (fix_id2name): ditto. Tue Dec 25 01:19:18 2007 Yukihiro Matsumoto * include/ruby/encoding.h (rb_enc_left_char_head): new utility macro. * include/ruby/encoding.h (rb_enc_right_char_head): ditto. * io.c (appendline): does multibyte RS search in the function. * io.c (prepare_getline_args): RS may be nil. * io.c (rb_io_getc): should process character based on external encoding, when transcoding required. Tue Dec 25 01:07:57 2007 Tanaka Akira * lib/irb/output-method.rb: translate a comment to English to avoid mix of EUC-JP comment and UTF-8 Date keyword. svn substitute Date keyword with UTF-8 weekday on UTF-8 locale. Tue Dec 25 00:27:28 2007 GOTOU Yuuzou * lib/webrick/httpservley/cgihandler.rb (WEBrick::HTTPServlet::CGIHandler#do_GET): m17nized. Mon Dec 24 23:55:29 2007 Tanaka Akira * lib/cgi.rb (CGI::escape): m17nized. (CGI::unescape): ditto. (CGI::escapeHTML): ditto. (CGI::unescapeHTML): ditto. Mon Dec 24 23:32:24 2007 NAKAMURA Usaku * transcode_data_japanese.c (select_iso_2022_mode): '\e' is not valid. Mon Dec 24 23:13:09 2007 GOTOU Yuuzou * lib/rdoc/diagram.rb (RDoc::Diagram#initialize): use fileuitls instead of ftools. Mon Dec 24 23:04:57 2007 NAKAMURA, Hiroshi * lib/ftools.rb: removed obsoleted lib. use fileutils instead (by eban). * lib/rdoc/rdoc.rb, lib/rdoc/generators/*, lib/rake.rb: let it use fileutils instead of ftools. * lib/shell/command-processor.rb: removed unused references to ftools. * lib/parsedate.rb: removed. see [ruby-core:12535], [ruby-dev:31969]. * lib/README: updated. Mon Dec 24 23:01:04 2007 Tanaka Akira * lib/open-uri.rb (OpenURI::Buffer): use Meta ===. [ruby-core:14295] Mon Dec 24 22:46:42 2007 NARUSE, Yui * transocode.c: register_functional_transcoder() added. (init_transcoder_table(: register ISO-2022-JP. (str_transcode): add preprocessor and postprocessor. * transcode_data_japanese.c: add ISO-2022-JP support. * transcode_data.h: moved transcoder and transcoding difinition from transcode.c. Mon Dec 24 20:29:28 2007 Koichi Sasada * test/io/nonblock/test_flush.rb: fix test for 1.9. Mon Dec 24 20:23:44 2007 Koichi Sasada * test/rinda/test_rinda.rb: revert last commit because this test seems to have timing problem to halt all tests. Mon Dec 24 20:18:52 2007 Koichi Sasada * test/rinda/test_rinda.rb: enable rinda test. Mon Dec 24 20:16:54 2007 Koichi Sasada * instruby.rb: fix rdoc install dir. Mon Dec 24 18:37:32 2007 Tanaka Akira * re.c (rb_reg_prepare_re): show regexp encoding in the error message. Mon Dec 24 18:23:32 2007 Tanaka Akira * eval.c (rb_exc_raise): ANSI style. (rb_exc_fatal): ditto. (rb_raise_jump): ditto. (rb_jump_tag): ditto. (rb_block_given_p): ditto. * variable.c (original_module): ditto. Mon Dec 24 18:05:09 2007 Koichi Sasada * iseq.c (Init_ISeq): disable ISeq.load() because there is no verifier. * iseq.c, proc.c: add ISeq.disasm(method). Mon Dec 24 18:06:03 2007 Tanaka Akira * eval_method.c (Init_eval_method): extracted from Init_eval for rdoc to find rb_mod_remove_method, rb_mod_undef_method and rb_mod_alias_method. * eval.c (Init_eval): call Init_eval_method. Mon Dec 24 17:59:29 2007 Nobuyoshi Nakada * load.c (load_lock): reverted. * thread.c (rb_barrier_wait): check for recursive wait. Mon Dec 24 17:50:54 2007 Tanaka Akira * eval.c (function_call_may_return_twice_jmp_buf): removed. (function_call_may_return_twice_false): removed. [ruby-core:14335] Mon Dec 24 17:40:57 2007 Nobuyoshi Nakada * common.mk (node_name.inc, miniprelude.c, prelude.c): nmake cannot handle target vpath in other than implicit rules. Mon Dec 24 17:20:34 2007 NAKAMURA, Hiroshi * lib/{mailread.rb,getopts.rb,parsearg.rb}: removed. see [ruby-core:12535], [ruby-dev:31969]. Mon Dec 24 17:12:57 2007 Tanaka Akira * include/ruby/intern.h, random.c, array.c: change exported name. genrand_int32 -> rb_genrand_int32. genrand_real -> rb_genrand_real. [ruby-core:14335] Mon Dec 24 17:06:37 2007 NAKAMURA, Hiroshi * {lib,test}/{soap,wsdl,xsd}: removed soap4r along to the discussion at ruby-core and ruby-dev. see [ruby-core:12535], [ruby-dev:31969]. Mon Dec 24 17:06:14 2007 Nobuyoshi Nakada * load.c (rb_feature_p): returns loading path name too. * load.c (search_required): returns path too if feature is being loaded. [ruby-dev:32048] [TODO: refactoring] Mon Dec 24 16:29:12 2007 GOTOU Yuuzou * sample/openssl: reviewed and remove dependency on getopts.rb. Mon Dec 24 16:18:57 2007 Koichi Sasada * mkconfig.rb: add teeny to CONFIG['ruby_version']. Mon Dec 24 15:55:50 2007 Koichi Sasada * tool/compile.rb, getrev.rb, runruby.rb: remove unused tools. Mon Dec 24 15:42:04 2007 Nobuyoshi Nakada * configure.in, cygwin/GNUmakefile.in, */Makefile.sub, djgpp/config.hin.: version dependent directory names now contain teeny. Mon Dec 24 15:29:13 2007 Tanaka Akira * tool/serb.rb: removed. Mon Dec 24 13:55:35 2007 Nobuyoshi Nakada * proc.c (rb_proc_new), vm.c (invoke_block): removed u3.state magic. [ruby-core:14310] * test/ruby/test_symbol.rb (test_to_proc): a test from Frederick Cheung . Mon Dec 24 13:43:36 2007 Nobuyoshi Nakada * thread.c (rb_thread_atfork): should not leave living_threads referring freed table while allocating new table. Mon Dec 24 12:49:54 2007 Nobuyoshi Nakada * Makefile.in, configure.in, lib/mkmf.rb, */Makefile.sub: specify compiled output file name explicitly. * enc/Makefile.in, enc/depend: now makes compiler to put generated files under directories corresnponding to the each source. enc/trans supported. * enc/make_encmake.rb: evaluates depend file before Makefile.in so that the former can influence to CONFIG. Mon Dec 24 12:35:03 2007 Nobuyoshi Nakada * win{32,ce}/Makefile.sub (MFLAGS): defaulted to -l. Mon Dec 24 12:08:10 2007 Eric Hodel * /, ext/: Add svn:ignore for OS X Xcode 3's conftest.dSYM directories. Mon Dec 24 11:56:31 2007 Nobuyoshi Nakada * common.mk: should not pass MAKEFLAGS to recursive make. + normal make: MFLAGS are set and command line options and macros are all passed silently. + GNU make: ditto, and all options and macros in MAKEFLAGS are in effect. + nmake: MFLAGS is not set and MAKEFLAGS has only options without hyphen, no macros exist in any variables. + Borland make: ditto, and command line macros cannot override macros in makefile, so passing them is vain. * {bcc32,win{32,ce}}/Makefile.sub (SET_MAKE): set MFLAGS which is not set by default, to get rid of chaotic situation of MFLAGS/MAKEFLAGS. Mon Dec 24 11:32:44 2007 Yukihiro Matsumoto * string.c (rb_str_comparable): fixed to keep transitivity. [ruby-dev:32693] Mon Dec 24 11:20:31 2007 Eric Hodel * lib/rdoc/ri/ri_options.rb: Fix display of GEMDIRS, make command examples match ri's name. * lib/rdoc/ri/ri_paths.rb: Only allow latest ri dirs in ri output. Mon Dec 24 10:49:04 2007 Eric Hodel * lib/uri/mailto.rb, lib/uri/common.rb: Fix Regexp warnings. Patch #16524 from Kornelius Kalnbach, [ruby-core:14302]. Mon Dec 24 10:37:38 2007 Eric Hodel * gem_prelude.rb: Remove methods from Gem, not QuickLoader, to fix warnings. Mon Dec 24 09:45:45 2007 Martin Duerst * transcode.c, transcode_data_one_byte.c, transcode_data_japanese.c: added rb_ prefix to external data symbols. Mon Dec 24 05:32:22 2007 Yukihiro Matsumoto * enum.c (enum_inject): updated documentation. a patch from Keita Yamaguchi in [ruby-dev:32686]. * README.EXT: updated. a patch from Tadashi Saito in [ruby-core:14328]. * array.c (rb_ary_at): updated documentation. a patch from Tadashi Saito in [ruby-core:14330]. Mon Dec 24 05:13:04 2007 Yukihiro Matsumoto * string.c (tr_trans): should associate new encoding if modified. Mon Dec 24 04:04:12 2007 GOTOU Yuuzou * test/net/http/test_https.rb: should rescue LoadError. Mon Dec 24 03:57:28 2007 Koichi Sasada * cont.c, vm.h: fix to support sparc machine. a patch from Yusuke ENDOH Mon Dec 24 03:35:19 2007 Koichi Sasada * common.mk: remove additional "-". Mon Dec 24 02:59:32 2007 Yukihiro Matsumoto * io.c (rb_io_check_readable): should not fill fptr->enc always. read-write IO (e.g. socket) does not work. [ruby-dev:32685] * io.c (io_read_encoding): retrieve reading encoding. * io.c (prepare_getline_args): convert RS to external encoding. * string.c (str_new_shared): was setting embedding flag of wrong string object. [ruby-dev:32685] * io.c (io_enc_str): should preserve default_external encoding. * io.c (appendline): should do multibyte aware RS search. Mon Dec 24 02:06:35 2007 Yukihiro Matsumoto * io.c (rb_f_open): documentation update. * io.c (rb_io_s_pipe): ditto. * io.c (io_fwrite): wrong encoding destination. * io.c (rb_io_external_encoding): should return the encoding of the file reading. * io.c (rb_io_internal_encoding): should return the encoding of read string. Mon Dec 24 01:46:43 2007 Yukihiro Matsumoto * io.c (rb_io_s_pipe): allow specifying read-side encoding. * io.c (io_enc_str): wrong encoding destination. Mon Dec 24 01:03:17 2007 Yukihiro Matsumoto * string.c (rb_str_comparable): comparison including broken coderange strings do not consider encoding. Mon Dec 24 00:57:15 2007 Yukihiro Matsumoto * io.c (open_key_args): IO direct methods (foreach, readlines, read) now takes keyword argument: encoding, mode, open_args. Mon Dec 24 00:52:15 2007 Yukihiro Matsumoto * io.c (rb_io_s_read): encoding argument reverted. * io.c (mode_enc): independent function to share code. * io.c (rb_io_internal_encoding): new method. Mon Dec 24 00:47:05 2007 Yukihiro Matsumoto * test/ruby/test_beginendblock.rb (TestBeginEndBlock::test_endblockwarn): rename endblockwarn.rb to endblockwarn_rb to avoid unnecessary warning in make test. Sun Dec 23 23:03:13 2007 Tanaka Akira * encoding.c (rb_enc_codepoint): implemented to raise invalid encoding. * include/ruby/encoding.h (rb_enc_codepoint): macro is replaced as a declaration. Sun Dec 23 19:45:22 2007 Tanaka Akira * lib/time.rb (Time.httpdate): fix 2 digits year for 20xx. reported by Tadayoshi Funaba. [ruby-dev:32687] Sun Dec 23 19:33:42 2007 Eric Hodel * lib/open-uri.rb: Fix method redefined warning. [ruby-core:14304] Sun Dec 23 18:31:49 2007 NARUSE, Yui * ext/nkf/nkf.c (rb_nkf_enc_get): use rb_define_dummy_encoding. * ext/nkf/nkf.c (Init_nkf): use rb_nkf_enc_get("ASCII"). * ext/nkf/nkf-utf8/nkf.c: Update 1.161. * ext/nkf/nkf-utf9/config.h: default output encoding is now UTF-8. * ext/nkf/lib/kconv.rb (Kconv.kconv): replace Encoding#name by Encoding#to_s. Sun Dec 23 18:02:52 2007 Eric Hodel * lib/rubygems/gem_open_uri.rb: Fix version check. Sun Dec 23 17:24:48 2007 Tanaka Akira * encoding.c (rb_enc_init): add eucJP as an alias of EUC-JP. Sun Dec 23 17:00:23 2007 Tanaka Akira * lib/time.rb (Time.httpdate): use Time.utc for "day-of-week, dd-mon-yy HH::MM:SS GMT" format. Sun Dec 23 16:12:40 2007 Eric Hodel * lib/rdoc: Fix 1.9 warnings. Sun Dec 23 15:28:37 2007 Eric Hodel * lib/rubygems, test/rubygems: Fix new 1.9 warnings. Sun Dec 23 14:43:10 2007 Eric Hodel * gem_prelude.rb: Use require to load rubygems.rb so the correct path is in $LOADED_FEATURES on RubyGems upgrade. Sun Dec 23 11:26:43 2007 Nobuyoshi Nakada * string.c (sym_call): use exact argument array interface. [ruby-core:14279] Sun Dec 23 11:01:35 2007 Nobuyoshi Nakada * io.c (rb_io_binmode_m): removed C99ism. Sun Dec 23 10:23:23 2007 Martin Duerst * transcode_data_one_byte.c: Better (and more honest) optimization. * transcode_data_japanese.c: First optimization step. Sun Dec 23 09:07:02 2007 Tanaka Akira * include/ruby/encoding.h, encoding.c, re.c, io.c, parse.y, numeric.c, ruby.c, transcode.c, ext/nkf/nkf.c: rename rb_ascii_encoding. to rb_ascii8bit_encoding. rb_ascii_encoding is ambiguous with ASCII-8BIT and US-ASCII. Sun Dec 23 03:35:52 2007 Nobuyoshi Nakada * version.h: use patchlevel if revision is not set. * {bcc32,win{32,ce}}/setup.mak (-version-): skip including revision.h. * common.mk (srcs): new target to generated sources. * common.mk (encs, ext/ripper/ripper.c): MAKEFLAGS needs -. * enc/depend, enc/make_encmake.rb: use erb. Sun Dec 23 01:56:18 2007 Yukihiro Matsumoto * io.c (rb_io_mode_enc): do not set encoding unless explicitly specified. * io.c (rb_io_check_readable): fill fptr->enc by default_external if it's empty. * io.c (io_enc_str): fptr->enc is always set for reading IO (by rb_io_check_readable(fptr)). Sun Dec 23 01:18:06 2007 David Flanagan * io.c, io.h: temporary patch to partially implement transcode-on-read and transcode-on-write Sun Dec 23 00:48:05 2007 Shugo Maeda * test/net/imap/test_imap.rb: added tests for SSL. Sat Dec 22 21:10:53 2007 Yukihiro Matsumoto * ext/syck/rubyext.c (syck_genericresolver_node_import): should not set instance variable "@kind" before initializing it. [ruby-dev:32677] Sat Dec 22 19:52:23 2007 Koichi Sasada * bootstraptest/test_objectspace.rb: fix condition. Sat Dec 22 19:17:10 2007 Koichi Sasada * ext/probeprofiler/: removed. Sat Dec 22 19:14:38 2007 Koichi Sasada * process.c (rb_f_fork): Unsupport Kernel.fork() on NetBSD. Sat Dec 22 15:54:54 2007 Martin Duerst * test/ruby/test_transcode.rb: Added simple tests for EUC-JP and Shift_JIS and tests for ASCII-only range Sat Dec 22 18:20:13 2007 NAKAMURA Usaku * common.mk (version.o): add dependency. [ruby-dev:32680] Sat Dec 22 17:45:11 2007 NARUSE, Yui * ext/nkf/nkf.c (Init_nkf): use rb_ascii_encoding() for rb_nkf_enc_get("US-ASCII"). * if use rb_nkf_enc_get("US-ASCII"), ruby will crash - this is bug? Sat Dec 22 17:39:03 2007 NAKAMURA Usaku * lib/mkmf.rb ($extmk): fixed broken condition. Sat Dec 22 17:35:59 2007 NARUSE, Yui * ext/nkf/nkf-utf8.c: Update nkf.c rev:1.157. * ext/nkf/nkf.c (rb_nkf_enc_get): replicate proper based encoding. * ext/nkf/kconv.c (Kconv#kconv, to*): use self.encoding as from_enc when from_enc isn't given. Sat Dec 22 17:06:50 2007 GOTOU Yuuzou * ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext.build): removed. * ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext#set_params): new method to set suitable SSL parameters. * lib/net/pop.rb, lib/net/http.rb, lib/net/imap.rb, test/openssl/test_ssl.rb: follow above change. * test/net/http/test_https.rb: refine error case. Sat Dec 22 16:58:49 2007 Shugo Maeda * lib/net/imap.rb (encode_utf7): accept UTF-8 strings. * lib/net/imap.rb (decode_utf7): return UTF-8 strings. Sat Dec 22 15:56:36 2007 NAKAMURA Usaku * transcode_data_japanese: typo. Sat Dec 22 15:54:54 2007 Martin Duerst * ChangeLog: Information for last patch got lost, fixed Sat Dec 22 15:45:45 2007 Martin Duerst * transcode_data_one_byte: slightly optimized * transcode_data_japanese: new data file for EUC-JP and SHIFT_JIS (not yet optimized; tests to follow; data from http://nkf.sourceforge.jp/ucm/{SJIS|eucJP}-nkf.ucm) * common.mk, transcode.c: Adjusted for transcode_data_japanese Sat Dec 22 15:30:13 2007 NAKAMURA Usaku * */Makefile.sub (MFLAGS): define unless defined. Sat Dec 22 15:17:40 2007 NAKAMURA Usaku * lib/mkmf.rb ($extmk): set true only when under ext/ or tool/. Sat Dec 22 15:14:48 2007 Nobuyoshi Nakada * common.mk (encs, ext/ripper/ripper.c): needs MFLAGS. * configure.in (STRINGIZE): stringizing macro. * include/ruby/defines.h (STRINGIZE): fallback. * tool/make-snapshot: new file. * version.c (ruby_description, ruby_copyright): string constants for -v option. Sat Dec 22 15:03:37 2007 Shugo Maeda * lib/net/imap.rb (initialize): fixed documentation. Sat Dec 22 15:01:16 2007 Shugo Maeda * lib/net/pop.rb (enable_ssl): use OpenSSL::SSL::SSLContext.build instead of SSLContext.new (default verify mode is now OpenSSL::SSL::VERIFY_PEER). Sat Dec 22 14:45:21 2007 Tadayoshi Funaba * lib/date.rb: shouldn't freeze nil. [ruby-dev:32677] Sat Dec 22 14:27:27 2007 Tanaka Akira * regenc.c (onigenc_ascii_is_code_ctype): moved from enc/ascii.c. * regenc.h (onigenc_ascii_is_code_ctype): declared. * enc/ascii.c: use onigenc_ascii_is_code_ctype. * enc/us_ascii.c: new file for US-ASCII. Sat Dec 22 14:30:34 2007 Nobuyoshi Nakada * parse.y (reg_named_capture_assign_iter): allows non-ascii names and get rid of reserved word IDs. Sat Dec 22 14:18:45 2007 Koichi Sasada * test/ruby/test_float.rb, test_sprintf.rb: fix test place. Sat Dec 22 14:17:02 2007 Koichi Sasada * bootstraptest/test_objectspace.rb: skip flozen string. Sat Dec 22 14:02:58 2007 Koichi Sasada * array.c (rb_ary_permutation): add volatile to avoid GC problem. Sat Dec 22 11:47:42 2007 Koichi Sasada * eval.c (rb_obj_instance_eval): use class of immediate objects. * test/ruby/test_eval.rb: fix a test. Sat Dec 22 11:37:06 2007 NAKAMURA Usaku * encoding.c (rb_locale_charmap): win32 support. Sat Dec 22 11:31:14 2007 Eric Hodel * gem_prelude.rb: Place bin dir before lib dir so gem bin stubs work. Sat Dec 22 11:05:44 2007 Jim Weirich * lib/rake.rb (Rake): Added Rake and related libraries to the source code base. Sat Dec 22 10:30:45 2007 Koichi Sasada * tool/insns2vm.rb: moved from lib/vm/instruction.rb. Sat Dec 22 10:25:44 2007 Yukihiro Matsumoto * parse.y (reg_named_capture_assign_iter): captured name should not be reserved word. a patch from Keita Yamaguchi in [ruby-dev:32675]. * parse.y (reg_named_capture_assign_iter): just ignore the captures that do not have valid local variable name. Sat Dec 22 10:19:08 2007 Yukihiro Matsumoto * eval.c (rb_f_method_name): now __method__ and __callee__ are aliases. [ruby-core:14244] Sat Dec 22 08:29:56 2007 Nobuyoshi Nakada * string.c (rb_str_buf_append): improvement for non-broken coded strings. Sat Dec 22 06:30:04 2007 Koichi Sasada * bootstraptest/test_fork.rb: skip if fork is not unsupported. * bootstraptest/test_io.rb: skip if require failed. Sat Dec 22 06:09:12 2007 David Flanagan * io.c: fix typo in rdoc comment Sat Dec 22 05:09:43 2007 NAKAMURA Usaku * parse.y (parser_str_new, rb_intern3): rb_default_encoding() renamed. * ext/nkf/nkf.c (rb_nkf_putchar): ditto. Sat Dec 22 03:54:18 2007 Yukihiro Matsumoto * encoding.c (rb_ascii_encoding): renamed from previous rb_default_encoding(). Sat Dec 22 02:49:02 2007 Yukihiro Matsumoto * parse.y (command): block from cmd_brace_block was ignored. [ruby-dev:32644] * re.c (rb_reg_prepare_re): stop ENCODING_NONE warning if the encoding of the str is ASCII-8BIT. Sat Dec 22 01:52:11 2007 Yukihiro Matsumoto * io.c (io_ungetc): avoid buffer relocation, which might cause serious problem under concurrent situation. Sat Dec 22 01:35:41 2007 Tanaka Akira * re.c (ARG_ENCODING_NONE): defined for /.../n option. (REG_ENCODING_NONE): ditto. (rb_char_to_option_kcode): return ARG_ENCODING_NONE for n. (rb_reg_prepare_re): warn /ascii/n =~ "non-ascii". (rb_reg_initialize): set REG_ENCODING_NONE from ARG_ENCODING_NONE. Sat Dec 22 01:23:10 2007 Shugo Maeda * test/json/test_json_addition.rb (test_core): do not use Time.now because JSON can't hold nsec. Sat Dec 22 01:10:30 2007 NAKAMURA Usaku * ext/tk/sample/tkextlib/vu/canvSticker2.rb, ext/tk/sample/demos-{en,jp}/bind.rb: fix typo. [ruby-dev:32668] Sat Dec 22 00:56:43 2007 Yukihiro Matsumoto * sample/test.rb (valid_syntax): force_encoding input script. Fri Dec 21 23:48:38 2007 NAKAMURA Usaku * lib/mkmf.rb (depend_rules): suffixes list broken. fixed. Fri Dec 21 20:18:15 2007 Yukihiro Matsumoto * bignum.c (rb_big_mul0): remove unused variable. * bignum.c (bigdivrem): ditto. Fri Dec 21 20:13:51 2007 Nobuyoshi Nakada * include/ruby/ruby.h (rb_catch_obj, rb_throw_obj): prototyped. * include/ruby/intern.h (rb_fiber_alive_p): prototyped. Fri Dec 21 20:09:18 2007 Nobuyoshi Nakada * string.c (rb_str_succ): retry increasing until valid char is found. Fri Dec 21 20:00:02 2007 Nobuyoshi Nakada * encoding.c (rb_enc_replicate): now creates first class encoding. * encoding.c (rb_define_dummy_encoding): always based on the default encoding. * encoding.c (rb_enc_dummy_p): check if dummy. * encoding.c (enc_inspect): shows if dummy. * encoding.c (Init_Encoding): added dummy? method * include/ruby/encoding.h (ENCODING_INLINE_MAX): increased. Fri Dec 21 18:40:54 2007 Koichi Sasada * io.c: write() should be in blocking region. * bootstraptest/test_io.rb, test_knownbug.rb: move a fixed test. Fri Dec 21 17:56:30 2007 * ext/tk/tcltklib.c: provisional support on Ruby-VM. * ext/tk/MANUAL_tcltklib.eng, ext/tk/MANUAL_tcltklib.eucj: modify document about new functions. * ext/tk/lib/tk.rb, ext/tk/lib/tk/labelframe.rb, ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/toplevel.rb, ext/tk/lib/tk/scrollbar.rb, ext/tk/lib/tk/message.rb, ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/text.rb, ext/tk/lib/tk/scale.rb, ext/tk/lib/tk/entry.rb, ext/tk/lib/tk/ttk_selector.rb, ext/tk/lib/tk/menu.rb, ext/tk/lib/tk/label.rb, ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/textmark.rb, ext/tk/lib/tk/winpkg.rb, ext/tk/lib/tk/checkbutton.rb, ext/tk/lib/tk/panedwindow.rb, ext/tk/lib/tk/texttag.rb, ext/tk/lib/tk/root.rb, ext/tk/lib/tk/textimage.rb, ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/package.rb, ext/tk/lib/tk/macpkg.rb, ext/tk/lib/tk/composite.rb, ext/tk/lib/tk/autoload.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/button.rb, ext/tk/lib/tk/textwindow.rb, ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb, ext/tk/lib/tkextlib/tile/style.rb, ext/tk/lib/tkextlib/tile/tscrollbar.rb, ext/tk/lib/tkextlib/tile/tpaned.rb, ext/tk/lib/tkextlib/tile.rb, ext/tk/extconf.rb: support Tcl/Tk8.5 (partial, not complete). * ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-jp/pendulum.rb, ext/tk/sample/demos-jp/bind.rb, ext/tk/sample/tkextlib/vu/canvSticker2.rb, ext/tk/sample/demos-en/pendulum.rb, ext/tk/sample/demos-en/bind.rb: remove $KCODE and minor bug fix. Fri Dec 21 17:49:06 2007 Nobuyoshi Nakada * transcode.c (rb_str_transcode_bang): returns self if no conversion. [ruby-dev:32662] Fri Dec 21 17:44:47 2007 Eric Hodel * lib/rubygems*: Update to RubyGems 1.0.1, r1581 Fri Dec 21 17:32:49 2007 Koichi Sasada * bootstraptest/pending.rb: renamed from featurebug.rb. This file contains bugs which is known but will not be fixed in days. Fri Dec 21 17:31:22 2007 Nobuyoshi Nakada * debug.c (dummy_gdb_enums.various): added ENCODING and CODERANGE constants. * .gdbinit: use enum constants. Fri Dec 21 17:28:17 2007 Koichi Sasada * bootstraptest/featurebug.rb: added. * bootstraptest/test_knownbug.rb: move a feature bug. Fri Dec 21 17:25:22 2007 Koichi Sasada * thread.c (rb_thread_atfork): fix to mark thread object. [ruby-dev:32404] * bootstraptest/test_knownbug.rb, test_fork.rb: move a fixed test. Fri Dec 21 17:07:13 2007 Koichi Sasada * gc.h: extern variable should not be initialized. * thread_pthread.c: add a parameter. Fri Dec 21 16:50:43 2007 Tanaka Akira * encoding.c (Init_Encoding): use enc_name as to_s. (enc_inspect): renamed from enc_to_s. add "#" at beginning. Fri Dec 21 16:37:43 2007 NARUSE, Yui * ext/nkf/nkf-utf8/config.h (MIME_DECODE_DEFAULT, X0201_DEFAULT): defined as FALSE. nkf and kconv don't decode MIME encoded string and don't convert JIS X 0201 Katakana. * test/nkf/test_kconv.rb: fix tests. Fri Dec 21 16:33:28 2007 Nobuyoshi Nakada * enumerator.c (enumerator_iter_i): adjusted for rb_block_call_func. * include/ruby/ruby.h (rb_block_call_func): function to be called back as block. Fri Dec 21 16:25:25 2007 Martin Duerst * common.mk, transcode_data_iso_8859.c: renamed to transcode_data_one_byte.c. Fri Dec 21 16:10:30 2007 Shigeo Kobayashi * ext/bigdecimal/bigdecimal.c (VpMidRound): Round method bug pointed by Ryan Platte fixed(Patch to the patch from "NATORI Shin"). [ruby-talk:273360] Fri Dec 21 16:06:13 2007 Tanaka Akira * re.c (append_utf8): use rb_utf8_encoding() instead of rb_enc_find("utf-8"). Fri Dec 21 15:59:46 2007 Nobuyoshi Nakada * encoding.c (rb_enc_init): use enc_register_at() directly. * encoding.c (rb_utf8_encoding): returns utf-8 encoding. * include/ruby/encoding.h (rb_utf8_encoding): prototyped. * parse.y (UTF8_ENC): uses rb_utf8_encoding(). Fri Dec 21 15:31:59 2007 Yukihiro Matsumoto * io.c (rb_io_s_read): allow specifying encoding explicitly. * io.c (rb_io_binmode): specifies encoding to ASCII-8BIT (binary). * io.c (rb_io_s_read): IO should be in binary mode when offset is specified. * encoding.c (rb_to_encoding): returns default encoding if no corresponding encoding found. Fri Dec 21 15:24:22 2007 Shugo Maeda * lib/net/imap.rb (initialize): accept service name. changed the defalut value of the old style +verify+ argument to true. Fri Dec 21 15:15:44 2007 Tanaka Akira * gc.c (rb_garbage_collect): new function for debugging. Fri Dec 21 15:16:00 2007 Nobuyoshi Nakada * encoding.c (rb_to_encoding_index): should return error instead of exception even if type is incorrect. Fri Dec 21 14:58:27 2007 Yukihiro Matsumoto * enumerator.c (enumerator_init_copy): prohibit cloning of generators since Fibers cannot be copied. * enumerator.c (enumerator_init_copy): typo fixed. Fri Dec 21 14:46:07 2007 Tanaka Akira * io.c (Init_IO): define IO::BINARY even if O_BINARY is not exist. Fri Dec 21 14:01:14 2007 Yukihiro Matsumoto * test/ruby/test_system.rb (TestSystem::valid_syntax): apply ASCII-8BIT encoding explicitly. * re.c (rb_reg_prepare_re): add encoding name in the message. Fri Dec 21 13:54:05 2007 Tanaka Akira * re.c: change "character encodings differ" error messages. Fri Dec 21 13:46:58 2007 Nobuyoshi Nakada * encoding.c (rb_enc_register): set encoding constant. * encoding.c (rb_enc_find_index): replace non-alphanumeric chars with underscores, so that initialize function can be called. * encoding.c (rb_enc_find_index): extension libraries have lower case names conventionally. * ruby.c (proc_options, process_options): finds encoding after load_path is initialized. Fri Dec 21 13:10:57 2007 Yukihiro Matsumoto * io.c (rb_io_external_encoding): new method. * encoding.c (rb_enc_from_encoding): returns Qnil for NULL encoding. * io.c (rb_io_external_encoding): should fill delayed initialization for STDIN. Fri Dec 21 13:09:11 2007 Tanaka Akira * encoding.c (rb_locale_charmap): return nil if no locale information. Fri Dec 21 12:55:39 2007 Tanaka Akira * lib/runit, lib/rubyunit.rb, test/testunit/runit: removed. Fri Dec 21 12:45:49 2007 Yukihiro Matsumoto * string.c (rb_str_chomp_bang): avoid unnecessary loop using ONIGENC_LEFT_ADJUST_CHAR_HEAD(). Fri Dec 21 12:32:08 2007 Yukihiro Matsumoto * file.c (Init_File): File.exists? revived. * dir.c (Init_Dir): Dir.exists? again. Fri Dec 21 12:26:36 2007 Koichi Sasada * compile.c: remove "illegal". Fri Dec 21 12:22:20 2007 Nobuyoshi Nakada * keywords, parse.y (__ENCODING__): represent script encoding. Fri Dec 21 12:16:50 2007 Tanaka Akira * string.c (rb_str_is_ascii_only_p): new method ascii_only?. Fri Dec 21 12:11:57 2007 Yukihiro Matsumoto * io.c (rb_io_mode_enc): set default external encoding if no encoding specified explicitly. Fri Dec 21 12:00:34 2007 Tanaka Akira * configure.in: check langinfo.h and locale.h. * encoding.c: use langinfo.h only if available. * main.c: use locale.h only if available. Fri Dec 21 11:47:56 2007 Tanaka Akira * encoding.c: include locale.h (rb_locale_charmap): new method Encoding.locale_charmap for nl_langinfo(CODESET). * include/ruby/encoding.h (rb_locale_charmap): declared. * main.c (main): call setlocale with LC_CTYPE. * ruby.c (locale_encoding): use rb_locale_charmap. Fri Dec 21 11:35:10 2007 Koichi Sasada * vm.c, vm_dump.c: fix typo. Reported by Yuki Mitsui. Fri Dec 21 11:28:00 2007 Tanaka Akira * regerror.c, string.c, io.c, lib/getoptlong.rb, lib/net/imap.rb, compile.c, sprintf.c, parse.y, ext/win32ole/win32ole.c, ext/tk/sample/demos-en/entry3.rb, ext/tk/lib/tcltk.rb, ext/openssl/ossl_bn.c, numeric.c, vm.c, benchmark/bm_so_meteor_contest.rb, bignum.c, ruby.c: don't "illegal" for non law violation context. Fri Dec 21 11:23:24 2007 Nobuyoshi Nakada * common.mk (enc.mk): depends on $(RBCONFIG) instead of rbconfig.rb. * encoding.c (Init_Encoding): ISO-8859-1 is no longer a replica. * regenc.h (OnigEncodingDefine): names of extension and encoding can differ. * enc/Makefile.in: always shared. * enc/depend (deffile): should not upcase. * enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: fix for Init. Fri Dec 21 09:26:48 2007 Tanaka Akira * tool/compile_prelude.rb: use erb. Fri Dec 21 08:07:35 2007 Yukihiro Matsumoto * enumerator.c (enumerator_next): should call next_init() if fiber is dead already. [ruby-dev:32459] Fri Dec 21 01:21:49 2007 GOTOU Yuuzou * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build): enable CRL checking by default. Fri Dec 21 01:20:56 2007 GOTOU Yuuzou * lib/net/http.rb (Net::HTTP#connect): use OpenSSL::SSL::SSLContext.build instead of SSLContext.new (default verify mode is now OpenSSL::SSL::VERIFY_PEER). * lib/net/https.rb: SSL parameters are defined by attr_accessor. * test/net/http/test_https.rb: add test for HTTPS features. Fri Dec 21 01:11:37 2007 GOTOU Yuuzou * io.c (select_internal): should return original value. Fri Dec 21 00:26:39 2007 Yukihiro Matsumoto * string.c (tr_trans): wrong encoding check for tree strings. * test/ruby/test_m17n.rb (TestM17N::test_tr_s): "invalid mbstring sequence" is not an error to be tested. * test/ruby/test_m17n.rb (TestM17N::test_tr): ditto. Thu Dec 20 19:29:07 2007 Shugo Maeda * lib/net/imap.rb (initialize): the second argument is an option hash now. use SSLContext.build to specify SSL parameters. Thu Dec 20 19:11:56 2007 Koichi Sasada * thread_pthread.c (native_thread_apply_priority): check _POSIX_PRIORITY_SCHEDULING for OpenBSD. Thu Dec 20 18:33:54 2007 Koichi Sasada * configure.in: add libthr for FreeBSD. Thu Dec 20 18:17:14 2007 Koichi Sasada * common.mk, *.ci: renamed to *.c. * eval_laod.c: renamed to load.c. Thu Dec 20 17:36:01 2007 Eric Hodel * lib/rubygems*: Import RubyGems 1.0.0, r1575. Thu Dec 20 17:18:38 2007 Koichi Sasada * proc.c: support Proc#binding. * sample/test.rb: add a test. Thu Dec 20 17:15:15 2007 Martin Duerst * pack.c: Slight change to documentation ('character' -> 'byte (C char)'). [ruby-core:13126], see also [ruby-core:13998]. Thu Dec 20 17:07:54 2007 Nobuyoshi Nakada * common.mk (enc.mk): depends on rbconfig.rb. * regenc.h (OnigEncodingDefine): external encoding definition macro. * enc/Makefile.in: fix for linking. * enc/depend, enc/make_encmake.rb: fix for Windows. * enc/{ascii,euc_jp,sjis,utf8,iso_8859_{1..16}}.c: renamed. Thu Dec 20 16:42:55 2007 Koichi Sasada * iseq.c (find_line_no): return 0 if not found. Thu Dec 20 16:04:17 2007 Koichi Sasada * insnhelper.ci, vm.c, vm_core.h: change interface of vm_invoke_block() to specify block ptr. [ruby-talk:266422] * cont.c, eval_jump.ci, insns.def, proc.c, signal.c, thread.c: apply above change. * bootstraptest/test_knownbug.rb: move fixed bug. * bootstraptest/test_block.rb: ditto. and add a test. Thu Dec 20 15:47:13 2007 Nobuyoshi Nakada * enc/iso_8859_{1..16}.c: renamed. Thu Dec 20 09:59:27 2007 Koichi Sasada * insnhelper.ci (vm_expandarray): fix sp increase place. a patch from Yusuke ENDOH in [ruby-dev:32581]. * bootstraptest/test_massign.rb: add a test for above. * bootstraptest/test_syntax.rb: fix last committed test. Thu Dec 20 09:47:58 2007 Koichi Sasada * bootstraptest/test_syntax.rb: add a test. Thu Dec 20 09:40:51 2007 Koichi Sasada * compile.c (iseq_compile_each/NODE_RETURN): fix stack consistency. Thu Dec 20 09:42:11 2007 Yukihiro Matsumoto * bignum.c (big2str_orig): access beyond memory region cause crash on interrupt. a patch from Yusuke ENDOH in [ruby-dev:32651]. [ruby-dev:32641] Thu Dec 20 09:06:54 2007 Yukihiro Matsumoto * string.c (rb_str_index): wrong starting position. Thu Dec 20 06:34:27 2007 Koichi Sasada * compile.c (iseq_compile_each): add pop after throw as return. * bootstraptest/test_knownbug.rb, test_syntax.rb: move resolved test. * vm_core.h, iseq.c, compile.h: add debug output code. Thu Dec 20 04:57:18 2007 Koichi Sasada * compile.c (iseq_compile_each): remove unused retry entry. Thu Dec 20 04:15:41 2007 NAKAMURA Usaku * */Makefile.sub (DEFS, RM): output to config.status. Thu Dec 20 02:59:05 2007 Yukihiro Matsumoto * common.mk (encs): create encoding directory. Thu Dec 20 02:50:28 2007 Nobuyoshi Nakada * enc/iso8859_{1..16}.c: adjust for ruby. Thu Dec 20 02:28:29 2007 Nobuyoshi Nakada * enc/iso8859_{1..16}.c: imported from Onigiruma 5.9.0. Thu Dec 20 02:23:22 2007 Nobuyoshi Nakada * enc/Makefile.in (RM): added. * enc/depend (encs): sort in alpha-numeric order. * enc/depend (clean, distclean): added. Thu Dec 20 01:10:52 2007 Nobuyoshi Nakada * compile.c (iseq_compile_each): should handle upper level eval iseq from break/next, and COMPILE_ERROR() breaks only one block. [ruby-dev:31372] Thu Dec 20 00:07:36 2007 Masatoshi SEKI * test/drb/drbtest.rb (test_07_public_private_protected_missing): followed current Ruby specification. Wed Dec 19 23:57:37 2007 Nobuyoshi Nakada * dir.c (dir_inspect, dir_path, dir_tell): check for frozen and closed is not needed. [ruby-dev:32640] Wed Dec 19 22:59:52 2007 Yukihiro Matsumoto * string.c (str_sublen): adjust position if position is not at the head of a character. * string.c (rb_str_chomp_bang): check if match start at the head of a character. * string.c (rb_str_chomp_bang): wrong adjust condition. * string.c (rb_str_rindex): comparison length should be based on bytes, not characters. * string.c (rb_str_rindex_m): too much adjustment. * re.c (reg_match_pos): pos adjustment should be based on characters. * test/ruby/test_m17n.rb (TestM17N::test_str_insert): test updated to check negative offset behavior. * string.c (rb_str_each_line): should consider rslen. * string.c (rb_str_buf_append): should propagate encoding. * string.c (rb_str_each_line): ditto. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): should check encoding as well. * test/ruby/test_m17n.rb (TestM17N::test_str_each_line): empty array can not propagate encoding; should not check. Wed Dec 19 21:42:18 2007 Nobuyoshi Nakada * re.c (rb_reg_regsub): should set checked encoding. * string.c (rb_str_sub_bang): applied r14212 too. Wed Dec 19 20:40:01 2007 NAKAMURA Usaku * bignum.c (bigmul1): C99ism. * bignum.c (bigdivrem1): need dummy return value. Wed Dec 19 19:18:06 2007 NARUSE, Yui * ext/nkf/nkf-utf8/nkf.c: Updated. * ext/nkf/nkf.c (rb_nkf_enc_get): added. (find encoding or replicate default encoding) * ext/nkf/nkf.c (NKF::): redefine encoding constant. * ext/nkf/lib/kconv.rb (Kconv::): redefined as Encoding. * ext/nkf/lib/kconv.rb: refactoring. Wed Dec 19 19:11:08 2007 Yukihiro Matsumoto * bignum.c (rb_big_mul0): blocking check for bigger numbers. a patch from Yusuke ENDOH in [ruby-dev:32632]. * bignum.c (bigdivrem): ditto. Wed Dec 19 17:34:50 2007 Koichi Sasada * compile.c (iseq_compile_each): remove "retry" in block. ("iter{retry}" cause syntax error) Currently, "begin; ...; rescue; iter{retry}; end" cause syntax error too. * bootstraptest/test_jump.rb: ditto. * lib/drb/invokemethod.rb: ditto. * sample/drb/darrayc.rb: ditto. * sample/test.rb: ditto. * test/drb/drbtest.rb: ditto. * test/ruby/test_iterator.rb: ditto. * sample/test.rb: add a 'test' directory on the SYSTEM test. Wed Dec 19 17:12:59 2007 Koichi Sasada * bootstraptest/test_knownbug.rb, test_block.rb: move fixed bug. * bootstraptest/test_m17n.rb: added. Wed Dec 19 16:59:55 2007 Koichi Sasada * eval.c (errinfo_place): skip if error is Fixnum. [ruby-dev:32608] * bootstraptest/test_exception.rb, test_known_bug.rb: move fixed bug. Wed Dec 19 16:31:58 2007 Nobuyoshi Nakada * parse.y (reg_named_capture_assign_iter): remove C99 dependency. * parse.y (reg_named_capture_assign_iter): get rid of creating unnecessary ID. * parse.y (rb_enc_symname2_p): check for non-nul-terminated string. Wed Dec 19 15:37:06 2007 Yukihiro Matsumoto * insnhelper.ci (vm_yield_with_cfunc): call cfunc with (argv[0], data, argc, argv) to pass all arguments. * enumerator.c (enumerator_each_i): adapted to new calling convention. Wed Dec 19 15:13:20 2007 Yukihiro Matsumoto * string.c (rb_str_justify): should propagate encoding from pad string too. Wed Dec 19 13:57:43 2007 Nobuyoshi Nakada * configure.in (TIMEZONE_VOID): check whether timezone requires zero arguments. [ruby-dev:32631] Wed Dec 19 13:22:14 2007 NARUSE, Yui * ext/nkf/nkf.c (NKF::_ENCODING): removed. * ext/nkf/nkf.c (rb_nkf_kconv): renamed to rb_nkf_convert. * ext/nkf/nkf.c (rb_nkf_convert): set encoding. * ext/nkf/nkf.c (rb_nkf_guess1): removed. * ext/nkf/nkf.c (rb_nkf_guess2): renamed to rb_nkf_guess. * ext/nkf/nkf.c (rb_nkf_guess): guess method now returns encoding object. * ext/nkf/nkf-utf8/nkf.c: Update to nkf 2.0.8 2007-12-19. Wed Dec 19 10:52:29 2007 Nobuyoshi Nakada * bignum.c (rb_cstr_to_inum): an underscore succeeding after octal prefix is allowed. [ruby-core:14139] Wed Dec 19 00:09:19 2007 Yukihiro Matsumoto * bignum.c (rb_cstr_to_inum): wrong radix check. a patch from Yusuke ENDOH in [ruby-dev:32628]. * bignum.c (big2str_find_n1): ditto. Tue Dec 18 23:53:53 2007 Nobuyoshi Nakada * compile.c (iseq_compile_each): fix for segfault. [ruby-dev:31372] Tue Dec 18 23:44:32 2007 GOTOU Yuuzou * test/net/http/utils.rb: split TestNetHTTPUtils module from test/net/http/test_http.rb. and start HTTP server in each test case. Tue Dec 18 23:27:51 2007 GOTOU Yuuzou * lib/webrick/server.rb (WEBrick::GenericServer#accept_client): should rescue Errno::EINVAL from TCPServer#accept. this exception might occur if the server socket is not in ready to listen. * lib/webrick/server.rb (WEBrick::GenericServer#accept_client): don't call TCPServer#close if the :ShutdownSocketWithoutClose is set. * lib/webrick/config.rb (WEBrick::Config::General): add new parameter :ShutdownSocketWithoutClose. Tue Dec 18 22:51:47 2007 GOTOU Yuuzou * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#shutdown): new method which calls TCPSocket#shutdown of the underlying socket. Tue Dec 18 22:11:50 2007 GOTOU Yuuzou * lib/rss/parser.rb, lib/rss/atom.rb, lib/rss/rss.rb, test/rss/rss-assertions.rb, test/rss/test_atom.rb: use pack/unpack("m") instead of base64 library. * lib/webrick/httpproxy.rb: use delete("\n") instead of chomp/chop because the result of pack("m") might be multi-line. Tue Dec 18 22:12:35 2007 Koichi Sasada * insnhelper.ci, vm.c: rewrite sp manipulation around method/block invocation. [ruby-dev:32547] Tue Dec 18 22:11:23 2007 NAKAMURA Usaku * ext/dl/win32/lib/win32/sspi.rb: use pack/unpack("m") instead of base64 library which was already removed. Tue Dec 18 21:09:23 2007 Koichi Sasada * vm.c (invoke_block): merge 2 stack overflow checks. Tue Dec 18 20:58:35 2007 Koichi Sasada * compile.c, insnhelper.ci, insns.def, object.c, vm.c, vm.h: optimize !@, != method invocation. * id.c, id.h: ditto. * bootstraptest/test_syntax.rb: add tests for above. Tue Dec 18 18:10:05 2007 Koichi Sasada * bootstraptest/test_knownbug.rb: add issues. Tue Dec 18 20:22:44 2007 Tanaka Akira * parse.y (arg tMATCH arg): call reg_named_capture_assign_gen if regexp literal is used. (reg_named_capture_assign_gen): assign the result of named capture into local variables. [ruby-dev:32588] * re.c: document the assignment by named captures. Tue Dec 18 18:09:15 2007 Yukihiro Matsumoto * string.c (rb_str_splice): propagate encoding. * string.c (rb_str_subpat_set): ditto. Tue Dec 18 17:27:12 2007 Yukihiro Matsumoto * object.c (rb_obj_freeze): preserve frozen state of immediate values in internal hash table, a la generic_ivar. * object.c (rb_obj_frozen_p): check immediate values too. * variable.c (generic_ivar_set): add frozen check fro immediate values. Tue Dec 18 17:04:25 2007 Nobuyoshi Nakada * transcode.c (rb_str_transcode_bang, rb_str_transcode): set new encoding even if no conversion is done because of 7bit only. [ruby-dev:32591] Tue Dec 18 15:43:59 2007 Nobuyoshi Nakada * common.mk (encs, ext/ripper/ripper.c): other options must come before MAKEFLAGS in GNU make. Tue Dec 18 15:19:55 2007 Eric Hodel * lib/rdoc/parsers/parse_rb.rb: Don't call private fail anymore. Tue Dec 18 15:17:26 2007 Nobuyoshi Nakada * common.mk (encs, ext/ripper/ripper.c): pass MAKEFLAGS. Tue Dec 18 14:45:25 2007 Yukihiro Matsumoto * parse.y (op_tbl): remove duplication to avoid symbol aliases. Tue Dec 18 14:39:05 2007 Yukihiro Matsumoto * string.c (str_nth): need not to raise out-of-range exception. * test/ruby/test_m17n.rb (TestM17N::test_str_aref_len): removed debug print. Tue Dec 18 14:05:23 2007 Nobuyoshi Nakada * enc/depend: get rid of target expanded as empty for nmake. Tue Dec 18 07:56:57 2007 Yukihiro Matsumoto * proc.c (rb_obj_public_method): Object#public_method to retrieve public method object. * proc.c (rb_mod_public_instance_method): Module#public_instance_method to retrieve public instance method from class / module. * proc.c (mnew): visibility check added. * eval_error.ci (rb_print_undef): add rb_ prefix. * eval_error.ci (rb_print_undef): add visibility in the error message. Tue Dec 18 05:54:26 2007 Yukihiro Matsumoto * lib/Env.rb, lib/base64.rb, lib/importenv.rb, lib/eregex.rb: removed. * lib/ping.rb, lib/readbytes.rb: removed Tue Dec 18 02:30:56 2007 Nobuyoshi Nakada * configure.in (BUILTIN_ENCS): removed. * common.mk (enc.mk): pass BUILTIN_ENCS from command line. * enc/depend: ditto. * enc/make_encmake.rb: ditto. Tue Dec 18 01:46:48 2007 Yukihiro Matsumoto * sprintf.c (rb_str_format): need to clear output buffer to avoid broken encoding compatibility check. Tue Dec 18 01:40:20 2007 Nobuyoshi Nakada * lib/mkmf.rb (depend_rules): inserts ruby to only headers. Tue Dec 18 01:21:19 2007 Nobuyoshi Nakada * parse.y (parser_encode_length): chomp eol style modifiers. * parse.y (parser_magic_comment): ditto. * parse.y (set_file_encoding): ditto. Tue Dec 18 01:15:44 2007 Nobuyoshi Nakada * common.mk (encs): added dependencies. * enc/Makefile.in, enc/depend, enc/make_encmake.rb: moved serb code. * lib/mkmf.rb (depend_rules): now takes content string, not file name. * win32/enc-setup.mak: overrides default target. Tue Dec 18 00:26:12 2007 Yukihiro Matsumoto * re.c (rb_reg_initialize): raise error if non-Unicode fixed encoding option is specified for regexp literals with \u{} escapes. * string.c (rb_str_squeeze_bang): should squeeze multibyte characters as well. Mon Dec 17 21:41:25 2007 Nobuyoshi Nakada * win32/enc-setup.mak: extracts BUILTIN_ENCOBJS. * tool/compile_prelude.rb: needs srcdir. Mon Dec 17 21:24:04 2007 GOTOU Yuuzou * common.mk (miniprelude.c): add -I$(srcdir). Mon Dec 17 20:53:27 2007 GOTOU Yuuzou * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ssl_version): new method OpenSSL::SSL::SSLContext#ssl_version to wrap SSL_CTX_set_ssl_version. * ext/openssl/ossl_ssl.c (ossl_ssl_get_verify_result): new method OpenSSL::SSL::SSLSocket#verify_result to wrap SSL_get_verrify_result. * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build): new method to build OpenSSL::SSL::SSLContext with Hash parameters. this method provides safety default parameters than SSLContext.new. * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL.verify_cetificate_identity): new module function: pull out identity verification process from OpenSSL::SSL::SSLSocket#post_connection_check. Mon Dec 17 18:42:23 2007 Yukihiro Matsumoto * string.c (scan_once): need no encoding compatibility check. it's done inside of re_reg_search(). * string.c (rb_str_split_m): ditto. * re.c (rb_reg_regsub): ditto. Mon Dec 17 17:50:30 2007 Yukihiro Matsumoto * string.c (rb_str_index): check if substring is broken. * string.c (rb_str_rindex): ditto. * string.c (rb_str_succ): should carry over. Mon Dec 17 17:47:26 2007 Nobuyoshi Nakada * common.mk (encs): new target to compile external encodings. * enc/Makefile.in: became a serb template. * enc/make_encmake.rb: creates enc.mk from enc/Makefile.in using serb. * lib/mkmf.rb (relative_from): moved from ext/extmk.rb. * lib/mkmf.rb ($extmk): true if under to top source directory, not only ext. * lib/mkmf.rb (depend_rules): extracted from create_makefile. * tool/serb.rb (serb): splitted from tool/compile_prelude.rb. Mon Dec 17 17:32:55 2007 Nobuyoshi Nakada * configure.in (MAKEFILES): removed enc/Makefile. * configure.in (EXTERNAL_ENCOBJS, ENCSOS): removed. * enc/Makefile.in (BUILTIN_ENCS): includes .c suffix. * enc/depend: splitted from Makefile.in. * {bcc32,win32,wince}/setup.mak (-encs-): extracts BUILTIN_ENCOBJS. Mon Dec 17 17:07:53 2007 Tanaka Akira * string.c (rb_enc_str_asciionly_p): use rb_enc_str_coderange. Mon Dec 17 16:39:25 2007 Tanaka Akira * string.c (rb_enc_str_coderange): set ENC_CODERANGE_BROKEN using rb_enc_precise_mbclen. (rb_str_valid_encoding_p): just check coderange is ENC_CODERANGE_BROKEN or not. Mon Dec 17 16:04:16 2007 GOTOU Yuuzou * ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added second optional argument to specify maximum length limit. Mon Dec 17 16:02:30 2007 GOTOU Yuuzou * lib/webrick/httprequest.rb, lib/webrick/cgi.rb: Request-Line or header fields shold be read with maximum length. [ruby-talk:231745] Mon Dec 17 14:03:39 2007 Tanaka Akira * include/ruby/encoding.h (ENC_CODERANGE_VALID): rename from ENC_CODERANGE_8BIT. * string.c (rb_enc_str_coderange): follow the renaming. Mon Dec 17 13:56:53 2007 Yukihiro Matsumoto * string.c (tr_find): wrong condition fixed. * sprintf.c (rb_str_format): check encoding based on result, not the format string. * string.c (rb_str_upto): add encoding check. Mon Dec 17 12:21:25 2007 Nobuyoshi Nakada * Makefile.in (RUNRUBY): added RUNRUBYOPT. Mon Dec 17 11:38:59 2007 Tanaka Akira * thread_win32.ci (native_thread_create): initialize th->machine_stack_maxsize as rb_gc_stack_maxsize. Sun Dec 16 17:07:35 2007 Martin Duerst * transcode.c (transcode_loop): removed special case (-1) for undefined conversions. * transcode_data_iso_8859.c: Changed from character constants ('\xC2') to integer contants (0xC2) for shorter files and better readability; eliminated duplicated tables; changed from -1 offset to actual UNDEF entry (not yet distinguishing UNDEF and ILLEGAL correctly). * test/ruby/test_transcode.rb: added a test for UNDEF conversion. Sun Dec 16 14:51:59 2007 Nobuyoshi Nakada * configure.in (MAKEFILES): should be enc/Makefile, not GNUmakefile. [ruby-dev:32609] * configure.in (BUILTIN_ENCS): removed escapes for OpenBSD. Sat Dec 15 23:58:46 2007 Tanaka Akira * test/openssl/test_pair.rb (SSLPair#ssl_pair): join the thread, even on an error. Sat Dec 15 23:50:31 2007 Tanaka Akira * test/xmlrpc/webrick_testing.rb: join webrick server thread. Sat Dec 15 22:27:39 2007 Nobuyoshi Nakada * configure.in (BUILTIN_ENCS): splitted command line instead of semicolons for Solaris. Sat Dec 15 21:38:24 2007 Tanaka Akira * lib/timeout.rb: join the background thread to make sure it is dead. Sat Dec 15 20:20:48 2007 Nobuyoshi Nakada * configure.in (enc/Makefile): add external encoding objects list. * common.mk (BUILTIN_ENCOBJS): renamed from ENCOBJS. * configure.in (BUILTIN_ENCS): [] needs to be enclosed because of m4. * Makefile.in (BUILTIN_ENCOBJS): substitued by autoconf. * enc/Makefile.in: new file to compile external encoding sources. * encoding.c (rb_enc_find_index): auto-load external encoding objects as "ext/ENCODING_NAME". [ruby-dev:32606] Sat Dec 15 13:04:30 2007 Tanaka Akira * vm_core.h (rb_thread_t): new member machine_stack_maxsize and machine_register_stack_maxsize. * gc.c (rb_gc_stack_maxsize): new global variable for the thread size of the main thread. (STACK_LEVEL_MAX): use machine_stack_maxsize of current thread. (ruby_stack_check): check IA64 register stack. (ruby_set_stack_size): set rb_gc_stack_maxsize. (Init_stack): set rb_gc_stack_maxsize. * thread_pthread.ci (native_thread_create): initialize th->machine_stack_maxsize and th->machine_register_stack_maxsize. * vm.c (Init_BareVM): initialize th->machine_stack_maxsize and th->machine_register_stack_maxsize. * thread_win32.ci (native_thread_create): initialize th->machine_stack_maxsize. not tested. just a guess at all. [ruby-dev:32604] Sat Dec 15 12:58:00 2007 Nobuyoshi Nakada * encoding.c (rb_enc_register, rb_enc_replicate, rb_enc_alias): check if already registered. Sat Dec 15 01:57:06 2007 Yukihiro Matsumoto * lib/rdoc/options.rb (Options::parse): do not access $KCODE any longer. [ruby-core:14079] * lib/irb/init.rb (IRB::IRB.parse_opts): ditto. * lib/cgi.rb (CGI::CGI): ditto. Fri Dec 14 18:18:31 2007 Tanaka Akira * thread_pthread.ci (native_thread_create): twice the stack size. 512KB is not enough to complete test-all on Debian GNU/Linux on IA64. Fri Dec 14 16:10:50 2007 Yukihiro Matsumoto * io.c (rb_f_p): RDoc update. a patch from murphy . [ruby-core:14010] Fri Dec 14 16:06:18 2007 Yukihiro Matsumoto * string.c (rb_str_cmp): encoding aware comparison. * string.c (rb_str_casecmp): ditto. Fri Dec 14 15:25:30 2007 Martin Duerst * transcode.c (encoding_equal): new function. * transcode.c (str_transcode, transcode_dispatch): added two-step conversion logic via UTF-8. * trancode.c: some minor formatting fixes * transcode_data.h, transcode_data_iso_8859.c: Shortened extremely frequently used macros to shorten file length. * test/ruby/test_transcode.rb: Fixed name of test class; added setup method to ensure all necessary encodings exist; split tests into more test methods; added tests; fixed ordering of arguments in assert_equal to have expected result first. Fri Dec 14 13:47:54 2007 Nobuyoshi Nakada * common.mk (ruby.imp): fix for circular dependency. a patch from Yutaka Kanemoto in [ruby-dev:32590]. * regint.h, st.c, ext/json/ext/generator/generator.c: suppress warnings on AIX. Fri Dec 14 12:36:35 2007 Nobuyoshi Nakada * configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined and its type. * configure.in (timezone, altzone): check for recent cygwin. * missing/strftime.c (strftime): fix for timezone. [ruby-dev:32536] * lib/mkmf.rb (try_var): should fail for functions. * ext/readline/extconf.rb: should use have_func for functions instead of have_var. Fri Dec 14 10:25:56 2007 Yukihiro Matsumoto * lib/e2mmap.rb (Exception2MessageMapper::E2MM.Raise): $! no longer modifiable in 1.9. Fri Dec 14 08:17:24 2007 Tanaka Akira * eval.c (rb_protect): restore root_jmpbuf even if proc exits by break such as dbm.delete_if { break }. Fri Dec 14 02:55:41 2007 Yukihiro Matsumoto * string.c (str_nth): direct jump if string is 7bit only. great performance boost for worst case. * string.c (str_strlen): direct size if string is 7bit only. Fri Dec 14 02:29:32 2007 Yukihiro Matsumoto * encoding.c (rb_enc_compatible): 1st argument (typically the receiver) would have higher priority in encoding detection. Fri Dec 14 02:05:42 2007 Yukihiro Matsumoto * io.c (rb_io_synchronized): should check if initialized. [ruby-dev:32585] Fri Dec 14 00:54:40 2007 Yukihiro Matsumoto * re.c (rb_reg_initialize): embedded string may override encoding of the regular expression. * re.c (rb_reg_initialize): fix encoding of regular expression if embedded string has its own encoding specified. Thu Dec 13 22:16:46 2007 Yukihiro Matsumoto * encoding.c (rb_enc_compatible): encoding should never fall back to ASCII-8BIT unless both encodings are ASCII-8BIT. Thu Dec 13 20:31:28 2007 Tanaka Akira * string.c (rb_str_shared_replace): make str noembed after free. Thu Dec 13 20:09:09 2007 Tanaka Akira * eval.c (rb_protect): restore root_jmpbuf to avoid SEGV by 'IO.pipe; [].each.next' with gcc version 3.3.5 (Debian 1:3.3.5-13) on IA64. Thu Dec 13 17:51:54 2007 Yukihiro Matsumoto * string.c (rb_str_split_m): need not to check encoding if regexp is empty. * string.c (rb_str_justify): associate encoding of original to the result. * string.c (rb_str_chomp_bang): need to check encoding of record separator. * string.c (str_gsub): should copy encoding to the result. * sprintf.c (rb_str_format): ditto. * string.c (rb_str_succ): should not enter infinite loop for non-ASCII, non-alphanumeric character at the bottom. Thu Dec 13 17:03:29 2007 Nobuyoshi Nakada * encoding.c (rb_enc_compatible): should swap encoding indexes too. Thu Dec 13 16:41:37 2007 Yukihiro Matsumoto * encoding.c (rb_enc_compatible): should not judge compatibility based on rb_enc_asciicompat(). Thu Dec 13 13:09:03 2007 Yukihiro Matsumoto * include/ruby/io.h (MakeOpenFile): fptr->enc should be intialized to zero. [ruby-dev:32569] Thu Dec 13 08:56:01 2007 Yukihiro Matsumoto * io.c (rb_io_getc): use default external encoding if fptr->enc is not set. [ruby-dev:32565] * lib/rubygems/package.rb (Gem::TarReader::Entry::rewind): typo fixed. [ruby-dev:32565] Thu Dec 13 08:24:16 2007 Yukihiro Matsumoto * io.c (read_all): should associate default external encoding. * io.c (io_read): should NOT associate default external encoding. Wed Dec 12 23:22:58 2007 Tanaka Akira * re.c, regerror.c, string.c, parse.y, ruby.c, file.c: use capital letter for \xHH notation. [ruby-dev:32511] Wed Dec 12 22:21:34 2007 Yukihiro Matsumoto * io.c (rb_io_mode_enc): allow specifying external encoding in open mode, e.g. open(path, "r:utf-8"). Wed Dec 12 21:26:03 2007 Yukihiro Matsumoto * eval_method.ci (rb_alias): no need to skip aliasing when new equals to old. [ruby-core:13990] Wed Dec 12 16:34:53 2007 Yukihiro Matsumoto * io.c (rb_io_check_readable): set default external encoding to STDIN. * io.c (io_enc_str): associate encoding to output string. Wed Dec 12 12:44:39 2007 Yukihiro Matsumoto * parse.y (expr): 'not' and '!' should act as conditional expression. [ruby-dev:32548] Wed Dec 12 12:11:42 2007 Nobuyoshi Nakada * re.c (rb_reg_regsub): should copy encoding. * string.c (rb_str_sub_bang, str_gsub): should check and copy encoding to be replaced. Tue Dec 11 23:04:17 2007 Yukihiro Matsumoto * pack.c (pack_pack): RDoc update. a patch from Gary Wright . [ruby-core:13998] * pack.c (pack_unpack): ditto. Tue Dec 11 16:37:47 2007 Tanaka Akira * encoding.c (rb_enc_ascget): renamed from rb_enc_get_ascii. * include/ruby/encoding.h: follow the renaming. * re.c: ditto. Tue Dec 11 16:19:26 2007 Nobuyoshi Nakada * Makefile.in, */Makefile.sub (CP, MV): added. * common.mk (.y.c): not discard the old target until successfully created. Tue Dec 11 15:20:39 2007 Yukihiro Matsumoto * object.c (Init_Object): singleton_method_{added,removed,undefined} hooks should be defined for BasicObject. [ruby-dev:32531] * eval.c (Init_eval): method_missing should be defined for all objects; moved to BasicObject. Tue Dec 11 14:27:50 2007 Nobuyoshi Nakada * transcode.c (transcode_loop): get rid of SEGV at sequence can not be converted. * transcode.c (rb_str_transcode_bang): copy encoding. [ruby-dev:32532] * test/ruby/test_transcode.rb: added tests from Martin Duerst . [ruby-dev:32532] Tue Dec 11 12:05:51 2007 Tanaka Akira * encoding.c (rb_enc_get_ascii): add an argument to provide the length of the returned character. * include/ruby/encoding.h (rb_enc_get_ascii): add the argument. * re.c (rb_reg_expr_str): modify rb_enc_get_ascii call. (rb_reg_quote): ditto. (rb_reg_regsub): ditto. Tue Dec 11 09:40:21 2007 Tanaka Akira * include/ruby/oniguruma.h (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): parenthesize an argument. Tue Dec 11 02:23:32 2007 Yukihiro Matsumoto * eval.c (rb_method_missing): RDoc update patch from Hugh Sasse . [ruby-core:12932] Tue Dec 11 01:51:34 2007 Yukihiro Matsumoto * lib/net/http.rb (Net::HTTP::get): now supports gzip content-encoding. a patch from Hugh Sasse . [ruby-core:13451] Tue Dec 11 01:21:21 2007 Yukihiro Matsumoto * parse.y (shadowing_lvar_gen): no duplicate error for "_". Mon Dec 10 22:08:47 2007 Akinori MUSHA * array.c (rb_ary_slice_bang): If an invalid range is given, do not raise an exception but return nil just like slice() does. Mon Dec 10 21:47:53 2007 Nobuyoshi Nakada * transcode.c (str_transcode): allow non-registered encodings. [ruby-dev:32520] Mon Dec 10 21:00:30 2007 Yukihiro Matsumoto * array.c (rb_ary_slice_bang): should return nil if position out of range. a patch from Akinori MUSHA . [ruby-dev:32518] Mon Dec 10 19:02:52 2007 Yukihiro Matsumoto * re.c (rb_reg_match): should calculate offset by converted operand. [ruby-cvs:21416] Mon Dec 10 18:28:06 2007 Yukihiro Matsumoto * lib/uri/common.rb (URI::REGEXP::PATTERN): typo in REG_NAME regular expression. a patch from Ueda Satoshi . [ruby-dev:32514] Mon Dec 10 17:46:04 2007 Nobuyoshi Nakada * string.c (rb_str_tmp_new): creates hidden temporary buffer. * transcode.c (transcoding): added a pointer to function to flush. * transcode.c (transcode_loop): do not use string internal. [ruby-dev:32512] * transcode.c (str_transcode): allow Encoding objects. * transcode_data.h (BYTE_LOOKUP): use actual struct name. Mon Dec 10 16:52:17 2007 Nobuyoshi Nakada * string.c (rb_str_insert): should not add length in bytes to index in chars. Mon Dec 10 14:33:50 2007 Yukihiro Matsumoto * eval.c (rb_f_public_send): rename invoke_method to public_send. it now invokes public method only no matter how it's called. Mon Dec 10 14:00:43 2007 Yukihiro Matsumoto * transcode.c: new file to provide encoding conversion features. code contributed by Martin Duerst. Mon Dec 10 13:50:33 2007 Nobuyoshi Nakada * re.c (rb_reg_search): return byte offset. [ruby-dev:32452] * re.c (rb_reg_match, rb_reg_match2, rb_reg_match_m): convert byte offset to char index. * string.c (rb_str_index): return byte offset. [ruby-dev:32472] * string.c (rb_str_split_m): calculate in byte offset. Mon Dec 10 09:56:29 2007 Koichi Sasada * benchmark/bm_vm1_neq.rb, bm_vm1_not.rb: added. Mon Dec 10 07:48:14 2007 Yukihiro Matsumoto * parse.y (parser_yylex): wrong token was generated. [ruby-dev:32498] * object.c (rb_obj_not_match): wrong test. Mon Dec 10 06:44:47 2007 Tanaka Akira * re.c (rb_reg_expr_str): use \xHH instead of \OOO. * regerror.c (to_ascii): ditto. (onig_snprintf_with_pattern): ditto. (onig_snprintf_with_pattern): ditto. * string.c (rb_str_inspect): ditto. (rb_str_dump): ditto. * parse.y (parser_yylex): ditto. * ruby.c (proc_options): ditto. * file.c (rb_f_test): ditto. [ruby-dev:32495] Mon Dec 10 06:41:00 2007 Tanaka Akira * re.c (rb_reg_names): new method Regexp#names. (rb_reg_named_captures): new method Regexp#named_captures (match_regexp): new method MatchData#regexp. (match_names): new method MatchData#names. * lib/pp.rb (MatchData#pretty_print): show names of named captures. [ruby-dev:32493] Mon Dec 10 01:35:06 2007 Yukihiro Matsumoto * parse.y (expr): redefinable not (!) operator. * parse.y (arg): ditto. * object.c (rb_obj_not): new method "!". * object.c (rb_obj_not_equal): new method "!=". * object.c (rb_obj_not_match): new method "!~". Sun Dec 9 22:31:36 2007 Tanaka Akira * re.c (rb_reg_s_last_match): accept named capture's name. Sun Dec 9 15:57:53 2007 Tanaka Akira * re.c (match_backref_number): new function for converting a backref name/number to an integer. (match_offset): use match_backref_number. (match_begin): ditto. (match_end): ditto. (name_to_backref_number): raise IndexError instead of RuntimeError. (match_inspect): show capture index. Sun Dec 9 14:59:15 2007 Koichi Sasada * eval_intern.h (CHECK_STACK_OVERFLOW): reserve frame size. [ruby-dev:32485] Sun Dec 9 14:38:25 2007 Koichi Sasada * vm.c (rb_thread_mark): use rb_gc_mark_maybe() for VM stack specified by mark_stack_len. [ruby-dev:32462] * insnhelper.ci: clear vm stack extended by opt value. Sun Dec 9 14:08:47 2007 Tanaka Akira * include/ruby/ruby.h (FilePathStringValue): defined. similar to FilePathValue but no taint check. * file.c (rb_get_path_no_checksafe): implementation of FilePathStringValue. (rb_file_s_basename): use FilePathStringValue. (rb_file_s_dirname): ditto. (rb_file_s_extname): ditto. (rb_file_s_split): ditto. (rb_file_join): ditto. * dir.c (file_s_fnmatch): ditto. Sun Dec 9 12:49:34 2007 Tanaka Akira * re.c (append_utf8): check unicode range. Sun Dec 9 12:39:01 2007 Nobuyoshi Nakada * lib/cgi.rb (read_multipart): exclude blanks from header values. [ruby-list:44327] Sun Dec 9 12:18:19 2007 Nobuyoshi Nakada * file.c (rb_get_path): use the original object if to_path method is not defined. [ruby-dev:32473] * io.c (rb_f_open): call to_open on non-string objects, instead of to_str. [ruby-dev:32473] Sun Dec 9 12:12:23 2007 Nobuyoshi Nakada * string.c (tr_find): returns true if no characters to be removed is specified. Sun Dec 9 12:03:16 2007 Nobuyoshi Nakada * parse.y (parser_magic_comment): delimits with a semicolon. Sun Dec 9 11:29:23 2007 Nobuyoshi Nakada * string.c (tr_trans): get rid of segfaults when has mulitbytes but source sets have no mulitbytes. Sun Dec 9 04:01:28 2007 Tanaka Akira * encoding.c (rb_enc_mbclen): return 1 if underlying implementation returns a length longer than e-p. (rb_enc_precise_mbclen): return needmore if underlying implementation returns a length longer than e-p. Sat Dec 8 17:59:40 2007 Tanaka Akira * signal.c (posix_signal): return value. Sat Dec 8 17:22:16 2007 GOTOU Yuuzou * test/openssl/test_pkcs7.rb: Remove redundant module namespace. Sat Dec 8 17:07:10 2007 Tanaka Akira * ruby.c (proc_options): make rb_raise format as a string literal to avoid warning. Sat Dec 8 16:18:16 2007 Tanaka Akira * re.c (rb_reg_check_preprocess): new function for validating regexp fragment. * parse.y (regexp): invoke reg_fragment_check. (reg_fragment_check): defined. (reg_fragment_check_gen): defined. Sat Dec 8 11:06:29 2007 Tanaka Akira * encoding.c (rb_enc_mbclen): make it never fail. (rb_enc_nth): don't check the return value of rb_enc_mbclen. (rb_enc_strlen): ditto. (rb_enc_precise_mbclen): return needmore(1) if e <= p. (rb_enc_get_ascii): new function for extracting ASCII character. * include/ruby/encoding.h (rb_enc_get_ascii): declared. * include/ruby/regex.h (ismbchar): removed. * re.c (rb_reg_expr_str): use rb_enc_get_ascii. (unescape_escaped_nonascii): use rb_enc_precise_mbclen to determine the termination of escaped non-ASCII character. (unescape_nonascii): use rb_enc_precise_mbclen. (rb_reg_quote): use rb_enc_get_ascii. (rb_reg_regsub): use rb_enc_get_ascii. * string.c (rb_str_reverse) don't check the return value of rb_enc_mbclen. (rb_str_split_m): don't call rb_enc_mbclen with e <= p. * parse.y (is_identchar): use ISASCII. (parser_ismbchar): removed. (parser_precise_mbclen): new macro. (parser_isascii): new macro. (parser_tokadd_mbchar): use parser_precise_mbclen to check invalid character precisely. (parser_tokadd_string): use parser_isascii. (parser_yylex): ditto. (is_special_global_name): don't call is_identchar with e <= p. (rb_enc_symname_p): ditto. [ruby-dev:32455] * ext/tk/sample/tkextlib/vu/canvSticker2.rb: remove coding cookie because the encoding is not UTF-8. [ruby-dev:32475] Fri Dec 7 20:21:35 2007 GOTOU Yuuzou * ext/openssl/lib/net/ftptls.rb, ext/openssl/lib/net/telnets.rb: half-finished libraries are discontinued. Fri Dec 7 15:44:40 2007 Tanaka Akira * lib/pp.rb: use Hash for recursion check as inspect. Fri Dec 7 15:04:01 2007 Nobuyoshi Nakada * array.c (flatten): some performance improvements, based on a patch from Yusuke ENDOH in [ruby-core:13877]. [ruby-core:13851] * thread.c (rb_exec_recursive): use Hash instead of Array for performance improvement. [ruby-core:13898] * thread.c (recursive_pop): use object ID. Thu Dec 6 19:52:50 2007 Yukihiro Matsumoto * parse.y (arg): typo fixed ("!" -> "|") in the ripper code. Thu Dec 6 19:48:41 2007 Yukihiro Matsumoto * parse.y (arg): tUPLUS no longer works as identity operation any more. inspired by [ruby-talk:265532]. Thu Dec 6 18:22:11 2007 Tanaka Akira * encoding.c (rb_enc_precise_mbclen): new function for mbclen with validation. * include/ruby/encoding.h (rb_enc_precise_mbclen): declared. (MBCLEN_CHARFOUND): new macro. (MBCLEN_INVALID): new macro. (MBCLEN_NEEDMORE): new macro. * include/ruby/oniguruma.h (OnigEncodingTypeST): replace mbc_enc_len by precise_mbc_enc_len. (ONIGENC_PRECISE_MBC_ENC_LEN): new macro. (ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND): new macro. (ONIGENC_CONSTRUCT_MBCLEN_INVALID): new macro. (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): new macro. (ONIGENC_MBCLEN_CHARFOUND): new macro. (ONIGENC_MBCLEN_INVALID): new macro. (ONIGENC_MBCLEN_NEEDMORE): new macro. (ONIGENC_MBC_ENC_LEN): use ONIGENC_PRECISE_MBC_ENC_LEN. * enc/euc_jp.c: validation implemented. * enc/sjis.c: ditto. * enc/utf8.c: ditto. * string.c (rb_str_inspect): use rb_enc_precise_mbclen for invalid encoding. (rb_str_valid_encoding_p): new method String#valid_encoding?. * io.c (rb_io_getc): use rb_enc_precise_mbclen. [ruby-dev:32438] Thu Dec 6 01:37:23 2007 Nobuyoshi Nakada * regparse.c (i_apply_case_fold): fix for negative character class. a patch from Yusuke ENDOH in [ruby-core:13884]. Thu Dec 6 01:00:38 2007 NARUSE, Yui * ext/iconv/iconv.c (iconv_s_list): support NetBSD/Citrus iconv. Wed Dec 5 16:18:50 2007 Nobuyoshi Nakada * proc.c (rb_proc_s_new): call initialize. [ruby-core:13824] * proc.c (rb_proc_location): return file name and line number where the proc is defined. * thread.c (thread_s_new): call initialize. [ruby-core:13835] * thread.c (thread_initialize): split initialize method. Wed Dec 5 15:25:55 2007 Nobuyoshi Nakada * parse.y (rb_intern3): fix to changing encoding to default, and uncommented r13835, which is rare but not impossible. Wed Dec 5 15:15:21 2007 Nobuyoshi Nakada * range.c (step_i, range_step): support non-fixnum steps. [ruby-talk:282100] Wed Dec 5 14:25:11 2007 Koichi Sasada * compile.c (iseq_compile_each): fix typo. Wed Dec 5 13:41:25 2007 Nobuyoshi Nakada * parse.y (yycompile): get rid of tracing while parsing. [ruby-dev:31351] * thread.c (ruby_suppress_tracing): added a new parameter, which directs to call func always. Tue Dec 4 19:56:42 2007 Nobuyoshi Nakada * ext/iconv/iconv.c (iconv_convert): should not set encoding unless the target encoding is supported. [ruby-dev:32451] Tue Dec 4 17:34:17 2007 NARUSE, Yui * ext/nkf/lib/kconv.rb (tojis, tosjis, toeuc, toutf8): set encoding. [ruby-dev:32447] Tue Dec 4 17:07:25 2007 NARUSE, Yui * lib/json.rb, lib/json/*: moved to ext/json/lib. Tue Dec 4 16:34:46 2007 Nobuyoshi Nakada * ext/iconv/iconv.c (iconv_create): achieve target encoding. * ext/iconv/iconv.c (iconv_convert, iconv_finish, iconv_iconv, iconv_conv): set result string encoding. [ruby-dev:32446] * ext/iconv/iconv.c (iconv_initialize, iconv_s_open): set encoding to Iconv instance. Tue Dec 4 14:34:35 2007 Nobuyoshi Nakada * ruby.c (process_options): reverted c flag. Tue Dec 4 11:23:50 2007 Nobuyoshi Nakada * bignum.c (rb_cstr_to_inum): trailing spaces may exist at sqeezing preceeding 0s. [ruby-core:13873] Mon Dec 3 11:51:53 2007 NAKAMURA Usaku * ext/Win32API/*: removed or moved to ext/dl/win32. * ext/dl/win32/*: new. [ruby-dev:32387] Sun Dec 2 22:08:01 2007 Nobuyoshi Nakada * parse.y (parser_tokadd_mbchar): fix for ASCII chars. [ruby-dev:32432] * parse.y (parser_parse_string, parser_here_document): prevent false error messages. Sun Dec 2 20:43:22 2007 Tanaka Akira * re.c (unescape_escaped_nonascii): fix mbclen argument. Sun Dec 2 15:47:57 2007 Nobuyoshi Nakada * parse.y (parser_tokadd_mbchar): check insufficient multibyte char. [ruby-dev:32429] Sun Dec 2 15:42:16 2007 Kouhei Sutou * lib/rss/rss.rb, test/rss/test_version.rb: 0.2.1 -> 0.2.2. * lib/rss/maker/itunes.rb: fixed new_itunes_category. * lib/rss/maker/taxonomy.rb: new_taxo_topic -> new_topic because of consistency. * test/rss/test_maker_itunes.rb, test/rss/test_itunes.rb: removed needless UTF-8 characters. Sun Dec 2 15:18:37 2007 Koichi Sasada * insnhelper.ci (vm_callee_setup_arg): fix error message. [ruby-dev:32430] Sun Dec 2 09:12:48 2007 Tanaka Akira * parse.y (regexp): fix /#{}\xa1\xa2/e to be EUC-JP. (reg_fragment_setenc_gen): extracted from reg_compile_gen. Sun Dec 2 01:39:51 2007 Tanaka Akira * include/ruby/intern.h (rb_uv_to_utf8): declared. * re.c (rb_reg_preprocess): new function for dynamic regexp with \u{} such as Regexp.new("\\u{6666}"). (rb_reg_prepare_re): preprocess regexp for recompiling. (read_escaped_byte): new function. (unescape_escaped_nonascii): new function. (append_utf8): new function. (unescape_unicode_list): new function. (unescape_unicode_bmp): new function. (unescape_nonascii): new function. (rb_reg_initialize): preprocess regexp. * pack.c (rb_uv_to_utf8): renamed from uv_to_utf8. * parse.y (STR_NEW3): take func instead of has8 and hasmb. (parser_str_new): use default coderange mechanism except for regexp. (parser_tokadd_utf8): copy regexp source as-is. (parser_read_escape): UTF-8 stuff removed. (parser_tokadd_escape): has8bit and hasmb removed. (parser_tokadd_string): fix 8-bit single byte character with \u. (parser_parse_string): has8bit and hasmb removed. (parser_here_document): has8bit and hasmb removed. (parser_yylex): call parser_tokadd_utf8 instead of read_escape for UTF-8 character. Wed Dec 2 01:00:07 2007 James Edward Gray II * lib/xmlrpc/server.rb (XMLRPC::Server#server): Improve signal handling so pressing control-c in the controlling terminal or sending SIGTERM stops the XML-RPC server. Sat Dec 1 23:04:42 2007 Yukihiro Matsumoto * encoding.c: rename primary_encoding -> default_external (encoding). Sat Dec 1 19:52:57 2007 Tadayoshi Funaba * lib/date.rb (Time#to_datetime): use nsec instead of usec. * lib/date.rb (DateTime#to_time): second minute as an argument to Time::utc contains fractional part in rational; hence Time object may keep resolution at most nanosecond. Sat Dec 1 14:36:05 2007 Koichi Sasada * bootstraptest/test_knownbug.rb: move fixed bugs. * test/ruby/test_sprintf.rb: ditto. * test/yaml/test_yaml.rb: ditto. Sat Dec 1 13:24:47 2007 Koichi Sasada * insnhelper.ci (vm_yield_with_cfunc): fix to passing argc on third parameter of IFUNC. [ruby-dev:32329] * enumerator.c: fix to pass exact number of argument. * eval.c (rb_yield_values2): added. * include/ruby/ruby.h: ditto. * bootstraptest/test_knownbug.rb: move a fixed test. * bootstraptest/test_block.rb: ditto. Sat Dec 1 10:45:56 2007 Yukihiro Matsumoto * io.c (rb_f_open): use to_open for every non-string object. path object may use method_missing. Sat Dec 1 09:44:32 2007 Yukihiro Matsumoto * insns.def (concatarray, splatarray): use to_a instead of to_splat. * insnhelper.ci (caller_setup_args): ditto. Sat Dec 1 03:34:32 2007 Nobuyoshi Nakada * parse.y (newline_node): always remove NODE_BEGIN. Fri Nov 30 23:48:07 2007 Yukihiro Matsumoto * signal.c (ruby_signal): use SA_SIGINFO if available. [ ruby-Patches-6418 ] Fri Nov 30 22:52:54 2007 Yukihiro Matsumoto * signal.c (trap_signm): SIGVTALRM no longer used for green thread. [ruby-talk:281318] * signal.c (ruby_sig_finalize): do not install SIG_DFL handler if previous handler is sighandler(). Fri Nov 30 21:02:15 2007 NARUSE, Yui * lib/json.rb, lib/json/add/{core.rb, rails.rb}, test/json/test_json_rails.rb: additional files of JSON 1.1.2. [ruby-dev:32405] Fri Nov 30 19:33:38 2007 Yukihiro Matsumoto * ext/syck/rubyext.c (rb_syck_mktime): avoid segmentation fault. [ruby-core:13735] Fri Nov 30 19:05:55 2007 Yukihiro Matsumoto * enum.c (enum_count): precise argument number check. * enum.c (enum_count): return Enumerator if no block given. Fri Nov 30 16:42:50 2007 Yukihiro Matsumoto * enum.c (enum_take_while): returns Enumerator if no block given. * enum.c (enum_drop_while): ditto. Thu Nov 29 16:59:10 2007 Nobuyoshi Nakada * parse.y (stmt): remove unnecessary NODE_BEGIN. [ruby-core:13814] Thu Nov 29 06:45:48 2007 Yukihiro Matsumoto * hash.c (rb_hash_eql): recursive comparison should be based on eql? [ruby-core:13803] Wed Nov 28 18:08:00 2007 NARUSE, Yui * ext/json, lib/json, test/json: Update to JSON 1.1.2. (RubyForge#15447) * math.c: fix typo. Wed Nov 28 16:29:35 2007 Koichi Sasada * insnhelper.ci (vm_invoke_block): should splat args. [ruby-dev:32392] * test/ruby/test_yield.rb: add tests for above. Wed Nov 28 14:43:14 2007 Nobuyoshi Nakada * ext/extmk.rb (extract_makefile): use dldflags instead of DLDFLAGS to get rid of mixing $LDFLAGS and $ARCH_FLAG. * lib/mkmf.rb (configuration): ditto. * lib/mkmf.rb (create_makefile): support for extensions which has no shared object. Wed Nov 28 02:42:10 2007 Nobuyoshi Nakada * bignum.c (big2str_find_n1): removed extraneous element. [ruby-dev:32351], [ruby-dev:32365] * bignum.c (big2str_find_n1): returns necessary digits now. * sprintf.c (remove_sign_bits): extends sign bit first. Tue Nov 27 15:53:43 2007 Koichi Sasada * compile.c (iseq_compile_each): "when *[],1" dumps core. a patch from Yusuke ENDOH . [ruby-dev:32350] * bootstraptest/test_syntax.rb: add a test for above. Tue Nov 27 15:40:05 2007 Koichi Sasada * compile.c (iseq_compile_each): "a[*b] += 1" dumps core. a patch from Yusuke ENDOH . [ruby-dev:32354] * bootstraptest/test_syntax.rb: add a test for above. Tue Nov 27 12:47:23 2007 Koichi Sasada * compile.c, insns.def: change return value of "defined?" for $&, $1, ... . If such variables are defined, return "global-variable". * test/ruby/test_defined.rb: add tests. * bootstraptest/test_syntax.rb: fix a test. Tue Nov 27 11:54:46 2007 Koichi Sasada * insns.def: fix typo. Tue Nov 27 11:23:20 2007 Koichi Sasada * test_beginendblock.rb: add loop to wait signal. [ruby-dev:32332] Tue Nov 27 11:14:57 2007 Tanaka Akira * include/ruby/encoding.h, encoding.c, re.c, string.c, parse.y: rename ENC_CODERANGE_SINGLE to ENC_CODERANGE_7BIT. rename ENC_CODERANGE_MULTI to ENC_CODERANGE_8BIT. Because single byte 8bit character, such as Shift_JIS 1byte katakana, is represented by ENC_CODERANGE_MULTI even if it is not multi byte. Tue Nov 27 10:45:45 2007 Koichi Sasada * eval.c (rb_method_missing): fix stack trace. * bootstraptest/test_knownbug.rb: move solved tests. * bootstraptest/test_method.rb, test/ruby/test_regexp.rb: ditto. Tue Nov 27 09:57:42 2007 Koichi Sasada * insns.def, compile.c: fix to allow dsym for alias/undef. [ruby-dev:32355] * bootstraptest/test_method.rb: add tests for above. Mon Nov 26 23:18:46 2007 Masatoshi SEKI * lib/drb/extserv.rb (initialize, stop_service): synchronize with ExtServManager. * test/drb/test_drb.rb (TestDRbEval): ignored. Mon Nov 26 17:32:16 2007 Tanaka Akira * re.c (Init_Regexp): new method Regexp#fixed_encoding? [ruby-dev:32361] Mon Nov 26 13:28:14 2007 Keiju Ishitsuka * lib/complex.rb: be able to create Complex(0, -0.0). [ruby-list:44268] Mon Nov 26 11:24:04 2007 Tanaka Akira * re.c (rb_reg_fixed_encoding_p): extracted from rb_reg_prepare_re and rb_reg_s_union. (rb_reg_s_union): refactored. Mon Nov 26 10:44:20 2007 Nobuyoshi Nakada * io.c (rb_read_internal, rb_sysopen_internal): remove C99 dependency. Sun Nov 25 22:21:35 2007 Tanaka Akira * include/ruby/encoding.h (rb_enc_str_asciionly_p): declared. (rb_enc_str_asciicompat_p): defined. * re.c (rb_reg_initialize_str): use rb_enc_str_asciionly_p. (rb_reg_quote): return ascii-8bit string if the argument is ascii-only to generate encoding generic regexp if possible. (rb_reg_s_union): fix encoding handling. [ruby-dev:32094] * string.c (rb_enc_str_asciionly_p): defined. Sun Nov 25 12:12:03 2007 Eric Hodel * gem_prelude.rb: Import fast-loading gem_prelude.rb from RubyGems. * lib/rubygems*: Import RubyGems r1516. Sat Nov 24 23:25:52 2007 Yukihiro Matsumoto * test/ruby/test_eval.rb (TestEval::test_instance_eval_cvar): updated not to modify class variable of Object class. Fri Nov 23 17:34:24 2007 Koichi Sasada * io.c: add rb_read_internal() as blocking function. Fri Nov 23 17:33:39 2007 Koichi Sasada * vm.c: fix comment. Fri Nov 23 17:26:11 2007 Koichi Sasada * bootstraptest/test_knownbug.rb: move solved tests. * bootstraptest/test_io.rb, test_marshal.rb, test_objectspace.rb: ditto. * test/ruby/test_integer.rb, test_regexp.rb: ditto. Fri Nov 23 15:59:04 2007 Tanaka Akira * struct.c (rb_struct_alloc_noinit): new function. (rb_struct_define_without_accessor): add allocator to the arguments. * range.c (range_alloc): re-introduced using rb_struct_alloc_noinit. Fri Nov 23 15:27:43 2007 Tanaka Akira * re.c (REG_CASESTATE): unused macro removed. (rb_reg_prepare_re): check encoding difference. (rb_reg_initialize): check 8bit byte. * parse.y (parser_tokadd_escape): fix has8bit. [ruby-dev:32113] Fri Nov 23 15:16:48 2007 Yukihiro Matsumoto * variable.c (rb_f_global_variables): variable names should not duplicate. [ruby-dev:32344] Fri Nov 23 13:34:08 2007 Tanaka Akira * struct.c (rb_struct_define_without_accessor): new function. * range.c (range_alloc): removed. (Init_Range): use rb_struct_define_without_accessor. based on [ruby-dev:32327]. Fri Nov 23 11:01:54 2007 Yukihiro Matsumoto * re.c (match_begin): should return offset by character. [ruby-dev:32331] * re.c (match_end): ditto. * re.c (rb_reg_search): ditto. Fri Nov 23 10:44:24 2007 Yukihiro Matsumoto * compile.c (defined_expr): defined(method(x)) dumped core. a patch from Yusuke ENDOH . [ruby-dev:32335] Wed Nov 21 18:03:49 2007 Koichi Sasada * vm.c: fix to recycle thread data (VM stack). * thread.c: ditto. * benchmark/bm_vm3_thread_create_join.rb: add loop count. Wed Nov 21 18:02:10 2007 Koichi Sasada * benchmark/driver.rb: add path to trunk/lib if driver runner is in build directory. Wed Nov 21 16:39:21 2007 Tanaka Akira * test/fileutils/fileasserts.rb (assert_equal_timestamp): new assert to test tv_sec only for filestamp resolution portability. (assert_same_entry): use assert_same_entry for mtime comparison. Wed Nov 21 14:55:13 2007 Koichi Sasada * array.c (rb_ary_permutation): add gc guard codes. Wed Nov 21 11:16:37 2007 Yukihiro Matsumoto * insnhelper.ci (vm_search_normal_superclass): rename function. * insnhelper.ci (vm_search_superclass): ditto. * proc.c (struct METHOD): rename rklass -> rclass. Wed Nov 21 03:12:50 2007 Yukihiro Matsumoto * process.c (rb_f_system): returns nil on execution failure. [ruby-core:13715] Wed Nov 21 01:04:12 2007 Yukihiro Matsumoto * object.c (nil_plus): remove unused function. [ruby-core:13737] Tue Nov 20 21:46:46 2007 Tanaka Akira * time.c (time_mload): ignore invalid digits in submicro. Tue Nov 20 20:33:32 2007 Koichi Sasada * include/ruby/ruby.h: rename RFloat#double_value -> float_value. * numeric.c, parse.y: ditto. Tue Nov 20 19:36:21 2007 Koichi Sasada * gc.h, vm_core.h: decl of rb_gc_save_machine_context() should be at vm_core.h. * include/ruby/ruby.h, intern.h: remove type rb_thread_t. * include/ruby/intern.h: change rb_unblock_function_t, rb_unblock_function_t. * file.c, process.c: apply above changes. * thread.c, thread_pthread.ci, thread_win32.ci: ditto. * io.c: support blocking open (2). [ruby-core:13614] Tue Nov 20 17:10:11 2007 Tanaka Akira * io.c (rb_io_close_on_exec_p): new method IO#close_on_exec?. (rb_io_set_close_on_exec): new method IO#close_on_exec=. [ruby-dev:32323] Tue Nov 20 16:24:31 2007 Tanaka Akira * gc.c (gc_mark_children): obj->as.file.fptr may be 0 for T_FILE. Tue Nov 20 15:09:00 2007 Nobuyoshi Nakada * parse.y (parser_read_escape): has8bit flag may be set with control escape. [ruby-core:13722] * parse.y (parser_prepare): set begging after BOM if exists. [ruby-core:13718] Tue Nov 20 14:55:37 2007 Eric Hodel * lib/rubygems*: Update to RubyGems 0.9.5. Tue Nov 20 13:00:44 2007 NAKAMURA Usaku * include/ruby/win32.h win32/win32.c (rb_w32_pipe_exec): use dual fd instead of socketpair when mode is RDWR. * io.c (pipe_open): pass &write_fd to rb_w32_pipe_exec(). * io.c (popen_redirect): define only when HAVE_FORK. Tue Nov 20 12:12:04 2007 Tanaka Akira * include/ruby/io.h (rb_io_t): add tied_io_for_writing member. * io.c: use tied_io_for_writing for duplex popen. * gc.c: mark tied_io_for_writing. * common.mk: gc.o depends io.h. [ruby-dev:32205] Tue Nov 20 11:59:33 2007 Tanaka Akira * test/drb/test_drb.rb: rename TestRubyYield to TestDRbRubyYield to avoid name crash with test/ruby/test_yield.rb. TestRuby18Yield is renamed to TestDRbRuby18Yield too. Tue Nov 20 03:24:42 2007 Masatoshi SEKI * lib/drb/extservm.rb: merged from ruby_1_8 branch. * lib/drb/acl.rb: ditto. * lib/drb/ssl.rb: ditto. * lib/drb/unix.rb: ditto. * lib/drb/drb.rb: ditto. * lib/drb/observer.rb: ditto. * lib/drb/invokemethod.rb: ditto. * test/drb/test_drbssl.rb: ditto. * test/drb/test_drb.rb: ditto. * test/drb/drbtest.rb: ditto. * test/drb/test_drbunix.rb: ditto. Tue Nov 20 00:52:46 2007 Tanaka Akira * test/fileutils/fileasserts.rb (assert_equal_time): show nsec if assertion fails but time.to_s equals. (assert_same_entry): use assert_equal_time. * test/fileutils/test_fileutils.rb (test_install): use assert_equal_time. Mon Nov 19 18:46:49 2007 Tanaka Akira * file.c (utime_internal): fallback utimensat to utimes. Mon Nov 19 17:51:27 2007 Tanaka Akira * configure.in: check struct timespec, clock_gettime, utimensat, struct stat.st_atim, struct stat.st_atimespec, struct stat.st_atimensec, struct stat.st_mtim, struct stat.st_mtimespec, struct stat.st_mtimensec, struct stat.st_ctim, struct stat.st_ctimespec, struct stat.st_ctimensec. * include/ruby/missing.h: provide struct timespec if not available. * time.c: support nanosecond-resolution using struct timespec. (time_nsec): new method: Time#nsec and Time#tv_nsec. * include/ruby/intern.h: provide rb_time_nano_new. * file.c (utime_internal): use utimensat if available. (rb_file_s_utime): refactored. (rb_f_test): use stat_atime, stat_mtime, stat_ctime. (rb_stat_cmp): check tv_nsec. (stat_atimespec): new function. (stat_atime): ditto. (stat_mtimespec): ditto. (stat_mtime): ditto. (stat_ctimespec): ditto. (stat_ctime): ditto. (rb_stat_atime): use stat_atime. (rb_file_s_atime): ditto. (rb_file_atime): ditto. (rb_stat_mtime): use stat_mtime. (rb_file_s_mtime): ditto. (rb_file_mtime): ditto. (rb_file_ctime): use stat_ctime. (rb_file_s_ctime): ditto. (rb_stat_ctime): ditto. * variable.c (rb_copy_generic_ivar): clear clone's instance variables if obj has no instance variable. * marshal.c (w_object): dump instance variables of generated string for TYPE_USERDEF, even if original object has instance variables. * lib/time.rb (Time#xmlschema): use nsec instead of usec. [ruby-dev:32306] Mon Nov 19 17:48:30 2007 Yukihiro Matsumoto * object.c (rb_class_superclass): should not raise exception for BasicObject. [ruby-Bugs-15668] Mon Nov 19 16:04:08 2007 Yukihiro Matsumoto * array.c (rb_ary_permutation): gives all permutations of elements if no argument given. a patch from Yusuke ENDOH . [ruby-dev:32309] Mon Nov 19 02:44:07 2007 Nobuyoshi Nakada * compile.c (iseq_compile_each): alias and undef accept dsyms as well as literals. [ruby-dev:32308] Mon Nov 19 02:31:36 2007 Nobuyoshi Nakada * eval_method.ci (rb_add_method): no redefinition warning for undef. Mon Nov 19 01:53:11 2007 Nobuyoshi Nakada * parse.y (parser_read_escape): disallow control and meta modifiers for non-ASCII characters. [ruby-core:13685] Sun Nov 18 20:47:41 2007 Tanaka Akira * marshal.c (mark_dump_arg): it may be called after dump_ensure. Sun Nov 18 18:27:47 2007 Tanaka Akira * time.c (time_minus): fix Time.at(2**60+1) - Time.at(2**60). Sun Nov 18 17:28:49 2007 Tanaka Akira * time.c (time_arg): show actual year in 2-3 digits year warning. (time_mdump): show actual year in "year too big to marshal" error. Sun Nov 18 14:03:44 2007 Nobuyoshi Nakada * eval_method.ci (rb_alias): do not call hook functions until initialization finishes. [ruby-talk:279538] Sun Nov 18 09:09:48 2007 Nobuyoshi Nakada * lib/mkmf.rb (String#tr_cpp): make preprocessor identifiers. Sun Nov 18 05:19:46 2007 Tanaka Akira * lib/mkmf.rb (have_struct_member): define HAVE_type_member. Sat Nov 17 23:51:29 2007 Masaki Suketa * ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100] Sat Nov 17 23:21:15 2007 Yukihiro Matsumoto * parse.y (parser_yylex): should clear parser->tokp as well. [ruby-dev:32250] * parse.y: remove NEED_ASSOC that break test_parser_events. * parse.y (parser_yylex): should not decrement line numbers at the end of file. * file.c (rb_find_file_ext): search .rb files first through in the loadpath. Fri Nov 16 23:31:18 2007 Yukihiro Matsumoto * bignum.c (rb_big_odd_p): new method added. a patch from Tadashi Saito . [ruby-dev:32305] * bignum.c (rb_big_even_p): ditto. Fri Nov 16 17:41:34 2007 Nobuyoshi Nakada * ext/iconv/iconv.c (Document-class): moved the simplest example to the top. * ext/iconv/iconv.c (iconv_s_iconv): Document-method: needs class prefix for class method. [ruby-core:13542] * ext/iconv/iconv.c (iconv_iconv): also instance method needs to be qualified. Fri Nov 16 16:26:57 2007 Shugo Maeda * include/ruby/ruby.h: added some declarations for event hooks. * lib/profile.rb: set VM::InstructionSequence.compile_option. Fri Nov 16 11:16:41 2007 Nobuyoshi Nakada * lib/yaml/rubytypes.rb (String#is_binary_data?): use Integer#fdiv. Fri Nov 16 03:36:01 2007 why the lucky stiff * ext/syck/rubyext.c: Node#value defined twice. * lib/yaml/: several method redefinitions causing warnings. Fri Nov 16 03:01:00 2007 why the lucky stiff * lib/yaml/types.rb: Likewise, pass self to YAML::quick_emit. Fri Nov 16 02:51:59 2007 why the lucky stiff * lib/yaml.rb (quick_emit): use combination of object_id and hash to identify repeated object references, since GC will reuse memory of objects during output of YAML. [ruby-Bugs-8548] [ruby-Bugs-3698] Thu Nov 15 19:49:03 2007 NAKAMURA Usaku * ext/curses/extconf.rb: check macro if cannot find func. [ruby-list:44224] Thu Nov 15 18:04:06 2007 Tanaka Akira * tool/compile_prelude.rb: fix TMP_RUBY_PREFIX for relative load path environment. Thu Nov 15 17:28:21 2007 Tanaka Akira * tool/compile_prelude.rb: absolute path may not start with a slash. pointed by usa. Thu Nov 15 17:07:54 2007 Tanaka Akira * tool/compile_prelude.rb: fix first substitution. use constant for prefix. pointed by Richard Kilmer. Thu Nov 15 14:29:56 2007 Nobuyoshi Nakada * common.mk (prereq): added auto generated sources. [ruby-dev:32280] Thu Nov 15 12:31:13 2007 Tanaka Akira * tool/compile_prelude.rb: use constant for prefix. Thu Nov 15 12:24:39 2007 Tanaka Akira * tool/compile_prelude.rb: use simple template system for source code generation. Thu Nov 15 12:19:14 2007 Yukihiro Matsumoto * lib/cgi/session.rb (CGI::Session::FileStore::restore): use lockfile for exclusive locks. a patch from . [ruby-dev:32296] Thu Nov 15 12:14:53 2007 Yukihiro Matsumoto * tool/compile_prelude.rb (c_esc): need to escape closing brace. Thu Nov 15 11:52:16 2007 Tanaka Akira * tool/compile_prelude.rb: adjust RbConfig::CONFIG paths relative to the installation path. Thu Nov 15 11:25:20 2007 Tanaka Akira * ruby.c (usage): fix typo on --disable-gems option. pointed by Richard Kilmer. Wed Nov 14 16:16:17 2007 Yukihiro Matsumoto * test/net/http/test_https_proxy.rb (HTTPSProxyTest::test_https_proxy_authentication): initialize local variable 't' first. [ruby-dev:32253] Wed Nov 14 15:39:24 2007 Yukihiro Matsumoto * test/socket/test_socket.rb: update not to use 1.8 assignment to external local variable in the block parameters. [ruby-dev:32251] * test/strscan/test_stringscanner.rb: avoid $KCODE, and use String#force_encoding(). [ruby-dev:32251] Wed Nov 14 14:04:42 2007 Tanaka Akira * common.mk, Makefile.in: rename prelude.c to miniprelude.c. rename ext_prelude.c to prelude.c * win32/Makefile.sub: ditto. * bcc32/Makefile.sub: ditto. Wed Nov 14 07:09:48 2007 Koichi Sasada * blockinlining.c, compile.c, compile.h, debug.c, debug.h, id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci, thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h, vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and copyright year. Wed Nov 14 07:07:51 2007 Koichi Sasada * tool/makedocs.rb, template/insnstbl.html: removed. Wed Nov 14 02:50:43 2007 Nobuyoshi Nakada * common.mk (parse.c): dependency also needs vpath. * common.mk (node_name.inc, prelude.c): VPATH in nmake does not work for targets of explicit rules. Wed Nov 14 02:11:38 2007 Tanaka Akira * missing/isinf.c (isinf): don't define if the macro is defined. * configure.in: no need to set ac_cv_func_isinf=yes on non-gcc solaris. Wed Nov 14 01:34:42 2007 Nobuyoshi Nakada * numeric.c (round): fallback definition. * numeric.c (flo_divmod, flo_round): use round() always. [ruby-dev:32269] Wed Nov 14 00:33:49 2007 Koichi Sasada * include/ruby/ruby.h: introduce 2 macros: RFLOAT_VALUE(v), DOUBLE2NUM(dbl). Rename RFloat#value -> RFloat#double_value. Do not touch RFloat#double_value directly. * bignum.c, insns.def, marshal.c, math.c, numeric.c, object.c, pack.c, parse.y, process.c, random.c, sprintf.c, string.c, time.c: apply above changes. * ext/dl/mkcallback.rb, ext/json/ext/generator/generator.c: ditto. Wed Nov 14 00:15:37 2007 Nobuyoshi Nakada * tool/ytab.sed: get rid of GNU sed feature. a patch from Laurent Sansonetti in [ruby-core:13470]. Tue Nov 13 21:41:39 2007 Nobuyoshi Nakada * common.mk (parse.c), ext/ripper/depend (ripper.c): process after bison with sed. [ruby-dev:32204] * ruby.c (proc_options): use yydebug in cmdline_options. * ruby.c (process_options): set yydebug flag of parser. * parse.y (yydebug): moved into struct parser_params. * parse.y (rb_parser_get_yydebug, rb_parser_set_yydebug): parser generic methods. * */Makefile.sub (parse.c): moved to common.mk. * tool/ytab.sed: comment out yydebug definition, and substitute yyerror with parser_yyerror. Tue Nov 13 16:33:07 2007 Nobuyoshi Nakada * numeric.c (flodivmod): work around for infinity. * numeric.c (flo_divmod): work around for platforms have no round(). [ruby-dev:32247] Tue Nov 13 15:26:33 2007 Tanaka Akira * lex.c.blt: moved from lex.c. * lex.c.src: copied from keywords. This is the source of lex.c.blt. * Makefile.in (lex.c): use lex.c.blt if keywords is same as lex.c.src. * win32/Makefile.sub (lex.c): re-introduce copy rule. * bcc32/Makefile.sub (lex.c): ditto. * wince/Makefile.sub (lex.c): ditto. Tue Nov 13 15:21:52 2007 Koichi Sasada * compile.c (iseq_specialized_instruction): check argc. Tue Nov 13 14:44:32 2007 why the lucky stiff * test/yaml/test_yaml.rb: fixed the failing YAML Struct test at ko1's request. Tue Nov 13 02:57:04 2007 URABE Shyouhei * numeric.c (flo_divmod): round to the nearest integer. [ ruby-Bugs-14540 ] Tue Nov 13 00:36:16 2007 Shugo Maeda * test/ruby/test_settracefunc.rb: fixed tests for set_trace_func. Mon Nov 12 19:47:29 2007 NAKAMURA Usaku * thread.c (call_trace_proc): should return value. Mon Nov 12 19:45:18 2007 NAKAMURA Usaku * {bcc,win}32/Makefile.sub (miniruby): use $(COMMONOBJS) and $(DMYEXT) instead of $(LIBRUBY_A). Mon Nov 12 18:32:53 2007 Nobuyoshi Nakada * {bcc,win}32/Makefile.sub (MINIOBJS): added prelude.$(OBJEXT). Mon Nov 12 17:13:23 2007 Tanaka Akira * Makefile.in, common.mk: add prelude.o to MINIOBJS. Mon Nov 12 16:52:29 2007 Nobuyoshi Nakada * lib/mkmf.rb (create_makefile): rdoc about srcprefix. a patch from Daniel Berger in [ruby-core:13378]. Mon Nov 12 16:48:09 2007 Tanaka Akira * Makefile.in, common.mk: add ext_prelude.o to OBJS. Mon Nov 12 13:57:39 2007 Tanaka Akira * configure.in (MINIDLNOBJS): removed. (MINIOBJS): set to dln.o if dmydln.o is not used. * Makefile.in (miniruby): use MINIOBJS instead of MINIDLNOBJS. Mon Nov 12 13:53:06 2007 Yukihiro Matsumoto * misc/ruby-mode.el (ruby-parse-partial): handle stringified symbols properly using ruby-forward-string. Mon Nov 12 12:17:59 2007 Tanaka Akira * configure.in (MINIDLNOBJS): defined. * Makefile.in (miniruby): use MINIDLNOBJS and COMMONOBJS instead of MINIOBJS and OBJS to avoid linking both dmydln.o and dln.o. Sun Nov 11 20:32:45 2007 Tanaka Akira * {win32,wince,bcc32}/Makefile.sub: delete lex.c rule. Sun Nov 11 19:40:52 2007 Tanaka Akira * Makefile.in (lex.c): simplified. Sun Nov 11 18:31:48 2007 Tanaka Akira * Makefile.in (lex.c): touch lex.c if gperf failed but lex.c exists. Although this may cause non-updated lex.c, svn co may generate keywords newer than lex.c especially on a file system which can record fractional mtime such as XFS. Sun Nov 11 17:32:46 2007 Shugo Maeda * insnhelper.ci (vm_call_method): pass mn->nd_clss to vm_call_cfunc() instead of klass. * vm.c (rb_thread_method_id_and_klass): traverse parent_iseq. * thread.c (call_trace_proc): use rb_thread_method_id_and_klass(). Sun Nov 11 16:54:25 2007 Tanaka Akira * lex.c: renamed from lex.c.blt. * Makefile.in (lex.c): use find command to check mtime. Sun Nov 11 05:34:13 2007 Eric Hodel * bin/gem: Add forgotten gem command. Sat Nov 10 23:50:31 2007 Tanaka Akira * string.c (tr_trans): cast to unsigned char after dereference a pointer to a char to avoid SEGV with "\377".tr("a", "b"). on FreeBSD/amd64. Sat Nov 10 23:08:53 2007 Tanaka Akira * configure.in, common.mk, Makefile.in: don't generate libminiruby-static.a. Sat Nov 10 19:46:54 2007 Tanaka Akira * configure.in, common.mk, Makefile.in: generate libminiruby-static.a which contains prelude.o for miniruby. Sat Nov 10 18:10:07 2007 Tanaka Akira * gem_prelude.rb: new file for gem libraries. currently empty. * common.mk: generate ext_prelude.c by prelude.rb and gem_prelude.rb. ruby (not miniruby) is linked with ext_prelude.o instead of prelude.o. * inits.c (rb_call_inits): don't call Init_prelude. * ruby.c: support --disable-gems option. (ruby_init_gems): new function to define Gem::Enable and invoke Init_prelude. (process_options): call ruby_init_gems just after ruby_init_loadpath. * tool/compile_prelude.rb: support multiple files. Sat Nov 10 17:27:55 2007 Shugo Maeda * thread.c (call_trace_proc): don't call ID2SYM() for ID_ALLOCATOR to avoid SEGV. Sat Nov 10 16:37:07 2007 Eric Hodel * lib/rubygems: Import RubyGems revision 1493. * lib/rubygems.rb: ditto. * lib/ubygems.rb: ditto. * lib/rbconfig/datadir.rb: ditto. * test/rubygems: ditto. Sat Nov 10 16:34:21 2007 Eric Hodel * lib/soap/property.rb: Don't override Enumerable#inject for 1.9. Sat Nov 10 14:43:30 2007 David Flanagan * parse.y: use ASCII encoding for string literals that are 7-bit clean, fixing regression from my previous patch Sat Nov 10 13:18:54 2007 Nobuyoshi Nakada * {bcc32,win32}/Makefile.sub: vendor_ruby support. Fri Nov 9 23:33:16 2007 Nobuyoshi Nakada * parse.y (parser_nextc): added single line read forward buffer. * parse.y (parser_yylex): adjust line number for fluent interface. Fri Nov 9 22:04:21 2007 Nobuyoshi Nakada * vm.h (FRAME_MAGIC_MASK_BITS): bits of FRAME_MAGIC_MASK. * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): use shift operations. Fri Nov 9 21:46:28 2007 Koichi Sasada * eval.c (eval): should be volatile value for GC. Fri Nov 9 17:48:22 2007 Nobuyoshi Nakada * ruby.c (locale_encoding): guesstimate encoding from environment variables. [ruby-core:13315] * ruby.c (process_options): set primary encoding from environment. Fri Nov 9 16:51:42 2007 Yukihiro Matsumoto * io.c (rb_io_each_byte): should update rbuf_off and rbuf_len for each iteration. [ruby-dev:31659][ruby-dev:32192] * variable.c (rb_cvar_set): cvar assignment obey same rule to cvar reference. [ruby-dev:32192] Fri Nov 9 15:52:00 2007 Nobuyoshi Nakada * encoding.c (enc_check_encoding, rb_set_primary_encoding): ENCODING is no longer in FL_USERS flags. Fri Nov 9 15:20:13 2007 Nobuyoshi Nakada * string.c (rb_str_squeeze_bang): initialize squeezing table if no arguments given. Fri Nov 9 13:57:50 2007 Yukihiro Matsumoto * enum.c (each_with_index_i): use rb_yield_values() for compatibility with Enumerator#with_index(). a patch from Yusuke ENDOH . [ruby-dev:32195] Fri Nov 9 13:45:05 2007 Yukihiro Matsumoto * test/ruby/test_iterator.rb (TestIterator::IterTest::each): #each_pair is now alias to #each. [ruby-dev:32192] * test/ruby/test_iterator.rb (TestIterator::test_assoc_yield): ditto Fri Nov 9 12:56:36 2007 Nobuyoshi Nakada * eval_load.c (loaded_feature_path): check with type of given feature. Fri Nov 9 12:43:02 2007 Yukihiro Matsumoto * test/ruby/test_basicinstructions.rb: updated for new class behavior. [ruby-dev:32192] * encoding.c (enc_name): Encoding should not rely on ENCODING in the FL_USERS flags. * encoding.c (rb_enc_from_encoding): do not call rb_enc_associate for encoding itself. * encoding.c (enc_register_at): ditto. * marshal.c (r_ivar): do not set real instance variable for encoding data associated. Fri Nov 9 10:43:55 2007 Nobuyoshi Nakada * eval.c (send_internal): use self in the previous frame to check for protected methods. [ruby-core:13254] * insnhelper.ci (vm_call_method): send! method has gone. Fri Nov 9 10:38:13 2007 Koichi Sasada * marshal.c (w_object): should be SPECIAL_CONST_P() instead of IMMEDIATE_P(). Fri Nov 9 10:29:21 2007 Nobuyoshi Nakada * eval.c (rb_invoke_method): check if invoked in function style. [ruby-core:13245] * insnhelper.ci (vm_call_cfunc, vm_cfunc_flags): stores and returns VM calling flags. * vm.c (rb_vm_cfunc_funcall_p): returns if the current method is invoked in function style. Fri Nov 9 10:10:21 2007 Koichi Sasada * cont.c: add rb_context_t#type. Fri Nov 9 10:05:54 2007 Koichi Sasada * ruby.c (set_arg0): fix breaking environ bugs. Fri Nov 9 07:26:04 2007 Yukihiro Matsumoto * random.c: update MT URL.[ruby-core:13305]. Thu Nov 8 17:09:55 2007 David Flanagan * object.c: improve docs for Object.tap * ChangeLog: fix bogus dates on my previous entries Thu Nov 8 15:13:56 2007 David Flanagan * parse.y: fix segfault with \x escapes in regexps delete unused #if 0 code regions from previous patch Thu Nov 8 12:12:10 2007 NAKAMURA Usaku * parse.y (parser_read_escape): remove C99/gcc-ism. Thu Nov 8 07:54:22 2007 David Flanagan * parse.y: patch, based on Nobu's, work to support \u escapes also modifications for better coderange detection * test/ruby/test_unicode_escapes.rb: test cases * test/ruby/test_mixed_unicode_escapes.rb: mixed encoding test cases Thu Nov 8 07:14:37 2007 David Flanagan * parse.y (rb_intern3): commented out broken code that prevented correct interning of multi-byte symbols. Without this patch :x==:x is false when x is a multi-byte character. Thu Nov 8 07:04:31 2007 David Flanagan * string.c (tr_setup_table, tr_trans): fix test failures in test/ruby/test_string.rb Wed Nov 7 15:07:51 2007 Nobuyoshi Nakada * enum.c (enum_each_with_index): make different arrays at each iteration. [ruby-dev:32181] Wed Nov 7 05:17:24 2007 David Flanagan * eval.c: fix typo in invoke_method documentation Wed Nov 7 03:52:26 2007 Yukihiro Matsumoto * array.c (rb_ary_product): core dumped with non array arguments. a patch from Yusuke ENDOH . [ruby-dev:32180] Wed Nov 7 03:32:38 2007 Yukihiro Matsumoto * lib/rexml/encodings/SHIFT-JIS.rb (REXML::Encoding): place -x for nkf conversion. a patch from . [ruby-dev:32183] Wed Nov 7 02:59:49 2007 Yukihiro Matsumoto * array.c (rb_ary_each_index): should return meaningful value. Tue Nov 6 16:37:47 2007 Nobuyoshi Nakada * eval_load.c (loaded_feature_path): need to expand relative paths. * eval_load.c (rb_feature_p): check if the feature is loading with load path. [ruby-dev:31932] * eval_load.c (load_lock): check the result of barrier waiting. * thread.c (rb_barrier_wait): check if owned by the current thread. * thread.c (rb_barrier_release): ditto. Mon Nov 5 08:01:22 2007 Yukihiro Matsumoto * eval.c (Init_eval): move #send to Kernel module from BasicObject. Mon Nov 5 05:17:04 2007 Nobuyoshi Nakada * lib/optparse.rb (OptionParser::Switch::summarize): fix for long form option with very long argument. a patch from Kobayashi Noritada in [ruby-list:44179]. Mon Nov 5 01:20:33 2007 Yukihiro Matsumoto * parse.y (call_args): remove "parenthesize argument(s) for future version" warning. when I added this warning, I had a plan to reimplement the parser that is simpler than the current one. since we abandoned the plan, warning no longer required. Mon Nov 5 01:02:56 2007 Minero Aoki * lib/net/http.rb (HTTPHeader#initialize): provide default User-Agent to fix 500 error on some corrupted HTTP servers. [ruby-core:13135] Mon Nov 5 00:32:32 2007 Yukihiro Matsumoto * eval.c (rb_f_send): allow send/__send__ to call methods of all visibility again. we no longer provide __send, __send!. * eval.c (rb_invoke_method): new method to honor private visibility. if it's invoked in a function call style, it calls private methods as well (previous 1.9 send behavior). Mon Nov 5 00:24:24 2007 NAKAMURA Usaku * win32/Makefile.sub: vendor_ruby support. * configure.in (RUBY_LIB): duplicated. Mon Nov 5 00:01:33 2007 Tanaka Akira * re.c (rb_reg_quote): quote \v as well. Sun Nov 4 23:51:59 2007 Tanaka Akira * re.c (rb_reg_initialize_m): use StringValuePtr instead of StringValueCStr because \0 exists when Regexp.new("\0"). Sun Nov 4 08:11:19 2007 Tanaka Akira * gc.c (count_objects): count TOTAL. Sun Nov 4 03:58:32 2007 Yukihiro Matsumoto * string.c (tr_setup_table): use C array for characters that fit in a byte to gain performance. * string.c (rb_str_delete_bang): ditto. * string.c (rb_str_squeeze_bang): ditto. * string.c (rb_str_count): ditto. * string.c (tr_trans): ditto. Sun Nov 4 00:06:40 2007 Tanaka Akira * gc.c (count_objects): ObjectSpace.count_objects implemented. [ruby-core:12301] Sat Nov 3 22:49:37 2007 Yukihiro Matsumoto * hash.c (rb_hash_each_pair): make Hash#each to be alias to Hash#each_pair for compatibility and clarity. * hash.c (env_each_pair): ditto. Sat Nov 3 22:41:05 2007 Tanaka Akira * configure.in: --with-vendor-hdrdir implemented. * lib/mkmf.rb: check --vendor argument. * README.EXT: explain --vendor option for extconf.rb * README.EXT.ja: ditto. Sat Nov 3 20:30:48 2007 Tanaka Akira * configure.in: -