devops: Fix pmodel/find-package. mit-scheme-pucked-9.2.15 mit-scheme-pucked-blowfish-1.0.0 mit-scheme-pucked-cairo-0.8 mit-scheme-pucked-edwin-3.116.4 mit-scheme-pucked-gdbm-1.0.0 mit-scheme-pucked-gl-0.6 mit-scheme-pucked-glib-0.9 mit-scheme-pucked-gtk-0.8 mit-scheme-pucked-gtk-screen-0.4 mit-scheme-pucked-imail-1.21.4 mit-scheme-pucked-mcrypt-1.0.0 mit-scheme-pucked-pango-0.8 mit-scheme-pucked-pgsql-1.0.0 mit-scheme-pucked-planetarium-0.5 mit-scheme-pucked-x11-1.0.0 mit-scheme-pucked-x11-screen-1.0.0
authorMatt Birkholz <matt@birchwood-abbey.net>
Fri, 22 Jun 2018 23:49:04 +0000 (16:49 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Fri, 22 Jun 2018 23:49:04 +0000 (16:49 -0700)
src/devops/lint.scm

index 900000ac831524f3d05d788ac82b6592724bf7f3..dc3790a9ce10a7a4c316cf72dc6e7dc6941c8294 100644 (file)
@@ -72,8 +72,12 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
          deffns))))
 
 (define (pmodel/find-package pmodel package-name)
-  (filter (lambda (p) (equal? package-name (package/name p)))
-         (pmodel/packages pmodel)))
+  (let ((pkgs (filter (lambda (p) (equal? package-name (package/name p)))
+                     (pmodel/packages pmodel))))
+    (and (pair? pkgs)
+        (if (null? (cdr pkgs))
+            (car pkgs)
+            (error "Multiple packages:" package-name)))))
 
 (define (pmodel/global-exports pmodel)
   (define (global-exports package)
@@ -87,10 +91,8 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
   (append-map! global-exports (pmodel/packages pmodel)))
 
 (define (pmodel/package-bindings pmodel package-name)
-  (let ((package (pmodel/find-package pmodel package-name)))
-    (if package
-       (map binding/name (package/bindings package))
-       (error "No such package:" package-name))))
+  (map binding/name
+       (package/bindings (pmodel/find-package pmodel package-name))))
 
 (define (duplicates listset)
   (let loop ((items listset) (duplicates '()))