Round 146: Add 20 ERC extended, Rcirc, SX, Debbugs, Bug-hunter commands
ober
bde3e09888a12724d8e2b29358f48e8d85584618
--- 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 146 — ERC Extended, Rcirc, SX, Debbugs, Bug-hunter, Misc + +| Feature | Status | Notes | +|---|---|---| +| `erc-stamp-mode` | :orange_circle: | ERC timestamp mode | +| `erc-services-mode` | :orange_circle: | NickServ auto-identify | +| `erc-truncate-mode` | :orange_circle: | Truncate long buffers | +| `erc-netsplit-mode` | :orange_circle: | Netsplit detection | +| `erc-ring-mode` | :orange_circle: | Input history ring | +| `erc-pcomplete-mode` | :orange_circle: | Programmable completion | +| `erc-move-to-prompt-mode` | :orange_circle: | Auto-move to prompt | +| `erc-noncommands-mode` | :orange_circle: | Hide non-commands | +| `erc-readonly-mode` | :orange_circle: | Read-only channel buffers | +| `erc-irccontrols-mode` | :orange_circle: | IRC control codes | +| `rcirc-track-minor-mode` | :orange_circle: | Track rcirc activity | +| `rcirc-multiline-minor-mode` | :orange_circle: | Multiline input | +| `sx-ask` | :orange_circle: | Ask on Stack Exchange | +| `sx-inbox` | :orange_circle: | SX inbox notifications | +| `debbugs-gnu-search` | :orange_circle: | Search GNU bug tracker | +| `bug-hunter-init-file` | :orange_circle: | Bisect init file | +| `bug-hunter-file` | :orange_circle: | Bisect arbitrary file | +| `explain-pause-mode` | :orange_circle: | Profile slow commands | +| `explain-pause-top` | :orange_circle: | Show top slow commands | +| `clm-open-command-log-buffer` | :orange_circle: | Open command log buffer | + ### Round 145 — BBDB, Message Mode, Newsticker, SMTP | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -15498,3 +15498,74 @@ (def (cmd-smtpmail-send-queued-mail app) (let* ((echo (app-state-echo app))) (echo-message! echo "SMTPmail: sending queued mail"))) + +;; ============================================================ +;; Round 146 — ERC extended, Rcirc, SX (batch 2) +;; ============================================================ + +(def (cmd-erc-netsplit-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-netsplit) + (if (mode-enabled? app 'erc-netsplit) + (echo-message! echo "ERC netsplit mode enabled") + (echo-message! echo "ERC netsplit mode disabled")))) + +(def (cmd-erc-ring-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-ring) + (if (mode-enabled? app 'erc-ring) + (echo-message! echo "ERC ring mode enabled (input history)") + (echo-message! echo "ERC ring mode disabled")))) + +(def (cmd-erc-pcomplete-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-pcomplete) + (if (mode-enabled? app 'erc-pcomplete) + (echo-message! echo "ERC pcomplete mode enabled") + (echo-message! echo "ERC pcomplete mode disabled")))) + +(def (cmd-erc-move-to-prompt-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-move-to-prompt) + (if (mode-enabled? app 'erc-move-to-prompt) + (echo-message! echo "ERC move-to-prompt mode enabled") + (echo-message! echo "ERC move-to-prompt mode disabled")))) + +(def (cmd-erc-noncommands-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-noncommands) + (if (mode-enabled? app 'erc-noncommands) + (echo-message! echo "ERC noncommands mode enabled") + (echo-message! echo "ERC noncommands mode disabled")))) + +(def (cmd-erc-readonly-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-readonly) + (if (mode-enabled? app 'erc-readonly) + (echo-message! echo "ERC readonly mode enabled") + (echo-message! echo "ERC readonly mode disabled")))) + +(def (cmd-erc-irccontrols-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-irccontrols) + (if (mode-enabled? app 'erc-irccontrols) + (echo-message! echo "ERC IRC controls mode enabled") + (echo-message! echo "ERC IRC controls mode disabled")))) + +(def (cmd-rcirc-track-minor-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'rcirc-track) + (if (mode-enabled? app 'rcirc-track) + (echo-message! echo "Rcirc track minor mode enabled") + (echo-message! echo "Rcirc track minor mode disabled")))) + +(def (cmd-rcirc-multiline-minor-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'rcirc-multiline) + (if (mode-enabled? app 'rcirc-multiline) + (echo-message! echo "Rcirc multiline minor mode enabled") + (echo-message! echo "Rcirc multiline minor mode disabled")))) + +(def (cmd-sx-inbox app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SX: showing inbox notifications"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -16124,3 +16124,65 @@ (def (cmd-message-send app) (let* ((echo (app-state-echo app))) (echo-message! echo "Message: sending..."))) + +;; ============================================================ +;; Round 146 — ERC extended, SX, Debbugs, Bug-hunter, Misc (batch 1) +;; ============================================================ + +(def (cmd-erc-stamp-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-stamp) + (if (mode-enabled? app 'erc-stamp) + (echo-message! echo "ERC stamp mode enabled") + (echo-message! echo "ERC stamp mode disabled")))) + +(def (cmd-erc-services-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-services) + (if (mode-enabled? app 'erc-services) + (echo-message! echo "ERC services mode enabled (NickServ auto-identify)") + (echo-message! echo "ERC services mode disabled")))) + +(def (cmd-erc-truncate-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'erc-truncate) + (if (mode-enabled? app 'erc-truncate) + (echo-message! echo "ERC truncate mode enabled") + (echo-message! echo "ERC truncate mode disabled")))) + +(def (cmd-sx-ask app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Ask on Stack Exchange: " + (lambda (q) + (echo-message! echo (str "SX: composing question '" q "'")))))) + +(def (cmd-debbugs-gnu-search app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search Debbugs: " + (lambda (q) + (echo-message! echo (str "Debbugs: searching for '" q "'")))))) + +(def (cmd-bug-hunter-init-file app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Bug Hunter: bisecting init file for errors"))) + +(def (cmd-bug-hunter-file app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "File to bisect: " + (lambda (f) + (echo-message! echo (str "Bug Hunter: bisecting " f)))))) + +(def (cmd-explain-pause-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'explain-pause) + (if (mode-enabled? app 'explain-pause) + (echo-message! echo "Explain-pause mode enabled") + (echo-message! echo "Explain-pause mode disabled")))) + +(def (cmd-explain-pause-top app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Explain-pause: showing top slow commands"))) + +(def (cmd-clm-open-command-log-buffer app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Command Log: opened log buffer"))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -4499,4 +4499,25 @@ (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) + ;; Round 146 + (register-command! 'erc-stamp-mode cmd-erc-stamp-mode) + (register-command! 'erc-services-mode cmd-erc-services-mode) + (register-command! 'erc-truncate-mode cmd-erc-truncate-mode) + (register-command! 'sx-ask cmd-sx-ask) + (register-command! 'debbugs-gnu-search cmd-debbugs-gnu-search) + (register-command! 'bug-hunter-init-file cmd-bug-hunter-init-file) + (register-command! 'bug-hunter-file cmd-bug-hunter-file) + (register-command! 'explain-pause-mode cmd-explain-pause-mode) + (register-command! 'explain-pause-top cmd-explain-pause-top) + (register-command! 'clm-open-command-log-buffer cmd-clm-open-command-log-buffer) + (register-command! 'erc-netsplit-mode cmd-erc-netsplit-mode) + (register-command! 'erc-ring-mode cmd-erc-ring-mode) + (register-command! 'erc-pcomplete-mode cmd-erc-pcomplete-mode) + (register-command! 'erc-move-to-prompt-mode cmd-erc-move-to-prompt-mode) + (register-command! 'erc-noncommands-mode cmd-erc-noncommands-mode) + (register-command! 'erc-readonly-mode cmd-erc-readonly-mode) + (register-command! 'erc-irccontrols-mode cmd-erc-irccontrols-mode) + (register-command! 'rcirc-track-minor-mode cmd-rcirc-track-minor-mode) + (register-command! 'rcirc-multiline-minor-mode cmd-rcirc-multiline-minor-mode) + (register-command! 'sx-inbox cmd-sx-inbox) )