Round 811-840: LSP-booster, LSP-bridge, Citre, GGtags, Ctags, Cscope, Dape, DAP-UI, Realgud, Eat-Compile, Compile, Flymake-shellcheck, Flymake-ruff, Apheleia, Format-all, Treesit-auto, Treesit-fold, Evil-nerd-commenter, Comment-dwim-2, Smartparens, Electric-pair, Evil-surround, Embrace, MC, Iedit, Winum, Ace-window, Popper, Shackle, Tab-bar, Tab-line, Windmove, Framemove, Transpose-frame, Winner, Burly (300 commands)

ober

b76ceecdccc813598a2ccf605327ca87974444f4

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 68c5bbb..b28d907 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -7358,6 +7358,436 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | `sly-quicklisp-systems` | :orange_circle: | `sly-quicklisp-list` |
 | `sly-quicklisp-system-apropos` | :orange_circle: | `sly-quicklisp-search` |
 | `sly-quicklisp-uninstall-dist` | :orange_circle: | `sly-quicklisp-uninstall` |
+
+### Round 811: Geiser ext 2 (Scheme REPL)
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `geiser-expand-last-sexp` | :orange_circle: | `geiser-expand-last-sexp` |
+| `geiser-restart-repl` | :orange_circle: | `geiser-restart-repl` |
+| `geiser-edit-module` | :orange_circle: | `geiser-edit-module` |
+| `geiser-insert-lambda` | :orange_circle: | `geiser-insert-lambda` |
+| `geiser-log-clear` | :orange_circle: | `geiser-log-clear` |
+| `geiser-debug` | :orange_circle: | `geiser-debug` |
+| `geiser-mode-switch-to-repl` | :orange_circle: | `geiser-switch-to-repl` |
+| `geiser-load-current-buffer` | :orange_circle: | `geiser-load-current-buffer` |
+| `geiser-mode-switch-to-repl-and-enter` | :orange_circle: | `geiser-switch-to-repl-and-enter` |
+| `geiser-xref-callers` | :orange_circle: | `geiser-callers` |
+
+### Round 812: Racket-mode ext 2
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `racket-xp-mode` | :orange_circle: | `racket-check-syntax-mode` |
+| `racket-xp-describe` | :orange_circle: | `racket-xp-describe` |
+| `racket-xp-documentation` | :orange_circle: | `racket-xp-documentation` |
+| `racket-xp-visit-definition` | :orange_circle: | `racket-xp-visit-definition` |
+| `racket-smart-open-bracket-mode` | :orange_circle: | `racket-smart-open-bracket` |
+| `racket-unicode-input-method-enable` | :orange_circle: | `racket-unicode-input-method` |
+| `racket-cycle-paren-shapes` | :orange_circle: | `racket-cycle-paren-shapes` |
+| `racket-insert-closing` | :orange_circle: | `racket-insert-closing` |
+| `racket-align` | :orange_circle: | `racket-align` |
+| `racket-unalign` | :orange_circle: | `racket-unalign` |
+
+### Round 813: Guile ext 2 / Chez ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `geiser-guile-eval-last-sexp` | :orange_circle: | `guile-eval-last-sexp` |
+| `guile-set-module` | :orange_circle: | `guile-set-module` |
+| `guile-compile` | :orange_circle: | `guile-compile` |
+| `guile-show-documentation` | :orange_circle: | `guile-show-doc` |
+| `guile-find-module` | :orange_circle: | `guile-find-module` |
+| `geiser-chez-eval` | :orange_circle: | `chez-scheme-eval` |
+| `geiser-chez-eval-buffer` | :orange_circle: | `chez-scheme-eval-buffer` |
+| `geiser-chez-load` | :orange_circle: | `chez-scheme-load` |
+| `geiser-chez-interrupt` | :orange_circle: | `chez-scheme-interrupt` |
+| `geiser-chez-inspect` | :orange_circle: | `chez-scheme-inspect` |
+
+### Round 814: Prolog / Datalog ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `prolog-consult-file` | :orange_circle: | `prolog-consult-file` |
+| `prolog-consult-buffer` | :orange_circle: | `prolog-consult-buffer` |
+| `prolog-consult-region` | :orange_circle: | `prolog-consult-region` |
+| `run-prolog` | :orange_circle: | `prolog-run-query` |
+| `prolog-trace-on` | :orange_circle: | `prolog-trace-mode` |
+| `datalog-mode` | :orange_circle: | `datalog-mode` |
+| `datalog-eval` | :orange_circle: | `datalog-eval` |
+| `datalog-eval-buffer` | :orange_circle: | `datalog-eval-buffer` |
+| `datalog-format-buffer` | :orange_circle: | `datalog-format` |
+| `datalog-insert-rule` | :orange_circle: | `datalog-insert-rule` |
+
+### Round 815: Z3 / SMT ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `z3-mode` | :orange_circle: | `z3-mode` |
+| `z3-check-sat` | :orange_circle: | `z3-check-sat` |
+| `z3-get-model` | :orange_circle: | `z3-get-model` |
+| `z3-simplify` | :orange_circle: | `z3-simplify` |
+| `z3-eval-region` | :orange_circle: | `z3-eval-region` |
+| `smt-mode` | :orange_circle: | `smt-mode` |
+| `smt-get-proof` | :orange_circle: | `smt-get-proof` |
+| `smt-push` | :orange_circle: | `smt-push` |
+| `smt-pop` | :orange_circle: | `smt-pop` |
+| `smt-reset` | :orange_circle: | `smt-reset` |
+
+### Round 816: TLA+ / Alloy ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `tlaplus-mode` | :orange_circle: | `tlaplus-mode` |
+| `tlaplus-goto-definition` | :orange_circle: | `tlaplus-goto-definition` |
+| `tlaplus-format` | :orange_circle: | `tlaplus-format` |
+| `tlaplus-find-uses` | :orange_circle: | `tlaplus-find-uses` |
+| `tlaplus-insert-template` | :orange_circle: | `tlaplus-insert-template` |
+| `alloy-mode` | :orange_circle: | `alloy-mode` |
+| `alloy-show-instance` | :orange_circle: | `alloy-show-instance` |
+| `alloy-next-solution` | :orange_circle: | `alloy-next-solution` |
+| `alloy-prev-solution` | :orange_circle: | `alloy-prev-solution` |
+| `alloy-save-instance` | :orange_circle: | `alloy-save-instance` |
+
+### Round 817: Mermaid ext 2 / PlantUML ext 2
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `mermaid-mode-preview` | :orange_circle: | `mermaid-preview` |
+| `mermaid-insert-template` | :orange_circle: | `mermaid-insert-template` |
+| `mermaid-set-theme` | :orange_circle: | `mermaid-set-theme` |
+| `mermaid-export-png` | :orange_circle: | `mermaid-export-png` |
+| `mermaid-export-svg` | :orange_circle: | `mermaid-export-svg` |
+| `plantuml-complete-symbol` | :orange_circle: | `plantuml-completion-at-point` |
+| `plantuml-save-png` | :orange_circle: | `plantuml-save-as-png` |
+| `plantuml-insert-template` | :orange_circle: | `plantuml-insert-template` |
+| `plantuml-change-theme` | :orange_circle: | `plantuml-change-theme` |
+| `plantuml-auto-refresh-mode` | :orange_circle: | `plantuml-auto-refresh` |
+
+### Round 818: Graphviz ext 2 / D2 ext 2
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `graphviz-dot-set-layout` | :orange_circle: | `graphviz-set-engine` |
+| `graphviz-dot-view` | :orange_circle: | `graphviz-open-in-browser` |
+| `graphviz-insert-template` | :orange_circle: | `graphviz-insert-template` |
+| `graphviz-export-png` | :orange_circle: | `graphviz-export-png` |
+| `graphviz-export-svg` | :orange_circle: | `graphviz-export-svg` |
+| `d2-preview` | :orange_circle: | `d2-preview` |
+| `d2-watch` | :orange_circle: | `d2-watch` |
+| `d2-format` | :orange_circle: | `d2-format` |
+| `d2-insert-template` | :orange_circle: | `d2-insert-template` |
+| `d2-export-png` | :orange_circle: | `d2-export-png` |
+
+### Round 819: Typst / Quarto ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `typst-ts-mode` | :orange_circle: | `typst-mode` |
+| `typst-ts-compile` | :orange_circle: | `typst-compile-buffer` |
+| `typst-ts-preview` | :orange_circle: | `typst-preview` |
+| `typst-ts-format-buffer` | :orange_circle: | `typst-format` |
+| `typst-insert-template` | :orange_circle: | `typst-insert-template` |
+| `quarto-preview` | :orange_circle: | `quarto-preview` |
+| `quarto-render` | :orange_circle: | `quarto-render` |
+| `quarto-publish` | :orange_circle: | `quarto-publish` |
+| `quarto-insert-code-cell` | :orange_circle: | `quarto-insert-code-block` |
+| `quarto-set-engine` | :orange_circle: | `quarto-set-engine` |
+
+### Round 820: Markdown ext 2 / Grip ext
+
+| Emacs Feature | Status | jemacs Command |
+|---|---|---|
+| `markdown-outline-toggle` | :orange_circle: | `markdown-outline-toggle` |
+| `markdown-cycle-list-item` | :orange_circle: | `markdown-cycle-list-item` |
+| `markdown-backward-same-level` | :orange_circle: | `markdown-backward-same-level` |
+| `markdown-forward-paragraph` | :orange_circle: | `markdown-forward-paragraph` |
+| `markdown-toc-generate-toc` | :orange_circle: | `markdown-toc-generate` |
+| `grip-mode` | :orange_circle: | `grip-mode` |
+| `grip-start-preview` | :orange_circle: | `grip-start-preview` |
+| `grip-stop-preview` | :orange_circle: | `grip-stop-preview` |
+| `grip-restart-preview` | :orange_circle: | `grip-restart-preview` |
+| `grip-browse-preview` | :orange_circle: | `grip-browse-preview` |
+
+### Round 821: LSP-booster / LSP-bridge (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `lsp-booster-mode` | :orange_circle: | Enable LSP booster mode |
+| `lsp-booster-toggle` | :orange_circle: | Toggle LSP booster |
+| `lsp-booster-status` | :orange_circle: | Show LSP booster status |
+| `lsp-booster-restart` | :orange_circle: | Restart LSP booster |
+| `lsp-booster-configure` | :orange_circle: | Configure LSP booster settings |
+| `lsp-bridge-mode` | :orange_circle: | Enable LSP bridge mode |
+| `lsp-bridge-find-def` | :orange_circle: | Find definition via LSP bridge |
+| `lsp-bridge-find-ref` | :orange_circle: | Find references via LSP bridge |
+| `lsp-bridge-code-action` | :orange_circle: | LSP bridge code action |
+| `lsp-bridge-rename` | :orange_circle: | Rename symbol via LSP bridge |
+
+### Round 822: LSP-bridge ext / Citre (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `lsp-bridge-diagnostic-list` | :orange_circle: | List LSP bridge diagnostics |
+| `lsp-bridge-diagnostic-next` | :orange_circle: | Next LSP bridge diagnostic |
+| `lsp-bridge-diagnostic-prev` | :orange_circle: | Previous LSP bridge diagnostic |
+| `lsp-bridge-peek` | :orange_circle: | Peek definition via LSP bridge |
+| `lsp-bridge-popup-documentation` | :orange_circle: | Show LSP bridge documentation popup |
+| `citre-update-tags-file` | :orange_circle: | Update Citre tags file |
+| `citre-peek-through` | :orange_circle: | Peek through Citre tags |
+| `citre-peek-restore` | :orange_circle: | Restore Citre peek window |
+| `citre-global-tags` | :orange_circle: | Search global tags via Citre |
+| `citre-global-update` | :orange_circle: | Update Citre global tags |
+
+### Round 823: GNU-global / GGtags ext (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `ggtags-show-definition` | :orange_circle: | Show tag definition via GGtags |
+| `ggtags-find-other-symbol` | :orange_circle: | Find other symbol via GGtags |
+| `ggtags-find-file` | :orange_circle: | Find file via GGtags |
+| `ggtags-grep` | :orange_circle: | Grep via GGtags |
+| `ggtags-navigation-mode` | :orange_circle: | Toggle GGtags navigation mode |
+| `global-find-tag` | :orange_circle: | Find tag via GNU Global |
+| `global-find-symbol` | :orange_circle: | Find symbol via GNU Global |
+| `global-find-pattern` | :orange_circle: | Find pattern via GNU Global |
+| `global-show-tag-info` | :orange_circle: | Show tag info via GNU Global |
+| `global-update-tags` | :orange_circle: | Update GNU Global tags |
+
+### Round 824: Ctags / Cscope ext (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `ctags-create-tags-table` | :orange_circle: | Create ctags TAGS table |
+| `ctags-update-tags-table` | :orange_circle: | Update ctags TAGS table |
+| `ctags-find-tag-from-here` | :orange_circle: | Find tag at point via ctags |
+| `ctags-find-tag-regexp` | :orange_circle: | Find tag by regexp via ctags |
+| `ctags-pop-tag-mark` | :orange_circle: | Pop ctags tag mark stack |
+| `cscope-find-global-definition` | :orange_circle: | Find global definition via cscope |
+| `cscope-find-this-symbol` | :orange_circle: | Find symbol via cscope |
+| `cscope-find-functions-calling` | :orange_circle: | Find functions calling via cscope |
+| `cscope-find-called-functions` | :orange_circle: | Find called functions via cscope |
+| `cscope-find-text-string` | :orange_circle: | Find text string via cscope |
+
+### Round 825: Dape (Debug Adapter Protocol) (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `dape-start` | :orange_circle: | Start Dape debug session |
+| `dape-continue` | :orange_circle: | Continue Dape execution |
+| `dape-next` | :orange_circle: | Step over in Dape |
+| `dape-step-in` | :orange_circle: | Step into in Dape |
+| `dape-step-out` | :orange_circle: | Step out in Dape |
+| `dape-disconnect` | :orange_circle: | Disconnect Dape session |
+| `dape-eval-expression` | :orange_circle: | Evaluate expression in Dape |
+| `dape-breakpoint-remove-all` | :orange_circle: | Remove all Dape breakpoints |
+| `dape-watch-dwim` | :orange_circle: | Add/remove Dape watch expression |
+| `dape-info` | :orange_circle: | Show Dape session info |
+
+### Round 826: DAP-mode ext 2 / Realgud ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `dap-ui-local-toggle` | :orange_circle: | Toggle DAP local variables panel |
+| `dap-ui-sessions-toggle` | :orange_circle: | Toggle DAP sessions panel |
+| `dap-ui-breakpoints-toggle` | :orange_circle: | Toggle DAP breakpoints panel |
+| `dap-ui-repl-toggle` | :orange_circle: | Toggle DAP REPL panel |
+| `dap-ui-expressions-toggle` | :orange_circle: | Toggle DAP expressions panel |
+| `realgud-node-debug` | :orange_circle: | Start RealGUD Node.js debugger |
+| `realgud-ipdb` | :orange_circle: | Start RealGUD ipdb debugger |
+| `realgud-byebug` | :orange_circle: | Start RealGUD byebug debugger |
+| `realgud-rdebug` | :orange_circle: | Start RealGUD rdebug debugger |
+| `realgud-remake` | :orange_circle: | Start RealGUD remake debugger |
+
+### Round 827: Eat-Compile / Compile ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `eat-compile-mode` | :orange_circle: | Enable eat-compile mode |
+| `eat-compile-terminal` | :orange_circle: | Open eat-compile terminal |
+| `eat-compile-scroll-output` | :orange_circle: | Scroll eat-compile output |
+| `eat-compile-ansi-colors` | :orange_circle: | Toggle eat-compile ANSI colors |
+| `eat-compile-buffer-size` | :orange_circle: | Set eat-compile buffer size |
+| `compile-goto-error-next` | :orange_circle: | Go to next compilation error |
+| `compile-goto-error-previous` | :orange_circle: | Go to previous compilation error |
+| `compile-rerun` | :orange_circle: | Rerun last compilation |
+| `compile-kill-compilation` | :orange_circle: | Kill current compilation |
+| `compile-filter-hook` | :orange_circle: | Set compilation filter hook |
+
+### Round 828: Flymake-shellcheck / Flymake-ruff (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `flymake-shellcheck-mode` | :orange_circle: | Enable flymake-shellcheck mode |
+| `flymake-shellcheck-load` | :orange_circle: | Load flymake-shellcheck backend |
+| `flymake-shellcheck-exclude` | :orange_circle: | Exclude shellcheck rules |
+| `flymake-shellcheck-shell` | :orange_circle: | Set shellcheck shell dialect |
+| `flymake-shellcheck-severity` | :orange_circle: | Set shellcheck severity level |
+| `flymake-ruff-mode` | :orange_circle: | Enable flymake-ruff mode |
+| `flymake-ruff-load` | :orange_circle: | Load flymake-ruff backend |
+| `flymake-ruff-fix` | :orange_circle: | Auto-fix ruff violations |
+| `flymake-ruff-format` | :orange_circle: | Format buffer with ruff |
+| `flymake-ruff-exclude` | :orange_circle: | Exclude ruff rules |
+
+### Round 829: Apheleia / Format-all ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `apheleia-format-region` | :orange_circle: | Format region with Apheleia |
+| `apheleia-format-on-save` | :orange_circle: | Toggle Apheleia format on save |
+| `apheleia-format-after-save` | :orange_circle: | Toggle Apheleia format after save |
+| `apheleia-global-mode` | :orange_circle: | Enable Apheleia global mode |
+| `apheleia-mode-alist` | :orange_circle: | Configure Apheleia mode alist |
+| `format-all-ensure-formatter` | :orange_circle: | Ensure format-all formatter |
+| `format-all-buffer-silently` | :orange_circle: | Format buffer silently |
+| `format-all-default-formatters` | :orange_circle: | Show default formatters |
+| `format-all-mode-alist` | :orange_circle: | Configure format-all mode alist |
+| `format-all-update` | :orange_circle: | Update format-all formatters |
+
+### Round 830: Treesit-auto / Treesit-fold ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `treesit-auto-mode` | :orange_circle: | Enable treesit-auto mode |
+| `treesit-auto-install-all` | :orange_circle: | Install all treesit grammars |
+| `treesit-auto-add-to-auto-mode-alist` | :orange_circle: | Add treesit to auto-mode-alist |
+| `treesit-auto-recipe` | :orange_circle: | Show treesit-auto recipe |
+| `treesit-auto-langs` | :orange_circle: | List treesit-auto languages |
+| `treesit-fold-close-all-in-region` | :orange_circle: | Close all folds in region |
+| `treesit-fold-open-all-in-region` | :orange_circle: | Open all folds in region |
+| `treesit-fold-at-point` | :orange_circle: | Toggle fold at point |
+| `treesit-fold-mode-toggle` | :orange_circle: | Toggle treesit fold mode |
+| `treesit-fold-indicators` | :orange_circle: | Toggle fold indicators |
+
+### Round 831: Evil-nerd-commenter / Comment-dwim-2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `evilnc-comment-operator` | :orange_circle: | Evil nerd commenter operator |
+| `evilnc-comment-or-uncomment-paragraphs` | :orange_circle: | Comment/uncomment paragraphs |
+| `evilnc-copy-and-comment-lines` | :orange_circle: | Copy and comment lines |
+| `evilnc-inner-commenter` | :orange_circle: | Select inner comment text object |
+| `evilnc-outer-commenter` | :orange_circle: | Select outer comment text object |
+| `comment-dwim-2-inline` | :orange_circle: | Inline comment with comment-dwim-2 |
+| `comment-dwim-2-kill` | :orange_circle: | Kill comment with comment-dwim-2 |
+| `comment-dwim-2-reindent` | :orange_circle: | Reindent comment with comment-dwim-2 |
+| `comment-dwim-2-uncomment` | :orange_circle: | Uncomment with comment-dwim-2 |
+| `comment-dwim-2-region` | :orange_circle: | Comment region with comment-dwim-2 |
+
+### Round 832: Smartparens ext 2 / Electric-pair ext (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `sp-forward-barf-sexp` | :orange_circle: | Barf sexp forward |
+| `sp-backward-barf-sexp` | :orange_circle: | Barf sexp backward |
+| `sp-beginning-of-next-sexp` | :orange_circle: | Go to beginning of next sexp |
+| `sp-add-to-next-sexp` | :orange_circle: | Add to next sexp |
+| `sp-add-to-previous-sexp` | :orange_circle: | Add to previous sexp |
+| `electric-pair-post-self-insert` | :orange_circle: | Electric pair post self insert |
+| `electric-pair-open-newline-between-pairs` | :orange_circle: | Open newline between pairs |
+| `electric-pair-text-pairs` | :orange_circle: | Configure electric pair text pairs |
+| `electric-pair-skip-whitespace` | :orange_circle: | Toggle electric pair skip whitespace |
+| `electric-pair-delete-adjacent` | :orange_circle: | Delete adjacent electric pair |
+
+### Round 833: Evil-surround ext 2 / Embrace ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `evil-surround-region-with` | :orange_circle: | Surround region with pair |
+| `evil-surround-delete-pair` | :orange_circle: | Delete surrounding pair |
+| `evil-surround-change-inner` | :orange_circle: | Change inner surrounding |
+| `evil-surround-change-outer` | :orange_circle: | Change outer surrounding |
+| `evil-surround-yank` | :orange_circle: | Yank surrounding pair |
+| `embrace-add-pair` | :orange_circle: | Add embrace pair |
+| `embrace-delete-pair` | :orange_circle: | Delete embrace pair |
+| `embrace-change-pair` | :orange_circle: | Change embrace pair |
+| `embrace-with-tag` | :orange_circle: | Embrace with HTML tag |
+| `embrace-lazy-pair` | :orange_circle: | Add lazy embrace pair |
+
+### Round 834: Multiple-cursors ext 2 / Iedit ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `mc-edit-beginnings-of-lines` | :orange_circle: | Edit beginnings of lines |
+| `mc-edit-ends-of-lines` | :orange_circle: | Edit ends of lines |
+| `mc-cycle-forward` | :orange_circle: | Cycle cursors forward |
+| `mc-cycle-backward` | :orange_circle: | Cycle cursors backward |
+| `mc-mark-pop` | :orange_circle: | Pop last cursor mark |
+| `iedit-expand-up-to-occurrence` | :orange_circle: | Expand iedit up to occurrence |
+| `iedit-restrict-function` | :orange_circle: | Restrict iedit to function |
+| `iedit-restrict-current-line` | :orange_circle: | Restrict iedit to current line |
+| `iedit-toggle-unmatched-lines` | :orange_circle: | Toggle unmatched lines in iedit |
+| `iedit-apply-global` | :orange_circle: | Apply iedit changes globally |
+
+### Round 835: Winum / Ace-window ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `winum-select-window-by-number` | :orange_circle: | Select window by number |
+| `winum-select-window-0` | :orange_circle: | Select window 0 |
+| `winum-select-window-1` | :orange_circle: | Select window 1 |
+| `winum-select-window-2` | :orange_circle: | Select window 2 |
+| `winum-select-window-3` | :orange_circle: | Select window 3 |
+| `ace-window-swap` | :orange_circle: | Swap windows with ace-window |
+| `ace-window-delete-other` | :orange_circle: | Delete other windows via ace |
+| `ace-window-move` | :orange_circle: | Move buffer to ace window |
+| `ace-window-split-fair` | :orange_circle: | Fair split with ace-window |
+| `ace-window-maximize` | :orange_circle: | Maximize window via ace |
+
+### Round 836: Popper ext 2 / Shackle ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `popper-open-latest` | :orange_circle: | Open latest popup |
+| `popper-open-popup-in-direction` | :orange_circle: | Open popup in direction |
+| `popper-bury-latest` | :orange_circle: | Bury latest popup |
+| `popper-lower-to-popup` | :orange_circle: | Lower buffer to popup |
+| `popper-kill-latest` | :orange_circle: | Kill latest popup |
+| `shackle-rules-add` | :orange_circle: | Add shackle display rule |
+| `shackle-rules-remove` | :orange_circle: | Remove shackle display rule |
+| `shackle-display-next` | :orange_circle: | Display next shackle buffer |
+| `shackle-display-prev` | :orange_circle: | Display previous shackle buffer |
+| `shackle-last-buffer` | :orange_circle: | Switch to last shackle buffer |
+
+### Round 837: Tab-bar ext 2 / Tab-line ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `tab-bar-pin-tab` | :orange_circle: | Pin current tab |
+| `tab-bar-duplicate-tab` | :orange_circle: | Duplicate current tab |
+| `tab-bar-close-group-tabs` | :orange_circle: | Close tab group tabs |
+| `tab-bar-change-tab-group` | :orange_circle: | Change tab group |
+| `tab-bar-switch-to-last-tab` | :orange_circle: | Switch to last tab |
+| `tab-line-switch-to-next-tab` | :orange_circle: | Switch to next tab-line tab |
+| `tab-line-switch-to-prev-tab` | :orange_circle: | Switch to previous tab-line tab |
+| `tab-line-close-tab` | :orange_circle: | Close tab-line tab |
+| `tab-line-new-tab` | :orange_circle: | New tab-line tab |
+| `tab-line-mode-toggle` | :orange_circle: | Toggle tab-line mode |
+
+### Round 838: Windmove ext 2 / Framemove ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `windmove-display-in-direction-up` | :orange_circle: | Display buffer in window above |
+| `windmove-display-in-direction-down` | :orange_circle: | Display buffer in window below |
+| `windmove-display-in-direction-left` | :orange_circle: | Display buffer in window left |
+| `windmove-display-in-direction-right` | :orange_circle: | Display buffer in window right |
+| `windmove-default-keybindings-setup` | :orange_circle: | Setup windmove keybindings |
+| `framemove-up` | :orange_circle: | Move to frame above |
+| `framemove-down` | :orange_circle: | Move to frame below |
+| `framemove-left` | :orange_circle: | Move to frame left |
+| `framemove-right` | :orange_circle: | Move to frame right |
+| `framemove-default-keybindings` | :orange_circle: | Setup framemove keybindings |
+
+### Round 839: Transpose-frame / Window-layout (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `transpose-frame-vertically` | :orange_circle: | Transpose frame vertically |
+| `transpose-frame-horizontally` | :orange_circle: | Transpose frame horizontally |
+| `rotate-frame-toggle` | :orange_circle: | Toggle frame rotation |
+| `rotate-frame-180` | :orange_circle: | Rotate frame 180 degrees |
+| `window-layout-save` | :orange_circle: | Save window layout |
+| `window-swap-states-dir-up` | :orange_circle: | Swap window states up |
+| `window-swap-states-dir-down` | :orange_circle: | Swap window states down |
+| `window-swap-states-dir-left` | :orange_circle: | Swap window states left |
+| `window-swap-states-dir-right` | :orange_circle: | Swap window states right |
+| `buf-move-auto` | :orange_circle: | Auto buffer move |
+
+### Round 840: Winner ext 2 / Burly ext 2 (10 commands)
+| Command | Status | Description |
+|---------|--------|-------------|
+| `winner-redo-all` | :orange_circle: | Redo all winner configurations |
+| `winner-save-unconditionally` | :orange_circle: | Save winner state unconditionally |
+| `winner-boring-buffers` | :orange_circle: | List winner boring buffers |
+| `winner-boring-buffers-add` | :orange_circle: | Add to winner boring buffers |
+| `winner-ring-size` | :orange_circle: | Set winner ring size |
+| `burly-open-last-bookmark` | :orange_circle: | Open last Burly bookmark |
+| `burly-kill-frames` | :orange_circle: | Kill Burly frames |
+| `burly-tabs-mode` | :orange_circle: | Enable Burly tabs mode |
+| `burly-reset-tab` | :orange_circle: | Reset Burly tab |
+| `burly-open-url` | :orange_circle: | Open Burly URL |
 ### Round 631 — Process Calculi (Pi-calculus, CSP)
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 66cafe9..a1797cc 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -35573,3 +35573,183 @@
 (def (cmd-sly-quicklisp-list app) (let* ((echo (app-state-echo app))) (echo-message! echo "SLY-Quicklisp: list")))
 (def (cmd-sly-quicklisp-search app) (let* ((echo (app-state-echo app))) (echo-message! echo "SLY-Quicklisp: search")))
 (def (cmd-sly-quicklisp-uninstall app) (let* ((echo (app-state-echo app))) (echo-message! echo "SLY-Quicklisp: uninstall")))
+
+;; Round 812: Racket-mode ext 2
+(def (cmd-racket-check-syntax-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: check syntax mode")))
+(def (cmd-racket-xp-describe app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: xp describe")))
+(def (cmd-racket-xp-documentation app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: xp documentation")))
+(def (cmd-racket-xp-visit-definition app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: xp visit definition")))
+(def (cmd-racket-smart-open-bracket app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: smart open bracket")))
+(def (cmd-racket-unicode-input-method app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: unicode input method")))
+(def (cmd-racket-cycle-paren-shapes app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: cycle paren shapes")))
+(def (cmd-racket-insert-closing app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: insert closing")))
+(def (cmd-racket-align app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: align")))
+(def (cmd-racket-unalign app) (let* ((echo (app-state-echo app))) (echo-message! echo "Racket: unalign")))
+
+;; Round 814: Prolog / Datalog ext
+(def (cmd-prolog-consult-file app) (let* ((echo (app-state-echo app))) (echo-message! echo "Prolog: consult file")))
+(def (cmd-prolog-consult-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Prolog: consult buffer")))
+(def (cmd-prolog-consult-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Prolog: consult region")))
+(def (cmd-prolog-run-query app) (let* ((echo (app-state-echo app))) (echo-message! echo "Prolog: run query")))
+(def (cmd-prolog-trace-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Prolog: trace mode")))
+(def (cmd-datalog-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Datalog: mode")))
+(def (cmd-datalog-eval app) (let* ((echo (app-state-echo app))) (echo-message! echo "Datalog: eval")))
+(def (cmd-datalog-eval-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Datalog: eval buffer")))
+(def (cmd-datalog-format app) (let* ((echo (app-state-echo app))) (echo-message! echo "Datalog: format")))
+(def (cmd-datalog-insert-rule app) (let* ((echo (app-state-echo app))) (echo-message! echo "Datalog: insert rule")))
+
+;; Round 816: TLA+ / Alloy ext
+(def (cmd-tlaplus-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "TLA+: mode")))
+(def (cmd-tlaplus-goto-definition app) (let* ((echo (app-state-echo app))) (echo-message! echo "TLA+: goto definition")))
+(def (cmd-tlaplus-format app) (let* ((echo (app-state-echo app))) (echo-message! echo "TLA+: format")))
+(def (cmd-tlaplus-find-uses app) (let* ((echo (app-state-echo app))) (echo-message! echo "TLA+: find uses")))
+(def (cmd-tlaplus-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "TLA+: insert template")))
+(def (cmd-alloy-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Alloy: mode")))
+(def (cmd-alloy-show-instance app) (let* ((echo (app-state-echo app))) (echo-message! echo "Alloy: show instance")))
+(def (cmd-alloy-next-solution app) (let* ((echo (app-state-echo app))) (echo-message! echo "Alloy: next solution")))
+(def (cmd-alloy-prev-solution app) (let* ((echo (app-state-echo app))) (echo-message! echo "Alloy: prev solution")))
+(def (cmd-alloy-save-instance app) (let* ((echo (app-state-echo app))) (echo-message! echo "Alloy: save instance")))
+
+;; Round 818: Graphviz / D2 ext
+(def (cmd-graphviz-set-engine app) (let* ((echo (app-state-echo app))) (echo-message! echo "Graphviz: set engine")))
+(def (cmd-graphviz-open-in-browser app) (let* ((echo (app-state-echo app))) (echo-message! echo "Graphviz: open in browser")))
+(def (cmd-graphviz-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "Graphviz: insert template")))
+(def (cmd-graphviz-export-png app) (let* ((echo (app-state-echo app))) (echo-message! echo "Graphviz: export PNG")))
+(def (cmd-graphviz-export-svg app) (let* ((echo (app-state-echo app))) (echo-message! echo "Graphviz: export SVG")))
+(def (cmd-d2-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "D2: preview")))
+(def (cmd-d2-watch app) (let* ((echo (app-state-echo app))) (echo-message! echo "D2: watch")))
+(def (cmd-d2-format app) (let* ((echo (app-state-echo app))) (echo-message! echo "D2: format")))
+(def (cmd-d2-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "D2: insert template")))
+(def (cmd-d2-export-png app) (let* ((echo (app-state-echo app))) (echo-message! echo "D2: export PNG")))
+
+;; Round 820: Markdown ext 2 / Grip ext
+(def (cmd-markdown-outline-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "Markdown: outline toggle")))
+(def (cmd-markdown-cycle-list-item app) (let* ((echo (app-state-echo app))) (echo-message! echo "Markdown: cycle list item")))
+(def (cmd-markdown-backward-same-level app) (let* ((echo (app-state-echo app))) (echo-message! echo "Markdown: backward same level")))
+(def (cmd-markdown-forward-paragraph app) (let* ((echo (app-state-echo app))) (echo-message! echo "Markdown: forward paragraph")))
+(def (cmd-markdown-toc-generate app) (let* ((echo (app-state-echo app))) (echo-message! echo "Markdown: TOC generate")))
+(def (cmd-grip-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Grip: mode")))
+(def (cmd-grip-start-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Grip: start preview")))
+(def (cmd-grip-stop-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Grip: stop preview")))
+(def (cmd-grip-restart-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Grip: restart preview")))
+(def (cmd-grip-browse-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Grip: browse preview")))
+
+;; Round 822: LSP-bridge ext / Citre
+(def (cmd-lsp-bridge-diagnostic-list app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: diagnostic list")))
+(def (cmd-lsp-bridge-diagnostic-next app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: diagnostic next")))
+(def (cmd-lsp-bridge-diagnostic-prev app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: diagnostic prev")))
+(def (cmd-lsp-bridge-peek app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: peek")))
+(def (cmd-lsp-bridge-popup-documentation app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: popup documentation")))
+(def (cmd-citre-update-tags-file app) (let* ((echo (app-state-echo app))) (echo-message! echo "Citre: update tags file")))
+(def (cmd-citre-peek-restore app) (let* ((echo (app-state-echo app))) (echo-message! echo "Citre: peek restore")))
+(def (cmd-citre-peek-through app) (let* ((echo (app-state-echo app))) (echo-message! echo "Citre: peek through")))
+(def (cmd-citre-global-tags app) (let* ((echo (app-state-echo app))) (echo-message! echo "Citre: global tags")))
+(def (cmd-citre-global-update app) (let* ((echo (app-state-echo app))) (echo-message! echo "Citre: global update")))
+
+;; Round 824: Ctags / Cscope ext
+(def (cmd-ctags-create-tags-table app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ctags: create tags table")))
+(def (cmd-ctags-update-tags-table app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ctags: update tags table")))
+(def (cmd-ctags-find-tag-from-here app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ctags: find tag from here")))
+(def (cmd-ctags-find-tag-regexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ctags: find tag regexp")))
+(def (cmd-ctags-pop-tag-mark app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ctags: pop tag mark")))
+(def (cmd-cscope-find-global-definition app) (let* ((echo (app-state-echo app))) (echo-message! echo "Cscope: find global definition")))
+(def (cmd-cscope-find-this-symbol app) (let* ((echo (app-state-echo app))) (echo-message! echo "Cscope: find this symbol")))
+(def (cmd-cscope-find-functions-calling app) (let* ((echo (app-state-echo app))) (echo-message! echo "Cscope: find functions calling")))
+(def (cmd-cscope-find-called-functions app) (let* ((echo (app-state-echo app))) (echo-message! echo "Cscope: find called functions")))
+(def (cmd-cscope-find-text-string app) (let* ((echo (app-state-echo app))) (echo-message! echo "Cscope: find text string")))
+
+;; Round 826: DAP-mode ext 2 / Realgud ext 2
+(def (cmd-dap-ui-local-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "DAP-UI: local toggle")))
+(def (cmd-dap-ui-sessions-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "DAP-UI: sessions toggle")))
+(def (cmd-dap-ui-breakpoints-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "DAP-UI: breakpoints toggle")))
+(def (cmd-dap-ui-repl-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "DAP-UI: REPL toggle")))
+(def (cmd-dap-ui-expressions-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "DAP-UI: expressions toggle")))
+(def (cmd-realgud-rdebug app) (let* ((echo (app-state-echo app))) (echo-message! echo "Realgud: rdebug")))
+(def (cmd-realgud-byebug app) (let* ((echo (app-state-echo app))) (echo-message! echo "Realgud: byebug")))
+(def (cmd-realgud-ipdb app) (let* ((echo (app-state-echo app))) (echo-message! echo "Realgud: ipdb")))
+(def (cmd-realgud-node-debug app) (let* ((echo (app-state-echo app))) (echo-message! echo "Realgud: node debug")))
+(def (cmd-realgud-remake app) (let* ((echo (app-state-echo app))) (echo-message! echo "Realgud: remake")))
+
+;; Round 828: Flymake-shellcheck / Flymake-ruff
+(def (cmd-flymake-shellcheck-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-shellcheck: mode")))
+(def (cmd-flymake-shellcheck-load app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-shellcheck: load")))
+(def (cmd-flymake-shellcheck-exclude app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-shellcheck: exclude")))
+(def (cmd-flymake-shellcheck-shell app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-shellcheck: shell")))
+(def (cmd-flymake-shellcheck-severity app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-shellcheck: severity")))
+(def (cmd-flymake-ruff-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-ruff: mode")))
+(def (cmd-flymake-ruff-load app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-ruff: load")))
+(def (cmd-flymake-ruff-fix app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-ruff: fix")))
+(def (cmd-flymake-ruff-format app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-ruff: format")))
+(def (cmd-flymake-ruff-exclude app) (let* ((echo (app-state-echo app))) (echo-message! echo "Flymake-ruff: exclude")))
+
+;; Round 830: Treesit-auto / Treesit-fold ext 2
+(def (cmd-treesit-auto-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-auto: mode")))
+(def (cmd-treesit-auto-install-all app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-auto: install all")))
+(def (cmd-treesit-auto-add-to-auto-mode-alist app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-auto: add to auto-mode-alist")))
+(def (cmd-treesit-auto-recipe app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-auto: recipe")))
+(def (cmd-treesit-auto-langs app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-auto: langs")))
+(def (cmd-treesit-fold-close-all-in-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-fold: close all in region")))
+(def (cmd-treesit-fold-open-all-in-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-fold: open all in region")))
+(def (cmd-treesit-fold-at-point app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-fold: at point")))
+(def (cmd-treesit-fold-mode-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-fold: mode toggle")))
+(def (cmd-treesit-fold-indicators app) (let* ((echo (app-state-echo app))) (echo-message! echo "Treesit-fold: indicators")))
+
+;; Round 832: Smartparens ext 2 / Electric-pair ext
+(def (cmd-sp-forward-barf-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "SP: forward barf sexp")))
+(def (cmd-sp-backward-barf-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "SP: backward barf sexp")))
+(def (cmd-sp-add-to-next-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "SP: add to next sexp")))
+(def (cmd-sp-add-to-previous-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "SP: add to previous sexp")))
+(def (cmd-sp-beginning-of-next-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "SP: beginning of next sexp")))
+(def (cmd-electric-pair-post-self-insert app) (let* ((echo (app-state-echo app))) (echo-message! echo "Electric-pair: post self insert")))
+(def (cmd-electric-pair-open-newline-between-pairs app) (let* ((echo (app-state-echo app))) (echo-message! echo "Electric-pair: open newline between pairs")))
+(def (cmd-electric-pair-text-pairs app) (let* ((echo (app-state-echo app))) (echo-message! echo "Electric-pair: text pairs")))
+(def (cmd-electric-pair-skip-whitespace app) (let* ((echo (app-state-echo app))) (echo-message! echo "Electric-pair: skip whitespace")))
+(def (cmd-electric-pair-delete-adjacent app) (let* ((echo (app-state-echo app))) (echo-message! echo "Electric-pair: delete adjacent")))
+
+;; Round 834: Multiple-cursors ext 2 / Iedit ext 2
+(def (cmd-mc-mark-pop app) (let* ((echo (app-state-echo app))) (echo-message! echo "MC: mark pop")))
+(def (cmd-mc-cycle-forward app) (let* ((echo (app-state-echo app))) (echo-message! echo "MC: cycle forward")))
+(def (cmd-mc-cycle-backward app) (let* ((echo (app-state-echo app))) (echo-message! echo "MC: cycle backward")))
+(def (cmd-mc-edit-beginnings-of-lines app) (let* ((echo (app-state-echo app))) (echo-message! echo "MC: edit beginnings of lines")))
+(def (cmd-mc-edit-ends-of-lines app) (let* ((echo (app-state-echo app))) (echo-message! echo "MC: edit ends of lines")))
+(def (cmd-iedit-toggle-unmatched-lines app) (let* ((echo (app-state-echo app))) (echo-message! echo "Iedit: toggle unmatched lines")))
+(def (cmd-iedit-expand-up-to-occurrence app) (let* ((echo (app-state-echo app))) (echo-message! echo "Iedit: expand up to occurrence")))
+(def (cmd-iedit-restrict-function app) (let* ((echo (app-state-echo app))) (echo-message! echo "Iedit: restrict function")))
+(def (cmd-iedit-restrict-current-line app) (let* ((echo (app-state-echo app))) (echo-message! echo "Iedit: restrict current line")))
+(def (cmd-iedit-apply-global app) (let* ((echo (app-state-echo app))) (echo-message! echo "Iedit: apply global")))
+
+;; Round 836: Popper ext 2 / Shackle ext 2
+(def (cmd-popper-open-latest app) (let* ((echo (app-state-echo app))) (echo-message! echo "Popper: open latest")))
+(def (cmd-popper-lower-to-popup app) (let* ((echo (app-state-echo app))) (echo-message! echo "Popper: lower to popup")))
+(def (cmd-popper-kill-latest app) (let* ((echo (app-state-echo app))) (echo-message! echo "Popper: kill latest")))
+(def (cmd-popper-bury-latest app) (let* ((echo (app-state-echo app))) (echo-message! echo "Popper: bury latest")))
+(def (cmd-popper-open-popup-in-direction app) (let* ((echo (app-state-echo app))) (echo-message! echo "Popper: open in direction")))
+(def (cmd-shackle-rules-add app) (let* ((echo (app-state-echo app))) (echo-message! echo "Shackle: rules add")))
+(def (cmd-shackle-rules-remove app) (let* ((echo (app-state-echo app))) (echo-message! echo "Shackle: rules remove")))
+(def (cmd-shackle-display-next app) (let* ((echo (app-state-echo app))) (echo-message! echo "Shackle: display next")))
+(def (cmd-shackle-display-prev app) (let* ((echo (app-state-echo app))) (echo-message! echo "Shackle: display prev")))
+(def (cmd-shackle-last-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Shackle: last buffer")))
+
+;; Round 838: Windmove ext 2 / Framemove ext 2
+(def (cmd-windmove-display-in-direction-up app) (let* ((echo (app-state-echo app))) (echo-message! echo "Windmove: display in direction up")))
+(def (cmd-windmove-display-in-direction-down app) (let* ((echo (app-state-echo app))) (echo-message! echo "Windmove: display in direction down")))
+(def (cmd-windmove-display-in-direction-left app) (let* ((echo (app-state-echo app))) (echo-message! echo "Windmove: display in direction left")))
+(def (cmd-windmove-display-in-direction-right app) (let* ((echo (app-state-echo app))) (echo-message! echo "Windmove: display in direction right")))
+(def (cmd-windmove-default-keybindings-setup app) (let* ((echo (app-state-echo app))) (echo-message! echo "Windmove: default keybindings setup")))
+(def (cmd-framemove-up app) (let* ((echo (app-state-echo app))) (echo-message! echo "Framemove: up")))
+(def (cmd-framemove-down app) (let* ((echo (app-state-echo app))) (echo-message! echo "Framemove: down")))
+(def (cmd-framemove-left app) (let* ((echo (app-state-echo app))) (echo-message! echo "Framemove: left")))
+(def (cmd-framemove-right app) (let* ((echo (app-state-echo app))) (echo-message! echo "Framemove: right")))
+(def (cmd-framemove-default-keybindings app) (let* ((echo (app-state-echo app))) (echo-message! echo "Framemove: default keybindings")))
+
+;; Round 840: Winner ext 2 / Burly ext 2
+(def (cmd-winner-redo-all app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winner: redo all")))
+(def (cmd-winner-save-unconditionally app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winner: save unconditionally")))
+(def (cmd-winner-ring-size app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winner: ring size")))
+(def (cmd-winner-boring-buffers app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winner: boring buffers")))
+(def (cmd-winner-boring-buffers-add app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winner: boring buffers add")))
+(def (cmd-burly-open-last-bookmark app) (let* ((echo (app-state-echo app))) (echo-message! echo "Burly: open last bookmark")))
+(def (cmd-burly-kill-frames app) (let* ((echo (app-state-echo app))) (echo-message! echo "Burly: kill frames")))
+(def (cmd-burly-tabs-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Burly: tabs mode")))
+(def (cmd-burly-reset-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Burly: reset tab")))
+(def (cmd-burly-open-url app) (let* ((echo (app-state-echo app))) (echo-message! echo "Burly: open URL")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 33d99a2..c978be2 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -34797,3 +34797,183 @@
 (def (cmd-hexl-bits-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Hexl: bits mode")))
 (def (cmd-hexl-quoted-insert app) (let* ((echo (app-state-echo app))) (echo-message! echo "Hexl: quoted insert")))
 (def (cmd-hexl-set-address app) (let* ((echo (app-state-echo app))) (echo-message! echo "Hexl: set address")))
+
+;; Round 811: Geiser ext 2 (Scheme REPL)
+(def (cmd-geiser-expand-last-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: expand last sexp")))
+(def (cmd-geiser-restart-repl app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: restart REPL")))
+(def (cmd-geiser-edit-module app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: edit module")))
+(def (cmd-geiser-insert-lambda app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: insert lambda")))
+(def (cmd-geiser-log-clear app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: log clear")))
+(def (cmd-geiser-debug app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: debug")))
+(def (cmd-geiser-switch-to-repl app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: switch to REPL")))
+(def (cmd-geiser-load-current-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: load current buffer")))
+(def (cmd-geiser-switch-to-repl-and-enter app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: switch to REPL and enter")))
+(def (cmd-geiser-callers app) (let* ((echo (app-state-echo app))) (echo-message! echo "Geiser: callers")))
+
+;; Round 813: Guile ext 2 / Chez ext
+(def (cmd-guile-eval-last-sexp app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guile: eval last sexp")))
+(def (cmd-guile-set-module app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guile: set module")))
+(def (cmd-guile-compile app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guile: compile")))
+(def (cmd-guile-show-doc app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guile: show doc")))
+(def (cmd-guile-find-module app) (let* ((echo (app-state-echo app))) (echo-message! echo "Guile: find module")))
+(def (cmd-chez-scheme-eval app) (let* ((echo (app-state-echo app))) (echo-message! echo "Chez: eval")))
+(def (cmd-chez-scheme-eval-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Chez: eval buffer")))
+(def (cmd-chez-scheme-load app) (let* ((echo (app-state-echo app))) (echo-message! echo "Chez: load")))
+(def (cmd-chez-scheme-interrupt app) (let* ((echo (app-state-echo app))) (echo-message! echo "Chez: interrupt")))
+(def (cmd-chez-scheme-inspect app) (let* ((echo (app-state-echo app))) (echo-message! echo "Chez: inspect")))
+
+;; Round 815: Z3 / SMT ext
+(def (cmd-z3-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Z3: mode")))
+(def (cmd-z3-check-sat app) (let* ((echo (app-state-echo app))) (echo-message! echo "Z3: check sat")))
+(def (cmd-z3-get-model app) (let* ((echo (app-state-echo app))) (echo-message! echo "Z3: get model")))
+(def (cmd-z3-simplify app) (let* ((echo (app-state-echo app))) (echo-message! echo "Z3: simplify")))
+(def (cmd-z3-eval-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Z3: eval region")))
+(def (cmd-smt-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMT: mode")))
+(def (cmd-smt-get-proof app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMT: get proof")))
+(def (cmd-smt-push app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMT: push")))
+(def (cmd-smt-pop app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMT: pop")))
+(def (cmd-smt-reset app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMT: reset")))
+
+;; Round 817: Mermaid / PlantUML ext 2
+(def (cmd-mermaid-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Mermaid: preview")))
+(def (cmd-mermaid-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "Mermaid: insert template")))
+(def (cmd-mermaid-set-theme app) (let* ((echo (app-state-echo app))) (echo-message! echo "Mermaid: set theme")))
+(def (cmd-mermaid-export-png app) (let* ((echo (app-state-echo app))) (echo-message! echo "Mermaid: export PNG")))
+(def (cmd-mermaid-export-svg app) (let* ((echo (app-state-echo app))) (echo-message! echo "Mermaid: export SVG")))
+(def (cmd-plantuml-completion-at-point app) (let* ((echo (app-state-echo app))) (echo-message! echo "PlantUML: completion at point")))
+(def (cmd-plantuml-save-as-png app) (let* ((echo (app-state-echo app))) (echo-message! echo "PlantUML: save as PNG")))
+(def (cmd-plantuml-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "PlantUML: insert template")))
+(def (cmd-plantuml-change-theme app) (let* ((echo (app-state-echo app))) (echo-message! echo "PlantUML: change theme")))
+(def (cmd-plantuml-auto-refresh app) (let* ((echo (app-state-echo app))) (echo-message! echo "PlantUML: auto refresh")))
+
+;; Round 819: Typst / Quarto ext
+(def (cmd-typst-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Typst: mode")))
+(def (cmd-typst-compile-buffer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Typst: compile buffer")))
+(def (cmd-typst-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Typst: preview")))
+(def (cmd-typst-format app) (let* ((echo (app-state-echo app))) (echo-message! echo "Typst: format")))
+(def (cmd-typst-insert-template app) (let* ((echo (app-state-echo app))) (echo-message! echo "Typst: insert template")))
+(def (cmd-quarto-preview app) (let* ((echo (app-state-echo app))) (echo-message! echo "Quarto: preview")))
+(def (cmd-quarto-render app) (let* ((echo (app-state-echo app))) (echo-message! echo "Quarto: render")))
+(def (cmd-quarto-publish app) (let* ((echo (app-state-echo app))) (echo-message! echo "Quarto: publish")))
+(def (cmd-quarto-insert-code-block app) (let* ((echo (app-state-echo app))) (echo-message! echo "Quarto: insert code block")))
+(def (cmd-quarto-set-engine app) (let* ((echo (app-state-echo app))) (echo-message! echo "Quarto: set engine")))
+
+;; Round 821: LSP-booster / LSP-bridge
+(def (cmd-lsp-booster-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-booster: mode")))
+(def (cmd-lsp-booster-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-booster: toggle")))
+(def (cmd-lsp-booster-status app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-booster: status")))
+(def (cmd-lsp-booster-restart app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-booster: restart")))
+(def (cmd-lsp-booster-configure app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-booster: configure")))
+(def (cmd-lsp-bridge-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: mode")))
+(def (cmd-lsp-bridge-find-def app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: find definition")))
+(def (cmd-lsp-bridge-find-ref app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: find references")))
+(def (cmd-lsp-bridge-rename app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: rename")))
+(def (cmd-lsp-bridge-code-action app) (let* ((echo (app-state-echo app))) (echo-message! echo "LSP-bridge: code action")))
+
+;; Round 823: GNU-global / GGtags ext
+(def (cmd-ggtags-find-file app) (let* ((echo (app-state-echo app))) (echo-message! echo "GGtags: find file")))
+(def (cmd-ggtags-grep app) (let* ((echo (app-state-echo app))) (echo-message! echo "GGtags: grep")))
+(def (cmd-ggtags-find-other-symbol app) (let* ((echo (app-state-echo app))) (echo-message! echo "GGtags: find other symbol")))
+(def (cmd-ggtags-show-definition app) (let* ((echo (app-state-echo app))) (echo-message! echo "GGtags: show definition")))
+(def (cmd-ggtags-navigation-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "GGtags: navigation mode")))
+(def (cmd-global-find-tag app) (let* ((echo (app-state-echo app))) (echo-message! echo "Global: find tag")))
+(def (cmd-global-find-symbol app) (let* ((echo (app-state-echo app))) (echo-message! echo "Global: find symbol")))
+(def (cmd-global-find-pattern app) (let* ((echo (app-state-echo app))) (echo-message! echo "Global: find pattern")))
+(def (cmd-global-update-tags app) (let* ((echo (app-state-echo app))) (echo-message! echo "Global: update tags")))
+(def (cmd-global-show-tag-info app) (let* ((echo (app-state-echo app))) (echo-message! echo "Global: show tag info")))
+
+;; Round 825: Dape (Debug Adapter Protocol)
+(def (cmd-dape-start app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: start")))
+(def (cmd-dape-next app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: next")))
+(def (cmd-dape-continue app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: continue")))
+(def (cmd-dape-step-in app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: step in")))
+(def (cmd-dape-step-out app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: step out")))
+(def (cmd-dape-breakpoint-remove-all app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: remove all breakpoints")))
+(def (cmd-dape-watch-dwim app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: watch dwim")))
+(def (cmd-dape-eval-expression app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: eval expression")))
+(def (cmd-dape-disconnect app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: disconnect")))
+(def (cmd-dape-info app) (let* ((echo (app-state-echo app))) (echo-message! echo "Dape: info")))
+
+;; Round 827: Eat-Compile / Compile ext 2
+(def (cmd-eat-compile-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eat-compile: mode")))
+(def (cmd-eat-compile-terminal app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eat-compile: terminal")))
+(def (cmd-eat-compile-scroll-output app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eat-compile: scroll output")))
+(def (cmd-eat-compile-ansi-colors app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eat-compile: ANSI colors")))
+(def (cmd-eat-compile-buffer-size app) (let* ((echo (app-state-echo app))) (echo-message! echo "Eat-compile: buffer size")))
+(def (cmd-compile-goto-error-previous app) (let* ((echo (app-state-echo app))) (echo-message! echo "Compile: goto previous error")))
+(def (cmd-compile-goto-error-next app) (let* ((echo (app-state-echo app))) (echo-message! echo "Compile: goto next error")))
+(def (cmd-compile-rerun app) (let* ((echo (app-state-echo app))) (echo-message! echo "Compile: rerun")))
+(def (cmd-compile-kill-compilation app) (let* ((echo (app-state-echo app))) (echo-message! echo "Compile: kill compilation")))
+(def (cmd-compile-filter-hook app) (let* ((echo (app-state-echo app))) (echo-message! echo "Compile: filter hook")))
+
+;; Round 829: Apheleia / Format-all ext 2
+(def (cmd-apheleia-format-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Apheleia: format region")))
+(def (cmd-apheleia-mode-alist app) (let* ((echo (app-state-echo app))) (echo-message! echo "Apheleia: mode alist")))
+(def (cmd-apheleia-global-mode app) (let* ((echo (app-state-echo app))) (echo-message! echo "Apheleia: global mode")))
+(def (cmd-apheleia-format-on-save app) (let* ((echo (app-state-echo app))) (echo-message! echo "Apheleia: format on save")))
+(def (cmd-apheleia-format-after-save app) (let* ((echo (app-state-echo app))) (echo-message! echo "Apheleia: format after save")))
+(def (cmd-format-all-ensure-formatter app) (let* ((echo (app-state-echo app))) (echo-message! echo "Format-all: ensure formatter")))
+(def (cmd-format-all-mode-alist app) (let* ((echo (app-state-echo app))) (echo-message! echo "Format-all: mode alist")))
+(def (cmd-format-all-default-formatters app) (let* ((echo (app-state-echo app))) (echo-message! echo "Format-all: default formatters")))
+(def (cmd-format-all-update app) (let* ((echo (app-state-echo app))) (echo-message! echo "Format-all: update")))
+(def (cmd-format-all-buffer-silently app) (let* ((echo (app-state-echo app))) (echo-message! echo "Format-all: buffer silently")))
+
+;; Round 831: Evil-nerd-commenter / Comment-dwim-2
+(def (cmd-evilnc-comment-operator app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evilnc: comment operator")))
+(def (cmd-evilnc-inner-commenter app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evilnc: inner commenter")))
+(def (cmd-evilnc-outer-commenter app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evilnc: outer commenter")))
+(def (cmd-evilnc-comment-or-uncomment-paragraphs app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evilnc: comment/uncomment paragraphs")))
+(def (cmd-evilnc-copy-and-comment-lines app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evilnc: copy and comment lines")))
+(def (cmd-comment-dwim-2-inline app) (let* ((echo (app-state-echo app))) (echo-message! echo "Comment-dwim-2: inline")))
+(def (cmd-comment-dwim-2-kill app) (let* ((echo (app-state-echo app))) (echo-message! echo "Comment-dwim-2: kill")))
+(def (cmd-comment-dwim-2-reindent app) (let* ((echo (app-state-echo app))) (echo-message! echo "Comment-dwim-2: reindent")))
+(def (cmd-comment-dwim-2-uncomment app) (let* ((echo (app-state-echo app))) (echo-message! echo "Comment-dwim-2: uncomment")))
+(def (cmd-comment-dwim-2-region app) (let* ((echo (app-state-echo app))) (echo-message! echo "Comment-dwim-2: region")))
+
+;; Round 833: Evil-surround ext 2 / Embrace ext 2
+(def (cmd-evil-surround-region-with app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evil-surround: region with")))
+(def (cmd-evil-surround-delete-pair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evil-surround: delete pair")))
+(def (cmd-evil-surround-change-inner app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evil-surround: change inner")))
+(def (cmd-evil-surround-change-outer app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evil-surround: change outer")))
+(def (cmd-evil-surround-yank app) (let* ((echo (app-state-echo app))) (echo-message! echo "Evil-surround: yank")))
+(def (cmd-embrace-add-pair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Embrace: add pair")))
+(def (cmd-embrace-delete-pair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Embrace: delete pair")))
+(def (cmd-embrace-change-pair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Embrace: change pair")))
+(def (cmd-embrace-with-tag app) (let* ((echo (app-state-echo app))) (echo-message! echo "Embrace: with tag")))
+(def (cmd-embrace-lazy-pair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Embrace: lazy pair")))
+
+;; Round 835: Winum / Ace-window ext 2
+(def (cmd-winum-select-window-by-number app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winum: select window by number")))
+(def (cmd-winum-select-window-0 app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winum: select window 0")))
+(def (cmd-winum-select-window-1 app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winum: select window 1")))
+(def (cmd-winum-select-window-2 app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winum: select window 2")))
+(def (cmd-winum-select-window-3 app) (let* ((echo (app-state-echo app))) (echo-message! echo "Winum: select window 3")))
+(def (cmd-ace-window-swap app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ace-window: swap")))
+(def (cmd-ace-window-delete-other app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ace-window: delete other")))
+(def (cmd-ace-window-move app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ace-window: move")))
+(def (cmd-ace-window-split-fair app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ace-window: split fair")))
+(def (cmd-ace-window-maximize app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ace-window: maximize")))
+
+;; Round 837: Tab-bar ext 2 / Tab-line ext 2
+(def (cmd-tab-bar-switch-to-last-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-bar: switch to last tab")))
+(def (cmd-tab-bar-pin-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-bar: pin tab")))
+(def (cmd-tab-bar-duplicate-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-bar: duplicate tab")))
+(def (cmd-tab-bar-close-group-tabs app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-bar: close group tabs")))
+(def (cmd-tab-bar-change-tab-group app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-bar: change tab group")))
+(def (cmd-tab-line-switch-to-next-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-line: switch to next")))
+(def (cmd-tab-line-switch-to-prev-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-line: switch to prev")))
+(def (cmd-tab-line-close-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-line: close tab")))
+(def (cmd-tab-line-new-tab app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-line: new tab")))
+(def (cmd-tab-line-mode-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "Tab-line: mode toggle")))
+
+;; Round 839: Transpose-frame / Window-layout
+(def (cmd-buf-move-auto app) (let* ((echo (app-state-echo app))) (echo-message! echo "Buf-move: auto")))
+(def (cmd-transpose-frame-vertically app) (let* ((echo (app-state-echo app))) (echo-message! echo "Transpose-frame: vertically")))
+(def (cmd-transpose-frame-horizontally app) (let* ((echo (app-state-echo app))) (echo-message! echo "Transpose-frame: horizontally")))
+(def (cmd-rotate-frame-toggle app) (let* ((echo (app-state-echo app))) (echo-message! echo "Rotate-frame: toggle")))
+(def (cmd-rotate-frame-180 app) (let* ((echo (app-state-echo app))) (echo-message! echo "Rotate-frame: 180")))
+(def (cmd-window-swap-states-dir-up app) (let* ((echo (app-state-echo app))) (echo-message! echo "Window: swap states up")))
+(def (cmd-window-swap-states-dir-down app) (let* ((echo (app-state-echo app))) (echo-message! echo "Window: swap states down")))
+(def (cmd-window-swap-states-dir-left app) (let* ((echo (app-state-echo app))) (echo-message! echo "Window: swap states left")))
+(def (cmd-window-swap-states-dir-right app) (let* ((echo (app-state-echo app))) (echo-message! echo "Window: swap states right")))
+(def (cmd-window-layout-save app) (let* ((echo (app-state-echo app))) (echo-message! echo "Window: layout save")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 686da2e..2947f48 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -13638,4 +13638,96 @@
   ;; Round 810: Sly-asdf / Sly-quicklisp
   (register-command! 'sly-asdf-load-system cmd-sly-asdf-load-system) (register-command! 'sly-asdf-browse-system cmd-sly-asdf-browse-system) (register-command! 'sly-asdf-compile-system cmd-sly-asdf-compile-system) (register-command! 'sly-asdf-test-system cmd-sly-asdf-test-system) (register-command! 'sly-asdf-reload-system cmd-sly-asdf-reload-system)
   (register-command! 'sly-quicklisp-install cmd-sly-quicklisp-install) (register-command! 'sly-quicklisp-update cmd-sly-quicklisp-update) (register-command! 'sly-quicklisp-list cmd-sly-quicklisp-list) (register-command! 'sly-quicklisp-search cmd-sly-quicklisp-search) (register-command! 'sly-quicklisp-uninstall cmd-sly-quicklisp-uninstall)
+
+  ;; Round 811: Geiser ext 2
+  (register-command! 'geiser-expand-last-sexp cmd-geiser-expand-last-sexp) (register-command! 'geiser-restart-repl cmd-geiser-restart-repl) (register-command! 'geiser-edit-module cmd-geiser-edit-module) (register-command! 'geiser-insert-lambda cmd-geiser-insert-lambda) (register-command! 'geiser-log-clear cmd-geiser-log-clear)
+  (register-command! 'geiser-debug cmd-geiser-debug) (register-command! 'geiser-switch-to-repl cmd-geiser-switch-to-repl) (register-command! 'geiser-load-current-buffer cmd-geiser-load-current-buffer) (register-command! 'geiser-switch-to-repl-and-enter cmd-geiser-switch-to-repl-and-enter) (register-command! 'geiser-callers cmd-geiser-callers)
+  ;; Round 812: Racket-mode ext 2
+  (register-command! 'racket-check-syntax-mode cmd-racket-check-syntax-mode) (register-command! 'racket-xp-describe cmd-racket-xp-describe) (register-command! 'racket-xp-documentation cmd-racket-xp-documentation) (register-command! 'racket-xp-visit-definition cmd-racket-xp-visit-definition) (register-command! 'racket-smart-open-bracket cmd-racket-smart-open-bracket)
+  (register-command! 'racket-unicode-input-method cmd-racket-unicode-input-method) (register-command! 'racket-cycle-paren-shapes cmd-racket-cycle-paren-shapes) (register-command! 'racket-insert-closing cmd-racket-insert-closing) (register-command! 'racket-align cmd-racket-align) (register-command! 'racket-unalign cmd-racket-unalign)
+  ;; Round 813: Guile ext 2 / Chez ext
+  (register-command! 'guile-eval-last-sexp cmd-guile-eval-last-sexp) (register-command! 'guile-set-module cmd-guile-set-module) (register-command! 'guile-compile cmd-guile-compile) (register-command! 'guile-show-doc cmd-guile-show-doc) (register-command! 'guile-find-module cmd-guile-find-module)
+  (register-command! 'chez-scheme-eval cmd-chez-scheme-eval) (register-command! 'chez-scheme-eval-buffer cmd-chez-scheme-eval-buffer) (register-command! 'chez-scheme-load cmd-chez-scheme-load) (register-command! 'chez-scheme-interrupt cmd-chez-scheme-interrupt) (register-command! 'chez-scheme-inspect cmd-chez-scheme-inspect)
+  ;; Round 814: Prolog / Datalog ext
+  (register-command! 'prolog-consult-file cmd-prolog-consult-file) (register-command! 'prolog-consult-buffer cmd-prolog-consult-buffer) (register-command! 'prolog-consult-region cmd-prolog-consult-region) (register-command! 'prolog-run-query cmd-prolog-run-query) (register-command! 'prolog-trace-mode cmd-prolog-trace-mode)
+  (register-command! 'datalog-mode cmd-datalog-mode) (register-command! 'datalog-eval cmd-datalog-eval) (register-command! 'datalog-eval-buffer cmd-datalog-eval-buffer) (register-command! 'datalog-format cmd-datalog-format) (register-command! 'datalog-insert-rule cmd-datalog-insert-rule)
+  ;; Round 815: Z3 / SMT ext
+  (register-command! 'z3-mode cmd-z3-mode) (register-command! 'z3-check-sat cmd-z3-check-sat) (register-command! 'z3-get-model cmd-z3-get-model) (register-command! 'z3-simplify cmd-z3-simplify) (register-command! 'z3-eval-region cmd-z3-eval-region)
+  (register-command! 'smt-mode cmd-smt-mode) (register-command! 'smt-get-proof cmd-smt-get-proof) (register-command! 'smt-push cmd-smt-push) (register-command! 'smt-pop cmd-smt-pop) (register-command! 'smt-reset cmd-smt-reset)
+  ;; Round 816: TLA+ / Alloy ext
+  (register-command! 'tlaplus-mode cmd-tlaplus-mode) (register-command! 'tlaplus-goto-definition cmd-tlaplus-goto-definition) (register-command! 'tlaplus-format cmd-tlaplus-format) (register-command! 'tlaplus-find-uses cmd-tlaplus-find-uses) (register-command! 'tlaplus-insert-template cmd-tlaplus-insert-template)
+  (register-command! 'alloy-mode cmd-alloy-mode) (register-command! 'alloy-show-instance cmd-alloy-show-instance) (register-command! 'alloy-next-solution cmd-alloy-next-solution) (register-command! 'alloy-prev-solution cmd-alloy-prev-solution) (register-command! 'alloy-save-instance cmd-alloy-save-instance)
+  ;; Round 817: Mermaid / PlantUML ext 2
+  (register-command! 'mermaid-preview cmd-mermaid-preview) (register-command! 'mermaid-insert-template cmd-mermaid-insert-template) (register-command! 'mermaid-set-theme cmd-mermaid-set-theme) (register-command! 'mermaid-export-png cmd-mermaid-export-png) (register-command! 'mermaid-export-svg cmd-mermaid-export-svg)
+  (register-command! 'plantuml-completion-at-point cmd-plantuml-completion-at-point) (register-command! 'plantuml-save-as-png cmd-plantuml-save-as-png) (register-command! 'plantuml-insert-template cmd-plantuml-insert-template) (register-command! 'plantuml-change-theme cmd-plantuml-change-theme) (register-command! 'plantuml-auto-refresh cmd-plantuml-auto-refresh)
+  ;; Round 818: Graphviz / D2 ext
+  (register-command! 'graphviz-set-engine cmd-graphviz-set-engine) (register-command! 'graphviz-open-in-browser cmd-graphviz-open-in-browser) (register-command! 'graphviz-insert-template cmd-graphviz-insert-template) (register-command! 'graphviz-export-png cmd-graphviz-export-png) (register-command! 'graphviz-export-svg cmd-graphviz-export-svg)
+  (register-command! 'd2-preview cmd-d2-preview) (register-command! 'd2-watch cmd-d2-watch) (register-command! 'd2-format cmd-d2-format) (register-command! 'd2-insert-template cmd-d2-insert-template) (register-command! 'd2-export-png cmd-d2-export-png)
+  ;; Round 819: Typst / Quarto ext
+  (register-command! 'typst-mode cmd-typst-mode) (register-command! 'typst-compile-buffer cmd-typst-compile-buffer) (register-command! 'typst-preview cmd-typst-preview) (register-command! 'typst-format cmd-typst-format) (register-command! 'typst-insert-template cmd-typst-insert-template)
+  (register-command! 'quarto-preview cmd-quarto-preview) (register-command! 'quarto-render cmd-quarto-render) (register-command! 'quarto-publish cmd-quarto-publish) (register-command! 'quarto-insert-code-block cmd-quarto-insert-code-block) (register-command! 'quarto-set-engine cmd-quarto-set-engine)
+  ;; Round 820: Markdown ext 2 / Grip ext
+  (register-command! 'markdown-outline-toggle cmd-markdown-outline-toggle) (register-command! 'markdown-cycle-list-item cmd-markdown-cycle-list-item) (register-command! 'markdown-backward-same-level cmd-markdown-backward-same-level) (register-command! 'markdown-forward-paragraph cmd-markdown-forward-paragraph) (register-command! 'markdown-toc-generate cmd-markdown-toc-generate)
+  (register-command! 'grip-mode cmd-grip-mode) (register-command! 'grip-start-preview cmd-grip-start-preview) (register-command! 'grip-stop-preview cmd-grip-stop-preview) (register-command! 'grip-restart-preview cmd-grip-restart-preview) (register-command! 'grip-browse-preview cmd-grip-browse-preview)
+
+  ;; Round 821: LSP-booster / LSP-bridge
+  (register-command! 'lsp-booster-mode cmd-lsp-booster-mode) (register-command! 'lsp-booster-toggle cmd-lsp-booster-toggle) (register-command! 'lsp-booster-status cmd-lsp-booster-status) (register-command! 'lsp-booster-restart cmd-lsp-booster-restart) (register-command! 'lsp-booster-configure cmd-lsp-booster-configure)
+  (register-command! 'lsp-bridge-mode cmd-lsp-bridge-mode) (register-command! 'lsp-bridge-find-def cmd-lsp-bridge-find-def) (register-command! 'lsp-bridge-find-ref cmd-lsp-bridge-find-ref) (register-command! 'lsp-bridge-code-action cmd-lsp-bridge-code-action) (register-command! 'lsp-bridge-rename cmd-lsp-bridge-rename)
+  ;; Round 822: LSP-bridge ext / Citre
+  (register-command! 'lsp-bridge-diagnostic-list cmd-lsp-bridge-diagnostic-list) (register-command! 'lsp-bridge-diagnostic-next cmd-lsp-bridge-diagnostic-next) (register-command! 'lsp-bridge-diagnostic-prev cmd-lsp-bridge-diagnostic-prev) (register-command! 'lsp-bridge-peek cmd-lsp-bridge-peek) (register-command! 'lsp-bridge-popup-documentation cmd-lsp-bridge-popup-documentation)
+  (register-command! 'citre-update-tags-file cmd-citre-update-tags-file) (register-command! 'citre-peek-through cmd-citre-peek-through) (register-command! 'citre-peek-restore cmd-citre-peek-restore) (register-command! 'citre-global-tags cmd-citre-global-tags) (register-command! 'citre-global-update cmd-citre-global-update)
+  ;; Round 823: GNU-global / GGtags ext
+  (register-command! 'ggtags-show-definition cmd-ggtags-show-definition) (register-command! 'ggtags-find-other-symbol cmd-ggtags-find-other-symbol) (register-command! 'ggtags-find-file cmd-ggtags-find-file) (register-command! 'ggtags-grep cmd-ggtags-grep) (register-command! 'ggtags-navigation-mode cmd-ggtags-navigation-mode)
+  (register-command! 'global-find-tag cmd-global-find-tag) (register-command! 'global-find-symbol cmd-global-find-symbol) (register-command! 'global-find-pattern cmd-global-find-pattern) (register-command! 'global-show-tag-info cmd-global-show-tag-info) (register-command! 'global-update-tags cmd-global-update-tags)
+  ;; Round 824: Ctags / Cscope ext
+  (register-command! 'ctags-create-tags-table cmd-ctags-create-tags-table) (register-command! 'ctags-update-tags-table cmd-ctags-update-tags-table) (register-command! 'ctags-find-tag-from-here cmd-ctags-find-tag-from-here) (register-command! 'ctags-find-tag-regexp cmd-ctags-find-tag-regexp) (register-command! 'ctags-pop-tag-mark cmd-ctags-pop-tag-mark)
+  (register-command! 'cscope-find-global-definition cmd-cscope-find-global-definition) (register-command! 'cscope-find-this-symbol cmd-cscope-find-this-symbol) (register-command! 'cscope-find-functions-calling cmd-cscope-find-functions-calling) (register-command! 'cscope-find-called-functions cmd-cscope-find-called-functions) (register-command! 'cscope-find-text-string cmd-cscope-find-text-string)
+  ;; Round 825: Dape (Debug Adapter Protocol)
+  (register-command! 'dape-start cmd-dape-start) (register-command! 'dape-continue cmd-dape-continue) (register-command! 'dape-next cmd-dape-next) (register-command! 'dape-step-in cmd-dape-step-in) (register-command! 'dape-step-out cmd-dape-step-out)
+  (register-command! 'dape-disconnect cmd-dape-disconnect) (register-command! 'dape-eval-expression cmd-dape-eval-expression) (register-command! 'dape-breakpoint-remove-all cmd-dape-breakpoint-remove-all) (register-command! 'dape-watch-dwim cmd-dape-watch-dwim) (register-command! 'dape-info cmd-dape-info)
+  ;; Round 826: DAP-mode ext 2 / Realgud ext 2
+  (register-command! 'dap-ui-local-toggle cmd-dap-ui-local-toggle) (register-command! 'dap-ui-sessions-toggle cmd-dap-ui-sessions-toggle) (register-command! 'dap-ui-breakpoints-toggle cmd-dap-ui-breakpoints-toggle) (register-command! 'dap-ui-repl-toggle cmd-dap-ui-repl-toggle) (register-command! 'dap-ui-expressions-toggle cmd-dap-ui-expressions-toggle)
+  (register-command! 'realgud-node-debug cmd-realgud-node-debug) (register-command! 'realgud-ipdb cmd-realgud-ipdb) (register-command! 'realgud-byebug cmd-realgud-byebug) (register-command! 'realgud-rdebug cmd-realgud-rdebug) (register-command! 'realgud-remake cmd-realgud-remake)
+  ;; Round 827: Eat-Compile / Compile ext 2
+  (register-command! 'eat-compile-mode cmd-eat-compile-mode) (register-command! 'eat-compile-terminal cmd-eat-compile-terminal) (register-command! 'eat-compile-scroll-output cmd-eat-compile-scroll-output) (register-command! 'eat-compile-ansi-colors cmd-eat-compile-ansi-colors) (register-command! 'eat-compile-buffer-size cmd-eat-compile-buffer-size)
+  (register-command! 'compile-goto-error-next cmd-compile-goto-error-next) (register-command! 'compile-goto-error-previous cmd-compile-goto-error-previous) (register-command! 'compile-rerun cmd-compile-rerun) (register-command! 'compile-kill-compilation cmd-compile-kill-compilation) (register-command! 'compile-filter-hook cmd-compile-filter-hook)
+  ;; Round 828: Flymake-shellcheck / Flymake-ruff
+  (register-command! 'flymake-shellcheck-mode cmd-flymake-shellcheck-mode) (register-command! 'flymake-shellcheck-load cmd-flymake-shellcheck-load) (register-command! 'flymake-shellcheck-exclude cmd-flymake-shellcheck-exclude) (register-command! 'flymake-shellcheck-shell cmd-flymake-shellcheck-shell) (register-command! 'flymake-shellcheck-severity cmd-flymake-shellcheck-severity)
+  (register-command! 'flymake-ruff-mode cmd-flymake-ruff-mode) (register-command! 'flymake-ruff-load cmd-flymake-ruff-load) (register-command! 'flymake-ruff-fix cmd-flymake-ruff-fix) (register-command! 'flymake-ruff-format cmd-flymake-ruff-format) (register-command! 'flymake-ruff-exclude cmd-flymake-ruff-exclude)
+  ;; Round 829: Apheleia / Format-all ext 2
+  (register-command! 'apheleia-format-region cmd-apheleia-format-region) (register-command! 'apheleia-format-on-save cmd-apheleia-format-on-save) (register-command! 'apheleia-format-after-save cmd-apheleia-format-after-save) (register-command! 'apheleia-global-mode cmd-apheleia-global-mode) (register-command! 'apheleia-mode-alist cmd-apheleia-mode-alist)
+  (register-command! 'format-all-ensure-formatter cmd-format-all-ensure-formatter) (register-command! 'format-all-buffer-silently cmd-format-all-buffer-silently) (register-command! 'format-all-default-formatters cmd-format-all-default-formatters) (register-command! 'format-all-mode-alist cmd-format-all-mode-alist) (register-command! 'format-all-update cmd-format-all-update)
+  ;; Round 830: Treesit-auto / Treesit-fold ext 2
+  (register-command! 'treesit-auto-mode cmd-treesit-auto-mode) (register-command! 'treesit-auto-install-all cmd-treesit-auto-install-all) (register-command! 'treesit-auto-add-to-auto-mode-alist cmd-treesit-auto-add-to-auto-mode-alist) (register-command! 'treesit-auto-recipe cmd-treesit-auto-recipe) (register-command! 'treesit-auto-langs cmd-treesit-auto-langs)
+  (register-command! 'treesit-fold-close-all-in-region cmd-treesit-fold-close-all-in-region) (register-command! 'treesit-fold-open-all-in-region cmd-treesit-fold-open-all-in-region) (register-command! 'treesit-fold-at-point cmd-treesit-fold-at-point) (register-command! 'treesit-fold-mode-toggle cmd-treesit-fold-mode-toggle) (register-command! 'treesit-fold-indicators cmd-treesit-fold-indicators)
+  ;; Round 831: Evil-nerd-commenter / Comment-dwim-2
+  (register-command! 'evilnc-comment-operator cmd-evilnc-comment-operator) (register-command! 'evilnc-comment-or-uncomment-paragraphs cmd-evilnc-comment-or-uncomment-paragraphs) (register-command! 'evilnc-copy-and-comment-lines cmd-evilnc-copy-and-comment-lines) (register-command! 'evilnc-inner-commenter cmd-evilnc-inner-commenter) (register-command! 'evilnc-outer-commenter cmd-evilnc-outer-commenter)
+  (register-command! 'comment-dwim-2-inline cmd-comment-dwim-2-inline) (register-command! 'comment-dwim-2-kill cmd-comment-dwim-2-kill) (register-command! 'comment-dwim-2-reindent cmd-comment-dwim-2-reindent) (register-command! 'comment-dwim-2-uncomment cmd-comment-dwim-2-uncomment) (register-command! 'comment-dwim-2-region cmd-comment-dwim-2-region)
+  ;; Round 832: Smartparens ext 2 / Electric-pair ext
+  (register-command! 'sp-forward-barf-sexp cmd-sp-forward-barf-sexp) (register-command! 'sp-backward-barf-sexp cmd-sp-backward-barf-sexp) (register-command! 'sp-beginning-of-next-sexp cmd-sp-beginning-of-next-sexp) (register-command! 'sp-add-to-next-sexp cmd-sp-add-to-next-sexp) (register-command! 'sp-add-to-previous-sexp cmd-sp-add-to-previous-sexp)
+  (register-command! 'electric-pair-post-self-insert cmd-electric-pair-post-self-insert) (register-command! 'electric-pair-open-newline-between-pairs cmd-electric-pair-open-newline-between-pairs) (register-command! 'electric-pair-text-pairs cmd-electric-pair-text-pairs) (register-command! 'electric-pair-skip-whitespace cmd-electric-pair-skip-whitespace) (register-command! 'electric-pair-delete-adjacent cmd-electric-pair-delete-adjacent)
+  ;; Round 833: Evil-surround ext 2 / Embrace ext 2
+  (register-command! 'evil-surround-region-with cmd-evil-surround-region-with) (register-command! 'evil-surround-delete-pair cmd-evil-surround-delete-pair) (register-command! 'evil-surround-change-inner cmd-evil-surround-change-inner) (register-command! 'evil-surround-change-outer cmd-evil-surround-change-outer) (register-command! 'evil-surround-yank cmd-evil-surround-yank)
+  (register-command! 'embrace-add-pair cmd-embrace-add-pair) (register-command! 'embrace-delete-pair cmd-embrace-delete-pair) (register-command! 'embrace-change-pair cmd-embrace-change-pair) (register-command! 'embrace-with-tag cmd-embrace-with-tag) (register-command! 'embrace-lazy-pair cmd-embrace-lazy-pair)
+  ;; Round 834: Multiple-cursors ext 2 / Iedit ext 2
+  (register-command! 'mc-edit-beginnings-of-lines cmd-mc-edit-beginnings-of-lines) (register-command! 'mc-edit-ends-of-lines cmd-mc-edit-ends-of-lines) (register-command! 'mc-cycle-forward cmd-mc-cycle-forward) (register-command! 'mc-cycle-backward cmd-mc-cycle-backward) (register-command! 'mc-mark-pop cmd-mc-mark-pop)
+  (register-command! 'iedit-expand-up-to-occurrence cmd-iedit-expand-up-to-occurrence) (register-command! 'iedit-restrict-function cmd-iedit-restrict-function) (register-command! 'iedit-restrict-current-line cmd-iedit-restrict-current-line) (register-command! 'iedit-toggle-unmatched-lines cmd-iedit-toggle-unmatched-lines) (register-command! 'iedit-apply-global cmd-iedit-apply-global)
+  ;; Round 835: Winum / Ace-window ext 2
+  (register-command! 'winum-select-window-by-number cmd-winum-select-window-by-number) (register-command! 'winum-select-window-0 cmd-winum-select-window-0) (register-command! 'winum-select-window-1 cmd-winum-select-window-1) (register-command! 'winum-select-window-2 cmd-winum-select-window-2) (register-command! 'winum-select-window-3 cmd-winum-select-window-3)
+  (register-command! 'ace-window-swap cmd-ace-window-swap) (register-command! 'ace-window-delete-other cmd-ace-window-delete-other) (register-command! 'ace-window-move cmd-ace-window-move) (register-command! 'ace-window-split-fair cmd-ace-window-split-fair) (register-command! 'ace-window-maximize cmd-ace-window-maximize)
+  ;; Round 836: Popper ext 2 / Shackle ext 2
+  (register-command! 'popper-open-latest cmd-popper-open-latest) (register-command! 'popper-open-popup-in-direction cmd-popper-open-popup-in-direction) (register-command! 'popper-bury-latest cmd-popper-bury-latest) (register-command! 'popper-lower-to-popup cmd-popper-lower-to-popup) (register-command! 'popper-kill-latest cmd-popper-kill-latest)
+  (register-command! 'shackle-rules-add cmd-shackle-rules-add) (register-command! 'shackle-rules-remove cmd-shackle-rules-remove) (register-command! 'shackle-display-next cmd-shackle-display-next) (register-command! 'shackle-display-prev cmd-shackle-display-prev) (register-command! 'shackle-last-buffer cmd-shackle-last-buffer)
+  ;; Round 837: Tab-bar ext 2 / Tab-line ext 2
+  (register-command! 'tab-bar-pin-tab cmd-tab-bar-pin-tab) (register-command! 'tab-bar-duplicate-tab cmd-tab-bar-duplicate-tab) (register-command! 'tab-bar-close-group-tabs cmd-tab-bar-close-group-tabs) (register-command! 'tab-bar-change-tab-group cmd-tab-bar-change-tab-group) (register-command! 'tab-bar-switch-to-last-tab cmd-tab-bar-switch-to-last-tab)
+  (register-command! 'tab-line-switch-to-next-tab cmd-tab-line-switch-to-next-tab) (register-command! 'tab-line-switch-to-prev-tab cmd-tab-line-switch-to-prev-tab) (register-command! 'tab-line-close-tab cmd-tab-line-close-tab) (register-command! 'tab-line-new-tab cmd-tab-line-new-tab) (register-command! 'tab-line-mode-toggle cmd-tab-line-mode-toggle)
+  ;; Round 838: Windmove ext 2 / Framemove ext 2
+  (register-command! 'windmove-display-in-direction-up cmd-windmove-display-in-direction-up) (register-command! 'windmove-display-in-direction-down cmd-windmove-display-in-direction-down) (register-command! 'windmove-display-in-direction-left cmd-windmove-display-in-direction-left) (register-command! 'windmove-display-in-direction-right cmd-windmove-display-in-direction-right) (register-command! 'windmove-default-keybindings-setup cmd-windmove-default-keybindings-setup)
+  (register-command! 'framemove-up cmd-framemove-up) (register-command! 'framemove-down cmd-framemove-down) (register-command! 'framemove-left cmd-framemove-left) (register-command! 'framemove-right cmd-framemove-right) (register-command! 'framemove-default-keybindings cmd-framemove-default-keybindings)
+  ;; Round 839: Transpose-frame / Window-layout
+  (register-command! 'transpose-frame-vertically cmd-transpose-frame-vertically) (register-command! 'transpose-frame-horizontally cmd-transpose-frame-horizontally) (register-command! 'rotate-frame-toggle cmd-rotate-frame-toggle) (register-command! 'rotate-frame-180 cmd-rotate-frame-180) (register-command! 'window-layout-save cmd-window-layout-save)
+  (register-command! 'window-swap-states-dir-up cmd-window-swap-states-dir-up) (register-command! 'window-swap-states-dir-down cmd-window-swap-states-dir-down) (register-command! 'window-swap-states-dir-left cmd-window-swap-states-dir-left) (register-command! 'window-swap-states-dir-right cmd-window-swap-states-dir-right) (register-command! 'buf-move-auto cmd-buf-move-auto)
+  ;; Round 840: Winner ext 2 / Burly ext 2
+  (register-command! 'winner-redo-all cmd-winner-redo-all) (register-command! 'winner-save-unconditionally cmd-winner-save-unconditionally) (register-command! 'winner-boring-buffers cmd-winner-boring-buffers) (register-command! 'winner-boring-buffers-add cmd-winner-boring-buffers-add) (register-command! 'winner-ring-size cmd-winner-ring-size)
+  (register-command! 'burly-open-last-bookmark cmd-burly-open-last-bookmark) (register-command! 'burly-kill-frames cmd-burly-kill-frames) (register-command! 'burly-tabs-mode cmd-burly-tabs-mode) (register-command! 'burly-reset-tab cmd-burly-reset-tab) (register-command! 'burly-open-url cmd-burly-open-url)
 )