Round 269: Assembly ext, MATLAB ext, R ext, Julia ext, Wolfram ext (20 commands)

ober

c72c282349ca8b16cdb09e7c73be0b49ab3b61af

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index a80f76f..001f515 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 269 — Assembly ext, MATLAB ext, R ext, Julia ext, Wolfram ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| asm-compile | :orange_circle: | Compile assembly code |
+| asm-run | :orange_circle: | Run assembly program |
+| asm-disassemble | :orange_circle: | Disassemble binary |
+| asm-link | :orange_circle: | Link assembly object files |
+| matlab-run-buffer | :orange_circle: | Run MATLAB buffer |
+| matlab-run-region | :orange_circle: | Run MATLAB region |
+| matlab-shell | :orange_circle: | Start MATLAB shell |
+| matlab-doc | :orange_circle: | Show MATLAB documentation |
+| r-eval-buffer | :orange_circle: | Evaluate R buffer |
+| r-eval-region | :orange_circle: | Evaluate R region |
+| r-shell | :orange_circle: | Start R shell |
+| r-install-package | :orange_circle: | Install R package |
+| julia-eval-buffer | :orange_circle: | Evaluate Julia buffer |
+| julia-eval-region | :orange_circle: | Evaluate Julia region |
+| julia-doc | :orange_circle: | Show Julia documentation |
+| julia-run-tests | :orange_circle: | Run Julia tests |
+| wolfram-eval-buffer | :orange_circle: | Evaluate Wolfram buffer |
+| wolfram-eval-region | :orange_circle: | Evaluate Wolfram region |
+| wolfram-kernel | :orange_circle: | Start Wolfram kernel |
+| wolfram-doc | :orange_circle: | Show Wolfram documentation |
+
 ### Round 268 — Verilog ext, VHDL ext, SystemVerilog ext, Tcl ext, Forth ext
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 07d9a81..fef8500 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -21389,4 +21389,52 @@
   (let* ((echo (app-state-echo app)))
     (echo-read-string echo "Word: "
       (lambda (word)
-        (echo-message! echo (str "Forth: decompiling " word))))))
\ No newline at end of file
+        (echo-message! echo (str "Forth: decompiling " word))))))
+
+;;; Round 269 — R ext, Julia ext, Wolfram ext (batch 2)
+
+(def (cmd-r-shell app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "R: starting R shell")))
+
+(def (cmd-r-install-package app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Package: "
+      (lambda (pkg)
+        (echo-message! echo (str "R: installing " pkg))))))
+
+(def (cmd-julia-eval-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Julia: evaluating buffer")))
+
+(def (cmd-julia-eval-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Julia: evaluating region")))
+
+(def (cmd-julia-doc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Symbol: "
+      (lambda (sym)
+        (echo-message! echo (str "Julia: doc for " sym))))))
+
+(def (cmd-julia-run-tests app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Julia: running tests")))
+
+(def (cmd-wolfram-eval-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wolfram: evaluating buffer")))
+
+(def (cmd-wolfram-eval-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wolfram: evaluating region")))
+
+(def (cmd-wolfram-kernel app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wolfram: starting kernel")))
+
+(def (cmd-wolfram-doc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Symbol: "
+      (lambda (sym)
+        (echo-message! echo (str "Wolfram: doc for " sym))))))
\ No newline at end of file
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index bf664ad..c9275c0 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -22014,3 +22014,47 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "SystemVerilog: linting code")))
 
+;;; Round 269 — Assembly ext, MATLAB ext, R ext, Julia ext, Wolfram ext (batch 1)
+
+(def (cmd-asm-compile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Assembly: compiling")))
+
+(def (cmd-asm-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Assembly: running program")))
+
+(def (cmd-asm-disassemble app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Assembly: disassembling")))
+
+(def (cmd-asm-link app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Assembly: linking object files")))
+
+(def (cmd-matlab-run-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MATLAB: running buffer")))
+
+(def (cmd-matlab-run-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MATLAB: running region")))
+
+(def (cmd-matlab-shell app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MATLAB: starting shell")))
+
+(def (cmd-matlab-doc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Function: "
+      (lambda (func)
+        (echo-message! echo (str "MATLAB: doc for " func))))))
+
+(def (cmd-r-eval-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "R: evaluating buffer")))
+
+(def (cmd-r-eval-region app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "R: evaluating region")))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index f471370..4b44696 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -7066,4 +7066,25 @@
   (register-command! 'forth-load-file cmd-forth-load-file)
   (register-command! 'forth-repl cmd-forth-repl)
   (register-command! 'forth-see cmd-forth-see)
+  ;; Round 269
+  (register-command! 'asm-compile cmd-asm-compile)
+  (register-command! 'asm-run cmd-asm-run)
+  (register-command! 'asm-disassemble cmd-asm-disassemble)
+  (register-command! 'asm-link cmd-asm-link)
+  (register-command! 'matlab-run-buffer cmd-matlab-run-buffer)
+  (register-command! 'matlab-run-region cmd-matlab-run-region)
+  (register-command! 'matlab-shell cmd-matlab-shell)
+  (register-command! 'matlab-doc cmd-matlab-doc)
+  (register-command! 'r-eval-buffer cmd-r-eval-buffer)
+  (register-command! 'r-eval-region cmd-r-eval-region)
+  (register-command! 'r-shell cmd-r-shell)
+  (register-command! 'r-install-package cmd-r-install-package)
+  (register-command! 'julia-eval-buffer cmd-julia-eval-buffer)
+  (register-command! 'julia-eval-region cmd-julia-eval-region)
+  (register-command! 'julia-doc cmd-julia-doc)
+  (register-command! 'julia-run-tests cmd-julia-run-tests)
+  (register-command! 'wolfram-eval-buffer cmd-wolfram-eval-buffer)
+  (register-command! 'wolfram-eval-region cmd-wolfram-eval-region)
+  (register-command! 'wolfram-kernel cmd-wolfram-kernel)
+  (register-command! 'wolfram-doc cmd-wolfram-doc)
 )