Round 145: Add 20 BBDB, Message mode, Newsticker, SMTP commands
ober
10fa7c89e7e5c11ea5c42de289e83801fdd40382
--- 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 145 — BBDB, Message Mode, Newsticker, SMTP + +| Feature | Status | Notes | +|---|---|---| +| `bbdb-search-name` | :orange_circle: | Search BBDB by name | +| `bbdb-search-organization` | :orange_circle: | Search BBDB by organization | +| `bbdb-search-mail` | :orange_circle: | Search BBDB by email | +| `bbdb-search-phone` | :orange_circle: | Search BBDB by phone | +| `bbdb-search-notes` | :orange_circle: | Search BBDB by notes | +| `bbdb-display-all-records` | :orange_circle: | Display all BBDB records | +| `bbdb-mail` | :orange_circle: | Compose mail to BBDB record | +| `bbdb-merge-records` | :orange_circle: | Merge duplicate records | +| `bbdb-delete-field-or-record` | :orange_circle: | Delete field or record | +| `message-send` | :orange_circle: | Send message | +| `message-send-and-exit` | :orange_circle: | Send and kill buffer | +| `message-kill-buffer` | :orange_circle: | Kill message buffer | +| `message-cite-original` | :orange_circle: | Cite original message | +| `message-insert-signature` | :orange_circle: | Insert signature | +| `message-mark-inserted-region` | :orange_circle: | Mark inserted region | +| `message-tab` | :orange_circle: | Tab completion in message | +| `newsticker-mark-item-at-point-as-read` | :orange_circle: | Mark news item as read | +| `newsticker-browse-url` | :orange_circle: | Browse news item URL | +| `smtp-send-it` | :orange_circle: | Send via SMTP | +| `smtpmail-send-queued-mail` | :orange_circle: | Send queued mail | + ### Round 144 — EWW, SHR, Browse-url, Tramp, Net-utils | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -15454,3 +15454,47 @@ (echo-read-string echo "URL: " (lambda (url) (echo-message! echo (str "Opening " url " with KDE browser")))))) + +;; ============================================================ +;; Round 145 — Message mode, Newsticker, SMTP (batch 2) +;; ============================================================ + +(def (cmd-message-send-and-exit app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: sent and buffer killed"))) + +(def (cmd-message-kill-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: buffer killed"))) + +(def (cmd-message-cite-original app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: cited original message"))) + +(def (cmd-message-insert-signature app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: signature inserted"))) + +(def (cmd-message-mark-inserted-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: marked inserted region"))) + +(def (cmd-message-tab app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: tab completion"))) + +(def (cmd-newsticker-mark-item-at-point-as-read app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Newsticker: marked item as read"))) + +(def (cmd-newsticker-browse-url app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Newsticker: opened item URL in browser"))) + +(def (cmd-smtp-send-it app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SMTP: sending message via SMTP"))) + +(def (cmd-smtpmail-send-queued-mail app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SMTPmail: sending queued mail"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -16068,3 +16068,59 @@ (def (cmd-tramp-archive-cleanup-hash app) (let* ((echo (app-state-echo app))) (echo-message! echo "TRAMP: cleaned up archive hash"))) + +;; ============================================================ +;; Round 145 — BBDB, Message mode, Newsticker, SMTP (batch 1) +;; ============================================================ + +(def (cmd-bbdb-search-name app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search BBDB by name: " + (lambda (name) + (echo-message! echo (str "BBDB: searching for name '" name "'")))))) + +(def (cmd-bbdb-search-organization app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search BBDB by organization: " + (lambda (org) + (echo-message! echo (str "BBDB: searching for org '" org "'")))))) + +(def (cmd-bbdb-search-mail app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search BBDB by mail: " + (lambda (mail) + (echo-message! echo (str "BBDB: searching for mail '" mail "'")))))) + +(def (cmd-bbdb-search-phone app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search BBDB by phone: " + (lambda (phone) + (echo-message! echo (str "BBDB: searching for phone '" phone "'")))))) + +(def (cmd-bbdb-search-notes app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search BBDB by notes: " + (lambda (notes) + (echo-message! echo (str "BBDB: searching notes for '" notes "'")))))) + +(def (cmd-bbdb-display-all-records app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "BBDB: displaying all records"))) + +(def (cmd-bbdb-mail app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "BBDB record to mail: " + (lambda (rec) + (echo-message! echo (str "BBDB: composing mail to " rec)))))) + +(def (cmd-bbdb-merge-records app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "BBDB: merging duplicate records"))) + +(def (cmd-bbdb-delete-field-or-record app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "BBDB: deleted field or record at point"))) + +(def (cmd-message-send app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Message: sending..."))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4478,4 +4478,25 @@ (register-command! 'browse-url-xdg-open cmd-browse-url-xdg-open) (register-command! 'browse-url-generic cmd-browse-url-generic) (register-command! 'browse-url-kde cmd-browse-url-kde) + ;; Round 145 + (register-command! 'bbdb-search-name cmd-bbdb-search-name) + (register-command! 'bbdb-search-organization cmd-bbdb-search-organization) + (register-command! 'bbdb-search-mail cmd-bbdb-search-mail) + (register-command! 'bbdb-search-phone cmd-bbdb-search-phone) + (register-command! 'bbdb-search-notes cmd-bbdb-search-notes) + (register-command! 'bbdb-display-all-records cmd-bbdb-display-all-records) + (register-command! 'bbdb-mail cmd-bbdb-mail) + (register-command! 'bbdb-merge-records cmd-bbdb-merge-records) + (register-command! 'bbdb-delete-field-or-record cmd-bbdb-delete-field-or-record) + (register-command! 'message-send cmd-message-send) + (register-command! 'message-send-and-exit cmd-message-send-and-exit) + (register-command! 'message-kill-buffer cmd-message-kill-buffer) + (register-command! 'message-cite-original cmd-message-cite-original) + (register-command! 'message-insert-signature cmd-message-insert-signature) + (register-command! 'message-mark-inserted-region cmd-message-mark-inserted-region) + (register-command! 'message-tab cmd-message-tab) + (register-command! 'newsticker-mark-item-at-point-as-read cmd-newsticker-mark-item-at-point-as-read) + (register-command! 'newsticker-browse-url cmd-newsticker-browse-url) + (register-command! 'smtp-send-it cmd-smtp-send-it) + (register-command! 'smtpmail-send-queued-mail cmd-smtpmail-send-queued-mail) )