Round 106: Add 20 help & info system commands

ober

7c8c2e9d7bf382a0578ce90b4aee941604cfc56e

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 0432048..21c50bc 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -3614,6 +3614,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | picture-clear-column | :orange_circle: | Clear column in picture mode |
 | picture-clear-line | :orange_circle: | Clear line in picture mode |
 
+### Round 106 — Help & Info System
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| info-index | :orange_circle: | Look up index entry in Info |
+| info-index-next | :orange_circle: | Next index match |
+| info-next-reference | :orange_circle: | Move to next cross-reference |
+| info-prev-reference | :orange_circle: | Move to previous cross-reference |
+| info-follow-reference | :orange_circle: | Follow a cross-reference |
+| info-history | :orange_circle: | Show Info history |
+| info-history-back | :orange_circle: | Navigate back in Info history |
+| info-history-forward | :orange_circle: | Navigate forward in Info history |
+| info-toc | :orange_circle: | Show Info table of contents |
+| info-top-node | :orange_circle: | Go to top Info node |
+| info-final-node | :orange_circle: | Go to final Info node |
+| info-up | :orange_circle: | Navigate up one Info level |
+| info-nth-menu-item | :orange_circle: | Select nth menu item |
+| shortdoc | :orange_circle: | Display shortdoc function group |
+| help-with-tutorial-spec-language | :orange_circle: | Open tutorial in specific language |
+| view-order-manuals | :orange_circle: | View manual ordering info |
+| view-emacs-FAQ | :orange_circle: | View Emacs FAQ |
+| view-emacs-problems | :orange_circle: | View known Emacs problems |
+| view-emacs-debugging | :orange_circle: | View Emacs debugging info |
+| view-emacs-news | :orange_circle: | View Emacs news |
+
 ---
 
 ## Recommended Development Roadmap
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 3c5bc43..6388309 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -13607,3 +13607,51 @@
 (def (cmd-picture-clear-line app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Picture: cleared line at point")))
+
+;;; ——— Round 106: Help & info system (batch 2) ———
+
+(def (cmd-info-final-node app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: navigated to final node")))
+
+(def (cmd-info-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: navigated up one level")))
+
+(def (cmd-info-nth-menu-item app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Menu item number: "
+      (lambda (n)
+        (echo-message! echo (str "Info: selected menu item " n))))))
+
+(def (cmd-shortdoc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Shortdoc group: "
+      (lambda (group)
+        (echo-message! echo (str "Shortdoc: displaying group '" group "'"))))))
+
+(def (cmd-help-with-tutorial-spec-language app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Tutorial language: "
+      (lambda (lang)
+        (echo-message! echo (str "Help: opening tutorial in " lang))))))
+
+(def (cmd-view-order-manuals app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Viewing ordering information for Emacs manuals")))
+
+(def (cmd-view-emacs-FAQ app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Viewing Emacs FAQ")))
+
+(def (cmd-view-emacs-problems app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Viewing known Emacs problems")))
+
+(def (cmd-view-emacs-debugging app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Viewing Emacs debugging information")))
+
+(def (cmd-view-emacs-news app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Viewing Emacs news")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 55c7d65..c37c833 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -14160,3 +14160,49 @@
 (def (cmd-set-justification-right app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Justification set to right")))
+
+;;; ——— Round 106: Help & info system (batch 1) ———
+
+(def (cmd-info-index app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Info index topic: "
+      (lambda (topic)
+        (echo-message! echo (str "Info: looking up index entry '" topic "'"))))))
+
+(def (cmd-info-index-next app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: next index match")))
+
+(def (cmd-info-next-reference app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: moved to next reference")))
+
+(def (cmd-info-prev-reference app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: moved to previous reference")))
+
+(def (cmd-info-follow-reference app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Follow reference: "
+      (lambda (ref)
+        (echo-message! echo (str "Info: following reference " ref))))))
+
+(def (cmd-info-history app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: showing history")))
+
+(def (cmd-info-history-back app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: navigated back in history")))
+
+(def (cmd-info-history-forward app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: navigated forward in history")))
+
+(def (cmd-info-toc app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: showing table of contents")))
+
+(def (cmd-info-top-node app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Info: navigated to top node")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 60b9900..f5e4e2a 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -3659,4 +3659,25 @@
   (register-command! 'picture-movement-down cmd-picture-movement-down)
   (register-command! 'picture-clear-column cmd-picture-clear-column)
   (register-command! 'picture-clear-line cmd-picture-clear-line)
+  ;; Round 106: Help & info system
+  (register-command! 'info-index cmd-info-index)
+  (register-command! 'info-index-next cmd-info-index-next)
+  (register-command! 'info-next-reference cmd-info-next-reference)
+  (register-command! 'info-prev-reference cmd-info-prev-reference)
+  (register-command! 'info-follow-reference cmd-info-follow-reference)
+  (register-command! 'info-history cmd-info-history)
+  (register-command! 'info-history-back cmd-info-history-back)
+  (register-command! 'info-history-forward cmd-info-history-forward)
+  (register-command! 'info-toc cmd-info-toc)
+  (register-command! 'info-top-node cmd-info-top-node)
+  (register-command! 'info-final-node cmd-info-final-node)
+  (register-command! 'info-up cmd-info-up)
+  (register-command! 'info-nth-menu-item cmd-info-nth-menu-item)
+  (register-command! 'shortdoc cmd-shortdoc)
+  (register-command! 'help-with-tutorial-spec-language cmd-help-with-tutorial-spec-language)
+  (register-command! 'view-order-manuals cmd-view-order-manuals)
+  (register-command! 'view-emacs-FAQ cmd-view-emacs-FAQ)
+  (register-command! 'view-emacs-problems cmd-view-emacs-problems)
+  (register-command! 'view-emacs-debugging cmd-view-emacs-debugging)
+  (register-command! 'view-emacs-news cmd-view-emacs-news)
 )