diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | tool/transcode-tblgen.rb | 7 |
2 files changed, 14 insertions, 1 deletions
@@ -1,3 +1,11 @@ +Sun Apr 26 22:17:02 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * tool/transcode-tb (ActionMap#each_firstbyte): + if :asis collides other mappings, use another. + + * tool/transcode-tb (ActionMap#generate_info): + add :asis for ASIS. + Sun Apr 26 21:59:43 2009 NARUSE, Yui <naruse@ruby-lang.org> * transcode.c (ASIS): added for multi byte direct map. diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 266b5a8500..83fc198da0 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -237,7 +237,10 @@ class ActionMap else ss.each_firstbyte {|byte, rest| h[byte] ||= {} - if h[byte][rest] + if h[byte][rest].nil? + elsif action == :asis + next + elsif h[byte][rest] != :asis raise "ambiguous %s or %s (%02X/%s)" % [h[byte][rest], action, byte, rest] end h[byte][rest] = action @@ -316,6 +319,8 @@ class ActionMap case info when :nomap "NOMAP" + when :asis + "ASIS" when :undef "UNDEF" when :invalid |