Skip to content
  1. Feb 23, 2022
  2. Jan 17, 2022
  3. Jan 10, 2022
    • Eric Timmons's avatar
      Better handling of missing packages in DEFINE-PACKAGE :IMPORT-FROM · 4bb3b11d
      Eric Timmons authored and Robert Goldman's avatar Robert Goldman committed
      Signal a style warning if we `:import-from` using a package that does not exist and an empty symbol list. Remains an error to `:import-from` a package that does not exist with a non-empty symbol list.
      
      Add some tests to try and ensure `:uiop/package` and `:uiop/package-local-nicknames` are not modified.
      4bb3b11d
  4. Dec 24, 2021
    • Robert Goldman's avatar
      Better error message for import-from in define-package. · 1731a174
      Robert Goldman authored
      Resolve "UIOP:DEFINE-PACKAGE signals a TYPE-ERROR when trying to IMPORT-FROM a non-existent package" (#98)
      
      The code handling other options to `define-package` used `find-package*`, 
      which (by default) errors if it can't find the package it's looking for.  The
      exception was the code for `:import-from`. This caused cryptic error messages
      (issue #98) when trying to import from a package that did not exist.
      
      Switched to using `find-package*`, added a new exception class, and added a test.
      
      1731a174
  5. Jul 27, 2021
  6. Jun 03, 2021
  7. May 08, 2021
  8. Mar 22, 2021
    • Robert Goldman's avatar
      fix #51; add comments to `ensure-package` · caf89a8a
      Robert Goldman authored
      Prior to this commit, we were trying to be far too smart when updating
      a package's package-local-nicknames: we'd only call
      `remove-package-local-nickname` on the set difference of the old
      nicknames and the new nicknames; that is, we would not remove and then
      reinstall a package-local-nickname which was already present and we
      wanted to keep. The bug which caused #51 was that the set-difference
      considered only the nickname, not the package to which it
      referred. But rather than worrying about accurately computing the
      minimal set of nicknames to remove, this commit just has
      `ensure-package` remove all package-local-nicknames, then reinstall
      the ones it wants. This may be either a performance improvement or
      regression depending on whether computing set differences is more or
      less expensive than manipulating package data structures, but my
      suspicion is that no one cares either way.
      
      Also, during the course of my debugging, I [Phoebe Goldman] added a few line-comments
      to the definition of `ensure-package` so that I could tell what
      various parts of its body were doing. I'd rather not write those
      comments again, so I'm including them in this commit.
      
      Tests incorporated and changelog updated.
      caf89a8a
  9. Apr 27, 2020
  10. Apr 04, 2020
  11. Feb 17, 2018
    • Eric Timmons's avatar
      Change apply to funcall in expansion of define-package · 21e3a85b
      Eric Timmons authored
      SBCL has been getting aggresive with checking arguments to functions. For some
      reason (as of SBCL 1.4.1), setting the package source location in define-package
      seems to trigger a source translation for the apply form that ends up producing
      (many) compilation notes that the arguments to ensure-package in the keyword
      positions are not constant, weakening keyword argument checking. We can get
      around that, however, by using a funcall directly.
      21e3a85b
    • Eric Timmons's avatar
      Evaluate sb-c:source-location after macroexpansion · ed0f4d5e
      Eric Timmons authored
      Tested on SBCL 1.4.4. If sb-c:source-location is evaluated during macro
      expansion, then the source location will always point to asdf.lisp (inside the
      define-package macro). If it is evaluated after macro expansion, it points to
      the right place.
      ed0f4d5e
  12. Dec 17, 2017
  13. Nov 18, 2015
  14. Apr 26, 2015
  15. Mar 12, 2015
  16. Sep 01, 2014
  17. Jul 12, 2014
  18. Apr 22, 2014
  19. Jan 07, 2014
  20. Dec 20, 2013
  21. Nov 18, 2013
  22. Nov 15, 2013
    • Francois-Rene Rideau's avatar
      UIOP improvements. · cbc92b1b
      Francois-Rene Rideau authored
      Define the :DBG macro, so it's ubiquitously available for print-debugging.
      Define and export nest, so it's always there to prevent indentation drift.
      Tweak restore-image again for better handling of *lisp-interaction*.
      Update docstrings for define-package.
      Define %process-info-pid.
      cbc92b1b
  23. Nov 12, 2013
  24. Oct 24, 2013
  25. Oct 23, 2013
    • Francois-Rene Rideau's avatar
      package-system: support for quick-build style defpackage-based dependencies. · c609093c
      Francois-Rene Rideau authored
      This is quick-build compatible and fixes lp#1230368.
      
      To use package-system, just have foo.asd containing
      	(defsystem foo :class package-system)
      at the top of your quick-build hierarchy $FOODIR
      for packages whose name start with "FOO/"
      and ASDF will thereafter look for system "foo/bar/baz" in $FOODIR/bar/baz.lisp.
      
      Such a file will implicitly have its own system defined;
      its dependencies are computed by scanning the file,
      extracting its first defpackage form,
      and using the packages it uses or imports from
      as a as a specification of what systems it depends on.
      
      You can register packages as belonging to a system with
      	(asdf:register-system-packages my-system '(package1 package2))
      Using or importing from a package registered to a given system
      will generate a dependency to the registered system.
      Using or importing from a packages registered to the constant symbol T
      will not generate any dependency.
      Using or importing from a packages that is not registered will generate
      a dependency on a system the name of which is the package name downcased.
      All packages that exist at the time ASDF is initially loaded
      are registered to constant symbol T.
      
      Also, for convenience, introduce :use-reexport and :mix-reexport in
      uiop/package.lisp (of course, no one can rely on it until it's mainstream,
      but better late than never).
      
      To use this style in a way compatible with older versions of ASDF 3,
      you may use the asdf-package-system extension.
      See lisp-interface-library for a system that uses this style this way.
      
      Push :asdf-package-system to *features*
      c609093c
  26. Oct 09, 2013
  27. Aug 07, 2013
  28. Jul 31, 2013
  29. Mar 05, 2013
  30. Mar 03, 2013
  31. Jan 31, 2013
  32. Jan 29, 2013
  33. Jan 27, 2013
  34. Jan 25, 2013
    • Francois-Rene Rideau's avatar
      2.26.146: restore W-C-U around perform-plan for backward compatibility. · db1cebf7
      Francois-Rene Rideau authored
      Also, move entry-point into system and remove class bundle-system.
      I was tempted to have test-op call it, but then it's a problem
      when the base system has a non-test entry-point, so we probably need
      a separate test-entry-point slot.
      
      Update the default *asdf-debug-utility* to do more of the right thing.
      
      Update changelog.
      
      Tweak package to avoid triggering a bug in ABCL trunk.
      db1cebf7
  35. Jan 24, 2013
    • Francois-Rene Rideau's avatar
      2.26.142: Update the system definitions. · 3abb3e42
      Francois-Rene Rideau authored
      A better asdf.asd.
      
      Refactor the preloaded system mechanism, use it for cl-launch 3.21.2.
      
      Rename bundle-pathname to build-pathname, move it from bundle-system to system.
      
      Rename the gcl<2.7 feature gcl2.6. Die on gcl2.5 and earlier.
      Don't even try to compile-file asdf using gcl 2.6, just load the .lisp.
      
      Rename asdf/compatibility to asdf/common-lisp, exporting only CL symbols.
      Fix define-package to correctly handle exporting of NIL.
      
      Also, make it work with Genera, with #'(lambda instead of (lambda,
      and using lisp:loop (via a macro loop*) when destructuring is required.
      
      Document more 2.27 changes in changelog.
      
      If there is no :pathname and no load-pathname,
      do NOT have a system pathname take defaults from *default-pathname-defaults*,
      but make it NIL.
      3abb3e42