Граф коммитов

1293 Коммитов

Автор SHA1 Сообщение Дата
nobu a7a8ea12da * io.c (rb_io_inspect): not need to raise IOError for closed stream. [ruby-talk:51871]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-30 11:31:28 +00:00
nobu 7345d0efd4 * win32/win32.c (rb_w32_open_osfhandle): adjust
rb_w32_open_osfhandle() with _open_osfhandle().

* win32/win32.c (rb_w32_accept, rb_w32_socket): return -1 on
  error.

* win32/win32.h: should use file descriptor instead of SOCKET.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-29 09:31:58 +00:00
usa 62280094cd * win32/win32.c (is_socket, rb_w32_select, rb_w32_accept, rb_w32_bind,
rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
  rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
  rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
  rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
  rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
  rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport):
  need to protect WSAGetLastError() by RUBY_CRITICAL. [ruby-talk:51778]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 21:39:57 +00:00
nobu 1577424bdf * keywords: add braces around initializers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 11:08:59 +00:00
nobu 4d23d9e7d8 * hash.c (rb_hash_become): should check self-assignment after
conversion.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 04:21:31 +00:00
matz 70dc199fdd * hash.c (rb_hash_become): Hash#become should check added
self-assignment.

* class.c (rb_make_metaclass): metaclass of a superclass may be
  NULL at boot time.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 02:41:05 +00:00
H_Konishi 56201383cd * ext/extmk.rb: The condition judgment without necessity was deleted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-28 00:53:05 +00:00
nobu cfeb0c30c4 * eval.c (rb_thread_deadlock, rb_thread_schedule, rb_thread_join): more verbose message at deadlock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-27 09:42:24 +00:00
matz af181db784 * eval.c (rb_eval): Class#inherited should be called after the
execution of the class body.

* parse.y (primary): remove "return outside of method" check at
  compile time.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-27 04:26:21 +00:00
knu 7a6adb8924 * ext/digest/sha1: Use OpenSSL's SHA1 engine if available. It is
much faster than what we have now (sha1.[ch]).  Add a knob
  (--with-bundled-sha1) to extconf.rb which makes it use the
  bundled one anyway.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 17:44:33 +00:00
knu 15d643f44c * ext/digest/rmd160: Use OpenSSL's RMD160 engine if available. It
is much faster than what we have now (rmd160.[ch]).  Add a knob
  (--with-bundled-rmd160) to extconf.rb which makes it use the
  bundled one anyway.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 17:26:46 +00:00
knu 965393cbb8 * ext/digest/md5: Use OpenSSL's MD5 engine if available. It is
much faster than what we have now (md5.[ch]).  Add a knob
  (--with-bundled-md5) to extconf.rb which makes it use the
  bundled one anyway.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 16:27:23 +00:00
knu b00af5f83a * ext/digest/digest.c (rb_digest_base_s_digest): Fix a double
free() bug mingled with allocation framework deployment.

* ext/digest/digest.c (rb_digest_base_s_hexdigest): Get rid of
  redundant struct allocation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 13:49:40 +00:00
matz 7c4d1fe5e0 * regex.c (re_match): p1 may exceed pend limit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 00:48:33 +00:00
nobu 12852c2e9a * dir.c (glob_helper): must not closedir() when exception raised
while globbing "**".

* marshal.c (w_uclass): unused variable.

* re.c (match_clone): unused.

* regex.c (re_compile_pattern): get rid of implicit promotion from
  plain char to int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-25 14:52:37 +00:00
usa 44b2f1609c * lib/mkmf.rb (libpathflag): restore ENV['LIB'] when some error occured.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-25 08:49:17 +00:00
matz 4b9a7eac05 * io.c (appendline): forget to terminate with nul.
* eval.c (ruby_run): should set toplevel visibility again here.

* eval.c (rb_eval): should not rely on ruby_class == rb_cObject
  check.   Besides allow implicit publicity for attribute set
  methods.

* parse.y (primary): need not to check class_nest, just set
  whether method is an attrset or not.

* string.c (rb_str_each_line): p might be at the top of the
  string.

* class.c (rb_make_metaclass): class of metaclass should be
  metaclass of superclass, unless class itself is a metaclass;
  class of metaclass of metaclass should point back to self.
  eh, confusing, isn't it.

* class.c (rb_singleton_class): check if its class is singleton
  AND attached to self.

* eval.c (rb_eval): should define class/module under ruby_cbase.

* eval.c (rb_eval): should set class/module path based on
  ruby_cbase, not ruby_class.

* eval.c (module_setup): use ruby_cbase instead of ruby_class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-25 07:03:05 +00:00
nobu 53178fc7db * eval.c (rb_call0): must not clear ruby_current_node, or
backtrace cannot be genetated.

* intern.h (ruby_yyparse): rather than yyparse().

* parse.y (yylex): nextc() returns -1 at end of input, not 0.

* parse.y (newline_node): reduce deplicated newline node.

* parse.y (literal_concat): get rid of warning.

* parse.y (new_evstr): fixed junk code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-23 15:48:42 +00:00
eban 849b1000b0 * configure.in (RUBY_MINGW32): new macro. check for the MinGW
compiler envionment.
* lib/mkmf.rb: refactoring.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-23 11:01:49 +00:00
nobu 742283385f * eval.c (call_trace_func): should not call trace function while
compilation.

* eval.c (rb_call0): also inside c-func.

* parse.y (yycompile): ditto.

* ruby.c (require_libraries): preserve source file/line for each
  require.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-22 12:52:18 +00:00
nobu f3cdd50125 commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-21 13:30:48 +00:00
nobu 5c6ede680b * eval.c (rb_thread_raise): no need to save dead thread context.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-21 13:30:00 +00:00
nobu 749dea9e7c * parse.y (block_append): eliminate unused literal nodes.
* parse.y (literal_concat): refined literal concatination.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-20 14:03:45 +00:00
knu f5b9282f05 * lib/set.rb: Merge rough/lib/set.rb rev.1.5-1.15.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-20 10:46:52 +00:00
nobu 9d29825355 * eval.c (rb_thread_die): put thread dead state.
* eval.c (rb_thread_atfork): free stack buffer at fork too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-17 12:07:36 +00:00
matz 73a47246f2 * eval.c (rb_mod_nesting): load wrapping module should appear in
Module#nesting list. (ruby-bugs-ja:PR#328)

* eval.c (rb_thread_remove): free stack buffer on remove.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-17 09:36:05 +00:00
aamine 50cc115b7e * io.c: add parameter prototype.
* re.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-16 15:56:31 +00:00
H_Konishi 94e5dc3416 * win32/win32.c (rb_w32_opendir): Corresponds to the unjust path containing ".
(rb_w32_stat) : ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-15 13:02:09 +00:00
eban ce296ec7fc * configure.in (OUTFLAG, CPPOUTFILE): moved from lib/mkmf.rb.
check whether ${CPP} accepts the -o option.
* win32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
* bcc32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
* djgpp/config.sed (OUTFLAG, CPPOUTFILE): ditto.
* lib/mkmf.rb (OUTFLAG, CPPOUTFILE): use CONFIG.
  make easy to understand log.
* mkconfig.rb (val): should not strip.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-15 12:57:21 +00:00
H_Konishi aa904b2050 * error.c(rb_sys_fail): remove case EPIPE on bcc32 .
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-14 11:17:32 +00:00
nobu a1ea7b6d56 * dir.c (glob_func_caller): add prototype to get rid of warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-13 14:46:44 +00:00
nobu 026e185838 * eval.c (rb_eval): avoid uninitialized global/class variable
warnings at `||='.  [ruby-dev:18278]

* parse.y (stmt, arg): ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-13 09:36:28 +00:00
eban 8b598af611 * lib/mkmf.rb ($INSTALLFILES): avoid warning when $VERBOSE mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-13 04:30:27 +00:00
H_Konishi df3368c1dd * bcc32/setup.mak : Control of a message.
* bcc32/makefile.sub : include resource.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-12 14:27:02 +00:00
nobu 66d9f5498b * dir.c (glob_helper): should pass matched path. (ruby-bugs-ja:PR#333)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-12 09:11:12 +00:00
nobu 563885cad6 * dir.c (glob_helper): fixed freeing buffer. (ruby-bugs-ja:PR#332)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-12 08:48:57 +00:00
matz b031fdbc0e * dir.c (glob_helper): prevent memory leak using rb_protect().
* string.c (rb_str_associate): no need to check freeze flag.

* string.c (rb_str_resize): should honor STR_ASSOC flag on
  resize.

* string.c (rb_str_resize): proper STR_ASSOC handling.  pointed
  out by Michal Rokos.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_cat): ditto.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_append): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-12 06:27:15 +00:00
nobu 368e015170 * eval.c (rb_trap_eval): preserve thread status and so on.
[ruby-talk:40337], [ruby-core:00019]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 15:13:10 +00:00
akr c47f24027a * pp.rb (ARGF.pretty_print): implemented.
(PP.pp): arguments reordered.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 12:29:17 +00:00
nobu bfb1775244 * eval.c (proc_to_s): refined format. [ruby-dev:18215]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 09:58:02 +00:00
usa d0c6f63804 * win32/win32.c, win32/win32.h (rb_w32_getpid): negate pid under Win9x.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 08:50:13 +00:00
knu b9e3aa30f7 * string.c (get_pat): Add an extra argument "quote".
* string.c (rb_str_match_m): Do not bother to convert if a regexp
  is given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 04:05:36 +00:00
usa 0eb196f281 * bcc32/Makefile.sub: remove unnecessary `.dll' from filename of
dll's resource file.

* cygwin/GNUmakefile.in: ditto. [ruby-dev:17103]

* win32/Makefile.sub: ditto. [ruby-dev:17103]

* win32/resource.rb: ditto. [ruby-dev:17103]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 02:38:51 +00:00
nobu f34534c52a retry on EINTR, ERESTART and EWOULDBLOCK. [ruby-dev:17855], [ruby-dev:17878], [ruby-core:00444]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 01:09:04 +00:00
usa a82da9463f * win32/Makefile.sub (ext): make directory `ext' on compile dir.
[ruby-dev:18255]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-11 00:39:35 +00:00
nobu bb34d7163d * eval.c (rb_mod_define_method): initialize orig_func too.
(ruby-bugs-ja:PR#330)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 15:44:36 +00:00
nobu 64bdb0c395 * parse.y (nextc): restore line number after here documents.
(ruby-bugs-ja:PR#331)

* parse.y (heredoc_restore): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 14:38:20 +00:00
eban d54331b0af * ext/extmk.rb, lib/mkmf.rb ($INCFLAGS): new var for -I$(topdir).
* lib/mkmf.rb: add #define WIN32_LEAN_AND_MEAN to improve compile
  times.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 09:30:50 +00:00
usa 97c0e2c0cd * ChangeLog: specify the source.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 08:28:51 +00:00
usa a3faa7e2e2 * win32/Makefile.sub (miniruby): shouldn't link $(EXTOBJS).
* win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY)): avoid lib.exe's
  warning.

* win32/Makefile.sub: remove unnecessary rules.

* win32/configure.bat, win32/setup.mak, win32/README.win32: enable to
  pass some arguments to configure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-10 08:24:11 +00:00
eban b3a426e70a * win32/win32.h (S_I?USR): define only if not mingw32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-09 14:48:21 +00:00
nobu 23fb79a290 * ext/stringio/stringio.c (strio_set_string): reinitialize
properly.

* ext/stringio/stringio.c (strio_become): added self-assign check
  and experimental auto-conversion to StringIO.

* ext/stringio/stringio.c (strio_reopen): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-09 02:27:01 +00:00
eban 73d4f4b0bb * time.c (time_free): prototype; struct time_object -> void *.
avoid GCC warnings.
* lib/mkmf.rb, ext/extmk.rb ($LINK, $CPP): move to lib/mkmf.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 12:59:08 +00:00
usa 43241ab269 * ext/tcltklib/tcltklib.c: prototype; invoke_queue_handler() to avoid
VC++ warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 10:33:12 +00:00
usa d1a4bf7d3a * time.c: prototype; time_free() to avoid VC++ warnings.
* win32/win32.c (rb_w32_stat): remove S_IWGRP and S_IWOTH bits from
  st_mode.

* win32/win32.h (S_I*): define if not defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 10:06:40 +00:00
eban b8ff4a843e * lib/mkmf.rb (have_struct_member): moved from ext/socket/extconf.rb.
* ext/socket/extconf.rb: use macro_defined? instead of egrep_cpp.
* ext/etc/extconf.rb: use have_struct_member.
* ext/etc/etc.c: add prefix HAVE_ST_ to PW_ macros.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 10:00:43 +00:00
eban 4f26f3b890 * configure.in: modify program_prefix only if specified
--program-prefix.

* configure.in: don't generate ext/extmk.rb.

* Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
  remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.

* {win32,bccwin32}/Makefile.sub: ditto.

* instruby.rb: ditto.

* ext/extmk.rb: renamed from ext/extmk.rb.in.

* lib/mkmf.rb (module Logging): create log files (mkmf.log)
  in each extension module directories.

* ext/extmk.rb: ditto.

* lib/mkmf.rb (macro_defined?): new method.

* ext/.cvsignore: remove extmk.rb.

* ext/*/.cvsignore: add "*.def".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:15 +00:00
H_Konishi 275d1a12e6 bcc32/configure.bat : Control of a message.
bcc32/makefile.sub  : @(sitearch) typo.
ext/extmk.rb.in     : [bccwin32] libdir is added to a library path.
lib/mkmf.rb         : ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 05:46:29 +00:00
nobu 75821a5afb * misc/inf-ruby.el (inferior-ruby-error-regexp-alist): regexp
alist for error message from ruby.

* misc/inf-ruby.el (inferior-ruby-mode): fixed for Emacs.

* misc/inf-ruby.el (ruby-send-region): compilation-parse-errors
  doesn't parse first line, so insert separators before each
  evaluations.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-07 14:37:26 +00:00
knu d29143b99e * lib/set.rb: Disallow Set.new(false). Add even more tests.
[Submitted by: "Christoph" <chr_news@gmx.net>]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-07 10:48:14 +00:00
knu 6954ba398a * lib/set.rb: Fix a bug in flatten()'s recursive set detection.
[Submitted by: "Christoph" <chr_news@gmx.net>]  Some tests
  against the bug are added.

* lib/set.rb: Resurrect the test suite by putting it after
  __END__ and executing `eval DATA.read'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-07 10:32:23 +00:00
aamine 7622095d17 * parse.y (rb_gc_mark_parser): ruby_eval_tree is marked in eval.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 23:41:43 +00:00
nobu a449f78c89 * lib/mkmf.rb ($CC): command to compile C source.
* lib/mkmf.rb (try_compile): added.

* lib/mkmf.rb (egrep_cpp): use internal grep when pattern is
  Regexp, otherwise use external egrep command but get rid of
  pipe of command.com.

* lib/mkmf.rb (have_func): local variable should be volatile not
  to be eliminated by optimization.

* lib/mkmf.rb (create_makefile): link with CONFIG["LIBS"].

* lib/mkmf.rb (create_makefile): emit .SUFFIXES:.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 11:23:14 +00:00
matz 7881363731 * gc.c (ruby_xmalloc): remove MALLOC_LIMIT to avoid frequent
garabage collection.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 08:59:41 +00:00
aamine 95d65e34e1 * parse.y (rb_gc_mark_parser): should mark lex_input and ruby_debug_lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 03:09:07 +00:00
aamine e389d3d153 * parse.y (rb_gc_mark_parser): should mark parse.y global variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 02:44:51 +00:00
aamine 5ef74b512c * io.c (rb_io_puts): RSTRING(line)->ptr might be NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 01:58:32 +00:00
aamine 4ebc9ec226 * parse.y: should not use non-NODE VALUEs in the semantic stack.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-06 01:24:41 +00:00
nobu 458673dd8a * file.c (rb_path_check): nothing to check under DOSISH.
[ruby-list:35772]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 20:53:31 +00:00
aamine 4464544e05 modify function name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 20:09:52 +00:00
aamine 7ac3b71611 * gc.c (gc_sweep): should mark parser.
* parse.y (rb_gc_mark_parser): new function.
* intern.h (rb_gc_mark_parser): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 20:00:52 +00:00
matz 49cd091cf2 * variable.c (rb_path2class): should not use rb_eval_string().
* marshal.c (w_extended): should allow marshaling of object which
  is extended by named module.

* class.c (rb_make_metaclass): super may be T_ICLASS, need to skip.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 09:42:56 +00:00
michal 61ec0281a4 fix mem leaks (ruby-core:405, ruby-core:407)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 09:17:48 +00:00
nobu 1ec2805c4f * eval.c (rb_eval): overriding false constant with class/module
definition should be error.  (PR#327)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 04:15:50 +00:00
eban 8ed2c6fc8a * extmk.rb (create_makefile): add macro MAKEDIRS, INSTALL_PROG,
INSTALL_DATA.
* extmk.rb (create_makefile): support for building to any directory.
* extmk.rb (xsystem): move to mkmf.rb.
* mkmf.rb (xsystem): support for extmk.rb
* mkmf.rb ($CPP): remove '-E' option.  add CPPFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-04 16:52:53 +00:00
arai 0e7b1e2632 refined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-04 11:25:27 +00:00
matz 64901cd69b * class.c (rb_make_metaclass): obj.meta.super.meta should be equal
to obj.meta.meta.super (ruby-bugs-ja:PR#324).

* parse.y (yylex): the warning message "invalid
  character syntax" was never issued.

* marshal.c (r_bytes): do not use alloca (ruby-bugs:PR#382).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-04 06:37:39 +00:00
eban c10890f6d8 * extmk.rb: require mkmf.rb. remove duplicate methods.
use Config::CONFIG["FOO"] instead of @FOO@.
* mkmf.rb: extmk.rb support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-03 08:40:47 +00:00
matz 6f484e4930 * variable.c (rb_copy_generic_ivar): remove old generic instance
variable table if it existes.

	* class.c (rb_make_metaclass): metaclass of a metaclass is a
	  metaclass itself.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-03 05:20:14 +00:00
nobu 20254d4e13 * re.c (rb_reg_search): MatchData must be rb_cMatch. (ruby-bugs-ja:PR#319)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-02 14:04:19 +00:00
aamine 10c4364287 * gc.c (gc_sweep): does reclaim nodes in also compile time, if we can.
* ruby.c (load_file): omit GC if we can.
* parse.y (ruby_parser_stack_on_heap): new function.
* intern.h (ruby_parser_stack_on_heap): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-02 12:19:30 +00:00
eban 4c3dc77fe6 * config.guess: fixed for Linux/PPC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-01 06:58:09 +00:00
knu fb00e309f6 Add set.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 13:47:49 +00:00
H_Konishi 417231cdfe * ext/Win32API/Win32API.c (Win32API_Call): typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 12:02:04 +00:00
nobu 6e4ed1ffd3 * variable.c (rb_const_assign): st_delete() takes pointer to key.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 10:46:37 +00:00
nobu 09a27c5a90 commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 10:43:41 +00:00
nobu e855026500 * ext/Win32API/Win32API.c (Win32API_Call): RSTRING()->ptr may be
NULL.

* ext/nkf/nkf.c (rb_nkf_guess): ditto.

* ext/readline/readline.c (readline_s_set_completion_append_character):
  ditto.

* ext/socket/socket.c (sock_s_getaddrinfo, sock_s_getnameinfo):
  ditto.

* ext/tcltklib/tcltklib.c (ip_toUTF8, ip_fromUTF8): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 10:42:09 +00:00
H_Konishi b4ea040b31 * bcc32/MakeFile.sub (sitearch): add.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-29 14:36:29 +00:00
matz 40bc4f5ae4 * array.c (rb_ary_become): should not free ptr if it's shared.
* eval.c (rb_alias): prohibit making an alias named "allocate" if
  klass is a metaclass.

* string.c (rb_string_value_ptr): StringValuePtr() should never
  return NULL pointer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-29 09:08:18 +00:00
eban 3bf972993f * io.c (read_all): should use off_t instead of long.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-29 04:38:37 +00:00
nobu 3badfbf1d5 (ruby-bugs-ja:PR#296)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 16:00:34 +00:00
nobu 9208c74718 * marshal.c (r_object): yield loaded objects, not intermediates.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 15:58:35 +00:00
michal 5c70716bdc variable.c: Get rid of fix len buffer in rb_class_path (ruby-core:381)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 14:59:01 +00:00
nobu b961db7587 * io.c (appendline): data was lost when raw mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 14:36:38 +00:00
nobu 343f505fb8 * ext/stringio/stringio.c (strio_initialize): RSTRING(mode)->ptr
can be NULL.

* ext/stringio/stringio.c (strio_ungetc): fix buffer overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 10:14:06 +00:00
michal 29966e099c file.c: fix mem leak in rb_stat_init
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 09:25:07 +00:00
nobu 8790d9b76e * win32/win32.c (kill): negate pid under Win9x.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 08:56:25 +00:00
eban 3685a85b3d * configure.in (ar): don't check twice for ar.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 07:38:25 +00:00
matz 1a44a463af * string.c (rb_str_delete_bang): should check if str->ptr is 0.
* string.c (rb_str_squeeze_bang): ditto.

* string.c (rb_str_count): ditto.

* string.c (rb_str_lstrip_bang): ditto.

* string.c (rb_str_rstrip_bang): ditto.

* string.c (rb_str_intern): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 06:01:58 +00:00
usa c1454b3acb * win32/win32.h: define SIGINT and SIGKILL if not defined.
* win32/win32.c: remove definition of SIGINT and SIGKILL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-28 02:39:29 +00:00
nobu a13ebdb836 * ruby.c (require_libraries): prevent ruby_sorcefile from GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-27 11:00:24 +00:00
matz c45908e41f * file.c (rb_find_file): $LOAD_PATH must not be empty.
* file.c (rb_find_file_ext): ditto.

* range.c (range_eq): class check should be based on range.class,
  instead of Range to work with Range.dup.

* range.c (range_eql): ditto.

* class.c (rb_mod_dup): need to preserve metaclass and flags.

* object.c (rb_cstr_to_dbl): had a buffer overrun.

* marshal.c (w_class): integrate singleton check into a funciton
  to follow DRY principle.

* marshal.c (w_uclass): should check singleton method.

* object.c (rb_obj_dup): dmark and dfree functions must be match
  for T_DATA type.

* object.c (rb_obj_dup): class of the duped object must be match
  to the class of the original.

* re.c (rb_reg_quote): do not escape \t, \f, \r, \n, for they are
  not regular expression metacharacters.

* time.c (time_s_alloc): use time_free instead of free (null check,
  also serves for type mark).

* time.c (time_s_at): check dfree function too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-27 08:31:08 +00:00
wakou eaf7368732 * lib/cgi.rb (CGI#form): fix ruby-bugs-ja:PR#280, add default action.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-25 20:15:54 +00:00
nobu 941e43aacf * eval.c (call_trace_func): restore source file/line, as trace
function installed in required library with -r option can be
  called while parsing.  (ruby-bugs:PR#372)

* eval.c (module_setup): unused variable.  [ruby-core:00358]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-24 06:32:40 +00:00
akr 9c4a482229 * lib/time.rb (Time.rfc2822, Time#rfc2822): preserve localtimeness.
* lib/pp.rb: pretty_print_cycled is renamed to pretty_print_cycle.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-24 05:18:08 +00:00
eban 4b0f91401c * instruby.rb: arch -> sitearch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-23 15:24:03 +00:00
nobu de6c650f44 * eval.c (method_call): check receiver is defined.
* eval.c (umethod_call): removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-23 15:01:13 +00:00
eban fc8f412488 * configure.in: RUBY_SO_NAME is msvcrt-rubyXX on mswin32/mingw32.
* configure.in (sitearch): new var.
* mkconfig.rb, lib/mkmf.rb (sitearch): ditto.
* win32/Makefile.sub, win32/setup.mak (sitearch): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-23 08:18:19 +00:00
michal d576f30068 Int vs Long clenup (forgot ChangeLog)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 15:53:07 +00:00
matz c7c1384e60 * eval.c (rb_thread_cleanup): should not modify the global
variable curr_thread.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 08:30:09 +00:00
eban a7ed0fe4f9 * ChangeLog: typo fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 08:27:29 +00:00
eban 35ef113acf * configure.in: set ac_cv_func__setjump to "no" on Cygwin.
* configure.in: set ac_cv_func_crypt to "no" on MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 07:17:55 +00:00
H_Konishi 5738d62912 * replace of check EPIPE error(in getc()) rutine on bcc32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 13:03:22 +00:00
eban 80caadabe9 * file.c (rb_file_s_expand_path): accept drive letter on Cygwin.
* file.c (is_absolute_path): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 10:42:57 +00:00
matz c8c55db68a * io.c (rb_io_putc): output via rb_io_write().
* re.c (rb_reg_initialize_m): frozen check should be moved here
  from rb_reg_initialize().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 07:36:01 +00:00
nobu e0c5eed65c * misc/inf-ruby.el (inf-ruby-keys): ruby-send-definition
conflicted with ruby-insert-end.

* misc/inf-ruby.el (inferior-ruby-mode): compilation-minor-mode.

* misc/inf-ruby.el (ruby-send-region): send as here document to
  adjust source file/line.  [ruby-talk:47113], [ruby-dev:17965]

* misc/inf-ruby.el (ruby-send-terminator): added to make unique
  terminator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 10:07:06 +00:00
matz b818cdfaf3 * array.c (sort_2): comparison should be done as signed long.
* array.c (sort_2): should return int, not VALUE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 06:41:02 +00:00
matz ae23000c0e * array.c (sort_2): *a - *b may overflow.
* array.c (ary_new): len*sizeof(VALUE) may be a positive value.

* array.c (rb_ary_initialize): ditto.

* object.c (rb_class_allocate_instance): move singleton class
  check from rb_obj_alloc().

* re.c (rb_reg_initialize): should not modify frozen Regexp.

* ext/tcltklib/tcltklib.c (ip_init): allocation framework.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 05:56:09 +00:00
nobu 71a202fc01 particular symbol for win32_exception_list.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 03:41:00 +00:00
nobu 11e7d457d6 * eval.c (rb_thread_save_context, rb_thread_restore_context):
save/restore SEH chain on MS-Windows at thread switch.
  [ruby-win32:273]

* eval.c (win32_get_exception_frame, win32_set_exception_frame):
  added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 00:37:16 +00:00
eban 4f60a534cd * io.c (NOFILE): define NOFILE as 64 if not defined.
* signal.c (sighandler_t): rename to sh_t on dietlibc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 07:23:04 +00:00
nobu c27d662f50 * bignum.c (rb_cstr_to_inum): new decimal and octal string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 06:39:27 +00:00
nobu 2229b70615 * io.c (rb_io_fread): renamed from io_fread and made extern.
* marshal.c (r_bytes0): check if successfully read, use
  rb_io_fread() instead of fread() to be preemptive.
  (ruby-bugs-ja:PR#294, 295)

* rubyio.h (rb_io_fread): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 02:52:25 +00:00
nobu 3d923fb928 commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 23:00:10 +00:00
nobu e3f7536501 * eval.c (compile_error): must not clear ruby_sourcefile here.
(ruby-bugs:PR#364).

* eval.c (rb_longjmp): set ruby_sourcefile before making
  backtrace.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 22:58:45 +00:00
nobu 92ca6c7773 * eval.c (ruby_current_node) : added to set sourceline on demand.
* eval.c (error_pos, error_print, rb_longjmp, assign): set source
  file/line.

* eval.c (rb_eval): store current node instead of file/line, and
  preserve it at return.

* eval.c (module_setup): ditto.

* eval.c (struct thread): store node instead of file/line.

* eval.c (rb_thread_raise): ditto.

* intern.h (ruby_current_node): added.

* intern.h (ruby_set_current_source): added.

* parse.y (stmt, arg): not fix position of assignment.

* parse.y (node_assign): ditto.

* parse.y (yycompile): clear current node.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 11:49:40 +00:00
matz cf5d04f663 * hash.c (rb_hash_replace): should copy ifnone.
* hash.c (rb_hash_dup): should preserve HASH_PROC_DEFAULT and
  HASH_DELETED flags.

* hash.c (rb_hash_shift): shift from empty hash should not return
  its default proc.

* hash.c (rb_hash_default_proc): new method. [new]

* array.c (rb_ary_aref): no need for Bignum check.

* array.c (rb_ary_aset): explicit Bignum check removd.

* numeric.c (fix_aref): normalize bignum before bit-op.

* bignum.c (rb_big_rand): max may be Bignum zero.

* bignum.c (rb_cstr_to_inum): should normalize bignums, to avoid
  returning fixable bignum value.

* bignum.c (rb_uint2big): there should be no zero sized bignum.

* ext/extmk.rb.in: extmake() that works properly for both tkutil
  (tk/tkutil.so) and digest/sha1.

* hash.c (rb_hash_equal): should check HASH_PROC_DEFAULT too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-13 09:21:18 +00:00
knu 510c93caac * ruby.c (set_arg0): Correct the position of #endif.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 13:39:22 +00:00
matz 1f99d95729 * bignum.c (rb_big_cmp): use dbl2big() for Floats, instead of
big2dbl().

* bignum.c (Init_Bignum): rb_big_zero_p() removed.  There may be
  Bignum zero.

* eval.c (rb_call0): new argument added for original method name.
  preserve original method name in frame->orig_func.

* eval.c (is_defined): use frame->orig_func, not last_func.

* eval.c (rb_eval): ditto.

* eval.c (method_call): supply data->oid also to rb_call0().

* object.c (rb_class_allocate_instance): call rb_obj_alloc() when
  called from alias, thus invoke original "allocate".

* eval.c (remove_method): removing allocate from classes should
  cause NameError.

* hash.c (rb_hash_equal): should check default values.

* ext/socket/socket.c (s_recvfrom): update RSTRING len.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 07:39:12 +00:00
nobu 66f8f8691b * bignum.c (rb_big_cmp): raise for NaN. (ruby-bugs-ja:PR#284).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 07:21:25 +00:00
nobu 91d884b86e * eval.c (rb_eval): set line number from all nodes.
* eval.c (proc_to_s): show source file/line if available.

* marshal.c (r_object): register TYPE_BIGNUM regardless real type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-11 00:36:38 +00:00
eban e402358a33 * ext/Win32API/extconf.rb: check existence of <windows.h>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-09 04:36:46 +00:00
nobu 8f6b1e000a * lib/optparse.rb (String): must provide conversion block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-08 00:38:28 +00:00
nobu 8a7fbc6fec * lib/optparse.rb (OptionParser::Switch::parse_arg): require block
always.

* lib/optparse.rb (NilClass): must provide conversion block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 23:48:47 +00:00
nobu 11cfb7e0f4 * lib/optparse/time.rb: prior time.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 13:13:44 +00:00
nobu e20d6139f4 * optparse.rb (OptionParser::Completion::convert): returned all
values not first one.

* optparse.rb (OptionParser::Switch::parse): return values as is.

* optparse.rb (OptionParser::order): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 13:00:10 +00:00
nobu 0a85c65859 * lib/optparse/uri.rb: require standard uri module. thanks to
Minero Aoki.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 00:47:41 +00:00
aamine 30bc60cfe4 * ext/racc/cparse/cparse.c: reduce goto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 23:42:04 +00:00
usa fc2a1ad79f * string.c (rb_str_rindex): must return -1 if unmatched.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 06:20:43 +00:00
aamine cceff0f4b4 * MANIFEST: add lib/racc/parser.rb.
* ext/racc/cparse/cparse.c: code refine.
* ext/racc/cparse/MANIFEST: add depend.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-05 13:38:49 +00:00
nobu 14859cdf94 * ext/curses/curses.c: follow allocation framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-04 13:32:15 +00:00
nobu dfa40855bd * eval.c (rb_eval): set constant in cbase scope.
* eval.c (assign): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-03 12:27:33 +00:00
aamine 61eaf40b4a * ext/strscan/strscan.c: follow allocation framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-02 00:10:19 +00:00
matz 5e6634ce67 * parse.y (tokadd_string): ignore backslashed spaces in %w.
* enum.c (enum_find): do not use rb_eval_cmd(); should not accept
  a string for if_none.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-01 09:42:38 +00:00
matz 2b98e10419 * eval.c (rb_undef): undef should be done for klass, not ruby_class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-31 05:18:43 +00:00
nobu f94534efbc * misc/ruby-mode.el (ruby-accurate-end-of-block): restrict search
region.

* misc/ruby-mode.el (ruby-parse-partial): reversed wrong patch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 10:54:33 +00:00
nobu e1b56ea429 * misc/ruby-mode.el (ruby-accurate-end-of-block): incomplete block
caused infinite loop.

* misc/ruby-mode.el (ruby-parse-partial): returns nil unless
  delimiters found.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 08:23:31 +00:00
eban 7f2348488f * ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns
the same address always, so allocate string by ruby_strdup.

* win32/win32.c: prototype; rb_w32_open_osfhandle().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 06:34:27 +00:00
aamine fd98af4c65 * eval.c (rb_thread_join_m): add parameter type declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 00:13:56 +00:00
aamine 62395a335d * eval.c (localjump_error): add parameter type declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 23:34:43 +00:00