Directory sample/

Directory Created:
1998-01-16 13:13
Total Files:
Deleted Files:
Lines of Code:

Browse with ViewVC


drb (44 files, 1959 lines)

logger (3 files, 99 lines)

openssl (12 files, 1672 lines)

optparse (2 files, 104 lines)

ripper (2 files, 131 lines)

rss (5 files, 387 lines)

tdiary_plugin (0 files, 0 lines)

en (0 files, 0 lines)

ja (0 files, 0 lines)

soap (0 files, 0 lines)

authheader (0 files, 0 lines)

calc (0 files, 0 lines)

exchange (0 files, 0 lines)

helloworld (0 files, 0 lines)

icd (0 files, 0 lines)

raa (0 files, 0 lines)

raa2.4 (0 files, 0 lines)

sampleStruct (0 files, 0 lines)

scopesample (0 files, 0 lines)

ssl (0 files, 0 lines)

files (0 files, 0 lines)

swa (0 files, 0 lines)

testunit (5 files, 68 lines)

webrick (9 files, 197 lines)

wsdl (0 files, 0 lines)

amazon (0 files, 0 lines)

googleSearch (0 files, 0 lines)

raa (0 files, 0 lines)

raa2.4 (0 files, 0 lines)

Lines of Code

sample/ Lines of Code


Author Changes Lines of Code Lines per Change
Totals 329 (100.0%) 6044 (100.0%) 18.3
matz 230 (69.9%) 5551 (91.8%) 24.1
tadf 9 (2.7%) 171 (2.8%) 19.0
knu 20 (6.1%) 154 (2.5%) 7.7
nobu 10 (3.0%) 124 (2.1%) 12.4
eban 8 (2.4%) 23 (0.4%) 2.8
ko1 2 (0.6%) 17 (0.3%) 8.5
akr 1 (0.3%) 2 (0.0%) 2.0
H_Konishi 1 (0.3%) 2 (0.0%) 2.0
shyouhei 48 (14.6%) 0 (0.0%) 0.0

Most Recent Commits

shyouhei 2007-02-13 00:01

set svn:eol-style

0 lines of code changed in:

ko1 2007-01-05 04:43

* compile.c (iseq_compile_each, set_block_local_tbl) :

support NODE_LAMBDA (partly).

* sample/test.rb : restore test of NODE_LAMBDA

* test/ruby/test_lambda.rb : ditto

1 lines of code changed in:

ko1 2006-12-31 16:02

* Merge YARV

16 lines of code changed in:

matz 2006-11-07 09:56

* class.c (rb_include_module): revert duplicate inclusion of

modules. [ruby-dev:29793]

1 lines of code changed in:

matz 2006-10-05 23:33

* sample/test.rb: revert debug print.

3 lines of code changed in:

matz 2006-10-05 23:32

* eval.c (rb_yield_0): small refactoring.

* parse.y (bparam_item): fixed bugs in handling parenthesized LHS.

3 lines of code changed in:

matz 2006-10-03 16:59

* parse.y (block_param): restrict block parameters to be local

variables only.

* test/ruby/test_iterator.rb (TestIterator::test_nested_iterator):

update test suite to conform the last change.

2 lines of code changed in:

matz 2006-09-25 07:07

* sample/test.rb: "print nil" now prints empty string.

* test/ruby/test_system.rb (TestSystem::test_system): ditto.

1 lines of code changed in:

matz 2006-09-01 01:37

* lib/irb/ruby-lex.rb (RubyLex::getc): should not push nil into

reading buffer (@readed). reported in


2 lines of code changed in:

matz 2006-07-10 09:37

* sample/test.rb: update test suites.

* test/ruby/test_assignment.rb (TestAssignment::test_yield): ditto.

* test/ruby/test_iterator.rb (TestIterator::test_itertest): ditto.

7 lines of code changed in:

matz 2006-07-04 07:16

* eval.c (rb_call): should not set prot_tag->blkid since it would

never catch breaks at this level. [ruby-dev:28922]

1 lines of code changed in:

matz 2006-06-27 15:02

* io.c (pipe_open): backout unnecessary fix on 2006-06-26.


* eval.c (rb_yield_0): exact argument number check now done only

for lambda Proc.

* eval.c (rb_yield_0): add check for number of arguments, if

there's one lambda block parameter.

11 lines of code changed in:

matz 2006-06-21 09:08

* parse.y (block_param): do not use multiple assignment for a sole

block parameter. [ruby-dev:28710]

* eval.c (rb_yield_0): pass a raw yielded value to a sole block

parameter if a value is passed by yield.

* eval.c (proc_invoke): args may not be an array.

* eval.c (rb_proc_yield): pass original value without wrapping

it in an array.

16 lines of code changed in:

matz 2006-06-20 07:09

* eval.c (proc_invoke): intercept break and return from lambda

Proc objects. [ruby-dev:28742]

* eval.c (proc_invoke): remove unnecessary YIELD_PROC_CALL flag.

* eval.c (YIELD_EXACT_ARGS): renamed from YIELD_LAMBDA_CALL, which

is no longer related to the behavior turned on by this flag.

* eval.c (return_jump): no need to care about PROT_YIELD.

* eval.c (break_jump): no jump to toplevel PROT_TREAD tag.

* eval.c (rb_yield_0): fix confusion between lambda (which is a

property of a proc) and pcall (which depends on whether it's

called via yield or call).

* eval.c (rb_thread_yield): no need to specify YIELD_LAMBDA_CALL.

* eval.c (rb_block_pass): update blkid in prot_tag.

23 lines of code changed in:

matz 2006-06-19 09:19

* sample/test.rb (proc_return3): return within non lambda block

should terminate surrounding method. [ruby-dev:28741]

10 lines of code changed in:

matz 2006-06-09 22:20

* sprintf.c (rb_str_format): allow %c to print one character

string (e.g. ?x).

* lib/tempfile.rb (Tempfile::make_tmpname): put dot between

basename and pid. [ruby-talk:196272]

* parse.y (do_block): remove -> style block.

* parse.y (parser_yylex): remove tLAMBDA_ARG.

* eval.c (rb_call0): binding for the return event hook should have

consistent scope. [ruby-core:07928]

* eval.c (proc_invoke): return behavior should depend whether it

is surrounded by a lambda or a mere block.

* eval.c (formal_assign): handles post splat arguments.

* eval.c (rb_call0): ditto.

* st.c (strhash): use FNV-1a hash.

* parse.y (parser_yylex): removed experimental ';;' terminator.

* eval.c (rb_node_arity): should be aware of post splat arguments.

* eval.c (rb_proc_arity): ditto.

* parse.y (f_args): syntax rule enhanced to support arguments

after the splat.

* parse.y (block_param): ditto for block parameters.

* parse.y (f_post_arg): mandatory formal arguments after the splat


* parse.y (new_args_gen): generate nodes for mandatory formal

arguments after the splat argument.

* eval.c (rb_eval): dispatch mandatory formal arguments after the

splat argument.

* parse.y (args): allow more than one splat in the argument list.

* parse.y (method_call): allow aref [] to accept all kind of

method argument, including assocs, splat, and block argument.

* eval.c (SETUP_ARGS0): prepare block argument as well.

* lib/mathn.rb (Integer): remove Integer#gcd2. [ruby-core:07931]

* eval.c (error_line): print receivers true/false/nil specially.

* eval.c (rb_proc_yield): handles parameters in yield semantics.

* eval.c (nil_yield): gives LocalJumpError to denote no block


* io.c (rb_io_getc): now takes one-character string.

* string.c (rb_str_hash): use FNV-1a hash from Fowler/Noll/Vo

hashing algorithm.

* string.c (rb_str_aref): str[0] now returns 1 character string,

instead of a fixnum. [Ruby2]

* parse.y (parser_yylex): ?c now returns 1 character string,

instead of a fixnum. [Ruby2]

* string.c (rb_str_aset): no longer support fixnum insertion.

* eval.c (umethod_bind): should not update original class.


* eval.c (ev_const_get): should support constant access from

within instance_eval(). [ruby-dev:28327]

* time.c (time_timeval): should round for usec floating

number. [ruby-core:07896]

* time.c (time_add): ditto.

* dir.c (sys_warning): should not call a vararg function

rb_sys_warning() indirectly. [ruby-core:07886]

* numeric.c (flo_divmod): the first element of Float#divmod should

be an integer. [ruby-dev:28589]

* test/ruby/test_float.rb: add tests for divmod, div, modulo and remainder.

* re.c (rb_reg_initialize): should not allow modifying literal

regexps. frozen check moved from rb_reg_initialize_m as well.

* re.c (rb_reg_initialize): should not modify untainted objects in

safe levels higher than 3.

* re.c (rb_memcmp): type change from char* to const void*.

* dir.c (dir_close): should not close untainted dir stream.

* dir.c (GetDIR): add tainted/frozen check for each dir operation.

* lib/rdoc/parsers/parse_rb.rb (RDoc::RubyParser::parse_symbol_arg):

typo fixed. a patch from Florian Gross <florg at>.

* eval.c (EXEC_EVENT_HOOK): trace_func may remove itself from

event_hooks. no guarantee for arbitrary hook deletion.


* util.c (ruby_strtod): differ addition to minimize error.


* util.c (ruby_strtod): should not raise ERANGE when the input

string does not have any digits. [ruby-dev:28629]

* eval.c (proc_invoke): should restore old ruby_frame->block.

thanks to ts <decoux at>. [ruby-core:07833]

also fix [ruby-dev:28614] as well.

* signal.c (trap): sig should be less then NSIG. Coverity found

this bug. a patch from Kevin Tew <tewk at>.


* math.c (math_log2): add new method inspired by


* math.c (math_log): add optional base argument to Math::log().


* ext/syck/emitter.c (syck_scan_scalar): avoid accessing

uninitialized array element. a patch from Pat Eyler

<rubypate at>. [ruby-core:07809]

* array.c (rb_ary_fill): initialize local variables first. a

patch from Pat Eyler <rubypate at>. [ruby-core:07810]

* ext/syck/yaml2byte.c (syck_yaml2byte_handler): need to free

type_tag. a patch from Pat Eyler <rubypate at>.


* ext/socket/socket.c (make_hostent_internal): accept ai_family

check from Sam Roberts <sroberts at>.


* util.c (ruby_strtod): should not cut off 18 digits for no

reason. [ruby-core:07796]

* array.c (rb_ary_fill): internalize local variable "beg" to

pacify Coverity. [ruby-core:07770]

* pack.c (pack_unpack): now supports CRLF newlines. a patch from

<tommy at>. [ruby-dev:28601]

* applied code clean-up patch from Stefan Huehner

<stefan at>. [ruby-core:07764]

* lib/jcode.rb (String::tr_s): should have translated non

squeezing character sequence (i.e. a character) as well. thanks

to Hiroshi Ichikawa <gimite at> [ruby-list:42090]

* ext/socket/socket.c: document update patch from Sam Roberts

<sroberts at>. [ruby-core:07701]

* lib/mathn.rb (Integer): need not to remove gcd2. a patch from

NARUSE, Yui <naruse at>. [ruby-dev:28570]

* parse.y (arg): too much NEW_LIST()

* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.

* eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.


* parse.y (arg): use NODE_ARGSCAT for placeholder.

* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from

mathew <meta at>. [ruby-core:07738]

* variable.c (rb_const_set): raise error when no target klass is

supplied. [ruby-dev:28582]

* prec.c (prec_prec_f): documentation patch from

<gerardo.santana at>. [ruby-core:07689]

* bignum.c (rb_big_pow): second operand may be too big even if

it's a Fixnum. [ruby-talk:187984]

* README.EXT: update symbol description. [ruby-talk:188104]

* COPYING: explicitly note GPLv2. [ruby-talk:187922]

* parse.y: remove some obsolete syntax rules (unparenthesized

method calls in argument list).

* eval.c (rb_call0): insecure calling should be checked for non

NODE_SCOPE method invocations too.

* eval.c (rb_alias): should preserve the current safe level as

well as method definition.

* process.c (rb_f_sleep): remove RDoc description about SIGALRM

which is not valid on the current implementation. [ruby-dev:28464]

Thu Mar 23 21:40:47 2006 K.Kosako <sndgk393 AT>

* eval.c (method_missing): should support argument splat in

super. a bug in combination of super, splat and

method_missing. [ruby-talk:185438]

* Solaris SunPro compiler -rapth patch from

<kuwa at>. [ruby-dev:28443]

* remove enable_rpath=no for Solaris.


* ext/win32ole/win32ole.c (ole_val2olevariantdata): change behavior

of converting OLE Variant object with VT_ARRAY|VT_UI1 and Ruby

String object.

* ruby.1: a clarification patch from David Lutterkort

<dlutter at>. [ruby-core:7508]

* lib/rdoc/ri/ri_paths.rb (RI::Paths): adding paths from rubygems

directories. a patch from Eric Hodel <drbrain at>.


* eval.c (rb_clear_cache_by_class): clearing wrong cache.

* ext/extmk.rb: use :remove_destination to install extension libraries

to avoid SEGV. [ruby-dev:28417]

* eval.c (rb_thread_fd_writable): should not re-schedule output

from KILLED thread (must be error printing).

* array.c (rb_ary_flatten_bang): allow specifying recursion

level. [ruby-talk:182170]

* array.c (rb_ary_flatten): ditto.

* gc.c (add_heap): a heap_slots may overflow. a patch from Stefan

Weil <weil at>.

* eval.c (rb_call): use separate cache for fcall/vcall


* eval.c (rb_eval): NODE_FCALL, NODE_VCALL can call local


* eval.c (rb_mod_local): a new method to specify newly added

visibility "local".

* eval.c (search_method): search for local methods which are

visible only from the current class.

* class.c (rb_class_local_methods): a method to list local methods.

* object.c (Init_Object): add BasicObject class as a top level

BlankSlate class.

* ruby.h (SYM2ID): should not cast to signed long.


* class.c (rb_include_module): allow module duplication.

140 lines of code changed in:

matz 2005-12-29 13:05

* eval.c (rb_mod_define_method): should save safe_level in the

proc object. [ruby-dev:28146]

* test/drb/drbtest.rb (DRbService::self.ext_service): increase

timeout limit. a patch from Kazuhiro NISHIYAMA

<zn at>. [ruby-dev:28132]

* eval.c (ev_const_get): fixed a bug in constant reference during

instance_eval. [yarv-dev:707]

* eval.c (ev_const_defined): ditto.

* lib/yaml.rb (YAML::add_domain_type): typo fixed. a patch from

Joel VanderWerf <vjoel at>.

[ruby-talk:165285] [ruby-core:6995]

* ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from

Kailden <kailden at>. [ruby-core:06984]

* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory


* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory

leak by explicit symbol allocation.

* lib/delegate.rb (Delegator::method_missing): should delegate

block as well.

* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to

use Tempfile. A fix from Zev Blut <rubyzbibd at>.


* string.c: remove global functions work on $_.

8 lines of code changed in:

matz 2005-10-05 17:15

* range.c (rb_range_beg_len): should return Qfalse for non-range


* pack.c (EXTEND16): [ruby-dev:27383]

* eval.c (set_trace_func): add rb_secure(4) to prevent adding

tracing function.

* lib/delegate.rb: document update from James Edward Gray II

<>. [ruby-core:05942]

* process.c (proc_daemon): should restrict execution on levels

higher than $SAFE=2. suggested by URABE Shyouhei


* lib/forwardable.rb: replaced by new implementation from

<>. [ruby-core:05899]

* file.c (path_check_0): disallow sticky world writable directory

in PATH (and $LOAD_PATH). [ruby-dev:27226]

* numeric.c (fix_idiv): 1.div(1.0) should return integer value.


* lib/yaml.rb: require 'yaml/constants'. [ruby-core:5776]

* lib/xmlrpc/client.rb (XMLRPC::Client::do_rpc): add charset

information to content-type header.[ruby-core:5127]

* lib/xmlrpc/server.rb (CGIServer::serve): ditto.

* lib/xmlrpc/server.rb (ModRubyServer::serve): ditto.

* lib/xmlrpc/server.rb (WEBrickServlet::service): ditto.

* test/dbm/test_dbm.rb (TestDBM::test_s_open_error): remove

test_s_open_error test to detect duplicate open.


* eval.c (splat_value): use to_a to splat non Array object.

* object.c (nil_to_a): remove nil.to_a. [experimental]

2 lines of code changed in:

matz 2005-07-06 10:47

* object.c (rb_obj_pattern_match): now returns nil.


* sample/svr.rb: service can be stopped by ill-behaved client; use

tsvr.rb instead.

* missing/erf.c: original erf.c by prof. Okumura is confirmed to

be public domain. reverted BSD implementation.

5 lines of code changed in:

matz 2005-03-04 07:47

* array.c: replace rb_protect_inspect() and rb_inspecting_p() by

rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.


* lib/time.rb (Time::strptime): add new function. inspired by


* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c. fixed some

potential memory leaks.

* exception error messages updated. [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket

constants. Patch from Sam Roberts <>.


* array.c (rb_ary_s_create): no need for negative argc check.


* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass

of StandardError class, not Exception class. [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before

calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.

fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream

and rl_instream. [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check


* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.


* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space

before argument parentheses. [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses

should not be a command. [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type. [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.


* parse.y: forgot to initialize parser struct. [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.


* document updates - [ruby-core:04296], [ruby-core:04301],

[ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,

orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee

name, to retrieve member slot. [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC


* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.


* gc.c (rb_data_object_alloc): klass may be NULL.


* bignum.c (rb_big_rand): should return positive random number.


* bignum.c (rb_big_rand): do not use rb_big_modulo to generate

random bignums. [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function. [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a

file is not found. [ruby-dev:24561]

13 lines of code changed in:

(144 more)

Generated by StatSVN 0.3.2-SNAPSHOT