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

1249 Коммитов

Автор SHA1 Сообщение Дата
matz ed18815109 * eval.c (rb_mod_public_method_defined, etc.): new methods:
public_method_defined?, private_method_defined?,
  protected_method_defined?

* object.c (rb_obj_public_methods): new method
  Object#public_methods.

* class.c (ins_methods_i): Object#methods should list both public
  and protected methods.

* class.c (rb_class_public_instance_methods): new method
  Module#public_instance_methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-30 08:04:32 +00:00
knu a2868ff651 * eval.c, file.c, gc.c, io.c, object.c, ruby.c, ruby.h, struct.c,
ext/socket/socket.c: differentiate long and int; use proper
  printf type specifiers and do casts where appropriate.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-29 21:35:28 +00:00
nobu 088276ac84 * eval.c (error_print, rb_longjmp, rb_thread_schedule): flush
error message.  [ruby-dev:18582]

	* eval.c (ruby_cleanup): added.  just clean up without exit.
	  [ruby-dev:18582]

	* eval.c (ruby_exec): added.  execute main evaluation tree without
	  exit.  [ruby-dev:18582]

	* intern.h: prototypes; ruby_cleanup, ruby_exec


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-29 19:11:17 +00:00
nobu 97eafefb4a * ext/extmk.rb (extmake): use dummy_makefile to create dummy
Makefile.

* lib/mkmf.rb (find_executable0): EXEEXT is optional.

* lib/mkmf.rb (dummy_makefile): make dummy Makefile content.

* lib/mkmf.rb (create_makefile): define EXTLIB replacing -l.

* lib/mkmf.rb ($bccwin): detect Borland make by help message.

* lib/mkmf.rb (CLEANINGS): common rules to clean.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-28 17:01:23 +00:00
eban e51578fd72 * djgpp/config.sed (@program_transform_name@): use `%', not `,'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 16:32:26 +00:00
eban c2ea598cf5 ChangeLog: commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 15:13:34 +00:00
H_Konishi ccfb459b7d ext/extmk.rb(78) : The unnecessary error when installing by bccwin32 is controlled.
lib/mkmf.rb(773) : Also in the case of bccwin32, the path was added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 14:05:25 +00:00
knu 20a8fa174c * node.h (nd_type): cast the value to int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-26 15:51:59 +00:00
knu 9e4cfb5da4 * ext/dbm/dbm.c (fdbm_indexes, fdbm_select): add a missing
argument and prevent coredump when a nonexistent key is
  specified.

* ext/sdbm/init.c (fsdbm_indexes, fsdbm_select): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-25 19:31:55 +00:00
knu 3da9449263 * eval.c, gc.c: adopt a common set of alloca() #ifdef's. This
fixes the build with Intel C Compiler for Linux.

* eval.c (rb_f_require): declare old_func with a real type, not
  just type modifiers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-25 18:39:30 +00:00
aamine 057f1f3020 * ChangeLog: add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 18:23:52 +00:00
aamine 42e292ae33 * string.c (rb_str_split_m): RSTRING(str)->ptr might become NULL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 17:54:53 +00:00
nobu d45f226da9 * configure.in (LIBPATHFLAG): avoid $ substitution.
[ruby-dev:18577]

* ext/extmk.rb (extmake): expand $srcdir.

* ext/win32ole/extconf.rb: should not override $CFLAGS, but
  append.

* lib/mkmf.rb (config_string): use given config hash.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 12:58:42 +00:00
nobu 9c33e18ca0 * bcc32/Makefile.sub (.rc.res): directory part may be empty in Borland make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 05:31:25 +00:00
nobu 709c9e1cb5 * lib/mkmf.rb (create_makefile): site-install target for backward compatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 18:52:29 +00:00
nobu 236323b77c * lib/mkmf.rb (init_mkmf): libdir prior to topdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 18:21:54 +00:00
nobu 6009002c58 * configure.in (LIBPATHFLAG): should escape $. [ruby-dev:18572]
* mkconfig.rb: never substute escaped $$.

* instruby.rb: not install LIBRUBY_SO unless enable-shared.
  [ruby-dev:18569]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 17:40:36 +00:00
nobu d4f2f6a7f7 * eval.c (rb_eval): added NODE_DSYM, symbol literal with
interpolation.

* node.h: ditto.

* intern.h: prototypes; rb_is_junk_id, rb_str_dump, rb_str_intern

* object.c (sym_inspect): escape and quote for non-alphanumeric
  symbols.

* parse.y (dsym, tokadd_string, yylex): extended symbol literals.

* parse.y (rb_is_junk_id): added.

* string.c (rb_str_dump, rb_str_intern) : make extern.

* lib/mkmf.rb (create_makefile): deffile should be removed by
  distclean, not clean.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 10:17:30 +00:00
eban d66da40534 * lib/mkmf.rb (init_mkmf): add dir_config("opt").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 14:58:59 +00:00
H_Konishi 57a6839081 *bcc32/configure.bat : The command line when calling setup.mak is corrected.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 10:54:11 +00:00
nobu 6073c68242 * ext/extmk.rb (extmake): add install: target to dummy Makefile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 06:24:19 +00:00
nobu db1c27bb37 * instruby.rb: add dryrun mode.
* ext/extmk.rb (extmake): avoid Borland make's quirk behavior.

* lib/mkmf.rb (link_command): opt is not a makefile macro.

* bcc32/Makefile.sub ($(LIBRUBY_SO) $(LIBRUBY)): EXTOBJS were not
  linked.

* bcc32/Makefile.sub (ext/extinit.obj): missing.

* bcc32/Makefile.sub (TRY_LINK): options have to place before any
  non-option arguments.

* win32/Makefile.sub (TRY_LINK): need -link and -libpath options.

* bcc32/Makefile.sub, win32/Makefile.sub (RANLIB): logical
  operator never work with command.com.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-22 04:19:26 +00:00
eban 79c8b98fac * configure.in (RUBY_CPPOUTFILE): fix cache file bug.
* lib/mkmf.rb (link_command): put 'opt' after conftest.c for
  static linking.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 16:09:09 +00:00
nobu b9ecdfaa3d * configure.in (XCFLAGS): CFLAGS to comile ruby itself.
* configure.in (LIBEXT): suffix for static libraries.

* configure.in (LIBPATHFLAG): switch template to specify library
  path.

* configure.in (LINK_SO): command to link shared objects.

* configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
  files.

* configure.in (EXPORT_PREFIX): prefix to exported symbols on
  Windows.

* configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
  libraries, macros and headers used in common.

* configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
  excutable name.

* Makefile.in (CFLAGS): append XCFLAGS.

* Makefile.in (PREP): miscellaneous system dependent files.

* Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.

* Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.

* Makefile.in (MAKEFILES): depend on *.in and config.status.

* Makefile.in (parse.c): replace "y.tab.c" with actual name for
  byacc.

* ext/extmk.rb, lib/mkmf.rb: integrated.

* ext/extmk.rb: propagate MFLAGS.

* ext/extmk.rb (extmake): make dummy Makefile to clean even if no
  Makefile is made.

* lib/mkmf.rb (older): accept multiple file names and Time
  objects.

* lib/mkmf.rb (xsystem): split and qoute.

* lib/mkmf.rb (cpp_include): make include directives.

* lib/mkmf.rb (try_func): try wheather specified function is
  available.

* lib/mkmf.rb (install_files): default to site-install.

* lib/mkmf.rb (checking_for): added.

* lib/mkmf.rb (find_executable0): just find executable file with
  no message.

* lib/mkmf.rb (create_header): output header file is variable.

* lib/mkmf.rb (create_makefile): separate sections.

* lib/mkmf.rb (init_mkmf): initialize global variables.

* win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.

* bcc32/Makefile.sub (ARCH): fixed to i386.

* win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
  link EXTOBJS.

* ext/dl/extconf.rb: use try_cpp to cross compile.

* ext/dl/extconf.rb: not modify files in source directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:17:44 +00:00
nobu 8232622071 * parse.y (value_expr0): allow return/break/next/redo/retry in rhs
of logical operator.  [ruby-dev:18534]

* parse.y (remove_begin): eliminate useless NODE_BEGIN.
  [ruby-dev:18535]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-18 14:13:41 +00:00
knu 6dfb5aa6ac * hash.c, eval.c: Use (*_NSGetEnviron()) instead of environ on
Darwin for namespace cleanness.  [ruby-core:00537]

* dln.c (dln_load): Fix Darwin support that has been disabled and
  switch to using it on Darwin instead of the system dlopen().
  [ruby-core:00541]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-17 16:13:44 +00:00
nobu 020caa3fc8 * marshal.c (w_byten): added; write n bytes from s to arg.
* marshal.c (dump): flush buffered data.

* marshal.c (marshal_dump, r_byte, r_bytes0, marshal_load): unify
  marshaling I/O.  [ruby-talk:53368]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-17 10:20:52 +00:00
matz 66d1582c07 * object.c (rb_str_to_dbl): RString ptr might be NULL.
* object.c (rb_cstr_to_dbl): p pointer might be NULL.

* bignum.c (rb_str_to_inum): RString ptr might be NULL.

* bignum.c (rb_cstr_to_inum): str pointer might be NULL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-17 07:27:00 +00:00
aamine e6c0ea3e09 * lib/fileutils.rb: stat.blksize might become 0/nil.
* lib/fileutils.rb: change coding style.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-17 06:24:42 +00:00
nobu 67f14c022b * sprintf.c (rb_f_sprintf): disallow mixed usage of numbered and
unnumbered arguments.  [ruby-dev:18531]
  get rid of memory leak at exception.  [ruby-core:00460]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-16 13:44:19 +00:00
nobu 2ba2dba5be * variable.c (rb_global_entry): not add global entry until
initialized to avoid accessing it while GC.  [ruby-dev:18514]

* variable.c (rb_alias_variable): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-16 04:43:28 +00:00
nobu 1de50c518b * win32/win32.c (rb_w32_putc): wrong condition to fill or flush on
bccwin32.  [ruby-win32:408]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-12 14:47:07 +00:00
nobu 31ab445fea * win32/win32.c (rb_w32_fclose, rb_w32_close): use closesocket()
for socket.  [ruby-win32:382]

* win32/win32.c (StartSockets): set NtSocketsInitialized.

* win32/win32.h: prototypes; rb_w32_fclose, rb_w32_close


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-10 21:07:16 +00:00
nobu 4cdd83f686 * gc.c (ruby_xmalloc, ruby_xrealloc): restrict total allocation
size according to memories consumed by live objects.
  [ruby-dev:18482]

* gc.c (gc_sweep): estimate how live objects consume memories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-10 15:26:58 +00:00
eban 129d05ae8d * ext/tcltklib/stubs.c (ruby_tcltk_stubs): fix memory leak.
[ruby-dev:18478]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-10 08:30:52 +00:00
nobu 99ebeaee0a * lib/weakref.rb (WeakRef::@@final): use Hash#delete.
* lib/weakref.rb (WeakRef::__getobj__): examin if alive or not by
  ID_REV_MAP to deal with recycled object.  [ruby-dev:18472]

* lib/weakref.rb (WeakRef::weakref_alive?): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-10 07:00:07 +00:00
nobu ca7549b203 * gc.c (gc_sweep): also adjust heaps_limits when free unused heap
page.  [ruby-core:00526]

* io.c (io_fflush): condition to retry can occur.

* io.c (io_write): returned 0 wrongly if no error occurred.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-09 06:12:54 +00:00
nobu 00882bfe35 * io.c (io_write): must check returned value from fwrite() before
test with ferror().  (ruby-bugs-ja:PR#350)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-08 05:34:45 +00:00
akr e2d1e7cfe4 * lib/prettyprint.rb (PrettyPrint.singleline_format): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-08 01:58:34 +00:00
matz df2d56c03f * bignum.c (bigdivrem): bignum zero's len should not be 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-07 07:44:18 +00:00
matz 7da40cbcb8 * bignum.c (bigdivmod): wrong condition check for Bignum zero.
* bignum.c (Init_Bignum): need to add Bignum#div.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-07 07:16:12 +00:00
aamine 0944a05fb9 * eval.c (rb_load): should not pass block to the loaded file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-05 15:46:24 +00:00
matz a2c9020808 * bignum.c (rb_big_rshift): num should be initialized by carry
bits if x is negative.

* bignum.c (bigdivmod): len for bignum zero is 1, not 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 17:54:29 +00:00
nobu 1e3062ede1 * eval.c (rb_thread_interrupt, rb_thread_signal_raise): no need to
save dead thread context. (same as [ruby-dev:18322])
  (ruby-bugs-ja:PR#349)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-04 11:32:16 +00:00
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 e6bb432c83 * gc.c (Init_stack): prefer address of argument rather than local
variable to initialize rb_gc_stack_start.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-03 11:24:24 +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
nobu 38db4d23c5 (_o_)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 15:34:09 +00:00
nobu 55af6c2f96 * lib/delegate.rb (Delegator::initialize): use Object#class
instead of deprecated Object#type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 15:32:45 +00:00
nobu 3a76a40196 * configure.in (RUBY_CHECK_IO_NEED_FLUSH): check whether fflush()
is needed.

* io.c (flush_before_seek): flush before seek if buffered data
  may remain.

* io.c (rb_io_check_readable): flush if the last operation was
  write.

* io.c (rb_io_check_writable): flush if the last operation was
  read.

* rubyio.h (FMODE_RBUF): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-02 14:59:25 +00:00