10901 Commits

Author SHA1 Message Date
akr
b791feb694 use \xf0 instead of \xfd for valid first byte of a UTF-8 character.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 10:06:41 +00:00
akr
948d1a6821 add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 09:37:40 +00:00
akr
69406aad50 * encoding.c (rb_enc_precise_mbclen): new function for mbclen with
validation.

* include/ruby/encoding.h (rb_enc_precise_mbclen): declared.
  (MBCLEN_CHARFOUND): new macro.
  (MBCLEN_INVALID): new macro.
  (MBCLEN_NEEDMORE): new macro.

* include/ruby/oniguruma.h (OnigEncodingTypeST): replace mbc_enc_len
  by precise_mbc_enc_len.
  (ONIGENC_PRECISE_MBC_ENC_LEN): new macro.
  (ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND): new macro.
  (ONIGENC_CONSTRUCT_MBCLEN_INVALID): new macro.
  (ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE): new macro.
  (ONIGENC_MBCLEN_CHARFOUND): new macro.
  (ONIGENC_MBCLEN_INVALID): new macro.
  (ONIGENC_MBCLEN_NEEDMORE): new macro.
  (ONIGENC_MBC_ENC_LEN): use ONIGENC_PRECISE_MBC_ENC_LEN.

* enc/euc_jp.c: validation implemented.

* enc/sjis.c: ditto.

* enc/utf8.c: ditto.

* string.c (rb_str_inspect): use rb_enc_precise_mbclen for invalid
  encoding.
  (rb_str_valid_encoding_p): new method String#valid_encoding?.

* io.c (rb_io_getc): use rb_enc_precise_mbclen.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 09:28:26 +00:00
nobu
de4ec68991 * bootstraptest/test_knownbug.rb: new test for block and
define_method.

* bootstraptest/test_syntax.rb: moved [ruby-dev:32429] from
  test_knownbug.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 02:04:19 +00:00
nobu
95cf86dd26 * bootstraptest/test_knownbug.rb: test for [ruby-talk:266422].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-06 00:27:35 +00:00
nobu
a5c6b705db * regparse.c (i_apply_case_fold): fix for negative character class. a
patch from Yusuke ENDOH <mame AT tsg.ne.jp> in [ruby-core:13884].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 16:37:25 +00:00
naruse
46d6af3a9c * ext/iconv/iconv.c (iconv_s_list): support NetBSD/Citrus iconv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 16:04:12 +00:00
nobu
360a674fe5 * thread.c (thread_initialize): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 07:43:08 +00:00
nobu
430f5a1d61 * proc.c (rb_proc_s_new): call initialize. [ruby-core:13824]
* proc.c (rb_proc_location): return file name and line number where
  the proc is defined.

* thread.c (thread_s_new): call initialize.  [ruby-core:13835]

* thread.c (thread_initialize): split initialize method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 07:18:52 +00:00
nobu
0af432ce08 * parse.y (rb_intern3): fix to changing encoding to default, and
uncommented r13835, which is rare but not impossible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 06:25:56 +00:00
nobu
e8ffe28214 * range.c (step_i, range_step): support non-fixnum steps.
[ruby-talk:282100]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 06:15:23 +00:00
ko1
9c1e3d00d5 * compile.c (iseq_compile_each): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 05:25:58 +00:00
nobu
45b05313ec * ChangeLog: fix ML number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 04:53:51 +00:00
nobu
8ea5018d20 * parse.y (yycompile): get rid of tracing while parsing.
[ruby-dev:31351]

* thread.c (ruby_suppress_tracing): added a new parameter, which
  directs to call func always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-05 04:41:27 +00:00
nobu
398cdd3825 * ext/iconv/iconv.c (iconv_convert): should not set encoding unless
the target encoding is supported.  [ruby-dev:32451]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 10:56:44 +00:00
nobu
6ccd9e0372 * ext/json: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 10:17:13 +00:00
naruse
01b097e475 * ext/nkf/lib/kconv.rb (tojis, tosjis, toeuc, toutf8):
set encoding. [ruby-dev:32447]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 09:06:41 +00:00
naruse
825ce503c0 * lib/json.rb, lib/json/*: moved to ext/json/lib.
--

M    trunk/ChangeLog
D    trunk/lib/json
D    trunk/lib/json.rb
A    trunk/ext/json/lib
A    trunk/ext/json/lib/json
A    trunk/ext/json/lib/json.rb
A    trunk/ext/json/extconf.rb


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 08:09:44 +00:00
nobu
86f1cff0eb * ext/iconv/iconv.c (iconv_create): achieve target encoding.
* ext/iconv/iconv.c (iconv_convert, iconv_finish, iconv_iconv,
  iconv_conv): set result string encoding.  [ruby-dev:32446]

* ext/iconv/iconv.c (iconv_initialize, iconv_s_open): set encoding to
  Iconv instance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 07:35:07 +00:00
nobu
bea3572740 * ext/iconv/iconv.c (iconv_create): achieve target encoding.
* ext/iconv/iconv.c (iconv_convert, iconv_finish, iconv_iconv,
  iconv_conv): set result string encoding.  [ruby-dev:32446]

* ext/iconv/iconv.c (iconv_initialize, iconv_s_open): set encoding to
  Iconv instance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 07:34:49 +00:00
akr
ac9c68fbe1 add a test for [ruby-dev:32448].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 06:31:42 +00:00
nobu
6658e98c2d * ruby.c (process_options): reverted c flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 05:34:37 +00:00
nobu
80644b31d5 * bignum.c (rb_cstr_to_inum): trailing spaces may exist at sqeezing
preceeding 0s.  [ruby-core:13873]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-04 02:23:52 +00:00
nobu
08494c8643 * ext/dl/win32: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-03 03:04:50 +00:00
usa
97a9e9da85 * ext/Win32API/*: removed or moved to ext/dl/win32.
* ext/dl/win32/*: new. [ruby-dev:32387]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-03 02:53:13 +00:00
akr
6af5227ec0 fix Regexp#inspect document.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 15:46:21 +00:00
akr
7f65110b53 document MatchData#inspect.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 14:42:05 +00:00
nobu
1524572ce9 * parse.y (parser_tokadd_mbchar): fix for ASCII chars. [ruby-dev:32432]
* parse.y (parser_parse_string, parser_here_document): prevent false
  error messages.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 13:08:03 +00:00
akr
c650096adf * re.c (unescape_escaped_nonascii): fix mbclen argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 11:45:02 +00:00
nobu
040e3e7bdd * parse.y (parser_tokadd_mbchar): check insufficient multibyte char.
[ruby-dev:32429]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 06:47:59 +00:00
kou
4fab2c7526 * lib/rss/rss.rb, test/rss/test_version.rb: 0.2.1 -> 0.2.2.
* lib/rss/maker/itunes.rb: fixed new_itunes_category.
* lib/rss/maker/taxonomy.rb: new_taxo_topic -> new_topic because
  of consistency.

* test/rss/test_maker_itunes.rb, test/rss/test_itunes.rb: removed
  needless UTF-8 characters.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 06:45:53 +00:00
ko1
f3e3ce4c82 * insnhelper.ci (vm_callee_setup_arg): fix error message.
[ruby-dev:32430]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 06:20:23 +00:00
akr
f8e92ad562 check Process.kill instead of Process#kill.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 04:13:17 +00:00
akr
9bd11f24b3 s/unicode/Unicode/ in error messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 02:53:46 +00:00
akr
0893957bc6 add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 02:04:34 +00:00
akr
850cd3a536 eval("\"\xfd".force_encoding("utf-8")) generates garbage in error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 01:43:29 +00:00
akr
21729a1c77 * parse.y (regexp): fix /#{}\xa1\xa2/e to be EUC-JP.
(reg_fragment_setenc_gen): extracted from reg_compile_gen.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-02 00:16:24 +00:00
akr
5a930580c9 add a test for [ruby-dev:32404].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 17:29:43 +00:00
akr
bd741ee16a (test_time_now_cycle): cut off under micro second.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 17:24:13 +00:00
akr
7ff702406a * include/ruby/intern.h (rb_uv_to_utf8): declared.
* re.c (rb_reg_preprocess): new function for dynamic regexp with
  \u{} such as Regexp.new("\\u{6666}").
  (rb_reg_prepare_re): preprocess regexp for recompiling.
  (read_escaped_byte): new function.
  (unescape_escaped_nonascii): new function.
  (append_utf8): new function.
  (unescape_unicode_list): new function.
  (unescape_unicode_bmp): new function.
  (unescape_nonascii): new function.
  (rb_reg_initialize): preprocess regexp.

* pack.c (rb_uv_to_utf8): renamed from uv_to_utf8.

* parse.y (STR_NEW3): take func instead of has8 and hasmb.
  (parser_str_new): use default coderange mechanism except for regexp.
  (parser_tokadd_utf8): copy regexp source as-is.
  (parser_read_escape): UTF-8 stuff removed.
  (parser_tokadd_escape): has8bit and hasmb removed.
  (parser_tokadd_string): fix 8-bit single byte character with \u.
  (parser_parse_string): has8bit and hasmb removed.
  (parser_here_document): has8bit and hasmb removed.
  (parser_yylex): call parser_tokadd_utf8 instead of read_escape for
  UTF-8 character.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 16:56:19 +00:00
jeg2
d92b461dd9 * lib/xmlrpc/server.rb (XMLRPC::Server#server): Improve signal handling so
pressing control-c in the controlling terminal or sending SIGTERM stops
  the XML-RPC server.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 16:01:49 +00:00
matz
d5bd9d1593 * encoding.c: rename primary_encoding -> default_external (encoding).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 14:05:53 +00:00
matz
ec27275122 lib/README: remove jcode.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 13:26:01 +00:00
tadf
b587334b08 a reaction to recent time's changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 11:13:32 +00:00
ko1
0d4761fb1a * bootstraptest/test_knownbug.rb: move fixed bugs.
* test/ruby/test_sprintf.rb: ditto.
* test/yaml/test_yaml.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 05:43:06 +00:00
matz
70e28cf1eb * io.c (rb_f_open): use to_open for every non-string object. path
object may use method_missing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 05:22:15 +00:00
matz
2bbffcd6a4 * insns.def (concatarray, splatarray): use to_a instead of
to_splat.

* insnhelper.ci (caller_setup_args): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 05:20:06 +00:00
ko1
6fafbfd63e * insnhelper.ci (vm_yield_with_cfunc): fix to passing argc on third
parameter of IFUNC.  [ruby-dev:32329]
* enumerator.c: fix to pass exact number of argument.
* eval.c (rb_yield_values2): added.
* include/ruby/ruby.h: ditto.
* bootstraptest/test_knownbug.rb: move a fixed test.
* bootstraptest/test_block.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-01 04:30:19 +00:00
nobu
4afa82056c * parse.y (newline_node): always remove NODE_BEGIN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-30 18:34:34 +00:00
nobu
0edabec626 * lib/json/add/*.rb, test/json/test_json_rails.rb: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-30 17:54:06 +00:00