The asdf Reference Manual

This is the asdf Reference Manual, version 3.3.7.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 16:11:24 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 asdf/defsystem

The defsystem part of ASDF

Long Name

Another System Definition Facility

Maintainer

Robert Goldman

Author

Daniel Barlow

Contact

Home Page

http://common-lisp.net/projects/asdf/

Source Control

(GIT git://common-lisp.net/projects/asdf/asdf.git)

Bug Tracker

https://launchpad.net/asdf/

License

MIT

Long Description

ASDF/DEFSYSTEM is the de facto standard DEFSYSTEM facility for Common Lisp,
a successor to Dan Barlow’s ASDF and Francois-Rene Rideau’s ASDF2.
For bootstrap purposes, it comes bundled with UIOP in a single file, asdf.lisp.

Version

3.3.7.1

Dependencies
Source

asdf.asd.

Child Components

2.2 asdf/prelude

Maintainer

Robert Goldman

Author

Daniel Barlow

License

MIT

Version

3.3.7.1

Source

asdf.asd.

Child Component

header.lisp (file).


2.3 asdf/driver

Maintainer

Robert Goldman

Author

Daniel Barlow

License

MIT

Source

asdf.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 asdf/defsystem/asdf.asd

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

ASDF Systems
Internals

call-without-redefinition-warnings (function).


3.1.2 asdf/defsystem/upgrade.lisp

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/upgrade.

Public Interface
Internals

3.1.3 asdf/defsystem/session.lisp

Dependency

upgrade.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/session.

Public Interface
Internals

3.1.4 asdf/defsystem/component.lisp

Dependency

session.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/component.

Public Interface
Internals

3.1.5 asdf/defsystem/operation.lisp

Dependency

session.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/operation.

Public Interface
Internals

3.1.6 asdf/defsystem/system.lisp

Dependency

component.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/system.

Public Interface
Internals

3.1.7 asdf/defsystem/system-registry.lisp

Dependency

system.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/system-registry.

Public Interface
Internals

3.1.8 asdf/defsystem/action.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/action.

Public Interface
Internals

3.1.9 asdf/defsystem/lisp-action.lisp

Dependency

action.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/lisp-action.

Public Interface
Internals

3.1.10 asdf/defsystem/find-component.lisp

Dependency

component.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/find-component.

Public Interface

3.1.11 asdf/defsystem/forcing.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/forcing.

Public Interface
Internals

3.1.12 asdf/defsystem/plan.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/plan.

Public Interface
Internals

3.1.13 asdf/defsystem/operate.lisp

Dependency

plan.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/operate.

Public Interface
Internals

3.1.14 asdf/defsystem/find-system.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/find-system.

Public Interface
Internals

3.1.15 asdf/defsystem/parse-defsystem.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/parse-defsystem.

Public Interface
Internals

3.1.16 asdf/defsystem/bundle.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/bundle.

Public Interface
Internals

3.1.18 asdf/defsystem/package-inferred-system.lisp

Dependency

parse-defsystem.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/package-inferred-system.

Public Interface
Internals

3.1.19 asdf/defsystem/output-translations.lisp

Dependency

operate.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/output-translations.

Public Interface
Internals

3.1.20 asdf/defsystem/source-registry.lisp

Dependency

find-system.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/source-registry.

Public Interface
Internals

3.1.21 asdf/defsystem/backward-internals.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/backward-internals.

Public Interface
Internals

*deprecated-function-style-warning-load-sysdef-notified-p* (special variable).


3.1.22 asdf/defsystem/backward-interface.lisp

Dependency

output-translations.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/backward-interface.

Public Interface
Internals

3.1.23 asdf/defsystem/interface.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/interface.


3.1.24 asdf/defsystem/user.lisp

Dependency

interface.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/user.


3.1.25 asdf/defsystem/footer.lisp

Dependency

user.lisp (file).

Source

asdf.asd.

Parent Component

asdf/defsystem (system).

Packages

asdf/footer.


3.1.26 asdf/prelude/header.lisp

Source

asdf.asd.

Parent Component

asdf/prelude (system).


3.1.27 asdf/driver/package.lisp

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages
Public Interface
Internals

3.1.28 asdf/driver/common-lisp.lisp

Dependency

package.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/common-lisp.

Internals

3.1.29 asdf/driver/utility.lisp

Dependency

common-lisp.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/utility.

Public Interface
Internals

3.1.30 asdf/driver/version.lisp

Dependency

utility.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/version.

Public Interface
Internals

3.1.31 asdf/driver/os.lisp

Dependency

utility.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/os.

Public Interface
Internals

3.1.32 asdf/driver/pathname.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/pathname.

Public Interface
Internals

3.1.33 asdf/driver/filesystem.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/filesystem.

Public Interface

3.1.34 asdf/driver/stream.lisp

Dependency

filesystem.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/stream.

Public Interface
Internals

3.1.35 asdf/driver/image.lisp

Dependency

stream.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/image.

Public Interface
Internals

*image-restored-p* (special variable).


3.1.36 asdf/driver/lisp-build.lisp

Dependency

image.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/lisp-build.

Public Interface
Internals

3.1.37 asdf/driver/launch-program.lisp

Dependency

stream.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/launch-program.

Public Interface
Internals

3.1.38 asdf/driver/run-program.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/run-program.

Public Interface
Internals

3.1.39 asdf/driver/configuration.lisp

Dependency

image.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/configuration.

Public Interface
Internals

3.1.40 asdf/driver/backward-driver.lisp

Dependencies
Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/backward-driver.

Public Interface
Internals

3.1.41 asdf/driver/driver.lisp

Dependency

backward-driver.lisp (file).

Source

asdf.asd.

Parent Component

asdf/driver (system).

Packages

uiop/driver.


3.2 Static


3.2.1 asdf/driver/contrib/debug.lisp

Source

asdf.asd.

Parent Component

asdf/driver (system).


4 Packages

Packages are listed by definition order.


4.1 asdf/system

Source

system.lisp.

Use List
Used By List
Public Interface
Internals

4.2 uiop/lisp-build

Source

lisp-build.lisp.

Nickname

asdf/lisp-build

Use List
Used By List
Public Interface
Internals

4.4 asdf/backward-interface

Source

backward-interface.lisp.

Use List
Used By List

asdf/interface.

Public Interface
Internals

4.6 uiop/package*

Source

package.lisp.

Use List
Used By List

uiop/driver.


4.7 asdf/operation

Source

operation.lisp.

Use List
Used By List
Public Interface
Internals

4.8 uiop/image

Source

image.lisp.

Use List
Used By List
Public Interface
Internals

*image-restored-p* (special variable).


4.9 uiop/configuration

Source

configuration.lisp.

Use List
Used By List
Public Interface
Internals

4.10 asdf/bundle

Source

bundle.lisp.

Use List
Used By List
Public Interface
Internals

4.11 uiop/version

Source

version.lisp.

Use List
Used By List
Public Interface
Internals

4.12 asdf/action

Source

action.lisp.

Nickname

asdf-action

Use List
Used By List
Public Interface
Internals

4.13 asdf/output-translations

Source

output-translations.lisp.

Use List
Used By List
Public Interface
Internals

4.15 asdf/session

Source

session.lisp.

Use List
Used By List
Public Interface
Internals

4.16 uiop/pathname

Source

pathname.lisp.

Nickname

asdf/pathname

Use List
Used By List
Public Interface
Internals

4.17 asdf/plan

Source

plan.lisp.

Use List
Used By List
Public Interface
Internals

4.19 uiop/os

Source

os.lisp.

Use List
Used By List
Public Interface
Internals

4.21 asdf/source-registry

Source

source-registry.lisp.

Use List
Used By List

asdf/interface.

Public Interface
Internals

4.23 uiop/stream

Source

stream.lisp.

Use List
Used By List
Public Interface
Internals

4.24 asdf/forcing

Source

forcing.lisp.

Use List
Used By List
Public Interface
Internals

4.25 asdf/component

Source

component.lisp.

Use List
Used By List
Public Interface
Internals

4.26 asdf/user

Source

user.lisp.

Nickname

asdf-user

Use List

4.29 uiop/utility

Source

utility.lisp.

Use List
Used By List
Public Interface
Internals

4.30 asdf/parse-defsystem

Source

parse-defsystem.lisp.

Nickname

asdf/defsystem

Use List
Used By List
Public Interface
Internals

4.31 uiop/run-program

Source

run-program.lisp.

Nickname

asdf/run-program

Use List
Used By List
Public Interface
Internals

4.32 asdf/operate

Source

operate.lisp.

Use List
Used By List
Public Interface
Internals

4.34 uiop/launch-program

Source

launch-program.lisp.

Use List
Used By List
Public Interface
Internals

4.36 asdf/backward-internals

Source

backward-internals.lisp.

Use List
Used By List

asdf/interface.

Public Interface
Internals

*deprecated-function-style-warning-load-sysdef-notified-p* (special variable).


4.37 uiop/package

Source

package.lisp.

Use List

common-lisp.

Used By List
Public Interface
Internals

4.41 uiop/package-local-nicknames

Source

package.lisp.

Use List

common-lisp.

Used By List

uiop/package*.


5 Definitions

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


5.1 Public Interface


5.1.1 Constants

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

uiop/utility.

Source

utility.lisp.


5.1.2 Special variables

Special Variable: *asdf-session*
Package

asdf/session.

Source

session.lisp.

Special Variable: *asdf-session-class*

The default class for sessions

Package

asdf/session.

Source

session.lisp.

Special Variable: *asdf-verbose*
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Special Variable: *asdf-version*
Package

asdf/upgrade.

Source

upgrade.lisp.

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

lisp-build.lisp.

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

system-registry.lisp.

Special Variable: *clear-configuration-hook*
Package

uiop/configuration.

Source

configuration.lisp.

Special Variable: *command-line-arguments*

Command-line arguments

Package

uiop/image.

Source

image.lisp.

Special Variable: *compile-check*

A hook for user-defined compile-time invariants

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

lisp-build.lisp.

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

lisp-build.lisp.

Special Variable: *default-component-class*
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

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

stream.lisp.

Special Variable: *default-source-registries*

List of default source registries

Package

asdf/source-registry.

Source

source-registry.lisp.

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

asdf/source-registry.

Source

source-registry.lisp.

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

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

Package

uiop/stream.

Source

stream.lisp.

Special Variable: *defpackage-forms*
Package

asdf/package-inferred-system.

Source

package-inferred-system.lisp.

Special Variable: *encoding-detection-hook*

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

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

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

configuration.lisp.

Special Variable: *ignored-configuration-form*

Have configuration forms been ignored while parsing the configuration?

Package

uiop/configuration.

Source

configuration.lisp.

Special Variable: *image-dump-hook*

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

Package

uiop/image.

Source

image.lisp.

Special Variable: *image-dumped-p*

Is this a dumped image? As a standalone executable?

Package

uiop/image.

Source

image.lisp.

Special Variable: *image-entry-point*

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

Package

uiop/image.

Source

image.lisp.

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

image.lisp.

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

image.lisp.

Special Variable: *image-restore-hook*

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

Package

uiop/image.

Source

image.lisp.

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

system-registry.lisp.

Special Variable: *implementation-type*

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

Package

uiop/os.

Source

os.lisp.

Special Variable: *known-systems-with-bad-secondary-system-names*
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Special Variable: *lisp-interaction*

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

Package

uiop/image.

Source

image.lisp.

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

pathname.lisp.

Special Variable: *operations*
Package

asdf/operation.

Source

operation.lisp.

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

pathname.lisp.

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

output-translations.lisp.

Special Variable: *output-translations-parameter*
Package

asdf/output-translations.

Source

output-translations.lisp.

Special Variable: *package-inferred-systems*
Package

asdf/package-inferred-system.

Source

package-inferred-system.lisp.

Special Variable: *plan-class*

The default plan class to use when building with ASDF

Package

asdf/plan.

Source

plan.lisp.

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

asdf/upgrade.

Source

upgrade.lisp.

Special Variable: *preloaded-systems*

Registration table for preloaded systems.

Package

asdf/system-registry.

Source

system-registry.lisp.

Special Variable: *previous-asdf-versions*
Package

asdf/upgrade.

Source

upgrade.lisp.

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

source-registry.lisp.

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

system-registry.lisp.

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

Package

uiop/filesystem.

Source

filesystem.lisp.

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

source-registry.lisp.

Special Variable: *source-registry-exclusions*
Package

asdf/source-registry.

Source

source-registry.lisp.

Special Variable: *source-registry-parameter*
Package

asdf/source-registry.

Source

source-registry.lisp.

Special Variable: *stderr*

the original error output stream at startup

Package

uiop/stream.

Source

stream.lisp.

Special Variable: *stdin*

the original standard input stream at startup

Package

uiop/stream.

Source

stream.lisp.

Special Variable: *stdout*

the original standard output stream at startup

Package

uiop/stream.

Source

stream.lisp.

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

system-registry.lisp.

Special Variable: *temporary-directory*

User-configurable location for temporary files

Package

uiop/stream.

Source

stream.lisp.

Special Variable: *uiop-debug-utility*

form that evaluates to the pathname to your favorite debugging utilities

Package

uiop/utility.

Source

utility.lisp.

Special Variable: *uiop-version*
Package

uiop/version.

Source

version.lisp.

Special Variable: *uninteresting-compiler-conditions*

Additional conditions that may be skipped while compiling Lisp code.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Special Variable: *uninteresting-conditions*

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Special Variable: *uninteresting-loader-conditions*

Additional conditions that may be skipped while loading Lisp code.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Special Variable: *unspecific-pathname-type*

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

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: *user-cache*

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

Package

uiop/configuration.

Source

configuration.lisp.

Special Variable: *usual-uninteresting-conditions*

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

stream.lisp.

Special Variable: *verbose-out*
Package

asdf/upgrade.

Source

upgrade.lisp.

Special Variable: *warnings-file-type*

Pathname type for warnings files, or NIL if disabled

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Special Variable: *wild*

Wild component for use with MAKE-PATHNAME

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: *wild-asd*
Package

asdf/source-registry.

Source

source-registry.lisp.

Special Variable: *wild-directory*

A pathname object with wildcards for matching any subdirectory

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: *wild-file*

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

Package

uiop/pathname.

Source

pathname.lisp.

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

A pathname object with wildcards for matching any file with DIRECTORY

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: *wild-inferiors*

A pathname object with wildcards for matching any recursive subdirectory

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: *wild-path*

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

Package

uiop/pathname.

Source

pathname.lisp.

Special Variable: +character-types+
Package

uiop/utility.

Source

utility.lisp.

Special Variable: +cr+
Package

uiop/utility.

Source

utility.lisp.

Special Variable: +crlf+
Package

uiop/utility.

Source

utility.lisp.

Special Variable: +lf+
Package

uiop/utility.

Source

utility.lisp.

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

uiop/utility.

Source

utility.lisp.

Special Variable: +status-good+
Package

asdf/plan.

Source

plan.lisp.

Special Variable: +status-todo+
Package

asdf/plan.

Source

plan.lisp.

Special Variable: +status-void+
Package

asdf/plan.

Source

plan.lisp.


5.1.3 Macros

Macro: appendf (place &rest args)

Append onto list

Package

uiop/utility.

Source

utility.lisp.

Macro: define-convenience-action-methods (function formals &key if-no-operation if-no-component)
Package

asdf/action.

Source

action.lisp.

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:
SHADOW, SHADOWING-IMPORT-FROM, IMPORT-FROM, EXPORT, INTERN, NICKNAMES, DOCUMENTATION – as per CL:DEFPACKAGE.
USE – as per CL:DEFPACKAGE, but if neither USE, USE-REEXPORT, MIX,
nor MIX-REEXPORT is supplied, then it is equivalent to specifying
(:USE :COMMON-LISP). This is unlike CL:DEFPACKAGE for which the
behavior of a form without USE is implementation-dependent.
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. Note that this is primarily useful when *redefining* a previously-existing package in the current image (e.g., when upgrading ASDF). Most programmers will have no use for this option. LOCAL-NICKNAMES – If the host implementation supports package local nicknames (check for the :PACKAGE-LOCAL-NICKNAMES feature), then this should be a list of nickname and package name pairs. Using this option will cause an error if the host CL implementation does not support it.
USE-REEXPORT, MIX-REEXPORT – Use or mix the specified packages as per the USE or MIX directives, and reexport their contents as per the REEXPORT directive.

Package

uiop/package.

Source

package.lisp.

Macro: defparameter* (var value &optional docstring version)
Package

asdf/upgrade.

Source

upgrade.lisp.

Macro: defsystem (name &body options)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Macro: do-asdf-cache (key &body body)
Package

asdf/session.

Source

session.lisp.

Macro: if-let (bindings &body then-form)
Package

uiop/utility.

Source

utility.lisp.

Macro: latest-timestamp-f (place &rest timestamps)
Package

uiop/utility.

Source

utility.lisp.

Macro: nest (&rest things)

Macro to keep code nesting and indentation under control.

Package

uiop/utility.

Source

utility.lisp.

Macro: os-cond (&rest clauses)
Package

uiop/os.

Source

os.lisp.

Macro: uiop-debug (&rest keys)

Load the UIOP debug utility at compile-time as well as runtime

Package

uiop/utility.

Source

utility.lisp.

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

upgrade.lisp.

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

utility.lisp.

Macro: while-visiting-action ((o c) &body body)
Package

asdf/action.

Source

action.lisp.

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

asdf/upgrade.

Source

upgrade.lisp.

Macro: with-asdf-session ((&key key override override-cache override-forcing) &body body)
Package

asdf/session.

Source

session.lisp.

Macro: with-current-directory ((&optional dir) &body body)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

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

version.lisp.

Macro: with-enough-pathname ((pathname-var &key pathname defaults) &body body)

Shorthand syntax for CALL-WITH-ENOUGH-PATHNAME

Package

uiop/pathname.

Source

pathname.lisp.

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

Execute BODY in a context where fatal conditions are appropriately handled

Package

uiop/image.

Source

image.lisp.

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

stream.lisp.

Macro: with-input-file ((var pathname &rest keys &key element-type external-format if-does-not-exist) &body body)
Package

uiop/stream.

Source

stream.lisp.

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

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

Shorthand syntax for CALL-WITH-MUFFLED-CONDITIONS

Package

uiop/utility.

Source

utility.lisp.

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

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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 that always returns end of file. The keyword arguments are allowed for backward compatibility, but are ignored.

Package

uiop/stream.

Source

stream.lisp.

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 that discards all output. The keyword arguments are allowed for backward compatibility, but are ignored.

Package

uiop/stream.

Source

stream.lisp.

Macro: with-output ((output-var &optional value &key element-type) &body body)

Bind OUTPUT-VAR to an output stream obtained from VALUE (default: previous binding of OUTPUT-VAR) treated as a stream designator per CALL-WITH-OUTPUT. Evaluate BODY in the scope of this binding.

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

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

pathname.lisp.

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

Establish safe CL reader options around the evaluation of BODY

Package

uiop/stream.

Source

stream.lisp.

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

lisp-build.lisp.

Macro: with-staging-pathname ((pathname-var &optional pathname-value) &body body)

Trivial syntax wrapper for CALL-WITH-STAGING-PATHNAME

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

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

utility.lisp.


5.1.4 Compiler macros

Compiler Macro: coerce-pathname (&rest args)
Package

uiop/backward-driver.

Source

backward-driver.lisp.

Compiler Macro: component-load-dependencies (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: component-property (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: (setf component-property) (args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: enable-asdf-binary-locations-compatibility (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: explain (&rest args)
Package

asdf/parse-defsystem.

Source

backward-interface.lisp.

Compiler Macro: in-first-directory (&rest args)
Package

uiop/configuration.

Source

backward-driver.lisp.

Compiler Macro: in-system-configuration-directory (&rest args)
Package

uiop/configuration.

Source

backward-driver.lisp.

Compiler Macro: in-user-configuration-directory (&rest args)
Package

uiop/configuration.

Source

backward-driver.lisp.

Compiler Macro: load-sysdef (&rest args)
Package

asdf/backward-internals.

Source

backward-internals.lisp.

Compiler Macro: require-system (&rest args)
Package

asdf/operate.

Source

backward-interface.lisp.

Compiler Macro: run-shell-command (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: system-configuration-directories (&rest args)
Package

uiop/configuration.

Source

backward-driver.lisp.

Compiler Macro: system-definition-pathname (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: system-registered-p (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: traverse (&rest args)
Package

asdf/backward-interface.

Source

backward-interface.lisp.

Compiler Macro: user-configuration-directories (&rest args)
Package

uiop/configuration.

Source

backward-driver.lisp.

Compiler Macro: version-compatible-p (&rest args)
Package

uiop/backward-driver.

Source

backward-driver.lisp.


5.1.5 Setf expanders

Setf Expander: (setf getenv) (x)

Set an environment variable.

Package

uiop/os.

Source

os.lisp.

Reader

getenv (function).


5.1.6 Ordinary 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

pathname.lisp.

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

utility.lisp.

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

utility.lisp.

Function: action-already-done-p (plan operation component)
Package

asdf/plan.

Source

plan.lisp.

Function: action-component (action)
Package

asdf/action.

Source

action.lisp.

Function: action-operation (action)
Package

asdf/action.

Source

action.lisp.

Function: action-path (action)

A readable data structure that identifies the action.

Package

asdf/action.

Source

action.lisp.

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

plan.lisp.

Function: action-valid-p (operation component)

Is this action valid to include amongst dependencies?

Package

asdf/action.

Source

action.lisp.

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

stream.lisp.

Function: already-loaded-systems ()

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

Package

asdf/operate.

Source

operate.lisp.

Function: always-default-encoding (pathname)

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

Package

uiop/stream.

Source

stream.lisp.

Function: apply-output-translations (path)
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: architecture ()

The CPU architecture of the current host

Package

uiop/os.

Source

os.lisp.

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

image.lisp.

Function: asdf-cache ()
Package

asdf/session.

Source

session.lisp.

Function: asdf-message (format-string &rest format-args)
Package

asdf/upgrade.

Source

upgrade.lisp.

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

upgrade.lisp.

Function: base-string-p (string)

Does the STRING only contain BASE-CHARs?

Package

uiop/utility.

Source

utility.lisp.

Function: boolean-to-feature-expression (value)

Converts a boolean VALUE to a form suitable for testing with #+.

Package

uiop/utility.

Source

utility.lisp.

Function: bundle-pathname-type (bundle-type)
Package

asdf/bundle.

Source

bundle.lisp.

Function: call-around-hook (hook function)

Call a HOOK around the execution of FUNCTION

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

utility.lisp.

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

utility.lisp.

Function: call-image-dump-hook ()

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

Package

uiop/image.

Source

image.lisp.

Function: call-image-restore-hook ()

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

Package

uiop/image.

Source

image.lisp.

Function: call-while-visiting-action (operation component fun)

Detect circular dependencies

Package

asdf/action.

Source

action.lisp.

Function: call-with-asdf-session (thunk &key override key override-cache override-forcing)
Package

asdf/session.

Source

session.lisp.

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

filesystem.lisp.

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

pathname.lisp.

Function: call-with-fatal-condition-handler (thunk)

Call THUNK in a context where fatal conditions are appropriately handled

Package

uiop/image.

Source

image.lisp.

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

stream.lisp.

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

lisp-build.lisp.

Function: call-with-muffled-conditions (thunk conditions)

calls the THUNK in a context where the CONDITIONS are muffled

Package

uiop/utility.

Source

utility.lisp.

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

lisp-build.lisp.

Function: call-with-null-input (fun &key element-type external-format if-does-not-exist)

Call FUN with an input stream that always returns end of file.
The keyword arguments are allowed for backward compatibility, but are ignored.

Package

uiop/stream.

Source

stream.lisp.

Function: call-with-null-output (fun &key element-type external-format if-exists if-does-not-exist)

Call FUN with an output stream that discards all output.
The keyword arguments are allowed for backward compatibility, but are ignored.

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

Function: call-with-safe-io-syntax (thunk &key package)
Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

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

stream.lisp.

Function: character-type-index (x)
Package

uiop/utility.

Source

utility.lisp.

Function: chdir (x)

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

Package

uiop/os.

Source

os.lisp.

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

parse-defsystem.lisp.

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

lisp-build.lisp.

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

lisp-build.lisp.

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

lisp-build.lisp.

Function: cleanup-upgraded-asdf (&optional old-version)
Package

asdf/upgrade.

Source

upgrade.lisp.

Function: clear-configuration ()

Call the functions in *CLEAR-CONFIGURATION-HOOK*

Package

uiop/configuration.

Source

configuration.lisp.

Function: clear-output-translations ()

Undoes any initialization of the output translations.

Package

asdf/output-translations.

Source

output-translations.lisp.

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

system-registry.lisp.

Function: clear-source-registry ()

Undoes any initialization of the source registry.

Package

asdf/source-registry.

Source

source-registry.lisp.

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

system-registry.lisp.

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

launch-program.lisp.

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

utility.lisp.

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

system.lisp.

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

system.lisp.

Function: coerce-pathname (name &key type defaults)

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

Package

uiop/backward-driver.

Source

backward-driver.lisp.

Function: collect-asds-in-directory (directory collect)
Package

asdf/source-registry.

Source

source-registry.lisp.

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

filesystem.lisp.

Function: collect-sub*directories-asd-files (directory &key exclude collect recurse-beyond-asds ignore-cache)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: combine-fasls (inputs output)

Combine a list of FASLs INPUTS into a single FASL OUTPUT

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

image.lisp.

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

lisp-build.lisp.

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

lisp-build.lisp.

Function: compile-file-type (&rest keys)

pathname TYPE for lisp FASt Loading files

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

operate.lisp.

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

component.lisp.

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

backward-interface.lisp.

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

operate.lisp.

Function: compute-children-by-name (parent &key only-if-needed-p)
Package

asdf/component.

Source

component.lisp.

Function: compute-file-stamp (normalized-namestring)
Package

asdf/session.

Source

session.lisp.

Function: compute-output-translations (&optional parameter)

read the configuration, return it

Package

asdf/output-translations.

Source

output-translations.lisp.

Function: compute-source-registry (&optional parameter registry)
Package

asdf/source-registry.

Source

source-registry.lisp.

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

stream.lisp.

Function: configuration-inheritance-directive-p (x)

Is X a configuration inheritance directive?

Package

uiop/configuration.

Source

configuration.lisp.

Function: consult-asdf-cache (key &optional thunk)
Package

asdf/session.

Source

session.lisp.

Function: copy-file (input output)

Copy contents of the INPUT file to the OUTPUT file

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

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

image.lisp.

Function: current-lisp-file-pathname ()

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

stream.lisp.

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

asdf/source-registry.

Source

source-registry.lisp.

Function: default-temporary-directory ()

Return a default directory to use for temporary files

Package

uiop/stream.

Source

stream.lisp.

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

asdf/source-registry.

Source

source-registry.lisp.

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

filesystem.lisp.

Function: delete-empty-directory (directory-pathname)

Delete an empty directory

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: delete-file-if-exists (x)

Delete a file X if it already exists

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: delete-package* (package &key nuke)
Package

uiop/package.

Source

package.lisp.

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

pathname.lisp.

Function: detect-encoding (pathname)

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

Package

uiop/stream.

Source

stream.lisp.

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

os.lisp.

Function: determine-system-directory (pathname)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Function: die (code format &rest arguments)

Die in error with some error message

Package

uiop/image.

Source

image.lisp.

Function: direct-dependencies (operation component)

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

Package

asdf/plan.

Source

plan.lisp.

Function: direct-dependency-files (o c &key test key &allow-other-keys)
Package

asdf/bundle.

Source

bundle.lisp.

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

pathname.lisp.

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

filesystem.lisp.

Function: directory-asd-files (directory)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: directory-exists-p (x)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

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

filesystem.lisp.

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

pathname.lisp.

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

pathname.lisp.

Function: disable-deferred-warnings-check ()

Disable the saving of deferred warnings

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

output-translations.lisp.

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-IMAGE-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

image.lisp.

Function: earlier-timestamp (x y)
Package

uiop/utility.

Source

utility.lisp.

Function: earliest-timestamp (&rest list)
Package

uiop/utility.

Source

utility.lisp.

Function: easy-sh-character-p (x)

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

Package

uiop/launch-program.

Source

launch-program.lisp.

Function: emptyp (x)

Predicate that is true for an empty sequence

Package

uiop/utility.

Source

utility.lisp.

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

backward-interface.lisp.

Function: enable-deferred-warnings-check ()

Enable the saving of deferred warnings

Package

uiop/lisp-build.

Source

lisp-build.lisp.

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

stream.lisp.

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

pathname.lisp.

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

pathname.lisp.

Function: ensure-all-directories-exist (pathnames)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: ensure-directory-pathname (pathspec &optional on-error)

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

Package

uiop/pathname.

Source

pathname.lisp.

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

utility.lisp.

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

utility.lisp.

Function: ensure-list (x)
Package

uiop/utility.

Source

utility.lisp.

Function: ensure-output-translations ()
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: ensure-package (name &key nicknames documentation use shadow shadowing-import-from import-from export intern recycle mix reexport unintern local-nicknames)
Package

uiop/package.

Source

package.lisp.

Function: ensure-package-unused (package)
Package

uiop/package.

Source

package.lisp.

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)

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

filesystem.lisp.

Function: ensure-source-registry (&optional parameter)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: environment-output-translations ()
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: environment-source-registry ()
Package

asdf/source-registry.

Source

source-registry.lisp.

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

launch-program.lisp.

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

launch-program.lisp.

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

launch-program.lisp.

Function: escape-shell-command (command &optional stream)

Escape a command for the current operating system’s shell

Package

uiop/launch-program.

Source

launch-program.lisp.

Function: escape-shell-token (token &optional s)

Escape a token for the current operating system shell

Package

uiop/launch-program.

Source

launch-program.lisp.

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

launch-program.lisp.

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

launch-program.lisp.

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

launch-program.lisp.

Function: eval-input (input)

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

Package

uiop/stream.

Source

stream.lisp.

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

stream.lisp.

Function: export* (name package-designator)
Package

uiop/package.

Source

package.lisp.

Function: fatal-condition-p (condition)

Is the CONDITION fatal?

Package

uiop/image.

Source

image.lisp.

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

os.lisp.

Function: file-exists-p (x)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: file-or-synonym-stream-p (stream)
Package

uiop/stream.

Source

stream.lisp.

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

pathname.lisp.

Function: file-stream-p (stream)
Package

uiop/stream.

Source

stream.lisp.

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

filesystem.lisp.

Function: filter-pathname-set (dirs)

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

Package

uiop/configuration.

Source

configuration.lisp.

Function: find-action (path)

Reconstitute an action from its action-path

Package

asdf/action.

Source

action.lisp.

Function: find-package* (package-designator &optional errorp)

Like CL:FIND-PACKAGE, but by default raises a UIOP:NO-SUCH-PACKAGE-ERROR if the package is not found.

Package

uiop/package.

Source

package.lisp.

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

configuration.lisp.

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

utility.lisp.

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

package.lisp.

Function: find-system-if-being-defined (name)
Package

asdf/system-registry.

Source

find-system.lisp.

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

stream.lisp.

Function: first-char (s)

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

Package

uiop/utility.

Source

utility.lisp.

Function: flatten-source-registry (&optional parameter)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: format! (stream format &rest args)

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

Package

uiop/stream.

Source

stream.lisp.

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

action.lisp.

Function: fresh-package-name (&key prefix separator index)
Package

uiop/package.

Source

package.lisp.

Function: get-file-stamp (file)
Package

asdf/session.

Source

session.lisp.

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

configuration.lisp.

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

filesystem.lisp.

Function: getcwd ()

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

Package

uiop/os.

Source

os.lisp.

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

os.lisp.

Setf expander for this function

(setf getenv).

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

filesystem.lisp.

Function: getenv-absolute-directory (x)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

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

filesystem.lisp.

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

filesystem.lisp.

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

os.lisp.

Function: handle-fatal-condition (condition)

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

Package

uiop/image.

Source

image.lisp.

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

pathname.lisp.

Function: home-package-p (symbol package)
Package

uiop/package.

Source

package.lisp.

Function: hostname ()

return the hostname of the current host

Package

uiop/os.

Source

os.lisp.

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

os.lisp.

Function: implementation-type ()

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

Package

uiop/os.

Source

os.lisp.

Function: import* (symbol package-designator)
Package

uiop/package.

Source

package.lisp.

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

backward-driver.lisp.

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

backward-driver.lisp.

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

backward-driver.lisp.

Function: inherit-source-registry (inherit &key register)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: initialize-output-translations (&optional parameter)

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

Package

asdf/output-translations.

Source

output-translations.lisp.

Function: initialize-source-registry (&optional parameter)
Package

asdf/source-registry.

Source

source-registry.lisp.

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

stream.lisp.

Function: inter-directory-separator ()

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

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: intern* (name package-designator &optional error)
Package

uiop/package.

Source

package.lisp.

Function: known-system-with-bad-secondary-system-names-p (asd-name)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Function: last-char (s)

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

Package

uiop/utility.

Source

utility.lisp.

Function: later-timestamp (x y)
Package

uiop/utility.

Source

utility.lisp.

Function: latest-timestamp (&rest list)
Package

uiop/utility.

Source

utility.lisp.

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.

LAUNCH-PROGRAM currently does not smooth over all the differences between implementations. Of particular note is when streams are provided for OUTPUT or ERROR-OUTPUT. Some implementations don’t support this at all, some support only certain subclasses of streams, and some support any arbitrary
stream. Additionally, the implementations that support streams may have differing behavior on how those streams are filled with data. If data is not periodically read from the child process and sent to the stream, the child could block because its output buffers are full.

Package

uiop/launch-program.

Source

launch-program.lisp.

Function: length=n-p (x n)
Package

uiop/utility.

Source

utility.lisp.

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

utility.lisp.

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

utility.lisp.

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

lisp-action.lisp.

Function: lisp-implementation-directory (&key truename)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: lisp-implementation-pathname-p (pathname)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: lisp-version-string ()

return a string that identifies the current Lisp implementation version

Package

uiop/os.

Source

os.lisp.

Function: lispize-pathname (input-file)

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

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: list-to-hash-set (list)

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

utility.lisp.

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

lisp-build.lisp.

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

find-system.lisp.

Function: load-from-string (string)

Portably read and evaluate forms from a STRING.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: load-pathname ()

Portably return the LOAD-PATHNAME of the current source file or fasl. May return a relative pathname.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: load-sysdef (name pathname)
Package

asdf/backward-internals.

Source

backward-internals.lisp.

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

operate.lisp.

Function: load-systems (&rest systems)

Loading multiple systems at once.

Package

asdf/operate.

Source

operate.lisp.

Function: load-systems* (systems &rest keys)

Loading multiple systems at once.

Package

asdf/operate.

Source

operate.lisp.

Function: load-uiop-debug-utility (&key package utility-file)

Load the UIOP debug utility in given PACKAGE (default *PACKAGE*).
Beware: The utility is located by EVAL’uating the UTILITY-FILE form (default *UIOP-DEBUG-UTILITY*).

Package

uiop/utility.

Source

utility.lisp.

Function: locate-system (name)

Given a system NAME designator, try to locate where to load the system from.
Returns six values: FOUNDP FOUND-SYSTEM PATHNAME PREVIOUS PREVIOUS-TIME PREVIOUS-PRIMARY 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. PREVIOUS-PRIMARY when not null is the primary system for the PREVIOUS system.

Package

asdf/find-system.

Source

find-system.lisp.

Function: location-designator-p (x)

Is X a designator for a location?

Package

uiop/configuration.

Source

configuration.lisp.

Function: location-function-p (x)

Is X the specification of a location function?

Package

uiop/configuration.

Source

configuration.lisp.

Function: logical-pathname-p (x)

is X a logical-pathname?

Package

uiop/pathname.

Source

pathname.lisp.

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

operate.lisp.

Function: make-action (operation component)
Package

asdf/action.

Source

action.lisp.

Function: make-forcing (&key performable-p system force force-not &allow-other-keys)
Package

asdf/forcing.

Source

forcing.lisp.

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

operation.lisp.

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

pathname.lisp.

Function: make-pathname-component-logical (x)

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

Package

uiop/pathname.

Source

pathname.lisp.

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

pathname.lisp.

Function: make-symbol* (name)
Package

uiop/package.

Source

package.lisp.

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

plan.lisp.

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

system-registry.lisp.

Function: mark-component-preloaded (component)

Mark a component as preloaded.

Package

asdf/system-registry.

Source

find-system.lisp.

Function: match-any-condition-p (condition conditions)

match CONDITION against any of the patterns of CONDITIONS supplied

Package

uiop/utility.

Source

utility.lisp.

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

utility.lisp.

Function: merge-pathname-directory-components (specified defaults)

Helper for MERGE-PATHNAMES* that handles directory components

Package

uiop/pathname.

Source

pathname.lisp.

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

pathname.lisp.

Function: module-provide-asdf (name)
Package

asdf/operate.

Source

operate.lisp.

Function: native-namestring (x)

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

Package

uiop/filesystem.

Source

filesystem.lisp.

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

version.lisp.

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

pathname.lisp.

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

forcing.lisp.

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

forcing.lisp.

Function: normalize-namestring (pathname)
Package

asdf/session.

Source

session.lisp.

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

pathname.lisp.

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

utility.lisp.

Function: nuke-symbol (symbol &optional packages)
Package

uiop/package.

Source

package.lisp.

Function: nuke-symbol-in-package (symbol package-designator)
Package

uiop/package.

Source

package.lisp.

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

stream.lisp.

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

operate.lisp.

Function: operate-level ()
Package

asdf/session.

Source

session.lisp.

Function: (setf operate-level) ()
Package

asdf/session.

Source

session.lisp.

Function: operating-system ()

The operating system of the current host

Package

uiop/os.

Source

os.lisp.

Function: operation-monolithic-p (op)
Package

asdf/bundle.

Source

bundle.lisp.

Function: os-genera-p ()

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

Package

uiop/os.

Source

os.lisp.

Function: os-macosx-p ()

Is the underlying operating system MacOS X?

Package

uiop/os.

Source

os.lisp.

Function: os-unix-p ()

Is the underlying operating system some Unix variant?

Package

uiop/os.

Source

os.lisp.

Function: os-windows-p ()

Is the underlying operating system Microsoft Windows?

Package

uiop/os.

Source

os.lisp.

Function: output-file (operation component)

The unique output file of performing OPERATION on COMPONENT

Package

asdf/action.

Source

action.lisp.

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

stream.lisp.

Function: output-translations ()

Return the configured output-translations, if any

Package

asdf/output-translations.

Source

output-translations.lisp.

Function: (setf output-translations) ()
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: output-translations-initialized-p ()

Have the output-translations been initialized yet?

Package

asdf/output-translations.

Source

output-translations.lisp.

Function: package-definition-form (package-designator &key nicknamesp usep shadowp shadowing-import-p exportp importp internp error)
Package

uiop/package.

Source

package.lisp.

Function: package-names (package)
Package

uiop/package.

Source

package.lisp.

Function: packages-from-names (names)
Package

uiop/package.

Source

package.lisp.

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

utility.lisp.

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

utility.lisp.

Function: parse-component-form (parent options &key previous-serial-components)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Function: parse-define-package-form (package clauses)
Package

uiop/package.

Source

package.lisp.

Function: parse-file-location-info (s)

helper to parse-windows-shortcut

Package

uiop/os.

Source

os.lisp.

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

filesystem.lisp.

Function: parse-output-translations-string (string &key location)
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: parse-source-registry-string (string &key location)
Package

asdf/source-registry.

Source

source-registry.lisp.

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 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

pathname.lisp.

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

version.lisp.

Function: parse-windows-shortcut (pathname)

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

Package

uiop/os.

Source

os.lisp.

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

pathname.lisp.

Function: pathname-equal (p1 p2)

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

Package

uiop/pathname.

Source

pathname.lisp.

Function: pathname-host-pathname (pathname)

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

Package

uiop/pathname.

Source

pathname.lisp.

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

pathname.lisp.

Function: pathname-root (pathname)

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

Package

uiop/pathname.

Source

pathname.lisp.

Function: perform-lisp-compilation (o c)

Perform the compilation of the Lisp file associated to the specified action (O . C).

Package

asdf/lisp-action.

Source

lisp-action.lisp.

Function: perform-lisp-load-fasl (o c)

Perform the loading of a FASL associated to specified action (O . C), an OPERATION and a COMPONENT.

Package

asdf/lisp-action.

Source

lisp-action.lisp.

Function: perform-lisp-load-source (o c)

Perform the loading of a Lisp file as associated to specified action (O . C)

Package

asdf/lisp-action.

Source

lisp-action.lisp.

Function: physical-pathname-p (x)

is X a pathname that is not a logical-pathname?

Package

uiop/pathname.

Source

pathname.lisp.

Function: physicalize-pathname (x)

if X is a logical pathname, use translate-logical-pathname on it.

Package

uiop/pathname.

Source

pathname.lisp.

Function: primary-system-name (system-designator)

Given a system designator NAME, return the name of the corresponding primary system, after which the .asd file in which it is defined is named. If given a string or symbol (to downcase), do it syntactically
by stripping anything from the first slash on.
If given a component, do it semantically by extracting
the system-primary-system-name of its system from its source-file if any, falling back to the syntactic criterion if none.

Package

asdf/system.

Source

system.lisp.

Function: primary-system-p (system)

Given a system designator SYSTEM, return T if it designates a primary system, or else NIL.
If given a string, do it syntactically and return true if the name does not contain a slash. If given a symbol, downcase to a string then fallback to previous case (NB: for NIL return T). If given a component, do it semantically and return T if it’s a SYSTEM and its primary-system-name is the same as its component-name.

Package

asdf/system.

Source

system.lisp.

Function: print-backtrace (&rest keys &key stream count condition)

Print a backtrace

Package

uiop/image.

Source

image.lisp.

Function: print-condition-backtrace (condition &key stream count)

Print a condition after a backtrace triggered by that condition

Package

uiop/image.

Source

image.lisp.

Function: println (x &optional stream)

Variant of PRINC that also calls TERPRI afterwards

Package

uiop/stream.

Source

stream.lisp.

Function: probe-asd (name defaults &key truename)
Package

asdf/system-registry.

Source

system-registry.lisp.

Function: probe-file* (p &key truename)

when given a pathname P (designated by a string as per PARSE-NAMESTRING), probes the filesystem for a file or directory with given pathname.
If it exists, return its truename if TRUENAME is true,
or the original (parsed) pathname if it is false (the default).

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: process-alive-p (process-info)

Check if a process has yet to exit.

Package

uiop/launch-program.

Source

launch-program.lisp.

Function: process-info-error-output (process-info)
Package

uiop/launch-program.

Source

launch-program.lisp.

Function: process-info-input (process-info)
Package

uiop/launch-program.

Source

launch-program.lisp.

Function: process-info-output (process-info)
Package

uiop/launch-program.

Source

launch-program.lisp.

Function: process-info-pid (process-info)
Package

uiop/launch-program.

Source

launch-program.lisp.

Function: quit (&optional code finish-output)

Quits from the Lisp world, with the given exit status if provided. This is designed to abstract away the implementation specific quit forms.

Package

uiop/image.

Source

image.lisp.

Function: raw-command-line-arguments ()

Find what the actual command line for this process was.

Package

uiop/image.

Source

image.lisp.

Function: raw-print-backtrace (&key stream count condition)

Print a backtrace, directly accessing the implementation

Package

uiop/image.

Source

image.lisp.

Function: read-file-form (file &rest keys &key at &allow-other-keys)

Open input FILE with option KEYS (except AT),
and read its contents as per SLURP-STREAM-FORM with given AT specifier. BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: read-file-forms (file &rest keys &key count &allow-other-keys)

Open input FILE with option KEYS (except COUNT),
and read its contents as per SLURP-STREAM-FORMS with given COUNT. If COUNT is null, read to the end of the stream;
if COUNT is an integer, stop after COUNT forms were read. BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: read-file-line (file &rest keys &key at &allow-other-keys)

Open input FILE with option KEYS (except AT),
and read its contents as per SLURP-STREAM-LINE with given AT specifier. BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: read-file-lines (file &rest keys)

Open FILE with option KEYS, read its contents as a list of lines BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: read-file-string (file &rest keys)

Open FILE with option KEYS, read its contents as a string

Package

uiop/stream.

Source

stream.lisp.

Function: read-little-endian (s &optional bytes)

Read a number in little-endian format from an byte (octet) stream S, the number having BYTES octets (defaulting to 4).

Package

uiop/os.

Source

os.lisp.

Function: read-null-terminated-string (s)

Read a null-terminated string from an octet stream S

Package

uiop/os.

Source

os.lisp.

Function: reduce-direct-dependencies (operation component combinator seed)

Reduce the direct dependencies to a value computed by iteratively calling COMBINATOR for each dependency action on the dependency’s operation and component and an accumulator initialized with SEED.

Package

asdf/plan.

Source

plan.lisp.

Function: reduce/strcat (strings &key key start end)

Reduce a list as if by STRCAT, accepting KEY START and END keywords like REDUCE.
NIL is interpreted as an empty string. A character is interpreted as a string of length one.

Package

uiop/utility.

Source

utility.lisp.

Function: register-asd-directory (directory &key recurse exclude collect)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: register-clear-configuration-hook (hook-function &optional call-now-p)

Register a function to be called when clearing configuration

Package

uiop/configuration.

Source

configuration.lisp.

Function: register-file-stamp (file &optional stamp)
Package

asdf/session.

Source

session.lisp.

Function: register-hook-function (variable hook &optional call-now-p)

Push the HOOK function (a designator as per ENSURE-FUNCTION) onto the hook VARIABLE. When CALL-NOW-P is true, also call the function immediately.

Package

uiop/utility.

Source

utility.lisp.

Function: register-image-dump-hook (hook &optional call-now-p)

Register a the hook function to be run before to dump an image

Package

uiop/image.

Source

image.lisp.

Function: register-image-restore-hook (hook &optional call-now-p)

Regiter a hook function to be run when restoring a dumped image

Package

uiop/image.

Source

image.lisp.

Function: register-immutable-system (system-name &rest keys)

Register SYSTEM-NAME as preloaded and immutable.
It will automatically be considered as passed to FORCE-NOT in a plan.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: register-preloaded-system (system-name &rest keys &key version &allow-other-keys)

Register a system as being preloaded. If the system has not been loaded from the filesystem yet, or if its build information is later cleared with CLEAR-SYSTEM, a dummy system will be registered without backing filesystem information, based on KEYS (e.g. to provide a VERSION). If VERSION is the default T, and a system was already loaded, then its version will be preserved.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: register-system (system)

Given a SYSTEM object, register it.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: register-system-definition (name &rest options &key pathname class source-file defsystem-depends-on &allow-other-keys)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Function: register-system-packages (system packages)

Register SYSTEM as providing PACKAGES.

Package

asdf/package-inferred-system.

Source

package-inferred-system.lisp.

Function: registered-system (name)

Return a system of given NAME that was registered already,
if such a system exists. NAME is a system designator, to be normalized by COERCE-NAME. The value returned is a system object, or NIL if not found.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: registered-systems ()

Return a list of the names of every registered system.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: registered-systems* ()

Return a list containing every registered system (as a system object).

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: rehome-symbol (symbol package-designator)

Changes the home package of a symbol, also leaving it present in its old home if any

Package

uiop/package.

Source

package.lisp.

Function: reify-deferred-warnings ()

return a portable S-expression, portably readable and writeable in any Common Lisp implementation using READ within a WITH-SAFE-IO-SYNTAX, that represents the warnings currently deferred by WITH-COMPILATION-UNIT. One of three functions required for deferred-warnings support in ASDF.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: reify-package (package &optional package-context)
Package

uiop/package.

Source

package.lisp.

Function: reify-simple-sexp (sexp)

Given a simple SEXP, return a representation of it as a portable SEXP.
Simple means made of symbols, numbers, characters, simple-strings, pathnames, cons cells.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: reify-symbol (symbol &optional package-context)
Package

uiop/package.

Source

package.lisp.

Function: relative-pathname-p (pathspec)

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

Package

uiop/pathname.

Source

pathname.lisp.

Function: relativize-directory-component (directory-component)

Given the DIRECTORY-COMPONENT of a pathname, return an otherwise similar relative directory component

Package

uiop/pathname.

Source

pathname.lisp.

Function: relativize-pathname-directory (pathspec)

Given a PATHNAME, return a relative pathname with otherwise the same components

Package

uiop/pathname.

Source

pathname.lisp.

Function: remove-plist-key (key plist)

Remove a single key from a plist

Package

uiop/utility.

Source

utility.lisp.

Function: remove-plist-keys (keys plist)

Remove a list of keys from a plist

Package

uiop/utility.

Source

utility.lisp.

Function: rename-file-overwriting-target (source target)

Rename a file, overwriting any previous file with the TARGET name, in an atomic way if the implementation allows.

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: rename-package-away (p &rest keys &key prefix &allow-other-keys)
Package

uiop/package.

Source

package.lisp.

Function: report-invalid-form (reporter &rest args)

Report an invalid form according to REPORTER and various ARGS

Package

uiop/configuration.

Source

configuration.lisp.

Function: require-system (system &rest keys &key &allow-other-keys)

Ensure the specified SYSTEM is loaded, passing the KEYS to OPERATE, but do not update the system or its dependencies if it has already been loaded.

Package

asdf/operate.

Source

backward-interface.lisp.

Function: required-components (system &rest keys &key goal-operation &allow-other-keys)

Given a SYSTEM and a GOAL-OPERATION (default LOAD-OP), traverse the dependencies and return a list of the components involved in building the desired action.

Package

asdf/plan.

Source

plan.lisp.

Function: reset-deferred-warnings ()

Reset the set of deferred warnings to be handled at the end of the current WITH-COMPILATION-UNIT. One of three functions required for deferred-warnings support in ASDF.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: reset-system-class (system new-class &rest keys &key &allow-other-keys)

Erase any data from a SYSTEM except its basic identity, then reinitialize it based on supplied KEYS.

Package

asdf/system.

Source

system.lisp.

Function: resolve-absolute-location (x &key ensure-directory wilden)

Given a designator X for an absolute location, resolve it to a pathname

Package

uiop/configuration.

Source

configuration.lisp.

Function: resolve-dependency-name (component name &optional version)
Package

asdf/find-component.

Source

find-component.lisp.

Function: resolve-dependency-spec (component dep-spec)
Package

asdf/find-component.

Source

find-component.lisp.

Function: resolve-location (x &key ensure-directory wilden directory)

Resolve location designator X into a PATHNAME

Package

uiop/configuration.

Source

configuration.lisp.

Function: resolve-relative-location (x &key ensure-directory wilden)

Given a designator X for an relative location, resolve it to a pathname.

Package

uiop/configuration.

Source

configuration.lisp.

Do a best effort at resolving symlinks in PATH, returning a partially or totally resolved PATH.

Package

uiop/filesystem.

Source

filesystem.lisp.

RESOLVE-SYMLINKS in PATH iff *RESOLVE-SYMLINKS* is T (the default).

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: restore-image (&key lisp-interaction restore-hook prelude entry-point if-already-restored)

From a freshly restarted Lisp image, restore the saved Lisp environment
by setting appropriate variables, running various hooks, and calling any specified entry point.

If the image has already been restored or is already being restored, as per *IMAGE-RESTORED-P*, call the IF-ALREADY-RESTORED error handler (by default, a continuable error), and do return immediately to the surrounding restore process if allowed to continue.

Then, comes the restore process itself:
First, call each function in the RESTORE-HOOK,
in the order they were registered with REGISTER-IMAGE-RESTORE-HOOK.
Second, evaluate the prelude, which is often Lisp text that is read,
as per EVAL-INPUT.
Third, call the ENTRY-POINT function, if any is specified, with no argument.

The restore process happens in a WITH-FATAL-CONDITION-HANDLER, so that if LISP-INTERACTION is NIL, any unhandled error leads to a backtrace and an exit with an error status.
If LISP-INTERACTION is NIL, the process also exits when no error occurs:
if neither restart nor entry function is provided, the program will exit with status 0 (success); if a function was provided, the program will exit after the function returns (if it returns), with status 0 if and only if the primary return value of result is generalized boolean true, and with status 1 if this value is NIL.

If LISP-INTERACTION is true, unhandled errors will take you to the debugger, and the result
of the function will be returned rather than interpreted as a boolean designating an exit code.

Package

uiop/image.

Source

image.lisp.

Function: run-program (command &rest keys &key ignore-error-status force-shell input if-input-does-not-exist output if-output-exists error-output if-error-output-exists element-type external-format &allow-other-keys)

Run 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); _synchronously_ process its output as specified and return the processing results
when the program and its output processing are complete.

Always call a shell (rather than directly execute the command when possible)
if FORCE-SHELL is specified. Similarly, never call a shell if FORCE-SHELL is
specified to be NIL.

Signal a continuable SUBPROCESS-ERROR if the process wasn’t successful (exit-code 0), unless IGNORE-ERROR-STATUS is specified.

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.
Otherwise, OUTPUT should be a value that is a suitable first argument to SLURP-INPUT-STREAM (qv.), or a list of such a value and keyword arguments.
In this case, RUN-PROGRAM will create a temporary stream for the program output;
the program output, in that stream, will be processed by a call to SLURP-INPUT-STREAM, using OUTPUT as the first argument (or the first element of OUTPUT, and the rest as keywords). The primary value resulting from that call (or NIL if no call was needed)
will be the first value returned by RUN-PROGRAM.
E.g., using :OUTPUT :STRING will have it return the entire output stream as a string.
And using :OUTPUT ’(:STRING :STRIPPED T) will have it return the same string
stripped of any ending newline.

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, except that the resulting value is returned
as the second value of RUN-PROGRAM. T designates the *ERROR-OUTPUT*.
Also :OUTPUT means redirecting the error output to the output stream,
in which case NIL is returned.

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 VOMIT-OUTPUT-STREAM is used,
no value is returned, and T designates the *STANDARD-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.

One and only one of the stream slurping or vomiting may or may not happen
in parallel in parallel with the subprocess,
depending on options and implementation,
and with priority being given to output processing.
Other streams are completely produced or consumed
before or after the subprocess is spawned, using temporary files.

RUN-PROGRAM returns 3 values:
0- the result of the OUTPUT slurping if any, or NIL
1- the result of the ERROR-OUTPUT slurping if any, or NIL
2- either 0 if the subprocess exited with success status,
or an indication of failure via the EXIT-CODE of the process

Package

uiop/run-program.

Source

run-program.lisp.

Function: run-shell-command (control-string &rest args)

PLEASE DO NOT USE. This function is not just DEPRECATED, but also dysfunctional. Please use UIOP:RUN-PROGRAM instead.

Package

asdf/backward-interface.

Source

backward-interface.lisp.

Function: safe-file-write-date (pathname)

Safe variant of FILE-WRITE-DATE that may return NIL rather than raise an error.

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: safe-format! (stream format &rest args)

Variant of FORMAT that is safe against both
dangerous syntax configuration and errors while printing.

Package

uiop/stream.

Source

stream.lisp.

Function: safe-read-file-form (pathname &rest keys &key package &allow-other-keys)

Reads the specified form from the top of a file using a safe standardized syntax. Extracts the form using READ-FILE-FORM,
within an WITH-SAFE-IO-SYNTAX using the specified PACKAGE.

Package

uiop/stream.

Source

stream.lisp.

Function: safe-read-file-line (pathname &rest keys &key package &allow-other-keys)

Reads the specified line from the top of a file using a safe standardized syntax. Extracts the line using READ-FILE-LINE,
within an WITH-SAFE-IO-SYNTAX using the specified PACKAGE.

Package

uiop/stream.

Source

stream.lisp.

Function: safe-read-from-string (string &key package eof-error-p eof-value start end preserve-whitespace)

Read from STRING using a safe syntax, as per WITH-SAFE-IO-SYNTAX

Package

uiop/stream.

Source

stream.lisp.

Function: save-deferred-warnings (warnings-file)

Save forward reference conditions so they may be issued at a latter time, possibly in a different process.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: search-for-system-definition (system)
Package

asdf/system-registry.

Source

system-registry.lisp.

Function: set-asdf-cache-entry (key value-list)
Package

asdf/session.

Source

session.lisp.

Function: setup-command-line-arguments ()
Package

uiop/image.

Source

image.lisp.

Function: setup-stderr ()
Package

uiop/stream.

Source

stream.lisp.

Function: setup-stdin ()
Package

uiop/stream.

Source

stream.lisp.

Function: setup-stdout ()
Package

uiop/stream.

Source

stream.lisp.

Function: setup-temporary-directory ()

Configure a default temporary directory to use.

Package

uiop/stream.

Source

stream.lisp.

Function: shadow* (name package-designator)
Package

uiop/package.

Source

package.lisp.

Function: shadowing-import* (symbol package-designator)
Package

uiop/package.

Source

package.lisp.

Function: shell-boolean-exit (x)

Quit with a return code that is 0 iff argument X is true

Package

uiop/image.

Source

image.lisp.

Function: slurp-stream-form (input &key at)

Read the contents of the INPUT stream as a list of forms,
then return the ACCESS-AT of these forms following the AT.
AT defaults to 0, i.e. return the first form.
AT is typically a list of integers.
If AT is NIL, it will return all the forms in the file.

The stream will not be read beyond the Nth form,
where N is the index specified by path,
if path is either an integer or a list that starts with an integer.

BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: slurp-stream-forms (input &key count)

Read the contents of the INPUT stream as a list of forms,
and return those forms.

If COUNT is null, read to the end of the stream;
if COUNT is an integer, stop after COUNT forms were read.

BEWARE: be sure to use WITH-SAFE-IO-SYNTAX, or some variant thereof

Package

uiop/stream.

Source

stream.lisp.

Function: slurp-stream-line (input &key at)

Read the contents of the INPUT stream as a list of lines,
then return the ACCESS-AT of that list of lines using the AT specifier. PATH defaults to 0, i.e. return the first line.
PATH is typically an integer, or a list of an integer and a function. If PATH is NIL, it will return all the lines in the file.

The stream will not be read beyond the Nth lines,
where N is the index specified by path
if path is either an integer or a list that starts with an integer.

Package

uiop/stream.

Source

stream.lisp.

Function: slurp-stream-lines (input &key count)

Read the contents of the INPUT stream as a list of lines, return those lines.

Note: relies on the Lisp’s READ-LINE, but additionally removes any remaining CR from the line-ending if the file or stream had CR+LF but Lisp only removed LF.

Read no more than COUNT lines.

Package

uiop/stream.

Source

stream.lisp.

Function: slurp-stream-string (input &key element-type stripped)

Read the contents of the INPUT stream as a string

Package

uiop/stream.

Source

stream.lisp.

Function: source-registry-initialized-p ()
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: split-name-type (filename)

Split a filename into two values NAME and TYPE that are returned. We assume filename has no directory component.
The last . if any separates name and type from from type, except that if there is only one . and it is in first position, the whole filename is the NAME with an empty type.
NAME is always a string.
For an empty type, *UNSPECIFIC-PATHNAME-TYPE* is returned.

Package

uiop/pathname.

Source

pathname.lisp.

Function: split-native-pathnames-string (string &rest constraints &key &allow-other-keys)

Given a string of pathnames specified in native OS syntax, separate them in a list, check constraints and normalize each one as per ENSURE-PATHNAME,
where an empty string denotes NIL.

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: split-string (string &key max separator)

Split STRING into a list of components separated by
any of the characters in the sequence SEPARATOR.
If MAX is specified, then no more than max(1,MAX) components will be returned, starting the separation from the end, e.g. when called with arguments "a.b.c.d.e" :max 3 :separator "." it will return ("a.b.c" "d" "e").

Package

uiop/utility.

Source

utility.lisp.

Function: split-unix-namestring-directory-components (unix-namestring &key ensure-directory dot-dot)

Splits the path string UNIX-NAMESTRING, returning four values:
A flag that is either :absolute or :relative, indicating
how the rest of the values are to be interpreted.
A directory path — a list of strings and keywords, suitable for
use with MAKE-PATHNAME when prepended with the flag value.
Directory components with an empty name or the name . are removed.
Any directory named .. is read as DOT-DOT, or :BACK if it’s NIL (not :UP). A last-component, either a file-namestring including type extension,
or NIL in the case of a directory pathname.
A flag that is true iff the unix-style-pathname was just
a file-namestring without / path specification.
ENSURE-DIRECTORY forces the namestring to be interpreted as a directory pathname: the third return value will be NIL, and final component of the namestring will be treated as part of the directory path.

An empty string is thus read as meaning a pathname object with all fields nil.

Note that colon characters #: will NOT be interpreted as host specification. Absolute pathnames are only appropriate on Unix-style systems.

The intention of this function is to support structured component names, e.g., (:file "foo/bar"), which will be unpacked to relative pathnames.

Package

uiop/pathname.

Source

pathname.lisp.

Function: standard-case-symbol-name (name-designator)

Given a NAME-DESIGNATOR for a symbol, if it is a symbol, convert it to a string using STRING; if it is a string, use STRING-UPCASE on an ANSI CL platform, or STRING on a so-called "modern" platform such as Allegro with modern syntax.

Package

uiop/utility.

Source

utility.lisp.

Function: standard-common-lisp-symbol-p (symbol)
Package

uiop/package.

Source

package.lisp.

Function: standard-eval-thunk (thunk &key package)

Like EVAL-THUNK, but in a more standardized evaluation context.

Package

uiop/stream.

Source

stream.lisp.

Function: status-done-p (status)
Package

asdf/plan.

Source

plan.lisp.

Function: status-keep-p (status)
Package

asdf/plan.

Source

plan.lisp.

Function: status-need-p (status)
Package

asdf/plan.

Source

plan.lisp.

Function: strcat (&rest strings)

Concatenate strings.
NIL is interpreted as an empty string, a character as a string of length one.

Package

uiop/utility.

Source

utility.lisp.

Function: string-enclosed-p (prefix string suffix)

Does STRING begin with PREFIX and end with SUFFIX?

Package

uiop/utility.

Source

utility.lisp.

Function: string-prefix-p (prefix string)

Does STRING begin with PREFIX?

Package

uiop/utility.

Source

utility.lisp.

Function: string-suffix-p (string suffix)

Does STRING end with SUFFIX?

Package

uiop/utility.

Source

utility.lisp.

Function: strings-common-element-type (strings)

What least subtype of CHARACTER can contain all the elements of all the STRINGS?

Package

uiop/utility.

Source

utility.lisp.

Function: stripln (x)

Strip a string X from any ending CR, LF or CRLF.
Return two values, the stripped string and the ending that was stripped, or the original value and NIL if no stripping took place.
Since our STRCAT accepts NIL as empty string designator,
the two results passed to STRCAT always reconstitute the original string

Package

uiop/utility.

Source

utility.lisp.

Function: style-warn (datum &rest arguments)
Package

uiop/utility.

Source

utility.lisp.

Function: sub-components (component &key type)

Compute the transitive sub-components of given COMPONENT that are of given TYPE

Package

asdf/component.

Source

component.lisp.

Function: subdirectories (directory)

Given a DIRECTORY pathname designator, return a list of the subdirectories under it. The behavior in presence of symlinks is not portable. Use IOlib to handle such situations.

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: subpathname (pathname subpath &key type)

This function takes a PATHNAME and a SUBPATH and a TYPE.
If SUBPATH is already a PATHNAME object (not namestring),
and is an absolute pathname at that, it is returned unchanged; otherwise, SUBPATH is turned into a relative pathname with given TYPE as per PARSE-UNIX-NAMESTRING with :WANT-RELATIVE T :TYPE TYPE, then it is merged with the PATHNAME-DIRECTORY-PATHNAME of PATHNAME.

Package

uiop/pathname.

Source

pathname.lisp.

Function: subpathname* (pathname subpath &key type)

returns NIL if the base pathname is NIL, otherwise like SUBPATHNAME.

Package

uiop/pathname.

Source

pathname.lisp.

Function: subpathp (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

pathname.lisp.

Function: symbol-call (package name &rest args)

Call a function associated with symbol of given name in given package, with given ARGS. Useful when the call is read before the package is loaded, or when loading the package is optional.

Package

uiop/package.

Source

package.lisp.

Function: symbol-package-name (symbol)
Package

uiop/package.

Source

package.lisp.

Function: symbol-shadowing-p (symbol package)
Package

uiop/package.

Source

package.lisp.

Function: symbol-test-to-feature-expression (name package)

Check if a symbol with a given NAME exists in PACKAGE and returns a form suitable for testing with #+.

Package

uiop/utility.

Source

utility.lisp.

Function: sysdef-central-registry-search (system)
Package

asdf/system-registry.

Source

system-registry.lisp.

Function: sysdef-error (format &rest arguments)
Package

asdf/session.

Source

session.lisp.

Function: sysdef-error-component (msg type name value)
Package

asdf/parse-defsystem.

Source

parse-defsystem.lisp.

Function: sysdef-immutable-system-search (requested)
Package

asdf/system-registry.

Source

system-registry.lisp.

Function: sysdef-package-inferred-system-search (system-name)

Takes SYSTEM-NAME and returns an initialized SYSTEM object, or NIL. Made to be added to *SYSTEM-DEFINITION-SEARCH-FUNCTIONS*.

Package

asdf/package-inferred-system.

Source

package-inferred-system.lisp.

Function: sysdef-preloaded-system-search (requested)

If REQUESTED names a system registered as preloaded, return a new system with its registration information.

Package

asdf/system-registry.

Source

system-registry.lisp.

Function: sysdef-source-registry-search (system)
Package

asdf/system-registry.

Source

source-registry.lisp.

Function: system-author (system)
Package

asdf/system.

Source

system.lisp.

Function: system-bug-tracker (system)
Package

asdf/system.

Source

system.lisp.

Function: system-config-pathnames (&rest more)

Return a list of directories where are stored the system’s default user configuration information. MORE may contain specifications for a subpath relative to these directories: a
subpathname specification and keyword arguments as per RESOLVE-LOCATION (see
also "Configuration DSL") in the ASDF manual.

Package

uiop/configuration.

Source

configuration.lisp.

Function: system-configuration-directories ()

Return the list of system configuration directories for common-lisp. DEPRECATED. Use UIOP:SYSTEM-CONFIG-PATHNAMES (with argument "common-lisp"), instead.

Package

uiop/configuration.

Source

backward-driver.lisp.

Function: system-definition-pathname (x)

DEPRECATED. This function used to expose ASDF internals with subtle differences with respect to user expectations, that have been refactored away since. We recommend you use ASDF:SYSTEM-SOURCE-FILE instead for a mostly compatible replacement that we’re supporting, or even ASDF:SYSTEM-SOURCE-DIRECTORY or ASDF:SYSTEM-RELATIVE-PATHNAME
if that’s whay you mean.

Package

asdf/backward-interface.

Source

backward-interface.lisp.

Function: system-description (system)
Package

asdf/system.

Source

system.lisp.

Function: system-homepage (system)
Package

asdf/system.

Source

system.lisp.

Function: system-licence (system)
Package

asdf/system.

Source

system.lisp.

Function: system-license (system)
Package

asdf/system.

Source

system.lisp.

Function: system-long-description (system)
Package

asdf/system.

Source

system.lisp.

Function: system-long-name (system)
Package

asdf/system.

Source

system.lisp.

Function: system-mailto (system)
Package

asdf/system.

Source

system.lisp.

Function: system-maintainer (system)
Package

asdf/system.

Source

system.lisp.

Function: system-output-translations-directory-pathname (&key direction)
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: system-output-translations-pathname (&key direction)
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: system-registered-p (name)

DEPRECATED. Return a generalized boolean that is true if a system of given NAME was registered already. NAME is a system designator, to be normalized by COERCE-NAME.
The value returned if true is a pair of a timestamp and a system object.

Package

asdf/backward-interface.

Source

backward-interface.lisp.

Function: system-relative-pathname (system name &key type)

Given a SYSTEM, and a (Unix-style relative path) NAME of a file (or directory) of given TYPE, return the absolute pathname of a corresponding file under that system’s source code pathname.

Package

asdf/system.

Source

system.lisp.

Function: system-source-control (system)
Package

asdf/system.

Source

system.lisp.

Function: system-source-directory (system-designator)

Return a pathname object corresponding to the directory in which the system specification (.asd file) is located.

Package

asdf/system.

Source

system.lisp.

Function: system-source-registry (&key direction)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: system-source-registry-directory (&key direction)
Package

asdf/source-registry.

Source

source-registry.lisp.

Function: system-version (system)
Package

asdf/system.

Source

system.lisp.

Function: temporary-directory ()

Return a directory to use for temporary files

Package

uiop/stream.

Source

stream.lisp.

Function: terminate-process (process-info &key urgent)

Cause the process to exit. To that end, the process may or may
not be sent a signal, which it will find harder (or even impossible) to ignore if URGENT is T. On some platforms, it may also be subject to race conditions.

Package

uiop/launch-program.

Source

launch-program.lisp.

Function: test-system (system &rest args &key force force-not verbose version &allow-other-keys)

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

Package

asdf/operate.

Source

operate.lisp.

Function: timestamp*< (&rest list)
Package

uiop/utility.

Source

utility.lisp.

Function: timestamp< (x y)
Package

uiop/utility.

Source

utility.lisp.

Function: timestamp<= (x y)
Package

uiop/utility.

Source

utility.lisp.

Function: timestamps-earliest (list)
Package

uiop/utility.

Source

utility.lisp.

Function: timestamps-latest (list)
Package

uiop/utility.

Source

utility.lisp.

Function: timestamps< (list)
Package

uiop/utility.

Source

utility.lisp.

Function: tmpize-pathname (x)

Return a new pathname modified from X by adding a trivial random suffix.
A new empty file with said temporary pathname is created, to ensure there is no clash with any concurrent process attempting the same thing.

Package

uiop/stream.

Source

stream.lisp.

Function: toplevel-asdf-session ()
Package

asdf/session.

Source

session.lisp.

Function: translate-pathname* (path absolute-source destination &optional root source)

A wrapper around TRANSLATE-PATHNAME to be used by the ASDF output-translations facility.
PATH is the pathname to be translated.
ABSOLUTE-SOURCE is an absolute pathname to use as source for translate-pathname,
DESTINATION is either a function, to be called with PATH and ABSOLUTE-SOURCE,
or a relative pathname, to be merged with ROOT and used as destination for translate-pathname
or an absolute pathname, to be used as destination for translate-pathname.
In that last case, if ROOT is non-NIL, PATH is first transformated by DIRECTORIZE-PATHNAME-HOST-DEVICE.

Package

uiop/pathname.

Source

pathname.lisp.

Function: traverse-action (plan operation component needed-in-image-p)
Package

asdf/plan.

Source

plan.lisp.

Function: truename* (p)

Nicer variant of TRUENAME that plays well with NIL, avoids logical pathname contexts, and tries both files and directories

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: truenamize (pathname)

Resolve as much of a pathname as possible

Package

uiop/filesystem.

Source

filesystem.lisp.

Function: uiop-directory ()

Try to locate the UIOP source directory at runtime

Package

uiop/configuration.

Source

configuration.lisp.

Function: unintern* (name package-designator &optional error)
Package

uiop/package.

Source

package.lisp.

Function: unix-namestring (pathname)

Given a non-wild PATHNAME, return a Unix-style namestring for it.
If the PATHNAME is NIL or a STRING, return it unchanged.

This only considers the DIRECTORY, NAME and TYPE components of the pathname. This is a portable solution for representing relative pathnames,
But unless you are running on a Unix system, it is not a general solution to representing native pathnames.

An error is signaled if the argument is not NULL, a STRING or a PATHNAME, or if it is a PATHNAME but some of its components are not recognized.

Package

uiop/pathname.

Source

pathname.lisp.

Function: unparse-version (version-list)

From a parsed version (a list of natural numbers), compute the version string

Package

uiop/version.

Source

version.lisp.

Function: unreify-deferred-warnings (reified-deferred-warnings)

given a S-expression created by REIFY-DEFERRED-WARNINGS, reinstantiate the corresponding deferred warnings as to be handled at the end of the current WITH-COMPILATION-UNIT. Handle any warning that has been resolved already,
such as an undefined function that has been defined since.
One of three functions required for deferred-warnings support in ASDF.

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: unreify-package (package &optional package-context)
Package

uiop/package.

Source

package.lisp.

Function: unreify-simple-sexp (sexp)

Given the portable output of REIFY-SIMPLE-SEXP, return the simple SEXP it represents

Package

uiop/lisp-build.

Source

lisp-build.lisp.

Function: unreify-symbol (symbol &optional package-context)
Package

uiop/package.

Source

package.lisp.

Function: unset-asdf-cache-entry (key)
Package

asdf/session.

Source

session.lisp.

Function: upgrade-asdf ()

Try to upgrade of ASDF. If a different version was used, return T.
We need do that before we operate on anything that may possibly depend on ASDF.

Package

asdf/upgrade.

Source

upgrade.lisp.

Function: upgrade-configuration ()

If a previous version of ASDF failed to read some configuration, try again now.

Package

uiop/configuration.

Source

configuration.lisp.

Function: upgrading-p (&optional oldest-compatible-version)
Package

asdf/upgrade.

Source

upgrade.lisp.

Function: user-configuration-directories ()

Return the current user’s list of user configuration directories for configuring common-lisp.
DEPRECATED. Use UIOP:XDG-CONFIG-PATHNAMES instead.

Package

uiop/configuration.

Source

backward-driver.lisp.

Function: user-output-translations-directory-pathname (&key direction)
Package

asdf/output-translations.

Source

output-translations.lisp.

Function: user-output-translations-pathname (&key direction)
Package

asdf/output-translations