From: Noam Postavsky Date: Sun, 3 Dec 2017 00:38:36 +0000 (-0500) Subject: * lisp/emacs-lisp/package.el (package-read-from-string): Simplify. X-Git-Tag: emacs-27.0.90~6097 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6e0008890ffcfdcd0a8fc827c7108907bfb25d0a;p=emacs.git * lisp/emacs-lisp/package.el (package-read-from-string): Simplify. --- diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 61bff5cfbca..f8b4cc888dd 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -961,17 +961,12 @@ This assumes that `pkg-desc' has already been activated with (defun package-read-from-string (str) "Read a Lisp expression from STR. Signal an error if the entire string was not used." - (let* ((read-data (read-from-string str)) - (more-left - (condition-case nil - ;; The call to `ignore' suppresses a compiler warning. - (progn (ignore (read-from-string - (substring str (cdr read-data)))) - t) - (end-of-file nil)))) - (if more-left - (error "Can't read whole string") - (car read-data)))) + (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 package--prepare-dependencies (deps) "Turn DEPS into an acceptable list of dependencies.