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

88 Коммитов

Автор SHA1 Сообщение Дата
matz f0221db462 * re.c (rb_reg_expr_str): need to process backslashes properly.
* object.c (rb_any_to_a): declare Object#to_a to be obsolete.

* object.c (rb_Array): do not convert nil into [] automagically.

* object.c (rb_Integer): use "to_int" instead of
  "to_i". [experimental]

* object.c (nil_to_f): new method.

* object.c (rb_Integer): Symbols and nil should cause error.

* object.c (rb_Float): nil should cause error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-28 14:42:46 +00:00
nobu 9020b60483 * lib/mkmf.rb (create_makefile): get rid of nested string.
* lib/mkmf.rb (install_rb): site-install didn't work properly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-24 07:34:30 +00:00
nobu 33061b45b4 * eval.c (rb_eval): NODE_EVSTR is no longer used.
* eval.c (eval): not enforce to make assigned variables dynamic.

* parse.y (string): split rules to strings/xstring/regexp to allow
  arbitrary statements inside string interpolation.

* parse.y (here_document): splitted into three phases.

* parse.y (literall_append, literal_concat): added.
  append/concatinate string literals.

* sample/test.rb (valid_syntax): adjust line number for BEGIN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-24 07:20:42 +00:00
eban fa1f7befa9 * ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem is called.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-19 05:54:24 +00:00
eban a2020f907a * lib/mkmf.rb: typo fix(RUBY_PLAT_FORM -> RUBY_PLATFORM).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-13 02:21:53 +00:00
H_Konishi d0b3651906 new platform [bccwin32] merged.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-11 01:27:48 +00:00
knu 323af7e264 * lib/mkmf.rb: exclude topdir from the system configuration
section and prevent it from being overridden.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-04 21:57:32 +00:00
eban 2b4ad0cc22 * ext/extmk.rb.in, lib/mkmf.rb: use 'do...end' instead of '{}' for Borland make.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-02 09:31:29 +00:00
matz e3a8c62630 * io.c (rb_io_mode_flags): both 'r+b' and 'rb+' should be allowed.
* io.c (rb_io_mode_modenum): ditto.

* gc.c (rb_memerror): rename from mem_error, and exported.

* gc.c (Init_GC): pre-allocate NoMemoryError instance.

* object.c (convert_type): error message changed from "failed to
  convert" to "cannot convert", since it does not try to convert
  if an object does not respond to the converting method.

* eval.c (block_pass): convert Method to Proc using
  rb_check_convert_type().

* object.c (rb_check_convert_type): always convert T_DATA

* eval.c (rb_thread_cleanup): should not terminate main_thread by
  Fatal error.

* regex.c (is_in_list): need to not exclude NUL and NEWLINE.

* re.c (rb_reg_expr_str): wrong backslash escapement.

* re.c (rb_reg_expr_str): do not escape embedded space
  characters.

* marshal.c (w_object): T_DATA process patch from Joel VanderWerf
  <vjoel@PATH.Berkeley.EDU>.  This is temporary hack; it remains
  undocumented, and it will be removed when marshaling is
  re-designed.

* marshal.c (r_object): ditto.

* numeric.c (num_step): Integer#step is moved to Numeric#step;
  Fixnum#step is merged into this method.

* numeric.c (int_dotimes): Fixnum#times is merged.

* numeric.c (int_upto): Fixnum#upto is merged.

* numeric.c (int_downto): Fixnum#downto is merged.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-24 04:54:16 +00:00
nobu b596fbbc37 * ext/stringio/stringio.c (strio_mark): must check if ptr is NULL
first.  [ruby-talk:38873]

* lib/mkmf.rb (create_makefile): should print depend file when
  make is other than nmake.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-23 16:22:25 +00:00
usa ad8dbab888 * ext/extmk.rb.in (create_makefile): use `{$(srcdir)}' directive instead
of `$(srcdir)/' when including depend file.

* lib/mkmf.rb (create_makefile): add `{$(srcdir)}' when including depend
  file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-23 15:43:26 +00:00
eban 512db243d7 * configure.in: cleanup for autoconf 2.5x.
* configure.in: use gcc -shared instead of dllwrap on Cygwin/MinGW.
* ext/extmk.rb, lib/mkmf.rb: get rid of "--def=".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-19 07:39:40 +00:00
nobu afc4cd48d1 * lib/mkmf.rb (try_link0): need expand macro in command, sync with
ext/extmk.rb.in.

* lib/mkmf.rb (try_cpp): ditto.

* lib/mkmf.rb (egrep_cpp): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-09 04:43:12 +00:00
matz 1c6a8e4deb * Makefile.in (CPPFLAGS): remove @includedir@.
* lib/mkmf.rb (create_makefile): ditto.

* ext/extmk.rb.in (create_makefile): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-02 06:48:45 +00:00
ttate edf4c88f79 mkmf.rb: files[0,1] == "." -> files[0,2] == "./"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-01 17:42:32 +00:00
ttate 46a7493b6c lib/mkmf.rb: install any files using $INSTALLFILES. (from [ruby-dev:16683])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-04-01 15:01:56 +00:00
nobu 014c5da903 * lib/mkmf.rb (create_makefile): default FLAGS to empty strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-29 11:25:01 +00:00
nobu 09651f0431 * lib/mkmf.rb (arg_config): should use Shellwords::shellwords like
ext/extmk.rb.in.

* lib/mkmf.rb (enable_config): default had priority over command
  line options and configure_args.

* lib/mkmf.rb: support autoconf 2.53 style variables from
  environment.

* lib/mkmf.rb: add directory options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-29 07:42:20 +00:00
nobu 3d51761abd * lib/mkmf.rb (dir_config): prior --with flag.
* lib/mkmf.rb (arg_config): avoid special variables for
  font-lock-mode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-31 12:03:08 +00:00
eban 167dd9c933 * lib/mkmf.rb (create_makefile): add -I. to CPPFLAGS.
* lib/mkmf.rb (create_makefile): srcdir support(.def and depend file).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-01-02 14:42:01 +00:00
eban 69b463d9a3 * ext/extmk.rb.in, lib/mkmf.rb (have_library): print yes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-29 16:34:01 +00:00
eban b8c26d48bc * ext/extmk.rb.in, lib/mkmf.rb (have_library): accept -lm
unconditionally on mswin32/mingw32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-29 16:10:24 +00:00
nobu b7a58b0650 * lib/mkmf.rb (with_destdir): new.
* lib/mkmf.rb: prefix target directories with $(DESTDIR) all.

* lib/mkmf.rb: no need to mkdir $(libdir)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-20 16:23:27 +00:00
usa 22d2d65d6f * ext/extmk.rb.in: add -Wl,-R flags to DLDFLAGS on netbsdelf.
* lib/mkmf.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-06 09:55:31 +00:00
usa e5de410caf * win32/win32.c (NtCmdGlob): avoid VC++ warning.
* lib/mkmf.rb: add -I$(srcdir) to CPPFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-08-15 18:51:58 +00:00
knu e54216b740 * ext/extmk.rb.in, lib/mkmf.rb: dig the target subdirectory for
lib/* files properly in case of create_makefile("dir/name").


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-24 10:29:17 +00:00
knu 9e214f30c4 * ext/extmk.rb.in, lib/mkmf.rb: introduce a couple of new make
variables: CLEANFILES and DISTCLEANFILES.  They'd typically be
  defined in a file "depend".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-22 12:24:12 +00:00
usa 9078b69592 * ext/extmk.rb.in: modify RM macro because command.com/cmd.exe don't
recognize single quotation as quote character.

* lib/mkmf.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-17 02:13:13 +00:00
knu c0a9b71aeb * lib/mkmf.rb: use File::split to split a target into a prefix and
a module name.  This also works around a just found bug of
  String#rindex.

* ext/extmk.rb.in: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-13 14:19:28 +00:00
eban f1b3c51701 * lib/mkmf.rb: modify RM macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-09 08:10:26 +00:00
knu fc1f22d5a8 * lib/mkmf.rb: distclean should remove mkmf.log as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-07-03 15:02:20 +00:00
knu 83b2db9ea7 * lib/mkmf.rb: target_prefix is only for installation, not for
build.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-12 05:25:04 +00:00
usa a5c0e5a382 * ext/extmk.rb.in: Use -F and -T for mswin32 because cl.exe doesn't support -o officially and cl.exe considers that *.cc and *.cxx are OBJs.
* lib/mkmf.rb: ditto.

* win32/Makefile.sub: Use del instead of rm. All these changes are derived from Nobuyoshi Nakada's patch. Thanks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-09 07:41:44 +00:00
eban 21524a3fc0 * ext/extmk.rb.in, lib/mkmf.rb (xsystem): write log file.
print command line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-05 04:54:52 +00:00
matz 4cd1cd7201 * ruby.c (proc_options): unexpected SecurityError happens when -T4.
* regex.c (re_compile_pattern): * \1 .. \9 should be
  backreferences always.

* regex.c (re_match): backreferences corresponding to
  unclosed/unmatched parentheses should fail always.

* string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new]

* string.c (rb_str_append): ditto.

* string.c (rb_str_buf_cat): remove unnecessary check (type,
  taint, modify) to gain performance.

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_finish): removed.

* string.c (rb_str_buf_new): buffering string function. [new]

* string.c (rb_str_buf_append): ditto.

* string.c (rb_str_buf_cat): ditto.

* string.c (rb_str_buf_finish): ditto.

* time.c (make_time_t): local time adjustment revised.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-30 09:10:30 +00:00
knu 0eea0bf571 * lib/mkmf.rb (xsystem): make a temporary fix to get $(...) macros
properly expanded on a command execution.

* ext/extmk.rb.in (xsystem): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-17 20:23:08 +00:00
knu 156b183551 * lib/mkmf.rb: unbreak "make install". lib/* must be installed
under $rubylibdir, not under $libdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-17 18:50:50 +00:00
matz cc043890f8 * bignum.c (bigdivrem): access boundary bug.
* marshal.c (w_object): prohibit dumping out singleton classes.

* object.c (rb_mod_to_s): distinguish singleton classes.

* variable.c (rb_class2name): it's ok to reveal NilClass,
  TrueClass, FalseClass.

* eval.c (rb_yield_0): preserve and restore ruby_cref as well.

* eval.c (is_defined): core dumped during instance_eval for
  special constants.

* eval.c (rb_eval): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-11 05:24:59 +00:00
matz 13cbec33c1 * parse.y (arg): "||=" should not warn for uninitialized instance
variables.

* eval.c (rb_eval): ditto.

* eval.c (eval): preserve and restore ruby_cref as well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-07 09:26:29 +00:00
knu 4dfc822aec * ext/extmk.rb.in, lib/mkmf.rb: (dir_config) do not add the
specified include directory if already included in $CPPFLAGS.

* ext/extmk.rb.in, lib/mkmf.rb: (dir_config) return a more useful
value, [include_dir, lib_dir].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-04-24 06:21:58 +00:00
eban e2de605439 * ext/extmk.rb.in (create_makefile): create def file only if
it does not yet exist.
* lib/mkmf.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-04-03 01:16:14 +00:00
knu 65579c6b31 * ext/extmk.rb.in, lib/mkmf.rb: add C++ rules in addition to C
rules for the mswin32 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-28 14:47:44 +00:00
knu 03f06165b8 * ext/extmk.rb.in, lib/mkmf.rb: move C++ rules to the right place.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-28 10:35:40 +00:00
matz e502549be1 * io.c (argf_seek_m): wrong calling sequence of rb_io_seek().
* parse.y (cond0): no special treatment of string literal in
  condition.

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

* configure.in: check hypot availablility.

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

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

* parse.y (warning_unless_e_option): ditto.

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

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

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

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

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

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 05:45:13 +00:00
eban 8fc5876485 * lib/mkmf.rb (create_makefile): save/restore $libs and $LIBPATH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-12 10:20:01 +00:00
eban 118ff27661 * lib/mkmf.rb (install_rb): fix handling of destination path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-10 16:03:56 +00:00
matz df2d69b49a * eval.c (proc_call): should not modify ruby_block->frame.iter
based on ruby_frame->iter altered by PUSH_ITER().

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

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

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-26 05:29:06 +00:00
eban bc714fb4f5 lib/mkmf.rb (create_makefile): add srcdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-08 13:23:48 +00:00
matz 971a4d94f0 Mon Jan 15 16:00:07 2001 Yukihiro Matsumoto <matz@ruby-lang.org>
* pack.c (pack_unpack): should check associated pointer packed by
	  pack("P").  restriction added.

Sun Jan 14 21:49:28 2001  Koji Arai  <JCA02266@nifty.ne.jp>

	* sprintf.c (rb_f_sprintf): simple typo.  binary base should be 2,
	  not '2'.

	* re.c (rb_reg_s_last_match): should explicitly return nth match.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-15 07:01:00 +00:00
eban 818b4db148 eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-01-09 07:32:00 +00:00