diff options
Diffstat (limited to '.emacs.d/lisp/bandali-message.el')
-rw-r--r-- | .emacs.d/lisp/bandali-message.el | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/.emacs.d/lisp/bandali-message.el b/.emacs.d/lisp/bandali-message.el new file mode 100644 index 0000000..dd048bb --- /dev/null +++ b/.emacs.d/lisp/bandali-message.el @@ -0,0 +1,80 @@ +;;; bandali-message.el --- bandali's message.el setup -*- lexical-binding: t; -*- + +;; Copyright (C) 2018-2025 Amin Bandali <bandali@gnu.org> + +;; Author: Amin Bandali <bandali@gnu.org> +;; Keywords: mail, news + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; My setup for message.el. + +;;; Code: + +(with-eval-after-load 'message + ;; Redefine for a simplified In-Reply-To header + ;; (https://todo.sr.ht/~sircmpwn/lists.sr.ht/67) + (defun message-make-in-reply-to () + "Return the In-Reply-To header for this message." + (when message-reply-headers + (let ((from (mail-header-from message-reply-headers)) + (msg-id (mail-header-id message-reply-headers))) + (when from + msg-id)))) + + (setopt + message-elide-ellipsis "[...]\n" + message-citation-line-format "%N wrote:\n" + message-citation-line-function + #'message-insert-formatted-citation-line + message-confirm-send t + message-fill-column 70 + message-forward-as-mime t + ;; message-kill-buffer-on-exit t + message-send-mail-function #'smtpmail-send-it + message-subscribed-address-functions + '(gnus-find-subscribed-addresses) + message-dont-reply-to-names + (mapconcat + #'identity + '("bandali@kelar\\.org" + "amin@shemshak\\.org" + "\\(bandali\\|mab\\|aminb?\\)@gnu\\.org" + "a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca" + "bandali@gnu\\.ca" + "bandali@ubuntu\\.com" + "bandali@debian\\.org") + "\\|")) + + (defun b/newlines-or-asterism (arg) + "Create newlines per my liking, or insert asterism if ARG is +non-nil." + (interactive "P") + (if arg + (b/insert-asterism) + (progn + (beginning-of-line) + (delete-region (point) (line-end-position)) + (newline) + (open-line 1)))) + (b/keymap-set message-mode-map "M-RET" #'b/newlines-or-asterism) + + (add-hook 'message-mode-hook #'flyspell-mode) + (add-hook + 'message-mode-hook (lambda () (b/keymap-local-unset "C-c C-s")))) + +(provide 'bandali-message) +;;; bandali-message.el ends here |