summaryrefslogtreecommitdiff
path: root/dir.c
Commit message (Collapse)AuthorAgeFilesLines
* * dir.c (glob_helper): Use lstat() instead of stat() so it catchesknu2002-06-151-1/+1
| | | | | | | | a dead symlink. Given a dead symlink named "a", Dir.glob("?") did catch it but Dir.glob("a") somehow didn't. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (glob_helper): remove escaping backslashes.nobu2002-05-111-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Back out the previous commit which was incorrect. I misread theknu2002-05-041-1/+1
| | | | | | | specification. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (fnmatch): Make PERIOD() independent of FNM_PATHNAME.knu2002-05-031-1/+1
| | | | | | | This fixes a bug where fnmatch('/?a', '/.a', 0) returned true. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_expr_str): should treat backslash specially inmatz2002-04-181-3/+3
| | | | | | | | | | | | | | | | | escaping. * io.c: complete off_t handling; missing argument for fptr_finalize(); polished rb_scan_args call. * dir.c: wrap multi-statment macro by do { } while (0) * eval.c, numeric,c, sprintf.c, util.c: ditto. * bignum.c (rb_big_eq): check `y == x' if y is neither Fixnum, Bignum, nor Float. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (glob_helper): should have proceed link when link->pathmatz2002-04-101-4/+4
| | | | | | | was non existing symbolic link. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regex.c (mbc_startpos_func): VC6 seems to be unable tonobu2002-03-251-2/+2
| | | | | | | understand forward declaration for static variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (rb_push_glob): local variable 'maxnest' wasnobu2002-03-251-1/+1
| | | | | | | uninitialized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (bsock_do_not_rev_lookup_set): should not bematz2002-03-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | allowed when $SAFE > 3. * eval.c (rb_thread_ready): THREAD_TO_KILL threads should not turn into THREAD_RUNNABLE on wakeup. * eval.c (rb_thread_list): THREAD_TO_KILL threads should be in the list. * eval.c (thgroup_list): ditto; by moving gid clearance from rb_thread_cleanup(). * dir.c (fnmatch): "*/bar" (with FNM_PATHNAME flag) does not match "foo/bar". * io.c (read_all): files on /proc filesystem with zero stat size, may have contents. * ext/socket/socket.c (tcp_s_gethostbyname): refactored. * ext/socket/socket.c (sock_s_gethostbyname): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (rb_push_glob): avoid SEGV when no block given.nobu2002-03-131-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c: FNM_PERIOD is obsoleted and FNM_DOTMATCH is introducedknu2002-03-131-33/+69
| | | | | | | | | | instead, which has the opposite meaning of FNM_PERIOD. * dir.c: Dir::glob now accepts optional FNM_* flags via the second argument, whereas Dir::[] doesn't. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (expr_value, arg_value, primary_value): value_expr()matz2002-02-181-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | check in place. * eval.c (block_pass): "&nil" should clear block given. * dir.c (push_braces): remove MAXPATHLEN dependency. * dir.c (dir_s_globd): ditto. * dln.c (init_funcname): ditto. * dln.c (load_1): ditto. * dln.c (dln_load): ditto. * configure.in: add GNU/Hurd switches. * pack.c (pack_pack): allows comment in template strings. * pack.c (pack_unpack): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (stmt): local variable declaration order was changedmatz2002-02-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | since 1.6 * parse.y (arg): ditto. * pack.c (pack_pack): add templates 'q' and 'Q'. * pack.c (pack_unpack): ditto. * bignum.c (rb_quad_pack): new utility function. * bignum.c (rb_quad_unpack): ditto. * parse.y (assignable): should emit CVASGN within the method body. * dir.c (dir_s_glob): should not warn even if no match found. * eval.c (rb_eval): clean up class variable behavior. * eval.c (assign): ditto. * eval.c (is_defined): ditto. * variable.c (rb_mod_class_variables): need not to call rb_cvar_singleton(). * variable.c (rb_cvar_singleton): removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (rb_include_module): detect cyclic module inclusion.matz2002-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | * 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 (ruby_stop): should not trace error handler.matz2002-01-211-2/+10
| | | | | | | | | | | | * signal.c (install_sighandler): do not install sighandler unless the old value is SIG_DFL. * io.c (io_write): should not raise exception on O_NONBLOCK io. * dir.c (dir_set_pos): seek should return dir, pos= should not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_new): block check moved from initialize to thismatz2002-01-181-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * process.c (security): always give warning for insecure PATH.matz2001-11-081-13/+9
| | | | | | | | | | | | | | | | | * dir.c (my_getcwd): do not rely on MAXPATHLEN. * file.c (rb_file_s_readlink): ditto. * file.c (path_check_1): ditto. * eval.c (rb_yield_0): should not call rb_f_block_given_p(). * string.c (rb_str_chomp_bang): should terminate string by NUL. * eval.c (rb_yield_0): better error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (r_object): better allocation type check formatz2001-10-031-5/+2
| | | | | | | | | | | | | | | | | | | | TYPE_UCLASS. usage of allocation framework is disabled for now. * variable.c (rb_class_path): Module may have subclass. * string.c (rb_str_update): should maintain original negative offset. * string.c (rb_str_subpat_set): ditto * string.c (rb_str_aset): ditto. * re.c (rb_reg_nth_match): should check negative nth. * re.c (rb_reg_nth_defined): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_init): String.new() => ""matz2001-09-191-31/+55
| | | | | | | | | | * dir.c (dir_path): new method. * dir.c (dir_initialize): wrap DIR into struct, along with path information. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_thread_restore_context): save current value ofmatz2001-09-081-1/+8
| | | | | | | | | | | | | | | | | lastline and lastmatch in the thread struct for later restore. * eval.c (rb_thread_save_context): restore lastline and lastmatch. * numeric.c (flo_to_s): should handle negative float value. * class.c (rb_include_module): should check whole ancestors to avoid duplicate module inclusion. * string.c (trnext): should check backslash before updating "now" position. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_s_chdir): raise if environment variable HOME/LOGDIRnobu2001-09-061-11/+15
| | | | | | | | | | not set. * dir.c (glob_helper): avoid infinite loop on a file name with wildcard characters. (ruby-bugs#PR177) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regex.c (re_search): should consider reverse search.matz2001-07-141-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dir.c (dir_s_chdir): warn only when invoked from multiple threads or block is not given. * object.c (rb_convert_type): should use rb_rescue(), not rb_rescue2(). * range.c (range_init): ditto. * object.c (rb_obj_dup): should free generic_ivar if original owns them. * string.c (rb_str_each_line): should propagate taint mark. * ext/nkf/nkf.c (rb_nkf_kconv): ditto. * eval.c (rb_f_require): revamp for simpler implementation. * file.c (rb_find_file_noext): use String object, instead of passing char* around. * file.c (rb_find_file): ditto. * dln.c (dln_load): should use NSLINKMODULE_OPTION_BINDNOW. * ruby.c (load_file): local variables 'c' remain uninitialized on xflag. * regex.c (re_match): prefetched escaped character too early. * eval.c (rb_call0): add argument check for attr_readers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (exc_exception): clone the receiver exception instead ofmatz2001-07-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | creating brand new exception object of the receiver. * eval.c (rb_eval_string_wrap): extend new ruby_top_self, not original self. * eval.c (rb_eval_cmd): respect ruby_wrapper if set. * eval.c (eval): do not update ruby_class unless scope is not provided. * eval.c (eval): preserve wrapper information. * eval.c (proc_invoke): ditto. * eval.c (block_pass): ditto. * parse.y (void_expr): too much warnings for void context (e.g. foo[1] that can be mere Proc call). * error.c (rb_name_error): new function to raise NameError with name attribute set. * eval.c (rb_f_missing): set name and args in the exception object. [new] * error.c (name_name): NameError#name - new method. * error.c (nometh_args): NoMethodError#args - new method. * lex.c (rb_reserved_word): lex_state after tRESCUE should be EXPR_MID. * gc.c (add_heap): allocation size of the heap unit is doubled for each allocation. * dir.c (isdelim): space, tab, and newline are no longer delimiters for glob patterns. * eval.c (svalue_to_avalue): new conversion scheme between single value and array values. * eval.c (avalue_to_svalue): ditto. * eval.c (rb_eval): REXPAND now uses avalue_to_svalue(), return and yield too. * eval.c (rb_yield_0): use avalue_to_svalue(). * eval.c (proc_invoke): Proc#call gives avaules, whereas Proc#yield gives mvalues. * eval.c (bmcall): convert given value (svalue) to avalue. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (Init_Dir): add a new method File::fnmatch? along withknu2001-06-131-4/+36
| | | | | | | | File::Constants::FNM_*. While I am here, FNM_NOCASE is renamed to FNM_CASEFOLD which is commonly used by *BSD and GNU libc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (glob_helper): teach has_magic() to handle flags and getknu2001-05-271-17/+22
| | | | | | | | | | glob_helper to properly support FNM_NOESCAPE. * dir.c (fnmatch): fix a bug when FNM_PATHNAME and FNM_PERIOD are specified at the same time. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_and): should not push frozen key string.matz2001-05-161-2/+1
| | | | | | | | | | | | | | | | | | * array.c (rb_ary_or): ditto. * eval.c (rb_thread_schedule): should save context before raising deadlock, saved context for current thread might be obsolete. * time.c (make_time_t): non DST timezone shift supported (hopefully). * time.c (make_time_t): strict range detection for negative time_t. * signal.c: SIGINFO added. * eval.c (rb_ensure): should not SEGV when prot_tag is NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (bigdivrem): access boundary bug.matz2001-05-111-3/+3
| | | | | | | | | | | | | | | | | | | * marshal.c (w_object): prohibit dumping out singleton classes. * object.c (rb_mod_to_s): distinguish singleton classes. * variable.c (rb_class2name): it's ok to reveal NilClass, TrueClass, FalseClass. * eval.c (rb_yield_0): preserve and restore ruby_cref as well. * eval.c (is_defined): core dumped during instance_eval for special constants. * eval.c (rb_eval): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* forgot some checkins.matz2001-05-061-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (rb_glob, rb_globi): remove unnecessary FNM_PATHNAME.eban2001-05-021-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (block_pass): should not downgrade safe level.matz2001-05-021-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ext/dbm/extconf.rb: allow specifying dbm-type explicitly. * ext/dbm/extconf.rb: avoid gdbm if possible, because it leaks memory, whereas gdbm.so doesn't. potential incompatibility. * string.c (rb_str_insert): new method. * parse.y (yylex): lex_state after RESCUE_MOD should be EXPR_BEG. * array.c (rb_ary_insert): new method. * array.c (rb_ary_update): new utility function. * io.c (set_outfile): should check if closed before assignment. * eval.c (rb_eval): should preserve value of ruby_errinfo. * eval.c (rb_thread_schedule): infinite sleep should not cause dead lock. * array.c (rb_ary_flatten_bang): proper recursive detection. * eval.c (yield_under): need not to prohibit at safe level 4. * pack.c (pack_pack): p/P packs nil into NULL. * pack.c (pack_unpack): p/P unpacks NULL into nil. * pack.c (pack_pack): size check for P template. * ruby.c (set_arg0): wrong predicate when new $0 value is bigger than original space. * gc.c (id2ref): should use NUM2ULONG() * object.c (rb_mod_const_get): check whether name is a class variable name. * object.c (rb_mod_const_set): ditto. * object.c (rb_mod_const_defined): ditto. * marshal.c (w_float): precision changed to "%.16g" * eval.c (rb_call0): wrong retry behavior. * numeric.c (fix_aref): a bug on long>int architecture. * eval.c (rb_eval_string_wrap): should restore ruby_wrapper. * regex.c (re_compile_pattern): char class at either edge of range should be invalid. * eval.c (handle_rescue): use === to compare exception match. * error.c (syserr_eqq): comparison between SytemCallErrors should based on their error numbers. * eval.c (safe_getter): should use INT2NUM(). * bignum.c (rb_big2long): 2**31 cannot fit in 31 bit long. * regex.c (calculate_must_string): wrong length calculation. * eval.c (rb_thread_start_0): fixed memory leak. * parse.y (none): should clear cmdarg_stack too. * io.c (rb_fopen): use setvbuf() to avoid recursive malloc() on some platforms. * file.c (rb_stat_dev): device functions should honor stat field types (except long long such as dev_t). * eval.c (rb_mod_nesting): should not push nil for nesting array. * eval.c (rb_mod_s_constants): should not search array by rb_mod_const_at() for nil (happens for singleton class). * class.c (rb_singleton_class_attached): should modify iv_tbl by itself, no longer use rb_iv_set() to avoid freeze check error. * variable.c (rb_const_get): error message "uninitialized constant Foo at Bar::Baz" instead of "uninitialized constantBar::Baz::Foo". * eval.c (rb_mod_included): new hook called from rb_mod_include(). * io.c (opt_i_set): should strdup() inplace_edit string. * eval.c (exec_under): need to push cref too. * eval.c (rb_f_missing): raise NameError for "undefined local variable or method". * error.c (Init_Exception): new exception NoMethodError. NameError moved under ScriptError again. * eval.c (rb_f_missing): use NoMethodError instead of NameError. * file.c (Init_File): should redifine "new" class method. * eval.c (PUSH_CREF): sharing cref node was problematic. maintain runtime cref list instead. * eval.c (rb_eval): copy defn node before registering. * eval.c (rb_load): clear ruby_cref before loading. * variable.c (rb_const_get): no recursion to show full class path for modules. * eval.c (rb_set_safe_level): should set safe level in curr_thread as well. * eval.c (safe_setter): ditto. * object.c (rb_obj_is_instance_of): nil belongs to false, not true. * time.c (make_time_t): proper (I hope) daylight saving time handling for both US and Europe. I HATE DST! * eval.c (rb_thread_wait_for): non blocked signal interrupt should stop the interval. * eval.c (proc_eq): class check aded. * eval.c (proc_eq): typo fixed ("return" was ommitted). * error.c (Init_Exception): move NameError under StandardError. * class.c (rb_mod_clone): should copy method bodies too. * bignum.c (bigdivrem): should trim trailing zero bdigits of remainder, even if dd == 0. * file.c (check3rdbyte): safe string check moved here. * time.c (make_time_t): remove HAVE_TM_ZONE code since it sometimes reports wrong time. * time.c (make_time_t): remove unnecessary range check for platforms where negative time_t is available. * process.c (proc_waitall): should push Process::Status instead of Finuxm status. * process.c (waitall_each): should add all entries in pid_tbl. these changes are inspired by Koji Arai. Thanks. * process.c (proc_wait): should not iterate if pid_tbl is 0. * process.c (proc_waitall): ditto. * numeric.c (flodivmod): a bug in no fmod case. * process.c (pst_wifsignaled): should apply WIFSIGNALED for status (int), not st (VALUE). * io.c (Init_IO): value of $/ and $\ are no longer restricted to strings. type checks are done on demand. * class.c (rb_include_module): module inclusion should be check taints. * ruby.h (STR2CSTR): replace to StringType() and StringTypePtr(). * ruby.h (rb_str2cstr): ditto. * eval.c (rb_load): should not copy topleve local variables. It cause variable/method ambiguity. Thanks to L. Peter Deutsch. * class.c (rb_include_module): freeze check at first. * eval.c (rb_attr): sprintf() and rb_intern() moved into conditional body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c: use ruby's opendir on mingw32.eban2001-04-011-3/+3
| | | | | | | * win32/dir.h, dir.c, Makefile: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_str2cstr): warn if string contains \0 and lengthmatz2001-03-281-6/+6
| | | | | | | | | | | | | | | | value is ignored. * class.c (rb_singleton_class_clone): should copy class constant table as well. * class.c (rb_include_module): sometimes cache was mistakenly left uncleared - based on the patch by K.Kosako. * ruby.h: all Check_SafeStr()'s are replaced by SafeStr() to ensure 'to_str' be always effective. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.h: rb_sys_stat -> statmatz2001-03-211-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (id2ref): sometimes confused symbol and reference.matz2001-03-211-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | * dir.c (glob_helper): breaks loop after calling recusive glob_helper; all wild cards should be consumed; no need for further match. * dir.c (dir_s_glob): gives warning if no match found. * object.c (sym_inspect): did allocate extra byte space. * marshal.c (shortlen): shortlen should return number of bytes written. * eval.c (ev_const_defined): need not to check if cbase->nd_class is rb_cObject. * eval.c (ev_const_get): ditto. * time.c (time_zone): return "UTC" for UTC time objects. * eval.c (THREAD_ALLOC): flags should be initialized. * signal.c (rb_f_kill): should use FIX2INT, not FIX2UINT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (win32_stat): UNC support.eban2001-03-201-1/+1
| | | | | | | * dir.c (extract_path): fix "./*" problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (glob_helper): replace lstat() by stat() to follow symlinkmatz2001-03-191-21/+22
| | | | | | | | | in the case like 'symlink/*'. * dir.c (glob_helper): gave warning too much. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016).matz2001-03-161-10/+39
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (rb_glob_helper): fix drive letter handling on DOSISH.eban2001-03-131-1/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_delete_bang): delete! should take at least 1matz2001-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | argument. * ruby.c (load_file): add rb_gc() after loading to avoid extraordinary memory growth. * dir.c (rb_glob_helper): "./foo" should match "foo", not "./foo". * eval.c (ev_const_get): retrieve Object's constant if no current class is available (e.g. defining singleton class for Fixnums). * eval.c (ev_const_defined): check Object's constant if no current class is available (e.g. defining singleton class for Fixnums). * time.c (time_timeval): negative time interval shoule not be allowed. * eval.c (proc_call): ignore block to `call' always, despite of being orphan or not. * eval.c (rb_yield_0): should check based on rb_block_given_p() and rb_f_block_given_p(). * configure.in (frame-address): --enable-frame-address to allow __builtin_frame_address() to be used. * eval.c (stack_length): use __builtin_frame_address() based on the macro USE_BUILTIN_FRAME_ADDRESS. * gc.c (rb_gc): ditto. * gc.c (Init_stack): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * time.c (time_timeval): negative time interval shoule not bematz2001-02-271-2/+1
| | | | | | | | | | allowed. * eval.c (proc_call): ignore block to `call' always, despite of being orphan or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_substr): "a"[1,2] should return ""; needmatz2001-02-191-24/+43
| | | | | | | rubicon upgrade. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_waitall): new method based on a patch from Brianmatz2001-02-151-2/+2
| | | | | | | | | Fundakowski Feldman <green@green.dyndns.org>. * process.c (last_status_set): objectify $? value (Process::Status). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (dir_s_glob): supprt backslash escape of metacharactersmatz2001-02-141-12/+36
| | | | | | | | | | | | | | | | | | | and delimiters. * dir.c (remove_backslases): remove backslashes from path before calling stat(2). * dir.c (dir_s_glob): call rb_yield directly (via push_pattern) if block is given to the method. * dir.c (push_pattern): do not call rb_ary_push; yield directly. * eval.c (blk_copy_prev): reduced ALLOC_N too much. * eval.c (frame_dup): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (lstat): should use rb_sys_stat if lstat(2) is noteban2001-02-131-0/+4
| | | | | | | available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_ctl): do not call ioctl/fcntl for f2, if f and f2matz2001-02-131-5/+16
| | | | | | | | | | | | | | | | | | | | | | have same fileno. * eval.c (rb_load): raise LocaJumpError if unexpected local jumps appear during load. * ext/socket/socket.c (bsock_close_read): don't call rb_thread_fd_close(); it's supposed to be called by io_io_close(). * ext/socket/socket.c (bsock_close_read): do not modify f and f2. * ext/socket/socket.c (bsock_close_write): ditto. * ext/socket/socket.c (sock_new): avoid dup(2) on sockets. * parse.y (primary): preserve and clear in_single and in_def using stack to prevent nested method errors in singleton class bodies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (win32_stat): replace stat for enable when pathnameusa2001-02-091-1/+1
| | | | | | | | | | | | | | | ends with '/' or '\' for mswin32 on Win9X / Win2k. * win32/win32.h: ditto. * ruby.h: ditto. * dir.c (rb_glob_helper): ditto. * file.c (rb_stat, rb_file_s_stat, eaccess, check3rdbyte): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (parse_quotedwords): %w should allow parenthesis escape.matz2001-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | * parse.y (parse_qstring): %q should allow terminator escape. * re.c (rb_reg_options): new method to give an option values. * parse.y (cond0): disable special treating of integer literal in conditional unless option -e is supplied. changes current behavior. experimental. * parse.y (cond0): give warning for string/integer literals and dot operators in conditionals unless option -e is supplied. * re.c (rb_reg_equal): all option flags should be same to be equal. * error.c (Init_Exception): make Interrupt a subclass of SignalException. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ebaneban2000-11-201-5/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ebaneban2000-09-251-7/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ebaneban2000-09-251-5/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e