diff --git a/core/autoload/packages.el b/core/autoload/packages.el index c335a4f3c..331eca2e7 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -205,7 +205,7 @@ Used by `doom//packages-install'." (when (and (not (package-installed-p name)) (quelpa-setup-p) (assq name quelpa-cache)) - (setq quelpa-cache (assq-delete-all name quelpa-cache)) + (map-delete quelpa-cache name) (quelpa-save-cache) (let ((path (expand-file-name (symbol-name name) quelpa-build-dir))) (when (file-exists-p path) @@ -304,7 +304,7 @@ package.el as appropriate." (unless (quelpa-setup-p) (error "Could not initialize QUELPA")) (when (assq name quelpa-cache) - (setq quelpa-cache (assq-delete-all name quelpa-cache)) + (map-delete quelpa-cache name) (quelpa-save-cache) (setq quelpa-p t)) (package-delete (cadr (assq name package-alist)) force-p) diff --git a/core/core-editor.el b/core/core-editor.el index 1592efdc2..a53f9b254 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -146,8 +146,7 @@ extension, try to guess one." ;; editorconfig to ignore indentation. I prefer dynamic indentation support ;; built into Emacs. (dolist (mode '(emacs-lisp-mode lisp-mode)) - (setq editorconfig-indentation-alist - (assq-delete-all mode editorconfig-indentation-alist))) + (map-delete editorconfig-indentation-alist mode)) (defvar whitespace-style) (defun doom|editorconfig-whitespace-mode-maybe (&rest _) diff --git a/core/core-packages.el b/core/core-packages.el index de289fc59..812b8e440 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -463,12 +463,8 @@ Accepts the following properties: (when-let* ((val (plist-get plist prop))) (plist-put plist prop (eval val)))) `(progn - (when ,(and pkg-pin t) - (cl-pushnew (cons ',name ,pkg-pin) package-pinned-packages - :test #'eq :key #'car)) - (when ,(and old-plist t) - (assq-delete-all ',name doom-packages)) - (push ',(cons name plist) doom-packages)))) + ,(if (and pkg-pin t) `(map-put package-pinned-packages ',name ,pkg-pin)) + (map-put doom-packages ',name ',plist)))) (defmacro depends-on! (module submodule) "Declares that this module depends on another. diff --git a/modules/app/email/config.el b/modules/app/email/config.el index c447d2b0b..6805f0c3a 100644 --- a/modules/app/email/config.el +++ b/modules/app/email/config.el @@ -119,25 +119,20 @@ default/fallback account." ;; However, the real magic happens in `+email|gmail-fix-flags'. ;; ;; Gmail will handle the rest. - (setq mu4e-marks (assq-delete-all 'delete mu4e-marks)) - (setq mu4e-marks (assq-delete-all 'trash mu4e-marks)) - (push '(trash :char ("d" . "▼") - :prompt "dtrash" - :dyn-target (lambda (target msg) (mu4e-get-trash-folder msg)) - :action - (lambda (docid msg target) - (mu4e~proc-move docid (mu4e~mark-check-target target) "+S-u-N"))) - mu4e-marks) + (defun +email--mark-seen (docid msg target) + (mu4e~proc-move docid (mu4e~mark-check-target target) "+S-u-N")) + (map-delete mu4e-marks 'delete) + (map-put mu4e-marks 'trash + (list :char '("d" . "▼") + :prompt "dtrash" + :dyn-target (lambda (target msg) (mu4e-get-trash-folder msg)) + :action #'+email--mark-seen)) ;; Refile will be my "archive" function. - (setq mu4e-marks (assq-delete-all 'refile mu4e-marks)) - (push '(refile :char ("r" . "▶") - :prompt "refile" + (map-put mu4e-marks 'refile + (list :char '("r" . "▶") :prompt "refile" :show-target (lambda (target) "archive") - :action - (lambda (docid msg target) - (mu4e~proc-move docid (mu4e~mark-check-target target) "+S-u-N"))) - mu4e-marks) + :action #'+email--mark-seen)) ;; This hook correctly modifies gmail flags on emails when they are marked. ;; Without it, refiling (archiving), trashing, and flagging (starring) email diff --git a/modules/feature/lookup/autoload/lookup.el b/modules/feature/lookup/autoload/lookup.el index f219d00fb..04896f3dc 100644 --- a/modules/feature/lookup/autoload/lookup.el +++ b/modules/feature/lookup/autoload/lookup.el @@ -14,8 +14,7 @@ "Search on: " (mapcar #'car +lookup-provider-url-alist) nil t))) - (push (cons key provider) - (assq-delete-all key +lookup--last-provider)))))) + (map-put +lookup--last-provider key provider))))) (defun +lookup--symbol-or-region (&optional initial) (cond (initial) @@ -227,8 +226,7 @@ for the provider." (user-error "The search query is empty")) (funcall +lookup-open-url-fn (format url (url-encode-url search)))) ('error - (setq +lookup--last-provider - (assq-delete-all major-mode +lookup--last-provider))))) + (map-delete +lookup--last-provider major-mode)))) ;;;###autoload (defun +lookup/online-select () diff --git a/modules/feature/popup/autoload.el b/modules/feature/popup/autoload.el index add331eb7..3864a71c2 100644 --- a/modules/feature/popup/autoload.el +++ b/modules/feature/popup/autoload.el @@ -76,13 +76,11 @@ and enables `+popup-buffer-mode'." "Merge `+popup-default-alist' and `+popup-default-parameters' with ALIST." (if (not alist) (setq alist +popup-default-alist) - (require 'map) (let* ((alist (map-merge 'list +popup-default-alist alist)) (params (map-merge 'list +popup-default-parameters (cdr (assq 'window-parameters alist))))) - (setq alist (assq-delete-all 'window-parameters alist)) - (push (cons 'window-parameters params) alist) + (map-put alist 'window-parameters params) (nreverse alist)))) @@ -151,7 +149,7 @@ current buffer." (remove-hook 'doom-escape-hook #'+popup|close-on-escape) (setq display-buffer-alist +popup--old-display-buffer-alist) (dolist (prop +popup-window-parameters) - (assq-delete-all prop window-persistent-parameters))))) + (map-delete prop window-persistent-parameters))))) ;;;###autoload (define-minor-mode +popup-buffer-mode diff --git a/modules/feature/popup/config.el b/modules/feature/popup/config.el index e4d3569f0..4fb69c621 100644 --- a/modules/feature/popup/config.el +++ b/modules/feature/popup/config.el @@ -100,14 +100,13 @@ ALIST supports one custom parameter: `size', which will resolve to `(let ((alist ,alist) (parameters ,parameters)) ,(when alist - '(when-let* ((size (cdr (assq 'size alist)))) - (setq alist (assq-delete-all 'size alist)) - (push (cons (pcase (cdr (or (assq 'side alist) - (assq 'side +popup-default-alist))) - ((or `left `right) 'window-width) - (_ 'window-height)) - size) - alist))) + `(when-let* ((size (cdr (assq 'size alist))) + (side (cdr (assq 'side (append alist +popup-default-alist))))) + (map-delete alist 'size) + (map-put alist (if (memq side '(left right)) + 'window-width + 'window-height) + size))) (prog1 (push (append (list ,condition '(+popup-buffer)) alist (list (cons 'window-parameters parameters)))