summaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* * enumerator.c (next_init): don't clear feedvalue.akr2009-08-191-0/+34
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c: implement Enumerator#{next_values,peek_values,feed}akr2009-08-191-0/+125
| | | | | | | | | | | | | | | | | | | | | | and StopIteration#result. [ruby-dev:39109] (struct enumerator): replace no_next by stop_exc. new field feedvalue. (enumerator_mark): mark feedvalue and stop_exc. (enumerator_init): initialize feedvalue and stop_exc. (enumerator_init_copy): initialize feedvalue. (next_ii): send yield arguments as an array. return feedvalue. (next_i): generate StopIteration exception here. set result. (next_init): initialize feedvalue. (enumerator_next_values): new method Enumerator#next_values. (ary2sv): new function. (enumerator_peek_values): new method Enumerator#peek_values. (enumerator_feed): new method Enumerator#feed. (yielder_yield): return the yield value. (generator_each): return the iterator value. (stop_result): new method StopIteration#result. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_settracefunc.rb (test_return, test_return2): add twomame2009-08-181-0/+83
| | | | | | tests for [ruby-dev:38701] and [ruby-core:24463]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enumerator.c (enumerator_peek): new method Enumerator#peek. akr2009-08-181-0/+22
| | | | | | | | (enumerator_next): don't rewind at end. [ruby-dev:38932] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.wanabe2009-08-181-0/+2
| | | | | | | | | | [Bug #1588] * test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise): follow above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_step): treat symbols specially so that iteratingmatz2009-08-171-0/+4
| | | | | | | | over symbols should work like strings. [ruby-core:24780] * range.c (range_each): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_each): should honor to_str conversion.matz2009-08-171-0/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string):nobu2009-08-171-0/+7
| | | | | | | must be ascii compatible. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_rationalize) added. [experimental]tadf2009-08-161-0/+55
| | | | | | | | * rational.c ({nurat,nilclass,integer,float}_rationalize) ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_upto): generate numerical sequence whenmatz2009-08-161-0/+6
| | | | | | characters in both edges are all digits. [ruby-talk:343186] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regparse.c (add_ctype_to_cc_by_range): fix the firstnaruse2009-08-151-0/+6
| | | | | | | | | character bigger than sb_out was dropped. * test/ruby/test_regexp.rb (TestRegexp#test_posix_bracket): add tests for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* \d, \s and \w are now non Unicode class. [ruby-dev:39026]naruse2009-08-151-0/+7
| | | | | | | | | | | | | | | | | | | | * include/ruby/oniguruma.h (ONIGENC_CTYPE_SPECIAL_MASK): added. (ONIGENC_CTYPE_D): ditto. (ONIGENC_CTYPE_S): ditto. (ONIGENC_CTYPE_W): ditto. * regparse.c: \d, \s and \w are now non Unicode class. [ruby-dev:39026] (fetch_token_in_cc): use ONIGENC_CTYPE_[DSW] for \d/\s/\w. (fetch_token): ditto. (add_ctype_to_cc): add routines for ONIGENC_CTYPE_[DSW]. (parse_exp): ditto. * test/ruby/test_regexp.rb (TestRegexp#test_char_class): add tests for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_preprocess_dregexp): change Exception class tonaruse2009-08-141-7/+7
| | | | | | | | | | RegexpError. * test/ruby/test_m17n.rb (test_regexp_usascii): follow above. * test/ruby/test_m17n.rb (test_regexp_embed): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_marshal.rb (test_class_nonascii): test for non-ascii name ↵nobu2009-08-121-0/+6
| | | | | | class. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (rb_define_class_id_under, rb_define_module_id_under):nobu2009-08-121-0/+7
| | | | | | | | | | | | new functions to define a nested class/module with non-ascii name. * struct.c (make_struct): use name with encoding. * struct.c (inspect_struct): ditto. [ruby-core:24849] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_struct.rb (test_inspect): use assert_match.nobu2009-08-121-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_new_frozen): must not change encoding of frozennobu2009-08-121-0/+13
| | | | | | | shared string. [ruby-dev:39068] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * encoding.c (rb_enc_compatible): If a string is empty andnaruse2009-08-111-0/+2
| | | | | | | other's encoding is US-ASCII, returns the empty string's encoding. [ruby-list:46274] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rubyoptions.rb (test_shebang): fix for new behavior.nobu2009-08-111-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* New API Encoding#ascii_compatible?.naruse2009-08-081-0/+7
| | | | | | | * encoding.c (enc_ascii_compatible_p): added. [ruby-core:24793] (Init_Encoding): New API Encoding#ascii_compatible?. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (w_symbol r_symlink, r_symbol, r_object0): fix fornobu2009-08-071-0/+6
| | | | | | | | non-ascii symbols. loading such symbols can cause segfaults in older versions. [ruby-core:24788] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.c (load_file_internal): assumes -x flag if no "ruby" is innobu2009-08-051-0/+12
| | | | | | | the shebang line. [ruby-dev:39015] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_eql, range_eq): fixed equality to work formatz2009-08-051-0/+4
| | | | | | | | | subclasses of Range. a patch from Marc-Andre Lafortune. [ruby-core:22190] * test/ruby/test_range.rb: add assertions for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix test for previous commit.naruse2009-08-051-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/pp.rb (guard_inspect_key): untrust internal hash to preventmame2009-08-041-0/+36
| | | | | | | | unexpected SecurityError. * test/ruby/test_object.rb: add a test for [ruby-dev:38982]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * random.c (rb_random_int): arguments have to be converted tonobu2009-08-021-0/+1
| | | | | | | integer. [ruby-core:24679] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rand.rb: add tests for Random#float's rejectionmame2009-08-021-0/+3
| | | | | | against Infinity and NaN. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * random.c (rand_int): prevent from GC.nobu2009-08-021-1/+12
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_module.rb (test_ancestors, test_included_modules):mame2009-07-301-4/+10
| | | | | | | ignore rake mixins. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rand.rb: add tests for Random class.mame2009-07-301-0/+190
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c: added check for frozen string for encode! (see Bug #1836)duerst2009-07-301-0/+2
| | | | | | | * test/ruby/test_transcode.rb: added tests for the above git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (defineclass): preserve encoding of class/modulenobu2009-07-302-0/+15
| | | | | | | | | | names. [ruby-core:24600] * variable.c (rb_set_class_path_string): set class path with a string value. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c (rb_method_entry_arity): support optimized method (send).ko12009-07-281-0/+4
| | | | | | | | * test/ruby/test_method.rb: add a test for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_eof): go to the next file if called after ARGF.closenobu2009-07-261-0/+12
| | | | | | | or ARGF.skip. [ruby-core:24561] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_call_method): __send__ can call protectednobu2009-07-261-1/+21
| | | | | | | methods. [ruby-core:24500] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (argf_eof): should not have reached EOF before trying tonobu2009-07-251-4/+4
| | | | | | | | read. based on a patch by Heesob Park <phasis AT gmail.com> at [ruby-core:24559]. [ruby-core:24557] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_hash), rational.c (nurat_hash): not to usenobu2009-07-252-0/+7
| | | | | | | | hash value of class so that equality against subclasses can work. [ruby-dev:38850] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/big5.trans, big5-hkscs-tbl.rb:duerst2009-07-241-0/+68
| | | | | | | | | | | | | | | | new Chinese BIG5-HKSCS transcoding (with Tatsuya Mizuno) * test/ruby/test_transcode.rb: added tests for the above (with Tatsuya Mizuno) * enc/big5.c: Added BIG5-HKSCS as a replicate encoding of BIG5 (short term solution, needs more work; with Tatsuya Mizuno) * tool/transcode-tblgen.rb: made 'pat' directly accessible in class StrSet git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_module.rb (TestModule#test_alias): warningmatz2009-07-221-1/+1
| | | | | | message updated. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_enum.rb (TestEnumerable#each): recursive join nowmatz2009-07-221-2/+2
| | | | | | raises ArgumentError. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_iseq_t): add a new field line_no. This fieldmame2009-07-221-3/+3
| | | | | | | | | | | | | | | | represents line number from which the original code of the iseq starts. [ruby-dev:38698] * iseq.c, compile.c: ditto. * parse.y: line number hack (for Proc#source_location) is no longer needed. * test/ruby/test_settracefunc.rb: line number of set_trace_func is now compatible with 1.8's. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rand.rb (test_big_seed): tests also instance methods.nobu2009-07-211-2/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * random.c (rand_init): array length of random seed was broken, whichmame2009-07-211-0/+5
| | | | | | | | | causes memory error with srand(2**1000000-1). * test/ruby/test_rand.c: test for above. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (compile_dstr_fragments): reduced needless literal.nobu2009-07-201-0/+4
| | | | | | | | | * parse.y (xstring, regexp, dsym, literal_concat, evstr2dstr): literal at the top of dstr is no longer needed if it is empty, since concatstrings and toregexp always create new strings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_read): should taint the result. [ruby-dev:38826]nobu2009-07-191-0/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (me_opts): fixed optimized method aliasing.nobu2009-07-191-0/+8
| | | | | | | [ruby-dev:38824] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (recursive_hash): reject recursive key.akr2009-07-171-3/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (recursive_join): raise ArgumentError for joiningmatz2009-07-171-2/+2
| | | | | | | | | | | recursive array. * array.c (ary_join_1): ditto. * test/ruby/test_array.rb (TestArray#test_join2): test updated for recursive join. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove test for recursive hash key. [ruby-core:22921]akr2009-07-171-6/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longernobu2009-07-161-0/+19
| | | | | | | used. [ruby-dev:38760] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e