webruby 0.2.4 → 0.2.5
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.
- checksums.yaml +4 -4
- data/lib/webruby/environment.rb +4 -0
- data/lib/webruby/rake/files.rake +2 -1
- data/lib/webruby/rake/mruby.rake +4 -2
- data/modules/emscripten/AUTHORS +1 -0
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +2 -0
- data/modules/emscripten/emcc +96 -40
- data/modules/emscripten/emrun +301 -136
- data/modules/emscripten/emscripten.py +5 -45
- data/modules/emscripten/src/analyzer.js +11 -1
- data/modules/emscripten/src/compiler.js +1 -1
- data/modules/emscripten/src/emrun_postjs.js +2 -2
- data/modules/emscripten/src/emrun_prejs.js +5 -0
- data/modules/emscripten/src/emscripten-source-map.min.js +31 -0
- data/modules/emscripten/src/library.js +187 -0
- data/modules/emscripten/src/library_egl.js +20 -0
- data/modules/emscripten/src/library_sdl.js +1 -0
- data/modules/emscripten/src/preamble.js +4 -0
- data/modules/emscripten/src/relooper/Relooper.cpp +33 -15
- data/modules/emscripten/src/relooper/Relooper.h +20 -14
- data/modules/emscripten/src/relooper/fuzzer.py +6 -0
- data/modules/emscripten/src/relooper/test.cpp +28 -0
- data/modules/emscripten/src/relooper/test.txt +211 -166
- data/modules/emscripten/src/relooper/test2.txt +20 -20
- data/modules/emscripten/src/relooper/test3.txt +41 -41
- data/modules/emscripten/src/relooper/test4.txt +26 -26
- data/modules/emscripten/src/relooper/test5.txt +52 -52
- data/modules/emscripten/src/relooper/test6.txt +19 -19
- data/modules/emscripten/src/relooper/test_dead.txt +1 -1
- data/modules/emscripten/src/relooper/test_debug.txt +31 -31
- data/modules/emscripten/src/relooper/test_fuzz1.txt +50 -50
- data/modules/emscripten/src/relooper/test_fuzz2.txt +21 -21
- data/modules/emscripten/src/relooper/test_fuzz3.txt +18 -18
- data/modules/emscripten/src/relooper/test_fuzz4.txt +28 -28
- data/modules/emscripten/src/relooper/test_fuzz5.txt +61 -61
- data/modules/emscripten/src/relooper/test_fuzz6.txt +179 -179
- data/modules/emscripten/src/relooper/test_inf.txt +846 -846
- data/modules/emscripten/src/relooper/testit.sh +15 -15
- data/modules/emscripten/system/include/emscripten/emscripten.h +64 -0
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +8 -2
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +9 -1
- data/modules/emscripten/tools/eliminator/eliminator-test-output.js +11 -0
- data/modules/emscripten/tools/eliminator/eliminator-test.js +16 -1
- data/modules/emscripten/tools/file_packager.py +59 -49
- data/modules/emscripten/tools/js-optimizer.js +47 -8
- data/modules/emscripten/tools/shared.py +3 -3
- data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +5 -3
- data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +4 -0
- data/modules/mruby/INSTALL +11 -6
- data/modules/mruby/include/mrbconf.h +0 -3
- data/modules/mruby/include/mruby/khash.h +34 -36
- data/modules/mruby/include/mruby/string.h +3 -0
- data/modules/mruby/include/mruby.h +3 -3
- data/modules/mruby/mrblib/string.rb +3 -0
- data/modules/mruby/src/class.c +12 -12
- data/modules/mruby/src/codegen.c +18 -11
- data/modules/mruby/src/hash.c +12 -12
- data/modules/mruby/src/kernel.c +3 -3
- data/modules/mruby/src/load.c +29 -14
- data/modules/mruby/src/numeric.c +1 -1
- data/modules/mruby/src/object.c +14 -2
- data/modules/mruby/src/state.c +13 -10
- data/modules/mruby/src/string.c +1 -3
- data/modules/mruby/src/symbol.c +44 -18
- data/modules/mruby/src/variable.c +6 -6
- data/modules/mruby/test/t/class.rb +34 -0
- data/modules/mruby/test/t/module.rb +1 -1
- data/modules/mruby/test/t/syntax.rb +28 -0
- metadata +5 -13
- data/modules/emscripten/src/relooper.js +0 -11516
- data/modules/emscripten/src/relooper.js.raw.js +0 -11511
- data/modules/emscripten/tools/__init__.pyc +0 -0
- data/modules/emscripten/tools/cache.pyc +0 -0
- data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
- data/modules/emscripten/tools/js_optimizer.pyc +0 -0
- data/modules/emscripten/tools/jsrun.pyc +0 -0
- data/modules/emscripten/tools/response_file.pyc +0 -0
- data/modules/emscripten/tools/shared.pyc +0 -0
- data/modules/emscripten/tools/tempfiles.pyc +0 -0
data/modules/mruby/src/object.c
CHANGED
@@ -292,6 +292,17 @@ mrb_init_object(mrb_state *mrb)
|
|
292
292
|
mrb_define_method(mrb, f, "inspect", false_to_s, MRB_ARGS_NONE());
|
293
293
|
}
|
294
294
|
|
295
|
+
static mrb_value
|
296
|
+
inspect_type(mrb_state *mrb, mrb_value val)
|
297
|
+
{
|
298
|
+
if (mrb_type(val) == MRB_TT_FALSE || mrb_type(val) == MRB_TT_TRUE) {
|
299
|
+
return mrb_inspect(mrb, val);
|
300
|
+
}
|
301
|
+
else {
|
302
|
+
return mrb_str_new_cstr(mrb, mrb_obj_classname(mrb, val));
|
303
|
+
}
|
304
|
+
}
|
305
|
+
|
295
306
|
static mrb_value
|
296
307
|
convert_type(mrb_state *mrb, mrb_value val, const char *tname, const char *method, int raise)
|
297
308
|
{
|
@@ -300,7 +311,7 @@ convert_type(mrb_state *mrb, mrb_value val, const char *tname, const char *metho
|
|
300
311
|
m = mrb_intern_cstr(mrb, method);
|
301
312
|
if (!mrb_respond_to(mrb, val, m)) {
|
302
313
|
if (raise) {
|
303
|
-
mrb_raisef(mrb, E_TYPE_ERROR, "can't convert %S into %S", val, mrb_str_new_cstr(mrb, tname));
|
314
|
+
mrb_raisef(mrb, E_TYPE_ERROR, "can't convert %S into %S", inspect_type(mrb, val), mrb_str_new_cstr(mrb, tname));
|
304
315
|
return mrb_nil_value();
|
305
316
|
}
|
306
317
|
else {
|
@@ -499,8 +510,9 @@ mrb_to_integer(mrb_state *mrb, mrb_value val, const char *method)
|
|
499
510
|
if (mrb_fixnum_p(val)) return val;
|
500
511
|
v = convert_type(mrb, val, "Integer", method, TRUE);
|
501
512
|
if (!mrb_obj_is_kind_of(mrb, v, mrb->fixnum_class)) {
|
513
|
+
mrb_value type = inspect_type(mrb, val);
|
502
514
|
mrb_raisef(mrb, E_TYPE_ERROR, "can't convert %S to Integer (%S#%S gives %S)",
|
503
|
-
|
515
|
+
type, type, mrb_str_new_cstr(mrb, method), inspect_type(mrb, v));
|
504
516
|
}
|
505
517
|
return v;
|
506
518
|
}
|
data/modules/mruby/src/state.c
CHANGED
@@ -136,7 +136,9 @@ mrb_irep_free(mrb_state *mrb, mrb_irep *irep)
|
|
136
136
|
mrb_free(mrb, irep->iseq);
|
137
137
|
for (i=0; i<irep->plen; i++) {
|
138
138
|
if (mrb_type(irep->pool[i]) == MRB_TT_STRING) {
|
139
|
-
|
139
|
+
if ((mrb_str_ptr(irep->pool[i])->flags & MRB_STR_NOFREE) == 0) {
|
140
|
+
mrb_free(mrb, mrb_str_ptr(irep->pool[i])->ptr);
|
141
|
+
}
|
140
142
|
mrb_free(mrb, mrb_obj_ptr(irep->pool[i]));
|
141
143
|
}
|
142
144
|
#ifdef MRB_WORD_BOXING
|
@@ -170,12 +172,17 @@ mrb_str_pool(mrb_state *mrb, mrb_value str)
|
|
170
172
|
|
171
173
|
len = s->len;
|
172
174
|
ns->len = len;
|
173
|
-
|
174
|
-
|
175
|
-
|
175
|
+
if (s->flags & MRB_STR_NOFREE) {
|
176
|
+
ns->ptr = s->ptr;
|
177
|
+
ns->flags = MRB_STR_NOFREE;
|
178
|
+
}
|
179
|
+
else {
|
180
|
+
ns->ptr = (char *)mrb_malloc(mrb, (size_t)len+1);
|
181
|
+
if (s->ptr) {
|
182
|
+
memcpy(ns->ptr, s->ptr, len);
|
183
|
+
}
|
184
|
+
ns->ptr[len] = '\0';
|
176
185
|
}
|
177
|
-
ns->ptr[len] = '\0';
|
178
|
-
|
179
186
|
return mrb_obj_value(ns);
|
180
187
|
}
|
181
188
|
|
@@ -207,10 +214,6 @@ mrb_close(mrb_state *mrb)
|
|
207
214
|
mrb_free(mrb, mrb);
|
208
215
|
}
|
209
216
|
|
210
|
-
#ifndef MRB_IREP_ARRAY_INIT_SIZE
|
211
|
-
# define MRB_IREP_ARRAY_INIT_SIZE (256u)
|
212
|
-
#endif
|
213
|
-
|
214
217
|
mrb_irep*
|
215
218
|
mrb_add_irep(mrb_state *mrb)
|
216
219
|
{
|
data/modules/mruby/src/string.c
CHANGED
@@ -30,9 +30,6 @@ typedef struct mrb_shared_string {
|
|
30
30
|
mrb_int len;
|
31
31
|
} mrb_shared_string;
|
32
32
|
|
33
|
-
#define MRB_STR_SHARED 1
|
34
|
-
#define MRB_STR_NOFREE 2
|
35
|
-
|
36
33
|
static mrb_value str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2);
|
37
34
|
static mrb_value mrb_str_subseq(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len);
|
38
35
|
|
@@ -92,6 +89,7 @@ mrb_str_modify(mrb_state *mrb, struct RString *s)
|
|
92
89
|
}
|
93
90
|
s->ptr[s->len] = '\0';
|
94
91
|
s->aux.capa = s->len;
|
92
|
+
s->flags &= ~MRB_STR_NOFREE;
|
95
93
|
return;
|
96
94
|
}
|
97
95
|
}
|
data/modules/mruby/src/symbol.c
CHANGED
@@ -13,7 +13,8 @@
|
|
13
13
|
|
14
14
|
/* ------------------------------------------------------ */
|
15
15
|
typedef struct symbol_name {
|
16
|
-
|
16
|
+
mrb_bool lit;
|
17
|
+
uint16_t len;
|
17
18
|
const char *name;
|
18
19
|
} symbol_name;
|
19
20
|
|
@@ -34,8 +35,8 @@ sym_hash_func(mrb_state *mrb, const symbol_name s)
|
|
34
35
|
KHASH_DECLARE(n2s, symbol_name, mrb_sym, 1)
|
35
36
|
KHASH_DEFINE (n2s, symbol_name, mrb_sym, 1, sym_hash_func, sym_hash_equal)
|
36
37
|
/* ------------------------------------------------------ */
|
37
|
-
mrb_sym
|
38
|
-
|
38
|
+
static mrb_sym
|
39
|
+
sym_intern(mrb_state *mrb, const char *name, size_t len, int lit)
|
39
40
|
{
|
40
41
|
khash_t(n2s) *h = mrb->name2sym;
|
41
42
|
symbol_name sname;
|
@@ -43,23 +44,44 @@ mrb_intern(mrb_state *mrb, const char *name, size_t len)
|
|
43
44
|
mrb_sym sym;
|
44
45
|
char *p;
|
45
46
|
|
47
|
+
if (len > UINT16_MAX) {
|
48
|
+
mrb_raise(mrb, E_ARGUMENT_ERROR, "symbol length too long");
|
49
|
+
}
|
50
|
+
sname.lit = lit;
|
46
51
|
sname.len = len;
|
47
52
|
sname.name = name;
|
48
|
-
k = kh_get(n2s, h, sname);
|
53
|
+
k = kh_get(n2s, mrb, h, sname);
|
49
54
|
if (k != kh_end(h))
|
50
55
|
return kh_value(h, k);
|
51
56
|
|
52
57
|
sym = ++mrb->symidx;
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
+
if (lit) {
|
59
|
+
sname.name = name;
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
p = (char *)mrb_malloc(mrb, len+1);
|
63
|
+
memcpy(p, name, len);
|
64
|
+
p[len] = 0;
|
65
|
+
sname.name = (const char*)p;
|
66
|
+
}
|
67
|
+
k = kh_put(n2s, mrb, h, sname);
|
58
68
|
kh_value(h, k) = sym;
|
59
69
|
|
60
70
|
return sym;
|
61
71
|
}
|
62
72
|
|
73
|
+
mrb_sym
|
74
|
+
mrb_intern(mrb_state *mrb, const char *name, size_t len)
|
75
|
+
{
|
76
|
+
return sym_intern(mrb, name, len, 0);
|
77
|
+
}
|
78
|
+
|
79
|
+
mrb_sym
|
80
|
+
mrb_intern_static(mrb_state *mrb, const char *name, size_t len)
|
81
|
+
{
|
82
|
+
return sym_intern(mrb, name, len, 1);
|
83
|
+
}
|
84
|
+
|
63
85
|
mrb_sym
|
64
86
|
mrb_intern_cstr(mrb_state *mrb, const char *name)
|
65
87
|
{
|
@@ -79,10 +101,13 @@ mrb_check_intern(mrb_state *mrb, const char *name, size_t len)
|
|
79
101
|
symbol_name sname;
|
80
102
|
khiter_t k;
|
81
103
|
|
104
|
+
if (len > UINT16_MAX) {
|
105
|
+
mrb_raise(mrb, E_ARGUMENT_ERROR, "symbol length too long");
|
106
|
+
}
|
82
107
|
sname.len = len;
|
83
108
|
sname.name = name;
|
84
109
|
|
85
|
-
k = kh_get(n2s, h, sname);
|
110
|
+
k = kh_get(n2s, mrb, h, sname);
|
86
111
|
if (k != kh_end(h)) {
|
87
112
|
return mrb_symbol_value(kh_value(h, k));
|
88
113
|
}
|
@@ -129,8 +154,14 @@ mrb_free_symtbl(mrb_state *mrb)
|
|
129
154
|
khiter_t k;
|
130
155
|
|
131
156
|
for (k = kh_begin(h); k != kh_end(h); k++)
|
132
|
-
if (kh_exist(h, k))
|
133
|
-
|
157
|
+
if (kh_exist(h, k)) {
|
158
|
+
symbol_name s = kh_key(h, k);
|
159
|
+
|
160
|
+
if (!s.lit) {
|
161
|
+
mrb_free(mrb, (char*)s.name);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
kh_destroy(n2s, mrb, mrb->name2sym);
|
134
165
|
}
|
135
166
|
|
136
167
|
void
|
@@ -381,14 +412,9 @@ mrb_sym2str(mrb_state *mrb, mrb_sym sym)
|
|
381
412
|
{
|
382
413
|
size_t len;
|
383
414
|
const char *name = mrb_sym2name_len(mrb, sym, &len);
|
384
|
-
mrb_value str;
|
385
415
|
|
386
416
|
if (!name) return mrb_undef_value(); /* can't happen */
|
387
|
-
|
388
|
-
if (symname_p(name) && strlen(name) == len) {
|
389
|
-
return str;
|
390
|
-
}
|
391
|
-
return mrb_str_dump(mrb, str);
|
417
|
+
return mrb_str_new_static(mrb, name, len);
|
392
418
|
}
|
393
419
|
|
394
420
|
const char*
|
@@ -311,7 +311,7 @@ iv_put(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value val)
|
|
311
311
|
khash_t(iv) *h = &t->h;
|
312
312
|
khiter_t k;
|
313
313
|
|
314
|
-
k = kh_put(iv, h, sym);
|
314
|
+
k = kh_put(iv, mrb, h, sym);
|
315
315
|
kh_value(h, k) = val;
|
316
316
|
}
|
317
317
|
|
@@ -321,7 +321,7 @@ iv_get(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value *vp)
|
|
321
321
|
khash_t(iv) *h = &t->h;
|
322
322
|
khiter_t k;
|
323
323
|
|
324
|
-
k = kh_get(iv, h, sym);
|
324
|
+
k = kh_get(iv, mrb, h, sym);
|
325
325
|
if (k != kh_end(h)) {
|
326
326
|
if (vp) *vp = kh_value(h, k);
|
327
327
|
return TRUE;
|
@@ -336,10 +336,10 @@ iv_del(mrb_state *mrb, iv_tbl *t, mrb_sym sym, mrb_value *vp)
|
|
336
336
|
khiter_t k;
|
337
337
|
|
338
338
|
if (h) {
|
339
|
-
k = kh_get(iv, h, sym);
|
339
|
+
k = kh_get(iv, mrb, h, sym);
|
340
340
|
if (k != kh_end(h)) {
|
341
341
|
mrb_value val = kh_value(h, k);
|
342
|
-
kh_del(iv, h, k);
|
342
|
+
kh_del(iv, mrb, h, k);
|
343
343
|
if (vp) *vp = val;
|
344
344
|
return TRUE;
|
345
345
|
}
|
@@ -360,7 +360,7 @@ iv_foreach(mrb_state *mrb, iv_tbl *t, iv_foreach_func *func, void *p)
|
|
360
360
|
n = (*func)(mrb, kh_key(h, k), kh_value(h, k), p);
|
361
361
|
if (n > 0) return FALSE;
|
362
362
|
if (n < 0) {
|
363
|
-
kh_del(iv, h, k);
|
363
|
+
kh_del(iv, mrb, h, k);
|
364
364
|
}
|
365
365
|
}
|
366
366
|
}
|
@@ -386,7 +386,7 @@ iv_copy(mrb_state *mrb, iv_tbl *t)
|
|
386
386
|
static void
|
387
387
|
iv_free(mrb_state *mrb, iv_tbl *t)
|
388
388
|
{
|
389
|
-
kh_destroy(iv, &t->h);
|
389
|
+
kh_destroy(iv, mrb, &t->h);
|
390
390
|
}
|
391
391
|
|
392
392
|
#endif
|
@@ -258,3 +258,37 @@ assert('Class#inherited') do
|
|
258
258
|
|
259
259
|
assert_equal(Baz, Foo.subclass_name)
|
260
260
|
end
|
261
|
+
|
262
|
+
assert('singleton tests') do
|
263
|
+
bar = String.new
|
264
|
+
|
265
|
+
baz = class << bar
|
266
|
+
def self.run_baz
|
267
|
+
200
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
assert_false baz.singleton_methods.include? :run_baz
|
272
|
+
|
273
|
+
assert_raise(NoMethodError, 'should raise NoMethodError') do
|
274
|
+
baz.run_baz
|
275
|
+
end
|
276
|
+
|
277
|
+
assert_raise(NoMethodError, 'should raise NoMethodError') do
|
278
|
+
bar.run_baz
|
279
|
+
end
|
280
|
+
|
281
|
+
baz = class << bar
|
282
|
+
def self.run_baz
|
283
|
+
300
|
284
|
+
end
|
285
|
+
self
|
286
|
+
end
|
287
|
+
|
288
|
+
assert_true baz.singleton_methods.include? :run_baz
|
289
|
+
assert_equal 300, baz.run_baz
|
290
|
+
|
291
|
+
assert_raise(NoMethodError, 'should raise NoMethodError') do
|
292
|
+
bar.run_baz
|
293
|
+
end
|
294
|
+
end
|
@@ -83,7 +83,7 @@ assert('Module#attr', '15.2.2.4.11') do
|
|
83
83
|
assert_true AttrTest.respond_to?(:cattr)
|
84
84
|
assert_true test.respond_to?(:iattr)
|
85
85
|
|
86
|
-
assert_false AttrTest.respond_to?(:
|
86
|
+
assert_false AttrTest.respond_to?(:cattr=)
|
87
87
|
assert_false test.respond_to?(:iattr=)
|
88
88
|
|
89
89
|
test.iattr_val = 'test'
|
@@ -74,3 +74,31 @@ assert('Splat and mass assignment') do
|
|
74
74
|
assert_equal 7, b
|
75
75
|
assert_equal [8,9], c
|
76
76
|
end
|
77
|
+
|
78
|
+
assert('Return values of case statements') do
|
79
|
+
a = [] << case 1
|
80
|
+
when 3 then 2
|
81
|
+
when 2 then 2
|
82
|
+
when 1 then 2
|
83
|
+
end
|
84
|
+
|
85
|
+
b = [] << case 1
|
86
|
+
when 2 then 2
|
87
|
+
else
|
88
|
+
end
|
89
|
+
|
90
|
+
def fb
|
91
|
+
n = 0
|
92
|
+
Proc.new do
|
93
|
+
n += 1
|
94
|
+
case
|
95
|
+
when n % 15 == 0
|
96
|
+
else n
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
assert_equal [2], a
|
102
|
+
assert_equal [nil], b
|
103
|
+
assert_equal 1, fb.call
|
104
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xuejie Xiao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: compile your favourite Ruby source code for the browser!
|
14
14
|
email: xxuejie@gmail.com
|
@@ -74,6 +74,8 @@ files:
|
|
74
74
|
- modules/emscripten/src/embind/embind.js
|
75
75
|
- modules/emscripten/src/embind/emval.js
|
76
76
|
- modules/emscripten/src/emrun_postjs.js
|
77
|
+
- modules/emscripten/src/emrun_prejs.js
|
78
|
+
- modules/emscripten/src/emscripten-source-map.min.js
|
77
79
|
- modules/emscripten/src/experimental/allow_loopvars_from_memsetcpy_inasm.diff
|
78
80
|
- modules/emscripten/src/experimental/batching.diff
|
79
81
|
- modules/emscripten/src/experimental/functypeopt.diff
|
@@ -161,8 +163,6 @@ files:
|
|
161
163
|
- modules/emscripten/src/relooper/test_inf.txt
|
162
164
|
- modules/emscripten/src/relooper/testit.sh
|
163
165
|
- modules/emscripten/src/relooper/updateit.sh
|
164
|
-
- modules/emscripten/src/relooper.js
|
165
|
-
- modules/emscripten/src/relooper.js.raw.js
|
166
166
|
- modules/emscripten/src/runtime.js
|
167
167
|
- modules/emscripten/src/settings.js
|
168
168
|
- modules/emscripten/src/shell.html
|
@@ -1081,7 +1081,6 @@ files:
|
|
1081
1081
|
- modules/emscripten/third_party/websockify/wsirc.html
|
1082
1082
|
- modules/emscripten/third_party/websockify/wstelnet.html
|
1083
1083
|
- modules/emscripten/tools/__init__.py
|
1084
|
-
- modules/emscripten/tools/__init__.pyc
|
1085
1084
|
- modules/emscripten/tools/asm_module.py
|
1086
1085
|
- modules/emscripten/tools/autodebugger.py
|
1087
1086
|
- modules/emscripten/tools/autodebugger_c.py
|
@@ -1091,7 +1090,6 @@ files:
|
|
1091
1090
|
- modules/emscripten/tools/bindings_generator.py
|
1092
1091
|
- modules/emscripten/tools/bisect_pair.py
|
1093
1092
|
- modules/emscripten/tools/cache.py
|
1094
|
-
- modules/emscripten/tools/cache.pyc
|
1095
1093
|
- modules/emscripten/tools/clean_webconsole.py
|
1096
1094
|
- modules/emscripten/tools/crunch-worker.js
|
1097
1095
|
- modules/emscripten/tools/diff_autodebugger.py
|
@@ -1205,13 +1203,10 @@ files:
|
|
1205
1203
|
- modules/emscripten/tools/find_bigvars.py
|
1206
1204
|
- modules/emscripten/tools/fix_closure.py
|
1207
1205
|
- modules/emscripten/tools/gen_struct_info.py
|
1208
|
-
- modules/emscripten/tools/gen_struct_info.pyc
|
1209
1206
|
- modules/emscripten/tools/ie7_fix.py
|
1210
1207
|
- modules/emscripten/tools/js-optimizer.js
|
1211
1208
|
- modules/emscripten/tools/js_optimizer.py
|
1212
|
-
- modules/emscripten/tools/js_optimizer.pyc
|
1213
1209
|
- modules/emscripten/tools/jsrun.py
|
1214
|
-
- modules/emscripten/tools/jsrun.pyc
|
1215
1210
|
- modules/emscripten/tools/ll-strip.py
|
1216
1211
|
- modules/emscripten/tools/make_file.py
|
1217
1212
|
- modules/emscripten/tools/make_minigzip.py
|
@@ -1259,20 +1254,17 @@ files:
|
|
1259
1254
|
- modules/emscripten/tools/reproduceriter.js
|
1260
1255
|
- modules/emscripten/tools/reproduceriter.py
|
1261
1256
|
- modules/emscripten/tools/response_file.py
|
1262
|
-
- modules/emscripten/tools/response_file.pyc
|
1263
1257
|
- modules/emscripten/tools/scan_js.py
|
1264
1258
|
- modules/emscripten/tools/scan_ll.py
|
1265
1259
|
- modules/emscripten/tools/scons/site_scons/site_tools/emscripten/__init__.py
|
1266
1260
|
- modules/emscripten/tools/scons/site_scons/site_tools/emscripten/emscripten.py
|
1267
1261
|
- modules/emscripten/tools/settings_template_readonly.py
|
1268
1262
|
- modules/emscripten/tools/shared.py
|
1269
|
-
- modules/emscripten/tools/shared.pyc
|
1270
1263
|
- modules/emscripten/tools/source-maps/sourcemap2json.js
|
1271
1264
|
- modules/emscripten/tools/source-maps/sourcemapper.js
|
1272
1265
|
- modules/emscripten/tools/split.py
|
1273
1266
|
- modules/emscripten/tools/split_asm.py
|
1274
1267
|
- modules/emscripten/tools/tempfiles.py
|
1275
|
-
- modules/emscripten/tools/tempfiles.pyc
|
1276
1268
|
- modules/emscripten/tools/test-js-optimizer-asm-last-output.js
|
1277
1269
|
- modules/emscripten/tools/test-js-optimizer-asm-last.js
|
1278
1270
|
- modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js
|
@@ -1560,7 +1552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1560
1552
|
version: '0'
|
1561
1553
|
requirements: []
|
1562
1554
|
rubyforge_project:
|
1563
|
-
rubygems_version: 2.0.
|
1555
|
+
rubygems_version: 2.0.3
|
1564
1556
|
signing_key:
|
1565
1557
|
specification_version: 4
|
1566
1558
|
summary: webruby
|