- Feb 23, 2022
-
-
Robert Goldman authored
-
- Jan 17, 2022
-
-
Robert Goldman authored
Expand on the use of :UNINTERN keyword argument, based on discussion around issue #85.
-
- Jan 10, 2022
-
-
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.
-
- Dec 24, 2021
-
-
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.
-
- Jul 27, 2021
-
-
Eric Timmons authored
Only include `:local-nicknames` as an argument to `ensure-package` if it is non-NIL. Fixes #84
-
- Jun 03, 2021
-
-
It got lost in an earlier rebase of this branch.
-
-
- May 08, 2021
-
-
- Mar 22, 2021
-
-
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.
-
- Apr 27, 2020
-
-
Robert Goldman authored
-
- Apr 04, 2020
-
-
Fixes #14 as suggested by reporter Andriy Kmit. Add support for package local nicknames to package-inferred-systems and define-package.
-
- Feb 17, 2018
-
-
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.
-
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.
-
- Dec 17, 2017
-
-
Francois-Rene Rideau authored
Enhance define-package so SBCL can locate the source-location of the package.
-
- Nov 18, 2015
-
-
Francois-Rene Rideau authored
A few are kept, for backward-compatibility with systems in quicklisp.
-
- Apr 26, 2015
-
-
Francois-Rene Rideau authored
-
- Mar 12, 2015
-
-
Francois-Rene Rideau authored
Based on a contribution by Christian Shafmeister.
-
- Sep 01, 2014
-
-
Francois-Rene Rideau authored
(the CLHS implies that a symbol designates a singleton list of its name).
-
- Jul 12, 2014
-
-
Francois-Rene Rideau authored
without COPY-LIST on shared data structures. Bug found by drmeister.
-
- Apr 22, 2014
-
-
Francois-Rene Rideau authored
-
- Jan 07, 2014
-
-
Francois-Rene Rideau authored
-
- Dec 20, 2013
-
-
Francois-Rene Rideau authored
Why is this somehow not affecting other implementations???
-
- Nov 18, 2013
-
-
Francois-Rene Rideau authored
-
- Nov 15, 2013
-
-
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.
-
- Nov 12, 2013
-
-
Francois-Rene Rideau authored
Everyone should be using a recent 2.7.0 (in ANSI mode) from master for ASDF.
-
- Oct 24, 2013
-
-
Francois-Rene Rideau authored
-
- Oct 23, 2013
-
-
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*
-
- Oct 09, 2013
-
-
Francois-Rene Rideau authored
-
- Aug 07, 2013
-
-
Robert P. Goldman authored
-
- Jul 31, 2013
-
-
Robert P. Goldman authored
-
- Mar 05, 2013
-
-
Francois-Rene Rideau authored
-
- Mar 03, 2013
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
Another pass package upgrade. Export FEATURE from correct package. Use package :asdf-user when reading file for version.
-
- Jan 31, 2013
-
-
Francois-Rene Rideau authored
-
Francois-Rene Rideau authored
Also, intern fishy symbols that are imported but missing from original package.
-
- Jan 29, 2013
-
-
Francois-Rene Rideau authored
Also, rename ensure-pathname-absolute to ensure-absolute-pathname, to avoid nasty messages while upgrading. Fix upgrade test.
-
Francois-Rene Rideau authored
ENSURE-EXPORTED was exporting the wrong symbol via EXPORT*. Also, backward compatibility with systems (i.e. cxml) that directly access the relative-pathname slot of a system the ASDF 1 way, instead of using system-relative-pathname. Eliminate the last use of merge-pathnames.
-
- Jan 27, 2013
-
-
Francois-Rene Rideau authored
Keep the obsolete slot properties for the sake of upgrade.
-
- Jan 25, 2013
-
-
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.
-
- Jan 24, 2013
-
-
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.
-