]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/package.el (package-read-from-string): Simplify.
authorNoam Postavsky <npostavs@gmail.com>
Sun, 3 Dec 2017 00:38:36 +0000 (19:38 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 3 Dec 2017 20:39:02 +0000 (15:39 -0500)
lisp/emacs-lisp/package.el

index 61bff5cfbca3788c25623b80bbc83ee7bafd8cd9..f8b4cc888dd0ad4c1c090113cd50c0b8957f4bb1 100644 (file)
@@ -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.