diff --git a/.ikc3_history b/.ikc3_history
index 68c37ea..9126fd6 100644
--- a/.ikc3_history
+++ b/.ikc3_history
@@ -1,4 +1,3 @@
-Facts.with(Facts.env_facts(), [[KC3, :operator, ?]], fn (fact) { puts(fact.object); 1 })
(Ptr) 0xf24fc9ce000
(Tag) (Ptr) 0xf24fc9ce000
?
@@ -97,3 +96,4 @@ quote if true do if true do %KC3.Operator{sym: :-, symbol_value: void} else 0 en
a = ?
b = ?
a = ? ; void
+Facts.with_tags(Facts.env_facts(), KC3, :operator, ?, fn (fact) { puts(fact.object); 1 })
diff --git a/README.md b/README.md
index 6c2f447..36b36ca 100644
--- a/README.md
+++ b/README.md
@@ -4,10 +4,6 @@ KC3 is a programming language with meta-programmation and a graph
database embedded into the language. It aims to be the language
for semantic programming, and programming the semantic web.
-This is a development branch, see
-[KC3 v0.1.12](https://git.kmx.io/kc3-lang/kc3/_tree/v0.1.12/)
-for a stable release.
-
We are currently fundraising for the project to become real and
there is a working prototype available at
[https://git.kmx.io/kc3-lang/kc3/](https://git.kmx.io/kc3-lang/kc3/),
@@ -34,6 +30,27 @@ Supported architectures :
- sparc64
+## New in this release
+
+ - libkc3
+ - pretty printer
+ - indentation (str, if, do, fn, struct, map)
+ - ikc3
+ - facts
+ - Facts.with_tags(facts, s, p, o, fn (fact) {}) -> cursor
+ - lib
+ - File.exists?
+ - File.is_directory?
+ - File.list
+ - File.stat
+ - HTTPd v0.1.1
+ - file server (lftp)
+ - route_request
+ - error_404_page
+ - directory_page
+ - slash (lftp)
+
+
## Discord invite
[Join us on kmx.io Discord server !](https://discord.gg/A4MWkpUDsG)
@@ -66,6 +83,10 @@ git clone https://git.kmx.io/kc3-lang/kc3.git
cd kc3
git submodule init
git submodule update
+cd fonts
+git submodule init
+git submodule update
+cd ..
./configure
make
```
@@ -104,6 +125,11 @@ make gdb_demo
make lldb_demo
```
+### Running the HTTPd demo
+```sh
+make test_httpd
+```
+
### Running the tests
```sh
make test
@@ -500,6 +526,25 @@ ikc3> double 21
```
+#### Facts
+
+The Facts module allows read and write access to a graph database
+containing facts : triples of subject, predicate, object.
+
+Examples for querying the KC3 database containing all definitions of
+the interpreter :
+
+```
+ikc3> Facts.with_tags(Facts.env_facts(), KC3, :operator, ?,
+ fn (fact) { puts(fact.object); :ok })
+operator_eq
+operator_gt
+operator_lt
+[...]
+:ok
+```
+
+
### kc3s
Script interpreter. Works the same as ikc3 but is not interactive
@@ -519,27 +564,19 @@ serving files for display or download (Web 1.0).
## TODO
- - HTTPd
- - file server (lftp)
- - [DONE] route_request
- - [DONE] error_404_page
- - [DONE] directory_page
+ - HTTPd v0.2.0
- dynamic pages
- dynamic router
- views
- templates
- MVC
- - lib
- - [DONE] File.exists?
- - [DONE] File.list
- - [DONE] File.stat
- libkc3
- operators dispatch
- list of matching operators (facts_with)
- base-specific big floats
- macro cast `(Macro) fn (x) { x }`
- pretty printer
- - indent
+ - [DONE] indent
- 80 columns (`\n`)
- tags
- walker
diff --git a/img/c3.1.xcf b/img/c3.1.xcf
deleted file mode 100644
index 8972245..0000000
Binary files a/img/c3.1.xcf and /dev/null differ
diff --git a/img/c3.1080.jpg b/img/c3.1080.jpg
deleted file mode 100644
index 9b1fbeb..0000000
Binary files a/img/c3.1080.jpg and /dev/null differ
diff --git a/img/c3.1080.png b/img/c3.1080.png
deleted file mode 100644
index db2828b..0000000
Binary files a/img/c3.1080.png and /dev/null differ
diff --git a/img/c3.128.jpg b/img/c3.128.jpg
deleted file mode 100644
index c2b50cb..0000000
Binary files a/img/c3.128.jpg and /dev/null differ
diff --git a/img/c3.128.png b/img/c3.128.png
deleted file mode 100644
index dab0cb4..0000000
Binary files a/img/c3.128.png and /dev/null differ
diff --git a/img/c3.16.png b/img/c3.16.png
deleted file mode 100644
index 60548f1..0000000
Binary files a/img/c3.16.png and /dev/null differ
diff --git a/img/c3.256.jpg b/img/c3.256.jpg
deleted file mode 100644
index 5dd95bf..0000000
Binary files a/img/c3.256.jpg and /dev/null differ
diff --git a/img/c3.256.png b/img/c3.256.png
deleted file mode 100644
index 3cd3260..0000000
Binary files a/img/c3.256.png and /dev/null differ
diff --git a/img/c3.32.jpg b/img/c3.32.jpg
deleted file mode 100644
index 1221f09..0000000
Binary files a/img/c3.32.jpg and /dev/null differ
diff --git a/img/c3.32.png b/img/c3.32.png
deleted file mode 100644
index 9bedee7..0000000
Binary files a/img/c3.32.png and /dev/null differ
diff --git a/img/c3.48.jpg b/img/c3.48.jpg
deleted file mode 100644
index 3313202..0000000
Binary files a/img/c3.48.jpg and /dev/null differ
diff --git a/img/c3.48.png b/img/c3.48.png
deleted file mode 100644
index 11541bb..0000000
Binary files a/img/c3.48.png and /dev/null differ
diff --git a/img/c3.512.jpg b/img/c3.512.jpg
deleted file mode 100644
index 15c1cf3..0000000
Binary files a/img/c3.512.jpg and /dev/null differ
diff --git a/img/c3.512.png b/img/c3.512.png
deleted file mode 100644
index 60a8b13..0000000
Binary files a/img/c3.512.png and /dev/null differ
diff --git a/img/c3.64.jpg b/img/c3.64.jpg
deleted file mode 100644
index f42ee72..0000000
Binary files a/img/c3.64.jpg and /dev/null differ
diff --git a/img/c3.64.png b/img/c3.64.png
deleted file mode 100644
index f1a2341..0000000
Binary files a/img/c3.64.png and /dev/null differ
diff --git a/img/c3.640.jpg b/img/c3.640.jpg
deleted file mode 100644
index 8b5bd23..0000000
Binary files a/img/c3.640.jpg and /dev/null differ
diff --git a/img/c3.640.png b/img/c3.640.png
deleted file mode 100644
index 36f0653..0000000
Binary files a/img/c3.640.png and /dev/null differ
diff --git a/img/c3.720.jpg b/img/c3.720.jpg
deleted file mode 100644
index 496f0f2..0000000
Binary files a/img/c3.720.jpg and /dev/null differ
diff --git a/img/c3.720.png b/img/c3.720.png
deleted file mode 100644
index 324b4e9..0000000
Binary files a/img/c3.720.png and /dev/null differ
diff --git a/img/c3.icns b/img/c3.icns
deleted file mode 100644
index 377277a..0000000
Binary files a/img/c3.icns and /dev/null differ
diff --git a/img/c3.iconset/icon_128x128.png b/img/c3.iconset/icon_128x128.png
deleted file mode 100644
index dab0cb4..0000000
Binary files a/img/c3.iconset/icon_128x128.png and /dev/null differ
diff --git a/img/c3.iconset/icon_16x16.png b/img/c3.iconset/icon_16x16.png
deleted file mode 100644
index 60548f1..0000000
Binary files a/img/c3.iconset/icon_16x16.png and /dev/null differ
diff --git a/img/c3.iconset/icon_256x256.png b/img/c3.iconset/icon_256x256.png
deleted file mode 100644
index 3cd3260..0000000
Binary files a/img/c3.iconset/icon_256x256.png and /dev/null differ
diff --git a/img/c3.iconset/icon_32x32.png b/img/c3.iconset/icon_32x32.png
deleted file mode 100644
index 9bedee7..0000000
Binary files a/img/c3.iconset/icon_32x32.png and /dev/null differ
diff --git a/img/c3.iconset/icon_512x512.png b/img/c3.iconset/icon_512x512.png
deleted file mode 100644
index 60a8b13..0000000
Binary files a/img/c3.iconset/icon_512x512.png and /dev/null differ
diff --git a/img/c3.iconset/icon_64x64.png b/img/c3.iconset/icon_64x64.png
deleted file mode 100644
index f1a2341..0000000
Binary files a/img/c3.iconset/icon_64x64.png and /dev/null differ
diff --git a/img/c3.xcf b/img/c3.xcf
deleted file mode 100644
index 0952f73..0000000
Binary files a/img/c3.xcf and /dev/null differ
diff --git a/img/iris-c3-004.jpeg b/img/iris-c3-004.jpeg
deleted file mode 100644
index 12124b2..0000000
Binary files a/img/iris-c3-004.jpeg and /dev/null differ
diff --git a/img/iris-kc3-004.jpeg b/img/iris-kc3-004.jpeg
new file mode 100644
index 0000000..12124b2
Binary files /dev/null and b/img/iris-kc3-004.jpeg differ
diff --git a/img/kc3.1.xcf b/img/kc3.1.xcf
new file mode 100644
index 0000000..e62e870
Binary files /dev/null and b/img/kc3.1.xcf differ
diff --git a/img/kc3.128.jpg b/img/kc3.128.jpg
new file mode 100644
index 0000000..741510c
Binary files /dev/null and b/img/kc3.128.jpg differ
diff --git a/img/kc3.128.png b/img/kc3.128.png
new file mode 100644
index 0000000..3fa3d51
Binary files /dev/null and b/img/kc3.128.png differ
diff --git a/img/kc3.16.jpg b/img/kc3.16.jpg
new file mode 100644
index 0000000..9362b56
Binary files /dev/null and b/img/kc3.16.jpg differ
diff --git a/img/kc3.16.png b/img/kc3.16.png
new file mode 100644
index 0000000..7c5f8a9
Binary files /dev/null and b/img/kc3.16.png differ
diff --git a/img/kc3.256.jpg b/img/kc3.256.jpg
new file mode 100644
index 0000000..a1c98e2
Binary files /dev/null and b/img/kc3.256.jpg differ
diff --git a/img/kc3.256.png b/img/kc3.256.png
new file mode 100644
index 0000000..4b39c42
Binary files /dev/null and b/img/kc3.256.png differ
diff --git a/img/kc3.32.jpg b/img/kc3.32.jpg
new file mode 100644
index 0000000..0cb2bc1
Binary files /dev/null and b/img/kc3.32.jpg differ
diff --git a/img/kc3.32.png b/img/kc3.32.png
new file mode 100644
index 0000000..94c4060
Binary files /dev/null and b/img/kc3.32.png differ
diff --git a/img/kc3.512.jpg b/img/kc3.512.jpg
new file mode 100644
index 0000000..ef7dada
Binary files /dev/null and b/img/kc3.512.jpg differ
diff --git a/img/kc3.512.png b/img/kc3.512.png
new file mode 100644
index 0000000..4b1971a
Binary files /dev/null and b/img/kc3.512.png differ
diff --git a/img/kc3.64.jpg b/img/kc3.64.jpg
new file mode 100644
index 0000000..057da8c
Binary files /dev/null and b/img/kc3.64.jpg differ
diff --git a/img/kc3.64.png b/img/kc3.64.png
new file mode 100644
index 0000000..c38c393
Binary files /dev/null and b/img/kc3.64.png differ
diff --git a/img/kc3.icns b/img/kc3.icns
new file mode 100644
index 0000000..377277a
Binary files /dev/null and b/img/kc3.icns differ
diff --git a/img/kc3.iconset/icon_128x128.png b/img/kc3.iconset/icon_128x128.png
new file mode 100644
index 0000000..3fa3d51
Binary files /dev/null and b/img/kc3.iconset/icon_128x128.png differ
diff --git a/img/kc3.iconset/icon_16x16.png b/img/kc3.iconset/icon_16x16.png
new file mode 100644
index 0000000..7c5f8a9
Binary files /dev/null and b/img/kc3.iconset/icon_16x16.png differ
diff --git a/img/kc3.iconset/icon_256x256.png b/img/kc3.iconset/icon_256x256.png
new file mode 100644
index 0000000..4b39c42
Binary files /dev/null and b/img/kc3.iconset/icon_256x256.png differ
diff --git a/img/kc3.iconset/icon_32x32.png b/img/kc3.iconset/icon_32x32.png
new file mode 100644
index 0000000..94c4060
Binary files /dev/null and b/img/kc3.iconset/icon_32x32.png differ
diff --git a/img/kc3.iconset/icon_512x512.png b/img/kc3.iconset/icon_512x512.png
new file mode 100644
index 0000000..4b1971a
Binary files /dev/null and b/img/kc3.iconset/icon_512x512.png differ
diff --git a/img/kc3.iconset/icon_64x64.png b/img/kc3.iconset/icon_64x64.png
new file mode 100644
index 0000000..c38c393
Binary files /dev/null and b/img/kc3.iconset/icon_64x64.png differ
diff --git a/img/kc3.xcf b/img/kc3.xcf
new file mode 100644
index 0000000..e8f954e
Binary files /dev/null and b/img/kc3.xcf differ
diff --git a/kc3.index b/kc3.index
index 69b33ad..f0bac1f 100644
--- a/kc3.index
+++ b/kc3.index
@@ -14,6 +14,13 @@ ekc3/sources.sh
ekc3/types.h
ekc3/update_sources
env
+event/Makefile
+event/configure
+event/event.c
+event/event.h
+event/sources.mk
+event/sources.sh
+event/update_sources
fonts/Computer Modern/cmunbl-webfont.ttf
fonts/Computer Modern/cmunbl.otf
fonts/Computer Modern/cmunbx-webfont.ttf
@@ -215,12 +222,8 @@ http/http_request.c
http/http_request.h
http/http_response.c
http/http_response.h
-http/socket.c
-http/socket.h
-http/socket_addr.c
-http/socket_addr.h
-http/socket_buf.c
-http/socket_buf.h
+http/mime_type.c
+http/mime_type.h
http/sources.mk
http/sources.sh
http/types.h
@@ -243,40 +246,33 @@ ikc3/linenoise.c
ikc3/sources.mk
ikc3/sources.sh
ikc3/update_sources
-img/c3.1.xcf
-img/c3.1080.jpg
-img/c3.1080.png
-img/c3.128.jpg
-img/c3.128.png
-img/c3.16.png
-img/c3.256.jpg
-img/c3.256.png
-img/c3.32.jpg
-img/c3.32.png
-img/c3.48.jpg
-img/c3.48.png
-img/c3.512.jpg
-img/c3.512.png
-img/c3.64.jpg
-img/c3.64.png
-img/c3.640.jpg
-img/c3.640.png
-img/c3.720.jpg
-img/c3.720.png
-img/c3.iconset/icon_128x128.png
-img/c3.iconset/icon_16x16.png
-img/c3.iconset/icon_256x256.png
-img/c3.iconset/icon_32x32.png
-img/c3.iconset/icon_512x512.png
-img/c3.iconset/icon_64x64.png
-img/c3.xcf
img/earth.jpg
img/earth.png
img/flaps.256.png
img/flaps.png
img/fly-dead.png
img/fly-noto.png
-img/iris-c3-004.jpeg
+img/iris-kc3-004.jpeg
+img/kc3.1.xcf
+img/kc3.128.jpg
+img/kc3.128.png
+img/kc3.16.jpg
+img/kc3.16.png
+img/kc3.256.jpg
+img/kc3.256.png
+img/kc3.32.jpg
+img/kc3.32.png
+img/kc3.512.jpg
+img/kc3.512.png
+img/kc3.64.jpg
+img/kc3.64.png
+img/kc3.iconset/icon_128x128.png
+img/kc3.iconset/icon_16x16.png
+img/kc3.iconset/icon_256x256.png
+img/kc3.iconset/icon_32x32.png
+img/kc3.iconset/icon_512x512.png
+img/kc3.iconset/icon_64x64.png
+img/kc3.xcf
img/mandelbrot_f128_limit.1.png
img/mandelbrot_f128_limit.2.png
img/mandelbrot_f128_limit.3.png
@@ -285,6 +281,13 @@ img/matrix_shade.png
img/thodg_No_Prompt_073261d5-2c81-4b6e-9572-e0b840c55f1f.jpeg
img/toast.128.png
img/toast.png
+json/Makefile
+json/configure
+json/json.c
+json/json.h
+json/sources.mk
+json/sources.sh
+json/update_sources
kc3.index
kc3.version
kc3c/Makefile
@@ -305,9 +308,17 @@ lib/kc3/0.1/buf_rw.kc3
lib/kc3/0.1/complex.facts
lib/kc3/0.1/cow.kc3
lib/kc3/0.1/ekc3.kc3
+lib/kc3/0.1/event.kc3
lib/kc3/0.1/f128.facts
lib/kc3/0.1/f32.facts
lib/kc3/0.1/f64.facts
+lib/kc3/0.1/fact.kc3
+lib/kc3/0.1/fact_w.kc3
+lib/kc3/0.1/facts.kc3
+lib/kc3/0.1/facts/cursor.kc3
+lib/kc3/0.1/fd.kc3
+lib/kc3/0.1/file.kc3
+lib/kc3/0.1/file/stat.kc3
lib/kc3/0.1/gl/dvec2.kc3
lib/kc3/0.1/gl/dvec3.kc3
lib/kc3/0.1/gl/object.kc3
@@ -316,10 +327,12 @@ lib/kc3/0.1/gl/triangle.kc3
lib/kc3/0.1/gl/vec2.kc3
lib/kc3/0.1/gl/vec3.kc3
lib/kc3/0.1/gl/vertex.kc3
+lib/kc3/0.1/http.kc3
lib/kc3/0.1/http/request.kc3
lib/kc3/0.1/http/response.kc3
lib/kc3/0.1/httpd.kc3
lib/kc3/0.1/integer.facts
+lib/kc3/0.1/json.kc3
lib/kc3/0.1/kc3.facts
lib/kc3/0.1/kc3/operator.kc3
lib/kc3/0.1/list.kc3
@@ -331,6 +344,11 @@ lib/kc3/0.1/s16.facts
lib/kc3/0.1/s32.facts
lib/kc3/0.1/s64.facts
lib/kc3/0.1/s8.facts
+lib/kc3/0.1/set.kc3
+lib/kc3/0.1/set/fact.kc3
+lib/kc3/0.1/set/item/fact.kc3
+lib/kc3/0.1/set/item/tag.kc3
+lib/kc3/0.1/set/tag.kc3
lib/kc3/0.1/socket.kc3
lib/kc3/0.1/socket/addr.kc3
lib/kc3/0.1/socket/buf.kc3
@@ -338,6 +356,8 @@ lib/kc3/0.1/str.facts
lib/kc3/0.1/struct.kc3
lib/kc3/0.1/sw.facts
lib/kc3/0.1/sym.facts
+lib/kc3/0.1/tag.kc3
+lib/kc3/0.1/time.kc3
lib/kc3/0.1/u16.facts
lib/kc3/0.1/u32.facts
lib/kc3/0.1/u64.facts
@@ -566,6 +586,8 @@ libkc3/facts_with.c
libkc3/facts_with.h
libkc3/facts_with_cursor.c
libkc3/facts_with_cursor.h
+libkc3/fd.c
+libkc3/fd.h
libkc3/file.c
libkc3/file.h
libkc3/float.h
@@ -606,6 +628,8 @@ libkc3/pcomplex.c
libkc3/pcomplex.h
libkc3/pcow.c
libkc3/pcow.h
+libkc3/pretty.c
+libkc3/pretty.h
libkc3/ptag.c
libkc3/ptag.h
libkc3/ptr.c
@@ -696,6 +720,8 @@ libkc3/tag_type.c
libkc3/tag_type.h
libkc3/time.c
libkc3/time.h
+libkc3/to_lisp.c
+libkc3/to_lisp.h
libkc3/tuple.c
libkc3/tuple.h
libkc3/types.h
@@ -720,174 +746,6 @@ libkc3/var.c
libkc3/var.h
libkc3/void.c
libkc3/void.h
-libkc3_window/Makefile
-libkc3_window/cairo/Makefile
-libkc3_window/cairo/cairo_font.c
-libkc3_window/cairo/cairo_font.h
-libkc3_window/cairo/cairo_sprite.c
-libkc3_window/cairo/cairo_sprite.h
-libkc3_window/cairo/cairo_text.c
-libkc3_window/cairo/cairo_text.h
-libkc3_window/cairo/configure
-libkc3_window/cairo/demo/Makefile
-libkc3_window/cairo/demo/bg_rect.c
-libkc3_window/cairo/demo/bg_rect.h
-libkc3_window/cairo/demo/configure
-libkc3_window/cairo/demo/flies.c
-libkc3_window/cairo/demo/flies.h
-libkc3_window/cairo/demo/lightspeed.c
-libkc3_window/cairo/demo/lightspeed.h
-libkc3_window/cairo/demo/mandelbrot_f128.c
-libkc3_window/cairo/demo/mandelbrot_f128.h
-libkc3_window/cairo/demo/sources.mk
-libkc3_window/cairo/demo/sources.sh
-libkc3_window/cairo/demo/toasters.c
-libkc3_window/cairo/demo/toasters.h
-libkc3_window/cairo/demo/update_sources
-libkc3_window/cairo/demo/window_cairo_demo.c
-libkc3_window/cairo/demo/window_cairo_demo.h
-libkc3_window/cairo/quartz/Makefile
-libkc3_window/cairo/quartz/configure
-libkc3_window/cairo/quartz/demo/Makefile
-libkc3_window/cairo/quartz/demo/configure
-libkc3_window/cairo/quartz/demo/sources.mk
-libkc3_window/cairo/quartz/demo/sources.sh
-libkc3_window/cairo/quartz/demo/update_sources
-libkc3_window/cairo/quartz/demo/window_cairo_quartz_demo.c
-libkc3_window/cairo/quartz/quartz_to_xkbcommon.c
-libkc3_window/cairo/quartz/quartz_to_xkbcommon.h
-libkc3_window/cairo/quartz/sources.mk
-libkc3_window/cairo/quartz/sources.sh
-libkc3_window/cairo/quartz/update_sources
-libkc3_window/cairo/quartz/window_cairo_quartz.h
-libkc3_window/cairo/quartz/window_cairo_quartz.m
-libkc3_window/cairo/quartz/window_cairo_quartz_app_delegate.h
-libkc3_window/cairo/quartz/window_cairo_quartz_app_delegate.m
-libkc3_window/cairo/quartz/window_cairo_quartz_view.h
-libkc3_window/cairo/quartz/window_cairo_quartz_view.m
-libkc3_window/cairo/quartz/window_cairo_quartz_view_controller.h
-libkc3_window/cairo/quartz/window_cairo_quartz_view_controller.m
-libkc3_window/cairo/quartz/xkbquartz.h
-libkc3_window/cairo/sources.mk
-libkc3_window/cairo/sources.sh
-libkc3_window/cairo/types.h
-libkc3_window/cairo/update_sources
-libkc3_window/cairo/win32/Makefile
-libkc3_window/cairo/win32/configure
-libkc3_window/cairo/win32/demo/Makefile
-libkc3_window/cairo/win32/demo/configure
-libkc3_window/cairo/win32/demo/sources.mk
-libkc3_window/cairo/win32/demo/sources.sh
-libkc3_window/cairo/win32/demo/update_sources
-libkc3_window/cairo/win32/demo/window_cairo_win32_demo.c
-libkc3_window/cairo/win32/sources.mk
-libkc3_window/cairo/win32/sources.sh
-libkc3_window/cairo/win32/update_sources
-libkc3_window/cairo/win32/vk_to_xkbcommon.c
-libkc3_window/cairo/win32/vk_to_xkbcommon.h
-libkc3_window/cairo/win32/window_cairo_win32.c
-libkc3_window/cairo/win32/window_cairo_win32.h
-libkc3_window/cairo/window_cairo.c
-libkc3_window/cairo/window_cairo.h
-libkc3_window/cairo/xcb/Makefile
-libkc3_window/cairo/xcb/configure
-libkc3_window/cairo/xcb/demo/Makefile
-libkc3_window/cairo/xcb/demo/configure
-libkc3_window/cairo/xcb/demo/sources.mk
-libkc3_window/cairo/xcb/demo/sources.sh
-libkc3_window/cairo/xcb/demo/update_sources
-libkc3_window/cairo/xcb/demo/window_cairo_xcb_demo.c
-libkc3_window/cairo/xcb/sources.mk
-libkc3_window/cairo/xcb/sources.sh
-libkc3_window/cairo/xcb/update_sources
-libkc3_window/cairo/xcb/window_cairo_xcb.c
-libkc3_window/cairo/xcb/window_cairo_xcb.h
-libkc3_window/configure
-libkc3_window/sdl2/Makefile
-libkc3_window/sdl2/configure
-libkc3_window/sdl2/demo/Makefile
-libkc3_window/sdl2/demo/bg_rect.c
-libkc3_window/sdl2/demo/bg_rect.h
-libkc3_window/sdl2/demo/configure
-libkc3_window/sdl2/demo/earth.c
-libkc3_window/sdl2/demo/earth.h
-libkc3_window/sdl2/demo/flies.c
-libkc3_window/sdl2/demo/flies.h
-libkc3_window/sdl2/demo/lightspeed.c
-libkc3_window/sdl2/demo/lightspeed.h
-libkc3_window/sdl2/demo/macos/Makefile
-libkc3_window/sdl2/demo/macos/configure
-libkc3_window/sdl2/demo/mandelbrot_f128.c
-libkc3_window/sdl2/demo/mandelbrot_f128.h
-libkc3_window/sdl2/demo/matrix.c
-libkc3_window/sdl2/demo/matrix.h
-libkc3_window/sdl2/demo/sources.mk
-libkc3_window/sdl2/demo/sources.sh
-libkc3_window/sdl2/demo/toasters.c
-libkc3_window/sdl2/demo/toasters.h
-libkc3_window/sdl2/demo/update_sources
-libkc3_window/sdl2/demo/window_sdl2_demo.c
-libkc3_window/sdl2/demo/window_sdl2_demo.h
-libkc3_window/sdl2/disabled/mandelbrot.c
-libkc3_window/sdl2/disabled/mandelbrot.h
-libkc3_window/sdl2/disabled/sdl2_font.c
-libkc3_window/sdl2/disabled/sdl2_font.h
-libkc3_window/sdl2/disabled/sdl2_sprite.c
-libkc3_window/sdl2/disabled/sdl2_sprite.h
-libkc3_window/sdl2/dmat3.h
-libkc3_window/sdl2/dmat4.c
-libkc3_window/sdl2/dmat4.h
-libkc3_window/sdl2/dvec2.c
-libkc3_window/sdl2/dvec2.h
-libkc3_window/sdl2/dvec3.c
-libkc3_window/sdl2/dvec3.h
-libkc3_window/sdl2/gl_camera.c
-libkc3_window/sdl2/gl_camera.h
-libkc3_window/sdl2/gl_cylinder.c
-libkc3_window/sdl2/gl_cylinder.h
-libkc3_window/sdl2/gl_deprecated.c
-libkc3_window/sdl2/gl_deprecated.h
-libkc3_window/sdl2/gl_font.c
-libkc3_window/sdl2/gl_font.h
-libkc3_window/sdl2/gl_lines.c
-libkc3_window/sdl2/gl_lines.h
-libkc3_window/sdl2/gl_object.c
-libkc3_window/sdl2/gl_object.h
-libkc3_window/sdl2/gl_ortho.c
-libkc3_window/sdl2/gl_ortho.h
-libkc3_window/sdl2/gl_sphere.c
-libkc3_window/sdl2/gl_sphere.h
-libkc3_window/sdl2/gl_sprite.c
-libkc3_window/sdl2/gl_sprite.h
-libkc3_window/sdl2/gl_square.c
-libkc3_window/sdl2/gl_square.h
-libkc3_window/sdl2/gl_text.c
-libkc3_window/sdl2/gl_text.h
-libkc3_window/sdl2/gl_triangle.c
-libkc3_window/sdl2/gl_triangle.h
-libkc3_window/sdl2/gl_vertex.c
-libkc3_window/sdl2/gl_vertex.h
-libkc3_window/sdl2/gl_vtext.c
-libkc3_window/sdl2/gl_vtext.h
-libkc3_window/sdl2/mat3.h
-libkc3_window/sdl2/mat4.c
-libkc3_window/sdl2/mat4.h
-libkc3_window/sdl2/sources.mk
-libkc3_window/sdl2/sources.sh
-libkc3_window/sdl2/types.h
-libkc3_window/sdl2/update_sources
-libkc3_window/sdl2/vec2.c
-libkc3_window/sdl2/vec2.h
-libkc3_window/sdl2/vec3.c
-libkc3_window/sdl2/vec3.h
-libkc3_window/sdl2/window_sdl2.c
-libkc3_window/sdl2/window_sdl2.h
-libkc3_window/sources.mk
-libkc3_window/sources.sh
-libkc3_window/types.h
-libkc3_window/update_sources
-libkc3_window/window.c
-libkc3_window/window.h
libtommath/LICENSE
libtommath/Makefile
libtommath/README.md
@@ -1080,6 +938,18 @@ linenoise/README.markdown
linenoise/example.c
linenoise/linenoise.c
linenoise/linenoise.h
+socket/Makefile
+socket/configure
+socket/socket.c
+socket/socket.h
+socket/socket_addr.c
+socket/socket_addr.h
+socket/socket_buf.c
+socket/socket_buf.h
+socket/sources.mk
+socket/sources.sh
+socket/types.h
+socket/update_sources
sources.mk
sources.sh
test/Makefile
@@ -1145,6 +1015,12 @@ test/http/04_server_request.ret.expected
test/http/05_response.kc3
test/http/05_response.out.expected
test/http/05_response.ret.expected
+test/http/06_mime_types.kc3
+test/http/06_mime_types.out.expected
+test/http/06_mime_types.ret.expected
+test/http/07_client_server.kc3
+test/http/07_client_server.out.expected
+test/http/07_client_server.ret.expected
test/http_test
test/httpd/.keep
test/ident_test.c
@@ -1202,13 +1078,19 @@ test/ikc3/equal.err.expected
test/ikc3/equal.kc3
test/ikc3/equal.out.expected
test/ikc3/equal.ret.expected
+test/ikc3/facts.kc3
+test/ikc3/facts.out.expected
+test/ikc3/facts.ret.expected
+test/ikc3/facts_with_tags.kc3
+test/ikc3/facts_with_tags.out.expected
+test/ikc3/facts_with_tags.ret.expected
+test/ikc3/facts_with_tuple.kc3
+test/ikc3/facts_with_tuple.out.expected
+test/ikc3/facts_with_tuple.ret.expected
test/ikc3/fn.err.expected
test/ikc3/fn.kc3
test/ikc3/fn.out.expected
test/ikc3/fn.ret.expected
-test/ikc3/function_call.err.expected
-test/ikc3/function_call.out.expected
-test/ikc3/function_call.ret.expected
test/ikc3/gl.kc3
test/ikc3/gl.out.expected
test/ikc3/gl.ret.expected
@@ -1310,6 +1192,9 @@ test/ikc3/sym.err.expected
test/ikc3/sym.kc3
test/ikc3/sym.out.expected
test/ikc3/sym.ret.expected
+test/ikc3/to_lisp.kc3
+test/ikc3/to_lisp.out.expected
+test/ikc3/to_lisp.ret.expected
test/ikc3/tuple.err.expected
test/ikc3/tuple.kc3
test/ikc3/tuple.out.expected
@@ -1332,6 +1217,7 @@ test/skiplist__fact_test.c
test/sources.mk
test/sources.sh
test/str_test.c
+test/struct_test.c
test/sym_test.c
test/tag_test.c
test/tag_test.h
@@ -1412,3 +1298,171 @@ ucd2c/UCD/extracted/DerivedNumericValues.txt
ucd2c/configure
ucd2c/ucd.h
ucd2c/ucd2c.c
+window/Makefile
+window/cairo/Makefile
+window/cairo/cairo_font.c
+window/cairo/cairo_font.h
+window/cairo/cairo_sprite.c
+window/cairo/cairo_sprite.h
+window/cairo/cairo_text.c
+window/cairo/cairo_text.h
+window/cairo/configure
+window/cairo/demo/Makefile
+window/cairo/demo/bg_rect.c
+window/cairo/demo/bg_rect.h
+window/cairo/demo/configure
+window/cairo/demo/flies.c
+window/cairo/demo/flies.h
+window/cairo/demo/lightspeed.c
+window/cairo/demo/lightspeed.h
+window/cairo/demo/mandelbrot_f128.c
+window/cairo/demo/mandelbrot_f128.h
+window/cairo/demo/sources.mk
+window/cairo/demo/sources.sh
+window/cairo/demo/toasters.c
+window/cairo/demo/toasters.h
+window/cairo/demo/update_sources
+window/cairo/demo/window_cairo_demo.c
+window/cairo/demo/window_cairo_demo.h
+window/cairo/quartz/Makefile
+window/cairo/quartz/configure
+window/cairo/quartz/demo/Makefile
+window/cairo/quartz/demo/configure
+window/cairo/quartz/demo/sources.mk
+window/cairo/quartz/demo/sources.sh
+window/cairo/quartz/demo/update_sources
+window/cairo/quartz/demo/window_cairo_quartz_demo.c
+window/cairo/quartz/quartz_to_xkbcommon.c
+window/cairo/quartz/quartz_to_xkbcommon.h
+window/cairo/quartz/sources.mk
+window/cairo/quartz/sources.sh
+window/cairo/quartz/update_sources
+window/cairo/quartz/window_cairo_quartz.h
+window/cairo/quartz/window_cairo_quartz.m
+window/cairo/quartz/window_cairo_quartz_app_delegate.h
+window/cairo/quartz/window_cairo_quartz_app_delegate.m
+window/cairo/quartz/window_cairo_quartz_view.h
+window/cairo/quartz/window_cairo_quartz_view.m
+window/cairo/quartz/window_cairo_quartz_view_controller.h
+window/cairo/quartz/window_cairo_quartz_view_controller.m
+window/cairo/quartz/xkbquartz.h
+window/cairo/sources.mk
+window/cairo/sources.sh
+window/cairo/types.h
+window/cairo/update_sources
+window/cairo/win32/Makefile
+window/cairo/win32/configure
+window/cairo/win32/demo/Makefile
+window/cairo/win32/demo/configure
+window/cairo/win32/demo/sources.mk
+window/cairo/win32/demo/sources.sh
+window/cairo/win32/demo/update_sources
+window/cairo/win32/demo/window_cairo_win32_demo.c
+window/cairo/win32/sources.mk
+window/cairo/win32/sources.sh
+window/cairo/win32/update_sources
+window/cairo/win32/vk_to_xkbcommon.c
+window/cairo/win32/vk_to_xkbcommon.h
+window/cairo/win32/window_cairo_win32.c
+window/cairo/win32/window_cairo_win32.h
+window/cairo/window_cairo.c
+window/cairo/window_cairo.h
+window/cairo/xcb/Makefile
+window/cairo/xcb/configure
+window/cairo/xcb/demo/Makefile
+window/cairo/xcb/demo/configure
+window/cairo/xcb/demo/sources.mk
+window/cairo/xcb/demo/sources.sh
+window/cairo/xcb/demo/update_sources
+window/cairo/xcb/demo/window_cairo_xcb_demo.c
+window/cairo/xcb/sources.mk
+window/cairo/xcb/sources.sh
+window/cairo/xcb/update_sources
+window/cairo/xcb/window_cairo_xcb.c
+window/cairo/xcb/window_cairo_xcb.h
+window/configure
+window/sdl2/Makefile
+window/sdl2/configure
+window/sdl2/demo/Makefile
+window/sdl2/demo/bg_rect.c
+window/sdl2/demo/bg_rect.h
+window/sdl2/demo/configure
+window/sdl2/demo/earth.c
+window/sdl2/demo/earth.h
+window/sdl2/demo/flies.c
+window/sdl2/demo/flies.h
+window/sdl2/demo/lightspeed.c
+window/sdl2/demo/lightspeed.h
+window/sdl2/demo/macos/Makefile
+window/sdl2/demo/macos/configure
+window/sdl2/demo/mandelbrot_f128.c
+window/sdl2/demo/mandelbrot_f128.h
+window/sdl2/demo/matrix.c
+window/sdl2/demo/matrix.h
+window/sdl2/demo/sources.mk
+window/sdl2/demo/sources.sh
+window/sdl2/demo/toasters.c
+window/sdl2/demo/toasters.h
+window/sdl2/demo/update_sources
+window/sdl2/demo/window_sdl2_demo.c
+window/sdl2/demo/window_sdl2_demo.h
+window/sdl2/disabled/mandelbrot.c
+window/sdl2/disabled/mandelbrot.h
+window/sdl2/disabled/sdl2_font.c
+window/sdl2/disabled/sdl2_font.h
+window/sdl2/disabled/sdl2_sprite.c
+window/sdl2/disabled/sdl2_sprite.h
+window/sdl2/dmat3.h
+window/sdl2/dmat4.c
+window/sdl2/dmat4.h
+window/sdl2/dvec2.c
+window/sdl2/dvec2.h
+window/sdl2/dvec3.c
+window/sdl2/dvec3.h
+window/sdl2/gl_camera.c
+window/sdl2/gl_camera.h
+window/sdl2/gl_cylinder.c
+window/sdl2/gl_cylinder.h
+window/sdl2/gl_deprecated.c
+window/sdl2/gl_deprecated.h
+window/sdl2/gl_font.c
+window/sdl2/gl_font.h
+window/sdl2/gl_lines.c
+window/sdl2/gl_lines.h
+window/sdl2/gl_object.c
+window/sdl2/gl_object.h
+window/sdl2/gl_ortho.c
+window/sdl2/gl_ortho.h
+window/sdl2/gl_sphere.c
+window/sdl2/gl_sphere.h
+window/sdl2/gl_sprite.c
+window/sdl2/gl_sprite.h
+window/sdl2/gl_square.c
+window/sdl2/gl_square.h
+window/sdl2/gl_text.c
+window/sdl2/gl_text.h
+window/sdl2/gl_triangle.c
+window/sdl2/gl_triangle.h
+window/sdl2/gl_vertex.c
+window/sdl2/gl_vertex.h
+window/sdl2/gl_vtext.c
+window/sdl2/gl_vtext.h
+window/sdl2/mat3.h
+window/sdl2/mat4.c
+window/sdl2/mat4.h
+window/sdl2/sources.mk
+window/sdl2/sources.sh
+window/sdl2/types.h
+window/sdl2/update_sources
+window/sdl2/vec2.c
+window/sdl2/vec2.h
+window/sdl2/vec3.c
+window/sdl2/vec3.h
+window/sdl2/window_sdl2.c
+window/sdl2/window_sdl2.h
+window/sources.mk
+window/sources.sh
+window/types.h
+window/update_sources
+window/window.c
+window/window.h
diff --git a/lib/kc3/0.1/httpd.kc3 b/lib/kc3/0.1/httpd.kc3
index cb7355f..a254ee1 100644
--- a/lib/kc3/0.1/httpd.kc3
+++ b/lib/kc3/0.1/httpd.kc3
@@ -118,9 +118,10 @@ defmodule HTTPd do
slash = if Str.ends_with?(request.url, "/") do "" else "/" end
real_path = "#{root_dir}#{request.url}#{slash}#{file}"
dir? = File.is_directory?(real_path)
- path = "#{request.url}#{slash}#{file}"
+ dir_slash = if dir? do "/" else "" end
+ path = "#{request.url}#{slash}#{file}#{dir_slash}"
mode = if dir? do "dr-xr-xr-x" else "-r--r--r--" end
- "<li>#{mode} <a href=\"#{path}\">#{path}</a></li>"
+ "<li>#{mode} <a href=\"#{path}\">#{file}#{dir_slash}</a></li>\n"
}
body = """<html>
<head>
diff --git a/libkc3/buf_parse.c b/libkc3/buf_parse.c
index 1d69eb3..ee92ab4 100644
--- a/libkc3/buf_parse.c
+++ b/libkc3/buf_parse.c
@@ -1774,6 +1774,8 @@ sw buf_parse_fn_clause (s_buf *buf, s_fn_clause *dest)
fn_clause_init(&tmp, NULL);
if ((r = buf_parse_fn_pattern(buf, &tmp.pattern)) <= 0) {
err_puts("buf_parse_fn_clause: invalid pattern");
+ err_inspect_buf(buf);
+ err_write_1("\n");
goto clean;
}
result += r;
@@ -1782,9 +1784,9 @@ sw buf_parse_fn_clause (s_buf *buf, s_fn_clause *dest)
goto clean;
result += r;
if ((r = buf_parse_block(buf, &tmp.algo)) <= 0) {
- err_inspect_fn_clause(&tmp);
+ err_puts("buf_parse_fn_clause: invalid program");
+ err_inspect_buf(buf);
err_write_1("\n");
- err_puts("buf_parse_fn: invalid program");
goto clean;
}
result += r;
@@ -4207,7 +4209,8 @@ sw buf_parse_tag_primary_4 (s_buf *buf, s_tag *dest)
goto end;
goto restore;
default:
- if ((r = buf_parse_tag_call(buf, dest)) ||
+ if ((r = buf_parse_tag_fn(buf, dest)) ||
+ (r = buf_parse_tag_call(buf, dest)) ||
(r = buf_parse_tag_ident(buf, dest)) ||
(r = buf_parse_tag_sym(buf, dest)))
goto end;
diff --git a/libkc3/str.c b/libkc3/str.c
index 366d05b..87bdd1b 100644
--- a/libkc3/str.c
+++ b/libkc3/str.c
@@ -386,6 +386,8 @@ s_str * str_init_cast (s_str *str, const s_sym * const *type,
return str_init_uw(str, tag->data.uw);
case TAG_VAR:
return str_init_var(str, &tag->data.var);
+ case TAG_VOID:
+ return str_init_empty(str);
default:
break;
}
diff --git a/sources.mk b/sources.mk
index 9f151b3..7ac788c 100644
--- a/sources.mk
+++ b/sources.mk
@@ -884,40 +884,33 @@ KC3_FONT_SOURCES = \
"fonts/Noto Sans/NotoSans_SemiCondensed-ThinItalic.ttf" \
KC3_IMG_SOURCES = \
- "img/c3.1.xcf" \
- "img/c3.1080.jpg" \
- "img/c3.1080.png" \
- "img/c3.128.jpg" \
- "img/c3.128.png" \
- "img/c3.16.png" \
- "img/c3.256.jpg" \
- "img/c3.256.png" \
- "img/c3.32.jpg" \
- "img/c3.32.png" \
- "img/c3.48.jpg" \
- "img/c3.48.png" \
- "img/c3.512.jpg" \
- "img/c3.512.png" \
- "img/c3.64.jpg" \
- "img/c3.64.png" \
- "img/c3.640.jpg" \
- "img/c3.640.png" \
- "img/c3.720.jpg" \
- "img/c3.720.png" \
- "img/c3.iconset/icon_128x128.png" \
- "img/c3.iconset/icon_16x16.png" \
- "img/c3.iconset/icon_256x256.png" \
- "img/c3.iconset/icon_32x32.png" \
- "img/c3.iconset/icon_512x512.png" \
- "img/c3.iconset/icon_64x64.png" \
- "img/c3.xcf" \
"img/earth.jpg" \
"img/earth.png" \
"img/flaps.256.png" \
"img/flaps.png" \
"img/fly-dead.png" \
"img/fly-noto.png" \
- "img/iris-c3-004.jpeg" \
+ "img/iris-kc3-004.jpeg" \
+ "img/kc3.1.xcf" \
+ "img/kc3.128.jpg" \
+ "img/kc3.128.png" \
+ "img/kc3.16.jpg" \
+ "img/kc3.16.png" \
+ "img/kc3.256.jpg" \
+ "img/kc3.256.png" \
+ "img/kc3.32.jpg" \
+ "img/kc3.32.png" \
+ "img/kc3.512.jpg" \
+ "img/kc3.512.png" \
+ "img/kc3.64.jpg" \
+ "img/kc3.64.png" \
+ "img/kc3.iconset/icon_128x128.png" \
+ "img/kc3.iconset/icon_16x16.png" \
+ "img/kc3.iconset/icon_256x256.png" \
+ "img/kc3.iconset/icon_32x32.png" \
+ "img/kc3.iconset/icon_512x512.png" \
+ "img/kc3.iconset/icon_64x64.png" \
+ "img/kc3.xcf" \
"img/mandelbrot_f128_limit.1.png" \
"img/mandelbrot_f128_limit.2.png" \
"img/mandelbrot_f128_limit.3.png" \
@@ -1186,6 +1179,9 @@ KC3_TEST_IKC3_SOURCES = \
"test/ikc3/sym.kc3" \
"test/ikc3/sym.out.expected" \
"test/ikc3/sym.ret.expected" \
+ "test/ikc3/to_lisp.kc3" \
+ "test/ikc3/to_lisp.out.expected" \
+ "test/ikc3/to_lisp.ret.expected" \
"test/ikc3/tuple.err.expected" \
"test/ikc3/tuple.kc3" \
"test/ikc3/tuple.out.expected" \
diff --git a/sources.sh b/sources.sh
index 056fb77..2a815b3 100644
--- a/sources.sh
+++ b/sources.sh
@@ -3,11 +3,11 @@ KC3_CONFIGURES='ekc3/configure ekc3/sources.sh ekc3/update_sources event/configu
KC3_MAKEFILES='ekc3/Makefile ekc3/sources.mk event/Makefile event/sources.mk http/Makefile http/sources.mk httpd/Makefile httpd/sources.mk ikc3/Makefile ikc3/sources.mk json/Makefile json/sources.mk kc3c/Makefile kc3s/Makefile kc3s/sources.mk libkc3/Makefile libkc3/gen.mk libkc3/sources.mk libtommath/Makefile libtommath/sources.mk socket/Makefile socket/sources.mk test/Makefile test/sources.mk ucd2c/Makefile window/Makefile window/cairo/Makefile window/cairo/demo/Makefile window/cairo/demo/sources.mk window/cairo/quartz/Makefile window/cairo/quartz/demo/Makefile window/cairo/quartz/demo/sources.mk window/cairo/quartz/sources.mk window/cairo/sources.mk window/cairo/win32/Makefile window/cairo/win32/demo/Makefile window/cairo/win32/demo/sources.mk window/cairo/win32/sources.mk window/cairo/xcb/Makefile window/cairo/xcb/demo/Makefile window/cairo/xcb/demo/sources.mk window/cairo/xcb/sources.mk window/sdl2/Makefile window/sdl2/demo/Makefile window/sdl2/demo/macos/Makefile window/sdl2/demo/sources.mk window/sdl2/sources.mk window/sources.mk '
KC3_C_SOURCES='ekc3/ekc3.c ekc3/ekc3.h ekc3/html.c ekc3/html.h ekc3/types.h event/event.c event/event.h http/http.c http/http.h http/http_request.c http/http_request.h http/http_response.c http/http_response.h http/mime_type.c http/mime_type.h http/types.h httpd/httpd.c httpd/httpd.h ikc3/buf_linenoise.c ikc3/buf_linenoise.h ikc3/buf_wineditline.c ikc3/buf_wineditline.h ikc3/ikc3.c ikc3/linenoise.c json/json.c json/json.h kc3c/c3c.c kc3s/buf_readline.c kc3s/buf_readline.h kc3s/kc3s.c libkc3/abs.c libkc3/abs.h libkc3/alist.c libkc3/alist.h libkc3/alloc.c libkc3/alloc.h libkc3/arg.c libkc3/arg.h libkc3/array.c libkc3/array.h libkc3/assert.h libkc3/binding.c libkc3/binding.h libkc3/block.c libkc3/block.h libkc3/bool.c libkc3/bool.h libkc3/buf.c libkc3/buf.h libkc3/buf_fd.c libkc3/buf_fd.h libkc3/buf_file.c libkc3/buf_file.h libkc3/buf_getc.c libkc3/buf_getc.h libkc3/buf_getchar.c libkc3/buf_getchar.h libkc3/buf_inspect.c libkc3/buf_inspect.h libkc3/buf_inspect_s.c.in libkc3/buf_inspect_s.h.in libkc3/buf_inspect_s16.c libkc3/buf_inspect_s16.h libkc3/buf_inspect_s16_binary.c libkc3/buf_inspect_s16_binary.h libkc3/buf_inspect_s16_decimal.c libkc3/buf_inspect_s16_decimal.h libkc3/buf_inspect_s16_hexadecimal.c libkc3/buf_inspect_s16_hexadecimal.h libkc3/buf_inspect_s16_octal.c libkc3/buf_inspect_s16_octal.h libkc3/buf_inspect_s32.c libkc3/buf_inspect_s32.h libkc3/buf_inspect_s32_binary.c libkc3/buf_inspect_s32_binary.h libkc3/buf_inspect_s32_decimal.c libkc3/buf_inspect_s32_decimal.h libkc3/buf_inspect_s32_hexadecimal.c libkc3/buf_inspect_s32_hexadecimal.h libkc3/buf_inspect_s32_octal.c libkc3/buf_inspect_s32_octal.h libkc3/buf_inspect_s64.c libkc3/buf_inspect_s64.h libkc3/buf_inspect_s64_binary.c libkc3/buf_inspect_s64_binary.h libkc3/buf_inspect_s64_decimal.c libkc3/buf_inspect_s64_decimal.h libkc3/buf_inspect_s64_hexadecimal.c libkc3/buf_inspect_s64_hexadecimal.h libkc3/buf_inspect_s64_octal.c libkc3/buf_inspect_s64_octal.h libkc3/buf_inspect_s8.c libkc3/buf_inspect_s8.h libkc3/buf_inspect_s8_binary.c libkc3/buf_inspect_s8_binary.h libkc3/buf_inspect_s8_decimal.c libkc3/buf_inspect_s8_decimal.h libkc3/buf_inspect_s8_hexadecimal.c libkc3/buf_inspect_s8_hexadecimal.h libkc3/buf_inspect_s8_octal.c libkc3/buf_inspect_s8_octal.h libkc3/buf_inspect_s_base.c.in libkc3/buf_inspect_s_base.h.in libkc3/buf_inspect_sw.c libkc3/buf_inspect_sw.h libkc3/buf_inspect_sw_binary.c libkc3/buf_inspect_sw_binary.h libkc3/buf_inspect_sw_decimal.c libkc3/buf_inspect_sw_decimal.h libkc3/buf_inspect_sw_hexadecimal.c libkc3/buf_inspect_sw_hexadecimal.h libkc3/buf_inspect_sw_octal.c libkc3/buf_inspect_sw_octal.h libkc3/buf_inspect_u.c.in libkc3/buf_inspect_u.h.in libkc3/buf_inspect_u16.c libkc3/buf_inspect_u16.h libkc3/buf_inspect_u16_binary.c libkc3/buf_inspect_u16_binary.h libkc3/buf_inspect_u16_decimal.c libkc3/buf_inspect_u16_decimal.h libkc3/buf_inspect_u16_hexadecimal.c libkc3/buf_inspect_u16_hexadecimal.h libkc3/buf_inspect_u16_octal.c libkc3/buf_inspect_u16_octal.h libkc3/buf_inspect_u32.c libkc3/buf_inspect_u32.h libkc3/buf_inspect_u32_binary.c libkc3/buf_inspect_u32_binary.h libkc3/buf_inspect_u32_decimal.c libkc3/buf_inspect_u32_decimal.h libkc3/buf_inspect_u32_hexadecimal.c libkc3/buf_inspect_u32_hexadecimal.h libkc3/buf_inspect_u32_octal.c libkc3/buf_inspect_u32_octal.h libkc3/buf_inspect_u64.c libkc3/buf_inspect_u64.h libkc3/buf_inspect_u64_binary.c libkc3/buf_inspect_u64_binary.h libkc3/buf_inspect_u64_decimal.c libkc3/buf_inspect_u64_decimal.h libkc3/buf_inspect_u64_hexadecimal.c libkc3/buf_inspect_u64_hexadecimal.h libkc3/buf_inspect_u64_octal.c libkc3/buf_inspect_u64_octal.h libkc3/buf_inspect_u8.c libkc3/buf_inspect_u8.h libkc3/buf_inspect_u8_binary.c libkc3/buf_inspect_u8_binary.h libkc3/buf_inspect_u8_decimal.c libkc3/buf_inspect_u8_decimal.h libkc3/buf_inspect_u8_hexadecimal.c libkc3/buf_inspect_u8_hexadecimal.h libkc3/buf_inspect_u8_octal.c libkc3/buf_inspect_u8_octal.h libkc3/buf_inspect_u_base.c.in libkc3/buf_inspect_u_base.h.in libkc3/buf_inspect_uw.c libkc3/buf_inspect_uw.h libkc3/buf_inspect_uw_binary.c libkc3/buf_inspect_uw_binary.h libkc3/buf_inspect_uw_decimal.c libkc3/buf_inspect_uw_decimal.h libkc3/buf_inspect_uw_hexadecimal.c libkc3/buf_inspect_uw_hexadecimal.h libkc3/buf_inspect_uw_octal.c libkc3/buf_inspect_uw_octal.h libkc3/buf_parse.c libkc3/buf_parse.h libkc3/buf_parse_s.c.in libkc3/buf_parse_s.h.in libkc3/buf_parse_s16.c libkc3/buf_parse_s16.h libkc3/buf_parse_s32.c libkc3/buf_parse_s32.h libkc3/buf_parse_s64.c libkc3/buf_parse_s64.h libkc3/buf_parse_s8.c libkc3/buf_parse_s8.h libkc3/buf_parse_sw.c libkc3/buf_parse_sw.h libkc3/buf_parse_u.c.in libkc3/buf_parse_u.h.in libkc3/buf_parse_u16.c libkc3/buf_parse_u16.h libkc3/buf_parse_u32.c libkc3/buf_parse_u32.h libkc3/buf_parse_u64.c libkc3/buf_parse_u64.h libkc3/buf_parse_u8.c libkc3/buf_parse_u8.h libkc3/buf_parse_uw.c libkc3/buf_parse_uw.h libkc3/buf_rw.c libkc3/buf_rw.h libkc3/buf_save.c libkc3/buf_save.h libkc3/call.c libkc3/call.h libkc3/cast.c libkc3/cast.h libkc3/ceiling.c libkc3/ceiling.h libkc3/cfn.c libkc3/cfn.h libkc3/character.c libkc3/character.h libkc3/compare.c libkc3/compare.h libkc3/complex.c libkc3/complex.h libkc3/cow.c libkc3/cow.h libkc3/data.c libkc3/data.h libkc3/env.c libkc3/env.h libkc3/error.c libkc3/error.h libkc3/error_handler.c libkc3/error_handler.h libkc3/eval.c libkc3/eval.h libkc3/f128.c libkc3/f128.h libkc3/f32.c libkc3/f32.h libkc3/f64.c libkc3/f64.h libkc3/fact.c libkc3/fact.h libkc3/fact_action.c libkc3/fact_action.h libkc3/fact_list.c libkc3/fact_list.h libkc3/facts.c libkc3/facts.h libkc3/facts_cursor.c libkc3/facts_cursor.h libkc3/facts_spec.c libkc3/facts_spec.h libkc3/facts_spec_cursor.c libkc3/facts_spec_cursor.h libkc3/facts_transaction.c libkc3/facts_transaction.h libkc3/facts_with.c libkc3/facts_with.h libkc3/facts_with_cursor.c libkc3/facts_with_cursor.h libkc3/fd.c libkc3/fd.h libkc3/file.c libkc3/file.h libkc3/float.h libkc3/fn.c libkc3/fn.h libkc3/fn_clause.c libkc3/fn_clause.h libkc3/frame.c libkc3/frame.h libkc3/hash.c libkc3/hash.h libkc3/ident.c libkc3/ident.h libkc3/inspect.c libkc3/inspect.h libkc3/integer.c libkc3/integer.h libkc3/io.c libkc3/io.h libkc3/kc3.c libkc3/kc3.h libkc3/kc3_main.h libkc3/license.c libkc3/list.c libkc3/list.h libkc3/list_init.c libkc3/list_init.h libkc3/log.c libkc3/log.h libkc3/map.c libkc3/map.h libkc3/module.c libkc3/module.h libkc3/operator.c libkc3/operator.h libkc3/pcomplex.c libkc3/pcomplex.h libkc3/pcow.c libkc3/pcow.h libkc3/pretty.c libkc3/pretty.h libkc3/ptag.c libkc3/ptag.h libkc3/ptr.c libkc3/ptr.h libkc3/ptr_free.c libkc3/ptr_free.h libkc3/queue.c libkc3/queue.h libkc3/quote.c libkc3/quote.h libkc3/ratio.c libkc3/ratio.h libkc3/s.c.in libkc3/s.h.in libkc3/s16.c libkc3/s16.h libkc3/s32.c libkc3/s32.h libkc3/s64.c libkc3/s64.h libkc3/s8.c libkc3/s8.h libkc3/sequence.c libkc3/sequence.h libkc3/set.c.in libkc3/set.h.in libkc3/set__fact.c libkc3/set__fact.h libkc3/set__tag.c libkc3/set__tag.h libkc3/set_cursor.c.in libkc3/set_cursor.h.in libkc3/set_cursor__fact.c libkc3/set_cursor__fact.h libkc3/set_cursor__tag.c libkc3/set_cursor__tag.h libkc3/set_item.c.in libkc3/set_item.h.in libkc3/set_item__fact.c libkc3/set_item__fact.h libkc3/set_item__tag.c libkc3/set_item__tag.h libkc3/sha1.h libkc3/sign.c libkc3/sign.h libkc3/skiplist.c.in libkc3/skiplist.h.in libkc3/skiplist__fact.c libkc3/skiplist__fact.h libkc3/skiplist_node.c.in libkc3/skiplist_node.h.in libkc3/skiplist_node__fact.c libkc3/skiplist_node__fact.h libkc3/special_operator.c libkc3/special_operator.h libkc3/str.c libkc3/str.h libkc3/struct.c libkc3/struct.h libkc3/struct_type.c libkc3/struct_type.h libkc3/sw.c libkc3/sw.h libkc3/sym.c libkc3/sym.h libkc3/tag.c libkc3/tag.h libkc3/tag_add.c libkc3/tag_addi.c libkc3/tag_band.c libkc3/tag_bnot.c libkc3/tag_bor.c libkc3/tag_bxor.c libkc3/tag_div.c libkc3/tag_init.c libkc3/tag_init.h libkc3/tag_mod.c libkc3/tag_mul.c libkc3/tag_neg.c libkc3/tag_shift_left.c libkc3/tag_shift_right.c libkc3/tag_sqrt.c libkc3/tag_sub.c libkc3/tag_type.c libkc3/tag_type.h libkc3/time.c libkc3/time.h libkc3/to_lisp.c libkc3/to_lisp.h libkc3/tuple.c libkc3/tuple.h libkc3/types.h libkc3/u.c.in libkc3/u.h.in libkc3/u16.c libkc3/u16.h libkc3/u32.c libkc3/u32.h libkc3/u64.c libkc3/u64.h libkc3/u8.c libkc3/u8.h libkc3/ucd.c libkc3/ucd.h libkc3/unquote.c libkc3/unquote.h libkc3/uw.c libkc3/uw.h libkc3/var.c libkc3/var.h libkc3/void.c libkc3/void.h socket/socket.c socket/socket.h socket/socket_addr.c socket/socket_addr.h socket/socket_buf.c socket/socket_buf.h socket/types.h test/array_test.c test/bool_test.c test/buf_file_test.c test/buf_inspect_test.c test/buf_parse_test.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_parse_test_u64.c test/buf_parse_test_u8.c test/buf_test.c test/call_test.c test/cfn_test.c test/character_test.c test/compare_test.c test/compare_test.h test/env_test.c test/fact_test.c test/fact_test.h test/facts_cursor_test.c test/facts_test.c test/facts_with_test.c test/fn_test.c test/hash_test.c test/ident_test.c test/inspect_test.c test/libkc3_test.c test/list_test.c test/ratio_test.c test/set__fact_test.c test/set__tag_test.c test/skiplist__fact_test.c test/str_test.c test/struct_test.c test/sym_test.c test/tag_test.c test/tag_test.h test/test.c test/test.h test/tuple_test.c test/types_test.c ucd2c/ucd.h ucd2c/ucd2c.c window/cairo/cairo_font.c window/cairo/cairo_font.h window/cairo/cairo_sprite.c window/cairo/cairo_sprite.h window/cairo/cairo_text.c window/cairo/cairo_text.h window/cairo/demo/bg_rect.c window/cairo/demo/bg_rect.h window/cairo/demo/flies.c window/cairo/demo/flies.h window/cairo/demo/lightspeed.c window/cairo/demo/lightspeed.h window/cairo/demo/mandelbrot_f128.c window/cairo/demo/mandelbrot_f128.h window/cairo/demo/toasters.c window/cairo/demo/toasters.h window/cairo/demo/window_cairo_demo.c window/cairo/demo/window_cairo_demo.h window/cairo/quartz/demo/window_cairo_quartz_demo.c window/cairo/quartz/quartz_to_xkbcommon.c window/cairo/quartz/quartz_to_xkbcommon.h window/cairo/quartz/window_cairo_quartz.h window/cairo/quartz/window_cairo_quartz_app_delegate.h window/cairo/quartz/window_cairo_quartz_view.h window/cairo/quartz/window_cairo_quartz_view_controller.h window/cairo/quartz/xkbquartz.h window/cairo/types.h window/cairo/win32/demo/window_cairo_win32_demo.c window/cairo/win32/vk_to_xkbcommon.c window/cairo/win32/vk_to_xkbcommon.h window/cairo/win32/window_cairo_win32.c window/cairo/win32/window_cairo_win32.h window/cairo/window_cairo.c window/cairo/window_cairo.h window/cairo/xcb/demo/window_cairo_xcb_demo.c window/cairo/xcb/window_cairo_xcb.c window/cairo/xcb/window_cairo_xcb.h window/sdl2/demo/bg_rect.c window/sdl2/demo/bg_rect.h window/sdl2/demo/earth.c window/sdl2/demo/earth.h window/sdl2/demo/flies.c window/sdl2/demo/flies.h window/sdl2/demo/lightspeed.c window/sdl2/demo/lightspeed.h window/sdl2/demo/mandelbrot_f128.c window/sdl2/demo/mandelbrot_f128.h window/sdl2/demo/matrix.c window/sdl2/demo/matrix.h window/sdl2/demo/toasters.c window/sdl2/demo/toasters.h window/sdl2/demo/window_sdl2_demo.c window/sdl2/demo/window_sdl2_demo.h window/sdl2/disabled/mandelbrot.c window/sdl2/disabled/mandelbrot.h window/sdl2/disabled/sdl2_font.c window/sdl2/disabled/sdl2_font.h window/sdl2/disabled/sdl2_sprite.c window/sdl2/disabled/sdl2_sprite.h window/sdl2/dmat3.h window/sdl2/dmat4.c window/sdl2/dmat4.h window/sdl2/dvec2.c window/sdl2/dvec2.h window/sdl2/dvec3.c window/sdl2/dvec3.h window/sdl2/gl_camera.c window/sdl2/gl_camera.h window/sdl2/gl_cylinder.c window/sdl2/gl_cylinder.h window/sdl2/gl_deprecated.c window/sdl2/gl_deprecated.h window/sdl2/gl_font.c window/sdl2/gl_font.h window/sdl2/gl_lines.c window/sdl2/gl_lines.h window/sdl2/gl_object.c window/sdl2/gl_object.h window/sdl2/gl_ortho.c window/sdl2/gl_ortho.h window/sdl2/gl_sphere.c window/sdl2/gl_sphere.h window/sdl2/gl_sprite.c window/sdl2/gl_sprite.h window/sdl2/gl_square.c window/sdl2/gl_square.h window/sdl2/gl_text.c window/sdl2/gl_text.h window/sdl2/gl_triangle.c window/sdl2/gl_triangle.h window/sdl2/gl_vertex.c window/sdl2/gl_vertex.h window/sdl2/gl_vtext.c window/sdl2/gl_vtext.h window/sdl2/mat3.h window/sdl2/mat4.c window/sdl2/mat4.h window/sdl2/types.h window/sdl2/vec2.c window/sdl2/vec2.h window/sdl2/vec3.c window/sdl2/vec3.h window/sdl2/window_sdl2.c window/sdl2/window_sdl2.h window/types.h window/window.c window/window.h '
KC3_FONT_SOURCES='fonts/Computer Modern/cmunbl-webfont.ttf fonts/Computer Modern/cmunbl.otf fonts/Computer Modern/cmunbx-webfont.ttf fonts/Computer Modern/cmunbx.otf fonts/Computer Modern/cmunbxo-webfont.ttf fonts/Computer Modern/cmunbxo.otf fonts/Computer Modern/cmunrm-webfont.ttf fonts/Computer Modern/cmunrm.otf fonts/Computer Modern/cmunsi-webfont.ttf fonts/Computer Modern/cmunsi.otf fonts/Computer Modern/cmunsl-webfont.ttf fonts/Computer Modern/cmunsl.otf fonts/Computer Modern/cmunss-webfont.ttf fonts/Computer Modern/cmunss.otf fonts/Computer Modern/cmunsx-webfont.ttf fonts/Computer Modern/cmunsx.otf fonts/Courier New/Courier New.ttf fonts/Courier/fonts/OGCourier-Bold.otf fonts/Courier/fonts/OGCourier-Bold.ttf fonts/Courier/fonts/OGCourier-BoldItalic.otf fonts/Courier/fonts/OGCourier-BoldItalic.ttf fonts/Courier/fonts/OGCourier-Italic.otf fonts/Courier/fonts/OGCourier-Italic.ttf fonts/Courier/fonts/OGCourier.otf fonts/Courier/fonts/OGCourier.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Bold.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Bold.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-BoldItalic.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-BoldItalic.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Italic.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot-Italic.ttf fonts/Courier/fonts/zero-dot/OGCourierZeroDot.otf fonts/Courier/fonts/zero-dot/OGCourierZeroDot.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Bold.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Bold.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-BoldItalic.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-BoldItalic.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Italic.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash-Italic.ttf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash.otf fonts/Courier/fonts/zero-slash/OGCourierZeroSlash.ttf fonts/Courier/sfd/OGCourier-Bold.sfd.ttf fonts/Courier/sfd/OGCourier-BoldItalic.sfd.ttf fonts/Courier/sfd/OGCourier-Italic.sfd.ttf fonts/Courier/sfd/OGCourier.sfd.ttf fonts/Inter/InterVariable-Italic.ttf fonts/Inter/InterVariable.ttf fonts/Inter/extras/otf/Inter-Black.otf fonts/Inter/extras/otf/Inter-BlackItalic.otf fonts/Inter/extras/otf/Inter-Bold.otf fonts/Inter/extras/otf/Inter-BoldItalic.otf fonts/Inter/extras/otf/Inter-ExtraBold.otf fonts/Inter/extras/otf/Inter-ExtraBoldItalic.otf fonts/Inter/extras/otf/Inter-ExtraLight.otf fonts/Inter/extras/otf/Inter-ExtraLightItalic.otf fonts/Inter/extras/otf/Inter-Italic.otf fonts/Inter/extras/otf/Inter-Light.otf fonts/Inter/extras/otf/Inter-LightItalic.otf fonts/Inter/extras/otf/Inter-Medium.otf fonts/Inter/extras/otf/Inter-MediumItalic.otf fonts/Inter/extras/otf/Inter-Regular.otf fonts/Inter/extras/otf/Inter-SemiBold.otf fonts/Inter/extras/otf/Inter-SemiBoldItalic.otf fonts/Inter/extras/otf/Inter-Thin.otf fonts/Inter/extras/otf/Inter-ThinItalic.otf fonts/Inter/extras/otf/InterDisplay-Black.otf fonts/Inter/extras/otf/InterDisplay-BlackItalic.otf fonts/Inter/extras/otf/InterDisplay-Bold.otf fonts/Inter/extras/otf/InterDisplay-BoldItalic.otf fonts/Inter/extras/otf/InterDisplay-ExtraBold.otf fonts/Inter/extras/otf/InterDisplay-ExtraBoldItalic.otf fonts/Inter/extras/otf/InterDisplay-ExtraLight.otf fonts/Inter/extras/otf/InterDisplay-ExtraLightItalic.otf fonts/Inter/extras/otf/InterDisplay-Italic.otf fonts/Inter/extras/otf/InterDisplay-Light.otf fonts/Inter/extras/otf/InterDisplay-LightItalic.otf fonts/Inter/extras/otf/InterDisplay-Medium.otf fonts/Inter/extras/otf/InterDisplay-MediumItalic.otf fonts/Inter/extras/otf/InterDisplay-Regular.otf fonts/Inter/extras/otf/InterDisplay-SemiBold.otf fonts/Inter/extras/otf/InterDisplay-SemiBoldItalic.otf fonts/Inter/extras/otf/InterDisplay-Thin.otf fonts/Inter/extras/otf/InterDisplay-ThinItalic.otf fonts/Inter/extras/ttf/Inter-Black.ttf fonts/Inter/extras/ttf/Inter-BlackItalic.ttf fonts/Inter/extras/ttf/Inter-Bold.ttf fonts/Inter/extras/ttf/Inter-BoldItalic.ttf fonts/Inter/extras/ttf/Inter-ExtraBold.ttf fonts/Inter/extras/ttf/Inter-ExtraBoldItalic.ttf fonts/Inter/extras/ttf/Inter-ExtraLight.ttf fonts/Inter/extras/ttf/Inter-ExtraLightItalic.ttf fonts/Inter/extras/ttf/Inter-Italic.ttf fonts/Inter/extras/ttf/Inter-Light.ttf fonts/Inter/extras/ttf/Inter-LightItalic.ttf fonts/Inter/extras/ttf/Inter-Medium.ttf fonts/Inter/extras/ttf/Inter-MediumItalic.ttf fonts/Inter/extras/ttf/Inter-Regular.ttf fonts/Inter/extras/ttf/Inter-SemiBold.ttf fonts/Inter/extras/ttf/Inter-SemiBoldItalic.ttf fonts/Inter/extras/ttf/Inter-Thin.ttf fonts/Inter/extras/ttf/Inter-ThinItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Black.ttf fonts/Inter/extras/ttf/InterDisplay-BlackItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Bold.ttf fonts/Inter/extras/ttf/InterDisplay-BoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraBold.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraBoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraLight.ttf fonts/Inter/extras/ttf/InterDisplay-ExtraLightItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Italic.ttf fonts/Inter/extras/ttf/InterDisplay-Light.ttf fonts/Inter/extras/ttf/InterDisplay-LightItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Medium.ttf fonts/Inter/extras/ttf/InterDisplay-MediumItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Regular.ttf fonts/Inter/extras/ttf/InterDisplay-SemiBold.ttf fonts/Inter/extras/ttf/InterDisplay-SemiBoldItalic.ttf fonts/Inter/extras/ttf/InterDisplay-Thin.ttf fonts/Inter/extras/ttf/InterDisplay-ThinItalic.ttf fonts/Noto Sans/NotoSans-Black.ttf fonts/Noto Sans/NotoSans-BlackItalic.ttf fonts/Noto Sans/NotoSans-Bold.ttf fonts/Noto Sans/NotoSans-BoldItalic.ttf fonts/Noto Sans/NotoSans-ExtraBold.ttf fonts/Noto Sans/NotoSans-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans-ExtraLight.ttf fonts/Noto Sans/NotoSans-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans-Italic-VariableFont_wdth,wght.ttf fonts/Noto Sans/NotoSans-Italic.ttf fonts/Noto Sans/NotoSans-Light.ttf fonts/Noto Sans/NotoSans-LightItalic.ttf fonts/Noto Sans/NotoSans-Medium.ttf fonts/Noto Sans/NotoSans-MediumItalic.ttf fonts/Noto Sans/NotoSans-Regular.ttf fonts/Noto Sans/NotoSans-SemiBold.ttf fonts/Noto Sans/NotoSans-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans-Thin.ttf fonts/Noto Sans/NotoSans-ThinItalic.ttf fonts/Noto Sans/NotoSans-VariableFont_wdth,wght.ttf fonts/Noto Sans/NotoSans_Condensed-Black.ttf fonts/Noto Sans/NotoSans_Condensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Bold.ttf fonts/Noto Sans/NotoSans_Condensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_Condensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Italic.ttf fonts/Noto Sans/NotoSans_Condensed-Light.ttf fonts/Noto Sans/NotoSans_Condensed-LightItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Medium.ttf fonts/Noto Sans/NotoSans_Condensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Regular.ttf fonts/Noto Sans/NotoSans_Condensed-SemiBold.ttf fonts/Noto Sans/NotoSans_Condensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_Condensed-Thin.ttf fonts/Noto Sans/NotoSans_Condensed-ThinItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Black.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Bold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Italic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Light.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-LightItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Medium.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Regular.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-SemiBold.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-Thin.ttf fonts/Noto Sans/NotoSans_ExtraCondensed-ThinItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Black.ttf fonts/Noto Sans/NotoSans_SemiCondensed-BlackItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Bold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-BoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraBold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraBoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraLight.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ExtraLightItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Italic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Light.ttf fonts/Noto Sans/NotoSans_SemiCondensed-LightItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Medium.ttf fonts/Noto Sans/NotoSans_SemiCondensed-MediumItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Regular.ttf fonts/Noto Sans/NotoSans_SemiCondensed-SemiBold.ttf fonts/Noto Sans/NotoSans_SemiCondensed-SemiBoldItalic.ttf fonts/Noto Sans/NotoSans_SemiCondensed-Thin.ttf fonts/Noto Sans/NotoSans_SemiCondensed-ThinItalic.ttf '
-KC3_IMG_SOURCES='img/c3.1.xcf img/c3.1080.jpg img/c3.1080.png img/c3.128.jpg img/c3.128.png img/c3.16.png img/c3.256.jpg img/c3.256.png img/c3.32.jpg img/c3.32.png img/c3.48.jpg img/c3.48.png img/c3.512.jpg img/c3.512.png img/c3.64.jpg img/c3.64.png img/c3.640.jpg img/c3.640.png img/c3.720.jpg img/c3.720.png img/c3.iconset/icon_128x128.png img/c3.iconset/icon_16x16.png img/c3.iconset/icon_256x256.png img/c3.iconset/icon_32x32.png img/c3.iconset/icon_512x512.png img/c3.iconset/icon_64x64.png img/c3.xcf img/earth.jpg img/earth.png img/flaps.256.png img/flaps.png img/fly-dead.png img/fly-noto.png img/iris-c3-004.jpeg img/mandelbrot_f128_limit.1.png img/mandelbrot_f128_limit.2.png img/mandelbrot_f128_limit.3.png img/mandelbrot_f128_limit.png img/matrix_shade.png img/thodg_No_Prompt_073261d5-2c81-4b6e-9572-e0b840c55f1f.jpeg img/toast.128.png img/toast.png '
+KC3_IMG_SOURCES='img/earth.jpg img/earth.png img/flaps.256.png img/flaps.png img/fly-dead.png img/fly-noto.png img/iris-kc3-004.jpeg img/kc3.1.xcf img/kc3.128.jpg img/kc3.128.png img/kc3.16.jpg img/kc3.16.png img/kc3.256.jpg img/kc3.256.png img/kc3.32.jpg img/kc3.32.png img/kc3.512.jpg img/kc3.512.png img/kc3.64.jpg img/kc3.64.png img/kc3.iconset/icon_128x128.png img/kc3.iconset/icon_16x16.png img/kc3.iconset/icon_256x256.png img/kc3.iconset/icon_32x32.png img/kc3.iconset/icon_512x512.png img/kc3.iconset/icon_64x64.png img/kc3.xcf img/mandelbrot_f128_limit.1.png img/mandelbrot_f128_limit.2.png img/mandelbrot_f128_limit.3.png img/mandelbrot_f128_limit.png img/matrix_shade.png img/thodg_No_Prompt_073261d5-2c81-4b6e-9572-e0b840c55f1f.jpeg img/toast.128.png img/toast.png '
KC3_LIB_SOURCES='lib/kc3/0.1/array.kc3 lib/kc3/0.1/bool.facts lib/kc3/0.1/buf.kc3 lib/kc3/0.1/buf_rw.kc3 lib/kc3/0.1/complex.facts lib/kc3/0.1/cow.kc3 lib/kc3/0.1/ekc3.kc3 lib/kc3/0.1/event.kc3 lib/kc3/0.1/f128.facts lib/kc3/0.1/f32.facts lib/kc3/0.1/f64.facts lib/kc3/0.1/fact.kc3 lib/kc3/0.1/fact_w.kc3 lib/kc3/0.1/facts.kc3 lib/kc3/0.1/facts/cursor.kc3 lib/kc3/0.1/fd.kc3 lib/kc3/0.1/file.kc3 lib/kc3/0.1/file/stat.kc3 lib/kc3/0.1/gl/dvec2.kc3 lib/kc3/0.1/gl/dvec3.kc3 lib/kc3/0.1/gl/object.kc3 lib/kc3/0.1/gl/sphere.kc3 lib/kc3/0.1/gl/triangle.kc3 lib/kc3/0.1/gl/vec2.kc3 lib/kc3/0.1/gl/vec3.kc3 lib/kc3/0.1/gl/vertex.kc3 lib/kc3/0.1/http.kc3 lib/kc3/0.1/http/request.kc3 lib/kc3/0.1/http/response.kc3 lib/kc3/0.1/httpd.kc3 lib/kc3/0.1/integer.facts lib/kc3/0.1/json.kc3 lib/kc3/0.1/kc3.facts lib/kc3/0.1/kc3/operator.kc3 lib/kc3/0.1/list.kc3 lib/kc3/0.1/map.facts lib/kc3/0.1/ptr.facts lib/kc3/0.1/ptr_free.facts lib/kc3/0.1/ratio.facts lib/kc3/0.1/s16.facts lib/kc3/0.1/s32.facts lib/kc3/0.1/s64.facts lib/kc3/0.1/s8.facts lib/kc3/0.1/set.kc3 lib/kc3/0.1/set/fact.kc3 lib/kc3/0.1/set/item/fact.kc3 lib/kc3/0.1/set/item/tag.kc3 lib/kc3/0.1/set/tag.kc3 lib/kc3/0.1/socket.kc3 lib/kc3/0.1/socket/addr.kc3 lib/kc3/0.1/socket/buf.kc3 lib/kc3/0.1/str.facts lib/kc3/0.1/struct.kc3 lib/kc3/0.1/sw.facts lib/kc3/0.1/sym.facts lib/kc3/0.1/tag.kc3 lib/kc3/0.1/time.kc3 lib/kc3/0.1/u16.facts lib/kc3/0.1/u32.facts lib/kc3/0.1/u64.facts lib/kc3/0.1/u8.facts lib/kc3/0.1/uw.facts lib/kc3/0.1/var.facts lib/kc3/0.1/void.facts '
KC3_OBJC_SOURCES='window/cairo/quartz/window_cairo_quartz.m window/cairo/quartz/window_cairo_quartz_app_delegate.m window/cairo/quartz/window_cairo_quartz_view.m window/cairo/quartz/window_cairo_quartz_view_controller.m '
KC3_TEST_SOURCES='test/buf_parse_test_su.rb test/facts_test_dump_file.expected.facts test/facts_test_load_file.facts test/facts_test_log_add.expected.facts test/facts_test_log_remove.expected.facts test/facts_test_open_file.1.expected.facts test/facts_test_open_file.1.in.facts test/facts_test_open_file.2.expected.facts test/facts_test_open_file.2.in.facts test/facts_test_open_file.3.expected.facts test/facts_test_open_file.3.in.facts test/facts_test_save.expected.facts test/replace_lines.rb test/test.rb test/test_case_end.rb test/zero '
-KC3_TEST_IKC3_SOURCES='test/ikc3/access.kc3 test/ikc3/access.out.expected test/ikc3/access.ret.expected test/ikc3/array.err.expected test/ikc3/array.kc3 test/ikc3/array.out.expected test/ikc3/array.ret.expected test/ikc3/block.kc3 test/ikc3/block.out.expected test/ikc3/block.ret.expected test/ikc3/bool.err.expected test/ikc3/bool.kc3 test/ikc3/bool.out.expected test/ikc3/bool.ret.expected test/ikc3/buf.kc3 test/ikc3/buf.out.expected test/ikc3/buf.ret.expected test/ikc3/buf_rw.kc3 test/ikc3/buf_rw.out.expected test/ikc3/buf_rw.ret.expected test/ikc3/call.err.expected test/ikc3/call.kc3 test/ikc3/call.out.expected test/ikc3/call.ret.expected test/ikc3/cast.kc3 test/ikc3/cast.out.expected test/ikc3/cast.ret.expected test/ikc3/character.err.expected test/ikc3/character.kc3 test/ikc3/character.out.expected test/ikc3/character.ret.expected test/ikc3/comment.err.expected test/ikc3/comment.kc3 test/ikc3/comment.out.expected test/ikc3/comment.ret.expected test/ikc3/complex.kc3 test/ikc3/complex.out.expected test/ikc3/complex.ret.expected test/ikc3/def.kc3 test/ikc3/def.out.expected test/ikc3/def.ret.expected test/ikc3/defmodule.kc3 test/ikc3/defmodule.out.expected test/ikc3/defmodule.ret.expected test/ikc3/defoperator.kc3 test/ikc3/defoperator.out.expected test/ikc3/defoperator.ret.expected test/ikc3/defstruct.kc3 test/ikc3/defstruct.out.expected test/ikc3/defstruct.ret.expected test/ikc3/equal.err.expected test/ikc3/equal.kc3 test/ikc3/equal.out.expected test/ikc3/equal.ret.expected test/ikc3/facts.kc3 test/ikc3/facts.out.expected test/ikc3/facts.ret.expected test/ikc3/facts_with_tags.kc3 test/ikc3/facts_with_tags.out.expected test/ikc3/facts_with_tags.ret.expected test/ikc3/facts_with_tuple.kc3 test/ikc3/facts_with_tuple.out.expected test/ikc3/facts_with_tuple.ret.expected test/ikc3/fn.err.expected test/ikc3/fn.kc3 test/ikc3/fn.out.expected test/ikc3/fn.ret.expected test/ikc3/gl.kc3 test/ikc3/gl.out.expected test/ikc3/gl.ret.expected test/ikc3/globals.kc3 test/ikc3/globals.out.expected test/ikc3/globals.ret.expected test/ikc3/hello.err.expected test/ikc3/hello.kc3 test/ikc3/hello.out.expected test/ikc3/hello.ret.expected test/ikc3/ident.err.expected test/ikc3/ident.kc3 test/ikc3/ident.out.expected test/ikc3/ident.ret.expected test/ikc3/if.kc3 test/ikc3/if.out.expected test/ikc3/if.ret.expected test/ikc3/integer.kc3 test/ikc3/integer.lisp test/ikc3/integer.out.expected test/ikc3/integer.ret.expected test/ikc3/integer_add.kc3 test/ikc3/integer_add.out.expected test/ikc3/integer_add.ret.expected test/ikc3/integer_band.kc3 test/ikc3/integer_band.out.expected test/ikc3/integer_band.ret.expected test/ikc3/integer_bnot.kc3 test/ikc3/integer_bnot.out.expected test/ikc3/integer_bnot.ret.expected test/ikc3/integer_bor-2.kc3 test/ikc3/integer_bor-2.out.expected test/ikc3/integer_bor-2.ret.expected test/ikc3/integer_bxor.kc3 test/ikc3/integer_bxor.out.expected test/ikc3/integer_bxor.ret.expected test/ikc3/integer_div.kc3 test/ikc3/integer_div.out.expected test/ikc3/integer_div.ret.expected test/ikc3/integer_eq.kc3 test/ikc3/integer_eq.out.expected test/ikc3/integer_eq.ret.expected test/ikc3/integer_gt.kc3 test/ikc3/integer_gt.out.expected test/ikc3/integer_gt.ret.expected test/ikc3/integer_lt.kc3 test/ikc3/integer_lt.out.expected test/ikc3/integer_lt.ret.expected test/ikc3/integer_mod-2.kc3 test/ikc3/integer_mod-2.out.expected test/ikc3/integer_mod-2.ret.expected test/ikc3/integer_mul.kc3 test/ikc3/integer_mul.out.expected test/ikc3/integer_mul.ret.expected test/ikc3/integer_neg.kc3 test/ikc3/integer_neg.out.expected test/ikc3/integer_neg.ret.expected test/ikc3/integer_sub.kc3 test/ikc3/integer_sub.out.expected test/ikc3/integer_sub.ret.expected test/ikc3/let.kc3 test/ikc3/let.out.expected test/ikc3/let.ret.expected test/ikc3/list.err.expected test/ikc3/list.kc3 test/ikc3/list.out.expected test/ikc3/list.ret.expected test/ikc3/macro.kc3 test/ikc3/macro.out.expected test/ikc3/macro.ret.expected test/ikc3/map.kc3 test/ikc3/map.out.expected test/ikc3/map.ret.expected test/ikc3/op.err.expected test/ikc3/op.kc3 test/ikc3/op.out.expected test/ikc3/op.ret.expected test/ikc3/plist.err.expected test/ikc3/plist.kc3 test/ikc3/plist.out.expected test/ikc3/plist.ret.expected test/ikc3/puts.kc3 test/ikc3/puts.out.expected test/ikc3/puts.ret.expected test/ikc3/quote.kc3 test/ikc3/quote.out.expected test/ikc3/quote.ret.expected test/ikc3/ratio.kc3 test/ikc3/ratio.out.expected test/ikc3/ratio.ret.expected test/ikc3/str.err.expected test/ikc3/str.kc3 test/ikc3/str.out.expected test/ikc3/str.ret.expected test/ikc3/struct.kc3 test/ikc3/struct.out.expected test/ikc3/struct.ret.expected test/ikc3/sym.err.expected test/ikc3/sym.kc3 test/ikc3/sym.out.expected test/ikc3/sym.ret.expected test/ikc3/tuple.err.expected test/ikc3/tuple.kc3 test/ikc3/tuple.out.expected test/ikc3/tuple.ret.expected test/ikc3/var.kc3 test/ikc3/var.out.expected test/ikc3/var.ret.expected test/ikc3/void.kc3 test/ikc3/void.out.expected test/ikc3/void.ret.expected test/ikc3_test '
+KC3_TEST_IKC3_SOURCES='test/ikc3/access.kc3 test/ikc3/access.out.expected test/ikc3/access.ret.expected test/ikc3/array.err.expected test/ikc3/array.kc3 test/ikc3/array.out.expected test/ikc3/array.ret.expected test/ikc3/block.kc3 test/ikc3/block.out.expected test/ikc3/block.ret.expected test/ikc3/bool.err.expected test/ikc3/bool.kc3 test/ikc3/bool.out.expected test/ikc3/bool.ret.expected test/ikc3/buf.kc3 test/ikc3/buf.out.expected test/ikc3/buf.ret.expected test/ikc3/buf_rw.kc3 test/ikc3/buf_rw.out.expected test/ikc3/buf_rw.ret.expected test/ikc3/call.err.expected test/ikc3/call.kc3 test/ikc3/call.out.expected test/ikc3/call.ret.expected test/ikc3/cast.kc3 test/ikc3/cast.out.expected test/ikc3/cast.ret.expected test/ikc3/character.err.expected test/ikc3/character.kc3 test/ikc3/character.out.expected test/ikc3/character.ret.expected test/ikc3/comment.err.expected test/ikc3/comment.kc3 test/ikc3/comment.out.expected test/ikc3/comment.ret.expected test/ikc3/complex.kc3 test/ikc3/complex.out.expected test/ikc3/complex.ret.expected test/ikc3/def.kc3 test/ikc3/def.out.expected test/ikc3/def.ret.expected test/ikc3/defmodule.kc3 test/ikc3/defmodule.out.expected test/ikc3/defmodule.ret.expected test/ikc3/defoperator.kc3 test/ikc3/defoperator.out.expected test/ikc3/defoperator.ret.expected test/ikc3/defstruct.kc3 test/ikc3/defstruct.out.expected test/ikc3/defstruct.ret.expected test/ikc3/equal.err.expected test/ikc3/equal.kc3 test/ikc3/equal.out.expected test/ikc3/equal.ret.expected test/ikc3/facts.kc3 test/ikc3/facts.out.expected test/ikc3/facts.ret.expected test/ikc3/facts_with_tags.kc3 test/ikc3/facts_with_tags.out.expected test/ikc3/facts_with_tags.ret.expected test/ikc3/facts_with_tuple.kc3 test/ikc3/facts_with_tuple.out.expected test/ikc3/facts_with_tuple.ret.expected test/ikc3/fn.err.expected test/ikc3/fn.kc3 test/ikc3/fn.out.expected test/ikc3/fn.ret.expected test/ikc3/gl.kc3 test/ikc3/gl.out.expected test/ikc3/gl.ret.expected test/ikc3/globals.kc3 test/ikc3/globals.out.expected test/ikc3/globals.ret.expected test/ikc3/hello.err.expected test/ikc3/hello.kc3 test/ikc3/hello.out.expected test/ikc3/hello.ret.expected test/ikc3/ident.err.expected test/ikc3/ident.kc3 test/ikc3/ident.out.expected test/ikc3/ident.ret.expected test/ikc3/if.kc3 test/ikc3/if.out.expected test/ikc3/if.ret.expected test/ikc3/integer.kc3 test/ikc3/integer.lisp test/ikc3/integer.out.expected test/ikc3/integer.ret.expected test/ikc3/integer_add.kc3 test/ikc3/integer_add.out.expected test/ikc3/integer_add.ret.expected test/ikc3/integer_band.kc3 test/ikc3/integer_band.out.expected test/ikc3/integer_band.ret.expected test/ikc3/integer_bnot.kc3 test/ikc3/integer_bnot.out.expected test/ikc3/integer_bnot.ret.expected test/ikc3/integer_bor-2.kc3 test/ikc3/integer_bor-2.out.expected test/ikc3/integer_bor-2.ret.expected test/ikc3/integer_bxor.kc3 test/ikc3/integer_bxor.out.expected test/ikc3/integer_bxor.ret.expected test/ikc3/integer_div.kc3 test/ikc3/integer_div.out.expected test/ikc3/integer_div.ret.expected test/ikc3/integer_eq.kc3 test/ikc3/integer_eq.out.expected test/ikc3/integer_eq.ret.expected test/ikc3/integer_gt.kc3 test/ikc3/integer_gt.out.expected test/ikc3/integer_gt.ret.expected test/ikc3/integer_lt.kc3 test/ikc3/integer_lt.out.expected test/ikc3/integer_lt.ret.expected test/ikc3/integer_mod-2.kc3 test/ikc3/integer_mod-2.out.expected test/ikc3/integer_mod-2.ret.expected test/ikc3/integer_mul.kc3 test/ikc3/integer_mul.out.expected test/ikc3/integer_mul.ret.expected test/ikc3/integer_neg.kc3 test/ikc3/integer_neg.out.expected test/ikc3/integer_neg.ret.expected test/ikc3/integer_sub.kc3 test/ikc3/integer_sub.out.expected test/ikc3/integer_sub.ret.expected test/ikc3/let.kc3 test/ikc3/let.out.expected test/ikc3/let.ret.expected test/ikc3/list.err.expected test/ikc3/list.kc3 test/ikc3/list.out.expected test/ikc3/list.ret.expected test/ikc3/macro.kc3 test/ikc3/macro.out.expected test/ikc3/macro.ret.expected test/ikc3/map.kc3 test/ikc3/map.out.expected test/ikc3/map.ret.expected test/ikc3/op.err.expected test/ikc3/op.kc3 test/ikc3/op.out.expected test/ikc3/op.ret.expected test/ikc3/plist.err.expected test/ikc3/plist.kc3 test/ikc3/plist.out.expected test/ikc3/plist.ret.expected test/ikc3/puts.kc3 test/ikc3/puts.out.expected test/ikc3/puts.ret.expected test/ikc3/quote.kc3 test/ikc3/quote.out.expected test/ikc3/quote.ret.expected test/ikc3/ratio.kc3 test/ikc3/ratio.out.expected test/ikc3/ratio.ret.expected test/ikc3/str.err.expected test/ikc3/str.kc3 test/ikc3/str.out.expected test/ikc3/str.ret.expected test/ikc3/struct.kc3 test/ikc3/struct.out.expected test/ikc3/struct.ret.expected test/ikc3/sym.err.expected test/ikc3/sym.kc3 test/ikc3/sym.out.expected test/ikc3/sym.ret.expected test/ikc3/to_lisp.kc3 test/ikc3/to_lisp.out.expected test/ikc3/to_lisp.ret.expected test/ikc3/tuple.err.expected test/ikc3/tuple.kc3 test/ikc3/tuple.out.expected test/ikc3/tuple.ret.expected test/ikc3/var.kc3 test/ikc3/var.out.expected test/ikc3/var.ret.expected test/ikc3/void.kc3 test/ikc3/void.out.expected test/ikc3/void.ret.expected test/ikc3_test '
KC3_TEST_EKC3_SOURCES='test/ekc3/title.html.ekc3 test/ekc3/title.kc3 test/ekc3/title.out.expected test/ekc3/title.ret.expected test/ekc3_test '
KC3_TEST_HTTP_SOURCES='test/http/01_socket_buf.kc3 test/http/01_socket_buf.out.expected test/http/01_socket_buf.ret.expected test/http/02_socket.kc3 test/http/02_socket.out.expected test/http/02_socket.ret.expected test/http/03_client_server.kc3 test/http/03_client_server.out.expected test/http/03_client_server.ret.expected test/http/04_server_request.kc3 test/http/04_server_request.out.expected test/http/04_server_request.ret.expected test/http/05_response.kc3 test/http/05_response.out.expected test/http/05_response.ret.expected test/http/06_mime_types.kc3 test/http/06_mime_types.out.expected test/http/06_mime_types.ret.expected test/http/07_client_server.kc3 test/http/07_client_server.out.expected test/http/07_client_server.ret.expected test/http_test '
KC3_TEST_HTTPD_SOURCES='test/httpd/.keep '
diff --git a/window/cairo/demo/flies.c b/window/cairo/demo/flies.c
index 455d560..2fa8471 100644
--- a/window/cairo/demo/flies.c
+++ b/window/cairo/demo/flies.c
@@ -190,7 +190,7 @@ bool flies_render (s_sequence *seq)
cairo_set_font(cr, &g_font_courier_new);
buf_init(&buf, false, sizeof(a), a);
buf_write_1(&buf, "In ");
- buf_inspect_uw(&buf, fly_in);
+ buf_inspect_uw_decimal(&buf, fly_in);
buf_write_u8(&buf, 0);
cairo_text_extents(cr, buf.ptr.pchar, &te);
y = board_h + board_item_h + te.height + te.y_bearing;
@@ -199,7 +199,7 @@ bool flies_render (s_sequence *seq)
cairo_show_text(cr, buf.ptr.pchar);
buf_init(&buf, false, sizeof(a), a);
buf_write_1(&buf, "Out ");
- buf_inspect_uw(&buf, fly_out);
+ buf_inspect_uw_decimal(&buf, fly_out);
buf_write_u8(&buf, 0);
x = board_x + board_item_w * (BOARD_SIZE / 2 + 1);
cairo_move_to(cr, x, y);
diff --git a/window/sdl2/demo/flies.c b/window/sdl2/demo/flies.c
index 74249cc..bfb3751 100644
--- a/window/sdl2/demo/flies.c
+++ b/window/sdl2/demo/flies.c
@@ -204,14 +204,14 @@ bool flies_render (s_sequence *seq)
gl_ortho_color(&g_ortho, 1.0f, 1.0f, 1.0f, 1.0f);
buf_init(&buf, false, sizeof(a), a);
buf_write_1(&buf, "In ");
- buf_inspect_uw(&buf, fly_in);
+ buf_inspect_uw_decimal(&buf, fly_in);
buf_write_u8(&buf, 0);
gl_font_set_size(&g_font_flies, board_item_h);
gl_text_update_1(&g_text_flies_in, a);
gl_ortho_text_render(&g_ortho, &g_text_flies_in);
buf_init(&buf, false, sizeof(a), a);
buf_write_1(&buf, "Out ");
- buf_inspect_uw(&buf, fly_out);
+ buf_inspect_uw_decimal(&buf, fly_out);
buf_write_u8(&buf, 0);
gl_text_update_1(&g_text_flies_out, a);
matrix = g_ortho.model_matrix; {