Skip to content

Commit

Permalink
; Unbreak tests on Emacs 26
Browse files Browse the repository at this point in the history
* eglot.el (eglot--plist-keys): Define in Emacs 26, no longer
obsolete in Emacs 27 or later.
(eglot--check-object): Go back to eglot--plist-keys.
  • Loading branch information
skangas committed Jan 16, 2022
1 parent 2e873bf commit a1e104d
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions lisp/progmodes/eglot.el
Original file line number Diff line number Diff line change
Expand Up @@ -451,11 +451,11 @@ on unknown notifications and errors on unknown requests."))
(eglot--interface interface-name)
(when-let ((missing (and enforce-required
(cl-set-difference required-keys
(map-keys object)))))
(eglot--plist-keys object)))))
(eglot--error "A `%s' must have %s" interface-name missing))
(when-let ((excess (and disallow-non-standard
(cl-set-difference
(map-keys object)
(eglot--plist-keys object)
(append required-keys optional-keys)))))
(eglot--error "A `%s' mustn't have %s" interface-name excess))
(when check-types
Expand Down Expand Up @@ -580,7 +580,7 @@ treated as in `eglot-dbind'."
;; has all the keys the user wants to destructure.
`(null (cl-set-difference
',vars-as-keywords
(map-keys ,obj-once)))))
(eglot--plist-keys ,obj-once)))))
collect `(,condition
(cl-destructuring-bind (&key ,@vars &allow-other-keys)
,obj-once
Expand Down Expand Up @@ -3103,7 +3103,12 @@ If INTERACTIVE, prompt user for details."

(make-obsolete-variable 'eglot--managed-mode-hook
'eglot-managed-mode-hook "1.6")
(define-obsolete-function-alias 'eglot--plist-keys #'map-keys "1.9")

(if (< emacs-major-version 27)
(defun eglot--plist-keys (plist)
(cl-loop for (k _v) on plist by #'cddr collect k))
;; Make into an obsolete alias once we drop support for Emacs 26.
(defalias 'eglot--plist-keys #'map-keys))

(provide 'eglot)

Expand Down

0 comments on commit a1e104d

Please sign in to comment.