Round 225: Transient ext, Cape ext, Tempel ext, Corfu ext (20 commands)

ober

69bc5a277ea32f5920cd83e1f8533d795b4bbdc5

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index c04c2da..3da116a 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 225 — Transient ext, Cape ext, Tempel ext, Corfu ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| transient-quit-seq | :orange_circle: | Quit transient sequence |
+| transient-show | :orange_circle: | Show transient |
+| transient-help | :orange_circle: | Show transient help |
+| cape-wrap-nonexclusive | :orange_circle: | Wrap capf as nonexclusive |
+| cape-wrap-silent | :orange_circle: | Wrap capf silently |
+| cape-wrap-case-fold | :orange_circle: | Wrap capf with case folding |
+| cape-wrap-noninterruptible | :orange_circle: | Wrap capf as noninterruptible |
+| cape-wrap-prefix-length | :orange_circle: | Wrap capf with prefix length |
+| cape-wrap-inside-code | :orange_circle: | Wrap capf for inside code |
+| cape-capf-inside-comment | :orange_circle: | Capf inside comment |
+| tempel-guess | :orange_circle: | Guess template |
+| tempel-include | :orange_circle: | Include template |
+| tempel-kill | :orange_circle: | Kill template field |
+| corfu-popupinfo-scroll-up | :orange_circle: | Scroll popup info up |
+| corfu-popupinfo-scroll-down | :orange_circle: | Scroll popup info down |
+| corfu-popupinfo-beginning | :orange_circle: | Popup info beginning |
+| corfu-popupinfo-end | :orange_circle: | Popup info end |
+| corfu-move-to-minibuffer | :orange_circle: | Move completion to minibuffer |
+| corfu-reset | :orange_circle: | Reset completion |
+| corfu-prompt-end | :orange_circle: | Move to prompt end |
+
 ### Round 224 — GPTel ext, Copilot ext, Ellama ext
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 0e0f795..e5159a3 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -19336,3 +19336,45 @@
 (def (cmd-ellama-context-add-buffer app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Ellama: added buffer to context")))
+
+;;; Round 225 — Transient ext, Cape ext, Tempel ext, Corfu ext (batch 2)
+
+(def (cmd-tempel-guess app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempel: guessed template")))
+
+(def (cmd-tempel-include app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempel: included template")))
+
+(def (cmd-tempel-kill app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Tempel: killed template field")))
+
+(def (cmd-corfu-popupinfo-scroll-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: scrolled popup info up")))
+
+(def (cmd-corfu-popupinfo-scroll-down app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: scrolled popup info down")))
+
+(def (cmd-corfu-popupinfo-beginning app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: popup info beginning")))
+
+(def (cmd-corfu-popupinfo-end app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: popup info end")))
+
+(def (cmd-corfu-move-to-minibuffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: moved to minibuffer")))
+
+(def (cmd-corfu-reset app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: reset completion")))
+
+(def (cmd-corfu-prompt-end app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Corfu: moved to prompt end")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 4896b69..4e69752 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -19990,3 +19990,45 @@
 (def (cmd-ellama-make-list app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Ellama: making list from text")))
+
+;;; Round 225 — Transient ext, Cape ext, Tempel ext, Corfu ext (batch 1)
+
+(def (cmd-transient-quit-seq app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Transient: quit sequence")))
+
+(def (cmd-transient-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Transient: showing transient")))
+
+(def (cmd-transient-help app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Transient: showing help")))
+
+(def (cmd-cape-wrap-nonexclusive app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf as nonexclusive")))
+
+(def (cmd-cape-wrap-silent app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf silently")))
+
+(def (cmd-cape-wrap-case-fold app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf with case folding")))
+
+(def (cmd-cape-wrap-noninterruptible app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf as noninterruptible")))
+
+(def (cmd-cape-wrap-prefix-length app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf with prefix length")))
+
+(def (cmd-cape-wrap-inside-code app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: wrapped capf for inside code")))
+
+(def (cmd-cape-capf-inside-comment app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cape: capf inside comment")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 71bc445..8a1a6b1 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -6158,4 +6158,25 @@
   (register-command! 'ellama-session-switch cmd-ellama-session-switch)
   (register-command! 'ellama-session-remove cmd-ellama-session-remove)
   (register-command! 'ellama-context-add-buffer cmd-ellama-context-add-buffer)
+  ;; Round 225
+  (register-command! 'transient-quit-seq cmd-transient-quit-seq)
+  (register-command! 'transient-show cmd-transient-show)
+  (register-command! 'transient-help cmd-transient-help)
+  (register-command! 'cape-wrap-nonexclusive cmd-cape-wrap-nonexclusive)
+  (register-command! 'cape-wrap-silent cmd-cape-wrap-silent)
+  (register-command! 'cape-wrap-case-fold cmd-cape-wrap-case-fold)
+  (register-command! 'cape-wrap-noninterruptible cmd-cape-wrap-noninterruptible)
+  (register-command! 'cape-wrap-prefix-length cmd-cape-wrap-prefix-length)
+  (register-command! 'cape-wrap-inside-code cmd-cape-wrap-inside-code)
+  (register-command! 'cape-capf-inside-comment cmd-cape-capf-inside-comment)
+  (register-command! 'tempel-guess cmd-tempel-guess)
+  (register-command! 'tempel-include cmd-tempel-include)
+  (register-command! 'tempel-kill cmd-tempel-kill)
+  (register-command! 'corfu-popupinfo-scroll-up cmd-corfu-popupinfo-scroll-up)
+  (register-command! 'corfu-popupinfo-scroll-down cmd-corfu-popupinfo-scroll-down)
+  (register-command! 'corfu-popupinfo-beginning cmd-corfu-popupinfo-beginning)
+  (register-command! 'corfu-popupinfo-end cmd-corfu-popupinfo-end)
+  (register-command! 'corfu-move-to-minibuffer cmd-corfu-move-to-minibuffer)
+  (register-command! 'corfu-reset cmd-corfu-reset)
+  (register-command! 'corfu-prompt-end cmd-corfu-prompt-end)
 )