summaryrefslogtreecommitdiff
path: root/docs/typ/building.typ
diff options
context:
space:
mode:
Diffstat (limited to 'docs/typ/building.typ')
-rw-r--r--docs/typ/building.typ19
1 files changed, 14 insertions, 5 deletions
diff --git a/docs/typ/building.typ b/docs/typ/building.typ
index cca3161e..ae2f3a60 100644
--- a/docs/typ/building.typ
+++ b/docs/typ/building.typ
@@ -1,6 +1,7 @@
-// Building pardes, for contributors: platforms, options, tests and the
-// release gates, then how the pieces fit: the core and its shells, the
-// threads, detached sessions, the 9P engine, the listeners and mounts.
+// Building pardes, for contributors: platforms, options, tests, the
+// release gates and sending patches, then how the pieces fit: the core
+// and its shells, the threads, detached sessions, the 9P engine, the
+// listeners and mounts.
#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs
For contributors: how pardes is built, tested and released, and how its
@@ -125,6 +126,14 @@ with `-Dplatform=gui`, `core-test`, `fs-test`, `snap`, the GUI goldens
`web`, and the ReleaseSafe tty and ReleaseFast gui builds. The committed
`docs/typ/cheatsheet-a4.pdf` is rendered again when the docs change.
+= Sending patches <patches>
+
+Mail patches to the list `~gbrls/[email protected]`; it is the preferred way to contribute:
+
+#cmd("git config format.subjectPrefix \"PATCH pardes\"\ngit send-email --to=~gbrls/[email protected] HEAD^")
+
+#link("https://git-send-email.io")[git-send-email.io] sets `git send-email` up. The mirrors (#doc("setup", section: "install")) are for cloning, as a GitHub one will be; pull requests are not the preferred route.
+
= The core and its shells
One core, five shells (tty, gui, web, macos, esp32p4). The core owns
@@ -195,7 +204,7 @@ frontend with unsent bytes skips that frame, and one that stops draining
past 1 MiB of control backlog is closed, its peers untouched. Frontends
never spawn shells, write session files or watch files. #word("Attach")
connects first and swaps second: only after the handshake does a shell
-give up its own core. Restore builds the replacement core before touching
+give up its own core. #word("Restore") builds the replacement core before touching
the current one.
`src/detached/wire.zig` is the versioned protocol (version 10): fixed-width
@@ -239,7 +248,7 @@ use `.cloud9 = .{ .path = "../cloud9" }` while editing both. cloud9's own
A mount cuts a big write into pieces of at most one message (msize 65536,
less the header), anywhere, and each command line runs once its newline
comes; nothing is read into a write's size. A last line with no newline
-(`printf Save > exec`) runs when the file is closed, as does an `Edit`
+(`printf Save > exec`) runs when the file is closed, as does an #word("Edit")
block never ended, and its failure is then only in the log, as its `err`
record: the close reports no error, and the write that sent it had
already succeeded. So a script that needs a line's result ends it with a