diff --git a/libc3/gen.mk b/libc3/gen.mk
index ae5d6f3..5d18f4a 100644
--- a/libc3/gen.mk
+++ b/libc3/gen.mk
@@ -86,7 +86,7 @@ GENERATED_FILES = \
gen: ${GENERATED_FILES}
-list_init.h tag_init.h: tag_init.rb
+list_init.c, list_init.h, tag_init.c, tag_init.h: tag_init.rb
ruby tag_init.rb
SED_BITS_8 = sed \
diff --git a/libc3/list.c b/libc3/list.c
index d359fa7..8e7c46f 100644
--- a/libc3/list.c
+++ b/libc3/list.c
@@ -191,6 +191,7 @@ s_list * list_new_copy (const s_tag *x, s_list *next)
return dest;
}
+/*
s_list * list_new_f64 (f64 x, s_list *next)
{
s_list *dest;
@@ -202,6 +203,7 @@ s_list * list_new_f64 (f64 x, s_list *next)
}
return dest;
}
+*/
s_list * list_new_list (s_list *x, s_list *next)
{
@@ -215,6 +217,7 @@ 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;
@@ -238,6 +241,7 @@ s_list * list_new_str_1 (s8 *x_free, const s8 *x, s_list *next)
}
return dest;
}
+*/
s_array * list_to_array (s_list *list, const s_sym *type,
s_array *dest)
diff --git a/libc3/list_init.c b/libc3/list_init.c
new file mode 100644
index 0000000..ebe66d5
--- /dev/null
+++ b/libc3/list_init.c
@@ -0,0 +1,788 @@
+/* c3
+ * Copyright 2022,2023 kmx.io <contact@kmx.io>
+ *
+ * Permission is hereby granted to use this software granted the above
+ * copyright notice and this permission paragraph are included in all
+ * copies and substantial portions of this software.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
+ * PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
+ * AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+#include <assert.h>
+#include <err.h>
+#include <string.h>
+#include "array.h"
+#include "buf.h"
+#include "buf_inspect.h"
+#include "buf_parse.h"
+#include "call.h"
+#include "cfn.h"
+#include "compare.h"
+#include "env.h"
+#include "fn.h"
+#include "frame.h"
+#include "hash.h"
+#include "ident.h"
+#include "integer.h"
+#include "list.h"
+#include "map.h"
+#include "quote.h"
+#include "str.h"
+#include "tag.h"
+#include "list_init.h"
+#include "time.h"
+#include "tuple.h"
+
+s_list * list_init_array (s_list *list, const s_sym *type,
+ uw dimension, const uw *dimensions,
+ s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_array(&tmp.tag, type, dimension, dimensions))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_bool (s_list *list, bool b, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_bool(&tmp.tag, b))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_call (s_list *list, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_call(&tmp.tag))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_character (s_list *list, character c, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_character(&tmp.tag, c))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_f32 (s_list *list, f32 f, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_f32(&tmp.tag, f))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_f64 (s_list *list, f64 f, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_f64(&tmp.tag, f))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_ident (s_list *list, const s_ident *ident,
+ s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_ident(&tmp.tag, ident))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_ident_1 (s_list *list, const s8 *p, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_ident_1(&tmp.tag, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_integer_1 (s_list *list, const s8 *p, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_integer_1(&tmp.tag, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_integer_copy (s_list *list, const s_integer *i,
+ s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_integer_copy(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_integer_zero (s_list *list, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_integer_zero(&tmp.tag))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_map (s_list *list, uw count, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_map(&tmp.tag, count))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_map_1 (s_list *list, const s8 *p, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_map_1(&tmp.tag, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_s8 (s_list *list, s8 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_s8(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_s16 (s_list *list, s16 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_s16(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_s32 (s_list *list, s32 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_s32(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_s64 (s_list *list, s64 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_s64(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_str (s_list *list, s8 *p_free, uw size, const s8 *p,
+ s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_str(&tmp.tag, p_free, size, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_str_1 (s_list *list, s8 *p_free, const s8 *p,
+ s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_str_1(&tmp.tag, p_free, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_sw (s_list *list, sw i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_sw(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_sym (s_list *list, const s_sym *sym, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_sym(&tmp.tag, sym))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_sym_1 (s_list *list, const s8 *p, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_sym_1(&tmp.tag, p))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_tuple (s_list *list, uw count, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_tuple(&tmp.tag, count))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_tuple_2 (s_list *list, const s_tag *a,
+ const s_tag *b, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_tuple_2(&tmp.tag, a, b))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_u8 (s_list *list, u8 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_u8(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_u16 (s_list *list, u16 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_u16(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_u32 (s_list *list, u32 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_u32(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_u64 (s_list *list, u64 i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_u64(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_uw (s_list *list, uw i, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_uw(&tmp.tag, i))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_var (s_list *list, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_var(&tmp.tag))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_init_void (s_list *list, s_list *next)
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_void(&tmp.tag))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+
+s_list * list_new_array (const s_sym *type, uw dimension,
+ const uw *dimensions, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_array(&list->tag, type, dimension, dimensions)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_bool (bool b, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_bool(&list->tag, b)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_call (s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_call(&list->tag)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_character (character c, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_character(&list->tag, c)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_f32 (f32 f, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_f32(&list->tag, f)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_f64 (f64 f, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_f64(&list->tag, f)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_ident (const s_ident *ident, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_ident(&list->tag, ident)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_ident_1 (const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_ident_1(&list->tag, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_integer_1 (const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_integer_1(&list->tag, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_integer_copy (const s_integer *i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_integer_copy(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_integer_zero (s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_integer_zero(&list->tag)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_map (uw count, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_map(&list->tag, count)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_map_1 (const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_map_1(&list->tag, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_s8 (s8 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_s8(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_s16 (s16 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_s16(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_s32 (s32 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_s32(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_s64 (s64 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_s64(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_str (s8 *p_free, uw size, const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_str(&list->tag, p_free, size, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_str_1 (s8 *p_free, const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_str_1(&list->tag, p_free, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_sw (sw i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_sw(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_sym (const s_sym *sym, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_sym(&list->tag, sym)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_sym_1 (const s8 *p, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_sym_1(&list->tag, p)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_tuple (uw count, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_tuple(&list->tag, count)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_tuple_2 (const s_tag *a, const s_tag *b, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_tuple_2(&list->tag, a, b)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_u8 (u8 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_u8(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_u16 (u16 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_u16(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_u32 (u32 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_u32(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_u64 (u64 i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_u64(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_uw (uw i, s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_uw(&list->tag, i)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_var (s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_var(&list->tag)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+
+s_list * list_new_void (s_list *next)
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_void(&list->tag)) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
diff --git a/libc3/list_init.h b/libc3/list_init.h
index 8aae05a..1d973d5 100644
--- a/libc3/list_init.h
+++ b/libc3/list_init.h
@@ -58,7 +58,7 @@ s_list * list_init_uw (s_list *list, uw i, s_list *next);
s_list * list_init_var (s_list *list, s_list *next);
s_list * list_init_void (s_list *list, s_list *next);
-/* Heap-allocation functions, call tag_delete after use. */
+/* Heap-allocation functions, call list_delete after use. */
s_list * list_new_array (const s_sym *type, uw dimension,
const uw *dimensions, s_list *next);
s_list * list_new_bool (bool b, s_list *next);
diff --git a/libc3/sources.mk b/libc3/sources.mk
index c5b4084..6d8f670 100644
--- a/libc3/sources.mk
+++ b/libc3/sources.mk
@@ -242,6 +242,7 @@ SOURCES = \
io.c \
license.c \
list.c \
+ list_init.c \
log.c \
map.c \
module.c \
@@ -389,6 +390,7 @@ LO_SOURCES = \
io.c \
license.c \
list.c \
+ list_init.c \
log.c \
map.c \
module.c \
diff --git a/libc3/sources.sh b/libc3/sources.sh
index 5f55045..c8e269e 100644
--- a/libc3/sources.sh
+++ b/libc3/sources.sh
@@ -1,4 +1,4 @@
# sources.sh generated by update_sources
HEADERS='abs.h arg.h array.h binding.h bool.h buf.h buf_file.h buf_inspect.h buf_inspect_s16.h buf_inspect_s16_binary.h buf_inspect_s16_decimal.h buf_inspect_s16_hexadecimal.h buf_inspect_s16_octal.h buf_inspect_s32.h buf_inspect_s32_binary.h buf_inspect_s32_decimal.h buf_inspect_s32_hexadecimal.h buf_inspect_s32_octal.h buf_inspect_s64.h buf_inspect_s64_binary.h buf_inspect_s64_decimal.h buf_inspect_s64_hexadecimal.h buf_inspect_s64_octal.h buf_inspect_s8.h buf_inspect_s8_binary.h buf_inspect_s8_decimal.h buf_inspect_s8_hexadecimal.h buf_inspect_s8_octal.h buf_inspect_sw.h buf_inspect_sw_binary.h buf_inspect_sw_decimal.h buf_inspect_sw_hexadecimal.h buf_inspect_sw_octal.h buf_inspect_u16.h buf_inspect_u16_binary.h buf_inspect_u16_decimal.h buf_inspect_u16_hexadecimal.h buf_inspect_u16_octal.h buf_inspect_u32.h buf_inspect_u32_binary.h buf_inspect_u32_decimal.h buf_inspect_u32_hexadecimal.h buf_inspect_u32_octal.h buf_inspect_u64.h buf_inspect_u64_binary.h buf_inspect_u64_decimal.h buf_inspect_u64_hexadecimal.h buf_inspect_u64_octal.h buf_inspect_u8.h buf_inspect_u8_binary.h buf_inspect_u8_decimal.h buf_inspect_u8_hexadecimal.h buf_inspect_u8_octal.h buf_inspect_uw.h buf_inspect_uw_binary.h buf_inspect_uw_decimal.h buf_inspect_uw_hexadecimal.h buf_inspect_uw_octal.h buf_parse.h buf_parse_s16.h buf_parse_s32.h buf_parse_s64.h buf_parse_s8.h buf_parse_sw.h buf_parse_u16.h buf_parse_u32.h buf_parse_u64.h buf_parse_u8.h buf_parse_uw.h buf_save.h c3.h c3_main.h call.h ceiling.h cfn.h character.h compare.h config.h env.h error.h error_handler.h eval.h f32.h f64.h fact.h facts.h facts_cursor.h facts_spec.h facts_spec_cursor.h facts_with.h facts_with_cursor.h file.h float.h fn.h fn_clause.h frame.h hash.h ident.h integer.h io.h list.h list_init.h log.h map.h module.h operator.h ptag.h quote.h s16.h s32.h s64.h s8.h sequence.h set__fact.h set__tag.h set_cursor__fact.h set_cursor__tag.h set_item__fact.h set_item__tag.h sha1.h sign.h skiplist__fact.h skiplist_node__fact.h str.h struct.h sw.h sym.h tag.h tag_init.h tag_type.h time.h tuple.h type.h types.h u16.h u32.h u64.h u8.h ucd.h uw.h var.h '
-SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c f32.c f64.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c file.c fn.c fn_clause.c frame.c hash.c ident.c integer.c io.c license.c list.c log.c map.c module.c operator.c ptag.c quote.c s16.c s32.c s64.c s8.c sequence.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sw.c sym.c tag.c tag_add.c tag_band.c tag_bor.c tag_bxor.c tag_div.c tag_init.c tag_mod.c tag_mul.c tag_shift_left.c tag_shift_right.c tag_sub.c tag_type.c time.c tuple.c type.c u16.c u32.c u64.c u8.c ucd.c uw.c var.c '
-LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c f32.c f64.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c file.c fn.c fn_clause.c frame.c hash.c ident.c integer.c io.c license.c list.c log.c map.c module.c operator.c ptag.c quote.c s16.c s32.c s64.c s8.c sequence.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sw.c sym.c tag.c tag_add.c tag_band.c tag_bor.c tag_bxor.c tag_div.c tag_init.c tag_mod.c tag_mul.c tag_shift_left.c tag_shift_right.c tag_sub.c tag_type.c time.c tuple.c type.c u16.c u32.c u64.c u8.c ucd.c uw.c var.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_double.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_set_double.c ../libtommath/bn_mp_set_i32.c ../libtommath/bn_mp_set_i64.c ../libtommath/bn_mp_set_l.c ../libtommath/bn_mp_set_u32.c ../libtommath/bn_mp_set_u64.c ../libtommath/bn_mp_set_ul.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
+SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c f32.c f64.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c file.c fn.c fn_clause.c frame.c hash.c ident.c integer.c io.c license.c list.c list_init.c log.c map.c module.c operator.c ptag.c quote.c s16.c s32.c s64.c s8.c sequence.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sw.c sym.c tag.c tag_add.c tag_band.c tag_bor.c tag_bxor.c tag_div.c tag_init.c tag_mod.c tag_mul.c tag_shift_left.c tag_shift_right.c tag_sub.c tag_type.c time.c tuple.c type.c u16.c u32.c u64.c u8.c ucd.c uw.c var.c '
+LO_SOURCES='abs.c arg.c array.c binding.c bool.c buf.c buf_file.c buf_inspect.c buf_inspect_s16.c buf_inspect_s16_binary.c buf_inspect_s16_decimal.c buf_inspect_s16_hexadecimal.c buf_inspect_s16_octal.c buf_inspect_s32.c buf_inspect_s32_binary.c buf_inspect_s32_decimal.c buf_inspect_s32_hexadecimal.c buf_inspect_s32_octal.c buf_inspect_s64.c buf_inspect_s64_binary.c buf_inspect_s64_decimal.c buf_inspect_s64_hexadecimal.c buf_inspect_s64_octal.c buf_inspect_s8.c buf_inspect_s8_binary.c buf_inspect_s8_decimal.c buf_inspect_s8_hexadecimal.c buf_inspect_s8_octal.c buf_inspect_sw.c buf_inspect_sw_binary.c buf_inspect_sw_decimal.c buf_inspect_sw_hexadecimal.c buf_inspect_sw_octal.c buf_inspect_u16.c buf_inspect_u16_binary.c buf_inspect_u16_decimal.c buf_inspect_u16_hexadecimal.c buf_inspect_u16_octal.c buf_inspect_u32.c buf_inspect_u32_binary.c buf_inspect_u32_decimal.c buf_inspect_u32_hexadecimal.c buf_inspect_u32_octal.c buf_inspect_u64.c buf_inspect_u64_binary.c buf_inspect_u64_decimal.c buf_inspect_u64_hexadecimal.c buf_inspect_u64_octal.c buf_inspect_u8.c buf_inspect_u8_binary.c buf_inspect_u8_decimal.c buf_inspect_u8_hexadecimal.c buf_inspect_u8_octal.c buf_inspect_uw.c buf_inspect_uw_binary.c buf_inspect_uw_decimal.c buf_inspect_uw_hexadecimal.c buf_inspect_uw_octal.c buf_parse.c buf_parse_s16.c buf_parse_s32.c buf_parse_s64.c buf_parse_s8.c buf_parse_sw.c buf_parse_u16.c buf_parse_u32.c buf_parse_u64.c buf_parse_u8.c buf_parse_uw.c buf_save.c c3.c call.c ceiling.c cfn.c character.c compare.c env.c error.c error_handler.c eval.c f32.c f64.c fact.c facts.c facts_cursor.c facts_spec.c facts_spec_cursor.c facts_with.c facts_with_cursor.c file.c fn.c fn_clause.c frame.c hash.c ident.c integer.c io.c license.c list.c list_init.c log.c map.c module.c operator.c ptag.c quote.c s16.c s32.c s64.c s8.c sequence.c set__fact.c set__tag.c set_cursor__fact.c set_cursor__tag.c set_item__fact.c set_item__tag.c sign.c skiplist__fact.c skiplist_node__fact.c str.c sw.c sym.c tag.c tag_add.c tag_band.c tag_bor.c tag_bxor.c tag_div.c tag_init.c tag_mod.c tag_mul.c tag_shift_left.c tag_shift_right.c tag_sub.c tag_type.c time.c tuple.c type.c u16.c u32.c u64.c u8.c ucd.c uw.c var.c ../libtommath/bn_cutoffs.c ../libtommath/bn_mp_2expt.c ../libtommath/bn_mp_abs.c ../libtommath/bn_mp_add.c ../libtommath/bn_mp_add_d.c ../libtommath/bn_mp_and.c ../libtommath/bn_mp_clamp.c ../libtommath/bn_mp_clear.c ../libtommath/bn_mp_clear_multi.c ../libtommath/bn_mp_cmp.c ../libtommath/bn_mp_cmp_d.c ../libtommath/bn_mp_cmp_mag.c ../libtommath/bn_mp_cnt_lsb.c ../libtommath/bn_mp_complement.c ../libtommath/bn_mp_copy.c ../libtommath/bn_mp_count_bits.c ../libtommath/bn_mp_div.c ../libtommath/bn_mp_div_2.c ../libtommath/bn_mp_div_2d.c ../libtommath/bn_mp_div_3.c ../libtommath/bn_mp_div_d.c ../libtommath/bn_mp_dr_is_modulus.c ../libtommath/bn_mp_dr_reduce.c ../libtommath/bn_mp_dr_setup.c ../libtommath/bn_mp_error_to_string.c ../libtommath/bn_mp_exch.c ../libtommath/bn_mp_exptmod.c ../libtommath/bn_mp_gcd.c ../libtommath/bn_mp_get_double.c ../libtommath/bn_mp_get_i32.c ../libtommath/bn_mp_get_i64.c ../libtommath/bn_mp_get_mag_u32.c ../libtommath/bn_mp_get_mag_u64.c ../libtommath/bn_mp_grow.c ../libtommath/bn_mp_init.c ../libtommath/bn_mp_init_copy.c ../libtommath/bn_mp_init_multi.c ../libtommath/bn_mp_init_size.c ../libtommath/bn_mp_invmod.c ../libtommath/bn_mp_lcm.c ../libtommath/bn_mp_lshd.c ../libtommath/bn_mp_mod.c ../libtommath/bn_mp_mod_2d.c ../libtommath/bn_mp_montgomery_calc_normalization.c ../libtommath/bn_mp_montgomery_reduce.c ../libtommath/bn_mp_montgomery_setup.c ../libtommath/bn_mp_mul.c ../libtommath/bn_mp_mul_2.c ../libtommath/bn_mp_mul_2d.c ../libtommath/bn_mp_mul_d.c ../libtommath/bn_mp_mulmod.c ../libtommath/bn_mp_neg.c ../libtommath/bn_mp_or.c ../libtommath/bn_mp_radix_size.c ../libtommath/bn_mp_reduce.c ../libtommath/bn_mp_reduce_2k.c ../libtommath/bn_mp_reduce_2k_l.c ../libtommath/bn_mp_reduce_2k_setup.c ../libtommath/bn_mp_reduce_2k_setup_l.c ../libtommath/bn_mp_reduce_is_2k.c ../libtommath/bn_mp_reduce_is_2k_l.c ../libtommath/bn_mp_reduce_setup.c ../libtommath/bn_mp_rshd.c ../libtommath/bn_mp_set.c ../libtommath/bn_mp_set_double.c ../libtommath/bn_mp_set_i32.c ../libtommath/bn_mp_set_i64.c ../libtommath/bn_mp_set_l.c ../libtommath/bn_mp_set_u32.c ../libtommath/bn_mp_set_u64.c ../libtommath/bn_mp_set_ul.c ../libtommath/bn_mp_sqr.c ../libtommath/bn_mp_sqrt.c ../libtommath/bn_mp_sub.c ../libtommath/bn_mp_sub_d.c ../libtommath/bn_mp_xor.c ../libtommath/bn_mp_zero.c ../libtommath/bn_s_mp_add.c ../libtommath/bn_s_mp_balance_mul.c ../libtommath/bn_s_mp_exptmod.c ../libtommath/bn_s_mp_exptmod_fast.c ../libtommath/bn_s_mp_invmod_fast.c ../libtommath/bn_s_mp_invmod_slow.c ../libtommath/bn_s_mp_karatsuba_mul.c ../libtommath/bn_s_mp_karatsuba_sqr.c ../libtommath/bn_s_mp_montgomery_reduce_fast.c ../libtommath/bn_s_mp_mul_digs.c ../libtommath/bn_s_mp_mul_digs_fast.c ../libtommath/bn_s_mp_mul_high_digs.c ../libtommath/bn_s_mp_mul_high_digs_fast.c ../libtommath/bn_s_mp_rand_platform.c ../libtommath/bn_s_mp_sqr.c ../libtommath/bn_s_mp_sqr_fast.c ../libtommath/bn_s_mp_sub.c ../libtommath/bn_s_mp_toom_mul.c ../libtommath/bn_s_mp_toom_sqr.c '
diff --git a/libc3/tag_init.rb b/libc3/tag_init.rb
index cfdc8b4..f19fe44 100644
--- a/libc3/tag_init.rb
+++ b/libc3/tag_init.rb
@@ -207,16 +207,45 @@ EOF
end
def def_list_init
- """
-"""
- end
-end
+ if with_list?
+ <<EOF
-class TagInitProto < TagInit
- def def_tag
- ""
+#{list_init_proto[0..-2]}
+{
+ s_list tmp;
+ assert(list);
+ list_init(&tmp, next);
+ if (! tag_init_#{name_suffix}(&tmp.tag#{comma_args}))
+ return NULL;
+ *list = tmp;
+ return list;
+}
+EOF
+ end
+ end
+
+ def def_list_new
+ if with_list?
+ <<EOF
+
+#{list_new_proto[0..-2]}
+{
+ s_list *list;
+ list = list_new(next);
+ if (! list)
+ return NULL;
+ if (! tag_init_#{name_suffix}(&list->tag#{comma_args})) {
+ free(list);
+ return NULL;
+ }
+ return list;
+}
+EOF
+ end
end
+end
+class TagInitProto < TagInit
def def_tag_init
""
end
@@ -225,7 +254,7 @@ class TagInitProto < TagInit
""
end
- def def_list
+ def def_tag
""
end
@@ -390,11 +419,6 @@ class TagInitList
protos.join
end
- def def_list
- protos = @items.map &:def_list
- protos.join
- end
-
def def_list_init
protos = @items.map &:def_list_init
protos.join
@@ -496,13 +520,45 @@ tag_init_h.content = """#{h_header("LIBC3_TAG_INIT_H")}
"""
tag_init_h.commit
+list_init_c = FileUpdate.new("list_init.c")
+list_init_c.content = <<EOF
+#{$license}
+#include <assert.h>
+#include <err.h>
+#include <string.h>
+#include "array.h"
+#include "buf.h"
+#include "buf_inspect.h"
+#include "buf_parse.h"
+#include "call.h"
+#include "cfn.h"
+#include "compare.h"
+#include "env.h"
+#include "fn.h"
+#include "frame.h"
+#include "hash.h"
+#include "ident.h"
+#include "integer.h"
+#include "list.h"
+#include "map.h"
+#include "quote.h"
+#include "str.h"
+#include "tag.h"
+#include "list_init.h"
+#include "time.h"
+#include "tuple.h"
+#{inits.def_list_init.c_word_wrap}
+#{inits.def_list_new.c_word_wrap}
+EOF
+list_init_c.commit
+
list_init_h = FileUpdate.new("list_init.h")
list_init_h.content = """#{h_header("LIBC3_LIST_INIT_H")}
/* Stack-allocation compatible functions, call list_clean after use. */
#{inits.list_init_proto.c_word_wrap}
-/* Heap-allocation functions, call tag_delete after use. */
+/* Heap-allocation functions, call list_delete after use. */
#{inits.list_new_proto.c_word_wrap}
/* Setters. */
diff --git a/sources.mk b/sources.mk
index 987a260..e9ea051 100644
--- a/sources.mk
+++ b/sources.mk
@@ -5,47 +5,47 @@ C3_CONFIGURES = \
c3s/update_sources \
ic3/configure \
ic3/update_sources \
- libc3/update_sources \
libc3/configure \
- libc3/window/cairo/xcb/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/demo/configure \
- libc3/window/cairo/demo/update_sources \
- 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/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/configure \
libtommath/update_sources \
- test/update_sources \
test/configure \
+ test/update_sources \
ucd2c/configure \
C3_MAKEFILES = \
c3c/Makefile \
c3s/Makefile \
ic3/Makefile \
- libc3/gen.mk \
libc3/Makefile \
- libc3/window/cairo/Makefile \
- libc3/window/cairo/xcb/Makefile \
- libc3/window/cairo/xcb/demo/Makefile \
+ libc3/gen.mk \
+ libc3/window/Makefile \
libc3/window/cairo/demo/Makefile \
- libc3/window/cairo/quartz/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/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,403 +55,404 @@ C3_C_SOURCES = \
c3s/buf_readline.c \
c3s/c3s.c \
c3s/buf_readline.h \
- ic3/buf_linenoise.c \
- ic3/ic3.c \
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/buf_inspect_s8_hexadecimal.c \
- libc3/sym.c \
- libc3/buf_inspect_s8_hexadecimal.h \
- libc3/buf_inspect_s16.c \
- 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_s.h.in \
- libc3/binding.c \
- libc3/binding.h \
- libc3/buf_inspect_s8.c \
- libc3/facts_with_cursor.c \
- libc3/array.h \
- libc3/buf.c \
- libc3/buf_parse.c \
- libc3/integer.h \
- libc3/types.h \
- libc3/type.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/s16.h \
libc3/buf_inspect_s8_octal.h \
- libc3/buf_inspect_s8_decimal.c \
- libc3/buf_inspect_s8_decimal.h \
- libc3/buf_inspect.c \
- libc3/buf_file.c \
- libc3/buf_file.h \
- libc3/bool.c \
- libc3/buf_inspect_s32.c \
- libc3/io.h \
- libc3/buf_inspect_s32.h \
- 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_parse_s8.c \
- libc3/buf_inspect_s64_binary.c \
- libc3/io.c \
- libc3/abs.h \
- libc3/fn_clause.c \
- libc3/buf_inspect_s64_binary.h \
- 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.c \
- libc3/buf_inspect_sw.h \
- libc3/buf_inspect_sw_binary.c \
- libc3/buf_inspect_sw_binary.h \
- libc3/s8.c \
- libc3/file.c \
- libc3/ceiling.c \
- libc3/buf_inspect_s_base.h.in \
- libc3/buf_inspect_sw_octal.c \
- libc3/buf_save.c \
- libc3/buf_inspect_sw_octal.h \
- libc3/buf_parse.h \
+ libc3/log.c \
+ libc3/error.h \
+ libc3/buf_inspect_u64_octal.h \
+ libc3/set_item.h.in \
libc3/compare.c \
- libc3/buf_inspect_sw_decimal.c \
- libc3/buf_inspect_sw_decimal.h \
- libc3/buf_inspect_sw_hexadecimal.c \
- libc3/buf_inspect_u.h.in \
- libc3/buf_inspect_u16.h \
- libc3/buf_inspect_u8.c \
- libc3/call.h \
- libc3/buf_inspect_u8.h \
- libc3/buf_inspect_u8_binary.c \
- libc3/buf_parse_s8.h \
- libc3/character.c \
- libc3/buf_save.h \
- libc3/fact.h \
- libc3/buf_inspect_u8_binary.h \
- libc3/error.c \
- 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_u8_hexadecimal.c \
- libc3/buf_inspect_u8_hexadecimal.h \
- libc3/buf_inspect_u16.c \
- libc3/buf_inspect_u16_binary.c \
- libc3/buf_inspect_u16_binary.h \
- libc3/buf_inspect_u16_octal.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/buf_inspect_u32.h \
+ libc3/u.h.in \
libc3/buf_parse_s16.c \
- libc3/error.h \
- libc3/character.h \
- libc3/compare.h \
+ 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/tag_type.h \
libc3/buf_inspect_u16_decimal.c \
+ libc3/tag_sub.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/sign.h \
- libc3/buf.h \
- libc3/buf_inspect_u16_decimal.h \
- libc3/buf_inspect_u16_hexadecimal.c \
+ libc3/float.h \
+ libc3/buf_inspect_u_base.c.in \
+ libc3/buf_parse_u16.c \
libc3/buf_inspect_u16_hexadecimal.h \
- libc3/buf_inspect_u32.c \
+ 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_u32_binary.h \
- libc3/buf_inspect_u32_octal.c \
- libc3/buf_inspect_u32_octal.h \
- libc3/buf_inspect_u64.h \
- libc3/set__fact.c \
- libc3/error_handler.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/tag_shift_left.c \
+ libc3/set_item__fact.h \
+ libc3/u8.c \
libc3/set_cursor.h.in \
- libc3/set_item.c.in \
- libc3/set_item.h.in \
- libc3/buf_inspect_u32_decimal.c \
- libc3/buf_inspect_u32_decimal.h \
- libc3/buf_inspect_u32_hexadecimal.c \
+ 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_inspect_u64.c \
- 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_hexadecimal.h \
- libc3/error_handler.h \
- libc3/buf_inspect_u64_decimal.h \
- libc3/eval.c \
- libc3/eval.h \
- libc3/fact.c \
- libc3/facts_cursor.c \
- libc3/ceiling.h \
- libc3/buf_inspect_u64_hexadecimal.c \
- libc3/buf_inspect_u_base.h.in \
- libc3/buf_inspect_uw.c \
- libc3/buf_inspect_uw.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_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_parse_s16.h \
- libc3/facts_cursor.h \
- libc3/facts_spec.c \
- libc3/frame.h \
- libc3/sign.c \
- libc3/skiplist.c.in \
- libc3/buf_inspect_uw_hexadecimal.c \
- libc3/buf_inspect_uw_hexadecimal.h \
- libc3/buf_parse_s32.c \
- libc3/buf_parse_s32.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/set__fact.h \
- libc3/buf_parse_u64.c \
- libc3/buf_parse_u64.h \
- libc3/facts_spec.h \
libc3/facts_spec_cursor.c \
- libc3/buf_parse_uw.c \
- libc3/facts_spec_cursor.h \
- libc3/buf_parse_uw.h \
- libc3/set__tag.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/operator.c \
- libc3/skiplist__fact.c \
- libc3/s8.h \
- libc3/c3.c \
+ libc3/tag_init.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/facts_with.h \
- libc3/skiplist__fact.h \
- libc3/skiplist_node__fact.c \
libc3/buf_parse_u.c.in \
- libc3/fn_clause.h \
- libc3/skiplist_node__fact.h \
- libc3/s16.c \
- libc3/s16.h \
- libc3/s32.c \
- libc3/s32.h \
- libc3/s64.c \
- libc3/s64.h \
- libc3/sw.c \
- libc3/sw.h \
- libc3/u8.c \
- libc3/u8.h \
- libc3/u16.c \
- libc3/u16.h \
+ 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/list_init.c \
+ 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/u32.h \
- libc3/u64.c \
- libc3/u64.h \
- libc3/uw.c \
- libc3/uw.h \
- libc3/module.c \
- libc3/abs.c \
+ libc3/hash.c \
+ libc3/buf_file.h \
+ libc3/struct.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/tag_type.c \
+ libc3/facts.c \
+ libc3/buf_inspect_u64.h \
+ libc3/buf_inspect_sw_decimal.h \
libc3/facts_with_cursor.h \
- libc3/ident.h \
- libc3/buf_parse_s.c.in \
- libc3/tag_div.c \
- libc3/buf_inspect_sw_hexadecimal.h \
- libc3/tag_init.c \
- libc3/set.c.in \
- libc3/log.c \
- libc3/log.h \
- libc3/module.h \
+ libc3/skiplist_node__fact.c \
+ libc3/buf_inspect.h \
libc3/quote.c \
- libc3/quote.h \
- libc3/str.c \
- libc3/arg.h \
- libc3/set.h.in \
- libc3/list.c \
- libc3/tag_add.c \
- libc3/skiplist.h.in \
- libc3/facts.h \
- libc3/struct.h \
- libc3/sha1.h \
- libc3/skiplist_node.c.in \
+ libc3/buf_inspect_s32.c \
libc3/skiplist_node.h.in \
- libc3/tuple.c \
- libc3/tuple.h \
- libc3/ucd.c \
- libc3/ucd.h \
- libc3/hash.h \
- libc3/license.c \
- libc3/bool.h \
- libc3/str.h \
- libc3/type.h \
- libc3/buf_inspect.h \
- libc3/buf_parse_s.h.in \
- libc3/buf_parse_u.h.in \
- libc3/fn.c \
- libc3/sequence.h \
- libc3/sequence.c \
- libc3/operator.h \
- libc3/float.h \
- libc3/map.c \
- libc3/f64.c \
- libc3/hash.c \
- libc3/f32.h \
- libc3/f64.h \
- libc3/file.h \
+ libc3/s8.c \
+ libc3/buf_parse_s16.h \
libc3/list.h \
- libc3/ptag.h \
- libc3/s.h.in \
- libc3/map.h \
- libc3/frame.c \
- libc3/buf_inspect_s_base.c.in \
- libc3/buf_inspect_s.c.in \
- libc3/u.h.in \
- libc3/buf_inspect_u.c.in \
- libc3/var.h \
- libc3/buf_inspect_u_base.c.in \
+ 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/tag_mod.c \
+ libc3/compare.h \
+ libc3/buf_inspect_u64_octal.c \
+ libc3/buf_inspect_u16_octal.c \
+ libc3/tag_band.c \
libc3/cfn.h \
- libc3/arg.c \
libc3/env.c \
- libc3/f32.c \
- libc3/env.h \
- libc3/integer.c \
- libc3/sym.h \
- libc3/tag.c \
- libc3/facts.c \
- libc3/s.c.in \
- libc3/u.c.in \
- libc3/array.c \
- libc3/c3.h \
- libc3/time.h \
- libc3/ptag.c \
- libc3/ident.c \
+ libc3/set__fact.h \
+ libc3/sym.c \
+ libc3/eval.h \
libc3/c3_main.h \
- libc3/call.c \
- libc3/cfn.c \
- libc3/window/cairo/cairo_png.c \
- libc3/window/cairo/cairo_png.h \
- libc3/window/cairo/types.h \
- libc3/window/cairo/window_cairo.h \
- libc3/window/cairo/xcb/demo/window_cairo_xcb_demo.c \
- libc3/window/cairo/xcb/window_cairo_xcb.c \
- libc3/window/cairo/xcb/window_cairo_xcb.h \
- libc3/window/cairo/xcb/config.h \
- libc3/window/cairo/window_cairo.c \
- 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/toasters.c \
+ 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/flies.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/flies.c \
- libc3/window/cairo/demo/flies.h \
- libc3/window/cairo/quartz/window_cairo_quartz.h \
+ 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_font.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/window_cairo_quartz_view.h \
libc3/window/cairo/quartz/window_cairo_quartz_view_controller.h \
- libc3/window/cairo/quartz/xkbquartz.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/cairo_sprite.c \
- libc3/window/cairo/cairo_sprite.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/cairo_font.c \
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_font.c \
- libc3/window/cairo/cairo_font.h \
- libc3/window/types.h \
+ libc3/window/cairo/cairo_sprite.c \
+ libc3/window/cairo/cairo_png.c \
libc3/window/window.c \
- libc3/window/window.h \
- libc3/list_init.h \
- libc3/time.c \
- libc3/var.c \
- libc3/tag_band.c \
- libc3/tag_bor.c \
- libc3/tag_bxor.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_shift_right.c \
+ libc3/tag.c \
+ libc3/buf_parse_u8.h \
+ libc3/buf_inspect_uw_octal.c \
+ libc3/buf_inspect_u8_binary.c \
+ libc3/tag_div.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/tag_init.h \
- libc3/tag_mod.c \
libc3/tag_mul.c \
- libc3/tag_shift_left.c \
- libc3/tag_shift_right.c \
- libc3/tag_sub.c \
- libc3/tag_type.c \
- libc3/tag_type.h \
- test/facts_with_test.c \
- test/set__fact_test.c \
- test/test.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/list_init.h \
+ 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/test.h \
- test/buf_parse_test.c \
- test/array_test.c \
- test/facts_cursor_test.c \
- test/set__tag_test.c \
- test/tag_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/skiplist__fact_test.c \
- test/fact_test.c \
- test/compare_test.h \
+ test/set__tag_test.c \
test/facts_test.c \
- test/hash_test.c \
- test/list_test.c \
- test/compare_test.c \
- test/ident_test.c \
- test/libc3_test.c \
- test/buf_inspect_test.c \
- test/bool_test.c \
- test/cfn_test.c \
- test/buf_test.c \
- test/str_test.c \
- test/tuple_test.c \
- test/buf_parse_test_s8.c \
+ test/facts_cursor_test.c \
+ test/compare_test.h \
test/buf_parse_test_s32.c \
- test/buf_parse_test_s64.c \
- test/buf_parse_test_u16.c \
- test/buf_parse_test_u8.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_parse_test_u64.c \
- test/env_test.c \
- test/buf_parse_test.h \
- test/fact_test.h \
- test/buf_file_test.c \
- test/character_test.c \
- test/buf_parse_test_su.h \
- test/buf_parse_test_s16.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 \
diff --git a/sources.sh b/sources.sh
index 4278d59..150f482 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/update_sources libc3/configure libc3/window/cairo/xcb/configure libc3/window/cairo/xcb/demo/configure libc3/window/cairo/xcb/demo/update_sources libc3/window/cairo/xcb/update_sources libc3/window/cairo/configure libc3/window/cairo/demo/configure libc3/window/cairo/demo/update_sources 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/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/configure libtommath/update_sources test/update_sources test/configure ucd2c/configure '
-C3_MAKEFILES='c3c/Makefile c3s/Makefile ic3/Makefile libc3/gen.mk libc3/Makefile libc3/window/cairo/Makefile libc3/window/cairo/xcb/Makefile libc3/window/cairo/xcb/demo/Makefile libc3/window/cairo/demo/Makefile libc3/window/cairo/quartz/Makefile libc3/window/cairo/quartz/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/buf_linenoise.c ic3/ic3.c ic3/buf_linenoise.h ic3/linenoise.c libc3/fn.h libc3/buf_inspect_s8_hexadecimal.c libc3/sym.c libc3/buf_inspect_s8_hexadecimal.h libc3/buf_inspect_s16.c 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_s.h.in libc3/binding.c libc3/binding.h libc3/buf_inspect_s8.c libc3/facts_with_cursor.c libc3/array.h libc3/buf.c libc3/buf_parse.c libc3/integer.h libc3/types.h libc3/type.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/buf_inspect.c libc3/buf_file.c libc3/buf_file.h libc3/bool.c libc3/buf_inspect_s32.c libc3/io.h libc3/buf_inspect_s32.h 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_parse_s8.c libc3/buf_inspect_s64_binary.c libc3/io.c libc3/abs.h libc3/fn_clause.c libc3/buf_inspect_s64_binary.h 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.c libc3/buf_inspect_sw.h libc3/buf_inspect_sw_binary.c libc3/buf_inspect_sw_binary.h libc3/s8.c libc3/file.c libc3/ceiling.c libc3/buf_inspect_s_base.h.in libc3/buf_inspect_sw_octal.c libc3/buf_save.c libc3/buf_inspect_sw_octal.h libc3/buf_parse.h libc3/compare.c libc3/buf_inspect_sw_decimal.c libc3/buf_inspect_sw_decimal.h libc3/buf_inspect_sw_hexadecimal.c libc3/buf_inspect_u.h.in libc3/buf_inspect_u16.h libc3/buf_inspect_u8.c libc3/call.h libc3/buf_inspect_u8.h libc3/buf_inspect_u8_binary.c libc3/buf_parse_s8.h libc3/character.c libc3/buf_save.h libc3/fact.h libc3/buf_inspect_u8_binary.h libc3/error.c 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_u8_hexadecimal.c libc3/buf_inspect_u8_hexadecimal.h libc3/buf_inspect_u16.c 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_u32.h libc3/buf_parse_s16.c libc3/error.h libc3/character.h libc3/compare.h libc3/buf_inspect_u16_decimal.c libc3/tag.h libc3/sign.h libc3/buf.h libc3/buf_inspect_u16_decimal.h libc3/buf_inspect_u16_hexadecimal.c libc3/buf_inspect_u16_hexadecimal.h libc3/buf_inspect_u32.c 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_u64.h libc3/set__fact.c libc3/error_handler.c libc3/set_cursor.c.in libc3/set_cursor.h.in libc3/set_item.c.in libc3/set_item.h.in 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/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_hexadecimal.h libc3/error_handler.h libc3/buf_inspect_u64_decimal.h libc3/eval.c libc3/eval.h libc3/fact.c libc3/facts_cursor.c libc3/ceiling.h libc3/buf_inspect_u64_hexadecimal.c libc3/buf_inspect_u_base.h.in libc3/buf_inspect_uw.c libc3/buf_inspect_uw.h 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_parse_s16.h libc3/facts_cursor.h libc3/facts_spec.c libc3/frame.h libc3/sign.c libc3/skiplist.c.in libc3/buf_inspect_uw_hexadecimal.c libc3/buf_inspect_uw_hexadecimal.h libc3/buf_parse_s32.c libc3/buf_parse_s32.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/set__fact.h libc3/buf_parse_u64.c libc3/buf_parse_u64.h libc3/facts_spec.h libc3/facts_spec_cursor.c libc3/buf_parse_uw.c libc3/facts_spec_cursor.h libc3/buf_parse_uw.h libc3/set__tag.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/operator.c libc3/skiplist__fact.c libc3/s8.h libc3/c3.c libc3/facts_with.c libc3/facts_with.h libc3/skiplist__fact.h libc3/skiplist_node__fact.c libc3/buf_parse_u.c.in libc3/fn_clause.h libc3/skiplist_node__fact.h libc3/s16.c libc3/s16.h libc3/s32.c libc3/s32.h libc3/s64.c libc3/s64.h libc3/sw.c libc3/sw.h libc3/u8.c libc3/u8.h libc3/u16.c libc3/u16.h libc3/u32.c libc3/u32.h libc3/u64.c libc3/u64.h libc3/uw.c libc3/uw.h libc3/module.c libc3/abs.c libc3/facts_with_cursor.h libc3/ident.h libc3/buf_parse_s.c.in libc3/tag_div.c libc3/buf_inspect_sw_hexadecimal.h libc3/tag_init.c libc3/set.c.in libc3/log.c libc3/log.h libc3/module.h libc3/quote.c libc3/quote.h libc3/str.c libc3/arg.h libc3/set.h.in libc3/list.c libc3/tag_add.c libc3/skiplist.h.in libc3/facts.h libc3/struct.h libc3/sha1.h libc3/skiplist_node.c.in libc3/skiplist_node.h.in libc3/tuple.c libc3/tuple.h libc3/ucd.c libc3/ucd.h libc3/hash.h libc3/license.c libc3/bool.h libc3/str.h libc3/type.h libc3/buf_inspect.h libc3/buf_parse_s.h.in libc3/buf_parse_u.h.in libc3/fn.c libc3/sequence.h libc3/sequence.c libc3/operator.h libc3/float.h libc3/map.c libc3/f64.c libc3/hash.c libc3/f32.h libc3/f64.h libc3/file.h libc3/list.h libc3/ptag.h libc3/s.h.in libc3/map.h libc3/frame.c libc3/buf_inspect_s_base.c.in libc3/buf_inspect_s.c.in libc3/u.h.in libc3/buf_inspect_u.c.in libc3/var.h libc3/buf_inspect_u_base.c.in libc3/cfn.h libc3/arg.c libc3/env.c libc3/f32.c libc3/env.h libc3/integer.c libc3/sym.h libc3/tag.c libc3/facts.c libc3/s.c.in libc3/u.c.in libc3/array.c libc3/c3.h libc3/time.h libc3/ptag.c libc3/ident.c libc3/c3_main.h libc3/call.c libc3/cfn.c libc3/window/cairo/cairo_png.c libc3/window/cairo/cairo_png.h libc3/window/cairo/types.h libc3/window/cairo/window_cairo.h libc3/window/cairo/xcb/demo/window_cairo_xcb_demo.c libc3/window/cairo/xcb/window_cairo_xcb.c libc3/window/cairo/xcb/window_cairo_xcb.h libc3/window/cairo/xcb/config.h libc3/window/cairo/window_cairo.c 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/toasters.c libc3/window/cairo/demo/toasters.h libc3/window/cairo/demo/window_cairo_demo.c libc3/window/cairo/demo/window_cairo_demo.h libc3/window/cairo/demo/flies.c libc3/window/cairo/demo/flies.h 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/window_cairo_quartz_view.h libc3/window/cairo/quartz/window_cairo_quartz_view_controller.h libc3/window/cairo/quartz/xkbquartz.h libc3/window/cairo/quartz/quartz_to_xkbcommon.c libc3/window/cairo/quartz/quartz_to_xkbcommon.h libc3/window/cairo/cairo_sprite.c libc3/window/cairo/cairo_sprite.h 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_font.c libc3/window/cairo/cairo_font.h libc3/window/types.h libc3/window/window.c libc3/window/window.h libc3/list_init.h libc3/time.c libc3/var.c libc3/tag_band.c libc3/tag_bor.c libc3/tag_bxor.c libc3/tag_init.h libc3/tag_mod.c libc3/tag_mul.c libc3/tag_shift_left.c libc3/tag_shift_right.c libc3/tag_sub.c libc3/tag_type.c libc3/tag_type.h test/facts_with_test.c test/set__fact_test.c test/test.c test/fn_test.c test/test.h test/buf_parse_test.c test/array_test.c test/facts_cursor_test.c test/set__tag_test.c test/tag_test.c test/sym_test.c test/tag_test.h test/types_test.c test/call_test.c test/skiplist__fact_test.c test/fact_test.c test/compare_test.h test/facts_test.c test/hash_test.c test/list_test.c test/compare_test.c test/ident_test.c test/libc3_test.c test/buf_inspect_test.c test/bool_test.c test/cfn_test.c test/buf_test.c test/str_test.c test/tuple_test.c test/buf_parse_test_s8.c test/buf_parse_test_s32.c test/buf_parse_test_s64.c test/buf_parse_test_u16.c test/buf_parse_test_u8.c test/buf_parse_test_u32.c test/buf_parse_test_u64.c test/env_test.c test/buf_parse_test.h test/fact_test.h test/buf_file_test.c test/character_test.c test/buf_parse_test_su.h test/buf_parse_test_s16.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/tag_type.h libc3/buf_inspect_u16_decimal.c libc3/tag_sub.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/tag_shift_left.c 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/tag_init.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/list_init.c 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/struct.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/tag_type.c 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/tag_mod.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/flies.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/flies.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_font.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_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/cairo_font.c 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_shift_right.c libc3/tag.c libc3/buf_parse_u8.h libc3/buf_inspect_uw_octal.c libc3/buf_inspect_u8_binary.c libc3/tag_div.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/tag_init.h libc3/tag_mul.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/list_init.h 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 '