aboutsummaryrefslogtreecommitdiffstats
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ssl_version):gotoyuzo2007-12-172-46/+104
| | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (encs): new target to compile external encodings.nobu2007-12-171-9/+0
| | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/buffering.rb (Buffering#gets): added secondgotoyuzo2007-12-171-1/+4
| | | | | | | optional argument to specify maximum length limit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (ruby.imp): fix for circular dependency. a patch fromnobu2007-12-141-1/+1
| | | | | | | | | | Yutaka Kanemoto <kinpoco AT gmail.com> in [ruby-dev:32590]. * regint.h, st.c, ext/json/ext/generator/generator.c: suppress warnings on AIX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/extconf.rb: should use have_func for functions insteadnobu2007-12-141-4/+3
| | | | | | | of have_var. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_mbclen): make it never fail.akr2007-12-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/net/ftptls.rb, ext/openssl/lib/net/telnets.rb:gotoyuzo2007-12-072-304/+0
| | | | | | | half-finished libraries are discontinued. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/iconv/iconv.c (iconv_s_list): support NetBSD/Citrus iconv.naruse2007-12-052-0/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/iconv/iconv.c (iconv_convert): should not set encoding unlessnobu2007-12-041-4/+7
| | | | | | | the target encoding is supported. [ruby-dev:32451] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/lib/kconv.rb (tojis, tosjis, toeuc, toutf8):naruse2007-12-041-4/+4
| | | | | | | set encoding. [ruby-dev:32447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/json.rb, lib/json/*: moved to ext/json/lib.naruse2007-12-0420-0/+4684
| | | | | | | | | | | | | | | -- M trunk/ChangeLog D trunk/lib/json D trunk/lib/json.rb A trunk/ext/json/lib A trunk/ext/json/lib/json A trunk/ext/json/lib/json.rb A trunk/ext/json/extconf.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/iconv/iconv.c (iconv_create): achieve target encoding.nobu2007-12-042-26/+44
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/Win32API/*: removed or moved to ext/dl/win32.usa2007-12-0311-248/+31
| | | | | | | | * ext/dl/win32/*: new. [ruby-dev:32387] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c (rb_syck_mktime): avoid segmentation fault.matz2007-11-301-2/+6
| | | | | | [ruby-core:13735] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/json, lib/json, test/json: Update to JSON 1.1.2.naruse2007-11-283-94/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | (RubyForge#15447) * math.c: fix typo. -- M ChangeLog M math.c M ext/json/ext/generator/generator.c M ext/json/ext/parser/parser.rl M ext/json/ext/parser/parser.c M lib/json/version.rb M lib/json/editor.rb M lib/json/common.rb M lib/json/pure/parser.rb M test/json/test_json_unicode.rb M test/json/test_json_fixtures.rb M test/json/test_json_generate.rb M test/json/test_json_addition.rb M test/json/test_json.rb M test/json/runner.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb (extract_makefile): use dldflags instead of DLDFLAGS tonobu2007-11-281-1/+1
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (parser_yylex): should clear parser->tokp as well.matz2007-11-191-1/+1
| | | | | | | | | | | | | | [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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/win32ole/win32ole.c (ole_invoke): bug fix. [ruby-talk:279100]suke2007-11-171-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/iconv/iconv.c (iconv_iconv): also instance method needs to benobu2007-11-161-1/+1
| | | | | | | qualified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/iconv/iconv.c (Document-class): moved the simplest example tonobu2007-11-161-8/+8
| | | | | | | | | | the top. * ext/iconv/iconv.c (iconv_s_iconv): Document-method: needs class prefix for class method. [ruby-core:13542] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c: Node#value defined twice.why2007-11-151-1/+0
| | | | | | | * lib/yaml/: several method redefinitions causing warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/extconf.rb: check macro if cannot find func.usa2007-11-151-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: introduce 2 macros:ko12007-11-132-3/+3
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk (parse.c), ext/ripper/depend (ripper.c): process afternobu2007-11-131-1/+3
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rescue Errno::EWOULDBLOCK as well as Errno::EAGAIN in sample code in rdoc.akr2007-10-231-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (s_accept_nonblock): make accepted fdakr2007-10-141-0/+19
| | | | | | | nonblocking. [ruby-talk:274079] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (foletype_s_ole_classes, suke2007-10-131-68/+15
| | | | | | | | | | | | | | | | | | | foletype_s_typelibs): refactoring. * test/win32ole/test_win32ole_type.rb: add some test. * ext/win32ole/win32ole.c (Init_win32ole): change method name WIN32OLE_TYPELIB.ole_types from WIN32OLE_TYPELIB.ole_classes. * test/win32ole/test_win32ole_typelib.rb: ditto. * test/win32ole/test_folderitem2_invokeverb.rb: check create shortcut string more strictly (This test is invoked in Japanese Windows environment). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/imap.rb, lib/net/smtp.rb, lib/net/pop.rb: hostname shouldgotoyuzo2007-10-082-0/+13
| | | | | | | | | | be verified against server's indentity as persented in the server's certificate. [ruby-dev:31960] * ext/openssl/lib/net/telnets.rb, ext/openssl/lib/net/ftptls.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf.c, bin/ri, bin/irb: fixed typos in doc and comments.matz2007-10-031-2/+2
| | | | | | a patch from Eugene Ossintsev <eugoss AT gmail.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: export rb_ivar_foreach.akr2007-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/ruby/ruby.h: modify struct RObject and RClass for optimizing T_OBJECT space. [ruby-dev:31853] (ROBJECT_LEN, ROBJECT_PTR) (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL) (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor defined. * variable.c: support the modified RObject and RClass. * object.c: ditto. * class.c: ditto. * gc.c: ditto. * marshal.c: ditto. * eval_method.ci: use the abstract accessor. * insns.def: ditto. * proc.c: ditto. * struct.c: ditto. * eval.c: ditto. * error.c: ditto. * vm.c: ditto. * insnhelper.ci: ditto. * ext/digest/digest.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/fiber/fiber.c: modify prototype declaration.ko12007-09-271-1/+1
| | | | | | | | [ruby-core:12247] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c: Fiber as SemiCoroutine on default. [ruby-core:12146]ko12007-09-261-1/+1
| | | | | | | | * ext/fiber/fiber.c: enable Fiber#transfer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/strscan/strscan.c (strscan_initialize, strscan_getch): use thenobu2007-09-241-3/+1
| | | | | | | | encoding of the target string instead of setting to StringScanner instance. [ruby-dev:31831] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: an SSL verification (the server hostname shouldgotoyuzo2007-09-231-1/+1
| | | | | | | | | | | | | | | | be matched with its certificate's commonName) is added. this verification can be skipped by "Net::HTTP#enable_post_connection_check=(false)". suggested by Chris Clark <cclark at isecpartners.com> * lib/net/open-uri.rb: use Net::HTTP#enable_post_connection_check to perform SSL post connection check. * ext/openssl/lib/openssl/ssl.c (OpenSSL::SSL::SSLSocket#post_connection_check): refine error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/stringio/stringio.c (strio_init): separate from strio_initializenobu2007-09-211-4/+13
| | | | | | | to share with strio_reopen properly. [ruby-Bugs-13919] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (ripper): rename event: arglist_* -> args_*.aamine2007-09-171-5/+4
| | | | | | | | | | | | | * parse.y (ripper): rename event: restparam -> rest_param. * parse.y (ripper): rename event: constpath_* -> const_path_*. * parse.y (ripper): rename event: topconst_* -> top_const_*. * parse.y (ripper): rename event: iter_block -> method_add_block. * parse.y (ripper): support block local parameter declaration. * parse.y (ripper): introduce new macro params_new. * ext/ripper/lib/ripper/sexp.rb: should not dispose event arguments whose name ends with "_new" but arity != 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (fev_unadvise): no needs to resetsuke2007-09-141-5/+3
| | | | | | | | event handlers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/stringio/stringio.c (strio_getc): rb_enc_mbclen() fix.matz2007-09-062-3/+4
| | | | | | * ext/stringio/stringio.c (strio_ungetc): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_cycle): typo in rdoc. a patch from Yuguimatz2007-09-061-1/+1
| | | | | | <yugui@yugui.sakura.ne.jp>. [ruby-dev:31748] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c: add WIN32OLE_EVENT#unadvise.suke2007-09-041-5/+60
| | | | | | | * test/win32ole/test_win32ole_event.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_event_free): IConnectionPoint should besuke2007-09-011-27/+30
| | | | | | | | | | | | released. * ext/win32ole/win32ole.c (EVENTSINK_Destructor): ITypeInfo should be released. * ext/win32ole/win32ole.c (fev_initialize): refactoring. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* forgot to modify akr2007-08-292-9/+9
| | | | | | | | | ext/json/ext/parser/parser.rl and ext/tk/tkutil/tkutil.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: declare rb_hash_tbl.akr2007-08-294-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/ruby/ruby.h (RHash): delay st_table allocation. rename tbl field to ntbl to detect direct reference to the st_table as a compile error. (RHASH_TBL): abstract accessor defined. (RHASH_ITER_LEV): ditto. (RHASH_IFNONE): ditto. (RHASH_SIZE): ditto. (RHASH_EMPTY_P): ditto. * hash.c: delay st_table allocation. * gc.c: replace tbl by ntbl. * array.c: replace direct field accessor by abstract field accessor such as RHASH(hash)->tbl to RHASH_TBL(hash). * marshal.c: ditto. * insns.def: ditto. * ext/iconv/iconv.c: ditto. * ext/json/ext/generator/generator.c: ditto. * ext/json/ext/parser/parser.c: ditto. * ext/syck/rubyext.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_type_progid): progid getted bysuke2007-08-281-2/+4
| | | | | | | | | | | | | | | ProgIDFromCLSID should be freed by CoTaskMemFree. Thanks, arton. * test/win32ole/test_win32ole.rb (test_raise_message): set negative compareMode value to raise WIN32OLERuntimeError. * test/win32ole/test_win32ole_type.rb (test_implemented_ole_types): support some environment which returns IShellDispatch5 instead of IShellDispatch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_type_progid): fix the bug.suke2007-08-271-2/+2
| | | | | | | | | | [ruby-dev:31576] * test/win32ole/test_win32ole_type.rb (test_initialize): remove duplicate assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/etc/etc.c (etc_getlogin): update documentation to notematz2007-08-271-0/+2
| | | | | | security issue. [ruby-Bugs-11821] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_wc2mb, reg_enum_key): allocate suke2007-08-251-3/+5
| | | | | | | buffer should be NULL terminated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32ole/win32ole.c (ole_event_free, EVENTSINK_Destructor,suke2007-08-251-31/+9
| | | | | | | | fev_initialize): remove the connection ole_event_free and EVENTSINK_Destructor. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c: provide basic features for M17N.matz2007-08-2564-33/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * parse.y: encoding aware parsing. * parse.y (pragma_encoding): encoding specification pragma. * parse.y (rb_intern3): encoding specified symbols. * string.c (rb_str_length): length based on characters. for older behavior, bytesize method added. * string.c (rb_str_index_m): index based on characters. rindex as well. * string.c (succ_char): encoding aware succeeding string. * string.c (rb_str_reverse): reverse based on characters. * string.c (rb_str_inspect): encoding aware string description. * string.c (rb_str_upcase_bang): encoding aware case conversion. downcase, capitalize, swapcase as well. * string.c (rb_str_tr_bang): tr based on characters. delete, squeeze, tr_s, count as well. * string.c (rb_str_split_m): split based on characters. * string.c (rb_str_each_line): encoding aware each_line. * string.c (rb_str_each_char): added. iteration based on characters. * string.c (rb_str_strip_bang): encoding aware whitespace stripping. lstrip, rstrip as well. * string.c (rb_str_justify): encoding aware justifying (ljust, rjust, center). * string.c (str_encoding): get encoding attribute from a string. * re.c (rb_reg_initialize): encoding aware regular expression * sprintf.c (rb_str_format): formatting (i.e. length count) based on characters. * io.c (rb_io_getc): getc to return one-character string. for older behavior, getbyte method added. * ext/stringio/stringio.c (strio_getc): ditto. * io.c (rb_io_ungetc): allow pushing arbitrary string at the current reading point. * ext/stringio/stringio.c (strio_ungetc): ditto. * ext/strscan/strscan.c: encoding support. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c: separate Continuation and Fiber from core.ko12007-08-254-0/+22
| | | | | | | | | | | | | | * ext/continuation/*, ext/fiber/*: ditto. * include/ruby/ruby.h: remove rb_cFiber. * include/ruby/intern.h: add the rb_fiber_new() declaration. * enumerator.c (next_init): fix to use rb_fiber_new(). * test/ruby/test_enumerator.rb: remove next? tests. * test/ruby/test_continuation.rb: add a require 'continuation'. * test/ruby/test_fiber.rb: add a require 'fiber'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e