aboutsummaryrefslogtreecommitdiffstats
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* * ext/stringio/stringio.c: fixed frozen string bug. ungetc nonobu2002-03-141-14/+46
| | | | | | | longer raises on readonly stream unless modifies actually. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Initial revisionnobu2002-03-112-0/+890
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (w_object): module inclusion using extend() shouldmatz2002-03-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | also be detected. * eval.c (rb_eval_cmd): cbase should not be NULL; it should be either ruby_wrapper or Object. * enum.c (enum_each_with_index): should return self. * process.c (proc_setpgrp): should return value for non-void function. * process.c (proc_getpgid): should raise exception if getpgid() return -1. * string.c (rb_str_ljust): should return a duplicated string. * string.c (rb_str_rjust): ditto. * string.c (rb_str_center): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb (have_struct_member): don't print checkedakr2002-03-081-4/+4
| | | | | | | result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (cvar_cbase): utility function to find innermost nonmatz2002-03-084-22/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | singleton cbase. * eval.c (is_defined): adopt new cvar behavior. * eval.c (rb_eval): ditto. * eval.c (assign): ditto. * class.c (rb_mod_clone): should not call rb_obj_clone(), since Module does not provide "allocate". * class.c (rb_singleton_class): should crate new singleton class if obj is a class or module and attached object is different, which means metaclass of singleton class is sought. * time.c (time_s_alloc): now follows allocation framework. * eval.c (rb_eval): should initialize outer class variables from methods in singleton class definitions. * eval.c (assign): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in (dir_config): Sync with mkmf.rb: Fix a bug whereknu2002-03-041-13/+5
| | | | | | | | --with-xx-{include,lib} is ignored when --with-xx-dir is specified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make cvs ignore mkmf.log.knu2002-03-0413-0/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): add consteban2002-03-012-2/+8
| | | | | | | qualifier only for uClibc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb (have_struct_member): new method.akr2002-02-282-0/+234
| | | | | | | | | | | | | | check msg_control and msg_accrights in struct msghdr. check sys/uio.h. * socket/socket.c: include sys/uio.h if available. (thread_read_select): new function. (unix_send_io): ditto. (unix_recv_io): ditto. (unix_s_socketpair): ditto. (Init_socket): define UNIXSocket#send_io, UNIXSocket#recv_io, git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_mod_include): load modules in argument order.matz2002-02-285-386/+376
| | | | | | | | | | * st.c (st_init_table_with_size): num_bins should be prime numbers (no decrement). * st.c (rehash): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dbm/dbm.c (fdbm_select): 1.7 behavior.matz2002-02-276-172/+354
| | | | | | | | | | | | | | | | | | | | * ext/gdbm/gdbm.c (fgdbm_select): ditto. * ext/sdbm/sdbm.c (fsdbm_select): ditto. * ext/dbm/dbm.c (fdbm_delete): adopt Hash#delete behavior. * ext/sdbm/sdbm.c (fsdbm_delete): ditto. * ext/gdbm/gdbm.c: need not to dup key to the block. * ext/sdbm/sdbm.c : replace RuntimeError with SDBMError. * eval.c (rb_f_missing): NoMethod error messages for true, false, nil must respond visibility like for other objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (READ_DATA_PENDING): uClibc support.eban2002-02-272-2/+2
| | | | | | | | * random.c (rand_init): ditto. * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/sha2/sha2.c: Merge from rough. Fix a couple ofknu2002-02-261-3/+3
| | | | | | | | | | | off-by-one errors in Aaron Gifford's code. Obtained from: KAME via FreeBSD KAME PR: 393 FreeBSD PR: kern/34242 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syslog/syslog.c: Merge from rough. Use SafeStringValue().knu2002-02-251-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syslog/syslog.c: Merge from rough. Turn Syslog into aknu2002-02-253-166/+131
| | | | | | | module keeping backward compatibility intact. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Merge from rough.knu2002-02-244-4/+64
| | | | | | | - Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in (create_makefile): remove unnecessary -L option fromusa2002-02-211-1/+1
| | | | | | | LIBS macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Initial revisionnobu2002-02-191-0/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * mkconfig.rb (Config::expand): expand ${} too.nobu2002-02-171-20/+16
| | | | | | | | | | | * ext/extmk.rb.in (try_link0): expand command. * ext/extmk.rb.in (try_cpp): ditto. * ext/extmk.rb.in (extmake): default $LIBPATH to $libdir git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/md5/md5init.c (Init_md5): rb_cvar_declare() isnobu2002-02-174-8/+8
| | | | | | | | | | | | | replaced by rb_cvar_set(). * ext/digest/rmd160/rmd160init.c (Init_rmd160): ditto. * ext/digest/sha1/sha1init.c (Init_sha1): ditto. * ext/digest/sha2/sha2init.c (Init_sha2): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (fptr_finalize): should raise error when fclose fails.matz2002-02-051-8/+8
| | | | | | | | * eval.c (method_inspect): proper output format to distinguish methods and singleton methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add wresize, resizeterm and KEY_RESIZE.ttate2002-01-292-1/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (is_defined): defined?(Foo::Baz) should check constantsmatz2002-01-284-10/+17
| | | | | | | | | | | | | | | | | | | | | only, no methods. * eval.c (is_defined): should not dump core on defined?(a::b) where a is not a class nor a module. * object.c (Init_Object): remove dup and clone from TrueClass, FalseClass, and NilClass. * array.c (rb_ary_fill): Array#fill takes block to get the value to fill. * string.c (rb_str_to_i): to_i(0) auto-detects base radix. * array.c (rb_ary_initialize): fill by the block evaluation value if block is given. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (rb_include_module): detect cyclic module inclusion.matz2002-01-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | * eval.c (rb_thread_cleanup): need not to free thread stacks at process termination. * array.c (rb_ary_fetch): use the block to get the default value if the block is given. * eval.c (rb_thread_schedule): should check time only if BOTH WAIT_SELECT and WAIT_TIME. * eval.c (umethod_bind): should update rklass field. * hash.c (rb_hash_update): if a block is given, yields [key, value1, value2] to the block to resolve conflict. * string.c (rb_str_split_m): no need to consider KANJI characters, if the length of separator is 1 (byte). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_eval): need not to clar method cache for NODE_CLASS,matz2002-01-191-2/+3
| | | | | | | | | | NODE_SCLASS. * gc.c (obj_free): need not to clear method cache on class/module finalization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_new): block check moved from initialize to thismatz2002-01-181-56/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | method. * io.c (rb_io_s_open): open should call initialize too. IO#for_fd also calls initialize. [new] * error.c (rb_sys_fail): replace INT2FIX() by INT2NUM() since errno value may not fit in Fixnum size on Hurd. * error.c (set_syserr): ditto. * dir.c (dir_s_glob): returns nil if block given. * io.c (rb_io_each_byte): should return self. * io.c (rb_io_close_m): close check added. * dir.c (dir_seek): should return pos. * parse.y (fixpos): orig may be (NODE*)1, which should not be dereferenced. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (tcp_svr_s_open): fix typo.usa2002-01-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (block_pass): allow "retry" from within argument passedmatz2002-01-172-52/+114
| | | | | | | | | | | | | | | | | | | | | block. [new] * eval.c (localjump_error): should preserve exit status in the exception object. [new] * eval.c (proc_invoke): should raise exception for "break" if it's yielding, not calling. [new] * eval.c (block_pass): should NOT raise exception for "break". [new] * eval.c (block_pass): should allow block argument relay even in the tainted mode. * ext/socket/socket.c: support subclassing by proper "initialize" calling convention. [new] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c: primes should be primes.matz2002-01-161-1/+2
| | | | | | | | | | | | * eval.c (is_defined): method defined? check should honor protected too. * eval.c (block_pass): should not pass tainted block, if $SAFE > 0. * variable.c (rb_mod_remove_cvar): should pass the char*. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (match_select): should propagate taintness.matz2002-01-111-2/+2
| | | | | | | | | | | | | * hash.c (rb_hash_set_default): Hash#default= should return the new value. * string.c (rb_str_to_i): accepts optional base argument. [new] * numeric.c (rb_fix2str): should not handle negative fixnum values int32 via calling sprintf() directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add.eban2002-01-072-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/extconf.rb: add dir_config.eban2001-12-311-3/+3
| | | | | | | * Makefile.in (fake.rb): set RUBY_VERSION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in (have_library): do not print yes. sigh.eban2001-12-291-4/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in, lib/mkmf.rb (have_library): print yes.eban2001-12-291-1/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in, lib/mkmf.rb (have_library): accept -lmeban2001-12-291-0/+1
| | | | | | | unconditionally on mswin32/mingw32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c: new methodsshugo2001-12-191-0/+220
| | | | | | | | | | | | | | | | Readline::basic_word_break_characters, Readline::basic_word_break_characters=, Readline::completer_word_break_characters, Readline::completer_word_break_characters=, Readline::basic_quote_characters, Readline::basic_quote_characters=, Readline::completer_quote_characters, Readline::completer_quote_characters=, Readline::filename_quote_characters, Readline::filename_quote_characters=. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_mod_define_method): define_method should followmatz2001-12-191-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | default method visibility. * eval.c (rb_attr): should warn if the default method visibility is "module_function" (can be error). * eval.c (rb_mod_define_method): should define class/module method also if the visibility is "module_function". * eval.c (rb_mod_define_method): should call hook method "method_added", and "singleton_method_added". * string.c: use RESIZE_CAPA for capacity change. * ext/socket/socket.c (Init_socket): add listen method to TCPServer and UNIXServer. * ext/socket/socket.c (bsock_send): should raise EWOULDBLOCK exception. * ext/socket/socket.c (s_recvfrom): ditto. * ext/socket/socket.c (s_accept): ditto. * ext/socket/socket.c (udp_send): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_replace): swap arguments of OBJ_INFECT.matz2001-12-184-24/+23
| | | | | | | | | | | | * eval.c (rb_thread_schedule): should not select a thread which is not yet initialized. * time.c (time_plus): wrong boundary check. * time.c (time_minus): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_new_internal): avoid loop to calculate negativematz2001-12-131-6/+6
| | | | | | | | | | | | div, mod. * time.c (time_cmp): should handle Bignums. * array.c (rb_ary_pop): should ELTS_SHARED flag check before REALLOC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* auxiliary routines update.matz2001-12-101-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_modify): should copy the internal buffer if thematz2001-12-101-26/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modifying buffer is shared. * array.c (ary_make_shared): make an internal buffer of an array to be shared. * array.c (rb_ary_shift): avoid sliding an internal buffer by using shared buffer. * array.c (rb_ary_subseq): avoid copying the buffer. * parse.y (gettable): should freeze __LINE__ string. * io.c (rb_io_puts): old behavoir restored. rationale: a) if you want to call to_s for arrays, you can just call print a, "\n". b) to_s wastes memory if array (and sum of its contents) is huge. c) now any object that has to_ary is treated as an array, using rb_check_convert_type(). * hash.c (rb_hash_initialize): now accepts a block to calculate the default value. [new] * hash.c (rb_hash_aref): call "default" method to get the value corrensponding to the non existing key. * hash.c (rb_hash_default): get the default value based on the block given to 'new'. Now it takes an optinal "key" argument. "default" became the method to get the value for non existing key. Users may override "default" method to change the hash behavior. * hash.c (rb_hash_set_default): clear the flag if a block is given to 'new' * object.c (Init_Object): undef Data.allocate, left Data.new. * ext/curses/curses.c (window_scrollok): use RTEST(). * ext/curses/curses.c (window_idlok): ditto. * ext/curses/curses.c (window_keypad): ditto. * ext/curses/curses.c (window_idlok): idlok() may return void on some platforms; so don't use return value. * ext/curses/curses.c (window_scrollok): ditto for consistency. * ext/curses/curses.c: replace FIX2INT() by typechecking NUM2INT(). * parse.y (str_extend): should not process immature #$x and #@x interpolation, e.g #@#@ etc. * enum.c (enum_sort_by): sort_by does not have to be stable always. * enum.c (enum_sort_by): call qsort directly to gain performance. * util.c (ruby_qsort): ruby_qsort(qs6) is now native thread safe. * error.c (rb_sys_fail): it must be a bug if it's called when errno == 0. * regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in: ignore adding -Wl,-R to DLDFLAGS when the directoryusa2001-12-071-1/+1
| | | | | | | is $topdir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/extmk.rb.in: add -Wl,-R flags to DLDFLAGS on netbsdelf.usa2001-12-061-0/+3
| | | | | | | * lib/mkmf.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* replace have_header("curses") with have_header("curses.h")ttate2001-12-041-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/extconf.rb: remove -L/usr/local/lib.eban2001-12-031-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: use GCC, not without_gcc. remove without_gcc.eban2001-12-022-2/+2
| | | | | | | | * ext/curses/extconf.rb: check for curses.h. * ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bug fix for getnstr() and wgetnstr()ttate2001-11-291-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (w_float): must distinguish -0.0 from 0.0.matz2001-11-272-6/+6
| | | | | | | | | | | | | | | | | * gc.c (gc_mark_all): tweak mark order for little bit better scan. * gc.c (rb_gc_mark): ditto. * gc.c (rb_gc): ditto. * enum.c (sort_by_i): slight performance boost. * gc.c (gc_mark_rest): should call gc_mark_children(), not gc_mark(). * gc.c (rb_gc_mark): may cause infinite looop. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Import the "syslog" module from the rough ruby project. This moduleknu2001-11-2610-0/+714
| | | | | | | provides the interface to the UNIX system logger (syslog). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Curses::getstr and Window#getstr use getnstr() and wgetnstr()ttate2001-11-232-3/+11
| | | | | | | if they are available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e