doomemacs/modules/email/wanderlust/config.el
Henrik Lissner a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00

80 lines
2.3 KiB
EmacsLisp

;;; app/wanderlust/config.el -*- lexical-binding: t; -*-
(use-package! wl
:defer t
:config
(setq mail-user-agent 'wl-user-agent
pgg-scheme 'gpg
mime-edit-split-message nil)
(when (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'wl-user-agent
'wl-user-agent-compose
'wl-draft-send
'wl-draft-kill
'mail-send-hook))
(setq wl-demo nil
wl-stay-folder-window t
wl-init-file (expand-file-name "wl.el" doom-private-dir)
wl-folders-file (expand-file-name "folders.wl" doom-private-dir))
(setq wl-message-truncate-lines t
wl-summary-width 120
wl-message-ignored-field-list
'(".*Received:"
".*Path:"
".*Id:"
"^References:"
"^Replied:"
"^Errors-To:"
"^Lines:"
"^Sender:"
".*Host:"
"^Xref:"
"^Content-Type:"
"^Precedence:"
"^Status:"
"^X.*:"
"^MIME.*:"
"^In-Reply-To:"
"^Content-Transfer-Encoding:"
"^List-.*:")
wl-message-visible-field-list
'("^Message-Id:"
"^User-Agent:"
"^X-Mailer:"
"^X-Face:"))
(when (featurep! +gmail)
(setq elmo-imap4-default-server "imap.gmail.com"
elmo-imap4-default-port 993
elmo-imap4-default-authenticate-type 'clear ; CRAM-MD5
elmo-imap4-default-user user-mail-address
elmo-imap4-default-stream-type 'ssl
elmo-imap4-set-seen-flag-explicitly t)
(setq wl-smtp-connection-type 'starttls
wl-smtp-posting-port 587
wl-smtp-authenticate-type "plain"
wl-smtp-posting-user user-mail-address
wl-smtp-posting-server "smtp.gmail.com"
wl-local-domain "gmail.com")
(setq wl-default-folder "%inbox"
wl-draft-folder "%[Gmail]/Drafts"
wl-trash-folder "%[Gmail]/Trash"
wl-fcc-force-as-read t
wl-default-spec "%"))
(setq wl-message-id-domain wl-local-domain)
(when (featurep! :editor evil)
;; Neither wl-folder-mode or wl-summary-mode are correctly defined as major
;; modes, so `evil-set-initial-state' won't work here.
(add-hook! '(wl-folder-mode-hook wl-summary-mode-hook)
#'evil-emacs-state))
(add-hook 'mime-edit-mode-hook #'auto-fill-mode))