Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • A asdf
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 63
    • Issues 63
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 21
    • Merge requests 21
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • asdf
  • asdf
  • Issues
  • #98
Closed
Open
Issue created Dec 23, 2021 by Michał Herda@mherda🤔Developer

UIOP:DEFINE-PACKAGE signals a TYPE-ERROR when trying to IMPORT-FROM a non-existent package

On ASDF 3.3.4.7, I just attempted to evaluate this:

(uiop:define-package #:amb
  (:use #:cl)
  (:shadow #:require)
  (:import-from #:alexandria
                #:with-gensyms #:shuffle #:when-let #:define-constant)
  (:export #:amb #:amb-failure #:amb-failure-stack #:+empty-stack+))

Without Alexandria loaded via ASDF. This results in a type error and an unfriendly error message:

The value of UIOP/PACKAGE::FROM-PACKAGE is COMMON-LISP:NIL, which is not of type COMMON-LISP:PACKAGE.
   [Condition of type COMMON-LISP:SIMPLE-TYPE-ERROR]

Restarts:
 0: [STORE-VALUE] Supply a new value for UIOP/PACKAGE::FROM-PACKAGE.
 1: [ABORT] Abort compilation.
 2: [*ABORT] Return to SLIME's top level.
 3: [ABORT] abort thread (#<THREAD "worker" RUNNING {1010F1D1B3}>)

Backtrace:
  0: (SB-KERNEL:CHECK-TYPE-ERROR UIOP/PACKAGE::FROM-PACKAGE COMMON-LISP:NIL COMMON-LISP:PACKAGE COMMON-LISP:NIL)
  1: (UIOP/PACKAGE::ENSURE-IMPORT "WITH-GENSYMS" #<COMMON-LISP:PACKAGE "AMB"> #<unavailable argument> #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 1 {1010F915E3}> #<COMMON-LISP:HASH-TABLE :TEST ..
      Locals:
        IMPORTED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 0 {1010F916A3}>
        NAME = "WITH-GENSYMS"
        SHADOWED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 1 {1010F915E3}>
        TO-PACKAGE = #<COMMON-LISP:PACKAGE "AMB">
  2: (UIOP/PACKAGE:ENSURE-PACKAGE #:AMB :NICKNAMES COMMON-LISP:NIL :DOCUMENTATION COMMON-LISP:NIL :USE (#:CL) :SHADOW (#:REQUIRE) :SHADOWING-IMPORT-FROM COMMON-LISP:NIL :IMPORT-FROM ((#:ALEXANDRIA #:WITH-G..
      Locals:
        #:.DEFAULTING-TEMP. = COMMON-LISP:NIL
        EXPORT = (#:AMB #:AMB-FAILURE #:AMB-FAILURE-STACK #:+EMPTY-STACK+)
        EXPORTED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 4 {1010F91763}>
        IMPORT-FROM = ((#:ALEXANDRIA #:WITH-GENSYMS #:SHUFFLE #:WHEN-LET #:DEFINE-CONSTANT))
        IMPORTED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 0 {1010F916A3}>
        INHERITED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 0 {1010F91823}>
        INTERN = COMMON-LISP:NIL
        LOCAL-NICKNAMES = COMMON-LISP:NIL
        MIX = COMMON-LISP:NIL
        MIX#1 = COMMON-LISP:NIL
        NAME = #:AMB
        NICKNAMES = COMMON-LISP:NIL
        PACKAGE = #<COMMON-LISP:PACKAGE "AMB">
        PP#2 = COMMON-LISP:NIL
        RECYCLE = (#:AMB)
        RECYCLE#1 = (#<COMMON-LISP:PACKAGE "AMB">)
        REEXPORT = COMMON-LISP:NIL
        SHADOW = (#:REQUIRE)
        SHADOWED = #<COMMON-LISP:HASH-TABLE :TEST COMMON-LISP:EQUAL :COUNT 1 {1010F915E3}>
        SHADOWING-IMPORT-FROM = COMMON-LISP:NIL
        TO-DELETE = COMMON-LISP:NIL
        UNINTERN = COMMON-LISP:NIL
        USE = (#:CL)
        USE#1 = (#<COMMON-LISP:PACKAGE "COMMON-LISP">)
Assignee
Assign to
Time tracking