diff --git a/Makefile b/Makefile
index 15ba5c0..bef344e 100644
--- a/Makefile
+++ b/Makefile
@@ -72,9 +72,11 @@ debug:
${MAKE} -C test debug
demo: build
-demo:
${MAKE} -C libc3 demo
+demo_debug: debug
+ ${MAKE} -C libc3 demo_debug
+
dist: c3-${C3_VERSION}.tar.gz
c3-${C3_VERSION}.tar.gz:
diff --git a/libc3/Makefile b/libc3/Makefile
index 56b1b89..880537e 100644
--- a/libc3/Makefile
+++ b/libc3/Makefile
@@ -52,6 +52,9 @@ debug:
demo: build
${MAKE} -C window demo
+demo_debug: debug
+ ${MAKE} -C window demo_debug
+
distclean:
rm -rf ${DISTCLEANFILES}
${MAKE} -C window distclean
diff --git a/libc3/io.c b/libc3/io.c
index 4c149e3..ae83a48 100644
--- a/libc3/io.c
+++ b/libc3/io.c
@@ -45,44 +45,29 @@
return result; \
}
+#define DEF_ERR_IO_INSPECT(name, type) \
+ DEF_ERR_INSPECT(name, type) \
+ DEF_IO_INSPECT(name, type)
+
sw err_inspect (const s_tag *x)
{
+ return err_inspect_tag(x);
+}
+
+sw err_puts (const s8 *x)
+{
sw r;
sw result = 0;
- if ((r = buf_inspect_tag(&g_c3_env.err, x)) < 0)
+ if ((r = buf_write_1(&g_c3_env.err, x)) < 0)
return r;
result += r;
if ((r = buf_write_u8(&g_c3_env.err, '\n')) < 0)
return r;
result += r;
- buf_flush(&g_c3_env.err);
+ buf_flush(&g_c3_env.out);
return result;
}
-sw err_inspect_fn_pattern (const s_list *x)
-{
- sw r;
- r = buf_inspect_fn_pattern(&g_c3_env.err, x);
- buf_flush(&g_c3_env.err);
- return r;
-}
-
-sw err_inspect_list (const s_list *x)
-{
- sw r;
- r = buf_inspect_list(&g_c3_env.err, &x);
- buf_flush(&g_c3_env.err);
- return r;
-}
-
-sw err_puts (const s8 *x)
-{
- sw r;
- r = buf_write_1(&g_c3_env.err, x);
- buf_flush(&g_c3_env.err);
- return r;
-}
-
sw io_inspect (const s_tag *x)
{
sw r;
@@ -97,9 +82,6 @@ sw io_inspect (const s_tag *x)
return result;
}
-DEF_IO_INSPECT(fact, s_fact)
-DEF_IO_INSPECT(str, s_str)
-
sw io_puts (const s8 *x)
{
sw r;
@@ -113,3 +95,9 @@ sw io_puts (const s8 *x)
buf_flush(&g_c3_env.out);
return result;
}
+
+DEF_ERR_IO_INSPECT(fact, s_fact)
+DEF_ERR_IO_INSPECT(fn_pattern, s_list)
+DEF_ERR_IO_INSPECT(list, s_list *)
+DEF_ERR_IO_INSPECT(str, s_str)
+DEF_ERR_IO_INSPECT(tag, s_tag)
diff --git a/libc3/io.h b/libc3/io.h
index bea2409..f2b1ed5 100644
--- a/libc3/io.h
+++ b/libc3/io.h
@@ -15,22 +15,28 @@
#include "types.h"
-#define ERR_INSPECT(name, type) \
+#define PROTOTYPE_ERR_INSPECT(name, type) \
sw err_inspect_ ## name (const type *x) \
-#define IO_INSPECT(name, type) \
+#define PROTOTYPE_IO_INSPECT(name, type) \
sw io_inspect_ ## name (const type *x) \
+#define PROTOTYPES_ERR_IO_INSPECT(name, type) \
+ PROTOTYPE_ERR_INSPECT(name, type); \
+ PROTOTYPE_IO_INSPECT(name, type)
+
/* error output */
sw err_inspect (const s_tag *x);
-sw err_inspect_fn_pattern (const s_list *x);
-ERR_INSPECT(list, s_list);
sw err_puts (const s8 *x);
/* standard output */
sw io_inspect (const s_tag *x);
-IO_INSPECT(fact, s_fact);
-IO_INSPECT(str, s_str);
sw io_puts (const s8 *x);
+PROTOTYPES_ERR_IO_INSPECT(fact, s_fact);
+PROTOTYPES_ERR_IO_INSPECT(fn_pattern, s_list);
+PROTOTYPES_ERR_IO_INSPECT(list, s_list *);
+PROTOTYPES_ERR_IO_INSPECT(str, s_str);
+PROTOTYPES_ERR_IO_INSPECT(tag, s_tag);
+
#endif /* LIBC3_IO_H */
diff --git a/libc3/list.c b/libc3/list.c
index cb0fe71..b707981 100644
--- a/libc3/list.c
+++ b/libc3/list.c
@@ -208,6 +208,18 @@ s_list * list_new_list (s_list *x, s_list *next)
return dest;
}
+s_list * list_new_map (uw count, s_list *next)
+{
+ s_list *dest;
+ if ((dest = list_new(next))) {
+ if (! tag_init_map(&dest->tag, count)) {
+ free(dest);
+ return NULL;
+ }
+ }
+ return dest;
+}
+
s_list * list_new_str_1 (s8 *x_free, const s8 *x, s_list *next)
{
s_list *dest;
@@ -261,15 +273,13 @@ s_list ** list_remove_void (s_list **list)
assert(list);
tmp = *list;
l = &tmp;
- while (l && *l) {
+ while (*l) {
if ((*l)->tag.type == TAG_VOID)
*l = list_delete(*l);
- else {
- if ((*l)->next.type == TAG_LIST)
- l = &(*l)->next.data.list;
- else
- l = NULL;
- }
+ else if ((*l)->next.type == TAG_LIST)
+ l = &(*l)->next.data.list;
+ else
+ break;
}
*list = tmp;
return list;
diff --git a/libc3/list.h b/libc3/list.h
index 4fd5a65..12667d7 100644
--- a/libc3/list.h
+++ b/libc3/list.h
@@ -38,6 +38,7 @@ s_list * list_new_1 (const s8 *p);
s_list * list_new_f64 (f64 x, s_list *next);
s_list * list_new_copy (const s_tag *tag, s_list *next);
s_list * list_new_list (s_list *list, s_list *next);
+s_list * list_new_map (uw count, s_list *next);
s_list * list_new_str_1 (s8 *free, const s8 *p, s_list *next);
/* Observers */
diff --git a/libc3/tag.c b/libc3/tag.c
index ef9af3e..6be160a 100644
--- a/libc3/tag.c
+++ b/libc3/tag.c
@@ -1124,19 +1124,11 @@ s_tag * tag_init_sym (s_tag *tag, const s_sym *p)
s_tag * tag_init_sym_1 (s_tag *tag, const s8 *p)
{
- s_buf buf;
assert(tag);
assert(p);
bzero(tag, sizeof(s_tag));
tag->type = TAG_SYM;
- buf_init_1(&buf, p);
- if (buf_parse_sym(&buf, &tag->data.sym) != (sw) strlen(p)) {
- assert(! "tag_init_sym_1: invalid symbol");
- errx(1, "tag_init_sym_1: invalid symbol");
- buf_clean(&buf);
- return NULL;
- }
- buf_clean(&buf);
+ tag->data.sym = sym_1(p);
return tag;
}
diff --git a/libc3/window/Makefile b/libc3/window/Makefile
index e2ad5a0..ab9e96f 100644
--- a/libc3/window/Makefile
+++ b/libc3/window/Makefile
@@ -41,6 +41,9 @@ debug:
demo: build
if ${HAVE_CAIRO}; then ${MAKE} -C cairo demo; fi
+demo_debug: debug
+ if ${HAVE_CAIRO}; then ${MAKE} -C cairo demo_debug; fi
+
distclean:
if ${HAVE_CAIRO}; then ${MAKE} -C cairo distclean; fi
diff --git a/libc3/window/cairo/Makefile b/libc3/window/cairo/Makefile
index 19f4bc2..b00677a 100644
--- a/libc3/window/cairo/Makefile
+++ b/libc3/window/cairo/Makefile
@@ -57,6 +57,9 @@ debug:
demo: build
if ${HAVE_COCOA}; then ${MAKE} -C quartz demo; else if ${HAVE_WIN32}; then ${MAKE} -C win32 demo; else if ${HAVE_XCB}; then ${MAKE} -C xcb demo; fi; fi; fi
+demo_debug: debug
+ if ${HAVE_COCOA}; then ${MAKE} -C quartz demo_debug; else if ${HAVE_WIN32}; then ${MAKE} -C win32 demo_debug; else if ${HAVE_XCB}; then ${MAKE} -C xcb demo_debug; fi; fi; fi
+
distclean:
rm -rf ${DISTCLEANFILES}
${MAKE} -C demo distclean
diff --git a/libc3/window/cairo/cairo_sprite.c b/libc3/window/cairo/cairo_sprite.c
index 079fc9a..34bb248 100644
--- a/libc3/window/cairo/cairo_sprite.c
+++ b/libc3/window/cairo/cairo_sprite.c
@@ -21,10 +21,19 @@ void cairo_sprite_blit (const s_cairo_sprite *sprite, uw frame,
assert(sprite);
assert(frame < sprite->frame_count);
assert(cr);
- frame_x = sprite->w * (frame % sprite->dim_x);
- frame_y = sprite->h * (frame / sprite->dim_x);
- cairo_set_source_surface(cr, sprite->surface, frame_x, frame_y);
- cairo_rectangle(cr, x, y, sprite->w, sprite->h);
+ frame %= sprite->frame_count;
+ /* printf("cairo_sprite_blit: %lu\n", frame); */
+ frame_x = frame % sprite->dim_x;
+ frame_y = frame / sprite->dim_x;
+ /* printf("%lu %lu\n", frame_x, frame_y); */
+ frame_x *= sprite->w;
+ frame_y *= sprite->h;
+ /* printf("%lu %lu\n", frame_x, frame_y); */
+ cairo_set_source_surface(cr, sprite->surface,
+ (f64) frame_x, (f64) frame_y);
+ /* printf("x y %lu %lu\n", x, y); */
+ cairo_rectangle(cr, (f64) x, (f64) y,
+ (f64) sprite->w, (f64) sprite->h);
cairo_fill(cr);
}
@@ -50,6 +59,6 @@ s_cairo_sprite * cairo_sprite_init (s_cairo_sprite *sprite,
sprite->dim_y = dim_y;
sprite->w = sprite->surface_w / dim_x;
sprite->h = sprite->surface_h / dim_y;
- sprite->frame_count = frame_count ? frame_count : dim_x * dim_y;
+ sprite->frame_count = frame_count ? frame_count : (dim_x * dim_y);
return sprite;
}
diff --git a/libc3/window/cairo/demo/toasters.c b/libc3/window/cairo/demo/toasters.c
index a5cf129..3f1c607 100644
--- a/libc3/window/cairo/demo/toasters.c
+++ b/libc3/window/cairo/demo/toasters.c
@@ -10,26 +10,68 @@
* AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
* THIS SOFTWARE.
*/
+#include <math.h>
#include <libc3/c3.h>
#include "../cairo_sprite.h"
#include "toasters.h"
-static const f64 g_speed_x = 10.0;
-static const f64 g_speed_y = -2.0;
+/* static const f64 g_speed_size = 0.001; */
+static const f64 g_speed_x = 40.0;
+static const f64 g_speed_y = -20.0;
s_cairo_sprite g_toast_sprite = {0};
s_cairo_sprite g_toaster_sprite = {0};
+static bool toasters_render_toasters (s_list **toasters,
+ s_window_cairo *window,
+ cairo_t *cr,
+ s_sequence *seq);
+static bool toasters_render_toasts (s_list **toasts,
+ s_window_cairo *window,
+ cairo_t *cr,
+ s_sequence *seq);
+
+static s_tag * toast_init (s_tag *toast, f64 x, f64 y)
+{
+ tag_init_map(toast, 2);
+ tag_init_sym(toast->data.map.keys + 0, sym_1("x"));
+ tag_init_f64(toast->data.map.values + 0, x);
+ tag_init_sym(toast->data.map.keys + 1, sym_1("y"));
+ tag_init_f64(toast->data.map.values + 1, y);
+ return toast;
+}
+
+
+static void toast_render (s_tag *toast, s_window_cairo *window,
+ cairo_t *cr, s_sequence *seq)
+{
+ cairo_matrix_t matrix;
+ f64 *x;
+ f64 *y;
+ if (toast->type == TAG_MAP) {
+ x = &toast->data.map.values[0].data.f64;
+ y = &toast->data.map.values[1].data.f64;
+ *x -= seq->dt * g_speed_x;
+ *y -= seq->dt * g_speed_y;
+ if (*x < -100 || *y > window->h) {
+ tag_clean(toast);
+ toast->type = TAG_VOID;
+ return;
+ }
+ cairo_get_matrix(cr, &matrix);
+ cairo_translate(cr, *x, *y);
+ cairo_scale(cr, 0.3, 0.3);
+ cairo_sprite_blit(&g_toast_sprite, 0, cr, 0, 0);
+ cairo_set_matrix(cr, &matrix);
+ }
+}
+
static s_tag * toaster_init (s_tag *toaster, f64 y)
{
- tag_init_map(toaster, 4);
- tag_init_sym(toaster->data.map.keys, sym_1("size"));
- tag_init_f64(toaster->data.map.values, 0);
- tag_init_sym(toaster->data.map.keys + 1, sym_1("speed"));
- tag_init_f64(toaster->data.map.values + 1, 0);
- tag_init_sym(toaster->data.map.keys + 2, sym_1("x"));
- tag_init_f64(toaster->data.map.values + 2, 0);
- tag_init_sym(toaster->data.map.keys + 3, sym_1("y"));
- tag_init_f64(toaster->data.map.values + 3, y);
+ tag_init_map(toaster, 2);
+ tag_init_sym_1(toaster->data.map.keys + 0, "x");
+ tag_init_f64(toaster->data.map.values + 0, -150);
+ tag_init_sym_1(toaster->data.map.keys + 1, "y");
+ tag_init_f64(toaster->data.map.values + 1, y);
return toaster;
}
@@ -37,29 +79,23 @@ static void toaster_render (s_tag *toaster, s_window_cairo *window,
cairo_t *cr, s_sequence *seq)
{
cairo_matrix_t matrix;
- f64 *size;
- f64 *speed;
f64 *x;
f64 *y;
if (toaster->type == TAG_MAP) {
- size = &toaster->data.map.values[0].data.f64;
- speed = &toaster->data.map.values[1].data.f64;
- x = &toaster->data.map.values[2].data.f64;
- y = &toaster->data.map.values[3].data.f64;
- *speed += seq->dt;
- *size += *speed * 0.01;
- *x += *speed * g_speed_x;
- *y += *speed * g_speed_y;
- if (*x > window->w || *y < 0.0) {
+ x = &toaster->data.map.values[0].data.f64;
+ y = &toaster->data.map.values[1].data.f64;
+ *x += seq->dt * g_speed_x;
+ *y += seq->dt * g_speed_y;
+ if (*x > window->w || *y < -200) {
tag_clean(toaster);
toaster->type = TAG_VOID;
return;
}
cairo_get_matrix(cr, &matrix);
cairo_translate(cr, *x, *y);
- cairo_scale(cr, *size, *size);
+ cairo_scale(cr, 0.1, 0.1);
cairo_sprite_blit(&g_toaster_sprite,
- ((uw) seq->t) % g_toaster_sprite.frame_count,
+ (uw) 0 * fmod(seq->t, g_toaster_sprite.frame_count),
cr, 0, 0);
cairo_set_matrix(cr, &matrix);
}
@@ -68,55 +104,136 @@ static void toaster_render (s_tag *toaster, s_window_cairo *window,
bool toasters_load (s_sequence *seq,
s_window_cairo *window)
{
- f64 y = 0.0;
+ s_map *map;
+ (void) window;
tag_clean(&seq->tag);
- tag_init_list(&seq->tag, NULL);
- while (y < window->h - window->w * g_speed_y / g_speed_x) {
- tag_init_list(&seq->tag,
- list_new_list(list_new_f64(y, NULL),
- seq->tag.data.list));
- y += 100.0;
- }
+ tag_init_map(&seq->tag, 2);
+ map = &seq->tag.data.map;
+ tag_init_sym_1( map->keys + 0, "toasters");
+ tag_init_list(map->values + 0, NULL);
+ tag_init_sym_1( map->keys + 1, "toasts");
+ tag_init_list(map->values + 1, NULL);
return true;
}
bool toasters_render (s_sequence *seq, s_window_cairo *window,
cairo_t *cr)
{
- s_list *first;
+ s_list **toasters;
+ s_list **toasts;
+ cairo_set_source_rgb(cr, 0.7, 0.95, 1.0);
+ cairo_rectangle(cr, 0, 0, window->w, window->h);
+ cairo_fill(cr);
+ io_inspect(&seq->tag);
+ if (seq->tag.type == TAG_MAP) {
+ toasters = &seq->tag.data.map.values[0].data.list;
+ toasts = &seq->tag.data.map.values[1].data.list;
+ toasters_render_toasts(toasts, window, cr, seq);
+ toasters_render_toasters(toasters, window, cr, seq);
+ }
+ return true;
+}
+
+bool toasters_render_toasts (s_list **toasts, s_window_cairo *window,
+ cairo_t *cr, s_sequence *seq)
+{
s_list *i;
s_list *j;
+ s_map *map;
+ s_list **t = NULL;
f64 x;
f64 y;
- cairo_set_source_rgb(cr, 0.7, 0.95, 1.0);
- cairo_rectangle(cr, 0, 0, window->w, window->h);
- cairo_fill(cr);
- /*io_inspect(&seq->tag);*/
- if (seq->tag.type == TAG_LIST) {
- i = seq->tag.data.list;
- while (i) {
- j = NULL;
- if (i->tag.type == TAG_LIST)
- j = i->tag.data.list;
- if (j && j->tag.type == TAG_F64) {
- y = i->tag.data.list->tag.data.f64;
- first = list_next(j);
- x = 1000.0;
- if (first && first->tag.type == TAG_MAP)
- x = first->tag.data.map.values[2].data.f64;
- if (x > 100.0) {
- first = j->next.data.list = list_new(j->next.data.list);
- toaster_init(&first->tag, y);
- }
- list_remove_void(&j->next.data.list);
+ assert(toasts);
+ assert(window);
+ assert(cr);
+ assert(seq);
+ y = window->w * g_speed_y / g_speed_x - 200;
+ if (*toasts && (*toasts)->tag.type == TAG_MAP) {
+ t = &(*toasts)->tag.data.map.values[0].data.list;
+ y = (*toasts)->tag.data.map.values[1].data.f64;
+ }
+ while (y < window->h - 100) {
+ y += 150.0;
+ *toasts = list_new_map(2, *toasts);
+ map = &(*toasts)->tag.data.map;
+ tag_init_sym_1(map->keys + 0, "toasts");
+ tag_init_list(map->values + 0, NULL);
+ tag_init_sym_1(map->keys + 1, "y");
+ tag_init_f64(map->values + 1, y);
+ }
+ i = *toasts;
+ while (i) {
+ if (i->tag.type == TAG_MAP) {
+ t = &i->tag.data.map.values[0].data.list;
+ y = i->tag.data.map.values[1].data.f64;
+ x = 0.0;
+ if (*t && (*t)->tag.type == TAG_MAP)
+ x = (*t)->tag.data.map.values[0].data.f64;
+ if (x < window->w - 150.0) {
+ *t = list_new(*t);
+ toast_init(&(*t)->tag, window->w, y);
+ }
+ list_remove_void(t);
+ j = *t;
+ while (j) {
+ toast_render(&j->tag, window, cr, seq);
+ j = list_next(j);
+ }
+ }
+ i = list_next(i);
+ }
+ return true;
+}
+
+bool toasters_render_toasters (s_list **toasters,
+ s_window_cairo *window, cairo_t *cr,
+ s_sequence *seq)
+{
+ s_list *i;
+ s_list *j;
+ s_map *map;
+ s_list **t = NULL;
+ f64 x;
+ f64 y;
+ assert(toasters);
+ assert(window);
+ assert(cr);
+ assert(seq);
+ /* io_inspect_list((const s_list **) toasters); */
+ y = -100.0;
+ if (*toasters && (*toasters)->tag.type == TAG_MAP) {
+ t = &(*toasters)->tag.data.map.values[0].data.list;
+ y = (*toasters)->tag.data.map.values[1].data.f64;
+ }
+ while (y < window->h - window->w * g_speed_y / g_speed_x) {
+ y += 150.0;
+ *toasters = list_new_map(2, *toasters);
+ map = &(*toasters)->tag.data.map;
+ tag_init_sym_1(map->keys + 0, "toasters");
+ tag_init_list(map->values + 0, NULL);
+ tag_init_sym_1(map->keys + 1, "y");
+ tag_init_f64(map->values + 1, y);
+ }
+ i = *toasters;
+ while (i) {
+ if (i->tag.type == TAG_MAP) {
+ t = &i->tag.data.map.values[0].data.list;
+ y = i->tag.data.map.values[1].data.f64;
+ x = 1000.0;
+ if (*t && (*t)->tag.type == TAG_MAP)
+ x = (*t)->tag.data.map.values[0].data.f64;
+ if (x > 50.0) {
+ *t = list_new(*t);
+ toaster_init(&(*t)->tag, y);
+ }
+ list_remove_void(t);
+ j = *t;
+ while (j) {
+ toaster_render(&j->tag, window, cr, seq);
j = list_next(j);
- while (j) {
- toaster_render(&j->tag, window, cr, seq);
- j = list_next(j);
- }
}
- i = list_next(i);
}
+ i = list_next(i);
}
return true;
}
diff --git a/libc3/window/cairo/demo/window_cairo_demo.c b/libc3/window/cairo/demo/window_cairo_demo.c
index 9cc904a..999670b 100644
--- a/libc3/window/cairo/demo/window_cairo_demo.c
+++ b/libc3/window/cairo/demo/window_cairo_demo.c
@@ -80,12 +80,14 @@ bool window_cairo_demo_load (s_window_cairo *window)
"02. Lightspeed",
lightspeed_load, lightspeed_render);
if (! cairo_sprite_init(&g_toaster_sprite,
- cairo_png_1("img/flaps.png"), 4, 1, 4))
+ cairo_png_1("img/flaps.png"),
+ 4, 1, 4))
return false;
- if (! cairo_sprite_init(&g_toast_sprite, cairo_png_1("img/toast.png"),
+ if (! cairo_sprite_init(&g_toast_sprite,
+ cairo_png_1("img/toast.png"),
1, 1, 1))
return false;
- window_cairo_sequence_init(window->sequence + 2, 30.0,
+ window_cairo_sequence_init(window->sequence + 2, 60.0,
"03. Toasters",
toasters_load, toasters_render);
window_set_sequence_pos((s_window *) window, 0);
diff --git a/libc3/window/cairo/quartz/Makefile b/libc3/window/cairo/quartz/Makefile
index de7f9b9..5065b73 100644
--- a/libc3/window/cairo/quartz/Makefile
+++ b/libc3/window/cairo/quartz/Makefile
@@ -47,6 +47,9 @@ debug: libc3_window_cairo_quartz_debug.la
demo: build
${MAKE} -C demo demo
+demo_debug: debug
+ ${MAKE} -C demo demo_debug
+
distclean:
rm -rf ${DISTCLEANFILES}
${MAKE} -C demo distclean
diff --git a/libc3/window/cairo/quartz/demo/Makefile b/libc3/window/cairo/quartz/demo/Makefile
index 13864b7..a64098e 100644
--- a/libc3/window/cairo/quartz/demo/Makefile
+++ b/libc3/window/cairo/quartz/demo/Makefile
@@ -62,6 +62,9 @@ debug:
demo: build
time ${APP_PROG}
+demo_debug: debug
+ time ${APP_PROG_DEBUG}
+
distclean:
rm -rf ${DISTCLEANFILES}
diff --git a/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo.app/Contents/img/flaps.png b/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo.app/Contents/img/flaps.png
index cc3c730..d6fd09b 100644
Binary files a/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo.app/Contents/img/flaps.png and b/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo.app/Contents/img/flaps.png differ
diff --git a/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo_debug.app/Contents/img/flaps.png b/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo_debug.app/Contents/img/flaps.png
index cc3c730..d6fd09b 100644
Binary files a/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo_debug.app/Contents/img/flaps.png and b/libc3/window/cairo/quartz/demo/c3_window_cairo_quartz_demo_debug.app/Contents/img/flaps.png differ
diff --git a/sources.mk b/sources.mk
index 14f4c50..f70e822 100644
--- a/sources.mk
+++ b/sources.mk
@@ -7,26 +7,26 @@ C3_CONFIGURES = \
ic3/update_sources \
libc3/configure \
libc3/update_sources \
+ libc3/window/configure \
+ libc3/window/update_sources \
+ libc3/window/cairo/demo/configure \
+ libc3/window/cairo/demo/update_sources \
+ libc3/window/cairo/xcb/demo/configure \
+ libc3/window/cairo/xcb/demo/update_sources \
libc3/window/cairo/xcb/configure \
libc3/window/cairo/xcb/update_sources \
- libc3/window/cairo/xcb/demo/update_sources \
- libc3/window/cairo/xcb/demo/configure \
libc3/window/cairo/configure \
- libc3/window/cairo/quartz/configure \
- libc3/window/cairo/quartz/update_sources \
+ libc3/window/cairo/update_sources \
libc3/window/cairo/quartz/demo/configure \
libc3/window/cairo/quartz/demo/update_sources \
- libc3/window/cairo/demo/configure \
- libc3/window/cairo/demo/update_sources \
- libc3/window/cairo/update_sources \
- libc3/window/cairo/win32/configure \
+ libc3/window/cairo/quartz/configure \
+ libc3/window/cairo/quartz/update_sources \
libc3/window/cairo/win32/demo/configure \
libc3/window/cairo/win32/demo/update_sources \
+ libc3/window/cairo/win32/configure \
libc3/window/cairo/win32/update_sources \
- libc3/window/configure \
- libc3/window/update_sources \
- libtommath/update_sources \
libtommath/configure \
+ libtommath/update_sources \
test/configure \
test/update_sources \
ucd2c/configure \
@@ -35,17 +35,17 @@ C3_MAKEFILES = \
c3c/Makefile \
c3s/Makefile \
ic3/Makefile \
- libc3/gen.mk \
libc3/Makefile \
- libc3/window/cairo/xcb/Makefile \
+ libc3/gen.mk \
+ libc3/window/Makefile \
+ libc3/window/cairo/demo/Makefile \
libc3/window/cairo/xcb/demo/Makefile \
+ libc3/window/cairo/xcb/Makefile \
libc3/window/cairo/Makefile \
- libc3/window/cairo/quartz/Makefile \
libc3/window/cairo/quartz/demo/Makefile \
- libc3/window/cairo/demo/Makefile \
- libc3/window/cairo/win32/Makefile \
+ libc3/window/cairo/quartz/Makefile \
libc3/window/cairo/win32/demo/Makefile \
- libc3/window/Makefile \
+ libc3/window/cairo/win32/Makefile \
libtommath/Makefile \
test/Makefile \
ucd2c/Makefile \
@@ -55,387 +55,387 @@ C3_C_SOURCES = \
c3s/buf_readline.c \
c3s/c3s.c \
c3s/buf_readline.h \
- ic3/ic3.c \
- ic3/buf_linenoise.c \
ic3/buf_linenoise.h \
+ ic3/ic3.c \
ic3/linenoise.c \
- libc3/abs.c \
- libc3/buf.c \
- libc3/buf_inspect_s8.c \
- libc3/buf_inspect_s8.h \
- libc3/buf_inspect_s8_binary.c \
- libc3/buf_inspect_s8_binary.h \
- libc3/buf_inspect_s8_octal.c \
+ ic3/buf_linenoise.c \
+ libc3/buf_inspect_s_base.c.in \
+ libc3/type.h \
+ libc3/fact.c \
+ libc3/time.h \
+ libc3/fn.h \
+ libc3/s16.h \
libc3/buf_inspect_s8_octal.h \
+ libc3/log.c \
+ libc3/error.h \
+ libc3/buf_inspect_u64_octal.h \
+ libc3/set_item.h.in \
+ libc3/compare.c \
+ libc3/buf_inspect_s8_binary.h \
+ libc3/buf_inspect_uw_hexadecimal.h \
+ libc3/uw.c \
+ libc3/eval.c \
+ libc3/set__fact.c \
+ libc3/sym.h \
+ libc3/env.h \
+ libc3/cfn.c \
+ libc3/buf_inspect_u16_octal.h \
+ libc3/u.h.in \
+ libc3/buf_parse_s16.c \
+ libc3/s8.h \
+ libc3/quote.h \
+ libc3/buf_inspect_s32.h \
+ libc3/buf_inspect.c \
+ libc3/buf_parse_u.h.in \
+ libc3/skiplist_node__fact.h \
+ libc3/skiplist__fact.c \
+ libc3/tag_add.c \
+ libc3/buf_inspect_s32_hexadecimal.h \
+ libc3/ceiling.h \
+ libc3/list.c \
+ libc3/buf_inspect_u64.c \
+ libc3/facts.h \
+ libc3/buf_inspect_u16_decimal.c \
+ libc3/facts_with_cursor.c \
+ libc3/buf_inspect_sw_decimal.c \
+ libc3/facts_cursor.c \
+ libc3/buf_inspect_u64_binary.h \
+ libc3/buf_inspect_sw_hexadecimal.h \
+ libc3/buf_inspect_s32_decimal.h \
+ libc3/u16.h \
+ libc3/buf_inspect_s64_octal.h \
+ libc3/buf_inspect_u8_binary.h \
+ libc3/buf_inspect_s8.h \
+ libc3/buf_inspect_s16_octal.h \
+ libc3/ucd.c \
+ libc3/buf_inspect_s16_binary.h \
+ libc3/tuple.c \
+ libc3/buf_inspect_uw_octal.h \
+ libc3/buf_parse_u8.c \
+ libc3/tag.h \
+ libc3/float.h \
+ libc3/buf_inspect_u_base.c.in \
+ libc3/buf_parse_u16.c \
+ libc3/buf_inspect_u16_hexadecimal.h \
libc3/buf_inspect_s8_decimal.c \
- libc3/buf_inspect_s8_decimal.h \
- libc3/array.h \
- libc3/buf_inspect_s8_hexadecimal.c \
- libc3/buf_inspect_s16.c \
- libc3/call.c \
- libc3/arg.c \
+ libc3/buf_inspect_u32.h \
libc3/array.c \
+ libc3/buf_parse_sw.h \
+ libc3/set.h.in \
+ libc3/s.c.in \
+ libc3/buf_parse_s.c.in \
+ libc3/map.h \
+ libc3/skiplist.h.in \
+ libc3/set__tag.h \
+ libc3/buf_inspect_s64.c \
+ libc3/io.c \
+ libc3/set_item__tag.c \
+ libc3/sequence.c \
+ libc3/types.h \
+ libc3/buf_inspect_uw.c \
+ libc3/buf_inspect_u32_binary.c \
+ libc3/buf_inspect_s64_decimal.h \
+ libc3/set_cursor.c.in \
+ libc3/ident.c \
+ libc3/buf_inspect_s64_hexadecimal.c \
+ libc3/bool.h \
+ libc3/s.h.in \
+ libc3/set.c.in \
+ libc3/skiplist.c.in \
+ libc3/operator.h \
+ libc3/fn_clause.h \
+ libc3/buf_parse_s.h.in \
+ libc3/buf_inspect_s16.c \
libc3/binding.c \
- libc3/c3.c \
- libc3/buf_inspect_s8_hexadecimal.h \
- libc3/buf_inspect_s16.h \
- libc3/buf_inspect_s16_binary.c \
- libc3/buf_inspect_s16_binary.h \
- libc3/buf_inspect_s16_octal.c \
- libc3/buf_inspect_s16_octal.h \
+ libc3/ptag.h \
+ libc3/buf_parse_s32.h \
+ libc3/tag_bor.c \
+ libc3/var.h \
+ libc3/set_item__fact.h \
+ libc3/u8.c \
+ libc3/set_cursor.h.in \
+ libc3/f32.c \
+ libc3/buf_inspect_sw_octal.h \
+ libc3/c3.h \
+ libc3/arg.h \
+ libc3/buf_inspect_u8_hexadecimal.c \
+ libc3/buf_inspect_u32_hexadecimal.h \
+ libc3/buf_parse_u64.c \
+ libc3/module.c \
+ libc3/frame.h \
libc3/buf_inspect_s16_decimal.c \
- libc3/buf_inspect_s16_decimal.h \
- libc3/buf_inspect_s16_hexadecimal.c \
- libc3/buf_inspect_s16_hexadecimal.h \
- libc3/buf_inspect_s32.c \
- libc3/buf_inspect_s32.h \
- libc3/s8.c \
- libc3/env.c \
- libc3/bool.c \
- libc3/bool.h \
- libc3/buf_file.c \
- libc3/buf_inspect_s32_binary.c \
- libc3/buf_inspect_s32_binary.h \
- libc3/buf_inspect_s32_octal.c \
- libc3/buf_inspect_s32_octal.h \
- libc3/buf_inspect_s32_decimal.c \
- libc3/buf_inspect_s32_decimal.h \
- libc3/buf_inspect_s32_hexadecimal.c \
- libc3/buf_inspect_s32_hexadecimal.h \
- libc3/buf_inspect_s64.c \
- libc3/buf_inspect_s64.h \
- libc3/buf_inspect_s64_binary.c \
- libc3/buf_inspect_s64_binary.h \
- libc3/buf_inspect_sw.c \
+ libc3/file.h \
+ libc3/sw.h \
+ libc3/s32.c \
+ libc3/error_handler.c \
+ libc3/str.c \
libc3/buf_parse.h \
- libc3/buf.h \
- libc3/buf_save.c \
+ libc3/buf_inspect_uw_binary.c \
+ libc3/buf_inspect_uw_decimal.h \
libc3/facts_spec_cursor.c \
- libc3/buf_inspect_s64_octal.c \
- libc3/buf_inspect_s64_octal.h \
- libc3/buf_inspect_s64_decimal.c \
- libc3/buf_inspect_s64_decimal.h \
- libc3/buf_inspect_s64_hexadecimal.c \
- libc3/buf_inspect_s64_hexadecimal.h \
+ libc3/u64.h \
+ libc3/buf_inspect_u_base.h.in \
+ libc3/buf_inspect_s32_octal.h \
+ libc3/f64.h \
+ libc3/buf_inspect_u8_octal.h \
+ libc3/buf_inspect_s64_binary.c \
+ libc3/buf_inspect_u64_hexadecimal.c \
+ libc3/buf_inspect_u16_binary.c \
+ libc3/buf_save.h \
+ libc3/buf_inspect_u16.c \
+ libc3/buf_inspect_s8_hexadecimal.c \
+ libc3/u.c.in \
libc3/buf_inspect_sw.h \
+ libc3/facts_with.c \
+ libc3/buf_parse_u.c.in \
+ libc3/buf_parse_u32.h \
+ libc3/set_cursor__fact.c \
+ libc3/buf.h \
+ libc3/set_cursor__tag.h \
+ libc3/buf_inspect_s16_hexadecimal.h \
+ libc3/buf_inspect_u32_decimal.h \
+ libc3/buf_parse_uw.c \
+ libc3/buf_parse_s64.c \
+ libc3/abs.h \
libc3/buf_inspect_sw_binary.c \
- libc3/buf_inspect_sw_binary.h \
- libc3/buf_inspect_sw_octal.c \
- libc3/buf_inspect_sw_octal.h \
- libc3/buf_inspect_sw_decimal.c \
- libc3/buf_file.h \
- libc3/buf_save.h \
+ libc3/buf_parse_s8.h \
libc3/call.h \
- libc3/buf_inspect_sw_decimal.h \
- libc3/buf_inspect_sw_hexadecimal.c \
- libc3/buf_inspect_sw_hexadecimal.h \
- libc3/buf_inspect_u8.c \
- libc3/buf_inspect_u8.h \
- libc3/buf_inspect_u8_binary.c \
- libc3/buf_inspect_u8_binary.h \
- libc3/buf_inspect_u8_octal.c \
- libc3/buf_inspect_u8_octal.h \
- libc3/buf_inspect_u8_decimal.c \
+ libc3/sign.c \
libc3/buf_inspect_u8_decimal.h \
- libc3/buf_inspect_u16.c \
- libc3/binding.h \
- libc3/sequence.c \
- libc3/io.c \
- libc3/ceiling.c \
- libc3/ceiling.h \
- libc3/cfn.c \
- libc3/cfn.h \
- libc3/character.c \
libc3/character.h \
- libc3/buf_inspect_u8_hexadecimal.c \
- libc3/buf_inspect_u8_hexadecimal.h \
- libc3/buf_inspect_u16.h \
- libc3/buf_inspect_u16_binary.c \
- libc3/buf_inspect_u16_binary.h \
- libc3/buf_inspect_u16_octal.c \
- libc3/buf_inspect_u16_octal.h \
- libc3/buf_inspect_u16_decimal.c \
- libc3/buf_inspect_u16_decimal.h \
- libc3/buf_inspect_u16_hexadecimal.c \
- libc3/buf_inspect_u16_hexadecimal.h \
- libc3/compare.c \
- libc3/buf_inspect.c \
- libc3/compare.h \
- libc3/buf_inspect_u32.c \
- libc3/buf_inspect_u32.h \
- libc3/buf_inspect_u32_binary.c \
- libc3/buf_inspect_u32_binary.h \
- libc3/buf_inspect_u32_octal.c \
- libc3/buf_inspect_u32_octal.h \
- libc3/buf_inspect_u32_decimal.c \
- libc3/buf_inspect_u32_decimal.h \
- libc3/buf_inspect_u32_hexadecimal.c \
- libc3/buf_inspect_u32_hexadecimal.h \
- libc3/buf_inspect_u64.c \
- libc3/error.c \
- libc3/error.h \
- libc3/error_handler.c \
- libc3/eval.h \
- libc3/eval.c \
- libc3/facts.h \
- libc3/buf_inspect_u64.h \
- libc3/buf_inspect_u64_binary.c \
- libc3/buf_inspect_u64_binary.h \
- libc3/buf_inspect_u64_octal.c \
- libc3/buf_inspect_u64_octal.h \
- libc3/buf_inspect_u64_decimal.c \
libc3/buf_inspect_u64_decimal.h \
- libc3/buf_inspect_u64_hexadecimal.c \
- libc3/buf_inspect_u64_hexadecimal.h \
- libc3/buf_inspect_uw.c \
- libc3/buf_inspect_uw.h \
- libc3/set__fact.c \
- libc3/file.h \
- libc3/fact.c \
- libc3/fact.h \
- libc3/facts_cursor.c \
- libc3/buf_inspect_uw_binary.c \
- libc3/buf_inspect_uw_binary.h \
- libc3/buf_inspect_uw_octal.c \
- libc3/buf_inspect_uw_octal.h \
- libc3/buf_inspect_uw_decimal.c \
- libc3/buf_inspect_uw_decimal.h \
- libc3/buf_inspect_uw_hexadecimal.c \
- libc3/buf_inspect_uw_hexadecimal.h \
- libc3/buf_parse_s8.c \
- libc3/buf_parse_s8.h \
- libc3/buf_parse_s16.c \
- libc3/buf_parse_s16.h \
- libc3/buf_parse_s32.c \
- libc3/buf_parse_s32.h \
- libc3/s8.h \
- libc3/list.c \
- libc3/facts_cursor.h \
- libc3/facts_spec.c \
- libc3/facts_spec.h \
- libc3/facts_spec_cursor.h \
- libc3/buf_parse_s64.c \
- libc3/buf_parse_s64.h \
- libc3/buf_parse_sw.c \
- libc3/buf_parse_sw.h \
- libc3/buf_parse_u8.c \
- libc3/buf_parse_u8.h \
- libc3/buf_parse_u16.c \
- libc3/buf_parse_u16.h \
- libc3/buf_parse_u32.c \
- libc3/buf_parse_u32.h \
- libc3/buf_parse_u64.c \
- libc3/buf_parse_u64.h \
- libc3/buf_parse_uw.c \
- libc3/buf_parse_uw.h \
- libc3/set__fact.h \
- libc3/set__tag.c \
- libc3/buf_parse_u.h.in \
- libc3/facts_with.c \
- libc3/facts_with.h \
- libc3/facts_with_cursor.c \
- libc3/set__tag.h \
- libc3/set_cursor__fact.c \
- libc3/set_cursor__fact.h \
- libc3/set_cursor__tag.c \
- libc3/set_cursor__tag.h \
- libc3/set_item__fact.c \
- libc3/set_item__fact.h \
- libc3/set_item__tag.c \
- libc3/set_item__tag.h \
- libc3/skiplist__fact.c \
- libc3/skiplist__fact.h \
- libc3/skiplist_node__fact.c \
- libc3/skiplist_node__fact.h \
- libc3/s16.c \
- libc3/s16.h \
- libc3/s32.c \
- libc3/s32.h \
- libc3/s64.c \
- libc3/facts_with_cursor.h \
- libc3/float.h \
- libc3/frame.c \
- libc3/frame.h \
- libc3/types.h \
- libc3/s64.h \
- libc3/sw.c \
- libc3/sw.h \
- libc3/u8.c \
- libc3/u8.h \
- libc3/u16.c \
- libc3/f64.h \
- libc3/u16.h \
+ libc3/buf_inspect_s_base.h.in \
+ libc3/buf_inspect_u32_octal.h \
libc3/u32.c \
- libc3/f32.c \
- libc3/f64.c \
- libc3/u32.h \
- libc3/u64.c \
- libc3/u64.h \
- libc3/uw.c \
- libc3/uw.h \
- libc3/hash.h \
- libc3/ident.h \
+ libc3/hash.c \
+ libc3/buf_file.h \
libc3/integer.c \
- libc3/integer.h \
- libc3/io.h \
- libc3/list.h \
- libc3/log.c \
- libc3/log.h \
- libc3/buf_inspect_s.h.in \
- libc3/module.c \
+ libc3/buf_inspect_u8.c \
+ libc3/facts_spec.c \
+ libc3/buf_inspect_s32_binary.h \
+ libc3/set_item.c.in \
+ libc3/tag_bxor.c \
+ libc3/s64.h \
+ libc3/buf_inspect_u16_decimal.h \
+ libc3/facts.c \
+ libc3/buf_inspect_u64.h \
+ libc3/buf_inspect_sw_decimal.h \
+ libc3/facts_with_cursor.h \
+ libc3/skiplist_node__fact.c \
libc3/buf_inspect.h \
- libc3/c3_main.h \
- libc3/map.c \
- libc3/abs.h \
- libc3/str.c \
- libc3/module.h \
- libc3/buf_parse_u.c.in \
libc3/quote.c \
- libc3/quote.h \
- libc3/set.c.in \
- libc3/set.h.in \
- libc3/buf_inspect_s_base.h.in \
- libc3/sequence.h \
- libc3/set_cursor.c.in \
- libc3/set_cursor.h.in \
- libc3/f32.h \
- libc3/facts.c \
- libc3/set_item.c.in \
- libc3/set_item.h.in \
- libc3/s.h.in \
- libc3/sign.c \
- libc3/sign.h \
- libc3/skiplist.c.in \
- libc3/skiplist.h.in \
- libc3/type.h \
- libc3/tag.c \
- libc3/skiplist_node.c.in \
+ libc3/buf_inspect_s32.c \
libc3/skiplist_node.h.in \
- libc3/str.h \
- libc3/tag.h \
- libc3/ucd.c \
- libc3/sym.h \
- libc3/tuple.c \
- libc3/tuple.h \
+ libc3/s8.c \
+ libc3/buf_parse_s16.h \
+ libc3/list.h \
+ libc3/ceiling.c \
+ libc3/buf_inspect_s.h.in \
+ libc3/buf_inspect_s32_hexadecimal.c \
+ libc3/skiplist__fact.h \
+ libc3/uw.h \
+ libc3/buf_inspect_uw_hexadecimal.c \
+ libc3/buf_inspect_s8_binary.c \
+ libc3/compare.h \
+ libc3/buf_inspect_u64_octal.c \
+ libc3/buf_inspect_u16_octal.c \
+ libc3/tag_band.c \
+ libc3/cfn.h \
+ libc3/env.c \
+ libc3/set__fact.h \
+ libc3/sym.c \
+ libc3/eval.h \
+ libc3/c3_main.h \
+ libc3/buf_inspect_s8_octal.c \
+ libc3/s16.c \
+ libc3/fn.c \
+ libc3/time.c \
+ libc3/fact.h \
libc3/type.c \
- libc3/ucd.h \
- libc3/buf_parse_s.c.in \
- libc3/buf_parse_s.h.in \
- libc3/buf_inspect_s.c.in \
- libc3/error_handler.h \
- libc3/ident.c \
- libc3/tag_bor.c \
- libc3/tag_bxor.c \
- libc3/buf_inspect_s_base.c.in \
- libc3/buf_inspect_u.c.in \
- libc3/buf_inspect_u.h.in \
- libc3/env.h \
- libc3/arg.h \
- libc3/buf_inspect_u_base.c.in \
- libc3/buf_inspect_u_base.h.in \
- libc3/window/cairo/xcb/config.h \
- libc3/window/cairo/xcb/window_cairo_xcb.c \
+ libc3/error.c \
+ libc3/log.h \
+ libc3/sequence.h \
+ libc3/set_item__tag.h \
+ libc3/io.h \
+ libc3/buf_inspect_s64.h \
+ libc3/buf_inspect_s64_hexadecimal.h \
+ libc3/window/types.h \
+ libc3/window/window.h \
+ libc3/window/cairo/demo/toasters.h \
+ libc3/window/cairo/demo/window_cairo_demo.c \
+ libc3/window/cairo/demo/lightspeed.h \
+ libc3/window/cairo/demo/bg_rect.h \
+ libc3/window/cairo/demo/window_cairo_demo.h \
+ libc3/window/cairo/demo/toasters.c \
+ libc3/window/cairo/demo/lightspeed.c \
+ libc3/window/cairo/demo/bg_rect.c \
libc3/window/cairo/xcb/demo/window_cairo_xcb_demo.c \
libc3/window/cairo/xcb/window_cairo_xcb.h \
+ libc3/window/cairo/xcb/config.h \
+ libc3/window/cairo/xcb/window_cairo_xcb.c \
libc3/window/cairo/types.h \
- libc3/window/cairo/window_cairo.h \
libc3/window/cairo/window_cairo.c \
- libc3/window/cairo/quartz/window_cairo_quartz.h \
+ libc3/window/cairo/cairo_png.h \
+ libc3/window/cairo/cairo_sprite.h \
libc3/window/cairo/quartz/demo/window_cairo_quartz_demo.c \
- libc3/window/cairo/quartz/window_cairo_quartz_app_delegate.h \
- libc3/window/cairo/quartz/xkbquartz.h \
- libc3/window/cairo/quartz/window_cairo_quartz_view.h \
libc3/window/cairo/quartz/window_cairo_quartz_view_controller.h \
libc3/window/cairo/quartz/quartz_to_xkbcommon.c \
+ libc3/window/cairo/quartz/window_cairo_quartz.h \
+ libc3/window/cairo/quartz/window_cairo_quartz_app_delegate.h \
libc3/window/cairo/quartz/quartz_to_xkbcommon.h \
- libc3/window/cairo/demo/bg_rect.c \
- libc3/window/cairo/demo/bg_rect.h \
- libc3/window/cairo/demo/lightspeed.c \
- libc3/window/cairo/demo/lightspeed.h \
- libc3/window/cairo/demo/window_cairo_demo.c \
- libc3/window/cairo/demo/window_cairo_demo.h \
- libc3/window/cairo/demo/toasters.c \
- libc3/window/cairo/demo/toasters.h \
- libc3/window/cairo/cairo_png.c \
+ libc3/window/cairo/quartz/xkbquartz.h \
+ libc3/window/cairo/quartz/window_cairo_quartz_view.h \
+ libc3/window/cairo/window_cairo.h \
libc3/window/cairo/win32/demo/window_cairo_win32_demo.c \
libc3/window/cairo/win32/vk_to_xkbcommon.c \
+ libc3/window/cairo/win32/window_cairo_win32.h \
libc3/window/cairo/win32/vk_to_xkbcommon.h \
libc3/window/cairo/win32/window_cairo_win32.c \
- libc3/window/cairo/win32/window_cairo_win32.h \
- libc3/window/cairo/cairo_png.h \
libc3/window/cairo/cairo_sprite.c \
- libc3/window/cairo/cairo_sprite.h \
- libc3/window/types.h \
+ libc3/window/cairo/cairo_png.c \
libc3/window/window.c \
- libc3/window/window.h \
- libc3/buf_parse.c \
- libc3/u.c.in \
- libc3/fn.c \
- libc3/u.h.in \
+ libc3/ident.h \
+ libc3/buf_inspect_s64_decimal.c \
+ libc3/buf_inspect_u32_binary.h \
+ libc3/buf_inspect_uw.h \
+ libc3/buf_inspect_u.c.in \
+ libc3/buf_parse_sw.c \
+ libc3/array.h \
+ libc3/buf_inspect_u32.c \
+ libc3/buf_inspect_s8_decimal.h \
+ libc3/buf_inspect_u16_hexadecimal.c \
+ libc3/buf_parse_u16.h \
+ libc3/set__tag.c \
+ libc3/map.c \
+ libc3/tag.c \
+ libc3/buf_parse_u8.h \
+ libc3/buf_inspect_uw_octal.c \
+ libc3/buf_inspect_u8_binary.c \
+ libc3/buf_inspect_s64_octal.c \
+ libc3/u16.c \
+ libc3/buf_inspect_sw_hexadecimal.c \
+ libc3/buf_inspect_s32_decimal.c \
+ libc3/buf_inspect_u64_binary.c \
+ libc3/facts_cursor.h \
+ libc3/tuple.h \
+ libc3/buf_inspect_s16_binary.c \
+ libc3/ucd.h \
+ libc3/buf_inspect_s16_octal.c \
+ libc3/buf_inspect_s8.c \
libc3/sha1.h \
- libc3/c3.h \
- libc3/fn.h \
- libc3/map.h \
+ libc3/buf_inspect_uw_binary.h \
+ libc3/buf_parse.c \
+ libc3/str.h \
+ libc3/error_handler.h \
+ libc3/u64.c \
+ libc3/buf_inspect_s32_octal.c \
+ libc3/facts_spec_cursor.h \
+ libc3/buf_inspect_uw_decimal.c \
+ libc3/sw.c \
libc3/file.c \
+ libc3/buf_inspect_s16_decimal.h \
+ libc3/frame.c \
+ libc3/s32.h \
+ libc3/c3.c \
+ libc3/f32.h \
+ libc3/buf_inspect_sw_octal.c \
+ libc3/u8.h \
+ libc3/set_item__fact.c \
+ libc3/var.c \
+ libc3/module.h \
libc3/license.c \
- libc3/operator.c \
- libc3/ptag.h \
- libc3/tag_add.c \
- libc3/tag_band.c \
- libc3/fn_clause.h \
- libc3/s.c.in \
- libc3/operator.h \
- libc3/sym.c \
+ libc3/buf_inspect_u32_hexadecimal.c \
+ libc3/buf_parse_u64.h \
+ libc3/buf_inspect_u8_hexadecimal.h \
+ libc3/arg.c \
libc3/fn_clause.c \
+ libc3/operator.c \
+ libc3/bool.c \
+ libc3/buf_parse_s32.c \
libc3/ptag.c \
- libc3/var.h \
- libc3/var.c \
- libc3/time.c \
- libc3/time.h \
- libc3/hash.c \
- test/buf_inspect_test.c \
- test/bool_test.c \
- test/buf_parse_test.c \
- test/facts_test.c \
- test/buf_file_test.c \
- test/list_test.c \
- test/test.c \
- test/test.h \
- test/buf_parse_test_u8.c \
- test/buf_parse_test.h \
+ libc3/binding.h \
+ libc3/buf_inspect_u.h.in \
+ libc3/buf_inspect_s16.h \
+ libc3/integer.h \
+ libc3/buf_file.c \
+ libc3/s64.c \
+ libc3/buf_inspect_s32_binary.c \
+ libc3/buf_inspect_u8.h \
+ libc3/facts_spec.h \
+ libc3/buf_inspect_u8_decimal.c \
+ libc3/sign.h \
+ libc3/call.c \
+ libc3/buf_parse_s8.c \
+ libc3/buf_inspect_sw_binary.h \
+ libc3/hash.h \
+ libc3/u32.h \
+ libc3/buf_inspect_u32_octal.c \
+ libc3/character.c \
+ libc3/buf_inspect_u64_decimal.c \
+ libc3/buf_parse_uw.h \
+ libc3/buf_inspect_u32_decimal.c \
+ libc3/buf_inspect_s16_hexadecimal.c \
+ libc3/set_cursor__tag.c \
+ libc3/set_cursor__fact.h \
+ libc3/buf.c \
+ libc3/abs.c \
+ libc3/buf_parse_s64.h \
+ libc3/buf_inspect_s.c.in \
+ libc3/buf_inspect_s64_binary.h \
+ libc3/buf_inspect_u8_octal.c \
+ libc3/f64.c \
+ libc3/skiplist_node.c.in \
+ libc3/buf_parse_u32.c \
+ libc3/facts_with.h \
+ libc3/buf_inspect_sw.c \
+ libc3/buf_inspect_u16.h \
+ libc3/buf_inspect_s8_hexadecimal.h \
+ libc3/buf_inspect_u16_binary.h \
+ libc3/buf_inspect_u64_hexadecimal.h \
+ libc3/buf_save.c \
+ test/ident_test.c \
test/buf_parse_test_s16.c \
- test/buf_parse_test_s32.c \
- test/buf_parse_test_s64.c \
- test/buf_parse_test_s8.c \
- test/buf_parse_test_su.h \
+ test/buf_inspect_test.c \
+ test/libc3_test.c \
+ test/fn_test.c \
test/buf_parse_test_u16.c \
- test/buf_parse_test_u32.c \
- test/buf_test.c \
- test/buf_parse_test_u64.c \
- test/call_test.c \
- test/facts_cursor_test.c \
+ test/str_test.c \
test/cfn_test.c \
test/character_test.c \
- test/env_test.c \
- test/fact_test.c \
+ test/buf_parse_test_s8.c \
+ test/skiplist__fact_test.c \
+ test/sym_test.c \
+ test/tag_test.h \
+ test/buf_file_test.c \
+ test/bool_test.c \
test/fact_test.h \
- test/libc3_test.c \
- test/str_test.c \
+ test/buf_parse_test_u64.c \
+ test/compare_test.c \
test/facts_with_test.c \
+ test/array_test.c \
+ test/buf_parse_test.h \
+ test/test.h \
+ test/buf_parse_test_su.h \
+ test/env_test.c \
+ test/buf_parse_test_s64.c \
+ test/types_test.c \
test/hash_test.c \
- test/compare_test.c \
- test/compare_test.h \
- test/ident_test.c \
- test/set__fact_test.c \
+ test/call_test.c \
test/set__tag_test.c \
- test/skiplist__fact_test.c \
- test/sym_test.c \
+ test/facts_test.c \
+ test/facts_cursor_test.c \
+ test/compare_test.h \
+ test/buf_parse_test_s32.c \
+ test/test.c \
+ test/buf_parse_test.c \
+ test/fact_test.c \
test/tag_test.c \
- test/tag_test.h \
- test/array_test.c \
- test/fn_test.c \
+ test/set__fact_test.c \
+ test/buf_parse_test_u32.c \
+ test/buf_test.c \
+ test/list_test.c \
+ test/buf_parse_test_u8.c \
test/tuple_test.c \
- test/types_test.c \
ucd2c/ucd.h \
ucd2c/ucd2c.c \
diff --git a/sources.sh b/sources.sh
index d7e3799..e20d3fc 100644
--- a/sources.sh
+++ b/sources.sh
@@ -1,4 +1,4 @@
# sources.sh generated by update_sources
-C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/configure libc3/update_sources libc3/window/cairo/xcb/configure libc3/window/cairo/xcb/update_sources libc3/window/cairo/xcb/demo/update_sources libc3/window/cairo/xcb/demo/configure libc3/window/cairo/configure libc3/window/cairo/quartz/configure libc3/window/cairo/quartz/update_sources libc3/window/cairo/quartz/demo/configure libc3/window/cairo/quartz/demo/update_sources libc3/window/cairo/demo/configure libc3/window/cairo/demo/update_sources libc3/window/cairo/update_sources libc3/window/cairo/win32/configure libc3/window/cairo/win32/demo/configure libc3/window/cairo/win32/demo/update_sources libc3/window/cairo/win32/update_sources libc3/window/configure libc3/window/update_sources libtommath/update_sources libtommath/configure test/configure test/update_sources ucd2c/configure '
-C3_MAKEFILES='c3c/Makefile c3s/Makefile ic3/Makefile libc3/gen.mk libc3/Makefile libc3/window/cairo/xcb/Makefile libc3/window/cairo/xcb/demo/Makefile libc3/window/cairo/Makefile libc3/window/cairo/quartz/Makefile libc3/window/cairo/quartz/demo/Makefile libc3/window/cairo/demo/Makefile libc3/window/cairo/win32/Makefile libc3/window/cairo/win32/demo/Makefile libc3/window/Makefile libtommath/Makefile test/Makefile ucd2c/Makefile '
-C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/ic3.c ic3/buf_linenoise.c ic3/buf_linenoise.h ic3/linenoise.c libc3/abs.c libc3/buf.c libc3/buf_inspect_s8.c libc3/buf_inspect_s8.h libc3/buf_inspect_s8_binary.c libc3/buf_inspect_s8_binary.h libc3/buf_inspect_s8_octal.c libc3/buf_inspect_s8_octal.h libc3/buf_inspect_s8_decimal.c libc3/buf_inspect_s8_decimal.h libc3/array.h libc3/buf_inspect_s8_hexadecimal.c libc3/buf_inspect_s16.c libc3/call.c libc3/arg.c libc3/array.c libc3/binding.c libc3/c3.c libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_s16.h libc3/buf_inspect_s16_binary.c libc3/buf_inspect_s16_binary.h libc3/buf_inspect_s16_octal.c libc3/buf_inspect_s16_octal.h libc3/buf_inspect_s16_decimal.c libc3/buf_inspect_s16_decimal.h libc3/buf_inspect_s16_hexadecimal.c libc3/buf_inspect_s16_hexadecimal.h libc3/buf_inspect_s32.c libc3/buf_inspect_s32.h libc3/s8.c libc3/env.c libc3/bool.c libc3/bool.h libc3/buf_file.c libc3/buf_inspect_s32_binary.c libc3/buf_inspect_s32_binary.h libc3/buf_inspect_s32_octal.c libc3/buf_inspect_s32_octal.h libc3/buf_inspect_s32_decimal.c libc3/buf_inspect_s32_decimal.h libc3/buf_inspect_s32_hexadecimal.c libc3/buf_inspect_s32_hexadecimal.h libc3/buf_inspect_s64.c libc3/buf_inspect_s64.h libc3/buf_inspect_s64_binary.c libc3/buf_inspect_s64_binary.h libc3/buf_inspect_sw.c libc3/buf_parse.h libc3/buf.h libc3/buf_save.c libc3/facts_spec_cursor.c libc3/buf_inspect_s64_octal.c libc3/buf_inspect_s64_octal.h libc3/buf_inspect_s64_decimal.c libc3/buf_inspect_s64_decimal.h libc3/buf_inspect_s64_hexadecimal.c libc3/buf_inspect_s64_hexadecimal.h libc3/buf_inspect_sw.h libc3/buf_inspect_sw_binary.c libc3/buf_inspect_sw_binary.h libc3/buf_inspect_sw_octal.c libc3/buf_inspect_sw_octal.h libc3/buf_inspect_sw_decimal.c libc3/buf_file.h libc3/buf_save.h libc3/call.h libc3/buf_inspect_sw_decimal.h libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_sw_hexadecimal.h libc3/buf_inspect_u8.c libc3/buf_inspect_u8.h libc3/buf_inspect_u8_binary.c libc3/buf_inspect_u8_binary.h libc3/buf_inspect_u8_octal.c libc3/buf_inspect_u8_octal.h libc3/buf_inspect_u8_decimal.c libc3/buf_inspect_u8_decimal.h libc3/buf_inspect_u16.c libc3/binding.h libc3/sequence.c libc3/io.c libc3/ceiling.c libc3/ceiling.h libc3/cfn.c libc3/cfn.h libc3/character.c libc3/character.h libc3/buf_inspect_u8_hexadecimal.c libc3/buf_inspect_u8_hexadecimal.h libc3/buf_inspect_u16.h libc3/buf_inspect_u16_binary.c libc3/buf_inspect_u16_binary.h libc3/buf_inspect_u16_octal.c libc3/buf_inspect_u16_octal.h libc3/buf_inspect_u16_decimal.c libc3/buf_inspect_u16_decimal.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_inspect_u16_hexadecimal.h libc3/compare.c libc3/buf_inspect.c libc3/compare.h libc3/buf_inspect_u32.c libc3/buf_inspect_u32.h libc3/buf_inspect_u32_binary.c libc3/buf_inspect_u32_binary.h libc3/buf_inspect_u32_octal.c libc3/buf_inspect_u32_octal.h libc3/buf_inspect_u32_decimal.c libc3/buf_inspect_u32_decimal.h libc3/buf_inspect_u32_hexadecimal.c libc3/buf_inspect_u32_hexadecimal.h libc3/buf_inspect_u64.c libc3/error.c libc3/error.h libc3/error_handler.c libc3/eval.h libc3/eval.c libc3/facts.h libc3/buf_inspect_u64.h libc3/buf_inspect_u64_binary.c libc3/buf_inspect_u64_binary.h libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u64_octal.h libc3/buf_inspect_u64_decimal.c libc3/buf_inspect_u64_decimal.h libc3/buf_inspect_u64_hexadecimal.c libc3/buf_inspect_u64_hexadecimal.h libc3/buf_inspect_uw.c libc3/buf_inspect_uw.h libc3/set__fact.c libc3/file.h libc3/fact.c libc3/fact.h libc3/facts_cursor.c libc3/buf_inspect_uw_binary.c libc3/buf_inspect_uw_binary.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_uw_octal.h libc3/buf_inspect_uw_decimal.c libc3/buf_inspect_uw_decimal.h libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_uw_hexadecimal.h libc3/buf_parse_s8.c libc3/buf_parse_s8.h libc3/buf_parse_s16.c libc3/buf_parse_s16.h libc3/buf_parse_s32.c libc3/buf_parse_s32.h libc3/s8.h libc3/list.c libc3/facts_cursor.h libc3/facts_spec.c libc3/facts_spec.h libc3/facts_spec_cursor.h libc3/buf_parse_s64.c libc3/buf_parse_s64.h libc3/buf_parse_sw.c libc3/buf_parse_sw.h libc3/buf_parse_u8.c libc3/buf_parse_u8.h libc3/buf_parse_u16.c libc3/buf_parse_u16.h libc3/buf_parse_u32.c libc3/buf_parse_u32.h libc3/buf_parse_u64.c libc3/buf_parse_u64.h libc3/buf_parse_uw.c libc3/buf_parse_uw.h libc3/set__fact.h libc3/set__tag.c libc3/buf_parse_u.h.in libc3/facts_with.c libc3/facts_with.h libc3/facts_with_cursor.c libc3/set__tag.h libc3/set_cursor__fact.c libc3/set_cursor__fact.h libc3/set_cursor__tag.c libc3/set_cursor__tag.h libc3/set_item__fact.c libc3/set_item__fact.h libc3/set_item__tag.c libc3/set_item__tag.h libc3/skiplist__fact.c libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/skiplist_node__fact.h libc3/s16.c libc3/s16.h libc3/s32.c libc3/s32.h libc3/s64.c libc3/facts_with_cursor.h libc3/float.h libc3/frame.c libc3/frame.h libc3/types.h libc3/s64.h libc3/sw.c libc3/sw.h libc3/u8.c libc3/u8.h libc3/u16.c libc3/f64.h libc3/u16.h libc3/u32.c libc3/f32.c libc3/f64.c libc3/u32.h libc3/u64.c libc3/u64.h libc3/uw.c libc3/uw.h libc3/hash.h libc3/ident.h libc3/integer.c libc3/integer.h libc3/io.h libc3/list.h libc3/log.c libc3/log.h libc3/buf_inspect_s.h.in libc3/module.c libc3/buf_inspect.h libc3/c3_main.h libc3/map.c libc3/abs.h libc3/str.c libc3/module.h libc3/buf_parse_u.c.in libc3/quote.c libc3/quote.h libc3/set.c.in libc3/set.h.in libc3/buf_inspect_s_base.h.in libc3/sequence.h libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/f32.h libc3/facts.c libc3/set_item.c.in libc3/set_item.h.in libc3/s.h.in libc3/sign.c libc3/sign.h libc3/skiplist.c.in libc3/skiplist.h.in libc3/type.h libc3/tag.c libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/str.h libc3/tag.h libc3/ucd.c libc3/sym.h libc3/tuple.c libc3/tuple.h libc3/type.c libc3/ucd.h libc3/buf_parse_s.c.in libc3/buf_parse_s.h.in libc3/buf_inspect_s.c.in libc3/error_handler.h libc3/ident.c libc3/tag_bor.c libc3/tag_bxor.c libc3/buf_inspect_s_base.c.in libc3/buf_inspect_u.c.in libc3/buf_inspect_u.h.in libc3/env.h libc3/arg.h libc3/buf_inspect_u_base.c.in libc3/buf_inspect_u_base.h.in libc3/window/cairo/xcb/config.h libc3/window/cairo/xcb/window_cairo_xcb.c libc3/window/cairo/xcb/demo/window_cairo_xcb_demo.c libc3/window/cairo/xcb/window_cairo_xcb.h libc3/window/cairo/types.h libc3/window/cairo/window_cairo.h libc3/window/cairo/window_cairo.c libc3/window/cairo/quartz/window_cairo_quartz.h libc3/window/cairo/quartz/demo/window_cairo_quartz_demo.c libc3/window/cairo/quartz/window_cairo_quartz_app_delegate.h libc3/window/cairo/quartz/xkbquartz.h libc3/window/cairo/quartz/window_cairo_quartz_view.h libc3/window/cairo/quartz/window_cairo_quartz_view_controller.h libc3/window/cairo/quartz/quartz_to_xkbcommon.c libc3/window/cairo/quartz/quartz_to_xkbcommon.h libc3/window/cairo/demo/bg_rect.c libc3/window/cairo/demo/bg_rect.h libc3/window/cairo/demo/lightspeed.c libc3/window/cairo/demo/lightspeed.h libc3/window/cairo/demo/window_cairo_demo.c libc3/window/cairo/demo/window_cairo_demo.h libc3/window/cairo/demo/toasters.c libc3/window/cairo/demo/toasters.h libc3/window/cairo/cairo_png.c libc3/window/cairo/win32/demo/window_cairo_win32_demo.c libc3/window/cairo/win32/vk_to_xkbcommon.c libc3/window/cairo/win32/vk_to_xkbcommon.h libc3/window/cairo/win32/window_cairo_win32.c libc3/window/cairo/win32/window_cairo_win32.h libc3/window/cairo/cairo_png.h libc3/window/cairo/cairo_sprite.c libc3/window/cairo/cairo_sprite.h libc3/window/types.h libc3/window/window.c libc3/window/window.h libc3/buf_parse.c libc3/u.c.in libc3/fn.c libc3/u.h.in libc3/sha1.h libc3/c3.h libc3/fn.h libc3/map.h libc3/file.c libc3/license.c libc3/operator.c libc3/ptag.h libc3/tag_add.c libc3/tag_band.c libc3/fn_clause.h libc3/s.c.in libc3/operator.h libc3/sym.c libc3/fn_clause.c libc3/ptag.c libc3/var.h libc3/var.c libc3/time.c libc3/time.h libc3/hash.c test/buf_inspect_test.c test/bool_test.c test/buf_parse_test.c test/facts_test.c test/buf_file_test.c test/list_test.c test/test.c test/test.h test/buf_parse_test_u8.c test/buf_parse_test.h test/buf_parse_test_s16.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_s8.c test/buf_parse_test_su.h test/buf_parse_test_u16.c test/buf_parse_test_u32.c test/buf_test.c test/buf_parse_test_u64.c test/call_test.c test/facts_cursor_test.c test/cfn_test.c test/character_test.c test/env_test.c test/fact_test.c test/fact_test.h test/libc3_test.c test/str_test.c test/facts_with_test.c test/hash_test.c test/compare_test.c test/compare_test.h test/ident_test.c test/set__fact_test.c test/set__tag_test.c test/skiplist__fact_test.c test/sym_test.c test/tag_test.c test/tag_test.h test/array_test.c test/fn_test.c test/tuple_test.c test/types_test.c ucd2c/ucd.h ucd2c/ucd2c.c '
+C3_CONFIGURES='c3c/configure c3s/configure c3s/update_sources ic3/configure ic3/update_sources libc3/configure libc3/update_sources libc3/window/configure libc3/window/update_sources libc3/window/cairo/demo/configure libc3/window/cairo/demo/update_sources libc3/window/cairo/xcb/demo/configure libc3/window/cairo/xcb/demo/update_sources libc3/window/cairo/xcb/configure libc3/window/cairo/xcb/update_sources libc3/window/cairo/configure libc3/window/cairo/update_sources libc3/window/cairo/quartz/demo/configure libc3/window/cairo/quartz/demo/update_sources libc3/window/cairo/quartz/configure libc3/window/cairo/quartz/update_sources libc3/window/cairo/win32/demo/configure libc3/window/cairo/win32/demo/update_sources libc3/window/cairo/win32/configure libc3/window/cairo/win32/update_sources libtommath/configure libtommath/update_sources test/configure test/update_sources ucd2c/configure '
+C3_MAKEFILES='c3c/Makefile c3s/Makefile ic3/Makefile libc3/Makefile libc3/gen.mk libc3/window/Makefile libc3/window/cairo/demo/Makefile libc3/window/cairo/xcb/demo/Makefile libc3/window/cairo/xcb/Makefile libc3/window/cairo/Makefile libc3/window/cairo/quartz/demo/Makefile libc3/window/cairo/quartz/Makefile libc3/window/cairo/win32/demo/Makefile libc3/window/cairo/win32/Makefile libtommath/Makefile test/Makefile ucd2c/Makefile '
+C3_C_SOURCES='c3c/c3c.c c3s/buf_readline.c c3s/c3s.c c3s/buf_readline.h ic3/buf_linenoise.h ic3/ic3.c ic3/linenoise.c ic3/buf_linenoise.c libc3/buf_inspect_s_base.c.in libc3/type.h libc3/fact.c libc3/time.h libc3/fn.h libc3/s16.h libc3/buf_inspect_s8_octal.h libc3/log.c libc3/error.h libc3/buf_inspect_u64_octal.h libc3/set_item.h.in libc3/compare.c libc3/buf_inspect_s8_binary.h libc3/buf_inspect_uw_hexadecimal.h libc3/uw.c libc3/eval.c libc3/set__fact.c libc3/sym.h libc3/env.h libc3/cfn.c libc3/buf_inspect_u16_octal.h libc3/u.h.in libc3/buf_parse_s16.c libc3/s8.h libc3/quote.h libc3/buf_inspect_s32.h libc3/buf_inspect.c libc3/buf_parse_u.h.in libc3/skiplist_node__fact.h libc3/skiplist__fact.c libc3/tag_add.c libc3/buf_inspect_s32_hexadecimal.h libc3/ceiling.h libc3/list.c libc3/buf_inspect_u64.c libc3/facts.h libc3/buf_inspect_u16_decimal.c libc3/facts_with_cursor.c libc3/buf_inspect_sw_decimal.c libc3/facts_cursor.c libc3/buf_inspect_u64_binary.h libc3/buf_inspect_sw_hexadecimal.h libc3/buf_inspect_s32_decimal.h libc3/u16.h libc3/buf_inspect_s64_octal.h libc3/buf_inspect_u8_binary.h libc3/buf_inspect_s8.h libc3/buf_inspect_s16_octal.h libc3/ucd.c libc3/buf_inspect_s16_binary.h libc3/tuple.c libc3/buf_inspect_uw_octal.h libc3/buf_parse_u8.c libc3/tag.h libc3/float.h libc3/buf_inspect_u_base.c.in libc3/buf_parse_u16.c libc3/buf_inspect_u16_hexadecimal.h libc3/buf_inspect_s8_decimal.c libc3/buf_inspect_u32.h libc3/array.c libc3/buf_parse_sw.h libc3/set.h.in libc3/s.c.in libc3/buf_parse_s.c.in libc3/map.h libc3/skiplist.h.in libc3/set__tag.h libc3/buf_inspect_s64.c libc3/io.c libc3/set_item__tag.c libc3/sequence.c libc3/types.h libc3/buf_inspect_uw.c libc3/buf_inspect_u32_binary.c libc3/buf_inspect_s64_decimal.h libc3/set_cursor.c.in libc3/ident.c libc3/buf_inspect_s64_hexadecimal.c libc3/bool.h libc3/s.h.in libc3/set.c.in libc3/skiplist.c.in libc3/operator.h libc3/fn_clause.h libc3/buf_parse_s.h.in libc3/buf_inspect_s16.c libc3/binding.c libc3/ptag.h libc3/buf_parse_s32.h libc3/tag_bor.c libc3/var.h libc3/set_item__fact.h libc3/u8.c libc3/set_cursor.h.in libc3/f32.c libc3/buf_inspect_sw_octal.h libc3/c3.h libc3/arg.h libc3/buf_inspect_u8_hexadecimal.c libc3/buf_inspect_u32_hexadecimal.h libc3/buf_parse_u64.c libc3/module.c libc3/frame.h libc3/buf_inspect_s16_decimal.c libc3/file.h libc3/sw.h libc3/s32.c libc3/error_handler.c libc3/str.c libc3/buf_parse.h libc3/buf_inspect_uw_binary.c libc3/buf_inspect_uw_decimal.h libc3/facts_spec_cursor.c libc3/u64.h libc3/buf_inspect_u_base.h.in libc3/buf_inspect_s32_octal.h libc3/f64.h libc3/buf_inspect_u8_octal.h libc3/buf_inspect_s64_binary.c libc3/buf_inspect_u64_hexadecimal.c libc3/buf_inspect_u16_binary.c libc3/buf_save.h libc3/buf_inspect_u16.c libc3/buf_inspect_s8_hexadecimal.c libc3/u.c.in libc3/buf_inspect_sw.h libc3/facts_with.c libc3/buf_parse_u.c.in libc3/buf_parse_u32.h libc3/set_cursor__fact.c libc3/buf.h libc3/set_cursor__tag.h libc3/buf_inspect_s16_hexadecimal.h libc3/buf_inspect_u32_decimal.h libc3/buf_parse_uw.c libc3/buf_parse_s64.c libc3/abs.h libc3/buf_inspect_sw_binary.c libc3/buf_parse_s8.h libc3/call.h libc3/sign.c libc3/buf_inspect_u8_decimal.h libc3/character.h libc3/buf_inspect_u64_decimal.h libc3/buf_inspect_s_base.h.in libc3/buf_inspect_u32_octal.h libc3/u32.c libc3/hash.c libc3/buf_file.h libc3/integer.c libc3/buf_inspect_u8.c libc3/facts_spec.c libc3/buf_inspect_s32_binary.h libc3/set_item.c.in libc3/tag_bxor.c libc3/s64.h libc3/buf_inspect_u16_decimal.h libc3/facts.c libc3/buf_inspect_u64.h libc3/buf_inspect_sw_decimal.h libc3/facts_with_cursor.h libc3/skiplist_node__fact.c libc3/buf_inspect.h libc3/quote.c libc3/buf_inspect_s32.c libc3/skiplist_node.h.in libc3/s8.c libc3/buf_parse_s16.h libc3/list.h libc3/ceiling.c libc3/buf_inspect_s.h.in libc3/buf_inspect_s32_hexadecimal.c libc3/skiplist__fact.h libc3/uw.h libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_s8_binary.c libc3/compare.h libc3/buf_inspect_u64_octal.c libc3/buf_inspect_u16_octal.c libc3/tag_band.c libc3/cfn.h libc3/env.c libc3/set__fact.h libc3/sym.c libc3/eval.h libc3/c3_main.h libc3/buf_inspect_s8_octal.c libc3/s16.c libc3/fn.c libc3/time.c libc3/fact.h libc3/type.c libc3/error.c libc3/log.h libc3/sequence.h libc3/set_item__tag.h libc3/io.h libc3/buf_inspect_s64.h libc3/buf_inspect_s64_hexadecimal.h libc3/window/types.h libc3/window/window.h libc3/window/cairo/demo/toasters.h libc3/window/cairo/demo/window_cairo_demo.c libc3/window/cairo/demo/lightspeed.h libc3/window/cairo/demo/bg_rect.h libc3/window/cairo/demo/window_cairo_demo.h libc3/window/cairo/demo/toasters.c libc3/window/cairo/demo/lightspeed.c libc3/window/cairo/demo/bg_rect.c libc3/window/cairo/xcb/demo/window_cairo_xcb_demo.c libc3/window/cairo/xcb/window_cairo_xcb.h libc3/window/cairo/xcb/config.h libc3/window/cairo/xcb/window_cairo_xcb.c libc3/window/cairo/types.h libc3/window/cairo/window_cairo.c libc3/window/cairo/cairo_png.h libc3/window/cairo/cairo_sprite.h libc3/window/cairo/quartz/demo/window_cairo_quartz_demo.c libc3/window/cairo/quartz/window_cairo_quartz_view_controller.h libc3/window/cairo/quartz/quartz_to_xkbcommon.c libc3/window/cairo/quartz/window_cairo_quartz.h libc3/window/cairo/quartz/window_cairo_quartz_app_delegate.h libc3/window/cairo/quartz/quartz_to_xkbcommon.h libc3/window/cairo/quartz/xkbquartz.h libc3/window/cairo/quartz/window_cairo_quartz_view.h libc3/window/cairo/window_cairo.h libc3/window/cairo/win32/demo/window_cairo_win32_demo.c libc3/window/cairo/win32/vk_to_xkbcommon.c libc3/window/cairo/win32/window_cairo_win32.h libc3/window/cairo/win32/vk_to_xkbcommon.h libc3/window/cairo/win32/window_cairo_win32.c libc3/window/cairo/cairo_sprite.c libc3/window/cairo/cairo_png.c libc3/window/window.c libc3/ident.h libc3/buf_inspect_s64_decimal.c libc3/buf_inspect_u32_binary.h libc3/buf_inspect_uw.h libc3/buf_inspect_u.c.in libc3/buf_parse_sw.c libc3/array.h libc3/buf_inspect_u32.c libc3/buf_inspect_s8_decimal.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_parse_u16.h libc3/set__tag.c libc3/map.c libc3/tag.c libc3/buf_parse_u8.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_u8_binary.c libc3/buf_inspect_s64_octal.c libc3/u16.c libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_s32_decimal.c libc3/buf_inspect_u64_binary.c libc3/facts_cursor.h libc3/tuple.h libc3/buf_inspect_s16_binary.c libc3/ucd.h libc3/buf_inspect_s16_octal.c libc3/buf_inspect_s8.c libc3/sha1.h libc3/buf_inspect_uw_binary.h libc3/buf_parse.c libc3/str.h libc3/error_handler.h libc3/u64.c libc3/buf_inspect_s32_octal.c libc3/facts_spec_cursor.h libc3/buf_inspect_uw_decimal.c libc3/sw.c libc3/file.c libc3/buf_inspect_s16_decimal.h libc3/frame.c libc3/s32.h libc3/c3.c libc3/f32.h libc3/buf_inspect_sw_octal.c libc3/u8.h libc3/set_item__fact.c libc3/var.c libc3/module.h libc3/license.c libc3/buf_inspect_u32_hexadecimal.c libc3/buf_parse_u64.h libc3/buf_inspect_u8_hexadecimal.h libc3/arg.c libc3/fn_clause.c libc3/operator.c libc3/bool.c libc3/buf_parse_s32.c libc3/ptag.c libc3/binding.h libc3/buf_inspect_u.h.in libc3/buf_inspect_s16.h libc3/integer.h libc3/buf_file.c libc3/s64.c libc3/buf_inspect_s32_binary.c libc3/buf_inspect_u8.h libc3/facts_spec.h libc3/buf_inspect_u8_decimal.c libc3/sign.h libc3/call.c libc3/buf_parse_s8.c libc3/buf_inspect_sw_binary.h libc3/hash.h libc3/u32.h libc3/buf_inspect_u32_octal.c libc3/character.c libc3/buf_inspect_u64_decimal.c libc3/buf_parse_uw.h libc3/buf_inspect_u32_decimal.c libc3/buf_inspect_s16_hexadecimal.c libc3/set_cursor__tag.c libc3/set_cursor__fact.h libc3/buf.c libc3/abs.c libc3/buf_parse_s64.h libc3/buf_inspect_s.c.in libc3/buf_inspect_s64_binary.h libc3/buf_inspect_u8_octal.c libc3/f64.c libc3/skiplist_node.c.in libc3/buf_parse_u32.c libc3/facts_with.h libc3/buf_inspect_sw.c libc3/buf_inspect_u16.h libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_u16_binary.h libc3/buf_inspect_u64_hexadecimal.h libc3/buf_save.c test/ident_test.c test/buf_parse_test_s16.c test/buf_inspect_test.c test/libc3_test.c test/fn_test.c test/buf_parse_test_u16.c test/str_test.c test/cfn_test.c test/character_test.c test/buf_parse_test_s8.c test/skiplist__fact_test.c test/sym_test.c test/tag_test.h test/buf_file_test.c test/bool_test.c test/fact_test.h test/buf_parse_test_u64.c test/compare_test.c test/facts_with_test.c test/array_test.c test/buf_parse_test.h test/test.h test/buf_parse_test_su.h test/env_test.c test/buf_parse_test_s64.c test/types_test.c test/hash_test.c test/call_test.c test/set__tag_test.c test/facts_test.c test/facts_cursor_test.c test/compare_test.h test/buf_parse_test_s32.c test/test.c test/buf_parse_test.c test/fact_test.c test/tag_test.c test/set__fact_test.c test/buf_parse_test_u32.c test/buf_test.c test/list_test.c test/buf_parse_test_u8.c test/tuple_test.c ucd2c/ucd.h ucd2c/ucd2c.c '