Commit graph

7441 commits

Author SHA1 Message Date
eban
5c57848093 * configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld.
* ext/extmk.rb (create_makefile): add -Wl,-no-undefined to $DLDFLAGS
  on Linux if GNU ld is used and --enable-shared is specified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 05:18:05 +00:00
nobu
4b6dffad02 * bcc32/mkexports.rb: to work on cygwin via telnet.
[ruby-win32:358]

* ext/tcltklib/tcltklib.c (ip_invoke): requires command name
  argument.  [ruby-dev:18438]

* eval.c (ruby_init, ruby_options): Init_stack() with local
  location.  (ruby-bugs-ja:PR#277)

* eval.c (rb_call0): disable trace call.  [ruby-dev:18074]

* eval.c (eval, rb_load): enable trace call.  [ruby-dev:18074]

* eval.c (rb_f_require): set source file name for extension
  libraries.  [ruby-dev:18445]

* ruby.c (translate_char): translate a character in a string;
  DOSISH only.  [ruby-dev:18274]

* ruby.c (ruby_init_loadpath): added argv[0] handling under
  Human68K.  [ruby-dev:18274]

* ruby.c (proc_options): translate directory separator in $0 to
  '/'.  [ruby-dev:18274]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-03 11:20:31 +00:00
ttate
0c767620cd Improve the description.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 14:28:40 +00:00
nobu
71c41cf5a5 * io.c (rb_io_wait_readable): handle retryable errors.
* io.c (rb_io_wait_writable): ditto.

* ext/socket/socket.c (bsock_send): ditto.

* ext/socket/socket.c (s_recvfrom): ditto.

* ext/socket/socket.c (s_accept): ditto.

* ext/socket/socket.c (udp_send): ditto.

* ext/socket/getaddrinfo.c (afdl): made private structures constant.

* rubyio.h: prototype; rb_io_wait_readable(), rb_io_wait_writable().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 14:13:58 +00:00
matz
ab6b478615 * commit miss; and tcltklib fix too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 06:02:17 +00:00
nobu
c691d09dc1 * ext/socket/socket.c (init_sock): no need for special finalizer,
socket descriptor is no longer duplicated in 1.7.
	  [ruby-talk:50732]

	* win32/win32.c, win32/win32.h (rb_w32_fddup, rb_w32_fdclose):
	  delete.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-01 15:26:39 +00:00
matz
e4f26da2d9 * range.c (range_check): need no Fixnum check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-01 08:14:03 +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
knu
07188bbee2 Update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-27 13:36:11 +00:00
knu
5c57a96f81 Update the MANIFEST files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-27 13:21:19 +00:00
knu
35e4d1319b Add a knob WITH_BUNDLED_ENGINES to test.sh.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 17:55:16 +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
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
michal
8a1e574cdb make it compile
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-24 06:01:31 +00:00
michal
f3376759ab cleanup for curses, gdbm [ruby-core:502], [ruby-core:503]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-24 06:00:03 +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
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
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
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
d76fdc013b removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-08 09:08:30 +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
matz
3a0f79267e = should be ==
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-05 02:11:41 +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
michal
869159006a Fix rb_digest_base_become (ruby-core:428)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-04 09:21:07 +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
suke
674f0aa478 win32ole.c(fole_each) : ensure to release IEnumVARIANT interface.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-01 08:14:11 +00:00
eban
e161877012 ext/socket/socket.c (sock_s_getaddrinfo): add strcmp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-30 14:34:57 +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
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
ttate
ee9f1463df Merged Nakada's patch [ruby-dev:18097].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-29 13:00:22 +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
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
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
suke
8d330378ca ole_invoke: retry when calling by reference is fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-13 12:07:33 +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
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
suke
d1bdb139ea * win32ole.c(WIN32OLE#ole_methods): list up all methods.
* win32ole.c(WIN32OLE#ole_method_help): get all method information.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-10 12:19:16 +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
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
nobu
616a47c579 typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 06:20:07 +00:00
eban
20479bfd81 * ext/racc/cparse/cparse.c (parse_main): avoid GCC 3 warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 04:35:00 +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