From da50da70b57508082bc6410b6cab6017d7d6a295 Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Fri, 31 Jul 2026 08:49:03 -0400 Subject: [PATCH] Bump libakgl to pick up the six defects this port filed Records the filing in TODO.md section 7 alongside the FILTER gap, and names the four workarounds this repository carries against them -- the embedded-dependency CMake trick, the akgl/actor.h include ahead of akgl/controller.h, and the hand-populated render vtable with its NULL-deref hazard. Each is commented at its site with the words "filed upstream" so it can be found and deleted when the fixes land. Co-Authored-By: Claude Opus 5 (1M context) --- TODO.md | 10 +++++++++- deps/libakgl | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index 21cf611..b7c1839 100644 --- a/TODO.md +++ b/TODO.md @@ -750,7 +750,15 @@ Building against any of it needs `-DAKBASIC_WITH_AKGL=ON`, which pulls in `libak submodules (SDL and friends). Those are not initialized in a default clone; `git submodule update --init --recursive` gets them. -**One gap is outstanding, and upstream named it itself.** The commit that added the audio API +**Six items are filed upstream and outstanding**, at `deps/libakgl/TODO.md` items 5-9 of "API +gaps blocking akbasic" and item 14 of "Defects". Four are workarounds this repository carries +today, each commented at its site with the words "filed upstream" so it can be found and +deleted: the embedded-dependency CMake trick in our `CMakeLists.txt`, the `akgl/actor.h` +include in `src/input_akgl.c`, and the hand-populated vtable and its NULL-deref hazard in +`tests/akgl_backends.c`. §3 describes all four. The fifth is `SOUND`'s frequency sweep and the +sixth is the missing version bump recorded in §8. + +**One further gap is outstanding, and upstream named it itself.** The commit that added the audio API says plainly what it does not cover: *"Still missing for a complete BASIC sound vocabulary: `FILTER` (SDL3 has no filter primitive; this would need writing), `TEMPO` and the `PLAY` note-string parser, both of which belong in the interpreter rather than here."* diff --git a/deps/libakgl b/deps/libakgl index 42b60f7..377c4c0 160000 --- a/deps/libakgl +++ b/deps/libakgl @@ -1 +1 @@ -Subproject commit 42b60f725dbbe8450ee07995bb3eb175adc88e4f +Subproject commit 377c4c028f1e02abe52a81160c55994fb59f452f