зеркало из https://github.com/github/ruby.git
* ext/iconv/charset_alias.rb: preserve original order.
* ext/iconv/extconf.rb: remove wrapper file at clean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
6a3f682ff7
Коммит
2298eb5f12
|
@ -1,3 +1,9 @@
|
|||
Sat Dec 13 18:55:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* ext/iconv/charset_alias.rb: preserve original order.
|
||||
|
||||
* ext/iconv/extconf.rb: remove wrapper file at clean.
|
||||
|
||||
Sat Dec 13 18:09:42 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* eval.c (thread_timer): use timer by sub-thread and nanosleep.
|
||||
|
|
|
@ -7,8 +7,21 @@ require 'rbconfig'
|
|||
OS = Config::CONFIG["target"]
|
||||
SHELL = Config::CONFIG['SHELL']
|
||||
|
||||
class Hash::Ordered < Hash
|
||||
def [](key)
|
||||
val = super and val.last
|
||||
end
|
||||
def []=(key, val)
|
||||
ary = fetch(key) {return super(key, [self.size, key, val])} and
|
||||
ary.last = val
|
||||
end
|
||||
def each
|
||||
values.sort.each {|i, key, val| yield key, val}
|
||||
end
|
||||
end
|
||||
|
||||
def charset_alias(config_charset, mapfile, target = OS)
|
||||
map = {}
|
||||
map = Hash::Ordered.new
|
||||
comments = []
|
||||
IO.foreach("|#{SHELL} #{config_charset} #{target}") do |list|
|
||||
next comments << list if /^\#/ =~ list
|
||||
|
@ -29,7 +42,7 @@ def charset_alias(config_charset, mapfile, target = OS)
|
|||
f.puts
|
||||
f.puts(comments)
|
||||
f.puts("class Iconv")
|
||||
map.keys.sort.each {|can| f.puts(" charset_map['#{can}'.freeze] = '#{map[can]}'.freeze")}
|
||||
map.each {|can, sys| f.puts(" charset_map['#{can}'.freeze] = '#{sys}'.freeze")}
|
||||
f.puts("end")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -31,11 +31,13 @@ test(iconv_t cd, char **inptr, size_t *inlen, char **outptr, size_t *outlen)
|
|||
else
|
||||
conf = prefix + "config.charset"
|
||||
end
|
||||
wrapper = "iconv.rb"
|
||||
$cleanfiles << wrapper
|
||||
end
|
||||
create_makefile("iconv")
|
||||
if conf
|
||||
open("Makefile", "a") do |mf|
|
||||
mf.print("\nall: iconv.rb\n\niconv.rb: ", prefix, "charset_alias.rb")
|
||||
mf.print("\nall: #{wrapper}\n\n#{wrapper}: #{prefix}charset_alias.rb")
|
||||
mf.print(" ", conf) unless scheme
|
||||
mf.print("\n\t$(RUBY) ", prefix, "charset_alias.rb ", conf, " $@\n")
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче