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

7418 Коммитов

Автор SHA1 Сообщение Дата
akr 46043b2294 * eval.c (GCC_VERSION_BEFORE): check __INTEL_COMPILER.
Intel C++ Compiler defines __GNUC__.
  http://www.intel.com/software/products/compilers/clin/docs/ug_cpp/lin1077.htm


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-08 05:21:17 +00:00
eban 990d4c3fbe * 2006-01-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-08 04:25:14 +00:00
akr 5695c588c0 the bug was FreeBSD specific.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-08 04:14:11 +00:00
eban 94fc5c9878 * 2006-01-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-07 06:45:14 +00:00
nobu b1860ba7dc * parse.y (singleton): get rid of segfault on syntax error.
fixed: [ruby-core:07070]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-07 06:41:24 +00:00
akr 199ef57934 * eval.c (rb_fd_isset): compare the result of FD_ISSET with 0 to
avoid BSD bug.  BSD defines FD_ISSET as just a bitmap of unsigned
  long.  So returning the value from rb_fd_isset discards upper
  32bits on LP64 environment.
  http://www.freebsd.org/cgi/query-pr.cgi?pr=ia64/91421


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-06 21:28:54 +00:00
eban 969519f164 * 2006-01-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-05 18:06:51 +00:00
akr d08d6a0d14 avoid "left-hand operand of comma expression has no effect" warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-05 17:51:00 +00:00
akr 842b4d7d9a * configure.in: don't force getcontext on IA64.
* eval.c (ruby_setjmp): add an argument for just before getcontext.
  (THREAD_SAVE_CONTEXT): call rb_thread_save_context just
  before getcontext.
  [ruby-dev:28205]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-05 17:26:23 +00:00
eban 1669ac380e * 2006-01-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-05 05:32:58 +00:00
ocean 69981b5348 ANSI styled
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-05 05:29:48 +00:00
eban b81154cbdf * 2006-01-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-03 07:21:01 +00:00
akr 7ac4e60f08 some more typos fixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-03 07:14:28 +00:00
akr 238b52e1e2 fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-03 06:45:16 +00:00
eban 2b6231b940 * 2006-01-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-01 06:50:37 +00:00
akr 861e7f2766 fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-01 06:35:54 +00:00
akr 40e0fa4c1e * missing.h (isnan): avoid macro expantion
"extern int isinf(double);" to
  "extern int ((sizeof(double)==sizeof(float))?_Isinff(double):_Isinf(double));" on
  HP-UX.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-01 06:34:48 +00:00
ocean 88a3caaafe * win32/win32.c (rb_w32_seekdir): should not segfault even if passed
the location which rb_w32_telldir didn't return. (and should change
  `bits' position) [ruby-core:7035]

* win32/dir.h: ditto. (stores `loc' instead of `bitpos')

* test/ruby/test_dir.rb: added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-01 05:49:01 +00:00
nobu a5e6541ad6 * eval.c (rb_thread_save_context): should not recycle scope object used
in a thread.  fixed: [ruby-dev:28177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-31 13:57:36 +00:00
ocean a711b321b7 * ext/syck/rubyext.c: attribute name was truncated with Rev1.64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-31 10:57:06 +00:00
eban 12cb36f9bb * 2005-12-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-31 05:20:09 +00:00
ocean 162338d755 * lib/generator.rb: (Generator#initialize): should kill @loop_thread
before starting new thread. (occurs when called via Generator#rewind)
  [ruby-dev:28184]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-31 02:56:46 +00:00
ocean eaa1cca601 Sorry again, incorrent exception propagation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 10:17:39 +00:00
ocean c0c75769b6 Sorry, reverted. Mutex is damn slow.....
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 09:57:49 +00:00
ocean 2c1706fffb * lib/generator.rb: uses Mutex instead of Thread.critical.
[ruby-dev:28184]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 09:29:07 +00:00
nobu dc94d09ad5 * win32/Makefile.sub: VC++8 support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 09:23:15 +00:00
nobu cd5cd3c672 * gc.c (garbage_collect): mark objects refered from aborting threads.
[ruby-dev:28190]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 09:15:56 +00:00
ocean e052495637 * lib/generator.rb: (Generator#initialize) ensured to stop @loop_thread.
Mr. Tanaka pointed out one Thread.pass is not enough. [ruby-dev:28185]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 06:23:25 +00:00
ocean 5f82802aec * lib/generator.rb: (Generator#initialize) fixed dead lock. this occured
when end? was called before @loop_thread was stopped. [ruby-core:7029]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30 03:24:18 +00:00
akr 2b1319b03a declare rb_gc_abort_threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 17:11:28 +00:00
akr 5b8e80e9eb unused function uscore_get removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 17:03:27 +00:00
akr 8733060106 avoid a GC problem with RUBY_ALWAYS_GC= ./ruby -e ''.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 16:19:44 +00:00
ocean 0cb24bf1b9 * lib/generator.rb: should work with another thread. (more robust code)
[ruby-dev:28177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 16:08:44 +00:00
eban 84dd697417 * 2005-12-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 15:53:16 +00:00
nobu fe3cba8e6f * eval.c (rb_gc_mark_threads): keep unmarked threads which won't wake
up alone, and mark threads in the loading table.  [ruby-dev:28154]

* eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked
  threads.  [ruby-dev:28172]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 14:59:55 +00:00
akr 6779556b23 fix "-e:1: undefined method `sub' for main:Object (NoMethodError)"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 14:54:13 +00:00
matz de3bff164c * eval.c (rb_mod_define_method): should save safe_level in the
proc object.  [ruby-dev:28146]

* test/drb/drbtest.rb (DRbService::self.ext_service): increase
  timeout limit.  a patch from Kazuhiro NISHIYAMA
  <zn at mbf.nifty.com>. [ruby-dev:28132]

* eval.c (ev_const_get): fixed a bug in constant reference during
  instance_eval.  [yarv-dev:707]

* eval.c (ev_const_defined): ditto.

* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from
  Joel VanderWerf <vjoel at path.berkeley.edu>.
  [ruby-talk:165285] [ruby-core:6995]

* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from
  Kailden <kailden at gmail.com>.  [ruby-core:06984]

* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
  leak.

* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
  leak by explicit symbol allocation.

* lib/delegate.rb (Delegator::method_missing): should delegate
  block as well.

* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
  use Tempfile.  A fix from Zev Blut <rubyzbibd at ubit.com>.
  [ruby-core:06076]

* string.c: remove global functions work on $_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 12:05:16 +00:00
matz e5226ea394 * eval.c (rb_mod_define_method): should save safe_level in the
proc object.  [ruby-dev:28146]

* test/drb/drbtest.rb (DRbService::self.ext_service): increase
  timeout limit.  a patch from Kazuhiro NISHIYAMA
  <zn at mbf.nifty.com>. [ruby-dev:28132]

* eval.c (ev_const_get): fixed a bug in constant reference during
  instance_eval.  [yarv-dev:707]

* eval.c (ev_const_defined): ditto.

* lib/yaml.rb (YAML::add_domain_type): typo fixed.  a patch from
  Joel VanderWerf <vjoel at path.berkeley.edu>.
  [ruby-talk:165285] [ruby-core:6995]

* ext/digest/sha2/sha2.c (ULL): support AIX C.  a patch from
  Kailden <kailden at gmail.com>.  [ruby-core:06984]

* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
  leak.

* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
  leak by explicit symbol allocation.

* lib/delegate.rb (Delegator::method_missing): should delegate
  block as well.

* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
  use Tempfile.  A fix from Zev Blut <rubyzbibd at ubit.com>.
  [ruby-core:06076]

* string.c: remove global functions work on $_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 11:53:33 +00:00
akr 99ee69b9f2 * test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of
"miniruby".  [ruby-dev:28140]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 08:05:26 +00:00
eban a274020ff7 * 2005-12-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 05:56:49 +00:00
ocean b29384860c * lib/generator.rb: reimplemented Generator class with Thread instead of
callcc, in order to fix memory leak. [ruby-dev:28142]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 02:29:26 +00:00
akr 056561c5dd * ia64.s: remove .pred.safe_across_calls directive.
reported by WATANABE Tetsuya.  [ruby-dev:28141]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-28 05:14:10 +00:00
akr ebd3d34ff0 * eval.c (struct thread): add bstr_max.
(rb_thread_save_context): use realloc instead of REALLOC_N
  to avoid GC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 16:35:57 +00:00
eban a17dc68aa0 * 2005-12-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 15:07:34 +00:00
nobu c3144a39a7 * lib/optparse.rb (CompletingHash#match): fix for 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 15:00:21 +00:00
akr c1bf7315ae update previous change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 11:52:54 +00:00
akr ae2e26b23f add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 10:21:56 +00:00
akr f59bd226b3 * configure.in: define IA64 for portability. (HP aC++/ANSI C doesn't
define __ia64__.)
  don't check libunwind stuff.
  check __libc_ia64_register_backing_store_base.

* defines.h: declare rb_ia64_bsp and rb_ia64_flushrs.
  (flush_register_windows): call rb_ia64_flushrs on IA64.

* ia64.s: new file for IA64.
  it is separated from C program files because
  Intel C++ Compiler for IA64 doesn't support inline assembly.

* common.mk (ia64.$(OBJEXT)): new target.

* ruby.h (RUBY_INIT_STACK): defined.
  (ruby_init_stack): declared for RUBY_INIT_STACK.

* main.c (main): precedes RUBY_INIT_STACK before ruby_init.

* gc.c (rb_gc_register_stack_start): new global variable on IA64.
  (garbage_collect): simplify register stack marking code.
  don't use libunwind.
  (Init_stack): initialize rb_gc_register_stack_start.
  (ruby_init_stack): new function for RUBY_INIT_STACK.

* eval.c (struct thread): add bstr_pos member for original position of
  register stack.
  (rb_thread_save_context): simplify register stack saving code.
  don't use libunwind.
  (rb_thread_restore_context_0): new function.  moved from
  rb_thread_restore_context except the stack position checking code.
  don't use libunwind for IA64 register stack.
  (register_stack_extend): new function.
  (stack_extend): make it self-recursive with
  the stack position checking code in old rb_thread_restore_context.
  (rb_thread_restore_context): just call stack_extend.
  (flush_register_windows): removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 05:40:04 +00:00
aamine baf0ba4588 * process.c: new method Process.exec. [ruby-dev:28107]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 05:10:38 +00:00
eban f1466bc60a * 2005-12-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-27 04:48:13 +00:00