* If the element is of the form (DIRECTORY . LIST), and DIRECTORY
is an initial substring of the file's directory, then LIST is
applied by recursively following these rules."
- (setf (alist-get class dir-locals-class-alist) variables))
+ (alist-set class dir-locals-class-alist variables))
(defconst dir-locals-file ".dir-locals.el"
"File that contains directory-local variables.
;; Set the display parameter after filtering, so that filter functions
;; have access to its original value.
(when frameset--target-display
- (setf (alist-get 'display filtered) (cdr frameset--target-display)))
+ (alist-set 'display filtered (cdr frameset--target-display)))
filtered))
\f
(let ((text-pixel-width (cdr (assq 'frameset--text-pixel-width parameters)))
(text-pixel-height (cdr (assq 'frameset--text-pixel-height parameters))))
(when text-pixel-width
- (setf (alist-get 'width filtered-cfg) (cons 'text-pixels text-pixel-width)))
+ (alist-set 'width filtered-cfg (cons 'text-pixels text-pixel-width)))
(when text-pixel-height
- (setf (alist-get 'height filtered-cfg) (cons 'text-pixels text-pixel-height))))
+ (alist-set 'height filtered-cfg (cons 'text-pixels text-pixel-height))))
(when fullscreen
;; Currently Emacs has the limitation that it does not record the size
old-list)))))))
;; Possibly decode group names.
(dolist (cat list)
- (setf (alist-get 'agent-groups cat)
- (mapcar (lambda (g)
- (if (string-match-p "[^[:ascii:]]" g)
- (decode-coding-string g 'utf-8-emacs)
- g))
- (alist-get 'agent-groups cat))))
+ (alist-set 'agent-groups cat
+ (mapcar (lambda (g)
+ (if (string-match-p "[^[:ascii:]]" g)
+ (decode-coding-string g 'utf-8-emacs)
+ g))
+ (alist-get 'agent-groups cat))))
list)
(list (gnus-agent-cat-make 'default 'short)))))
;; pending an upgrade of Gnus' file formats.
(let ((gnus-category-alist
(mapcar (lambda (cat)
- (setf (alist-get 'agent-groups cat)
- (mapcar (lambda (g)
- (if (multibyte-string-p g)
- (encode-coding-string g 'utf-8-emacs)
- g))
- (alist-get 'agent-groups cat)))
+ (alist-set
+ 'agent-groups cat
+ (mapcar (lambda (g)
+ (if (multibyte-string-p g)
+ (encode-coding-string g 'utf-8-emacs)
+ g))
+ (alist-get 'agent-groups cat)))
cat)
(copy-tree gnus-category-alist))))
(gnus-make-directory (nnheader-concat gnus-agent-directory "lib"))
;; If our query came via an old call to nnir, we know not to
;; parse the query.
(when (assq 'nnir-query-spec specs)
- (setf (alist-get 'raw query-spec) t))
+ (alist-set 'raw query-spec t))
(gnus-group-make-group
name
(list 'nnselect "nnselect")
;; If our query came via an old call to nnir, we know not to parse
;; the query.
(when (assq 'nnir-query-spec specs)
- (setf (alist-get 'raw query-spec) t))
+ (alist-set 'raw query-spec t))
(gnus-group-read-ephemeral-group
(concat "nnselect-" (message-unique-id))
(list 'nnselect "nnselect")
"\\(thread\\|grep\\|limit\\|raw\\):\\([^ ]+\\)"
query)
(setq val (match-string 2 query))
- (setf (alist-get (intern (match-string 1 query)) query-spec)
- ;; This is stupid.
- (cond
- ((equal val "t"))
- ((null (zerop (string-to-number val)))
- (string-to-number val))
- (t val)))
+ (alist-set (intern (match-string 1 query)) query-spec
+ ;; This is stupid.
+ (cond
+ ((equal val "t"))
+ ((null (zerop (string-to-number val)))
+ (string-to-number val))
+ (t val)))
(setq query
(string-trim (replace-match "" t t query 0)))
- (setf (alist-get 'query query-spec) query)))
+ (alist-set 'query query-spec query)))
(when (and gnus-search-use-parsed-queries
(null (alist-get 'raw query-spec)))
- (setf (alist-get 'parsed-query query-spec)
- (gnus-search-parse-query query)))
+ (alist-set 'parsed-query query-spec
+ (gnus-search-parse-query query)))
query-spec))
;; This should be done once at Gnus startup time, when the servers are
(throw 'return t))
(setq server (make-nnmaildir--srv :address server-string))
(let ((inhibit-quit t))
- (setf (alist-get server-string nnmaildir--servers
- nil nil #'equal)
- server)))
+ (alist-set server-string nnmaildir--servers server #'equal)))
(setq dir (assq 'directory defs))
(unless dir
(setf (nnmaildir--srv-error server)
(pcase-dolist (`(,type . ,mark-list) newmarks)
(let ((mark-type (gnus-article-mark-to-type type)))
(unless (eq mark-type 'tuple)
- (setf (alist-get type newmarks)
- (gnus-compress-sequence (sort mark-list #'<))))))
+ (alist-set type newmarks
+ (gnus-compress-sequence (sort mark-list #'<))))))
;; and ensure an unexist key.
(unless (assq 'unexist newmarks)
(push (cons 'unexist nil) newmarks))
(kmacro-menu--query-revert)
(kmacro-menu--do-region
(lambda (id)
- (setf (alist-get (kmacro-menu--id-position id)
- kmacro-menu--marks)
- t)
+ (alist-set (kmacro-menu--id-position id)
+ kmacro-menu--marks
+ t)
(kmacro-menu--propertize-keys 'kmacro-menu-marked)
(tabulated-list-put-tag #("*" 0 1 (face kmacro-menu-mark))))))
(kmacro-menu--query-revert)
(kmacro-menu--do-region
(lambda (id)
- (setf (alist-get (kmacro-menu--id-position id)
- kmacro-menu--deletion-flags)
- t)
+ (alist-set (kmacro-menu--id-position id)
+ kmacro-menu--deletion-flags
+ t)
(kmacro-menu--propertize-keys 'kmacro-menu-flagged)
(tabulated-list-put-tag #("D" 0 1 (face kmacro-menu-mark))))))
(fg (face-attribute 'tooltip :foreground))
(bg (face-attribute 'tooltip :background)))
(when (stringp fg)
- (setf (alist-get 'foreground-color params) fg)
- (setf (alist-get 'border-color params) fg))
+ (alist-set 'foreground-color params fg)
+ (alist-set 'border-color params fg))
(when (stringp bg)
- (setf (alist-get 'background-color params) bg))
+ (alist-set 'background-color params bg))
;; Don't time out: this leads to very confusing behavior when
;; Emacs isn't visible, and the only indication that the user
;; is actually dragging something abruptly disappears.
((= (aref (car args) 0) ?+) ;start a new batch
(when (assoc id rcirc-batch-attributes)
(error "Starting batch with already used ID"))
- (setf (alist-get id rcirc-batch-attributes nil nil #'string=)
- (cons type (cddr args))))
+ (alist-set id rcirc-batch-attributes (cons type (cddr args))
+ #'string=))
((= (aref (car args) 0) ?-) ;close a batch
(unless (assoc id rcirc-batch-attributes)
(error "Closing a unknown batch"))
(let* ((file (org-file-name-concat org-persist-directory org-persist-gc-lock-file))
(alist (when (file-exists-p file) (org-persist--read-elisp-file file)))
new-alist)
- (setf (alist-get before-init-time alist nil nil #'equal)
- (current-time))
+ (alist-set before-init-time alist (current-time)
+ #'equal)
(dolist (record alist)
(when (< (- (float-time (cdr record)) (float-time (current-time)))
org-persist-gc-lock-expiry)
(scope (lambda (_type beg len bin)
(when (<= beg pos (+ beg len))
(setq cur bin))
- (when bin (setf (alist-get beg all) (list len bin))))
+ (when bin (alist-set beg all (list len bin))))
(current-buffer)))
(seq-keep
(pcase-lambda (`(,sym ,len ,bin)) (when (equal bin cur) (cons sym len)))
TYPE is usually keyword `:error', `:warning' or `:note'."
(let ((probe (alist-get type flymake--mode-line-counter-cache 'none)))
(if (eq probe 'none)
- (setf (alist-get type flymake--mode-line-counter-cache)
- (flymake--mode-line-counter-1 type))
+ (alist-set type flymake--mode-line-counter-cache
+ (flymake--mode-line-counter-1 type))
probe)))
;;; Per-buffer diagnostic listing
:button (:toggle . gud-tooltip-mode)]
["Info (debugger)" gud-goto-info]))
-(setf (alist-get 'gud-minor-mode minor-mode-map-alist)
- gud-minor-mode-map)
+(alist-set 'gud-minor-mode minor-mode-map-alist gud-minor-mode-map)
(defvar gud-tool-bar-map
(let ((map (make-sparse-keymap)))
(let (res)
(pcase-dolist (`(,beg ,len ,bin) all)
(when (equal bin dec)
- (setf (alist-get beg res) (list (+ beg len) new))))
+ (alist-set beg res (list (+ beg len) new))))
res)))))
(cl-defmethod refactor-backend-rename-highlight-regions
(let (res)
(pcase-dolist (`(,beg ,len ,bin) all)
(when (equal bin dec)
- (setf (alist-get beg res) (+ beg len))))
+ (alist-set beg res (+ beg len))))
res))))
(provide 'refactor-elisp)
(defun set-register (register value)
"Set contents of Emacs register named REGISTER to VALUE. Return VALUE.
See the documentation of the variable `register-alist' for possible VALUEs."
- (setf (alist-get register register-alist) value))
+ (alist-set register register-alist value))
(defun register-describe-oneline (c)
"Return a one-line description of register C."
(when (and (memq 'tab-bar-format-global tab-bar-format)
(member '(global-mode-string ("" global-mode-string))
mode-line-misc-info))
- (setf (alist-get 'global-mode-string mode-line-misc-info)
- '(("" (:eval (if (and tab-bar-mode
- (memq 'tab-bar-format-global
- tab-bar-format))
- "" global-mode-string)))))))
+ (alist-set 'global-mode-string mode-line-misc-info
+ '(("" (:eval (if (and tab-bar-mode
+ (memq 'tab-bar-format-global
+ tab-bar-format))
+ "" global-mode-string)))))))
(defun tab-bar--undefine-keys ()
"Uninstall key bindings previously bound by `tab-bar--define-keys'."
string to match the tag against. It has the same definition as the
variable `tempo-match-finder'. In this version, supplying a
COMPLETION-FUNCTION just sets `tempo-match-finder' locally."
- (setf (alist-get tag-list tempo-local-tags) completion-function)
+ (alist-set tag-list tempo-local-tags completion-function)
(if completion-function
(setq tempo-match-finder completion-function))
(tempo-invalidate-collection))
extlist-new)))
((push finext extlist-new)))))
(unless (seq-set-equal-p extlist-new extlist)
- (setf (alist-get mode grep-filepattern-alist)
- extlist-new))))
+ (alist-set mode grep-filepattern-alist extlist-new))))
(let* (setsyntax
(punct (with-syntax-table (tex-find-references-syntax-table)
(seq-positions identifier (list ?w ?_)
(fg (face-attribute (or default-face 'tooltip) :foreground))
(bg (face-attribute (or default-face 'tooltip) :background)))
(when (stringp fg)
- (setf (alist-get 'foreground-color params) fg)
- (setf (alist-get 'border-color params) fg))
+ (alist-set 'foreground-color params fg)
+ (alist-set 'border-color params fg))
(when (stringp bg)
- (setf (alist-get 'background-color params) bg))
+ (alist-set 'background-color params bg))
;; Use non-nil APPEND argument below to avoid overriding any
;; faces used in our TEXT. Among other things, this allows
;; tooltips to use the `help-key-binding' face used in
(eq (oref obj command) command))
transient--suffixes))
(setq akey (cons command (this-command-keys))))))
- (setf (alist-get akey alist) level)
- (setf (alist-get prefix transient-levels) alist))
+ (alist-set akey alist level)
+ (alist-set prefix transient-levels alist))
(transient-save-levels)
(transient--show))
(t
(stringp (car transient--history)))
(set-text-properties 0 (length (car transient--history)) nil
(car transient--history)))
- (setf (alist-get history-key transient-history)
- (delete-dups transient--history)))
+ (alist-set history-key transient-history
+ (delete-dups transient--history)))
value))))
(cl-defmethod transient-infix-read ((obj transient-switch))
(cl-defmethod transient-save-value ((obj transient-prefix))
(let ((value (transient-get-value)))
(oset (oref obj prototype) value value)
- (setf (alist-get (oref obj command) transient-values) value)
+ (alist-set (oref obj command) transient-values value)
(transient-save-values))
(transient--history-push obj))
(cl-defmethod transient--history-push ((obj transient-prefix))
(let ((key (transient--history-key obj)))
- (setf (alist-get key transient-history)
- (let ((args (transient-get-value)))
- (cons args (delete args (alist-get key transient-history)))))))
+ (alist-set key transient-history
+ (let ((args (transient-get-value)))
+ (cons args (delete args (alist-get key transient-history)))))))
(cl-defgeneric transient--history-init (obj)
"Initialize OBJ's `history' slot.
(pcase-let ((`(,height ,width)
(buffer-line-statistics transient--buffer))
(params (assq 'pop-up-frame-parameters (cdr action))))
- (setf (alist-get 'height params) height)
- (setf (alist-get 'width params)
- (max width (or transient-minimal-frame-width 0)))))
+ (alist-set 'height params height)
+ (alist-set 'width params
+ (max width (or transient-minimal-frame-width 0)))))
action))
(defun transient--fit-window-to-buffer (window)
(alist-get category return-entries nil nil #'equal)))
(if (not existing-entries)
(push entry return-entries)
- (setf (alist-get category return-entries nil nil #'equal)
- (append existing-entries sub-entries)))))
+ (alist-set category return-entries
+ (append existing-entries sub-entries)
+ #'equal))))
(nreverse return-entries)))
(defun treesit--generate-simple-imenu (node settings)
(cdr err))
" ")))
;; If success, Save the recipe for the current session.
- (setf (alist-get lang treesit-language-source-alist)
- (cdr recipe)))))
+ (alist-set lang treesit-language-source-alist (cdr recipe)))))
(error
(display-warning
'treesit
(fg (face-attribute 'tooltip :foreground))
(bg (face-attribute 'tooltip :background)))
(when (stringp fg)
- (setf (alist-get 'foreground-color params) fg))
+ (alist-set 'foreground-color params fg))
(when (stringp bg)
- (setf (alist-get 'background-color params) bg))
+ (alist-set 'background-color params bg))
params))
(defvar tty-tip--help-message nil)
;; Save current configuration.
;; (Called below by `winner-save-old-configurations').
(defun winner-remember ()
- (setf (alist-get (selected-frame) winner-currents) (winner-conf)))
+ (alist-set (selected-frame) winner-currents (winner-conf)))
;; Consult `winner-currents'.
(defun winner-configuration (&optional frame)
data (a string)."
(make-local-variable 'yank-media--registered-handlers)
(dolist (type (ensure-list types))
- (setf (alist-get type yank-media--registered-handlers nil nil #'equal)
- handler)))
+ (alist-set type yank-media--registered-handlers handler #'equal)))
(defun yank-media-types (&optional all)
"Yank any element present in the primary selection or the clipboard.