Round 136: Add 20 Notmuch, Wanderlust, BBDB, Ledger commands

ober

2324ef06af53499dde1a36b789c95c63e2de434c

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 3dfdf98..6930a62 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4396,6 +4396,33 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 
 ---
 
+### Round 136 — Notmuch, Wanderlust, BBDB, Ledger
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| notmuch-mua-reply | :orange_circle: | Reply to Notmuch message |
+| notmuch-mua-forward-message | :orange_circle: | Forward Notmuch message |
+| notmuch-tag | :orange_circle: | Apply tag changes |
+| notmuch-refresh-this-buffer | :orange_circle: | Refresh Notmuch buffer |
+| notmuch-show-archive-message-then-next | :orange_circle: | Archive and next message |
+| wl | :orange_circle: | Start Wanderlust |
+| wl-summary-next | :orange_circle: | Next Wanderlust message |
+| wl-summary-prev | :orange_circle: | Previous Wanderlust message |
+| wl-summary-reply | :orange_circle: | Reply in Wanderlust |
+| wl-summary-forward | :orange_circle: | Forward in Wanderlust |
+| wl-draft-send-and-exit | :orange_circle: | Send draft and exit |
+| bbdb-create | :orange_circle: | Create BBDB record |
+| bbdb-complete-mail | :orange_circle: | Complete mail address via BBDB |
+| ledger-reconcile | :orange_circle: | Reconcile Ledger account |
+| ledger-add-transaction | :orange_circle: | Add Ledger transaction |
+| ledger-toggle-current | :orange_circle: | Toggle current transaction |
+| ledger-copy-transaction-at-point | :orange_circle: | Copy transaction |
+| ledger-delete-current-transaction | :orange_circle: | Delete current transaction |
+| ledger-mode-clean-buffer | :orange_circle: | Clean Ledger buffer |
+| ledger-check-buffer | :orange_circle: | Check Ledger buffer for errors |
+
+---
+
 ## Recommended Development Roadmap
 
 > *Reprioritized based on the user's actual Emacs workflow*
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 32745e6..ee78352 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -15038,3 +15038,49 @@
 (def (cmd-mu4e-view-action app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Mu4e: view action")))
+
+;;; Round 136 — Notmuch, Wanderlust, BBDB, Ledger (batch 2)
+
+(def (cmd-wl-draft-send-and-exit app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: sent draft and exited")))
+
+(def (cmd-bbdb-create app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "BBDB name: "
+      (lambda (name)
+        (echo-message! echo (str "BBDB: created record for '" name "'"))))))
+
+(def (cmd-bbdb-complete-mail app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "BBDB: completed mail address")))
+
+(def (cmd-ledger-reconcile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Reconcile account: "
+      (lambda (acct)
+        (echo-message! echo (str "Ledger: reconciling " acct))))))
+
+(def (cmd-ledger-add-transaction app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: added transaction")))
+
+(def (cmd-ledger-toggle-current app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: toggled current transaction")))
+
+(def (cmd-ledger-copy-transaction-at-point app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: copied transaction")))
+
+(def (cmd-ledger-delete-current-transaction app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: deleted current transaction")))
+
+(def (cmd-ledger-mode-clean-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: cleaned buffer")))
+
+(def (cmd-ledger-check-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ledger: checked buffer for errors")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 2c16b18..dbc405e 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -15645,3 +15645,47 @@
 (def (cmd-pdf-annot-add-text-annotation app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "PDF: added text annotation")))
+
+;;; Round 136 — Notmuch, Wanderlust, BBDB, Ledger (batch 1)
+
+(def (cmd-notmuch-mua-reply app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Notmuch: replying to message")))
+
+(def (cmd-notmuch-mua-forward-message app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Notmuch: forwarding message")))
+
+(def (cmd-notmuch-tag app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Tag changes (+/-tag): "
+      (lambda (tags)
+        (echo-message! echo (str "Notmuch: applied tag changes: " tags))))))
+
+(def (cmd-notmuch-refresh-this-buffer app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Notmuch: refreshed buffer")))
+
+(def (cmd-notmuch-show-archive-message-then-next app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Notmuch: archived message, moving to next")))
+
+(def (cmd-wl app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: started")))
+
+(def (cmd-wl-summary-next app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: next message")))
+
+(def (cmd-wl-summary-prev app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: previous message")))
+
+(def (cmd-wl-summary-reply app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: replying")))
+
+(def (cmd-wl-summary-forward app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Wanderlust: forwarding")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 025aa4c..0f70c4a 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -4289,4 +4289,25 @@
   (register-command! 'mu4e-headers-next cmd-mu4e-headers-next)
   (register-command! 'mu4e-headers-prev cmd-mu4e-headers-prev)
   (register-command! 'mu4e-view-action cmd-mu4e-view-action)
+  ;; Round 136 — Notmuch, Wanderlust, BBDB, Ledger
+  (register-command! 'notmuch-mua-reply cmd-notmuch-mua-reply)
+  (register-command! 'notmuch-mua-forward-message cmd-notmuch-mua-forward-message)
+  (register-command! 'notmuch-tag cmd-notmuch-tag)
+  (register-command! 'notmuch-refresh-this-buffer cmd-notmuch-refresh-this-buffer)
+  (register-command! 'notmuch-show-archive-message-then-next cmd-notmuch-show-archive-message-then-next)
+  (register-command! 'wl cmd-wl)
+  (register-command! 'wl-summary-next cmd-wl-summary-next)
+  (register-command! 'wl-summary-prev cmd-wl-summary-prev)
+  (register-command! 'wl-summary-reply cmd-wl-summary-reply)
+  (register-command! 'wl-summary-forward cmd-wl-summary-forward)
+  (register-command! 'wl-draft-send-and-exit cmd-wl-draft-send-and-exit)
+  (register-command! 'bbdb-create cmd-bbdb-create)
+  (register-command! 'bbdb-complete-mail cmd-bbdb-complete-mail)
+  (register-command! 'ledger-reconcile cmd-ledger-reconcile)
+  (register-command! 'ledger-add-transaction cmd-ledger-add-transaction)
+  (register-command! 'ledger-toggle-current cmd-ledger-toggle-current)
+  (register-command! 'ledger-copy-transaction-at-point cmd-ledger-copy-transaction-at-point)
+  (register-command! 'ledger-delete-current-transaction cmd-ledger-delete-current-transaction)
+  (register-command! 'ledger-mode-clean-buffer cmd-ledger-mode-clean-buffer)
+  (register-command! 'ledger-check-buffer cmd-ledger-check-buffer)
 )