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

10415 Коммитов

Автор SHA1 Сообщение Дата
nobu f2bd108d8d * configure.in (enc/Makefile): add external encoding objects list.
* common.mk (BUILTIN_ENCOBJS): renamed from ENCOBJS.

* Makefile.in (BUILTIN_ENCOBJS): substitued by autoconf.

* enc/Makefile.in: new file to compile external encoding sources.

* encoding.c (rb_enc_find_index): auto-load external encoding objects
  as "ext/ENCODING_NAME".  [ruby-dev:32606]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 09:56:59 +00:00
matz c5851d1d69 * lib/e2mmap.rb (Exception2MessageMapper::E2MM.Raise): $! no
longer modifiable in 1.9.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 06:03:22 +00:00
matz f2b0dba1cf * transcode.c (str_transcode, transcode_dispatch): added two-step
* trancode.c: some minor formatting fixes

* transcode_data.h, transcode_data_iso_8859.c: Shortened
  extremely frequently used macros to shorten file length.

* test/ruby/test_transcode.rb: Fixed name of test class;
  added setup method to ensure all necessary encodings exist;
  split tests into more test methods; added tests; fixed ordering
  of arguments in assert_equal to have expected result first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 05:42:25 +00:00
akr 4f13113945 * vm_core.h (rb_thread_t): new member machine_stack_maxsize and
machine_register_stack_maxsize.

* gc.c (rb_gc_stack_maxsize): new global variable for the thread size
  of the main thread.
  (STACK_LEVEL_MAX): use machine_stack_maxsize of current thread.
  (ruby_stack_check): check IA64 register stack.
  (ruby_set_stack_size): set rb_gc_stack_maxsize.
  (Init_stack): set rb_gc_stack_maxsize.

* thread_pthread.ci (native_thread_create): initialize
  th->machine_stack_maxsize and th->machine_register_stack_maxsize.

* vm.c (Init_BareVM): initialize th->machine_stack_maxsize and
  th->machine_register_stack_maxsize.

* thread_win32.ci (native_thread_create): initialize
  th->machine_stack_maxsize.  not tested.  just a guess at all.

[ruby-dev:32604]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 04:09:24 +00:00
nobu 8063edd4c9 * encoding.c (rb_enc_register, rb_enc_replicate, rb_enc_alias): check
if already registered.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 03:58:02 +00:00
akr e34b2c31df use Enumerator for reproduce [ruby-dev:32604].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 02:39:34 +00:00
nahi 8523343780 * cosmetic: fixed a typo in RDoc comment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-15 01:14:25 +00:00
akr b4268bf067 add test for [ruby-dev:32604].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 21:27:16 +00:00
matz 0f0f79d34b * lib/rdoc/options.rb (Options::parse): do not access $KCODE any
longer.  [ruby-core:14079]

* lib/irb/init.rb (IRB::IRB.parse_opts): ditto.

* lib/cgi.rb (CGI::CGI): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 17:05:15 +00:00
akr 6deeaf6226 * thread_pthread.ci (native_thread_create): twice the stack size.
512KB is not enough to complete test-all on Debian GNU/Linux on
  IA64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 09:20:35 +00:00
matz 11f3462fb7 * io.c (rb_f_p): RDoc update. a patch from murphy <murphy AT rubychan.de>.
[ruby-core:14010]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 08:38:18 +00:00
matz 269bd16b28 * string.c (rb_str_cmp): encoding aware comparison.
* string.c (rb_str_casecmp): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 08:37:39 +00:00
nobu 8b6cb6994c * common.mk (ruby.imp): fix for circular dependency. a patch from
Yutaka Kanemoto <kinpoco AT gmail.com> in [ruby-dev:32590].

* regint.h, st.c, ext/json/ext/generator/generator.c: suppress
  warnings on AIX.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 04:47:57 +00:00
nobu e9ac3573f0 * ext/readline/extconf.rb: should use have_func for functions instead
of have_var.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 03:36:37 +00:00
nobu 3cce5965da * lib/mkmf.rb (try_var): should fail for functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 02:54:08 +00:00
nobu a2ccbc14d9 * configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined
and its type.

* configure.in (timezone, altzone): check for recent cygwin.

* missing/strftime.c (strftime): fix for timezone.  [ruby-dev:32536]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 01:01:42 +00:00
akr 30c5d612c2 * eval.c (rb_protect): restore root_jmpbuf even if proc exits by
break such as dbm.delete_if { break }.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 23:19:14 +00:00
matz c958d9a9c6 * string.c (str_nth): direct jump if string is 7bit only. great
performance boost for worst case.

* string.c (str_strlen): direct size if string is 7bit only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 18:00:50 +00:00
matz e0334fb250 * encoding.c (rb_enc_compatible): 1st argument (typically the
receiver) would have higher priority in encoding detection.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 17:30:54 +00:00
matz c3b5279d49 * io.c (rb_io_synchronized): should check if initialized.
[ruby-dev:32585]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 17:06:41 +00:00
matz 7bb3ea6afa * re.c (rb_reg_initialize): embedded string may override encoding
of the regular expression.

* re.c (rb_reg_initialize): fix encoding of regular expression if
  embedded string has its own encoding specified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 16:09:53 +00:00
matz a648fc802b * encoding.c (rb_enc_compatible): encoding should never fall back
to ASCII-8BIT unless both encodings are ASCII-8BIT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 13:44:02 +00:00
akr 968918da16 don't show shared and assoc for embed string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 12:32:06 +00:00
akr 9595af4ad5 * string.c (rb_str_shared_replace): make str noembed after free.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 11:52:15 +00:00
akr 719841ca37 * eval.c (rb_protect): restore root_jmpbuf to avoid SEGV by
'IO.pipe; [].each.next' with gcc version 3.3.5 (Debian 1:3.3.5-13)
  on IA64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 11:10:46 +00:00
matz 7987f38467 * string.c (rb_str_succ): should not enter infinite loop for
non-ASCII, non-alphanumeric character at the bottom.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 09:20:13 +00:00
matz 66bae8ad6d * string.c (str_gsub): should copy encoding to the result.
* sprintf.c (rb_str_format): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 09:05:49 +00:00
matz fb14b7eb05 * string.c (rb_str_split_m): need not to check encoding if regexp
is empty.

* string.c (rb_str_justify): associate encoding of original to the
  result. 

* string.c (rb_str_chomp_bang): need to check encoding of record
  separator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 08:28:40 +00:00
nobu e18e893846 * encoding.c (enc_get_encoding): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 08:05:00 +00:00
nobu af69c73087 * encoding.c (rb_enc_compatible): should swap encoding indexes too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 08:03:31 +00:00
matz 02501dbe91 * encoding.c (rb_enc_compatible): should not judge compatibility
based on rb_enc_asciicompat().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 07:44:52 +00:00
matz 266d186bcf * include/ruby/io.h (MakeOpenFile): fptr->enc should be
intialized to zero.  [ruby-dev:32569]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 04:10:24 +00:00
akr b21aa43b4c add test for [ruby-dev:32567].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 02:37:27 +00:00
akr cf8c1e49dd upcase hex.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-13 00:21:18 +00:00
matz b754d62f72 * io.c (rb_io_getc): use default external encoding if fptr->enc is
not set.  [ruby-dev:32565]

* lib/rubygems/package.rb (Gem::TarReader::Entry::rewind): typo fixed.
  [ruby-dev:32565]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 23:58:58 +00:00
matz 0ca7036682 * io.c (read_all): should associate default external encoding.
* io.c (io_read): should NOT associate default external encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 23:46:58 +00:00
akr b92cee1ddb * re.c, regerror.c, string.c, parse.y, ruby.c, file.c:
use capital letter for \xHH notation.  [ruby-dev:32511]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 14:30:54 +00:00
matz 098ca00175 * io.c (rb_io_mode_enc): allow specifying external encoding in
open mode, e.g. open(path, "r:utf-8").

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 13:23:07 +00:00
matz c6fa37e2f0 * eval_method.ci (rb_alias): no need to skip aliasing when new
equals to old.  [ruby-core:13990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 12:27:39 +00:00
matz 6fd91d288c * io.c (rb_io_check_readable): set default external encoding to
STDIN.

* io.c (io_enc_str): associate encoding to output string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 07:39:43 +00:00
matz 91142c95bb * parse.y (expr): 'not' and '!' should act as conditional
expression.   [ruby-dev:32548]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 03:45:36 +00:00
nobu ad72efa269 * re.c (rb_reg_regsub): should copy encoding.
* string.c (rb_str_sub_bang, str_gsub): should check and copy encoding
  to be replaced.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 03:11:44 +00:00
matz 65a30eb3e7 * pack.c (pack_pack): RDoc update. a patch from Gary Wright
<radar2002 AT gmail.com>.  [ruby-core:13998]

* pack.c (pack_unpack): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 14:05:34 +00:00
akr 646f27b822 * encoding.c (rb_enc_ascget): renamed from rb_enc_get_ascii.
* include/ruby/encoding.h: follow the renaming.

* re.c: ditto. 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 07:39:16 +00:00
nobu 7554dd1346 * Makefile.in, */Makefile.sub (CP, MV): added.
* common.mk (.y.c): not discard the old target until successfully
  created.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 07:19:28 +00:00
matz 2db98d937a * object.c (Init_Object): singleton_method_{added,removed,undefined}
hooks should be defined for BasicObject.  [ruby-dev:32531]

* eval.c (Init_eval): method_missing should be defined for all
  objects; moved to BasicObject.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 06:23:21 +00:00
nobu 3609358aac * test/ruby/test_transcode.rb: added tests from Martin Duerst <duerst
AT it.aoyama.ac.jp>.  [ruby-dev:32532]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 05:27:52 +00:00
nobu a153fdb6ed * transcode.c (transcode_loop): get rid of SEGV at sequence can not be
converted.

* transcode.c (rb_str_transcode_bang): copy encoding.  [ruby-dev:32532]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 04:57:51 +00:00
akr 5802768b40 * encoding.c (rb_enc_get_ascii): add an argument to provide the
length of the returned character.

* include/ruby/encoding.h (rb_enc_get_ascii): add the argument.

* re.c (rb_reg_expr_str): modify rb_enc_get_ascii call.
  (rb_reg_quote): ditto.
  (rb_reg_regsub): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 03:08:50 +00:00
akr 9ee1ab0e28 * include/ruby/oniguruma.h (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE):
parenthesize an argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-11 00:41:56 +00:00