Round 254: LaTeX ext, SQL ext, Org ext, Markdown ext (21 commands)

ober

a994b0d235e71e3e6df53d6eae5acc7a9cc036bb

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 145c359..d84e623 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,32 @@ 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 254 — LaTeX ext, SQL ext, Org ext, Markdown ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| latex-close-environment | :orange_circle: | Close LaTeX environment |
+| latex-insert-section | :orange_circle: | Insert LaTeX section |
+| latex-next-section | :orange_circle: | Next LaTeX section |
+| latex-previous-section | :orange_circle: | Previous LaTeX section |
+| latex-fill-paragraph | :orange_circle: | Fill LaTeX paragraph |
+| latex-indent-line | :orange_circle: | Indent LaTeX line |
+| latex-mark-environment | :orange_circle: | Mark LaTeX environment |
+| latex-narrow-to-environment | :orange_circle: | Narrow to LaTeX environment |
+| sql-send-region-and-keep | :orange_circle: | Send SQL region (keep active) |
+| ielm-change-working-buffer | :orange_circle: | Change IELM working buffer |
+| org-babel-remove-result | :orange_circle: | Remove org-babel result |
+| org-babel-remove-result-one-or-many | :orange_circle: | Remove one or many results |
+| markdown-insert-gfm-code-block | :orange_circle: | Insert GFM code block |
+| markdown-insert-wiki-link | :orange_circle: | Insert wiki link |
+| markdown-toggle-url-hiding | :orange_circle: | Toggle URL hiding |
+| markdown-toggle-inline-images | :orange_circle: | Toggle inline images |
+| markdown-insert-reference-link | :orange_circle: | Insert reference link |
+| markdown-cleanup-list-numbers | :orange_circle: | Clean up list numbers |
+| markdown-complete-buffer | :orange_circle: | Complete markdown buffer |
+| markdown-insert-foldable-block | :orange_circle: | Insert foldable block |
+| markdown-edit-code-block | :orange_circle: | Edit code block in indirect buffer |
+
 ### Round 253 — PHP ext, Perl ext, Julia, Nim, Dart, Swift
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index a45076d..f067176 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -20704,3 +20704,52 @@
 (def (cmd-swift-mode-fill-paragraph app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Swift: filled paragraph")))
+
+;; Round 254 — Org ext, Markdown ext (10 in final)
+(def (cmd-org-babel-remove-result app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Org-babel: removed result")))
+
+(def (cmd-org-babel-remove-result-one-or-many app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Org-babel: removed results (one or many)")))
+
+(def (cmd-markdown-insert-gfm-code-block app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Language: "
+      (lambda (lang)
+        (echo-message! echo (str "Markdown: inserted GFM code block (" lang ")"))))))
+
+(def (cmd-markdown-insert-wiki-link app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Wiki link: "
+      (lambda (link)
+        (echo-message! echo (str "Markdown: inserted wiki link to " link))))))
+
+(def (cmd-markdown-toggle-url-hiding app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: toggled URL hiding")))
+
+(def (cmd-markdown-toggle-inline-images app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: toggled inline images")))
+
+(def (cmd-markdown-insert-reference-link app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: inserted reference link")))
+
+(def (cmd-markdown-cleanup-list-numbers app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: cleaned up list numbers")))
+
+(def (cmd-markdown-complete-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: completed buffer")))
+
+(def (cmd-markdown-insert-foldable-block app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: inserted foldable block")))
+
+(def (cmd-markdown-edit-code-block app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Markdown: editing code block in indirect buffer")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index e8ca196..aa2ecfe 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -21338,3 +21338,48 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Julia: LaTeX substitution or indent")))
 
+;; Round 254 — LaTeX ext, SQL ext, IELM ext, Org ext, Markdown ext (10 in modes)
+(def (cmd-latex-close-environment app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: closed environment")))
+
+(def (cmd-latex-insert-section app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Section type: "
+      (lambda (type)
+        (echo-message! echo (str "LaTeX: inserted " type " section"))))))
+
+(def (cmd-latex-next-section app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: next section")))
+
+(def (cmd-latex-previous-section app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: previous section")))
+
+(def (cmd-latex-fill-paragraph app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: filled paragraph")))
+
+(def (cmd-latex-indent-line app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: indented line")))
+
+(def (cmd-latex-mark-environment app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: marked environment")))
+
+(def (cmd-latex-narrow-to-environment app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "LaTeX: narrowed to environment")))
+
+(def (cmd-sql-send-region-and-keep app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQL: sent region (kept active)")))
+
+(def (cmd-ielm-change-working-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Working buffer: "
+      (lambda (buf)
+        (echo-message! echo (str "IELM: working buffer set to " buf))))))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index be5f5b9..771ecf2 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -6750,4 +6750,26 @@
   (register-command! 'dart-server-edit-organize-directives cmd-dart-server-edit-organize-directives)
   (register-command! 'swift-mode-send-buffer cmd-swift-mode-send-buffer)
   (register-command! 'swift-mode-fill-paragraph cmd-swift-mode-fill-paragraph)
+  ;; Round 254 — LaTeX ext, SQL ext, IELM ext, Org ext, Markdown ext
+  (register-command! 'latex-close-environment cmd-latex-close-environment)
+  (register-command! 'latex-insert-section cmd-latex-insert-section)
+  (register-command! 'latex-next-section cmd-latex-next-section)
+  (register-command! 'latex-previous-section cmd-latex-previous-section)
+  (register-command! 'latex-fill-paragraph cmd-latex-fill-paragraph)
+  (register-command! 'latex-indent-line cmd-latex-indent-line)
+  (register-command! 'latex-mark-environment cmd-latex-mark-environment)
+  (register-command! 'latex-narrow-to-environment cmd-latex-narrow-to-environment)
+  (register-command! 'sql-send-region-and-keep cmd-sql-send-region-and-keep)
+  (register-command! 'ielm-change-working-buffer cmd-ielm-change-working-buffer)
+  (register-command! 'org-babel-remove-result cmd-org-babel-remove-result)
+  (register-command! 'org-babel-remove-result-one-or-many cmd-org-babel-remove-result-one-or-many)
+  (register-command! 'markdown-insert-gfm-code-block cmd-markdown-insert-gfm-code-block)
+  (register-command! 'markdown-insert-wiki-link cmd-markdown-insert-wiki-link)
+  (register-command! 'markdown-toggle-url-hiding cmd-markdown-toggle-url-hiding)
+  (register-command! 'markdown-toggle-inline-images cmd-markdown-toggle-inline-images)
+  (register-command! 'markdown-insert-reference-link cmd-markdown-insert-reference-link)
+  (register-command! 'markdown-cleanup-list-numbers cmd-markdown-cleanup-list-numbers)
+  (register-command! 'markdown-complete-buffer cmd-markdown-complete-buffer)
+  (register-command! 'markdown-insert-foldable-block cmd-markdown-insert-foldable-block)
+  (register-command! 'markdown-edit-code-block cmd-markdown-edit-code-block)
 )