10901 Commits

Author SHA1 Message Date
nobu
5dd4990d0e * parse.y (parser_str_new, parser_yylex, rb_intern3): set code-range
bits.

* parse.y (parser_tokadd_string): check code-range.

* parse.y (parser_parse_string, parser_here_document): ditto.

* parse.y (parser_set_encode): check if valid encoding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 07:58:50 +00:00
matz
8ba5375af1 * sample/test.rb: should update class variable tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 06:49:56 +00:00
matz
91a079cc86 * variable.c (rb_cvar_set): check whether class variable is
defined in superclasses.  root classes have higher priority.
  removes lower class variable entry from IV_TBL (if it's defined
  in classes, not modules).

* variable.c (rb_cvar_get): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 06:48:06 +00:00
nobu
ee2ac58e4d * ruby.c (ruby_process_options): push frame with program name.
[ruby-core:12351]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-03 01:06:57 +00:00
usa
50c7751b60 * win32/win32.c (init_env): refactoring. remove unused code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 11:17:23 +00:00
matz
77a6c82eab * array.c (rb_ary_product): generalized product, now takes
arbitrary number of arrays.  a patch from David Flanagan
  <david AT davidflanagan.com>.  [ruby-core:12346]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 03:33:53 +00:00
ser
437565235f r1368@bean: ser | 2007-10-01 21:24:36 -0400
r1356@bean:  ser | 2007-10-01 20:58:34 -0400
  Fix for ticket:115
 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:47:08 +00:00
ser
9a39093337 r1367@bean: ser | 2007-10-01 21:24:35 -0400
r1354@bean:  ser | 2007-09-13 08:23:09 -0400
  Eggbeater missed one.
 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:46:50 +00:00
ser
9acf1749fb r1366@bean: ser | 2007-10-01 21:24:33 -0400
r1352@bean:  ser | 2007-07-29 11:33:07 -0400
  Implements namespace validation in the baseparser.  This means that, as per
  the XML namespace spec, unbound prefixes generate UndefinedNamespaceException.
  Also, as per the namespace spec, the 'xml' prefix must be bound to 
  http://www.w3.org/XML/1998/namespace, and the 'xmlns' prefix must not be declared. 
  in the XML.
 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:46:32 +00:00
ser
c1b7ca8fec r1365@bean: ser | 2007-10-01 21:24:32 -0400
r1346@bean:  ser | 2007-07-28 10:00:36 -0400
  Fixes ticket:102.
  Fix provided by kevinj -- thanks!  Great job.
 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:46:13 +00:00
ser
a6c2c86b24 r1364@bean: ser | 2007-10-01 21:24:31 -0400
r1344@bean:  ser | 2007-07-28 09:37:44 -0400
  Fixes ticket:99, and adds Henrik's unit test (with minor modifications)
 


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:45:55 +00:00
ser
efe8edf32c r1361@bean: ser | 2007-10-01 21:24:28 -0400
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 01:45:19 +00:00
matz
209b950f3f * array.c (rb_ary_permutation): small dirty hack by Matz to avoid
arrays on stack.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 23:37:02 +00:00
matz
04bc87e582 * array.c (rb_ary_permutation): implementation contributed from
David Flanagan.  [ruby-core:12344]

* array.c (rb_ary_combination): RDoc update to clarify.  a patch
  from David Flanagan.  [ruby-core:12344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 23:35:30 +00:00
ko1
88f570d9ae * proc.c (proc_dup): proc->block.proc should be self.
* bootstraptest/test_knownbug.rb, test_method.rb:
  move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 22:02:23 +00:00
matz
25ff7ef4c6 * array.c (rb_ary_combination): revisit #combination behavior.
suggested by David Flanagan.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 14:46:07 +00:00
akr
5838fff334 check exception on Process.setrlimit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 07:43:21 +00:00
akr
adcd9f7ea1 * bootstraptest/test_method.rb: use assert_normal_exit to test
[ruby-dev:31818].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 07:18:26 +00:00
nobu
36585f17fb * gc.c (id2ref): skip ICLASS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 06:57:56 +00:00
akr
e5a15da799 * bootstraptest/runner.rb (assert_normal_exit): use `` instead of
system.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 06:30:39 +00:00
nobu
7d0787116d * gc.c (id2ref): T_VALUES is less than T_BLOCK. [ruby-dev:31911]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 06:17:50 +00:00
nobu
014d1ae20d * ruby.c (require_libraries): use require method instead of calling
rb_require directly.  [ruby-dev:31322]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 01:58:44 +00:00
nobu
b9b34059a6 * eval.c (ruby_options), ruby.c (proc_options, process_options): not
call exit(2) directly.  [ruby-dev:31912]

* eval.c (ruby_run_node): deal with direct exit code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-01 01:52:32 +00:00
nobu
eb64f5de06 * string.c (rb_str_append): always set encoding, and coderange
cache bits.

* include/ruby/encoding.h (ENC_CODERANGE_SET): fixed a bug not to
  set chache bits.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-30 08:13:28 +00:00
akr
1a004904d1 add test for [ruby-dev:31913].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-30 06:52:45 +00:00
akr
adf5c69f29 * bootstraptest/runner.rb (pretty): don't show beginning empty line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-30 02:52:55 +00:00
akr
d1c7f6c9cd * numeric.c: use #ifdef for test LONG_LONG_VALUE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-30 02:33:18 +00:00
akr
11f6502652 add test for [ruby-dev:31911].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-30 02:23:58 +00:00
akr
f2d609e0f6 fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 20:40:20 +00:00
akr
c0d197423d * bignum.c: use SIZEOF_LONG instead of SIZEOF_ULONG which is not
defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 19:33:03 +00:00
akr
910b0709ed * re.c (Init_Regexp): test DEFAULT_KCODE in C code because
KCODE_EUC, etc are enum.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 19:06:40 +00:00
usa
38694262ef * variable.c (obj_ivar_each): get rid of warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 15:56:50 +00:00
nobu
400202f6a5 * main.c (main): use platform-independent per-process initialization.
[ruby-dev:31900]

* ruby.c (ruby_sysinit): new function for per-process initialization.

* include/ruby/ruby.h (RUBY_GLOBAL_SETUP): toplevel setup declaration.

* include/ruby/win32.h, win32/mkexports.rb: alias NtInitialize
  ruby_sysinit.

* win32/win32.c (rb_w32_sysinit): renamed from NtInitialize.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 08:45:24 +00:00
matz
43c4d80930 * array.c (rb_ary_combination): new method to give all combination
of elements from an array.  [ruby-list:42671]

* array.c (rb_ary_product): a new method to get all combinations
  of elements from two arrays.  can be extended to combinations of
  n-arrays, e.g. a.product(b,c,d).  anyone volunteer?

* array.c (rb_ary_permutation): empty function body to calculate
  permutations of array elements.  need volunteer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 08:43:59 +00:00
matz
0d07755472 * marshal.c (r_leave): move proc invocation from r_entry() to
avoid potential crash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 08:17:48 +00:00
akr
6108fcdc53 use Marshal.load instead of binary string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 04:52:43 +00:00
akr
d537ca1f84 * bootstraptest/runner.rb (assert_normal_exit): new method.
* bootstraptest/test_knownbug.rb: add test for Marshal.load.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 03:32:57 +00:00
akr
2d6ad7e118 add test for a define_method wrapper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 03:11:24 +00:00
akr
238ac9fcb2 * variable.c (rb_ivar_set): fix class instance variable.
* object.c (rb_class_real): cl argument may be 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 01:21:15 +00:00
akr
5a3e59d284 * object.c (rb_class_real): use BUILTIN_TYPE instead of TYPE.
access flags directly intead of FL_TEST.
  they are enough because cl argument is a class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 00:13:58 +00:00
nobu
affcfc9e7a * include/ruby/win32.h (strcasecmp): needed for type_strcasehash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 23:57:17 +00:00
nobu
8ef1027a09 * common.mk (ruby.o): using encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 23:50:36 +00:00
nobu
310416744d * ruby.c (origarg): commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 21:50:01 +00:00
nobu
4507782baa * ruby.c (struct cmdline_options): static variables packed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 21:47:31 +00:00
nobu
29621688c7 * io.c (rb_io_fdopen): create IO object from fd.
* parse.y (yycompile): use encoding of the source as default.

* ruby.c (proc_options, load_file): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 20:29:32 +00:00
nobu
c351afc372 * encoding.c (rb_enc_alias): allow encodings multiple aliases.
* encoding.c (rb_enc_find_index): search the encoding which has the
  given name and return its index if found, or -1.

* st.c (type_strcasehash): case-insensitive string hash type.

* string.c (rb_str_force_encoding): force encoding of self.  this name
  comes from [ruby-dev:31894] by Martin Duerst.  [ruby-dev:31744]

* include/ruby/encoding.h (rb_enc_find_index, rb_enc_associate_index):
  prototyped.

* include/ruby/encoding.h (rb_enc_isctype): direct interface to ctype.

* include/ruby/st.h (st_init_strcasetable): prototyped.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 19:27:10 +00:00
ko1
534d057e58 * cont.c: Thread local storage should be fiber local.
* bootstraptest/test_knownbug.rb, test/ruby/test_fiber.rb:
  move a fixed test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 19:04:45 +00:00
akr
4dc8ff965b refine previous change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 18:22:23 +00:00
akr
a9c2a18cc7 don't generate temporary files under current directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 16:51:41 +00:00
akr
228728325e UNIXServer.new("a\0b") test removed because
UNIXServer.new accepts NUL as abstruct unix sockets.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 15:58:34 +00:00