The asdf Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The asdf Reference Manual

This is the asdf Reference Manual, version 3.3.1.2, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 13:01:08 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

ASDF: Another System Definition Facility

For general information about ASDF, consult the web page: https://common-lisp.net/project/asdf/

For some reference documentation, read the manual: https://common-lisp.net/project/asdf/asdf.html

For a guide on how to use it, read our "best practices" document: https://github.com/fare/asdf/blob/master/doc/best_practices.md

Below is a guide for ASDF developers. It is not meant for ASDF users.

[TOC]

Building ASDF

First, make sure ASDF is checked out under a path registered to the source-registry, if that isn't the case yet (see the manual). One place would be:

~/.local/share/common-lisp/source/asdf/

or, assuming your implementation provides ASDF 3.1 or later:

~/common-lisp/asdf/

If you cloned our git repository rather than extracted a tarball, bootstrap a copy of build/asdf.lisp with:

make

Building the documentation

The manual is also in the doc/ subdirectory, and can be prepared with:

make -C doc

Testing ASDF

Before you may run tests, you need a few CL libraries. The simplest way to get them is as follows, but read below:

make ext

NOTA BENE: You may also need to run make ext again after you git pull or switch branch, to update the ext/ directory. This unhappily is not automatic. If for some reason tests fail, particularly due to an error compiling, loading or running a library, then run make ext and try again.

The above make target uses git submodule update --init to download all these libraries using git. If you don't otherwise maintain your own set of carefully controlled CL libraries, that's what you want to use. However, it is only available if you have a git checkout of ASDF; not if you used a tarball. If you use a tarball or otherwise do maintain your own set of carefully controlled CL libraries then you will want to use whichever tools you use (e.g. quicklisp, clbuild, or your own scripts around git) to download these libraries: alexandria, asdf-encodings, cl-launch, closer-mop, cl-ppcre, cl-scripting, fare-mop, fare-quasiquote, fare-utils, inferior-shell, lisp-invocation, named-readtables, optima.

If you are a CL developer, you may already have them, or may want to use your own tools to download a version of them you control. If you use Quicklisp, you may let Quicklisp download those you don't have. In these cases, you may NOT want to use the git submodules from make ext; you may undo a make ext with make noext. Otherwise, if you want to let ASDF download known-working versions of its dependencies, you can do it with make ext.

Once you have all the required libraries and the asdf-tools script can find a suitable Common Lisp implementation, you may run all the tests on a given Common Lisp implementation $L, with your favorite installed system $S, using:

make t u l=$L s=$S

To run only the regression test scripts, try simply:

make l=$L test-scripts

Lisp Scripting test system

ASDF by default uses a shell script in ./test/run-tests.sh to run the scripts that orchestrate its tests.

An alternate build and test system is available that uses Common Lisp as a scripting language. It is disabled by default because the new maintainer is having trouble with it in some of his environments. It worked fine for the previous maintainer in his environments, and may be particularly useful on Windows if and when the shell-based test system fails or is not available. Its source code is in tools/ and you can invoke it without going through GNU make, using the script make-asdf.sh, or, on Windows, make-asdf.bat.

To use this alternate test system, pass to make the extra arguments -f Makefile-lisp-scripting as in for instance:

make -f Makefile-lisp-scripting t l=sbcl

Or you can make that your local default (assuming GNU make) using:

echo "include Makefile-lisp-scripting" > GNUmakefile

These Lisp tools by default use Clozure Common Lisp (CCL) to build and run a binary build/asdf-tools that will orchestrate the tests. By defining and exporting the variable LISP to be one of ccl, sbcl or allegro, you can have it use an alternate Common Lisp implementation instead. Install CCL (respectively SBCL or Allegro) and make sure an executable called ccl (respectively sbcl or alisp) is in your PATH, or that you export a variable CCL (respectively SBCL or ALLEGRO) that points to the executable. To use a further Common Lisp implementation, suitably edit the script tools/asdf-tools, or, on Windows, the batch file tools/asdf-tools.bat. (Note that we recommend SBCL 1.3.13 or later when on Windows.)

Note that the executable build/asdf-tools is built the first time you test ASDF. When you update ASDF, via e.g. git pull or a branch switch, you may have to update it, with:

make -f Makefile-lisp-scripting build-asdf-tools

The reason this is not done automatically every time is because building it depends on a working ASDF; but when you're modifying ASDF and testing it, you cannot rely on a working ASDF: indeed, a developer may not only make mistakes, but may deliberately introduce or re-introduce bugs at some place to test code in another place.

Debugging ASDF

To interactively debug ASDF, you may load it in such a way that M-. will work, by installing the source code, and running:

(map () 'load (asdf:input-files :monolithic-concatenate-source-op "asdf"))

To interactively use the asdf-tools, you need to either have all its dependencies installed and configured. If you're using them through the ext/ directory and make ext, then you may need to emulate what the script in tools/asdf-tools does with respect to initializing the source-registry. Note that it also declares a system for cl-launch/dispatch; you can either do something similar, or expand the source for cl-launch with make -C ext/cl-launch source so cl-launch.asd will be created.

Using ASDF internals

If you have to use or extend internal functionality not currently exported by ASDF, please contact us and have us negociate a proper, stable, tested interface that you can actually rely on. Also, please DO NOT refer to specific subpackages such as asdf/find-system from the outside of ASDF, because functions may occasionally be moved from one internal package to the other, without notification. They have in the past and will in the future. Instead, when refering to symbols in ASDF, we recommend you either have your package :use the package :asdf or :import-from it, or that you shall use asdf: or asdf:: as a prefix to the symbols. And once again, please contact us if you have to use non-exported symbols.

Also, the normal way of extending ASDF is to use our class hierarchies for component and operation and to define methods on component-depends-on, perform, input-files, output-files. A common mistake seems to be that some people define methods on operate, which usually is not at all what they think it is.

How do I navigate this source tree?


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 asdf

Maintainer

Robert Goldman

Author

Daniel Barlow

License

MIT

Description

Another System Definition Facility

Long Description

ASDF builds Common Lisp software organized into defined systems.

Version

3.3.1.2

Source

asdf.asd (file)

Component

build (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 asdf/build

Parent

asdf (system)

Location

build/

Component

asdf.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 asdf.asd

Location

asdf.asd

Systems

asdf (system)


Previous: , Up: Lisp files   [Contents][Index]

4.1.2 asdf/build/asdf.lisp

Parent

build (module)

Location

build/asdf.lisp

Packages
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 asdf/footer

Source

asdf.lisp (file)

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 asdf/user

Source

asdf.lisp (file)

Nickname

asdf-user

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 asdf/interface

Source

asdf.lisp (file)

Nicknames
Use List
Used By List

Next: , Previous: , Up: Packages   [Contents][Index]

5.4 asdf/backward-interface

Source

asdf.lisp (file)

Use List
Used By List

asdf/interface

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.5 asdf/backward-internals

Source

asdf.lisp (file)

Use List
Used By List

asdf/interface

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.6 asdf/package-inferred-system

Source

asdf.lisp (file)

Use List
Used By List

asdf/interface

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.7 asdf/concatenate-source

Source

asdf.lisp (file)

Use List
Used By List

asdf/interface

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.8 asdf/bundle

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.9 asdf/parse-defsystem

Source

asdf.lisp (file)

Nickname

asdf/defsystem

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.10 asdf/source-registry

Source

asdf.lisp (file)

Use List
Used By List

asdf/interface

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.11 asdf/output-translations

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.12 asdf/operate

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.13 asdf/plan

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.14 asdf/lisp-action

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.15 asdf/action

Source

asdf.lisp (file)

Nickname

asdf-action

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.16 asdf/operation

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.17 asdf/find-component

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.18 asdf/find-system

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.19 asdf/system

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

reset-system (function)


Next: , Previous: , Up: Packages   [Contents][Index]

5.20 asdf/component

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.21 asdf/upgrade

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.22 asdf/session

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.23 uiop/driver

Source

asdf.lisp (file)

Nicknames
Use List
Used By List

Next: , Previous: , Up: Packages   [Contents][Index]

5.24 asdf/system-registry

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.25 uiop/backward-driver

Source

asdf.lisp (file)

Use List
Used By List

uiop/driver

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.26 asdf/forcing

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.27 uiop/configuration

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.28 uiop/lisp-build

Source

asdf.lisp (file)

Nickname

asdf/lisp-build

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.29 uiop/run-program

Source

asdf.lisp (file)

Nickname

asdf/run-program

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.30 uiop/image

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.31 uiop/launch-program

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.32 uiop/stream

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.33 uiop/filesystem

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.34 uiop/pathname

Source

asdf.lisp (file)

Nickname

asdf/pathname

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.35 uiop/os

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.36 uiop/utility

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.37 uiop/version

Source

asdf.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.38 uiop/common-lisp

Source

asdf.lisp (file)

Nickname

uoip/cl

Use List
Used By List
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.39 uiop/package

Source

asdf.lisp (file)

Use List

common-lisp

Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.40 asdf/cache

Use List
Exported Definitions

Previous: , Up: Packages   [Contents][Index]

5.41 asdf/package

Use List

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Constants

Constant: +non-base-chars-exist-p+
Package

uiop/utility

Source

asdf.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Special variables

Special Variable: *asdf-cache*
Package

asdf/cache

Source

SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST (not found)

Special Variable: *asdf-session*
Package

asdf/session

Source

asdf.lisp (file)

Special Variable: *asdf-session-class*

The default class for sessions

Package

asdf/session

Source

asdf.lisp (file)

Special Variable: *asdf-verbose*
Package

asdf/backward-interface

Source

asdf.lisp (file)

Special Variable: *asdf-version*
Package

asdf/upgrade

Source

asdf.lisp (file)

Special Variable: *base-build-directory*

When set to a non-null value, it should be an absolute directory pathname,
which will serve as the *DEFAULT-PATHNAME-DEFAULTS* around a COMPILE-FILE,
what more while the input-file is shortened if possible to ENOUGH-PATHNAME relative to it. This can help you produce more deterministic output for FASLs.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *central-registry*

A list of ’system directory designators’ ASDF uses to find systems.

A ’system directory designator’ is a pathname or an expression
which evaluates to a pathname. For example:

(setf asdf:*central-registry*
(list ’*default-pathname-defaults* #p"/home/me/cl/systems/" #p"/usr/share/common-lisp/systems/"))

This variable is for backward compatibility.
Going forward, we recommend new users should be using the source-registry.

Package

asdf/system-registry

Source

asdf.lisp (file)

Special Variable: *clear-configuration-hook*
Package

uiop/configuration

Source

asdf.lisp (file)

Special Variable: *command-line-arguments*

Command-line arguments

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *compile-check*

A hook for user-defined compile-time invariants

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *compile-file-failure-behaviour*

How should ASDF react if it encounters a failure (per the ANSI spec of COMPILE-FILE) when compiling a file, which includes any non-style-warning warning.
Valid values are :error, :warn, and :ignore.
Note that ASDF ALWAYS raises an error if it fails to create an output file when compiling.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *compile-file-warnings-behaviour*

How should ASDF react if it encounters a warning when compiling a file? Valid values are :error, :warn, and :ignore.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *default-component-class*
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Special Variable: *default-encoding*

Default encoding for source files.
The default value :utf-8 is the portable thing.
The legacy behavior was :default.
If you (asdf:load-system :asdf-encodings) then
you will have autodetection via *encoding-detection-hook* below, reading emacs-style -*- coding: utf-8 -*- specifications, and falling back to utf-8 or latin1 if nothing is specified.

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *default-source-registries*

List of default source registries

Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *default-source-registry-exclusions*
Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *default-stream-element-type*

default element-type for open (depends on the current CL implementation)

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *defpackage-forms*
Package

asdf/package-inferred-system

Source

asdf.lisp (file)

Special Variable: *encoding-detection-hook*

Hook for an extension to define a function to automatically detect a file’s encoding

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *encoding-external-format-hook*

Hook for an extension (e.g. ASDF-ENCODINGS) to define a better mapping from non-default encodings to and implementation-defined external-format’s

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *here-directory*

This special variable is bound to the currect directory during calls to PROCESS-SOURCE-REGISTRY in order that we be able to interpret the :here directive.

Package

uiop/configuration

Source

asdf.lisp (file)

Special Variable: *ignored-configuration-form*

Have configuration forms been ignored while parsing the configuration?

Package

uiop/configuration

Source

asdf.lisp (file)

Special Variable: *image-dump-hook*

Functions to call (in order) when before an image is dumped

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *image-dumped-p*

Is this a dumped image? As a standalone executable?

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *image-entry-point*

a function with which to restart the dumped image when execution is restored from it.

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *image-postlude*

a form to evaluate, or string containing forms to read and evaluate before the image dump hooks are called and before the image is dumped.

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *image-prelude*

a form to evaluate, or string containing forms to read and evaluate when the image is restarted, but before the entry point is called.

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *image-restore-hook*

Functions to call (in reverse order) when the image is restored

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *immutable-systems*

A hash-set (equal hash-table mapping keys to T) of systems that are immutable,
i.e. already loaded in memory and not to be refreshed from the filesystem.
They will be treated specially by find-system, and passed as :force-not argument to make-plan.

For instance, to can deliver an image with many systems precompiled, that *will not* check the filesystem for them every time a user loads an extension, what more risk a problematic upgrade or catastrophic downgrade, before you dump an image, you may use:
(map () ’asdf:register-immutable-system (asdf:already-loaded-systems))

Note that direct access to this variable from outside ASDF is not supported.
Please call REGISTER-IMMUTABLE-SYSTEM to add new immutable systems, and
contact maintainers if you need a stable API to do more than that.

Package

asdf/system-registry

Source

asdf.lisp (file)

Special Variable: *implementation-type*

The type of Lisp implementation used, as a short UIOP-standardized keyword

Package

uiop/os

Source

asdf.lisp (file)

Special Variable: *lisp-interaction*

Is this an interactive Lisp environment, or is it batch processing?

Package

uiop/image

Source

asdf.lisp (file)

Special Variable: *nil-pathname*

A pathname that is as neutral as possible for use as defaults when merging, making or parsing pathnames

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *operations*
Package

asdf/operation

Source

asdf.lisp (file)

Special Variable: *optimization-settings*

Optimization settings to be used by PROCLAIM-OPTIMIZATION-SETTINGS

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *output-translation-function*

Hook for output translations.

This function needs to be idempotent, so that actions can work whether their inputs were translated or not,
which they will be if we are composing operations. e.g. if some create-lisp-op creates a lisp file from some higher-level input, you need to still be able to use compile-op on that lisp file.

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *output-translations*

Either NIL (for uninitialized), or a list of one element,
said element itself being a sorted list of mappings.
Each mapping is a pair of a source pathname and destination pathname, and the order is by decreasing length of namestring of the source pathname.

Package

asdf/output-translations

Source

asdf.lisp (file)

Special Variable: *output-translations-parameter*
Package

asdf/output-translations

Source

asdf.lisp (file)

Special Variable: *package-inferred-systems*
Package

asdf/package-inferred-system

Source

asdf.lisp (file)

Special Variable: *plan-class*

The default plan class to use when building with ASDF

Package

asdf/plan

Source

asdf.lisp (file)

Special Variable: *post-upgrade-cleanup-hook*
Package

asdf/upgrade

Source

asdf.lisp (file)

Special Variable: *preloaded-systems*

Registration table for preloaded systems.

Package

asdf/system-registry

Source

asdf.lisp (file)

Special Variable: *previous-asdf-versions*
Package

asdf/upgrade

Source

asdf.lisp (file)

Special Variable: *previous-optimization-settings*

Optimization settings saved by PROCLAIM-OPTIMIZATION-SETTINGS

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *recurse-beyond-asds*

Should :tree entries of the source-registry recurse in subdirectories after having found a .asd file? True by default.

Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *registered-systems*

This is a hash table whose keys are strings – the names of systems – and whose values are systems.
A system is referred to as "registered" if it is present in this table.

Package

asdf/system-registry

Source

asdf.lisp (file)

Special Variable: *resolve-symlinks*

Determine whether or not ASDF resolves symlinks when defining systems. Defaults to T.

Package

uiop/filesystem

Source

asdf.lisp (file)

Special Variable: *source-registry*

Either NIL (for uninitialized), or an equal hash-table, mapping system names to pathnames of .asd files

Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *source-registry-exclusions*
Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *source-registry-parameter*
Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *stderr*

the original error output stream at startup

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *stdin*

the original standard input stream at startup

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *stdout*

the original standard output stream at startup

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *system-definition-search-functions*

A list that controls the ways that ASDF looks for system definitions.
It contains symbols to be funcalled in order, with a requested system name as argument,
until one returns a non-NIL result (if any), which must then be a fully initialized system object with that name.

Package

asdf/system-registry

Source

asdf.lisp (file)

Special Variable: *temporary-directory*

User-configurable location for temporary files

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *uiop-debug-utility*

form that evaluates to the pathname to your favorite debugging utilities

Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: *uiop-version*
Package

uiop/version

Source

asdf.lisp (file)

Special Variable: *uninteresting-compiler-conditions*

Additional conditions that may be skipped while compiling Lisp code.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *uninteresting-conditions*

Conditions that may be skipped while compiling or loading Lisp code.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *uninteresting-loader-conditions*

Additional conditions that may be skipped while loading Lisp code.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *unspecific-pathname-type*

Unspecific type component to use with the underlying implementation’s MAKE-PATHNAME

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *user-cache*

A specification as per RESOLVE-LOCATION of where the user keeps his FASL cache

Package

uiop/configuration

Source

asdf.lisp (file)

Special Variable: *usual-uninteresting-conditions*

A suggested value to which to set or bind *uninteresting-conditions*.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *utf-8-external-format*

Default :external-format argument to pass to CL:OPEN and also
CL:LOAD or CL:COMPILE-FILE to best process a UTF-8 encoded file.
On modern implementations, this will decode UTF-8 code points as CL characters. On legacy implementations, it may fall back on some 8-bit encoding,
with non-ASCII code points being read as several CL characters;
hopefully, if done consistently, that won’t affect program behavior too much.

Package

uiop/stream

Source

asdf.lisp (file)

Special Variable: *verbose-out*
Package

asdf/upgrade

Source

asdf.lisp (file)

Special Variable: *warnings-file-type*

Pathname type for warnings files, or NIL if disabled

Package

uiop/lisp-build

Source

asdf.lisp (file)

Special Variable: *wild*

Wild component for use with MAKE-PATHNAME

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *wild-asd*
Package

asdf/source-registry

Source

asdf.lisp (file)

Special Variable: *wild-directory*

A pathname object with wildcards for matching any subdirectory

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *wild-file*

A pathname object with wildcards for matching any file with TRANSLATE-PATHNAME

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *wild-file-for-directory*

A pathname object with wildcards for matching any file with DIRECTORY

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *wild-inferiors*

A pathname object with wildcards for matching any recursive subdirectory

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: *wild-path*

A pathname object with wildcards for matching any file in any recursive subdirectory

Package

uiop/pathname

Source

asdf.lisp (file)

Special Variable: +character-types+
Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: +cr+
Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: +crlf+
Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: +lf+
Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: +max-character-type-index+
Package

uiop/utility

Source

asdf.lisp (file)

Special Variable: +status-good+
Package

asdf/plan

Source

asdf.lisp (file)

Special Variable: +status-todo+
Package

asdf/plan

Source

asdf.lisp (file)

Special Variable: +status-void+
Package

asdf/plan

Source

asdf.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Macros

Macro: appendf PLACE &rest ARGS

Append onto list

Package

uiop/utility

Source

asdf.lisp (file)

Macro: defgeneric* NAME FORMALS &rest REST
Package

uiop/utility

Source

asdf.lisp (file)

Macro: define-convenience-action-methods FUNCTION FORMALS &key IF-NO-OPERATION IF-NO-COMPONENT
Package

asdf/action

Source

asdf.lisp (file)

Macro: define-package PACKAGE &rest CLAUSES

DEFINE-PACKAGE takes a PACKAGE and a number of CLAUSES, of the form
(KEYWORD . ARGS).
DEFINE-PACKAGE supports the following keywords:
USE, SHADOW, SHADOWING-IMPORT-FROM, IMPORT-FROM, EXPORT, INTERN – as per CL:DEFPACKAGE. RECYCLE – Recycle the package’s exported symbols from the specified packages,
in order. For every symbol scheduled to be exported by the DEFINE-PACKAGE,
either through an :EXPORT option or a :REEXPORT option, if the symbol exists in
one of the :RECYCLE packages, the first such symbol is re-homed to the package
being defined.
For the sake of idempotence, it is important that the package being defined
should appear in first position if it already exists, and even if it doesn’t,
ahead of any package that is not going to be deleted afterwards and never
created again. In short, except for special cases, always make it the first
package on the list if the list is not empty.
MIX – Takes a list of package designators. MIX behaves like
(:USE PKG1 PKG2 ... PKGn) but additionally uses :SHADOWING-IMPORT-FROM to
resolve conflicts in favor of the first found symbol. It may still yield
an error if there is a conflict with an explicitly :IMPORT-FROM symbol.
REEXPORT – Takes a list of package designators. For each package, p, in the list, export symbols with the same name as those exported from p. Note that in the case of shadowing, etc. the symbols with the same name may not be the same symbols. UNINTERN – Remove symbols here from PACKAGE.

Package

uiop/package

Source

asdf.lisp (file)

Macro: defparameter* VAR VALUE &optional DOCSTRING VERSION
Package

asdf/upgrade

Source

asdf.lisp (file)

Macro: defsystem NAME &body OPTIONS
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Macro: defun* NAME FORMALS &rest REST
Package

uiop/utility

Source

asdf.lisp (file)

Macro: do-asdf-cache KEY &body BODY
Package

asdf/session

Source

asdf.lisp (file)

Macro: if-let BINDINGS &body THEN-FORM
Package

uiop/utility

Source

asdf.lisp (file)

Macro: latest-timestamp-f PLACE &rest TIMESTAMPS
Package

uiop/utility

Source

asdf.lisp (file)

Macro: nest &rest THINGS

Macro to keep code nesting and indentation under control.

Package

uiop/utility

Source

asdf.lisp (file)

Macro: os-cond &rest CLAUSES
Package

uiop/os

Source

asdf.lisp (file)

Macro: uiop-debug &rest KEYS
Package

uiop/utility

Source

asdf.lisp (file)

Macro: when-upgrading (&key VERSION UPGRADING-P WHEN) &body BODY

A wrapper macro for code that should only be run when upgrading a previously-loaded version of ASDF.

Package

asdf/upgrade

Source

asdf.lisp (file)

Macro: while-collecting (&rest COLLECTORS) &body BODY

COLLECTORS should be a list of names for collections. A collector defines a function that, when applied to an argument inside BODY, will add its argument to the corresponding collection. Returns multiple values, a list for each collection, in order.
E.g.,
(while-collecting (foo bar)
(dolist (x ’((a 1) (b 2) (c 3)))
(foo (first x))
(bar (second x))))
Returns two values: (A B C) and (1 2 3).

Package

uiop/utility

Source

asdf.lisp (file)

Macro: while-visiting-action (O C) &body BODY
Package

asdf/action

Source

asdf.lisp (file)

Macro: with-asdf-cache (&key KEY OVERRIDE) &body BODY
Package

asdf/cache

Source

SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST (not found)

Macro: with-asdf-deprecation (&rest KEYS &key &allow-other-keys) &body BODY
Package

asdf/upgrade

Source

asdf.lisp (file)

Macro: with-asdf-session (&key KEY OVERRIDE OVERRIDE-CACHE OVERRIDE-FORCING) &body BODY
Package

asdf/session

Source

asdf.lisp (file)

Macro: with-current-directory (&optional DIR) &body BODY

Call BODY while the POSIX current working directory is set to DIR

Package

uiop/filesystem

Source

asdf.lisp (file)

Macro: with-deprecation (LEVEL) &body DEFINITIONS

Given a deprecation LEVEL (a form to be EVAL’ed at macro-expansion time), instrument the
DEFUN and DEFMETHOD forms in DEFINITIONS to notify the programmer of the deprecation of the function when it is compiled or called.

Increasing levels (as result from evaluating LEVEL) are: NIL (not deprecated yet), :STYLE-WARNING (a style warning is issued when used), :WARNING (a full warning is issued when used), :ERROR (a continuable error instead), and :DELETE (it’s an error if the code is still there while at that level).

Forms other than DEFUN and DEFMETHOD are not instrumented, and you can protect a DEFUN or DEFMETHOD from instrumentation by enclosing it in a PROGN.

Package

uiop/version

Source

asdf.lisp (file)

Macro: with-enough-pathname (PATHNAME-VAR &key PATHNAME DEFAULTS) &body BODY

Shorthand syntax for CALL-WITH-ENOUGH-PATHNAME

Package

uiop/pathname

Source

asdf.lisp (file)

Macro: with-fatal-condition-handler (&optional) &body BODY

Execute BODY in a context where fatal conditions are appropriately handled

Package

uiop/image

Source

asdf.lisp (file)

Macro: with-input (INPUT-VAR &optional VALUE) &body BODY

Bind INPUT-VAR to an input stream, coercing VALUE (default: previous binding of INPUT-VAR) as per CALL-WITH-INPUT, and evaluate BODY within the scope of this binding.

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-input-file (VAR PATHNAME &rest KEYS &key ELEMENT-TYPE EXTERNAL-FORMAT IF-DOES-NOT-EXIST) &body BODY
Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-muffled-compiler-conditions (&optional) &body BODY

Trivial syntax for CALL-WITH-MUFFLED-COMPILER-CONDITIONS

Package

uiop/lisp-build

Source

asdf.lisp (file)

Macro: with-muffled-conditions (CONDITIONS) &body BODY

Shorthand syntax for CALL-WITH-MUFFLED-CONDITIONS

Package

uiop/utility

Source

asdf.lisp (file)

Macro: with-muffled-loader-conditions (&optional) &body BODY

Trivial syntax for CALL-WITH-MUFFLED-LOADER-CONDITIONS

Package

uiop/lisp-build

Source

asdf.lisp (file)

Macro: with-null-input (VAR &rest KEYS &key ELEMENT-TYPE EXTERNAL-FORMAT IF-DOES-NOT-EXIST) &body BODY

Evaluate BODY in a context when VAR is bound to an input stream accessing the null device. Pass keyword arguments to OPEN.

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-null-output (VAR &rest KEYS &key ELEMENT-TYPE EXTERNAL-FORMAT IF-DOES-NOT-EXIST IF-EXISTS) &body BODY

Evaluate BODY in a context when VAR is bound to an output stream accessing the null device. Pass keyword arguments to OPEN.

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-optimization-settings (&optional SETTINGS) &body BODY
Package

uiop/lisp-build

Source

asdf.lisp (file)

Macro: with-output (OUTPUT-VAR &optional VALUE) &body BODY

Bind OUTPUT-VAR to an output stream, coercing VALUE (default: previous binding of OUTPUT-VAR) as per FORMAT, and evaluate BODY within the scope of this binding.

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-output-file (VAR PATHNAME &rest KEYS &key ELEMENT-TYPE EXTERNAL-FORMAT IF-EXISTS IF-DOES-NOT-EXIST) &body BODY
Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-pathname-defaults (&optional DEFAULTS) &body BODY

Execute BODY in a context where the *DEFAULT-PATHNAME-DEFAULTS* is as specified, where leaving the defaults NIL or unspecified means a (NIL-PATHNAME), except
on ABCL, Genera and XCL, where it remains unchanged for it doubles as current-directory.

Package

uiop/pathname

Source

asdf.lisp (file)

Macro: with-safe-io-syntax (&key PACKAGE) &body BODY

Establish safe CL reader options around the evaluation of BODY

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-saved-deferred-warnings (WARNINGS-FILE &key SOURCE-NAMESTRING) &body BODY

Trivial syntax for CALL-WITH-SAVED-DEFERRED-WARNINGS

Package

uiop/lisp-build

Source

asdf.lisp (file)

Macro: with-staging-pathname (PATHNAME-VAR &optional PATHNAME-VALUE) &body BODY

Trivial syntax wrapper for CALL-WITH-STAGING-PATHNAME

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-temporary-file (&key STREAM PATHNAME DIRECTORY PREFIX SUFFIX TYPE KEEP DIRECTION ELEMENT-TYPE EXTERNAL-FORMAT) &body BODY

Evaluate BODY where the symbols specified by keyword arguments
STREAM and PATHNAME (if respectively specified) are bound corresponding
to a newly created temporary file ready for I/O, as per CALL-WITH-TEMPORARY-FILE.
At least one of STREAM or PATHNAME must be specified.
If the STREAM is not specified, it will be closed before the BODY is evaluated.
If STREAM is specified, then the :CLOSE-STREAM label if it appears in the BODY,
separates forms run before and after the stream is closed.
The values of the last form of the BODY (not counting the separating :CLOSE-STREAM) are returned. Upon success, the KEEP form is evaluated and the file is is deleted unless it evaluates to TRUE.

Package

uiop/stream

Source

asdf.lisp (file)

Macro: with-upgradability (&optional) &body BODY

Evaluate BODY at compile- load- and run- times, with DEFUN and DEFGENERIC modified
to also declare the functions NOTINLINE and to accept a wrapping the function name specification into a list with keyword argument SUPERSEDE (which defaults to T if the name is not wrapped, and NIL if it is wrapped). If SUPERSEDE is true, call UNDEFINE-FUNCTION to supersede any previous definition.

Package

uiop/utility

Source

asdf.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Compiler macros

Compiler Macro: coerce-pathname &rest ARGS
Package

uiop/backward-driver

Source

asdf.lisp (file)

Compiler Macro: component-load-dependencies &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: component-property &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: enable-asdf-binary-locations-compatibility &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: explain &rest ARGS
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Compiler Macro: in-first-directory &rest ARGS
Package

uiop/configuration

Source

asdf.lisp (file)

Compiler Macro: in-system-configuration-directory &rest ARGS
Package

uiop/configuration

Source

asdf.lisp (file)

Compiler Macro: in-user-configuration-directory &rest ARGS
Package

uiop/configuration

Source

asdf.lisp (file)

Compiler Macro: load-sysdef &rest ARGS
Package

asdf/backward-internals

Source

asdf.lisp (file)

Compiler Macro: require-system &rest ARGS
Package

asdf/operate

Source

asdf.lisp (file)

Compiler Macro: run-shell-command &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: system-configuration-directories &rest ARGS
Package

uiop/configuration

Source

asdf.lisp (file)

Compiler Macro: system-definition-pathname &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: system-registered-p &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: traverse &rest ARGS
Package

asdf/backward-interface

Source

asdf.lisp (file)

Compiler Macro: user-configuration-directories &rest ARGS
Package

uiop/configuration

Source

asdf.lisp (file)

Compiler Macro: version-compatible-p &rest ARGS
Package

uiop/backward-driver

Source

asdf.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Functions

Function: absolute-pathname-p PATHSPEC

If PATHSPEC is a pathname or namestring object that parses as a pathname possessing an :ABSOLUTE directory component, return the (parsed) pathname. Otherwise return NIL

Package

uiop/pathname

Source

asdf.lisp (file)

Function: access-at OBJECT AT

Given an OBJECT and an AT specifier, list of successive accessors,
call each accessor on the result of the previous calls.
An accessor may be an integer, meaning a call to ELT,
a keyword, meaning a call to GETF,
NIL, meaning identity,
a function or other symbol, meaning itself,
or a list of a function designator and arguments, interpreted as per ENSURE-FUNCTION. As a degenerate case, the AT specifier may be an atom of a single such accessor instead of a list.

Package

uiop/utility

Source

asdf.lisp (file)

Function: access-at-count AT

From an AT specification, extract a COUNT of maximum number of sub-objects to read as per ACCESS-AT

Package

uiop/utility

Source

asdf.lisp (file)

Function: action-already-done-p PLAN OPERATION COMPONENT
Package

asdf/plan

Source

asdf.lisp (file)

Function: action-component ACTION
Package

asdf/action

Source

asdf.lisp (file)

Function: action-operation ACTION
Package

asdf/action

Source

asdf.lisp (file)

Function: action-path ACTION

A readable data structure that identifies the action.

Package

asdf/action

Source

asdf.lisp (file)

Function: action-up-to-date-p PLAN OPERATION COMPONENT

Check whether an action was up-to-date at the beginning of the session.
Update the VISITED-ACTIONS table with the known status, but don’t add anything to the PLAN.

Package

asdf/plan

Source

asdf.lisp (file)

Function: action-valid-p OPERATION COMPONENT

Is this action valid to include amongst dependencies?

Package

asdf/action

Source

asdf.lisp (file)

Function: add-pathname-suffix PATHNAME SUFFIX &rest KEYS

Add a SUFFIX to the name of a PATHNAME, return a new pathname. Further KEYS can be passed to MAKE-PATHNAME.

Package

uiop/stream

Source

asdf.lisp (file)

Function: already-loaded-systems ()

return a list of the names of the systems that have been successfully loaded so far

Package

asdf/operate

Source

asdf.lisp (file)

Function: always-default-encoding PATHNAME

Trivial function to use as *encoding-detection-hook*, always ’detects’ the *default-encoding*

Package

uiop/stream

Source

asdf.lisp (file)

Function: apply-output-translations PATH
Package

asdf/output-translations

Source

asdf.lisp (file)

Function: architecture ()

The CPU architecture of the current host

Package

uiop/os

Source

asdf.lisp (file)

Function: argv0 ()

On supported implementations (most that matter), or when invoked by a proper wrapper script, return a string that for the name with which the program was invoked, i.e. argv[0] in C. Otherwise, return NIL.

Package

uiop/image

Source

asdf.lisp (file)

Function: asdf-cache ()
Package

asdf/session

Source

asdf.lisp (file)

Function: asdf-message FORMAT-STRING &rest FORMAT-ARGS
Package

asdf/upgrade

Source

asdf.lisp (file)

Function: asdf-version ()

Exported interface to the version of ASDF currently installed. A string.
You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) "3.4.5.67").

Package

asdf/upgrade

Source

asdf.lisp (file)

Function: base-string-p STRING

Does the STRING only contain BASE-CHARs?

Package

uiop/utility

Source

asdf.lisp (file)

Function: bundle-pathname-type BUNDLE-TYPE
Package

asdf/bundle

Source

asdf.lisp (file)

Function: bundle-system SYSTEM &rest ARGS &key FORCE VERBOSE VERSION &allow-other-keys
Package

asdf/bundle

Source

SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST (not found)

Function: call-around-hook HOOK FUNCTION

Call a HOOK around the execution of FUNCTION

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: call-function FUNCTION-SPEC &rest ARGUMENTS

Call the function designated by FUNCTION-SPEC as per ENSURE-FUNCTION, with the given ARGUMENTS

Package

uiop/utility

Source

asdf.lisp (file)

Function: call-functions FUNCTION-SPECS

For each function in the list FUNCTION-SPECS, in order, call the function as per CALL-FUNCTION

Package

uiop/utility

Source

asdf.lisp (file)

Function: call-image-dump-hook ()

Call the hook functions registered to be run before to dump an image

Package

uiop/image

Source

asdf.lisp (file)

Function: call-image-restore-hook ()

Call the hook functions registered to be run when restoring a dumped image

Package

uiop/image

Source

asdf.lisp (file)

Function: call-while-visiting-action OPERATION COMPONENT FUN

Detect circular dependencies

Package

asdf/action

Source

asdf.lisp (file)

Function: call-with-asdf-cache THUNK &key OVERRIDE KEY
Package

asdf/cache

Source

SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST (not found)

Function: call-with-asdf-session THUNK &key OVERRIDE KEY OVERRIDE-CACHE OVERRIDE-FORCING
Package

asdf/session

Source

asdf.lisp (file)

Function: call-with-current-directory DIR THUNK

call the THUNK in a context where the current directory was changed to DIR, if not NIL. Note that this operation is usually NOT thread-safe.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: call-with-enough-pathname MAYBE-SUBPATH DEFAULTS-PATHNAME THUNK

In a context where *DEFAULT-PATHNAME-DEFAULTS* is bound to DEFAULTS-PATHNAME (if not null, or else to its current value), call THUNK with ENOUGH-PATHNAME for MAYBE-SUBPATH
given DEFAULTS-PATHNAME as a base pathname.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: call-with-fatal-condition-handler THUNK

Call THUNK in a context where fatal conditions are appropriately handled

Package

uiop/image

Source

asdf.lisp (file)

Function: call-with-input-file PATHNAME THUNK &key ELEMENT-TYPE EXTERNAL-FORMAT IF-DOES-NOT-EXIST

Open FILE for input with given recognizes options, call THUNK with the resulting stream. Other keys are accepted but discarded.

Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-muffled-compiler-conditions THUNK

Call given THUNK in a context where uninteresting conditions and compiler conditions are muffled

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: call-with-muffled-conditions THUNK CONDITIONS

calls the THUNK in a context where the CONDITIONS are muffled

Package

uiop/utility

Source

asdf.lisp (file)

Function: call-with-muffled-loader-conditions THUNK

Call given THUNK in a context where uninteresting conditions and loader conditions are muffled

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: call-with-null-input FUN &rest KEYS &key ELEMENT-TYPE EXTERNAL-FORMAT IF-DOES-NOT-EXIST

Call FUN with an input stream from the null device; pass keyword arguments to OPEN.

Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-null-output FUN &key ELEMENT-TYPE EXTERNAL-FORMAT IF-EXISTS IF-DOES-NOT-EXIST

Call FUN with an output stream to the null device; pass keyword arguments to OPEN.

Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-output-file PATHNAME THUNK &key ELEMENT-TYPE EXTERNAL-FORMAT IF-EXISTS IF-DOES-NOT-EXIST

Open FILE for input with given recognizes options, call THUNK with the resulting stream. Other keys are accepted but discarded.

Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-safe-io-syntax THUNK &key PACKAGE
Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-staging-pathname PATHNAME FUN

Calls FUN with a staging pathname, and atomically
renames the staging pathname to the PATHNAME in the end.
NB: this protects only against failure of the program, not against concurrent attempts. For the latter case, we ought pick a random suffix and atomically open it.

Package

uiop/stream

Source

asdf.lisp (file)

Function: call-with-temporary-file THUNK &key WANT-STREAM-P WANT-PATHNAME-P DIRECTION KEEP AFTER DIRECTORY TYPE PREFIX SUFFIX ELEMENT-TYPE EXTERNAL-FORMAT

Call a THUNK with stream and/or pathname arguments identifying a temporary file.

The temporary file’s pathname will be based on concatenating
PREFIX (or "tmp" if it’s NIL), a random alphanumeric string,
and optional SUFFIX (defaults to "-tmp" if a type was provided)
and TYPE (defaults to "tmp", using a dot as separator if not NIL),
within DIRECTORY (defaulting to the TEMPORARY-DIRECTORY) if the PREFIX isn’t absolute.

The file will be open with specified DIRECTION (defaults to :IO),
ELEMENT-TYPE (defaults to *DEFAULT-STREAM-ELEMENT-TYPE*) and
EXTERNAL-FORMAT (defaults to *UTF-8-EXTERNAL-FORMAT*).
If WANT-STREAM-P is true (the defaults to T), then THUNK will then be CALL-FUNCTION’ed
with the stream and the pathname (if WANT-PATHNAME-P is true, defaults to T),
and stream will be closed after the THUNK exits (either normally or abnormally).
If WANT-STREAM-P is false, then WANT-PATHAME-P must be true, and then
THUNK is only CALL-FUNCTION’ed after the stream is closed, with the pathname as argument. Upon exit of THUNK, the AFTER thunk if defined is CALL-FUNCTION’ed with the pathname as argument. If AFTER is defined, its results are returned, otherwise, the results of THUNK are returned. Finally, the file will be deleted, unless the KEEP argument when CALL-FUNCTION’ed returns true.

Package

uiop/stream

Source

asdf.lisp (file)

Function: character-type-index X
Package

uiop/utility

Source

asdf.lisp (file)

Function: chdir X

Change current directory, as per POSIX chdir(2), to a given pathname object

Package

uiop/os

Source

asdf.lisp (file)

Function: check-component-input TYPE NAME WEAKLY-DEPENDS-ON DEPENDS-ON COMPONENTS

A partial test of the values of a component.

Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Function: check-deferred-warnings FILES &optional CONTEXT-FORMAT CONTEXT-ARGUMENTS

Given a list of FILES containing deferred warnings saved by CALL-WITH-SAVED-DEFERRED-WARNINGS, re-intern and raise any warnings that are still meaningful.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: check-lisp-compile-results OUTPUT WARNINGS-P FAILURE-P &optional CONTEXT-FORMAT CONTEXT-ARGUMENTS

Given the results of COMPILE-FILE, raise an error or warning as appropriate

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: check-lisp-compile-warnings WARNINGS-P FAILURE-P &optional CONTEXT-FORMAT CONTEXT-ARGUMENTS

Given the warnings or failures as resulted from COMPILE-FILE or checking deferred warnings, raise an error or warning as appropriate

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: class-for-type PARENT TYPE
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Function: cleanup-upgraded-asdf &optional OLD-VERSION
Package

asdf/upgrade

Source

asdf.lisp (file)

Function: clear-configuration ()

Call the functions in *CLEAR-CONFIGURATION-HOOK*

Package

uiop/configuration

Source

asdf.lisp (file)

Function: clear-output-translations ()

Undoes any initialization of the output translations.

Package

asdf/output-translations

Source

asdf.lisp (file)

Function: clear-registered-systems ()

Clear all currently registered defined systems.
Preloaded systems (including immutable ones) will be reset, other systems will be de-registered.

Package

asdf/system-registry

Source

asdf.lisp (file)

Function: clear-source-registry ()

Undoes any initialization of the source registry.

Package

asdf/source-registry

Source

asdf.lisp (file)

Function: clear-system SYSTEM

Clear the entry for a SYSTEM in the database of systems previously defined.
However if the system was registered as PRELOADED (which it is if it is IMMUTABLE), then a new system with the same name will be defined and registered in its place
from which build details will have been cleared.
Note that this does NOT in any way cause any of the code of the system to be unloaded. Returns T if system was or is now undefined, NIL if a new preloaded system was redefined.

Package

asdf/system-registry

Source

asdf.lisp (file)

Function: close-streams PROCESS-INFO

Close any stream that the process might own. Needs to be run whenever streams were requested by passing :stream to :input, :output, or :error-output.

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: coerce-class CLASS &key PACKAGE SUPER ERROR

Coerce CLASS to a class that is subclass of SUPER if specified,
or invoke ERROR handler as per CALL-FUNCTION.

A keyword designates the name a symbol, which when found in either PACKAGE, designates a class. – for backward compatibility, *PACKAGE* is also accepted for now, but this may go in the future. A string is read as a symbol while in PACKAGE, the symbol designates a class.

A class object designates itself.
NIL designates itself (no class).
A symbol otherwise designates a class by name.

Package

uiop/utility

Source

asdf.lisp (file)

Function: coerce-filename NAME

Coerce a system designator NAME into a string suitable as a filename component. The (current) transformation is to replace characters /:\ each by –,
the former being forbidden in a filename component.
NB: The onus is unhappily on the user to avoid clashes.

Package

asdf/system

Source

asdf.lisp (file)

Function: coerce-name NAME

Given a designator for a component NAME, return the name as a string.
The designator can be a COMPONENT (designing its name; note that a SYSTEM is a component), a SYMBOL (designing its name, downcased), or a STRING (designing itself).

Package

asdf/system

Source

asdf.lisp (file)

Function: coerce-pathname NAME &key TYPE DEFAULTS

DEPRECATED. Please use UIOP:PARSE-UNIX-NAMESTRING instead.

Package

uiop/backward-driver

Source

asdf.lisp (file)

Function: collect-asds-in-directory DIRECTORY COLLECT
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: collect-sub*directories DIRECTORY COLLECTP RECURSEP COLLECTOR

Given a DIRECTORY, when COLLECTP returns true when CALL-FUNCTION’ed with the directory,
call-function the COLLECTOR function designator on the directory,
and recurse each of its subdirectories on which the RECURSEP returns true when CALL-FUNCTION’ed with them. This function will thus let you traverse a filesystem hierarchy,
superseding the functionality of CL-FAD:WALK-DIRECTORY.
The behavior in presence of symlinks is not portable. Use IOlib to handle such situations.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: collect-sub*directories-asd-files DIRECTORY &key EXCLUDE COLLECT RECURSE-BEYOND-ASDS IGNORE-CACHE
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: combine-fasls INPUTS OUTPUT

Combine a list of FASLs INPUTS into a single FASL OUTPUT

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: command-line-arguments &optional ARGUMENTS

Extract user arguments from command-line invocation of current process. Assume the calling conventions of a generated script that uses – if we are not called from a directly executable image.

Package

uiop/image

Source

asdf.lisp (file)

Function: compile-file* INPUT-FILE &rest KEYS &key COMPILE-CHECK OUTPUT-FILE WARNINGS-FILE EMIT-CFASL &allow-other-keys

This function provides a portable wrapper around COMPILE-FILE.
It ensures that the OUTPUT-FILE value is only returned and
the file only actually created if the compilation was successful,
even though your implementation may not do that. It also checks an optional user-provided consistency function COMPILE-CHECK to determine success;
it will call this function if not NIL at the end of the compilation
with the arguments sent to COMPILE-FILE*, except with :OUTPUT-FILE TMP-FILE where TMP-FILE is the name of a temporary output-file.
It also checks two flags (with legacy british spelling from ASDF1), *COMPILE-FILE-FAILURE-BEHAVIOUR* and *COMPILE-FILE-WARNINGS-BEHAVIOUR*
with appropriate implementation-dependent defaults,
and if a failure (respectively warnings) are reported by COMPILE-FILE,
it will consider that an error unless the respective behaviour flag
is one of :SUCCESS :WARN :IGNORE.
If WARNINGS-FILE is defined, deferred warnings are saved to that file.
On ECL or MKCL, it creates both the linkable object and loadable fasl files. On implementations that erroneously do not recognize standard keyword arguments, it will filter them appropriately.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: compile-file-pathname* INPUT-FILE &rest KEYS &key OUTPUT-FILE &allow-other-keys

Variant of COMPILE-FILE-PATHNAME that works well with COMPILE-FILE*

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: compile-file-type &rest KEYS

pathname TYPE for lisp FASt Loading files

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: compile-system SYSTEM &rest ARGS &key FORCE FORCE-NOT VERBOSE VERSION &allow-other-keys

Shorthand for ‘(asdf:operate ’asdf:compile-op system)‘. See OPERATE for details.

Package

asdf/operate

Source

asdf.lisp (file)

Function: component-find-path COMPONENT

Return a path from a root system to the COMPONENT.
The return value is a list of component NAMES; a list of strings.

Package

asdf/component

Source

asdf.lisp (file)

Function: component-load-dependencies COMPONENT

DEPRECATED. Please use COMPONENT-SIDEWAY-DEPENDENCIES instead; or better, define your operations with proper use of SIDEWAY-OPERATION, SELFWARD-OPERATION, or define methods on PREPARE-OP, etc.

Package

asdf/backward-interface

Source

asdf.lisp (file)

Function: component-loaded-p COMPONENT

Has the given COMPONENT been successfully loaded in the current image (yet)? Note that this returns true even if the component is not up to date.

Package

asdf/operate

Source

asdf.lisp (file)

Function: compute-children-by-name PARENT &key ONLY-IF-NEEDED-P
Package

asdf/component

Source

asdf.lisp (file)

Function: compute-file-stamp NORMALIZED-NAMESTRING
Package

asdf/session

Source

asdf.lisp (file)

Function: compute-output-translations &optional PARAMETER

read the configuration, return it

Package

asdf/output-translations

Source

asdf.lisp (file)

Function: compute-source-registry &optional PARAMETER REGISTRY
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: concatenate-files INPUTS OUTPUT

create a new OUTPUT file the contents of which a the concatenate of the INPUTS files.

Package

uiop/stream

Source

asdf.lisp (file)

Function: configuration-inheritance-directive-p X

Is X a configuration inheritance directive?

Package

uiop/configuration

Source

asdf.lisp (file)

Function: consult-asdf-cache KEY &optional THUNK
Package

asdf/session

Source

asdf.lisp (file)

Function: copy-file INPUT OUTPUT

Copy contents of the INPUT file to the OUTPUT file

Package

uiop/stream

Source

asdf.lisp (file)

Function: copy-stream-to-stream INPUT OUTPUT &key ELEMENT-TYPE BUFFER-SIZE LINEWISE PREFIX

Copy the contents of the INPUT stream into the OUTPUT stream.
If LINEWISE is true, then read and copy the stream line by line, with an optional PREFIX. Otherwise, using WRITE-SEQUENCE using a buffer of size BUFFER-SIZE.

Package

uiop/stream

Source

asdf.lisp (file)

Function: create-image DESTINATION LISP-OBJECT-FILES &key KIND OUTPUT-NAME PROLOGUE-CODE EPILOGUE-CODE EXTRA-OBJECT-FILES PRELUDE POSTLUDE ENTRY-POINT BUILD-ARGS NO-UIOP

On ECL, create an executable at pathname DESTINATION from the specified OBJECT-FILES and options

Package

uiop/image

Source

asdf.lisp (file)

Function: current-lisp-file-pathname ()

Portably return the PATHNAME of the current Lisp source file being compiled or loaded

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: default-encoding-external-format ENCODING

Default, ignorant, function to transform a character ENCODING as a portable keyword to an implementation-dependent EXTERNAL-FORMAT specification. Load system ASDF-ENCODINGS to hook in a better one.

Package

uiop/stream

Source

asdf.lisp (file)

Function: default-system-source-registry ()
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: default-temporary-directory ()

Return a default directory to use for temporary files

Package

uiop/stream

Source

asdf.lisp (file)

Function: default-user-source-registry ()
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: delete-directory-tree DIRECTORY-PATHNAME &key VALIDATE IF-DOES-NOT-EXIST

Delete a directory including all its recursive contents, aka rm -rf.

To reduce the risk of infortunate mistakes, DIRECTORY-PATHNAME must be
a physical non-wildcard directory pathname (not namestring).

If the directory does not exist, the IF-DOES-NOT-EXIST argument specifies what happens:
if it is :ERROR (the default), an error is signaled, whereas if it is :IGNORE, nothing is done.

Furthermore, before any deletion is attempted, the DIRECTORY-PATHNAME must pass
the validation function designated (as per ENSURE-FUNCTION) by the VALIDATE keyword argument which in practice is thus compulsory, and validates by returning a non-NIL result.
If you’re suicidal or extremely confident, just use :VALIDATE T.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: delete-empty-directory DIRECTORY-PATHNAME

Delete an empty directory

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: delete-file-if-exists X

Delete a file X if it already exists

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: delete-package* PACKAGE &key NUKE
Package

uiop/package

Source

asdf.lisp (file)

Function: denormalize-pathname-directory-component DIRECTORY-COMPONENT

Convert the DIRECTORY-COMPONENT from a CLHS-standard format to a format usable by the underlying implementation’s MAKE-PATHNAME and other primitives

Package

uiop/pathname

Source

asdf.lisp (file)

Function: detect-encoding PATHNAME

Detects the encoding of a specified file, going through user-configurable hooks

Package

uiop/stream

Source

asdf.lisp (file)

Function: detect-os ()

Detects the current operating system. Only needs be run at compile-time, except on ABCL where it might change between FASL compilation and runtime.

Package

uiop/os

Source

asdf.lisp (file)

Function: determine-system-directory PATHNAME
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Function: die CODE FORMAT &rest ARGUMENTS

Die in error with some error message

Package

uiop/image

Source

asdf.lisp (file)

Function: direct-dependencies OPERATION COMPONENT

Compute a list of the direct dependencies of the action within the plan

Package

asdf/plan

Source

asdf.lisp (file)

Function: direct-dependency-files O C &key TEST KEY &allow-other-keys
Package

asdf/bundle

Source

asdf.lisp (file)

Function: directorize-pathname-host-device PATHNAME

Given a PATHNAME, return a pathname that has representations of its HOST and DEVICE components added to its DIRECTORY component. This is useful for output translations.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: directory* PATHNAME-SPEC &rest KEYS &key &allow-other-keys

Return a list of the entries in a directory by calling DIRECTORY.
Try to override the defaults to not resolving symlinks, if implementation allows.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: directory-asd-files DIRECTORY
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: directory-exists-p X

Is X the name of a directory that exists on the filesystem?

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: directory-files DIRECTORY &optional PATTERN

Return a list of the files in a directory according to the PATTERN.
Subdirectories should NOT be returned.
PATTERN defaults to a pattern carefully chosen based on the implementation;
override the default at your own risk.
DIRECTORY-FILES tries NOT to resolve symlinks if the implementation permits this,
but the behavior in presence of symlinks is not portable. Use IOlib to handle such situations.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: directory-pathname-p PATHNAME

Does PATHNAME represent a directory?

A directory-pathname is a pathname _without_ a filename. The three ways that the filename components can be missing are for it to be NIL, :UNSPECIFIC or the empty string.

Note that this does _not_ check to see that PATHNAME points to an actually-existing directory.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: directory-separator-for-host &optional PATHNAME

Given a PATHNAME, return the character used to delimit directory names on this host and device.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: disable-deferred-warnings-check ()

Disable the saving of deferred warnings

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: disable-output-translations ()

Initialize output translations in a way that maps every file to itself, effectively disabling the output translation facility.

Package

asdf/output-translations

Source

asdf.lisp (file)

Function: dump-image FILENAME &key OUTPUT-NAME EXECUTABLE POSTLUDE DUMP-HOOK COMPRESSION

Dump an image of the current Lisp environment at pathname FILENAME, with various options.

First, finalize the image, by evaluating the POSTLUDE as per EVAL-INPUT, then calling each of the functions in DUMP-HOOK, in reverse order of registration by REGISTER-DUMP-HOOK.

If EXECUTABLE is true, create an standalone executable program that calls RESTORE-IMAGE on startup.

Pass various implementation-defined options, such as PREPEND-SYMBOLS and PURITY on CCL,
or COMPRESSION on SBCL, and APPLICATION-TYPE on SBCL/Windows.

Package

uiop/image

Source

asdf.lisp (file)

Function: earlier-timestamp X Y
Package

uiop/utility

Source

asdf.lisp (file)

Function: earliest-timestamp &rest LIST
Package

uiop/utility

Source

asdf.lisp (file)

Function: easy-sh-character-p X

Is X an "easy" character that does not require quoting by the shell?

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: emptyp X

Predicate that is true for an empty sequence

Package

uiop/utility

Source

asdf.lisp (file)

Function: enable-asdf-binary-locations-compatibility &key CENTRALIZE-LISP-BINARIES DEFAULT-TOPLEVEL-DIRECTORY INCLUDE-PER-USER-INFORMATION MAP-ALL-SOURCE-FILES SOURCE-TO-TARGET-MAPPINGS FILE-TYPES

DEPRECATED. Use asdf-output-translations instead.

Package

asdf/backward-interface

Source

asdf.lisp (file)

Function: enable-deferred-warnings-check ()

Enable the saving of deferred warnings

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: encoding-external-format ENCODING

Transform a portable ENCODING keyword to an implementation-dependent EXTERNAL-FORMAT, going through all the proper hooks.

Package

uiop/stream

Source

asdf.lisp (file)

Function: enough-pathname MAYBE-SUBPATH BASE-PATHNAME

if MAYBE-SUBPATH is a pathname that is under BASE-PATHNAME, return a pathname object that when used with MERGE-PATHNAMES* with defaults BASE-PATHNAME, returns MAYBE-SUBPATH.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: ensure-absolute-pathname PATH &optional DEFAULTS ON-ERROR

Given a pathname designator PATH, return an absolute pathname as specified by PATH
considering the DEFAULTS, or, if not possible, use CALL-FUNCTION on the specified ON-ERROR behavior, with a format control-string and other arguments as arguments

Package

uiop/pathname

Source

asdf.lisp (file)

Function: ensure-all-directories-exist PATHNAMES

Ensure that for every pathname in PATHNAMES, we ensure its directories exist

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: ensure-directory-pathname PATHSPEC &optional ON-ERROR

Converts the non-wild pathname designator PATHSPEC to directory form.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: ensure-function FUN &key PACKAGE

Coerce the object FUN into a function.

If FUN is a FUNCTION, return it.
If the FUN is a non-sequence literal constant, return constantly that, i.e. for a boolean keyword character number or pathname.
Otherwise if FUN is a non-literally constant symbol, return its FDEFINITION. If FUN is a CONS, return the function that applies its CAR
to the appended list of the rest of its CDR and the arguments,
unless the CAR is LAMBDA, in which case the expression is evaluated.
If FUN is a string, READ a form from it in the specified PACKAGE (default: CL) and EVAL that in a (FUNCTION ...) context.

Package

uiop/utility

Source

asdf.lisp (file)

Function: ensure-gethash KEY TABLE DEFAULT

Lookup the TABLE for a KEY as by GETHASH, but if not present,
call the (possibly constant) function designated by DEFAULT as per CALL-FUNCTION, set the corresponding entry to the result in the table.
Return two values: the entry after its optional computation, and whether it was found

Package

uiop/utility

Source

asdf.lisp (file)

Function: ensure-list X
Package

uiop/utility

Source

asdf.lisp (file)

Function: ensure-output-translations ()
Package

asdf/output-translations

Source

asdf.lisp (file)

Function: ensure-package NAME &key NICKNAMES DOCUMENTATION USE SHADOW SHADOWING-IMPORT-FROM IMPORT-FROM EXPORT INTERN RECYCLE MIX REEXPORT UNINTERN
Package

uiop/package

Source

asdf.lisp (file)

Function: ensure-package-unused PACKAGE
Package

uiop/package

Source

asdf.lisp (file)

Function: ensure-pathname PATHNAME &key ON-ERROR DEFAULTS TYPE DOT-DOT NAMESTRING EMPTY-IS-NIL WANT-PATHNAME WANT-LOGICAL WANT-PHYSICAL ENSURE-PHYSICAL WANT-RELATIVE WANT-ABSOLUTE ENSURE-ABSOLUTE ENSURE-SUBPATH WANT-NON-WILD WANT-WILD WILDEN WANT-FILE WANT-DIRECTORY ENSURE-DIRECTORY WANT-EXISTING ENSURE-DIRECTORIES-EXIST TRUENAME RESOLVE-SYMLINKS TRUENAMIZE &aux P

Coerces its argument into a PATHNAME,
optionally doing some transformations and checking specified constraints.

If the argument is NIL, then NIL is returned unless the WANT-PATHNAME constraint is specified.

If the argument is a STRING, it is first converted to a pathname via
PARSE-UNIX-NAMESTRING, PARSE-NAMESTRING or PARSE-NATIVE-NAMESTRING respectively
depending on the NAMESTRING argument being :UNIX, :LISP or :NATIVE respectively,
or else by using CALL-FUNCTION on the NAMESTRING argument;
if :UNIX is specified (or NIL, the default, which specifies the same thing),
then PARSE-UNIX-NAMESTRING it is called with the keywords
DEFAULTS TYPE DOT-DOT ENSURE-DIRECTORY WANT-RELATIVE, and
the result is optionally merged into the DEFAULTS if ENSURE-ABSOLUTE is true.

The pathname passed or resulting from parsing the string
is then subjected to all the checks and transformations below are run.

Each non-nil constraint argument can be one of the symbols T, ERROR, CERROR or IGNORE.
The boolean T is an alias for ERROR.
ERROR means that an error will be raised if the constraint is not satisfied.
CERROR means that an continuable error will be raised if the constraint is not satisfied. IGNORE means just return NIL instead of the pathname.

The ON-ERROR argument, if not NIL, is a function designator (as per CALL-FUNCTION)
that will be called with the the following arguments:
a generic format string for ensure pathname, the pathname,
the keyword argument corresponding to the failed check or transformation,
a format string for the reason ENSURE-PATHNAME failed,
and a list with arguments to that format string.
If ON-ERROR is NIL, ERROR is used instead, which does the right thing.
You could also pass (CERROR "CONTINUE DESPITE FAILED CHECK").

The transformations and constraint checks are done in this order,
which is also the order in the lambda-list:

EMPTY-IS-NIL returns NIL if the argument is an empty string.
WANT-PATHNAME checks that pathname (after parsing if needed) is not null.
Otherwise, if the pathname is NIL, ensure-pathname returns NIL.
WANT-LOGICAL checks that pathname is a LOGICAL-PATHNAME
WANT-PHYSICAL checks that pathname is not a LOGICAL-PATHNAME
ENSURE-PHYSICAL ensures that pathname is physical via TRANSLATE-LOGICAL-PATHNAME WANT-RELATIVE checks that pathname has a relative directory component
WANT-ABSOLUTE checks that pathname does have an absolute directory component ENSURE-ABSOLUTE merges with the DEFAULTS, then checks again
that the result absolute is an absolute pathname indeed.
ENSURE-SUBPATH checks that the pathname is a subpath of the DEFAULTS.
WANT-FILE checks that pathname has a non-nil FILE component
WANT-DIRECTORY checks that pathname has nil FILE and TYPE components
ENSURE-DIRECTORY uses ENSURE-DIRECTORY-PATHNAME to interpret
any file and type components as being actually a last directory component.
WANT-NON-WILD checks that pathname is not a wild pathname
WANT-WILD checks that pathname is a wild pathname
WILDEN merges the pathname with **/*.*.* if it is not wild
WANT-EXISTING checks that a file (or directory) exists with that pathname. ENSURE-DIRECTORIES-EXIST creates any parent directory with ENSURE-DIRECTORIES-EXIST. TRUENAME replaces the pathname by its truename, or errors if not possible.
RESOLVE-SYMLINKS replaces the pathname by a variant with symlinks resolved by RESOLVE-SYMLINKS. TRUENAMIZE uses TRUENAMIZE to resolve as many symlinks as possible.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: ensure-source-registry &optional PARAMETER
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: environment-output-translations ()
Package

asdf/output-translations

Source

asdf.lisp (file)

Function: environment-source-registry ()
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: escape-command COMMAND &optional S ESCAPER

Given a COMMAND as a list of tokens, return a string of the spaced, escaped tokens, using ESCAPER to escape.

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-sh-command COMMAND &optional S

Escape a list of command-line arguments into a string suitable for parsing by /bin/sh in POSIX

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-sh-token TOKEN &optional S

Escape a string TOKEN within double-quotes if needed for use within a POSIX Bourne shell, outputing to S.

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-shell-command COMMAND &optional STREAM

Escape a command for the current operating system’s shell

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-shell-token TOKEN &optional S

Escape a token for the current operating system shell

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-token TOKEN &key STREAM QUOTE GOOD-CHARS BAD-CHARS ESCAPER

Call the ESCAPER function on TOKEN string if it needs escaping as per REQUIRES-ESCAPING-P using GOOD-CHARS and BAD-CHARS, otherwise output TOKEN, using STREAM as output (or returning result as a string if NIL)

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-windows-command COMMAND &optional S

Escape a list of command-line arguments into a string suitable for parsing by CommandLineToArgv in MS Windows

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: escape-windows-token TOKEN &optional S

Escape a string TOKEN within double-quotes if needed for use within a MS Windows command-line, outputing to S.

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: eval-input INPUT

Portably read and evaluate forms from INPUT, return the last values.

Package

uiop/stream

Source

asdf.lisp (file)

Function: eval-thunk THUNK

Evaluate a THUNK of code:
If a function, FUNCALL it without arguments.
If a constant literal and not a sequence, return it.
If a cons or a symbol, EVAL it.
If a string, repeatedly read and evaluate from it, returning the last values.

Package

uiop/stream

Source

asdf.lisp (file)

Function: export* NAME PACKAGE-DESIGNATOR
Package

uiop/package

Source

asdf.lisp (file)

Function: fatal-condition-p CONDITION

Is the CONDITION fatal?

Package

uiop/image

Source

asdf.lisp (file)

Function: featurep X &optional *FEATURES*

Checks whether a feature expression X is true with respect to the *FEATURES* set, as per the CLHS standard for #+ and #-. Beware that just like the CLHS,
we assume symbols from the KEYWORD package are used, but that unless you’re using #+/#- your reader will not have magically used the KEYWORD package, so you need specify keywords explicitly.

Package

uiop/os

Source

asdf.lisp (file)

Function: file-exists-p X

Is X the name of a file that exists on the filesystem?

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: file-or-synonym-stream-p STREAM
Package

uiop/stream

Source

asdf.lisp (file)

Function: file-pathname-p PATHNAME

Does PATHNAME represent a file, i.e. has a non-null NAME component?

Accepts NIL, a string (converted through PARSE-NAMESTRING) or a PATHNAME.

Note that this does _not_ check to see that PATHNAME points to an actually-existing file.

Returns the (parsed) PATHNAME when true

Package

uiop/pathname

Source

asdf.lisp (file)

Function: file-stream-p STREAM
Package

uiop/stream

Source

asdf.lisp (file)

Function: filter-logical-directory-results DIRECTORY ENTRIES MERGER

If DIRECTORY isn’t a logical pathname, return ENTRIES. If it is,
given ENTRIES in the DIRECTORY, remove the entries which are physical yet when transformed by MERGER have a different TRUENAME.
Also remove duplicates as may appear with some translation rules.
This function is used as a helper to DIRECTORY-FILES to avoid invalid entries when using logical-pathnames.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: filter-pathname-set DIRS

Parse strings as unix namestrings and remove duplicates and non absolute-pathnames in a list.

Package

uiop/configuration

Source

asdf.lisp (file)

Function: find-action PATH

Reconstitute an action from its action-path

Package

asdf/action

Source

asdf.lisp (file)

Function: find-package* PACKAGE-DESIGNATOR &optional ERROR
Package

uiop/package

Source

asdf.lisp (file)

Function: find-preferred-file FILES &key DIRECTION

Find first file in the list of FILES that exists (for direction :input or :probe) or just the first one (for direction :output or :io).
Note that when we say "file" here, the files in question may be directories.

Package

uiop/configuration

Source

asdf.lisp (file)

Function: find-standard-case-symbol NAME-DESIGNATOR PACKAGE-DESIGNATOR &optional ERROR

Find a symbol designated by NAME-DESIGNATOR in a package designated by PACKAGE-DESIGNATOR, where STANDARD-CASE-SYMBOL-NAME is used to transform them if these designators are strings. If optional ERROR argument is NIL, return NIL instead of an error when the symbol is not found.

Package

uiop/utility

Source

asdf.lisp (file)

Function: find-symbol* NAME PACKAGE-DESIGNATOR &optional ERROR

Find a symbol in a package of given string’ified NAME;
unlike CL:FIND-SYMBOL, work well with ’modern’ case sensitive syntax by letting you supply a symbol or keyword for the name;
also works well when the package is not present.
If optional ERROR argument is NIL, return NIL instead of an error when the symbol is not found.

Package

uiop/package

Source

asdf.lisp (file)

Function: find-system-if-being-defined NAME
Package

asdf/system-registry

Source

asdf.lisp (file)

Function: finish-outputs &rest STREAMS

Finish output on the main output streams as well as any specified one. Useful for portably flushing I/O before user input or program exit.

Package

uiop/stream

Source

asdf.lisp (file)

Function: first-char S

Return the first character of a non-empty string S, or NIL

Package

uiop/utility

Source

asdf.lisp (file)

Function: flatten-source-registry &optional PARAMETER
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: format! STREAM FORMAT &rest ARGS

Just like format, but call finish-outputs before and after the output.

Package

uiop/stream

Source

asdf.lisp (file)

Function: format-action STREAM ACTION &optional COLON-P AT-SIGN-P

FORMAT helper to display an action’s action-description.
Use it in FORMAT control strings as ~/asdf-action:format-action/

Package

asdf/action

Source

asdf.lisp (file)

Function: fresh-package-name &key PREFIX SEPARATOR INDEX
Package

uiop/package

Source

asdf.lisp (file)

Function: get-file-stamp FILE
Package

asdf/session

Source

asdf.lisp (file)

Function: get-folder-path FOLDER

Semi-portable implementation of a subset of LispWorks’ sys:get-folder-path, this function tries to locate the Windows FOLDER for one of :LOCAL-APPDATA, :APPDATA or :COMMON-APPDATA.
Returns NIL when the folder is not defined (e.g., not on Windows).

Package

uiop/configuration

Source

asdf.lisp (file)

Function: get-optimization-settings ()

Get current compiler optimization settings, ready to PROCLAIM again

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: get-pathname-defaults &optional DEFAULTS

Find the actual DEFAULTS to use for pathnames, including resolving them with respect to GETCWD if the DEFAULTS were relative

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: getcwd ()

Get the current working directory as per POSIX getcwd(3), as a pathname object

Package

uiop/os

Source

asdf.lisp (file)

Function: getenv X

Query the environment, as in C getenv.
Beware: may return empty string if a variable is present but empty; use getenvp to return NIL in such a case.

Package

uiop/os

Source

asdf.lisp (file)

Setf Expander

(setf getenv) (setf expander)

Setf Expander: (setf getenv) X

Set an environment variable.

Package

uiop/os

Source

asdf.lisp (file)

Reader

getenv (function)

Function: getenv-absolute-directories X

Extract a list of absolute directories from a user-configured environment variable, as per native OS. Any empty entries in the environment variable X will be returned as NILs.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: getenv-absolute-directory X

Extract an absolute directory pathname from a user-configured environment variable, as per native OS

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: getenv-pathname X &rest CONSTRAINTS &key ENSURE-DIRECTORY WANT-DIRECTORY ON-ERROR &allow-other-keys

Extract a pathname from a user-configured environment variable, as per native OS, check constraints and normalize as per ENSURE-PATHNAME.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: getenv-pathnames X &rest CONSTRAINTS &key ON-ERROR &allow-other-keys

Extract a list of pathname from a user-configured environment variable, as per native OS, check constraints and normalize each one as per ENSURE-PATHNAME.
Any empty entries in the environment variable X will be returned as NILs.

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: getenvp X

Predicate that is true if the named variable is present in the libc environment, then returning the non-empty string value of the variable

Package

uiop/os

Source

asdf.lisp (file)

Function: handle-fatal-condition CONDITION

Handle a fatal CONDITION:
depending on whether *LISP-INTERACTION* is set, enter debugger or die

Package

uiop/image

Source

asdf.lisp (file)

Function: hidden-pathname-p PATHNAME

Return a boolean that is true if the pathname is hidden as per Unix style, i.e. its name starts with a dot.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: home-package-p SYMBOL PACKAGE
Package

uiop/package

Source

asdf.lisp (file)

Function: hostname ()

return the hostname of the current host

Package

uiop/os

Source

asdf.lisp (file)

Function: implementation-identifier ()

Return a string that identifies the ABI of the current implementation,
suitable for use as a directory name to segregate Lisp FASLs, C dynamic libraries, etc.

Package

uiop/os

Source

asdf.lisp (file)

Function: implementation-type ()

The type of Lisp implementation used, as a short UIOP-standardized keyword

Package

uiop/os

Source

asdf.lisp (file)

Function: import* SYMBOL PACKAGE-DESIGNATOR
Package

uiop/package

Source

asdf.lisp (file)

Function: in-first-directory DIRS X &key DIRECTION

Finds the first appropriate file named X in the list of DIRS for I/O in DIRECTION (which may be :INPUT, :OUTPUT, :IO, or :PROBE).
If direction is :INPUT or :PROBE, will return the first extant file named X in one of the DIRS.
If direction is :OUTPUT or :IO, will simply return the file named X in the first element of DIRS that exists. DEPRECATED.

Package

uiop/configuration

Source

asdf.lisp (file)

Function: in-system-configuration-directory X &key DIRECTION

Return the pathname for the file named X under the system configuration directory for common-lisp. DEPRECATED.

Package

uiop/configuration

Source

asdf.lisp (file)

Function: in-user-configuration-directory X &key DIRECTION

Return the file named X in the user configuration directory for common-lisp. DEPRECATED.

Package

uiop/configuration

Source

asdf.lisp (file)

Function: inherit-source-registry INHERIT &key REGISTER
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: initialize-output-translations &optional PARAMETER

read the configuration, initialize the internal configuration variable, return the configuration

Package

asdf/output-translations

Source

asdf.lisp (file)

Function: initialize-source-registry &optional PARAMETER
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: input-string &optional INPUT

If the desired INPUT is a string, return that string; otherwise slurp the INPUT into a string and return that

Package

uiop/stream

Source

asdf.lisp (file)

Function: inter-directory-separator ()

What character does the current OS conventionally uses to separate directories?

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: intern* NAME PACKAGE-DESIGNATOR &optional ERROR
Package

uiop/package

Source

asdf.lisp (file)

Function: last-char S

Return the last character of a non-empty string S, or NIL

Package

uiop/utility

Source

asdf.lisp (file)

Function: later-timestamp X Y
Package

uiop/utility

Source

asdf.lisp (file)

Function: latest-timestamp &rest LIST
Package

uiop/utility

Source

asdf.lisp (file)

Function: launch-program COMMAND &rest KEYS &key INPUT IF-INPUT-DOES-NOT-EXIST OUTPUT IF-OUTPUT-EXISTS ERROR-OUTPUT IF-ERROR-OUTPUT-EXISTS ELEMENT-TYPE EXTERNAL-FORMAT DIRECTORY &allow-other-keys

Launch program specified by COMMAND,
either a list of strings specifying a program and list of arguments, or a string specifying a shell command (/bin/sh on Unix, CMD.EXE on Windows) _asynchronously_.

If OUTPUT is a pathname, a string designating a pathname, or NIL (the default) designating the null device, the file at that path is used as output.
If it’s :INTERACTIVE, output is inherited from the current process; beware that this may be different from your *STANDARD-OUTPUT*, and under SLIME will be on your *inferior-lisp* buffer. If it’s T, output goes to your current *STANDARD-OUTPUT* stream. If it’s :STREAM, a new stream will be made available that can be accessed via PROCESS-INFO-OUTPUT and read from. Otherwise, OUTPUT should be a value that the underlying lisp implementation knows how to handle.

IF-OUTPUT-EXISTS, which is only meaningful if OUTPUT is a string or a pathname, can take the values :ERROR, :APPEND, and :SUPERSEDE (the default). The meaning of these values and their effect on the case where OUTPUT does not exist, is analogous to the IF-EXISTS parameter to OPEN with :DIRECTION :OUTPUT.

ERROR-OUTPUT is similar to OUTPUT. T designates the *ERROR-OUTPUT*, :OUTPUT means redirecting the error output to the output stream, and :STREAM causes a stream to be made available via PROCESS-INFO-ERROR-OUTPUT.

IF-ERROR-OUTPUT-EXISTS is similar to IF-OUTPUT-EXIST, except that it affects ERROR-OUTPUT rather than OUTPUT.

INPUT is similar to OUTPUT, except that T designates the *STANDARD-INPUT* and a stream requested through the :STREAM keyword would be available through PROCESS-INFO-INPUT.

IF-INPUT-DOES-NOT-EXIST, which is only meaningful if INPUT is a string or a pathname, can take the values :CREATE and :ERROR (the default). The meaning of these values is analogous to the IF-DOES-NOT-EXIST parameter to OPEN with :DIRECTION :INPUT.

ELEMENT-TYPE and EXTERNAL-FORMAT are passed on to your Lisp implementation, when applicable, for creation of the output stream.

LAUNCH-PROGRAM returns a PROCESS-INFO object.

Package

uiop/launch-program

Source

asdf.lisp (file)

Function: length=n-p X N
Package

uiop/utility

Source

asdf.lisp (file)

Function: lexicographic< ELEMENT< X Y

Lexicographically compare two lists of using the function element< to compare elements. element< is a strict total order; the resulting order on X and Y will also be strict.

Package

uiop/utility

Source

asdf.lisp (file)

Function: lexicographic<= ELEMENT< X Y

Lexicographically compare two lists of using the function element< to compare elements. element< is a strict total order; the resulting order on X and Y will be a non-strict total order.

Package

uiop/utility

Source

asdf.lisp (file)

Function: lisp-compilation-output-files O C

Compute the output-files for compiling the Lisp file for the specified action (O . C), an OPERATION and a COMPONENT.

Package

asdf/lisp-action

Source

asdf.lisp (file)

Function: lisp-implementation-directory &key TRUENAME

Where are the system files of the current installation of the CL implementation?

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: lisp-implementation-pathname-p PATHNAME

Is the PATHNAME under the current installation of the CL implementation?

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: lisp-version-string ()

return a string that identifies the current Lisp implementation version

Package

uiop/os

Source

asdf.lisp (file)

Function: lispize-pathname INPUT-FILE

From a INPUT-FILE pathname, return a corresponding .lisp source pathname

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: list-to-hash-set LIST &aux H

Convert a LIST into hash-table that has the same elements when viewed as a set, up to the given equality TEST

Package

uiop/utility

Source

asdf.lisp (file)

Function: load* X &rest KEYS &key &allow-other-keys

Portable wrapper around LOAD that properly handles loading from a stream.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: load-asd PATHNAME &key NAME

Load system definitions from PATHNAME.
NAME if supplied is the name of a system expected to be defined in that file.

Do NOT try to load a .asd file directly with CL:LOAD. Always use ASDF:LOAD-ASD.

Package

asdf/find-system

Source

asdf.lisp (file)

Function: load-from-string STRING

Portably read and evaluate forms from a STRING.

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: load-pathname ()

Portably return the LOAD-PATHNAME of the current source file or fasl

Package

uiop/lisp-build

Source

asdf.lisp (file)

Function: load-sysdef NAME PATHNAME
Package

asdf/backward-internals

Source

asdf.lisp (file)

Function: load-system SYSTEM &rest KEYS &key FORCE FORCE-NOT VERBOSE VERSION &allow-other-keys

Shorthand for ‘(operate ’asdf:load-op system)‘. See OPERATE for details.

Package

asdf/operate

Source

asdf.lisp (file)

Function: load-systems &rest SYSTEMS

Loading multiple systems at once.

Package

asdf/operate

Source

asdf.lisp (file)

Function: load-systems* SYSTEMS &rest KEYS

Loading multiple systems at once.

Package

asdf/operate

Source

asdf.lisp (file)

Function: load-uiop-debug-utility &key PACKAGE UTILITY-FILE
Package

uiop/utility

Source

asdf.lisp (file)

Function: locate-system NAME

Given a system NAME designator, try to locate where to load the system from. Returns five values: FOUNDP FOUND-SYSTEM PATHNAME PREVIOUS PREVIOUS-TIME FOUNDP is true when a system was found,
either a new unregistered one or a previously registered one.
FOUND-SYSTEM when not null is a SYSTEM object that may be REGISTER-SYSTEM’ed. PATHNAME when not null is a path from which to load the system,
either associated with FOUND-SYSTEM, or with the PREVIOUS system.
PREVIOUS when not null is a previously loaded SYSTEM object of same name. PREVIOUS-TIME when not null is the time at which the PREVIOUS system was loaded.

Package

asdf/find-system

Source

asdf.lisp (file)

Function: location-designator-p X

Is X a designator for a location?

Package

uiop/configuration

Source

asdf.lisp (file)

Function: location-function-p X

Is X the specification of a location function?

Package

uiop/configuration

Source

asdf.lisp (file)

Function: logical-pathname-p X

is X a logical-pathname?

Package

uiop/pathname

Source

asdf.lisp (file)

Function: make SYSTEM &rest KEYS

The recommended way to interact with ASDF3.1 is via (ASDF:MAKE :FOO). It will build system FOO using the operation BUILD-OP,
the meaning of which is configurable by the system, and
defaults to LOAD-OP, to load it in current image.

Package

asdf/operate

Source

asdf.lisp (file)

Function: make-action OPERATION COMPONENT
Package

asdf/action

Source

asdf.lisp (file)

Function: make-forcing &key PERFORMABLE-P SYSTEM FORCE FORCE-NOT &allow-other-keys
Package

asdf/forcing

Source

asdf.lisp (file)

Function: make-operation OPERATION-CLASS

This function creates and memoizes an instance of OPERATION-CLASS. All operation instances MUST be created through this function.

Use of INITARGS is not supported at this time.

Package

asdf/operation

Source

asdf.lisp (file)

Function: make-pathname* &rest KEYS &key DIRECTORY HOST DEVICE NAME TYPE VERSION DEFAULTS

Takes arguments like CL:MAKE-PATHNAME in the CLHS, and
tries hard to make a pathname that will actually behave as documented,
despite the peculiarities of each implementation. DEPRECATED: just use MAKE-PATHNAME.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: make-pathname-component-logical X

Make a pathname component suitable for use in a logical-pathname

Package

uiop/pathname

Source

asdf.lisp (file)

Function: make-pathname-logical PATHNAME HOST

Take a PATHNAME’s directory, name, type and version components,
and make a new pathname with corresponding components and specified logical HOST

Package

uiop/pathname

Source

asdf.lisp (file)

Function: make-symbol* NAME
Package

uiop/package

Source

asdf.lisp (file)

Function: map-direct-dependencies OPERATION COMPONENT FUN

Call FUN on all the valid dependencies of the given action in the given plan

Package

asdf/plan

Source

asdf.lisp (file)

Function: map-systems FN

Apply FN to each defined system.

FN should be a function of one argument. It will be called with an object of type asdf:system.

Package

asdf/system-registry

Source

asdf.lisp (file)

Function: mark-component-preloaded COMPONENT

Mark a component as preloaded.

Package

asdf/system-registry

Source

asdf.lisp (file)

Function: match-any-condition-p CONDITION CONDITIONS

match CONDITION against any of the patterns of CONDITIONS supplied

Package

uiop/utility

Source

asdf.lisp (file)

Function: match-condition-p X CONDITION

Compare received CONDITION to some pattern X:
a symbol naming a condition class,
a simple vector of length 2, arguments to find-symbol* with result as above, or a string describing the format-control of a simple-condition.

Package

uiop/utility

Source

asdf.lisp (file)

Function: merge-pathname-directory-components SPECIFIED DEFAULTS

Helper for MERGE-PATHNAMES* that handles directory components

Package

uiop/pathname

Source

asdf.lisp (file)

Function: merge-pathnames* SPECIFIED &optional DEFAULTS

MERGE-PATHNAMES* is like MERGE-PATHNAMES except that
if the SPECIFIED pathname does not have an absolute directory,
then the HOST and DEVICE both come from the DEFAULTS, whereas
if the SPECIFIED pathname does have an absolute directory,
then the HOST and DEVICE both come from the SPECIFIED pathname.
This is what users want on a modern Unix or Windows operating system,
unlike the MERGE-PATHNAMES behavior.
Also, if either argument is NIL, then the other argument is returned unmodified; this is unlike MERGE-PATHNAMES which always merges with a pathname,
by default *DEFAULT-PATHNAME-DEFAULTS*, which cannot be NIL.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: module-provide-asdf NAME
Package

asdf/operate

Source

asdf.lisp (file)

Function: native-namestring X

From a non-wildcard CL pathname, a return namestring suitable for passing to the operating system

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: next-version VERSION

When VERSION is not nil, it is a string, then parse it as a version, compute the next version and return it as a string.

Package

uiop/version

Source

asdf.lisp (file)

Function: nil-pathname &optional DEFAULTS

A pathname that is as neutral as possible for use as defaults when merging, making or parsing pathnames

Package

uiop/pathname

Source

asdf.lisp (file)

Function: normalize-forced-not-systems FORCE-NOT SYSTEM

Given a SYSTEM on which operate is called, the specified FORCE-NOT argument,
and the set of IMMUTABLE systems, extract a hash-set of systems that are effectively forced-not, or predicate on system names, or NIL if none are forced, or :ALL if all are.

Package

asdf/forcing

Source

asdf.lisp (file)

Function: normalize-forced-systems FORCE SYSTEM

Given a SYSTEM on which operate is called and the specified FORCE argument, extract a hash-set of systems that are forced, or a predicate on system names, or NIL if none are forced, or :ALL if all are.

Package

asdf/forcing

Source

asdf.lisp (file)

Function: normalize-namestring PATHNAME
Package

asdf/session

Source

asdf.lisp (file)

Function: normalize-pathname-directory-component DIRECTORY

Convert the DIRECTORY component from a format usable by the underlying implementation’s MAKE-PATHNAME and other primitives to a CLHS-standard format that is a list and not a string.

Package

uiop/pathname

Source

asdf.lisp (file)

Function: not-implemented-error FUNCTIONALITY &optional FORMAT-CONTROL &rest FORMAT-ARGUMENTS

Signal an error because some FUNCTIONALITY is not implemented in the current version
of the software on the current platform; it may or may not be implemented in different combinations of version of the software and of the underlying platform. Optionally, report a formatted error message.

Package

uiop/utility

Source

asdf.lisp (file)

Function: nuke-symbol SYMBOL &optional PACKAGES
Package

uiop/package

Source

asdf.lisp (file)

Function: nuke-symbol-in-package SYMBOL PACKAGE-DESIGNATOR
Package

uiop/package

Source

asdf.lisp (file)

Function: null-device-pathname ()

Pathname to a bit bucket device that discards any information written to it and always returns EOF when read from

Package

uiop/stream

Source

asdf.lisp (file)

Function: oos OPERATION COMPONENT &rest ARGS &key &allow-other-keys

Short for _operate on system_ and an alias for the OPERATE function.

Operate does mainly four things for the user:

1. Resolves the OPERATION designator into an operation object.
OPERATION is typically a symbol denoting an operation class, instantiated with MAKE-OPERATION. 2. Resolves the COMPONENT designator into a component object.
COMPONENT is typically a string or symbol naming a system, loaded from disk using FIND-SYSTEM. 3. It then calls MAKE-PLAN with the operation and system as arguments.
4. Finally calls PERFORM-PLAN on the resulting plan to actually build the system.

The entire computation is wrapped in WITH-COMPILATION-UNIT and error handling code.
If a VERSION argument is supplied, then operate also ensures that the system found satisfies it using the VERSION-SATISFIES method.
If a PLAN-CLASS argument is supplied, that class is used for the plan.
If a PLAN-OPTIONS argument is supplied, the options are passed to the plan.

The :FORCE or :FORCE-NOT argument to OPERATE can be:
T to force the inside of the specified system to be rebuilt (resp. not),
without recursively forcing the other systems we depend on.
:ALL to force all systems including other systems we depend on to be rebuilt (resp. not). (SYSTEM1 SYSTEM2 ... SYSTEMN) to force systems named in a given list
:FORCE-NOT has precedence over :FORCE; builtin systems cannot be forced.

For backward compatibility, all keyword arguments are passed to MAKE-OPERATION
when instantiating a new operation, that will in turn be inherited by new operations.
But do NOT depend on it, for this is deprecated behavior.

Package

asdf/operate

Source

asdf.lisp (file)

Function: operate-level ()
Function: (setf operate-level) NEW-LEVEL
Package

asdf/session

Source

asdf.lisp (file)

Function: operating-system ()

The operating system of the current host

Package

uiop/os

Source

asdf.lisp (file)

Function: operation-monolithic-p OP
Package

asdf/bundle

Source

asdf.lisp (file)

Function: os-genera-p ()

Is the underlying operating system Genera (running on a Symbolics Lisp Machine)?

Package

uiop/os

Source

asdf.lisp (file)

Function: os-macosx-p ()

Is the underlying operating system MacOS X?

Package

uiop/os

Source

asdf.lisp (file)

Function: os-unix-p ()

Is the underlying operating system some Unix variant?

Package

uiop/os

Source

asdf.lisp (file)

Function: os-windows-p ()

Is the underlying operating system Microsoft Windows?

Package

uiop/os

Source

asdf.lisp (file)

Function: output-file OPERATION COMPONENT

The unique output file of performing OPERATION on COMPONENT

Package

asdf/action

Source

asdf.lisp (file)

Function: output-string STRING &optional OUTPUT

If the desired OUTPUT is not NIL, print the string to the output; otherwise return the string

Package

uiop/stream

Source

asdf.lisp (file)

Function: output-translations ()

Return the configured output-translations, if any

Package

asdf/output-translations

Source

asdf.lisp (file)

Writer

(setf output-translations) (function)

Function: (setf output-translations) NEW-VALUE
Package

asdf/output-translations

Source

asdf.lisp (file)

Reader

output-translations (function)

Function: output-translations-initialized-p ()

Have the output-translations been initialized yet?

Package

asdf/output-translations

Source

asdf.lisp (file)

Function: package-definition-form PACKAGE-DESIGNATOR &key NICKNAMESP USEP SHADOWP SHADOWING-IMPORT-P EXPORTP IMPORTP INTERNP ERROR
Package

uiop/package

Source

asdf.lisp (file)

Function: package-names PACKAGE
Package

uiop/package

Source

asdf.lisp (file)

Function: packages-from-names NAMES
Package

uiop/package

Source

asdf.lisp (file)

Function: parameter-error FORMAT-CONTROL FUNCTIONALITY &rest FORMAT-ARGUMENTS

Signal an error because some FUNCTIONALITY or its specific implementation on a given underlying platform does not accept a given parameter or combination of parameters. Report a formatted error message, that takes the functionality as its first argument (that can be skipped with ~*).

Package

uiop/utility

Source

asdf.lisp (file)

Function: parse-body BODY &key DOCUMENTATION WHOLE

Parses BODY into (values remaining-forms declarations doc-string). Documentation strings are recognized only if DOCUMENTATION is true. Syntax errors in body are signalled and WHOLE is used in the signal arguments when given.

Package

uiop/utility

Source

asdf.lisp (file)

Function: parse-component-form PARENT OPTIONS &key PREVIOUS-SERIAL-COMPONENT
Package

asdf/parse-defsystem

Source

asdf.lisp (file)

Function: parse-define-package-form PACKAGE CLAUSES
Package

uiop/package

Source

asdf.lisp (file)

Function: parse-file-location-info S

helper to parse-windows-shortcut

Package

uiop/os

Source

asdf.lisp (file)

Function: parse-native-namestring STRING &rest CONSTRAINTS &key ENSURE-DIRECTORY &allow-other-keys

From a native namestring suitable for use by the operating system, return a CL pathname satisfying all the specified constraints as per ENSURE-PATHNAME

Package

uiop/filesystem

Source

asdf.lisp (file)

Function: parse-output-translations-string STRING &key LOCATION
Package

asdf/output-translations

Source

asdf.lisp (file)

Function: parse-source-registry-string STRING &key LOCATION
Package

asdf/source-registry

Source

asdf.lisp (file)

Function: parse-unix-namestring NAME &rest KEYS &key TYPE DEFAULTS DOT-DOT ENSURE-DIRECTORY &allow-other-keys

Coerce NAME into a PATHNAME using standard Unix syntax.

Unix syntax is used whether or not the underlying system is Unix;
on such non-Unix systems it is reliably usable only for relative pathnames.
This function is especially useful to manipulate relative pathnames portably,
where it is of crucial to possess a portable pathname syntax independent of the underlying OS. This is what PARSE-UNIX-NAMESTRING provides, and why we use it in ASDF.

When given a PATHNAME object, just return it untouched.
When given NIL, just return NIL.
When given a non-null SYMBOL, first downcase its name and treat it as a string.
When given a STRING, portably decompose it into a pathname as below.

#\/ separates directory components.

The last #\/-separated substring is interpreted as follows:
1- If TYPE is :DIRECTORY or ENSURE-DIRECTORY is true,
the string is made the last directory component, and NAME and TYPE are NIL.
if the string is empty, it’s the empty pathname with all slots NIL.
2- If TYPE is NIL, the substring is a file-namestring, and its NAME and TYPE
are separated by SPLIT-NAME-TYPE.
3- If TYPE is a string, it is the given TYPE, and the whole string is the NAME.

Directory components with an empty name or the name "." are removed.
Any directory named ".." is read as DOT-DOT,
which must be one of :BACK or :UP and defaults to :BACK.

HOST, DEVICE and VERSION components are taken from DEFAULTS,
which itself defaults to *NIL-PATHNAME*, also used if DEFAULTS is NIL.
No host or device can be specified in the string itself,
which makes it unsuitable for absolute pathnames outside Unix.

For relative pathnames, these components (and hence the defaults) won’t matter
if you use MERGE-PATHNAMES* but will matter if you use MERGE-PATHNAMES,
which is an important reason to always use MERGE-PATHNAMES*.

Arbitrary keys are accepted, and the parse result is passed to ENSURE-PATHNAME
with those keys, removing TYPE DEFAULTS and DOT-DOT.
When you’re manipulating pathnames that are supposed to make sense portably
even though the OS may not be Unixish, we recommend you use :WANT-RELATIVE T
to throw an error if the pathname is absolute

Package

uiop/pathname

Source

asdf.lisp (file)

Function: parse-version VERSION-STRING &optional ON-ERROR

Parse a VERSION-STRING as a series of natural numbers separated by dots. Return a (non-null) list of integers if the string is valid;
otherwise return NIL.

When invalid, ON-ERROR is called as per CALL-FUNCTION before to return NIL, with format arguments explaining why the version is invalid.
ON-ERROR is also called if the version is not canonical
in that it doesn’t print back to itself, but the list is returned anyway.

Package

uiop/version

Source

asdf.lisp (file)

Function: parse-windows-shortcut PATHNAME

From a .lnk windows shortcut, extract the pathname linked to

Package

uiop/os

Source

asdf.lisp (file)

Function: pathname-directory-pathname PATHNAME

Returns a new pathname with same HOST, DEVICE, DIRECTORY as PATHNAME, and NIL NAME, TYPE and VERSION components

Package

uiop/pathname

Source

asdf.lisp (file)

Function: pathname-equal P1 P2

Are the two pathnames P1 and P2 reasonably equal in the paths they denote?

Package

uiop/pathname

Source

asdf.lisp (file)

Function: pathname-host-pathname PATHNAME

return a pathname with the same host as given PATHNAME, and all other fields NIL

Package

uiop/pathname

Source

asdf.lisp (file)

Function: pathname-parent-directory-pathname PATHNAME

Returns a new pathname that corresponds to the parent of the current pathname’s directory, i.e. removing one level of depth in the DIRECTORY component. e.g. if pathname is
Unix pathname /foo/bar/baz/file.type then return /foo/bar/

Package

uiop/pathname

Source

asdf.lisp (file)

Function: pathname-root PATHNAME

return the root directory for the host and device of given PATHNAME

Package

uiop/pathname

Source