Skip to content

0.16.0 --- a least stack size, whether input is altered, and what closing a directory ends - #50

Merged
Sunrisepeak merged 4 commits into
mainfrom
openkal-0.16.0
Oct 24, 2026
Merged

Sunrisepeak merged 4 commits into
mainfrom
openkal-0.16.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Fixes #48.

Three changes, each an addition under clause 8; no existing declaration changes.

kal_task_start_sized starts a context whose stack is at least the size asked for, as the context is told by kal_task_stack. A request the environment cannot meet is kal_err_no_memory, the outcome kal_alloc reports when exhausted (clause 3.1); it is not a refusal (clause 6.1), and no capability position is needed. Version 0.15 called the size "a property rather than a parameter" and offered no enquiry that reported it (mcpplibs/openkal-musl#48).

KAL_TERM_PASS_INPUT (bit 3) states that what is typed arrives as the keystrokes produced it. It is independent of KAL_TERM_PASS_CONTROL, whose paragraph no longer claims the bytes arrive unaltered, and covers every mechanism by which an environment alters input. With it set, the return key is 0x0d and Ctrl+J is 0x0a on all three environments, measured: two of them rewrite the return key into a line feed when it is clear, and the third consumes Ctrl+J.

fs.h states what closing a directory does to its enumerations: the directory is a released handle, and kal_fs_list_next given it refuses (mcpplibs/openkal-linux#34).

Clause 11 entries 22 to 24 record each. The suite observes a least stack size as room (a recursion of three quarters of a 4 MiB request completes) and the input position as it observes the control position. The design and its review are .agents/docs/2026-10-25-three-reports-optimisation-design.md.

Implementations at openkal-0.16.0: openkal-linux 0.17.0, openkal-macos 0.14.0, openkal-windows 0.12.0, openkal-emscripten 0.5.0, openkal-opensbi 0.8.3; above them openkal-musl 0.21.0 and openkal-llvm-runtime 0.15.5.

…what closing a directory ends

kal_task_start_sized starts a context whose stack is at least the size asked
for; a request beyond what the environment can give is kal_err_no_memory, the
outcome kal_alloc reports when it is exhausted (clause 3.1).

KAL_TERM_PASS_INPUT states that what is typed reaches the program as the
keystrokes produced it. KAL_TERM_PASS_CONTROL keeps its meaning, and its
paragraph no longer claims the bytes arrive unaltered.

fs.h states what closing a directory does to its enumerations, and that
kal_fs_list_next refuses a closed directory.

Clause 11 entries 22 to 24, and a conformance observation of the least size.
Its console consumes Ctrl+J in raw mode unless its own switch for delivering
what a key produces is on, and its line assembly alters input whatever it is
asked; with the position set, all three deliver 0x0d and 0x0a.
…tion: not an error, distinguished or zero, and put back
@Sunrisepeak
Sunrisepeak merged commit 61f20b0 into main Oct 24, 2026
24 checks passed
@Sunrisepeak
Sunrisepeak deleted the openkal-0.16.0 branch October 24, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

In raw mode Enter still arrives as 0x0a, because tcsetattr cannot clear ICRNL (openkal-musl 0.20.1, openkal-linux 0.16.1)

1 participant