From: Eshel Yaron Date: Thu, 24 Oct 2024 12:08:12 +0000 (+0200) Subject: Do not rely on package.el X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0bc614647b223510d93b1a749b2d1476f3cd79ff;p=emacs.git Do not rely on package.el --- diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index d48ee1f2ca4..0e3650b9e56 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -453,18 +453,21 @@ is wrapped around any parts requiring it." (t dep))) deps)))) -(declare-function package-read-from-string "package" (str)) - (defun lm-package-requires (&optional file) "Return dependencies listed in file FILE, or current buffer if FILE is nil. The return value is a list of elements of the form (PACKAGE VERSION) where PACKAGE is the package name (a symbol) and VERSION is the package version (a string)." - (require 'package) (lm-with-file file (and-let* ((require-lines (lm-header-multiline "package-requires"))) (lm--prepare-package-dependencies - (package-read-from-string (mapconcat #'identity require-lines " ")))))) + (let ((str (string-join require-lines " "))) + (pcase-let ((`(,expr . ,offset) (read-from-string str))) + (condition-case () + ;; The call to `ignore' suppresses a compiler warning. + (progn (ignore (read-from-string str offset)) + (error "Can't read whole string")) + (end-of-file expr)))))))) (defun lm-package-needs-footer-line (&optional file) "Return non-nil if package in current buffer needs a footer line. diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 72a4549aa8d..66ee2749b51 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -172,8 +172,6 @@ 'eglot-move-to-column-function 'eglot-move-to-linepos-function "1.12") (define-obsolete-variable-alias 'eglot-ignored-server-capabilites 'eglot-ignored-server-capabilities "1.8") -;;;###autoload -(define-obsolete-function-alias 'eglot-update #'eglot-upgrade-eglot "29.1") ;;; User tweakable stuff @@ -1615,7 +1613,7 @@ This docstring appeases checkdoc, that's all." :clientInfo (append '(:name "Eglot") - (let ((v (package-get-version))) + (let ((v "1.17")) (and v (list :version v)))) ;; Maybe turn trampy `/ssh:foo@bar:/path/to/baz.py' ;; into `/path/to/baz.py', so LSP groks it. @@ -2160,16 +2158,6 @@ If it is activated, also signal textDocument/didOpen." (declare (obsolete info "1.10")) (interactive) (info "(eglot)")) -;;;###autoload -(defun eglot-upgrade-eglot (&rest _) "Update Eglot to latest version." - (interactive) - (with-no-warnings - (require 'package) - (unless package-archive-contents (package-refresh-contents)) - (when-let ((existing (cadr (assoc 'eglot package-alist)))) - (package-delete existing t)) - (package-install (cadr (assoc 'eglot package-archive-contents))))) - (easy-menu-define eglot-menu nil "Eglot" `("Eglot" ;; Commands for getting information and customization.