This reverts commit
645bcfc6e57181c39dae1f238758e76c1759a765.
A capability of "null" is downright invalid, and must NOT be mistaken
for a value of "{}" (which indicates the presence of the capability)
or "False" (which indicates its asence). See
https://github.com/microsoft/language-server-protocol/issues/830#issuecomment-
537849292
for a clarification from the LSP maintainer.
for probe = (plist-member caps feat)
if (not probe) do (cl-return nil)
if (eq (cadr probe) :json-false) do (cl-return nil)
- ;; If the server specifies null as the value of the capability, it
- ;; makes sense to treat it like false.
- if (null (cadr probe)) do (cl-return nil)
if (not (listp (cadr probe))) do (cl-return (if more nil (cadr probe)))
finally (cl-return (or (cadr probe) t)))))