bindex 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.travis.yml +48 -0
  4. data/CONTRIBUTING.md +15 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +38 -0
  8. data/Rakefile +48 -0
  9. data/bindex.gemspec +27 -0
  10. data/ext/bindex/bindex.h +11 -0
  11. data/ext/bindex/bindings.c +106 -0
  12. data/ext/bindex/com/gsamokovarov/bindex/BindingBuilder.java.erb +17 -0
  13. data/ext/bindex/com/gsamokovarov/bindex/CurrentBindingsIterator.java +54 -0
  14. data/ext/bindex/com/gsamokovarov/bindex/RubyBindingsCollector.java +34 -0
  15. data/ext/bindex/com/gsamokovarov/bindex/SetExceptionBindingsEventHook.java +21 -0
  16. data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInterfaceException.java +14 -0
  17. data/ext/bindex/com/gsamokovarov/bindex/ThreadContextInternals.java +54 -0
  18. data/ext/bindex/cruby.c +34 -0
  19. data/ext/bindex/extconf.rb +29 -0
  20. data/ext/bindex/ruby_193.h +101 -0
  21. data/ext/bindex/ruby_193/addr2line.h +21 -0
  22. data/ext/bindex/ruby_193/constant.h +34 -0
  23. data/ext/bindex/ruby_193/debug.h +41 -0
  24. data/ext/bindex/ruby_193/dln.h +50 -0
  25. data/ext/bindex/ruby_193/encdb.h +167 -0
  26. data/ext/bindex/ruby_193/eval_intern.h +234 -0
  27. data/ext/bindex/ruby_193/gc.h +99 -0
  28. data/ext/bindex/ruby_193/id.h +177 -0
  29. data/ext/bindex/ruby_193/internal.h +242 -0
  30. data/ext/bindex/ruby_193/iseq.h +126 -0
  31. data/ext/bindex/ruby_193/method.h +105 -0
  32. data/ext/bindex/ruby_193/node.h +504 -0
  33. data/ext/bindex/ruby_193/parse.h +302 -0
  34. data/ext/bindex/ruby_193/probes.h +369 -0
  35. data/ext/bindex/ruby_193/regenc.h +219 -0
  36. data/ext/bindex/ruby_193/regint.h +850 -0
  37. data/ext/bindex/ruby_193/regparse.h +362 -0
  38. data/ext/bindex/ruby_193/revision.h +1 -0
  39. data/ext/bindex/ruby_193/ruby_atomic.h +175 -0
  40. data/ext/bindex/ruby_193/siphash.h +48 -0
  41. data/ext/bindex/ruby_193/thread_pthread.h +51 -0
  42. data/ext/bindex/ruby_193/thread_win32.h +40 -0
  43. data/ext/bindex/ruby_193/timev.h +21 -0
  44. data/ext/bindex/ruby_193/transcode_data.h +117 -0
  45. data/ext/bindex/ruby_193/transdb.h +186 -0
  46. data/ext/bindex/ruby_193/verconf.h +12 -0
  47. data/ext/bindex/ruby_193/version.h +52 -0
  48. data/ext/bindex/ruby_193/vm_core.h +763 -0
  49. data/ext/bindex/ruby_193/vm_exec.h +184 -0
  50. data/ext/bindex/ruby_193/vm_insnhelper.h +220 -0
  51. data/ext/bindex/ruby_193/vm_opts.h +51 -0
  52. data/ext/bindex/ruby_20.h +142 -0
  53. data/ext/bindex/ruby_20/addr2line.h +21 -0
  54. data/ext/bindex/ruby_20/constant.h +36 -0
  55. data/ext/bindex/ruby_20/dln.h +50 -0
  56. data/ext/bindex/ruby_20/encdb.h +169 -0
  57. data/ext/bindex/ruby_20/eval_intern.h +241 -0
  58. data/ext/bindex/ruby_20/gc.h +104 -0
  59. data/ext/bindex/ruby_20/id.h +135 -0
  60. data/ext/bindex/ruby_20/internal.h +395 -0
  61. data/ext/bindex/ruby_20/iseq.h +140 -0
  62. data/ext/bindex/ruby_20/method.h +138 -0
  63. data/ext/bindex/ruby_20/node.h +541 -0
  64. data/ext/bindex/ruby_20/parse.h +292 -0
  65. data/ext/bindex/ruby_20/probes.h +369 -0
  66. data/ext/bindex/ruby_20/probes_helper.h +67 -0
  67. data/ext/bindex/ruby_20/regenc.h +227 -0
  68. data/ext/bindex/ruby_20/regint.h +915 -0
  69. data/ext/bindex/ruby_20/regparse.h +367 -0
  70. data/ext/bindex/ruby_20/revision.h +1 -0
  71. data/ext/bindex/ruby_20/ruby_atomic.h +170 -0
  72. data/ext/bindex/ruby_20/siphash.h +48 -0
  73. data/ext/bindex/ruby_20/thread_pthread.h +56 -0
  74. data/ext/bindex/ruby_20/thread_win32.h +45 -0
  75. data/ext/bindex/ruby_20/timev.h +21 -0
  76. data/ext/bindex/ruby_20/transcode_data.h +127 -0
  77. data/ext/bindex/ruby_20/transdb.h +190 -0
  78. data/ext/bindex/ruby_20/verconf.h +12 -0
  79. data/ext/bindex/ruby_20/version.h +52 -0
  80. data/ext/bindex/ruby_20/vm_core.h +1018 -0
  81. data/ext/bindex/ruby_20/vm_debug.h +41 -0
  82. data/ext/bindex/ruby_20/vm_exec.h +173 -0
  83. data/ext/bindex/ruby_20/vm_insnhelper.h +274 -0
  84. data/ext/bindex/ruby_20/vm_opts.h +56 -0
  85. data/ext/bindex/ruby_21.h +142 -0
  86. data/ext/bindex/ruby_21/addr2line.h +21 -0
  87. data/ext/bindex/ruby_21/constant.h +36 -0
  88. data/ext/bindex/ruby_21/dln.h +51 -0
  89. data/ext/bindex/ruby_21/encdb.h +170 -0
  90. data/ext/bindex/ruby_21/eval_intern.h +260 -0
  91. data/ext/bindex/ruby_21/gc.h +101 -0
  92. data/ext/bindex/ruby_21/id.h +210 -0
  93. data/ext/bindex/ruby_21/internal.h +889 -0
  94. data/ext/bindex/ruby_21/iseq.h +136 -0
  95. data/ext/bindex/ruby_21/method.h +142 -0
  96. data/ext/bindex/ruby_21/node.h +543 -0
  97. data/ext/bindex/ruby_21/parse.h +298 -0
  98. data/ext/bindex/ruby_21/probes.h +401 -0
  99. data/ext/bindex/ruby_21/probes_helper.h +67 -0
  100. data/ext/bindex/ruby_21/regenc.h +223 -0
  101. data/ext/bindex/ruby_21/regint.h +911 -0
  102. data/ext/bindex/ruby_21/regparse.h +363 -0
  103. data/ext/bindex/ruby_21/revision.h +1 -0
  104. data/ext/bindex/ruby_21/ruby_atomic.h +170 -0
  105. data/ext/bindex/ruby_21/siphash.h +48 -0
  106. data/ext/bindex/ruby_21/thread_native.h +23 -0
  107. data/ext/bindex/ruby_21/thread_pthread.h +56 -0
  108. data/ext/bindex/ruby_21/thread_win32.h +45 -0
  109. data/ext/bindex/ruby_21/timev.h +42 -0
  110. data/ext/bindex/ruby_21/transcode_data.h +123 -0
  111. data/ext/bindex/ruby_21/transdb.h +190 -0
  112. data/ext/bindex/ruby_21/verconf.h +13 -0
  113. data/ext/bindex/ruby_21/version.h +52 -0
  114. data/ext/bindex/ruby_21/vm_core.h +1043 -0
  115. data/ext/bindex/ruby_21/vm_debug.h +37 -0
  116. data/ext/bindex/ruby_21/vm_exec.h +182 -0
  117. data/ext/bindex/ruby_21/vm_insnhelper.h +273 -0
  118. data/ext/bindex/ruby_21/vm_opts.h +56 -0
  119. data/ext/bindex/ruby_21preview.h +146 -0
  120. data/ext/bindex/ruby_21preview/addr2line.h +21 -0
  121. data/ext/bindex/ruby_21preview/constant.h +36 -0
  122. data/ext/bindex/ruby_21preview/dln.h +51 -0
  123. data/ext/bindex/ruby_21preview/encdb.h +270 -0
  124. data/ext/bindex/ruby_21preview/eval_intern.h +217 -0
  125. data/ext/bindex/ruby_21preview/gc.h +100 -0
  126. data/ext/bindex/ruby_21preview/id.h +169 -0
  127. data/ext/bindex/ruby_21preview/internal.h +765 -0
  128. data/ext/bindex/ruby_21preview/iseq.h +136 -0
  129. data/ext/bindex/ruby_21preview/method.h +141 -0
  130. data/ext/bindex/ruby_21preview/node.h +543 -0
  131. data/ext/bindex/ruby_21preview/parse.h +298 -0
  132. data/ext/bindex/ruby_21preview/probes.h +385 -0
  133. data/ext/bindex/ruby_21preview/probes_helper.h +67 -0
  134. data/ext/bindex/ruby_21preview/regenc.h +223 -0
  135. data/ext/bindex/ruby_21preview/regint.h +911 -0
  136. data/ext/bindex/ruby_21preview/regparse.h +363 -0
  137. data/ext/bindex/ruby_21preview/revision.h +1 -0
  138. data/ext/bindex/ruby_21preview/ruby_atomic.h +130 -0
  139. data/ext/bindex/ruby_21preview/siphash.h +48 -0
  140. data/ext/bindex/ruby_21preview/thread_native.h +23 -0
  141. data/ext/bindex/ruby_21preview/thread_pthread.h +56 -0
  142. data/ext/bindex/ruby_21preview/thread_win32.h +45 -0
  143. data/ext/bindex/ruby_21preview/timev.h +42 -0
  144. data/ext/bindex/ruby_21preview/transcode_data.h +123 -0
  145. data/ext/bindex/ruby_21preview/transdb.h +190 -0
  146. data/ext/bindex/ruby_21preview/verconf.h +13 -0
  147. data/ext/bindex/ruby_21preview/version.h +53 -0
  148. data/ext/bindex/ruby_21preview/vm_core.h +1017 -0
  149. data/ext/bindex/ruby_21preview/vm_debug.h +37 -0
  150. data/ext/bindex/ruby_21preview/vm_exec.h +180 -0
  151. data/ext/bindex/ruby_21preview/vm_insnhelper.h +272 -0
  152. data/ext/bindex/ruby_21preview/vm_opts.h +56 -0
  153. data/lib/bindex.rb +10 -0
  154. data/lib/bindex/jruby.rb +20 -0
  155. data/lib/bindex/jruby_internals.jar +0 -0
  156. data/lib/bindex/jruby_internals_9k.jar +0 -0
  157. data/lib/bindex/rubinius.rb +56 -0
  158. data/lib/bindex/version.rb +3 -0
  159. data/test/exception_test.rb +45 -0
  160. data/test/fixtures/basic_nested_fixture.rb +13 -0
  161. data/test/fixtures/custom_error_fixture.rb +9 -0
  162. data/test/fixtures/eval_nested_fixture.rb +13 -0
  163. data/test/fixtures/flat_fixture.rb +7 -0
  164. data/test/test_helper.rb +17 -0
  165. metadata +270 -0
@@ -0,0 +1,56 @@
1
+ /*-*-c-*-*/
2
+ /**********************************************************************
3
+
4
+ vm_opts.h - VM optimize option
5
+
6
+ $Author$
7
+
8
+ Copyright (C) 2004-2007 Koichi Sasada
9
+
10
+ **********************************************************************/
11
+
12
+
13
+ #ifndef RUBY_VM_OPTS_H
14
+ #define RUBY_VM_OPTS_H
15
+
16
+ /* Compile options.
17
+ * You can change these options at runtime by VM::CompileOption.
18
+ * Following definitions are default values.
19
+ */
20
+
21
+ #define OPT_TRACE_INSTRUCTION 1
22
+ #define OPT_TAILCALL_OPTIMIZATION 0
23
+ #define OPT_PEEPHOLE_OPTIMIZATION 1
24
+ #define OPT_SPECIALISED_INSTRUCTION 1
25
+ #define OPT_INLINE_CONST_CACHE 1
26
+
27
+
28
+ /* Build Options.
29
+ * You can't change these options at runtime.
30
+ */
31
+
32
+ /* C compiler dependent */
33
+ #define OPT_DIRECT_THREADED_CODE 1
34
+ #define OPT_TOKEN_THREADED_CODE 0
35
+ #define OPT_CALL_THREADED_CODE 0
36
+
37
+ /* VM running option */
38
+ #define OPT_CHECKED_RUN 1
39
+ #define OPT_INLINE_METHOD_CACHE 1
40
+ #define OPT_GLOBAL_METHOD_CACHE 1
41
+ #define OPT_BLOCKINLINING 0
42
+
43
+ /* architecture independent, affects generated code */
44
+ #define OPT_OPERANDS_UNIFICATION 1
45
+ #define OPT_INSTRUCTIONS_UNIFICATION 0
46
+ #define OPT_UNIFY_ALL_COMBINATION 0
47
+ #define OPT_STACK_CACHING 0
48
+
49
+ /* misc */
50
+ #define SUPPORT_JOKE 0
51
+
52
+ #ifndef VM_COLLECT_USAGE_DETAILS
53
+ #define VM_COLLECT_USAGE_DETAILS 0
54
+ #endif
55
+
56
+ #endif /* RUBY_VM_OPTS_H */
@@ -0,0 +1,146 @@
1
+ /**********************************************************************
2
+
3
+ Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions
7
+ are met:
8
+ 1. Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ 2. Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in the
12
+ documentation and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
+ SUCH DAMAGE.
25
+
26
+ **********************************************************************/
27
+ #ifndef _RUBY_21PREVIEW_H
28
+ #define _RUBY_21PREVIEW_H
29
+
30
+ #include "ruby_21preview/internal.h"
31
+ #include "ruby_21preview/method.h"
32
+ #include "ruby_21preview/vm_core.h"
33
+
34
+
35
+ typedef struct rb_backtrace_location_struct {
36
+ enum LOCATION_TYPE {
37
+ LOCATION_TYPE_ISEQ = 1,
38
+ LOCATION_TYPE_ISEQ_CALCED,
39
+ LOCATION_TYPE_CFUNC,
40
+ LOCATION_TYPE_IFUNC
41
+ } type;
42
+
43
+ union {
44
+ struct {
45
+ const rb_iseq_t *iseq;
46
+ union {
47
+ const VALUE *pc;
48
+ int lineno;
49
+ } lineno;
50
+ } iseq;
51
+ struct {
52
+ ID mid;
53
+ struct rb_backtrace_location_struct *prev_loc;
54
+ } cfunc;
55
+ } body;
56
+ } rb_backtrace_location_t;
57
+
58
+ typedef struct rb_backtrace_struct {
59
+ rb_backtrace_location_t *backtrace;
60
+ rb_backtrace_location_t *backtrace_base;
61
+ int backtrace_size;
62
+ VALUE strary;
63
+ } rb_backtrace_t;
64
+
65
+
66
+ static void
67
+ location_mark_entry(rb_backtrace_location_t *fi)
68
+ {
69
+ switch (fi->type) {
70
+ case LOCATION_TYPE_ISEQ:
71
+ case LOCATION_TYPE_ISEQ_CALCED:
72
+ rb_gc_mark(fi->body.iseq.iseq->self);
73
+ break;
74
+ case LOCATION_TYPE_CFUNC:
75
+ case LOCATION_TYPE_IFUNC:
76
+ default:
77
+ break;
78
+ }
79
+ }
80
+
81
+ static void
82
+ backtrace_mark(void *ptr)
83
+ {
84
+ if (ptr) {
85
+ rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
86
+ size_t i, s = bt->backtrace_size;
87
+
88
+ for (i=0; i<s; i++) {
89
+ location_mark_entry(&bt->backtrace[i]);
90
+ rb_gc_mark(bt->strary);
91
+ }
92
+ }
93
+ }
94
+
95
+ static void
96
+ backtrace_free(void *ptr)
97
+ {
98
+ if (ptr) {
99
+ rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
100
+ if (bt->backtrace) ruby_xfree(bt->backtrace_base);
101
+ ruby_xfree(bt);
102
+ }
103
+ }
104
+
105
+ static size_t
106
+ backtrace_memsize(const void *ptr)
107
+ {
108
+ rb_backtrace_t *bt = (rb_backtrace_t *)ptr;
109
+ return sizeof(rb_backtrace_t) + sizeof(rb_backtrace_location_t) * bt->backtrace_size;
110
+ }
111
+
112
+ static const rb_data_type_t backtrace_data_type = {
113
+ "backtrace",
114
+ {backtrace_mark, backtrace_free, backtrace_memsize,},
115
+ };
116
+
117
+ int
118
+ rb_backtrace_p(VALUE obj)
119
+ {
120
+ return rb_typeddata_is_kind_of(obj, &backtrace_data_type);
121
+ }
122
+
123
+ VALUE
124
+ rb_check_backtrace(VALUE bt)
125
+ {
126
+ long i;
127
+ static const char err[] = "backtrace must be Array of String";
128
+
129
+ if (!NIL_P(bt)) {
130
+ if (RB_TYPE_P(bt, T_STRING)) return rb_ary_new3(1, bt);
131
+ if (rb_backtrace_p(bt)) return bt;
132
+ if (!RB_TYPE_P(bt, T_ARRAY)) {
133
+ rb_raise(rb_eTypeError, err);
134
+ }
135
+ for (i=0;i<RARRAY_LEN(bt);i++) {
136
+ VALUE e = RARRAY_AREF(bt, i);
137
+ if (!RB_TYPE_P(e, T_STRING)) {
138
+ rb_raise(rb_eTypeError, err);
139
+ }
140
+ }
141
+ }
142
+ return bt;
143
+ }
144
+
145
+ #endif
146
+
@@ -0,0 +1,21 @@
1
+ /**********************************************************************
2
+
3
+ addr2line.h -
4
+
5
+ $Author$
6
+
7
+ Copyright (C) 2010 Shinichiro Hamaji
8
+
9
+ **********************************************************************/
10
+
11
+ #ifndef RUBY_ADDR2LINE_H
12
+ #define RUBY_ADDR2LINE_H
13
+
14
+ #ifdef USE_ELF
15
+
16
+ void
17
+ rb_dump_backtrace_with_lines(int num_traces, void **traces, char **syms);
18
+
19
+ #endif /* USE_ELF */
20
+
21
+ #endif /* RUBY_ADDR2LINE_H */
@@ -0,0 +1,36 @@
1
+ /**********************************************************************
2
+
3
+ constant.h -
4
+
5
+ $Author$
6
+ created at: Sun Nov 15 00:09:33 2009
7
+
8
+ Copyright (C) 2009 Yusuke Endoh
9
+
10
+ **********************************************************************/
11
+ #ifndef CONSTANT_H
12
+ #define CONSTANT_H
13
+
14
+ typedef enum {
15
+ CONST_PUBLIC = 0x00,
16
+ CONST_PRIVATE = 0x01
17
+ } rb_const_flag_t;
18
+
19
+ typedef struct rb_const_entry_struct {
20
+ rb_const_flag_t flag;
21
+ const VALUE value; /* should be mark */
22
+ const VALUE file; /* should be mark */
23
+ int line;
24
+ } rb_const_entry_t;
25
+
26
+ VALUE rb_mod_private_constant(int argc, VALUE *argv, VALUE obj);
27
+ VALUE rb_mod_public_constant(int argc, VALUE *argv, VALUE obj);
28
+ void rb_free_const_table(st_table *tbl);
29
+ VALUE rb_public_const_get(VALUE klass, ID id);
30
+ VALUE rb_public_const_get_at(VALUE klass, ID id);
31
+ VALUE rb_public_const_get_from(VALUE klass, ID id);
32
+ int rb_public_const_defined(VALUE klass, ID id);
33
+ int rb_public_const_defined_at(VALUE klass, ID id);
34
+ int rb_public_const_defined_from(VALUE klass, ID id);
35
+
36
+ #endif /* CONSTANT_H */
@@ -0,0 +1,51 @@
1
+ /**********************************************************************
2
+
3
+ dln.h -
4
+
5
+ $Author$
6
+ created at: Wed Jan 19 16:53:09 JST 1994
7
+
8
+ Copyright (C) 1993-2007 Yukihiro Matsumoto
9
+
10
+ **********************************************************************/
11
+
12
+ #ifndef DLN_H
13
+ #define DLN_H
14
+
15
+ #ifdef __cplusplus
16
+ # ifndef HAVE_PROTOTYPES
17
+ # define HAVE_PROTOTYPES 1
18
+ # endif
19
+ # ifndef HAVE_STDARG_PROTOTYPES
20
+ # define HAVE_STDARG_PROTOTYPES 1
21
+ # endif
22
+ #endif
23
+
24
+ #undef _
25
+ #ifdef HAVE_PROTOTYPES
26
+ # define _(args) args
27
+ #else
28
+ # define _(args) ()
29
+ #endif
30
+
31
+ RUBY_SYMBOL_EXPORT_BEGIN
32
+
33
+ #ifndef DLN_FIND_EXTRA_ARG
34
+ #define DLN_FIND_EXTRA_ARG
35
+ #endif
36
+ #ifndef DLN_FIND_EXTRA_ARG_DECL
37
+ #define DLN_FIND_EXTRA_ARG_DECL
38
+ #endif
39
+
40
+ char *dln_find_exe_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
41
+ char *dln_find_file_r(const char*,const char*,char*,size_t DLN_FIND_EXTRA_ARG_DECL);
42
+
43
+ #ifdef USE_DLN_A_OUT
44
+ extern char *dln_argv0;
45
+ #endif
46
+
47
+ void *dln_load(const char*);
48
+
49
+ RUBY_SYMBOL_EXPORT_END
50
+
51
+ #endif
@@ -0,0 +1,270 @@
1
+ ENC_DEFINE("ASCII-8BIT");
2
+ #define ENCIDX_ASCII_8BIT 0
3
+ ENC_DEFINE("UTF-8");
4
+ #define ENCIDX_UTF_8 1
5
+ ENC_DEFINE("US-ASCII");
6
+ #define ENCIDX_US_ASCII 2
7
+ ENC_DEFINE("Big5");
8
+ #define ENCIDX_Big5 3
9
+ ENC_DEFINE("Big5-HKSCS");
10
+ #define ENCIDX_Big5_HKSCS 4
11
+ ENC_DEFINE("Big5-UAO");
12
+ #define ENCIDX_Big5_UAO 5
13
+ ENC_DEFINE("CP949");
14
+ #define ENCIDX_CP949 6
15
+ ENC_DEFINE("Emacs-Mule");
16
+ #define ENCIDX_Emacs_Mule 7
17
+ ENC_DEFINE("EUC-JP");
18
+ #define ENCIDX_EUC_JP 8
19
+ ENC_DEFINE("EUC-KR");
20
+ #define ENCIDX_EUC_KR 9
21
+ ENC_DEFINE("EUC-TW");
22
+ #define ENCIDX_EUC_TW 10
23
+ ENC_DEFINE("GB2312");
24
+ #define ENCIDX_GB2312 11
25
+ ENC_DEFINE("GB18030");
26
+ #define ENCIDX_GB18030 12
27
+ ENC_DEFINE("GBK");
28
+ #define ENCIDX_GBK 13
29
+ ENC_DEFINE("ISO-8859-1");
30
+ #define ENCIDX_ISO_8859_1 14
31
+ ENC_DEFINE("ISO-8859-2");
32
+ #define ENCIDX_ISO_8859_2 15
33
+ ENC_DEFINE("ISO-8859-3");
34
+ #define ENCIDX_ISO_8859_3 16
35
+ ENC_DEFINE("ISO-8859-4");
36
+ #define ENCIDX_ISO_8859_4 17
37
+ ENC_DEFINE("ISO-8859-5");
38
+ #define ENCIDX_ISO_8859_5 18
39
+ ENC_DEFINE("ISO-8859-6");
40
+ #define ENCIDX_ISO_8859_6 19
41
+ ENC_DEFINE("ISO-8859-7");
42
+ #define ENCIDX_ISO_8859_7 20
43
+ ENC_DEFINE("ISO-8859-8");
44
+ #define ENCIDX_ISO_8859_8 21
45
+ ENC_DEFINE("ISO-8859-9");
46
+ #define ENCIDX_ISO_8859_9 22
47
+ ENC_DEFINE("ISO-8859-10");
48
+ #define ENCIDX_ISO_8859_10 23
49
+ ENC_DEFINE("ISO-8859-11");
50
+ #define ENCIDX_ISO_8859_11 24
51
+ ENC_DEFINE("ISO-8859-13");
52
+ #define ENCIDX_ISO_8859_13 25
53
+ ENC_DEFINE("ISO-8859-14");
54
+ #define ENCIDX_ISO_8859_14 26
55
+ ENC_DEFINE("ISO-8859-15");
56
+ #define ENCIDX_ISO_8859_15 27
57
+ ENC_DEFINE("ISO-8859-16");
58
+ #define ENCIDX_ISO_8859_16 28
59
+ ENC_DEFINE("KOI8-R");
60
+ #define ENCIDX_KOI8_R 29
61
+ ENC_DEFINE("KOI8-U");
62
+ #define ENCIDX_KOI8_U 30
63
+ ENC_DEFINE("Shift_JIS");
64
+ #define ENCIDX_Shift_JIS 31
65
+ ENC_DEFINE("UTF-16BE");
66
+ #define ENCIDX_UTF_16BE 32
67
+ ENC_DEFINE("UTF-16LE");
68
+ #define ENCIDX_UTF_16LE 33
69
+ ENC_DEFINE("UTF-32BE");
70
+ #define ENCIDX_UTF_32BE 34
71
+ ENC_DEFINE("UTF-32LE");
72
+ #define ENCIDX_UTF_32LE 35
73
+ ENC_DEFINE("Windows-31J");
74
+ #define ENCIDX_Windows_31J 36
75
+ ENC_DEFINE("Windows-1251");
76
+ #define ENCIDX_Windows_1251 37
77
+ ENC_ALIAS("BINARY", "ASCII-8BIT");
78
+ ENC_REPLICATE("IBM437", "ASCII-8BIT");
79
+ #define ENCIDX_IBM437 38
80
+ ENC_ALIAS("CP437", "IBM437");
81
+ ENC_REPLICATE("IBM737", "ASCII-8BIT");
82
+ #define ENCIDX_IBM737 39
83
+ ENC_ALIAS("CP737", "IBM737");
84
+ ENC_REPLICATE("IBM775", "ASCII-8BIT");
85
+ #define ENCIDX_IBM775 40
86
+ ENC_ALIAS("CP775", "IBM775");
87
+ ENC_REPLICATE("CP850", "ASCII-8BIT");
88
+ #define ENCIDX_CP850 41
89
+ ENC_ALIAS("IBM850", "CP850");
90
+ ENC_REPLICATE("IBM852", "ASCII-8BIT");
91
+ #define ENCIDX_IBM852 42
92
+ ENC_REPLICATE("CP852", "IBM852");
93
+ #define ENCIDX_CP852 43
94
+ ENC_REPLICATE("IBM855", "ASCII-8BIT");
95
+ #define ENCIDX_IBM855 44
96
+ ENC_REPLICATE("CP855", "IBM855");
97
+ #define ENCIDX_CP855 45
98
+ ENC_REPLICATE("IBM857", "ASCII-8BIT");
99
+ #define ENCIDX_IBM857 46
100
+ ENC_ALIAS("CP857", "IBM857");
101
+ ENC_REPLICATE("IBM860", "ASCII-8BIT");
102
+ #define ENCIDX_IBM860 47
103
+ ENC_ALIAS("CP860", "IBM860");
104
+ ENC_REPLICATE("IBM861", "ASCII-8BIT");
105
+ #define ENCIDX_IBM861 48
106
+ ENC_ALIAS("CP861", "IBM861");
107
+ ENC_REPLICATE("IBM862", "ASCII-8BIT");
108
+ #define ENCIDX_IBM862 49
109
+ ENC_ALIAS("CP862", "IBM862");
110
+ ENC_REPLICATE("IBM863", "ASCII-8BIT");
111
+ #define ENCIDX_IBM863 50
112
+ ENC_ALIAS("CP863", "IBM863");
113
+ ENC_REPLICATE("IBM864", "ASCII-8BIT");
114
+ #define ENCIDX_IBM864 51
115
+ ENC_ALIAS("CP864", "IBM864");
116
+ ENC_REPLICATE("IBM865", "ASCII-8BIT");
117
+ #define ENCIDX_IBM865 52
118
+ ENC_ALIAS("CP865", "IBM865");
119
+ ENC_REPLICATE("IBM866", "ASCII-8BIT");
120
+ #define ENCIDX_IBM866 53
121
+ ENC_ALIAS("CP866", "IBM866");
122
+ ENC_REPLICATE("IBM869", "ASCII-8BIT");
123
+ #define ENCIDX_IBM869 54
124
+ ENC_ALIAS("CP869", "IBM869");
125
+ ENC_REPLICATE("Windows-1258", "ASCII-8BIT");
126
+ #define ENCIDX_Windows_1258 55
127
+ ENC_ALIAS("CP1258", "Windows-1258");
128
+ ENC_REPLICATE("GB1988", "ASCII-8BIT");
129
+ #define ENCIDX_GB1988 56
130
+ ENC_REPLICATE("macCentEuro", "ASCII-8BIT");
131
+ #define ENCIDX_macCentEuro 57
132
+ ENC_REPLICATE("macCroatian", "ASCII-8BIT");
133
+ #define ENCIDX_macCroatian 58
134
+ ENC_REPLICATE("macCyrillic", "ASCII-8BIT");
135
+ #define ENCIDX_macCyrillic 59
136
+ ENC_REPLICATE("macGreek", "ASCII-8BIT");
137
+ #define ENCIDX_macGreek 60
138
+ ENC_REPLICATE("macIceland", "ASCII-8BIT");
139
+ #define ENCIDX_macIceland 61
140
+ ENC_REPLICATE("macRoman", "ASCII-8BIT");
141
+ #define ENCIDX_macRoman 62
142
+ ENC_REPLICATE("macRomania", "ASCII-8BIT");
143
+ #define ENCIDX_macRomania 63
144
+ ENC_REPLICATE("macThai", "ASCII-8BIT");
145
+ #define ENCIDX_macThai 64
146
+ ENC_REPLICATE("macTurkish", "ASCII-8BIT");
147
+ #define ENCIDX_macTurkish 65
148
+ ENC_REPLICATE("macUkraine", "ASCII-8BIT");
149
+ #define ENCIDX_macUkraine 66
150
+ ENC_REPLICATE("CP950", "Big5");
151
+ #define ENCIDX_CP950 67
152
+ ENC_SET_BASE("Big5-HKSCS", "Big5");
153
+ ENC_ALIAS("Big5-HKSCS:2008", "Big5-HKSCS");
154
+ ENC_REPLICATE("CP951", "Big5-HKSCS");
155
+ #define ENCIDX_CP951 68
156
+ ENC_SET_BASE("Big5-UAO", "Big5");
157
+ ENC_REPLICATE("stateless-ISO-2022-JP", "Emacs-Mule");
158
+ #define ENCIDX_stateless_ISO_2022_JP 69
159
+ ENC_ALIAS("eucJP", "EUC-JP") /* UI-OSF Application Platform Profile for Japanese Environment Version 1.1 */;
160
+ ENC_REPLICATE("eucJP-ms", "EUC-JP") /* TOG/JVC CDE/Motif Technical WG */;
161
+ #define ENCIDX_eucJP_ms 70
162
+ ENC_ALIAS("euc-jp-ms", "eucJP-ms");
163
+ ENC_REPLICATE("CP51932", "EUC-JP");
164
+ #define ENCIDX_CP51932 71
165
+ ENC_REPLICATE("EUC-JIS-2004", "EUC-JP") /* defined at JIS X 0213:2004 */;
166
+ #define ENCIDX_EUC_JIS_2004 72
167
+ ENC_ALIAS("EUC-JISX0213", "EUC-JIS-2004") /* defined at JIS X 0213:2000, and obsolete at JIS X 0213:2004 */;
168
+ ENC_ALIAS("eucKR", "EUC-KR");
169
+ ENC_ALIAS("eucTW", "EUC-TW");
170
+ ENC_ALIAS("EUC-CN", "GB2312");
171
+ ENC_ALIAS("eucCN", "GB2312");
172
+ ENC_REPLICATE("GB12345", "GB2312");
173
+ #define ENCIDX_GB12345 73
174
+ ENC_ALIAS("CP936", "GBK");
175
+ ENC_DUMMY("ISO-2022-JP");
176
+ #define ENCIDX_ISO_2022_JP 74
177
+ ENC_ALIAS("ISO2022-JP", "ISO-2022-JP");
178
+ ENC_REPLICATE("ISO-2022-JP-2", "ISO-2022-JP");
179
+ #define ENCIDX_ISO_2022_JP_2 75
180
+ ENC_ALIAS("ISO2022-JP2", "ISO-2022-JP-2");
181
+ ENC_REPLICATE("CP50220", "ISO-2022-JP");
182
+ #define ENCIDX_CP50220 76
183
+ ENC_REPLICATE("CP50221", "ISO-2022-JP");
184
+ #define ENCIDX_CP50221 77
185
+ ENC_ALIAS("ISO8859-1", "ISO-8859-1");
186
+ ENC_REPLICATE("Windows-1252", "ISO-8859-1");
187
+ #define ENCIDX_Windows_1252 78
188
+ ENC_ALIAS("CP1252", "Windows-1252");
189
+ ENC_ALIAS("ISO8859-2", "ISO-8859-2");
190
+ ENC_REPLICATE("Windows-1250", "ISO-8859-2");
191
+ #define ENCIDX_Windows_1250 79
192
+ ENC_ALIAS("CP1250", "Windows-1250");
193
+ ENC_ALIAS("ISO8859-3", "ISO-8859-3");
194
+ ENC_ALIAS("ISO8859-4", "ISO-8859-4");
195
+ ENC_ALIAS("ISO8859-5", "ISO-8859-5");
196
+ ENC_ALIAS("ISO8859-6", "ISO-8859-6");
197
+ ENC_REPLICATE("Windows-1256", "ISO-8859-6");
198
+ #define ENCIDX_Windows_1256 80
199
+ ENC_ALIAS("CP1256", "Windows-1256");
200
+ ENC_ALIAS("ISO8859-7", "ISO-8859-7");
201
+ ENC_REPLICATE("Windows-1253", "ISO-8859-7");
202
+ #define ENCIDX_Windows_1253 81
203
+ ENC_ALIAS("CP1253", "Windows-1253");
204
+ ENC_ALIAS("ISO8859-8", "ISO-8859-8");
205
+ ENC_REPLICATE("Windows-1255", "ISO-8859-8");
206
+ #define ENCIDX_Windows_1255 82
207
+ ENC_ALIAS("CP1255", "Windows-1255");
208
+ ENC_ALIAS("ISO8859-9", "ISO-8859-9");
209
+ ENC_REPLICATE("Windows-1254", "ISO-8859-9");
210
+ #define ENCIDX_Windows_1254 83
211
+ ENC_ALIAS("CP1254", "Windows-1254");
212
+ ENC_ALIAS("ISO8859-10", "ISO-8859-10");
213
+ ENC_ALIAS("ISO8859-11", "ISO-8859-11");
214
+ ENC_REPLICATE("TIS-620", "ISO-8859-11");
215
+ #define ENCIDX_TIS_620 84
216
+ ENC_REPLICATE("Windows-874", "ISO-8859-11");
217
+ #define ENCIDX_Windows_874 85
218
+ ENC_ALIAS("CP874", "Windows-874");
219
+ ENC_ALIAS("ISO8859-13", "ISO-8859-13");
220
+ ENC_REPLICATE("Windows-1257", "ISO-8859-13");
221
+ #define ENCIDX_Windows_1257 86
222
+ ENC_ALIAS("CP1257", "Windows-1257");
223
+ ENC_ALIAS("ISO8859-14", "ISO-8859-14");
224
+ ENC_ALIAS("ISO8859-15", "ISO-8859-15");
225
+ ENC_ALIAS("ISO8859-16", "ISO-8859-16");
226
+ ENC_ALIAS("CP878", "KOI8-R");
227
+ ENC_REPLICATE("MacJapanese", "Shift_JIS");
228
+ #define ENCIDX_MacJapanese 87
229
+ ENC_ALIAS("MacJapan", "MacJapanese");
230
+ ENC_ALIAS("ASCII", "US-ASCII");
231
+ ENC_ALIAS("ANSI_X3.4-1968", "US-ASCII");
232
+ ENC_ALIAS("646", "US-ASCII");
233
+ ENC_DUMMY("UTF-7");
234
+ #define ENCIDX_UTF_7 88
235
+ ENC_ALIAS("CP65000", "UTF-7");
236
+ ENC_ALIAS("CP65001", "UTF-8");
237
+ ENC_REPLICATE("UTF8-MAC", "UTF-8");
238
+ #define ENCIDX_UTF8_MAC 89
239
+ ENC_ALIAS("UTF-8-MAC", "UTF8-MAC");
240
+ ENC_ALIAS("UTF-8-HFS", "UTF8-MAC") /* Emacs 23.2 */;
241
+ ENC_DUMMY_UNICODE("UTF-16");
242
+ #define ENCIDX_UTF_16 90
243
+ ENC_DUMMY_UNICODE("UTF-32");
244
+ #define ENCIDX_UTF_32 91
245
+ ENC_ALIAS("UCS-2BE", "UTF-16BE");
246
+ ENC_ALIAS("UCS-4BE", "UTF-32BE");
247
+ ENC_ALIAS("UCS-4LE", "UTF-32LE");
248
+ ENC_ALIAS("CP932", "Windows-31J");
249
+ ENC_ALIAS("csWindows31J", "Windows-31J") /* IANA. IE6 don't accept Windows-31J but csWindows31J. */;
250
+ ENC_ALIAS("SJIS", "Windows-31J");
251
+ ENC_ALIAS("PCK", "Windows-31J");
252
+ ENC_ALIAS("CP1251", "Windows-1251");
253
+ ENC_REPLICATE("UTF8-DoCoMo", "UTF-8");
254
+ #define ENCIDX_UTF8_DoCoMo 92
255
+ ENC_REPLICATE("SJIS-DoCoMo", "Windows-31J");
256
+ #define ENCIDX_SJIS_DoCoMo 93
257
+ ENC_REPLICATE("UTF8-KDDI", "UTF-8");
258
+ #define ENCIDX_UTF8_KDDI 94
259
+ ENC_REPLICATE("SJIS-KDDI", "Windows-31J");
260
+ #define ENCIDX_SJIS_KDDI 95
261
+ ENC_REPLICATE("ISO-2022-JP-KDDI", "ISO-2022-JP");
262
+ #define ENCIDX_ISO_2022_JP_KDDI 96
263
+ ENC_REPLICATE("stateless-ISO-2022-JP-KDDI", "stateless-ISO-2022-JP");
264
+ #define ENCIDX_stateless_ISO_2022_JP_KDDI 97
265
+ ENC_REPLICATE("UTF8-SoftBank", "UTF-8");
266
+ #define ENCIDX_UTF8_SoftBank 98
267
+ ENC_REPLICATE("SJIS-SoftBank", "Windows-31J");
268
+ #define ENCIDX_SJIS_SoftBank 99
269
+
270
+ #define ENCODING_COUNT 100