Commit graph

64552 commits

Author SHA1 Message Date
matz
54fdacb125 * class.c (rb_define_method): do not set NOEX_CFUNC if klass is
really a module, whose methods must be safe for reciever's type.

* eval.c (rb_eval): nosuper should not be inherited unless the
  overwritten method is an undef placeholder.

* parse.y (primary): allow 'when'-less case statement; persuaded
  by Sean Chittenden.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-07 19:18:16 +00:00
ttate
8e3721dfa8 Get rid of ineffective symbols, lines, constants and so on.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-07 16:42:07 +00:00
nobu
56cddaf082 2002-11-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-07 01:03:29 +00:00
nobu
2b82367a47 * eval.c (rb_yield_0): should enable trace for non-cfunc nodes.
[ruby-dev:18645]

* eval.c (blk_orphan): a block created in a different thread is
  orphan.  [ruby-dev:17471]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-07 01:03:08 +00:00
ttate
3a86596df1 fixed rb_ary2cary() to convert nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-05 13:11:29 +00:00
knu
0d572fc9b7 * ext/extmk.rb: Properly pass the given target to
make(1). [pointed out by eban]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-04 15:47:35 +00:00
usa
cf1575f17d * instruby.rb, lib/mkmf.rb: use CONFIG["ENABLE_SHARED"] instead of
checking whether CONFIG["configure-args"] includes "--enable-shared".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-04 11:06:03 +00:00
knu
6cff858589 Fix a bogon in the last commit. (reported by WATANABE Tetsuya in
[ruby-dev:18634])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 23:16:52 +00:00
knu
cdce29bf0f * Makefile.in, ext/extmk.rb, bcc32/Makefile.sub,
win32/Makefile.sub: Introduce better command line syntax
  (--make/--make-flags/--extstatic) to extmk.rb and instruby.rb.
  Previously such command as 'make -j3 install' with pmake doesn't
  fail.  Formerly extmk.rb was receiving "make -j 3 -j 3" via the
  command line arguments and just ended up recognizing the first
  "3" as destdir. [with help of usa]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 21:42:14 +00:00
knu
db9126b073 * lib/getopts.rb: Do not choke on characters that cannot be used
in a variable name.  Replace them with `_'.  Define a hash named
  $OPT for convenience.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 19:05:33 +00:00
matz
aae36756dc * object.c (Init_Object): added Object#object_id, new name for
Object#id. [new]

* object.c (rb_obj_id_obsolete): give warning for Object#id.

* numeric.c (fix_intern): added Fixnum#to_sym. [new]

* object.c (sym_to_sym): rename from Symbol#intern

* enum.c (enum_zip): added Enumerable#zip. [new]

* array.c (rb_ary_zip): added Array#zip.

* error.c (init_syserr): remove sys_nerr dependency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-03 11:04:35 +00:00
knu
c960141333 2002-10-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-01 21:44:47 +00:00
ttate
5918d2a914 Bugfix for Importable::callback.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-31 08:37:16 +00:00
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
454abc5185 2002-10-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-29 19:11:29 +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
eban
c87332937b * djgpp/*: sync with the latest.
* ext/extmk.rb, lib/mkmf.rb: flush $stdout.
* io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR):
  undef these macros on DJGPP.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 09:04:55 +00:00
eban
8a49ac945b 2002-10-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 05:05:02 +00:00
nobu
32ffd36c6f * moved a blank line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 02:16:55 +00:00
nobu
4f5f65b4f7 * fixed generator script name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-27 02:09:23 +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
2bda19cc0d 2002-10-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-25 19:33:05 +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
57d2e81af5 2002-10-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-24 12:59:07 +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
087671e87c 2002-10-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 10:17:51 +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
matz
9562813d33 README.EXT: grammer updates by Simon Cozens.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-23 08:20:35 +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
8209f4fb71 commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:11:54 +00:00
nobu
1a9c133987 2002-10-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:09:28 +00:00
nobu
e7ce523bb1 * 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@2974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-21 14:03:46 +00:00
akira
76e8a9e828 should raise InvalidComponentError if MAILTO_REGEXP could not match with @opaque.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-10-20 10:54:19 +00:00