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

310 Коммитов

Автор SHA1 Сообщение Дата
nobu ecc775772a * common.mk (COMPILE_PRELUDE): rbconfig is loaded on demand.
* tool/eval.rb, win32/{mkexports,resource}.rb: miniruby no longer
  contains "." in $:.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-08 07:23:13 +00:00
mame cd2a49f3c7 * tool/compile_prelude.rb: fix require path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-06 10:36:32 +00:00
yugui 295bc2fe25 removes the dtrace support. reverts r26239, r26238 and r26235.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-05 05:59:23 +00:00
yugui 72b199940d * trace.h: new file. wraps tracing mechanisms.
* defs/dtrace.d: new file. defined a dtrace provider "ruby".

* include/ruby/ruby.h (LIKELY): moved from vm.c.
  (UNLIKELY): ditto.
  (OBJSETUP): probe "object-create".
  (RUBY_EVENT_RESCUE): new event.

* vm_exec.c (DEBUG_ENTER_INSN): embeded a probe insn-entry into it.
  (DEBUG_END_INSN): insn-return.

* vm.c (LIKELY): moved into ruby.h.
  (UNLIKELY): ditto.
  (Init_BareVM): embeded a probe "raise" into it.

* variable.c (rb_class2name_without_alloc): new utility function.

* tool/rbinstall.rb (install?(:ext, :arch, :'ext-arch')): installs 
  dtrace.d if necessary.

* thread_pthread.c (add_signal_thread_list): probe "raise".
  (rb_thread_create_timer_thread): ditto.

* thread.c (rb_thread_schedule_rec): probes "thread-enter" and
  "thread-leave",
  (thread_start_func_2): ditto.
  (thread_cleanup_func): probe "thread-term"

* lib/mkmf.rb: supports dtrace postprocessor on making an extension.

* iseq.c (rb_vm_insn_name): new utility function.
  (rb_vm_insn_len): ditto.

* insns.def (hook): probes "method-etnry", "method-return", "line",
  and "rescue".

* compile.c (iseq_compile_each): adds a trace op for "rescue" probe.

* gc.c (garbage_collect): probes "gc-begin" and "gc-end".
  (obj_free): probe "object-free"
  (garbage_collect_with_gvl): probe "raise"
  (negative_size_allocation_error): ditto.
  (rb_memerror): ditto.

* eval.c (rb_rescue2): probe "rescue"
  (rb_longjmp): probe "raise"

* ext/probe/probe.c: new extension for application defined probes.

* ext/probe/extconf.rb: ditto.

* configure.in (--with-tracing-model): new option to choose a tracing
  mechanism.
  (DTRACE): new substitution. name of dtrace(1).
  (RUBY_TRACING_MODEL): new substitution.
  (DTRACE_OBJ): ditto.
  (MINIDTRACE_OBJ): ditto.
  (GOLFDTRACE_OBJ): ditto.
  (LIBRUBY_DTRACE_OBJ): ditto.
  (RUBY_DTRACE_POSTPROCESS): new macro. checks whether the dtrace on 
  the system needs postprocessing.
  (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether the dtrace
  supports USDT.

* Makefile.in: 
  (DTRACE): new variable. name of dtrace(1).
  (TRACING_MODEL): new variable. name of the chosen tracing mechanism.
  (DTRACE_OBJ): same as the one in configure.in.
  (MINIDTRACE_OBJ): ditto.
  (GOLFDTRACE_OBJ): ditto.
  (LIBRUBY_DTRACE_OBJ): ditto.
  (CPPOUTFILE): new substitution. necessary for generating dtrace.d
  (trace_none.h): new target for TRACING_MODEL=none
  (RUBY_H_INCLUDES): appended a header for tracing.
  (distclean-local): also removes preprocessed version of dtrace.d
  ($(LIBRUBY_A)): needs $(LIBRUBY_DTRACE_OBJ) if dtrace needs 
  postprocessing.
  ($(PROGRAM)): ditto.
  (golf): ditto.
  (miniruby): ditto.
  ($(arch_hdrdir)/ruby/dtrace.d): new target. preprocessed verson 
  of defs/dtrace.d. generated if necessary.
  ($(arch_hdrdir)/ruby/trace_dtrace.h): new target.
  definition of probes.
  ($(LIBRUBY_DTRACE_OBJ)): new target. generated if dtrace needs 
  postprocessing.
  ($(DTRACE_OBJ)): ditto.
  ($(MINIDTRACE_OBJ)): ditto.
  ($(GOLFDTRACE_OBJ)): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-03 15:36:17 +00:00
akr c0b4e90f08 * tool/mkconfig.rb: generate RbConfig.ruby in rbconfig.rb.
* lib/webrick/httpservlet/cgihandler.rb: use RbConfig.ruby.

* test/ruby/envutil.rb: ditto.

* benchmark/report.rb: ditto.

* benchmark/runc.rb: ditto.

* tool/eval.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-31 15:00:04 +00:00
yugui 55a70a94b4 * tool/install-sh: correction by Hiro Asari.
https://gist.github.com/264558/58ad1cae45cde49600bbb39286af2aae23e639d5

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-28 08:21:30 +00:00
yugui d4c2172e02 * tool/install-sh: wrote the intention. [ruby-dev:39928]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-28 04:20:19 +00:00
yugui 568595b30f * tool/rbinstall.rb (install?(:local, :comm, :bin, :'bin-comm')):
Makes it vim friendly.  __END__ in a heredoc is confusing with 
  the script end for vim.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-27 00:44:11 +00:00
duerst b32ee85f97 * transcode_data.h, transcode.c, tool/transcode-tblgen.rb: Added
support for new transcoding instruction FUNsio (with Tatsuya Mizuno)

* enc/trans/gb18030.trans: Significantly reduced GB18030 conversion
  table footprint using FUNsio and differences (with Tatsuya Mizuno)

* test/ruby/test_transcode.rb: Minor name fix (from Tatsuya Mizuno)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-10 11:59:12 +00:00
nobu 609030816b * mkconfig.rb: reverted r25443 because build_os is used in mkmf.rb
on some platforms.  [ruby-core:26332]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-26 23:56:13 +00:00
nobu 32df7768b8 * configure.in (target, target_alias): replace with real cpu.
* mkconfig.rb: build* are not needed in rbconfig.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-23 05:25:56 +00:00
naruse d5537936ab * tool/enc-unicode.rb,
enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  use UTS#18 for POSIX character class.
  http://rubyspec.org/issues/show/161

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-14 16:51:52 +00:00
naruse 181eb7d5c1 Add derived core and binary property and aliases.
* tool/enc-unicode.rb,
  enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  Add DerivedCoreProperties, PropList (Binary Property),
  PropertyAlias and PropertyValueAlias.
  Now users of tool/enc-unicode.rb should specify
  the directory of UCD files.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-13 12:27:00 +00:00
naruse 5a4ce608e2 * tool/enc-unicode.rb: optimized.
* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  U+100000-U+10FFFD is assigned, not Cn.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-08 18:07:08 +00:00
naruse 866c79e2de * tool/enc-unicode.rb: parse range notation of UnicodeData.txt.
* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  follow above change. [ruby-dev:39444]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-08 02:49:11 +00:00
nobu a97e80ba74 * tool/instruction.rb (make_header_prepare_stack): check stack
overflow.  [ruby-core:25714]

* tool/instruction.rb (make_footer_stack_val): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-23 02:28:08 +00:00
nobu bf3edb979f * tool/transcode-tblgen.rb (transcode_generated_code): fixed type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-22 07:11:45 +00:00
nobu fe1ce93f52 * compile.c, cont.c, gc.c, insns.def, iseq.c, iseq.h, process.c,
thread.c, vm.c, vm_core.h, vm_dump.c, vm_eval.c,
  vm_insnhelper.c, vm_method.c, template/insns_info.inc.tmpl,
  tool/instruction.rb: fixed types.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-21 20:58:26 +00:00
nobu c3cd2816ae * tool/instruction.rb (make_insn_operand_optimized): fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-21 19:42:26 +00:00
nobu 3c4380ad25 * tool/rbinstall.rb (parse_args): show help message and exit if
rbconfig could not load.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 21:43:00 +00:00
nobu 68d8a2a474 * common.mk (install-all): target to install all.
* tool/rbinstall.rb (parse_args): accept all install targets.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-14 21:24:39 +00:00
nobu 8b04569c6e * tool/config.{guess,sub}: updated to automake-1.11.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-11 02:33:32 +00:00
naruse ee4b59a419 * unicode.c (onigenc_unicode_property_name_to_ctype):
ignore case of properties.

* tool/enc-unicode.rb: downcase properties list.

* enc/unicode/name2ctype.h, enc/unicode/name2ctype.h.blt,
  enc/unicode/name2ctype.kwd, enc/unicode/name2ctype.src:
  follow above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-10 22:54:01 +00:00
nobu 488024dfcf * tool/compile_prelude.rb: reverted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 12:41:05 +00:00
nobu c6b3a96fbb * tool/compile_prelude.rb: evaluates in the main context.
[ruby-core:25474]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 09:10:49 +00:00
ko1 b82db5251c * insns.def (opt_*): add IC operands.
* vm_insnhelper.h (CALL_SIMPLE_METHOD): add a version which
  use an inline cache.  USE_IC_FOR_SPECIALIZED_METHOD macro
  switchs the behaviour.  This change also removes
  CALL_SIMPLE_METHOD_IC() macro.
* tool/instruction.rb: fix elimination process to ignore
  variable "ic".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-06 20:42:50 +00:00
nobu cb3c0b4a10 * tool/instruction.rb: executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-02 00:30:29 +00:00
nobu 61d983df58 * tool/instruction.rb (RubyVM::InstructionsLoader#make_stackcaching_insns):
simplified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-01 22:48:51 +00:00
nobu 9055042fa4 * tool/file2lastrev.rb: executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-01 01:09:31 +00:00
naruse 232978b031 * tool/mkconfig.rb (program_transform_name): fix for multiple trans
rules for autoconf 2.61 or earlier.

* tool/rbinstall.rb (program_transform_name): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 10:56:55 +00:00
nobu c6defbf310 * tool/mkconfig.rb (program_transform_name): fix for autoconf 2.61
or earlier.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-26 08:00:37 +00:00
naruse f1eff95745 Update Oniguruma's UnicodeData to 5.1.
* tool/enc-unicode.rb: added for generate name2ctype.kwd.
  contributed by Run Paint Run Run [ruby-core:24775]
  use like following:
    ruby19 tool/enc-unicode.rb enc/unicode/UnicodeData.txt \
      enc/unicode/Scripts.txt > enc/unicode/name2ctype.kwd

* enc/unicode.c (CodeRanges): move definitions to name2ctype.h.

* enc/unicode/name2ctype.h.blt, enc/unicode/name2ctype.kwd,
  enc/unicode/name2ctype.src: updated to v5.1.

* enc/unicode/UnicodeData.txt, enc/unicode/Scripts.txt: added v5.1.

* Makefile.in: add rule to generate name2ctype.kwd from
  UnicodeData.txt and Scripts.txt.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-25 16:15:38 +00:00
yugui b1c4052fdf * tool/compile_prelude.rb: fixes a regexp pattern for require.
It had matched 'require("foo"('.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08 17:11:39 +00:00
nobu 5a5355e84f * tool/rbinstall.rb (gem): suppressed warnings.
cf: [ruby-dev:38975]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-01 09:35:00 +00:00
usa bc70ea70cd * tool/compile_prelude.rb: too long string literal causes compile error
on some platforms.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 06:09:13 +00:00
yugui e60463034a * tool/compile_prelude.rb: replaces "require" with in-place evaluation
so that copy & paste for lib/rubygems/default.rb is not necessary.

* gem_prelude.rb: removes copied codes from lib/rubygems/defaults.rb.
  uses require instead.

* common.mk (prelude.c): adds dependency for lib/rubygems/defaults.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-30 14:12:25 +00:00
duerst 2886207584 * enc/trans/big5.trans, big5-hkscs-tbl.rb:
new Chinese BIG5-HKSCS transcoding (with Tatsuya Mizuno)

* test/ruby/test_transcode.rb: added tests for the above
  (with Tatsuya Mizuno)

* enc/big5.c: Added BIG5-HKSCS as a replicate encoding of BIG5
  (short term solution, needs more work; with Tatsuya Mizuno)

* tool/transcode-tblgen.rb: made 'pat' directly accessible in
  class StrSet


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-24 10:26:18 +00:00
ko1 20d9aefccb * vm_core.h, compile.c: declare struct iseq_inline_cache_entry.
Inline cache (IC) entries are no longer GC managed object.
  IC entries are freed when ISeq is freed.
* iseq.c: fix mark, free, memsize functions for above change.
* insns.def: remove rb_gc_write_barrier().
* vm_insnhelper.c (vm_method_search): ditto.
* tool/instruction.rb, template/insns_info.inc.tmpl (insn_iclen):
  added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13 09:30:23 +00:00
nobu b472f9b61a * tool/*: executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 08:02:13 +00:00
nobu 9a46638fb3 * tool/rbinstall.rb: renamed to get rid of collision against
instruction.rb on command line completion of shell.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:57:11 +00:00
nobu 9ae3b070c1 * tool/mkconfig.rb (RbConfig.expand): get rid of exceptions on
frozen strings unless really changed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:55:36 +00:00
nobu 99c8ded878 * tool/file2lastrev.rb: get rid of global variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:53:22 +00:00
nobu fd83230726 * tool/compile_prelude.rb: use US-ASCII name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:48:52 +00:00
nobu d06f74d736 * insns.def, tool/instruction.rb: fixed types.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:46:44 +00:00
nobu 7259c3f2e0 * tool/*: executable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-30 07:40:05 +00:00
drbrain 4a29a3e90b Remove suprious #dump on version
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 23:53:36 +00:00
drbrain d88b7ea530 summary is required in a valid gemspec, fixes gem list -d
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 23:44:48 +00:00
yugui d6ef893798 * tool/strip-rdocs.rb: supports QT style doxy-comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 16:39:14 +00:00
yugui c97f55efa5 * tool/instruby.rb (:gem): registers the bundled version
of minitest as a gem as rdoc or rake. 
  c.f. [ruby-dev:38692].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-28 10:08:52 +00:00
usa 7a45306dc6 * instruby.rb: '&' in sed s command's replacement is '\&' in ruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-25 04:10:21 +00:00
nobu e11a1fc9b7 * tool/mkconfig.rb, tool/instruby.rb: removed redundant code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-25 02:47:07 +00:00
yugui 8875ffc412 * configure.in ($ridir): new configuration. [ruby-core:23520].
c.f. [ruby-core:23519].

  (--with-ridir): new configure option.

* tool/instruby.rb (:doc, :rdoc): uses $ridir instead of
  a fixed path.

* lib/rdoc/ri/paths.rb: follows $ridir.

* Makefile.in: removes RIDATADIR which is no longer used.

* bcc32/Makefile.sub: generates the 'ridir' entry for RbConfig.
  removes RIDATADIR which is no longer used.

* win32/Makefile.sub: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-23 16:07:46 +00:00
yugui 8d1e0c0a5a * config.guess: moved into tool/.
* config.sub: ditto.

* install-sh: ditto

* configure.in: follows the moves.

* LEGAL: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-22 11:48:52 +00:00
yugui a654e0b57b * instruby.rb: moved into tool/.
* mkconfig.rb: ditto.

* rubytest.rb: ditto.

* runruby.rb: ditto.

* common.mk: follows the moves.

* configure.in: ditto.

* win32/Makefile.sub: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-22 11:48:42 +00:00
naruse 4fda9d1f73 Fix: raised error on tool/ifchange.
* tool/ifchange: Fix: arguments which begin with minus sign may
  parsed as options.  Because of older systems, don't use --
  but use parentheses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-05 02:33:02 +00:00
naruse 3abca796f4 Fix: DON'T move in_p because before in_p is replaced by buffered data.
* transcode.c: NOMAP is now multibyte direct map.

* transcode.c: remove ASIS.

* transcode_data.h: ditto.

* tool/transcode-tb (ActionMap#generate_info): remove :asis.

* tool/transcode-tb (ActionMap#generate_info): add :nomap0.

* enc/trans/utf8_mac.trans: replace :asis by :nomap0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-05 00:05:11 +00:00
akr d5bfa31f82 * runruby.rb: use RbConfig::CONFIG instead of Config::CONFIG.
* spec/default.mspec: ditto.

* yarvtest/yarvtest.rb: ditto.

* instruby.rb: ditto.

* benchmark/report.rb: ditto.

* benchmark/runc.rb: ditto.

* tool/eval.rb: ditto.

* test/rubygems/test_gem.rb: ditto.

* test/rubygems/test_config.rb: ditto.

* test/rubygems/test_gem_platform.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-30 12:25:23 +00:00
naruse b6285a01fb * tool/transcode-tb (ActionMap#each_firstbyte):
if :asis collides other mappings, use another.

* tool/transcode-tb (ActionMap#generate_info):
  add :asis for ASIS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-26 13:25:09 +00:00
naruse 67798d11b8 * tool/transcode-tb (ActionMap#generate_node):
Use ActionMap#gennode instead of generate_node
  because of initialization.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-26 11:34:15 +00:00
nobu 39dfe91909 * tool/make-snapshot (package): creates .revision.time and passes
CHDIR to create prerequisite files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 12:42:56 +00:00
nobu 929a85f60e * tool/ifchange: removed newer substitution syntax.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-17 06:50:33 +00:00
nobu 2bb561ea5f * common.mk (REVISION_H): keeps timestamp of revision.h.
[ruby-core:22900]

* tool/ifchange, win32/ifchange.bat: extended --timestamp option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-16 03:30:01 +00:00
nobu 1c2cc09063 * tool/ytab.sed: replaces backslashes with slash for nmake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-11 16:08:24 +00:00
nobu dc960b8729 * tool/generic_erb.rb: fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 23:15:59 +00:00
usa 2f7f34f107 * tool/make-snapshot (prereq): remove enc.mk from tarball because
BSD make checks $(srcdir)/enc.mk and try to run $(builddir)/enc.mk.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-30 05:32:43 +00:00
nobu 97de7d1081 * Makefile.in, win32/Makefile.sub (RMDIRS): remove directory and
parents.

* Makefile.in, win32/Makefile.sub (distclean-rdoc): added to remove
  temprary rdoc.

* Makefile.in, win32/Makefile.sub (distclean): removes extout
  directory.

* Makefile.in, win32/Makefile.sub (clean-ext): skips non-existent
  directories.

* common.mk (clean, distclean): cleans rdoc.

* configure.in (RMDIRS, RMALL): added to clean extout.

* lib/fileutils.rb (FileUtils#rmdir): added :parents option.

* lib/mkmf.rb (create_makefile): cleans installed files at clean
  instead of distclean.

* lib/mkmf.rb (create_makefile): added clean-so and clean-rb.

* lib/mkmf.rb (def init_mkmf): added DISTCLEANDIRS.

* lib/un.rb (rmdir): added -p option.

* tool/rmdirs, win32/rmdirs.bat: removes directory and the parents.

* win32/rm.bat: added -r option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-25 02:06:29 +00:00
nobu afba32494c * tool/make-snapshot (package): includes all rules and expand
configured values from the environment to create *.inc, sets RM
  for ripper.c, and needs chdir if absolute path is given with
  -exported option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-16 09:42:33 +00:00
akr 1084032fb4 * tool/file2lastrev.rb: RUBY_REVISION must be an integer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15 11:45:01 +00:00
nobu e24346d6c6 * enc/trans/gb18030.trans: get rid of a 1.9 feature for cross
compile.  [ruby-core:21345]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 15:06:19 +00:00
duerst 82c673d3a1 * enc/trans/gb18030.trans, gb18030-tbl.rb:
new Chinese GB18030 transcoding (from Yoshihiro Kambayashi)

* test/ruby/test_transcode.rb: added tests for the above
  (from Yoshihiro Kambayashi)

* transcode_data.h, transcode.c, tool/transcode_tblgen.rb:
  added support for GB18030-specific 4-byte sequences
  (with Yoshihiro Kambayashi)



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-14 11:12:30 +00:00
yugui e41bd61822 * tool/file2lastrev.rb (get_revisions): fixes problem with
svn on cygwin. [ruby-dev:37702].
  Patch by Kouhei Sutou.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-13 03:37:24 +00:00
yugui 30f3c8c70b * tool/flie2lastrev.rb: supports git repositories which are cloned
from a git-svn gateway.
  Patch by Hongli Lai. [ruby-core:21020]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-01 07:13:24 +00:00
nobu 79ccc677e7 * tool/file2lastrev.rb: unset PWD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-31 21:56:38 +00:00
ko1 8c6a26ab8e * tool/file2lastrev.rb (get_revisions): fix to ignore end of line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-24 11:19:32 +00:00
usa 81031ebdcc * tool/file2lastrev.rb: shouldn't use single quote in shell's command
line if you want to support Windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 06:49:39 +00:00
yugui 59641944e9 * tool/file2lastrev.rb: detects vcs directory properly on building
outside of srcdir. [ruby-dev:37555] [ruby-dev:37561]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 06:39:48 +00:00
yugui c09e5abeee * Doxyfile.in: new file. Template of a configuration file for
Doxygen.
  Intorduces C-level API reference generation with Doxygen.

* tool/file2lastrev.rb: wrapper script that abstracts subversion
  and git-svn.

* tool/strip-rdoc.rb: filter for preventing doxygen from processing
  rdoc comments.

* configure.in: (Doxyfile): Doxyfile is generated together with
  Makefile.
  (PACKAGE): configuration $(PACKAGE) is necessary for $(docdir).

* instruby.rb: adds a new install target 'capi'

* common.mk (capi): new target that generates C API documents with
  Doxygen.
  (install-capi): new target.
  (pre-install-capi): ditto.
  (do-install-capi): ditto.
  (post-install-capi): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 13:19:08 +00:00
nobu aeec60621a * tool/make-snapshot (package): enc.mk in snapshot is dummy and should
not deal with objects.  [ruby-core:20422]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-08 15:54:05 +00:00
nobu 82a0e61e6e * tool/make-snapshot (package): added RM and CP. [ruby-dev:37288]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-06 09:33:20 +00:00
nobu b2a9e7c85a * tool/make-snapshot: binary encoding spec is no longer needed in 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-06 16:24:32 +00:00
yugui 2e376a1b96 * tool/make-snapshot.rb: merged from ruby_1_9_1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 08:21:57 +00:00
nobu b39833e1d7 * tool/make-snapshot: use String#bytesize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 07:13:39 +00:00
yugui fe7ce06150 * configure.in ($MANTYPE): followed ruby.1, which had moved.
* instruby.rb (:man): ditto.

* mdoc2man.rb: fixed for the case Xr with 2 arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-25 17:20:05 +00:00
yugui 89dfcd82f0 * mdoc2man.rb: moved into tools/.
* instruby.rb: followed the change of mdoc2man.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21 04:19:56 +00:00
nobu 295c75cb7c * tool/generic_erb.rb: sends the result to stdout if no output option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-19 12:19:19 +00:00
nobu de85d6e92e * common.mk (srcs): removed ID_H_TARGET.
* tool/generic_erb.rb: always overwrites if no if-change option.

* template/id.h.tmpl: shows which token differs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-19 12:12:53 +00:00
yugui c2091e37ec * keywords, lex.c.src, opt_insn_unif.def, opt_operand.def: moved rarely changed
input files for code generators into defs/ directory.

* Makefile.in (lex.c): followed keywords and lex.c.src.

* common.mk (parser.o): followed keywords.
  (INSNS): followed opt_*.def

* tools/instruction.rb: followed opt_*.def.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 22:30:13 +00:00
duerst 7adbfbb793 * tool/transcode-tblgen.rb: added set_valid_byte_pattern
to reduce coupling between table generation script and
  specific encodings.

* enc/trans/single_byte.trans: using set_valid_byte_pattern


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18 08:10:57 +00:00
nobu b025ce4678 * common.mk (ID_H_TARGET): phony target to update id.h.
* tool/ifchange, win32/ifchange.bat: --timestamp option added.

* tool/generic_erb.rb: --timestamp, --output and --if-change options
  added.

* template/id.h.tmpl: moved from id.h.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 10:46:23 +00:00
usa 68222eb417 * tool/insns2vm.rb: remove -Kn option in shebang line because it's
inconsistent with -Ks commandline option in common.mk.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-17 01:30:13 +00:00
duerst 48a303c027 * enc/trans/single_byte.trans: added windows-1252
* enc/trans/windows-1252-tbl.rb: new file
  (contributed by Yoshihiro Kambayashi)

* tool/transcode-tblgen.rb: listed windows-1252 as '1byte'

* test/ruby/test_transcode.rb: added test_windows_1252
  (contributed by Yoshihiro Kambayashi)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-14 04:37:10 +00:00
nobu a2ae773503 * common.mk (dist): nothing is need to run BASERUBY.
* tool/make-snapshot: new option -archname.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 09:40:04 +00:00
yugui 16c95b42ce * error.c (Init_syserr): moved to the template.
(errno_missing): removed. fixed [ruby-dev:35958].

* defs/knwon_errors.def: added. extracted from Init_syserr.

* templates/known_errors.inc.tmpl: added. Template for Init_syserr.
  c.f. [ruby-dev:35958].

* tools/generic_erb.rb: added. general purpose mapper which maps
  data+template into source code.

* common.mk (error.$(OBJEXT), incs, known_errors.inc):
  Fixed dependencies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26 08:18:49 +00:00
akr 6eb3843b17 * transcode_data.h (STR1_LENGTH): defined.
(makeSTR1LEN): defined.

* tool/transcode-tblgen.rb: use makeSTR1LEN.  generate STR1 for 4 to
  259 bytes.

* transcode.c (rb_transcoding): new field: output_index.
  (transcode_restartable0): use STR1_LENGTH.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 15:42:30 +00:00
mame a4a3c85558 * tool/compile_prelude.rb: print "<internal:prelude>" instead of
"prelude.rb" on stack trace.  [ruby-dev:36129]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-10 14:07:13 +00:00
akr 06d8db19cb * tool/transcode-tblgen.rb (StrSet#hash): cache hash value.
(ActionMap#hash): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-09 16:59:53 +00:00
akr 6270ad5b7f * include/ruby/encoding.h (rb_econv_asciicompat_encoding): renamed
from rb_econv_stateless_encoding to apply stateless ASCII
  incompatible encodings such as UTF-16BE.

* io.c (make_writeconv): use rb_econv_asciicompat_encoding.

* transcode_data.h (rb_transcoder_asciicompat_type_t): renamed from
  rb_transcoder_stateful_type_t.
  (rb_transcoder): use rb_transcoder_asciicompat_type_t.

* transcode.c: follow the type change.
  (asciicompat_encoding_i): renamed from stateless_encoding_i.
  (rb_econv_asciicompat_encoding): renamed from
  rb_econv_stateless_encoding.
  (econv_s_asciicompat_encoding): method renamed.

* tool/transcode-tblgen.rb: follow the type change.

* enc/trans/utf_16_32.trans: follow the type change.
  rb_from_UTF_16BE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_16LE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_32BE to UTF-8 is asciicompat_decoder.
  rb_from_UTF_32LE to UTF-8 is asciicompat_decoder.
  UTF-8 to rb_to_UTF_16BE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_16LE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_32BE is asciicompat_encoder.
  UTF-8 to rb_to_UTF_32LE is asciicompat_encoder.

* enc/trans/newline.trans: follow the type change.  universal newline
  decoder is asciicompat_converter.

* enc/trans/escape.trans: follow the type change.

* enc/trans/iso2022.trans: ditto.

* enc/trans/japanese.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 14:33:17 +00:00
akr 1625494feb * tool/transcode-tblgen.rb (ArrayCode): less string substitutions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 09:16:45 +00:00
akr 08c3dd54bf * tool/transcode-tblgen.rb (transcode_tblgen): log message refined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 16:11:40 +00:00
akr faa1387484 * enc/trans/escape.trans: use transcode_tblgen.
* tool/transcode-tblgen.rb: generate an empty line after str1.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 10:46:30 +00:00
akr eee75cc1a6 * tool/transcode-tblgen.rb (ActionMap#str_name): new method to
generate a name base on string content.
  (ActionMap#gen_str): extracted from generate_info and use str_name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 10:17:52 +00:00
akr dcdc7579c5 * tool/transcode-tblgen.rb (ActionMap#generate_info): use a memo to
avoid duplication for STR1.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 09:30:54 +00:00
akr c0bec2fae1 * transcode_data.h (STR1): defined for a string up to 255 bytes.
(STR1_BYTEINDEX): defined.
  (makeSTR1): defined.

* tool/transcode-tblgen.rb: generate STR1.

* transcode.c (transcode_restartable0): interpret STR1.

* enc/trans/escape.trans (fun_so_escape_xml_chref): removed.  STR1 is
  used instead.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 09:13:16 +00:00
akr 78543725eb * tool/transcode-tblgen.rb: o4 is usable only if the first byte is
f0-f7.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 08:30:32 +00:00
akr fb9c53dea5 * tool/transcode-tblgen.rb (StrSet.parse): accept upper case
hexadecimal digits.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 21:24:42 +00:00
nobu 783541e0a4 * tool/transcode-tblgen.rb (citrus_decode_mapsrc): support older 1.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 01:43:50 +00:00
akr f6441bf61c * transcode_data.h (rb_transcoding): remove stateful field.
add state field.
  (TRANSCODING_STATE): defined.
  (rb_transcoder): add fields: state_size, state_init_func,
  state_fini_func.
  change rb_transcoding* argument to void*.

* transcode.c (transcode_restartable0): use TRANSCODING_STATE for
  first arguments of transcoder functions.
  (rb_transcoding_open_by_transcoder): initialize state field.
  (rb_transcoding_close): finalize state field.

* tool/transcode-tblgen.rb: provide state size/init/fini.

* enc/trans/newline.trans (universal_newline_init): defined.
  (fun_so_universal_newline): take void* as a state pointer.
  (rb_universal_newline): provide state size/init/fini.
  (rb_crlf_newline): ditto.
  (rb_cr_newline): ditto.

* enc/trans/iso2022.trans (iso2022jp_init): defined.
  (fun_si_iso2022jp_to_eucjp): take void* as a state pointer.
  (fun_so_iso2022jp_to_eucjp): ditto.
  (fun_so_eucjp_to_iso2022jp): ditto.
  (iso2022jp_reset_sequence_size): ditto.
  (finish_eucjp_to_iso2022jp): ditto.
  (rb_ISO_2022_JP_to_EUC_JP): provide state size/init/fini.
  (rb_EUC_JP_to_ISO_2022_JP): ditto.

* enc/trans/utf_16_32.trans (fun_so_from_utf_16be): take void* as a
  state pointer.
  (fun_so_to_utf_16be): ditto.
  (fun_so_from_utf_16le): ditto.
  (fun_so_to_utf_16le): ditto.
  (fun_so_from_utf_32be): ditto.
  (fun_so_to_utf_32be): ditto.
  (fun_so_from_utf_32le): ditto.
  (fun_so_to_utf_32le): ditto.
  (rb_from_UTF_16BE): provide state size/init/fini.
  (rb_to_UTF_16BE): ditto.
  (rb_from_UTF_16LE): ditto.
  (rb_to_UTF_16LE): ditto.
  (rb_from_UTF_32BE): ditto.
  (rb_to_UTF_32BE): ditto.
  (rb_from_UTF_32LE): ditto.
  (rb_to_UTF_32LE): ditto.

* enc/trans/japanese.trans (fun_so_eucjp2sjis): take void* as a state
  pointer.
  (fun_so_sjis2eucjp): ditto.
  (rb_eucjp2sjis): provide state size/init/fini.
  (rb_sjis2eucjp): provide state size/init/fini.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 14:12:06 +00:00
akr 6378201f8b * transcode_data.h (WORDINDEX_SHIFT_BITS): defined.
(WORDINDEX2INFO): defined.
  (INFO2WORDINDEX): defined.

* tool/transcode-tblgen.rb: use WORDINDEX2INFO.

* transcode.c: use INFO2WORDINDEX.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 12:35:29 +00:00
akr 4277473d5b * transcode_data.h (rb_transcoder): new field: byte_array_length and
word_array_length.

* tool/transcode-tblgen.rb (transcode_generated_code): generate
  byte_array_length and word_array_length.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 11:48:17 +00:00
akr 9233dc9bf4 * tool/transcode-tblgen.rb (ArrayCode): new class.
(ActionMap#gen_array_code): moved to ArrayCode.
  (ActionMap#numelt_array_code): ditto.
  (ActionMap#array_code_insert_at_last): ditto.
  (TRANSCODE_GENERATED_BYTES_CODE): use ArrayCode.
  (TRANSCODE_GENERATED_WORDS_CODE): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 11:36:04 +00:00
akr 8108417c5e * tool/transcode-tblgen.rb (ActionMap#gen_array_code): extracted from
generate_lookup_node.
  (ActionMap#numelt_array_code): ditto.
  (ActionMap#array_code_insert_at_last): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 11:07:16 +00:00
akr 41e1933fd8 * transcode_data.h (base_element): removed.
(BYTE_LOOKUP): removed.
  (BYTE_LOOKUP_BASE): don't cast.
  (BYTE_LOOKUP_INFO): ditto.
  (PType): unsigned int, instead of uintptr_t.
  (rb_transcoding): change type of next_field, conv_tree_start and
  word_array.

* tool/transcode-tblgen.rb: generate word_array as array of unsigned
  int.

* transcode.c (transcode_restartable0): follow the above type change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 13:26:02 +00:00
akr 39f172f9d7 * tool/transcode-tblgen.rb: add prefix for byte_array and word_array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 12:22:56 +00:00
akr 5727e9c980 * tool/transcode-tblgen.rb: comment removed in generated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 18:26:58 +00:00
akr c5759bfb5b * tool/transcode-tblgen.rb: define TRANSCODE_TABLE_INFO in generated
code.  use it in rb_transcoder.

* enc/trans/newline.trans: use TRANSCODE_TABLE_INFO.

* enc/trans/iso2022.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 18:18:50 +00:00
akr 6058eeaf03 * tool/transcode-tblgen.rb: record infos and BYTE_LOOKUPs as index of
word_array to avoid relocation.

* transcode.c (transcode_restartable0): add word_array to get infos
  and BYTE_LOOKUPs.

* transcode_data.h (BYTE_LOOKUP_INFO): change return type to
  uintptr_t.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 18:06:28 +00:00
akr 3b090adf7c * tool/transcode-tblgen.rb: don't need to cast offsets array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 17:49:13 +00:00
akr 7908180df1 * tool/transcode-tblgen.rb: record offsets array as index of
byte_array to avoid relocation.

* transcode.c (transcode_restartable0): add byte_array to get offsets
  array.

* transcode_data.h (BYTE_LOOKUP_BASE): change return type to
  uintptr_t.
  (rb_transcoder): add fields: byte_array, word_array and word_size.

* enc/trans/newline.trans: follow rb_transcoder change.

* enc/trans/iso2022.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 17:40:32 +00:00
akr 6c835ee50a * tool/transcode-tblgen.rb: make infos arrays and BYTE_LOOKUPs into
single array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 17:06:07 +00:00
akr 752e053a1d * transcode_data.h (BYTE_LOOKUP): change to uintptr_t array.
(BYTE_LOOKUP_BASE): follow the type change.
  (BYTE_LOOKUP_INFO): ditto.
  (PType): ditto.
  (rb_transcoding): ditto.

* tool/transcode-tblgen.rb: follow the type change.

* transcode.c: ditto.

* enc/trans/newline.trans: ditto.

* enc/trans/iso2022.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 16:22:49 +00:00
akr edf1d608c7 * tool/transcode-tblgen.rb: gather infos arrays and BYTE_LOOKUPs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 14:16:30 +00:00
akr 339dfc32a7 * tool/transcode-tblgen.rb: make offsets arrays into single array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 13:21:06 +00:00
akr 03ec9b1aac * tool/transcode-tblgen.rb: gather offsets array at top.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 12:52:58 +00:00
akr 9f8cf6559a * tool/transcode-tblgen.rb: ValidEncoding['eucJP-ms'] defined.
"\xA2\xAF".encode("utf-8", "eucJP-ms") should raise
  Encoding::ConversionUndefined, not Encoding::InvalidByteSequence.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 10:38:16 +00:00
naruse 7ae5e9c960 * tool/transcode-tblgen.rb (transcode_compile_tree): use the first
mapping when some mappings are given for a character.
  [ruby-dev:36068]

* tool/transcode-tblgen.rb: expandtab.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 05:54:36 +00:00
usa ae80b4fac2 * tool/transcode-tblgen.rb: set ERB source filename for error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 05:39:48 +00:00
akr 0f81455429 * tool/transcode-tblgen.rb: change "illegal" to "invalid".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 17:49:08 +00:00
akr 8841969485 * tool/transcode-tblgen.rb (transcode_generated_code): defined for
generating table at once.
  (transcode_tblgen): returns an empty string.
  (transcode_generate_node): ditto.

* enc/trans/newline.trans: use transcode_generated_code.

* enc/trans/iso2022.trans: ditto.

* enc/trans/single_byte.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.

* enc/trans/japanese.trans: ditto.

* enc/trans/korean.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 17:35:00 +00:00
akr 6b2efe107f * tool/transcode-tblgen.rb (citrus_decode_mapsrc): print logging
message on STDERR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 17:10:45 +00:00
naruse 1893e19865 * tool/transcode-tblgen.rb: add table generator from Citrus maps.
* enc/trans/japanese.trans: use Citrus maps.

* enc/trans/CP: add maps from Citrus.

* enc/trans/JIS: ditto.

* test/ruby/test_transcode.rb: Shift_JIS and EUC-JP doesn't support
  IBM extended characters.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 16:23:04 +00:00
yugui 42307bf41f * common.mk (dist): tool/make-snapshot is executable.
* tool/make-snapshot (package): supported release numbers 1.9.0-x.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 17:47:57 +00:00
akr a55e167b68 * transcode_data.h (rb_transcoder_stateful_type_t): defined.
(rb_transcoder): add field: stateful_type.

* tool/transcode-tblgen.rb: generate stateful_type field as
  stateless_converter.

* enc/trans/iso2022.trans: follow rb_transcoder change.

* enc/trans/newline.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-15 23:13:01 +00:00
akr 74a36d5d1f * include/ruby/encoding.h (rb_econv_output): declared.
* transcode_data.h (rb_transcoder): add resetsize_func field.

* enc/trans/iso2022.trans (iso2022jp_reset_sequence_size): defined.
  (rb_EUC_JP_to_ISO_2022_JP): provede resetsize_func.

* tool/transcode-tblgen.rb: set NULL for resetsize_func.

* transcode.c (rb_econv_output): new function for inserting output.
  (output_replacement_character): use rb_econv_output.
  (transcode_loop): check return value of
  output_replacement_character.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-14 15:56:39 +00:00
akr be51387d55 * tool/transcode-tblgen.rb: check unexpected actions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-14 11:53:47 +00:00
nobu eaa1bcab35 * tool/make-snapshot: fix for clean up.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-13 04:09:15 +00:00
nobu 7caecdbe38 * tool/make-snapshot: try to find exported directory.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-13 01:45:35 +00:00
nobu 12096f588f * tool/make-snapshot: fix for enc.mk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12 10:11:11 +00:00
matz 6885f3b708 * tool/transcode-tblgen.rb (#transcode_tblgen): slight message
improvement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12 09:25:19 +00:00
akr 5ade93542f * transcode_data.h (TRANSCODE_ERROR): removed.
* tool/transcode-tblgen.rb: 8bit byte of ASCII-8BIT is a valid
  (but unique to ASCII-8BIT) character.

* transcode.c (rb_eConversionUndefined): new error.
  (rb_eInvalidByteSequence): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12 07:20:10 +00:00
akr 94ca2d94de * transcode_data.h (rb_transcoder): add resetstate_func field for
resetting a state of stateful encoding.

* enc/trans/iso2022.trans (rb_EUC_JP_to_ISO_2022_JP): specify
  finish_eucjp_to_iso2022jp for resetstate_func.

* tool/transcode-tblgen.rb: specify NULL for resetstate_func.

* transcode.c (output_replacement_character): call resetstate_func
  before appending the replacement character.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-11 22:44:23 +00:00
akr 2897632f16 * enc/trans/iso2022.trans: renamed from iso2022.erb.c.
* enc/trans/single_byte.trans: ditto.

* enc/trans/utf_16_32.trans: ditto.

* enc/trans/korean.trans: ditto.

* enc/trans/japanese.trans: ditto.

* enc/depend: follow the renaming.

* tool/build-transcode: ditto.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-11 07:39:52 +00:00
akr 30e90a335d * tool/transcode-tblgen.rb: record checksum of
transcode-tblgen.rb itself.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-10 09:10:58 +00:00
nobu e3d9fc76e6 * enc/Makefile.in (make-workdir): use MAKEDIRS.
* enc/depend: makes target directory before compile/link.

* tool/transcode-tblgen.rb: creates target directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-10 02:45:18 +00:00
akr 139234e1a0 * transcode_data.h (rb_transcoding): add fields for restartable
transcoding.
  (rb_transcoder): add max_input field.
  from_unit_length field is renamed to input_unit_length.

* tool/transcode-tblgen.rb: generate max_input field.

* enc/trans/iso2022.erb.c: follow rb_transcoder change.

* enc/trans/utf_16_32.erb.c: ditto.

* transcode.c (PARTIAL_INPUT): new constant.
  (transcode_char_start): new function.
  (transcode_result_t): new type.
  (transcode_restartable): new function.
  (more_output_buffer): new function.
  (transcode_loop): use transcode_restartable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-09 06:02:01 +00:00
akr 2833d9f95d * transcode_data.h (rb_transcoder): from_unit_length field added.
from_utf8 field removed.

* tool/transcode-tblgen.rb: generate offsets range.
  follow rb_transcoder change.

* transcode.c (transcode_loop): don't use from_utf8.
  make invalid region from_unit_length wise.

* enc/trans/iso2022.erb.c: follow rb_transcoder and 
  transcode_generate_node change.

* enc/trans/utf_16_32.erb.c: follow rb_transcoder and
  transcode_generate_node change.
  explicit :invalid map removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-08 15:48:17 +00:00
akr 1504652373 * transcode_data.h (rb_transcoding): new field "stateful".
(rb_transcoder): preprocessor and postprocessor field removed.
  change arguments of func_ii, func_si, func_io and func_so.
  new field "finish_func".

* tool/transcode-tblgen.rb: make FUNii, FUNsi and FUNio
  generatable.

* transcode.c (transcoder_lib_table): removed.
  (transcoder_table): change structure.
  (transcoder_key): removed because the above structure change.
  (make_transcoder_entry): new function.
  (get_transcoder_entry): ditto.
  (rb_register_transcoder): follow the structure change.
  (declare_transcoder): ditto.
  (transcode_search_path): new function for breadth first search to
  find a list of converters.
  (transcode_search_path_i): new function.
  (transcode_dispatch_cb): ditto.
  (transcode_dispatch): use transcode_search_path.
  (transcode_loop): follow the argument change.
  (str_transcode): preprocessor and postprocessor stuff removed.

* enc/trans/iso2022.erb.c: new file.  ISO-2022-JP conversion
  re-implemented.

* enc/trans/japanese.erb.c: ISO-2022-JP stuff removed.

nute(23:52:53)% head -40 ChangeLog
Thu Aug  7 23:43:11 2008  Tanaka Akira  <akr@fsij.org>

* transcode_data.h (rb_transcoding): new field "stateful".
  (rb_transcoder): preprocessor and postprocessor field removed.
  change arguments of func_ii, func_si, func_io and func_so.
  new field "finish_func".

* tool/transcode-tblgen.rb: make FUNii, FUNsi and FUNio
  generatable.

* transcode.c (transcoder_lib_table): removed.
  (transcoder_table): change structure.
  (transcoder_key): removed because the above structure change.
  (make_transcoder_entry): new function.
  (get_transcoder_entry): ditto.
  (rb_register_transcoder): follow the structure change.
  (declare_transcoder): ditto.
  (transcode_search_path): new function for breadth first search to
  find a list of converters.
  (transcode_search_path_i): new function.
  (transcode_dispatch_cb): ditto.
  (transcode_dispatch): use transcode_search_path.
  (transcode_loop): follow the argument change.
  (str_transcode): preprocessor and postprocessor stuff removed.

* enc/trans/iso2022.erb.c: new file.  ISO-2022-JP conversion
  re-implemented.

* enc/trans/japanese.erb.c: ISO-2022-JP stuff removed.

* enc/trans/utf_16_32.erb.c: follow argument change of FUNso.

[ruby-dev:35798]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-07 14:53:30 +00:00
akr e22b3b773d * tool/transcode-tblgen.rb (transcode_generate_node): code
argument removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-06 13:42:21 +00:00
akr 5adb247914 * tool/transcode-tblgen.rb: distinguish UNDEF and INVALID.
[ruby-dev:35709]

* transcode.c (transcode_loop): don't need rb_enc_mbclen now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-06 11:47:14 +00:00
akr 2ec44b3d7f * tool/transcode-tblgen.rb (ActionMap#eql?): use == to compare @map.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-05 23:00:01 +00:00
akr e90dd02529 * tool/transcode-tblgen.rb: show generating tables in verbose mode.
(transcode_generate_node): call ActionMap#generate_node with showing
  table name.

* enc/trans/utf_16_32.erb.c: use transcode_generate_node.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-05 22:47:44 +00:00