Commit graph

4568 commits

Author SHA1 Message Date
matz
1f904eed44 * dir.c (glob_helper): replace lstat() by stat() to follow symlink
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
2001-03-19 03:20:24 +00:00
matz
b842d5f571 * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-16 08:30:09 +00:00
matz
53ff8df72f * eval.c (rb_yield_0): 0 (= Qfalse) is a valid value, so that
default self should be checked by klass == 0.

* bignum.c (rb_cstr2inum): should disallow '++1', '+-1', etc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-14 04:45:46 +00:00
matz
e502549be1 * io.c (argf_seek_m): wrong calling sequence of rb_io_seek().
* parse.y (cond0): no special treatment of string literal in
  condition.

* math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math.

* configure.in: check hypot availablility.

* missing/hypot.c: public domain rewrite of hypot.

* parse.y (warn_unless_e_option): warning condition was wrong.

* parse.y (warning_unless_e_option): ditto.

* enum.c (enum_all): new method 'all?', which returns true if
  block returns true for all elements.

* enum.c (enum_any): new method 'any?', which returns true if
  block retruns true for any of elements.

* marshal.c (marshal_load): do not give warning unless explicitly
  set to verbose.

* eval.c (rb_exit): give string value "exit" to SystemExit.

* ruby.c (proc_options): -v should not print version if
  proc_options called via moreswitches().

* parse.y (stmt): while/until modifier must work for empty body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 05:45:13 +00:00
eban
8fc5876485 * lib/mkmf.rb (create_makefile): save/restore $libs and $LIBPATH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-12 10:20:01 +00:00
eban
15d67fba62 * math.c (math_log, math_log10): use nan() instead of 0.0/0.0 on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-09 17:49:31 +00:00
eban
fc07b3b0ad * math.c (math_log, math_log10): should return NaN if x < 0.0
on Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-07 05:43:11 +00:00
matz
a36e0c78c9 * parse.y (primary): rescue and ensure clauses should be allowed
to appear in singleton method body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-06 08:17:54 +00:00
eban
ea201e7eb0 2001-03-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-05 08:29:30 +00:00
eban
d08f28d839 * string.c (trnext): support backslash escape in String#tr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-04 09:46:08 +00:00
eban
b3902727d5 2001-02-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-28 08:54:57 +00:00
eban
4fd84b6f2e 2001-02-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-27 09:15:18 +00:00
matz
df2d69b49a * eval.c (proc_call): should not modify ruby_block->frame.iter
based on ruby_frame->iter altered by PUSH_ITER().

* eval.c (rb_thread_fd_close): should save current context before
  raising exception.

* io.c (set_stdin): preserve original stdin.

* io.c (set_outfile): preserve original stdout/stderr.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-26 05:29:06 +00:00
eban
9ce5d1f0f5 * win32/win32.c (myrename): fix error handling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-24 13:19:13 +00:00
matz
88eef2d7fe * configure.in: add check for negative time_t for gmtime(3).
* time.c (time_new_internal): no positive check if gmtime(3) can
  handle negative time_t.

* time.c (time_timeval): ditto.

* bignum.c (rb_big2long): should not raise RangeError for Bignum
  LONG_MIN value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-20 07:42:03 +00:00
eban
ec6e3f9ec3 2001-02-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-19 07:16:46 +00:00
eban
d63d8012f4 2001-02-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-18 08:19:16 +00:00
matz
e1c29a3f13 * io.c (set_outfile): f should be the FILE* from the assigning value.
* ext/socket/socket.c (tcp_s_open): should not give default value
  to local_host.

* time.c (time_s_times): move to Process::times.

* file.c (rb_file_s_lchmod): new method File::lchmod.

* file.c (rb_file_s_lchown): new method File::lchown.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-16 07:53:21 +00:00
eban
9ac8f70f3d 2001-02-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-15 13:23:33 +00:00
eban
50ce575ce4 2001-02-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-14 10:18:21 +00:00
eban
65428c0264 2001-02-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-13 05:24:05 +00:00
eban
c5254c68ad * eval.c (stack_length): use __builtin_frame_address() only if
GCC and i386 CPU.
* gc.c (rb_gc, Init_stack): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-11 07:12:02 +00:00
eban
b4ea8ddcdd ruby.c (ruby_init_loadpath): convert '\' to '/'
before finding executable file path.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-09 14:11:23 +00:00
eban
106a65482b 2001-02-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-08 13:58:38 +00:00
matz
ed520cf6e9 * parse.y (parse_quotedwords): %w should allow parenthesis escape.
* 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
2001-02-08 09:19:27 +00:00
eban
e9f9915a4c gcc-2.95.2-7(cygwin) support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-31 14:27:37 +00:00
matz
2f0faf671d * string.c (str_independent): should not clear str->orig here.
it's too early.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-29 05:10:42 +00:00
eban
2455b077df 2001-01-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-23 09:14:50 +00:00
eban
9d0bba43bb * mkconfig.rb: autoconf 2.49 support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-22 07:37:14 +00:00
eban
0232870f7d 2000-01-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-18 12:36:19 +00:00
eban
c46cf18e3b 2001-01-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-15 08:26:34 +00:00
eban
fd8eadd2af 2001-01-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-10 08:22:22 +00:00
matz
d110e3f551 * file.c (path_check_1): should restore modified path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-09 08:04:39 +00:00
matz
87beea4496 * enum.c (enum_inject): new method.
* gc.c (rb_gc_call_finalizer_at_exit): clear klass member of
  terminating object.

* eval.c (rb_call): raise exception for terminated object.

* bignum.c (bigdivrem): t2 might be too big for signed long; do
  not use rb_int2big(), but rb_uint2big().

* error.c (rb_load_fail): new func to report LoadError.

* ruby.c (load_file): use rb_load_fail.

* eval.c (ruby_finalize): should enclosed by PUSH_TAG/POP_TAG.

* gc.c (rb_gc_mark): link 2 of NODE_IFUNC should not be explicitly
  marked.  it may contain non object pointer.

* re.c (reg_s_last_match): Regexp::last_match(nth) returns nth
  substring of the match  (alternative for $& and $<digit>).

* eval.c (rb_mod_define_method): wrong comparison for blocks.

* gc.c (id2ref): should handle Symbol too.

* gc.c (id2ref): should print original ptr value

* eval.c (rb_iterate): NODE_CFUNC does not protect its data
  (nd_tval), so create new node NODE_IFUNC for iteration C
  function.

* eval.c (rb_yield_0): use NODE_IFUNC.

* gc.c (rb_gc_mark): support NODE_IFUNC.

* gc.c (mem_error): prohibit recursive mem_error().
  (ruby-bugs-ja:PR#36)

* eval.c (rb_thread_fd_writable): should not switch context if
  rb_thread_critical is set.

* eval.c (rb_thread_wait_fd): ditto.

* eval.c (rb_thread_wait_for): ditto.

* eval.c (rb_thread_select): ditto.

* eval.c (rb_thread_join): join during critical section causes
  deadlock.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-09 07:26:21 +00:00
matz
2cafd39ed2 thread_critical bug reported by Dave - matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-29 02:46:12 +00:00
matz
a5dcc4437e matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-26 08:08:50 +00:00
matz
99020d6e50 001225
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-25 06:29:27 +00:00
matz
0e47c138c9 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-22 03:22:25 +00:00
matz
117b7d5c47 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-18 09:46:21 +00:00
eban
3e865dceff 20001213
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-13 03:50:59 +00:00
matz
2322a13127 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-08 07:10:38 +00:00
matz
03581d5826 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-12-05 09:36:54 +00:00
matz
f54418b71f matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-27 09:23:38 +00:00
matz
a122fce476 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-21 14:26:25 +00:00
eban
8f54a9b470 20001120
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-20 02:56:15 +00:00
matz
46608d361a 001117
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-16 16:56:59 +00:00
matz
074203d270 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-16 07:24:21 +00:00
matz
46620a8772 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-14 07:10:31 +00:00
matz
2a1b0ff232 matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-13 05:39:35 +00:00
matz
087c83d7ce matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-11-10 07:16:52 +00:00