This is the uiop Reference Manual, version 3.3.7.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 07:00:35 2024 GMT+0.
uiop/uiop.asd
uiop/package.lisp
uiop/common-lisp.lisp
uiop/utility.lisp
uiop/version.lisp
uiop/os.lisp
uiop/pathname.lisp
uiop/filesystem.lisp
uiop/stream.lisp
uiop/image.lisp
uiop/lisp-build.lisp
uiop/launch-program.lisp
uiop/run-program.lisp
uiop/configuration.lisp
uiop/backward-driver.lisp
uiop/driver.lisp
uiop/lisp-build
uiop/common-lisp
uiop/package*
uiop/image
uiop/configuration
uiop/version
uiop/pathname
uiop/os
uiop/stream
uiop/utility
uiop/run-program
uiop/launch-program
uiop/backward-driver
uiop/package
uiop/driver
uiop/filesystem
uiop/package-local-nicknames
The main system appears first, followed by any subsystem dependency.
uiop
Portability library for Common Lisp programs
Utilities for Implementation- and OS- Portability
Francois-Rene Rideau
MIT
UIOP provides runtime support for Common Lisp programs:
Basic general-purpose utilities that are in such a need that you can’t portably construct a
complete program without using some of them. UIOP replaces ASDF/DRIVER and ASDF-UTILS, and offers a
superset of the functionality provided by CL-FAD, EXTERNAL-PROGRAM, TRIVIAL-SHELL, TRIVIAL-BACKTRACE
and a lot of the functionality formerly provided by CL-LAUNCH, XCVB-DRIVER, TRIVIAL-FEATURES,
plus a tiny subset of functionality from ALEXANDRIA and FARE-UTILS.
It is transcluded into asdf.lisp together with ASDF/DEFSYSTEM, so if you did (require "asdf")
you already have a matching UIOP loaded.
3.3.7.1
contrib/debug.lisp
(file).
package.lisp
(file).
common-lisp.lisp
(file).
utility.lisp
(file).
version.lisp
(file).
os.lisp
(file).
pathname.lisp
(file).
filesystem.lisp
(file).
stream.lisp
(file).
image.lisp
(file).
lisp-build.lisp
(file).
launch-program.lisp
(file).
run-program.lisp
(file).
configuration.lisp
(file).
backward-driver.lisp
(file).
driver.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
uiop/uiop.asd
uiop/package.lisp
uiop/common-lisp.lisp
uiop/utility.lisp
uiop/version.lisp
uiop/os.lisp
uiop/pathname.lisp
uiop/filesystem.lisp
uiop/stream.lisp
uiop/image.lisp
uiop/lisp-build.lisp
uiop/launch-program.lisp
uiop/run-program.lisp
uiop/configuration.lisp
uiop/backward-driver.lisp
uiop/driver.lisp
uiop/package.lisp
uiop
(system).
define-package
(macro).
delete-package*
(function).
ensure-package
(function).
ensure-package-unused
(function).
export*
(function).
find-package*
(function).
find-symbol*
(function).
fresh-package-name
(function).
home-package-p
(function).
import*
(function).
intern*
(function).
make-symbol*
(function).
nuke-symbol
(function).
nuke-symbol-in-package
(function).
package-definition-form
(function).
package-names
(function).
packages-from-names
(function).
parse-define-package-form
(function).
rehome-symbol
(function).
reify-package
(function).
reify-symbol
(function).
rename-package-away
(function).
shadow*
(function).
shadowing-import*
(function).
standard-common-lisp-symbol-p
(function).
symbol-call
(function).
symbol-package-name
(function).
symbol-shadowing-p
(function).
unintern*
(function).
unreify-package
(function).
unreify-symbol
(function).
*all-package-fishiness*
(special variable).
*all-package-happiness*
(special variable).
define-package-style-warning
(condition).
dummy-symbol
(function).
ensure-export
(function).
ensure-exported
(function).
ensure-exported-to-user
(function).
ensure-import
(function).
ensure-imported
(function).
ensure-inherited
(function).
ensure-mix
(function).
ensure-shadowing-import
(function).
ensure-symbol
(function).
get-dummy-symbol
(function).
install-package-local-nicknames
(function).
make-dummy-symbol
(function).
no-such-package-error
(condition).
note-package-fishiness
(macro).
package-designator
(method).
package-designator
(type).
record-fishy
(function).
recycle-symbol
(function).
set-dummy-symbol
(function).
symbol-recycled-p
(function).
when-package-fishiness
(macro).
uiop/common-lisp.lisp
package.lisp
(file).
uiop
(system).
compatfmt
(macro).
frob-substrings
(function).
uiop/utility.lisp
common-lisp.lisp
(file).
uiop
(system).
*uiop-debug-utility*
(special variable).
+character-types+
(special variable).
+cr+
(special variable).
+crlf+
(special variable).
+lf+
(special variable).
+max-character-type-index+
(special variable).
+non-base-chars-exist-p+
(constant).
access-at
(function).
access-at-count
(function).
appendf
(macro).
base-string-p
(function).
boolean-to-feature-expression
(function).
call-function
(function).
call-functions
(function).
call-with-muffled-conditions
(function).
character-type-index
(function).
coerce-class
(function).
earlier-timestamp
(function).
earliest-timestamp
(function).
emptyp
(function).
ensure-function
(function).
ensure-gethash
(function).
ensure-list
(function).
find-standard-case-symbol
(function).
first-char
(function).
if-let
(macro).
last-char
(function).
later-timestamp
(function).
latest-timestamp
(function).
latest-timestamp-f
(macro).
length=n-p
(function).
lexicographic<
(function).
lexicographic<=
(function).
list-to-hash-set
(function).
load-uiop-debug-utility
(function).
match-any-condition-p
(function).
match-condition-p
(function).
nest
(macro).
not-implemented-error
(function).
not-implemented-error
(condition).
parameter-error
(function).
parameter-error
(condition).
parse-body
(function).
reduce/strcat
(function).
register-hook-function
(function).
remove-plist-key
(function).
remove-plist-keys
(function).
simple-style-warning
(condition).
split-string
(function).
standard-case-symbol-name
(function).
strcat
(function).
string-enclosed-p
(function).
string-prefix-p
(function).
string-suffix-p
(function).
strings-common-element-type
(function).
stripln
(function).
style-warn
(function).
symbol-test-to-feature-expression
(function).
timestamp*<
(function).
timestamp<
(function).
timestamp<=
(function).
timestamps-earliest
(function).
timestamps-latest
(function).
timestamps<
(function).
uiop-debug
(macro).
while-collecting
(macro).
with-muffled-conditions
(macro).
with-upgradability
(macro).
+simple-condition-format-control-slot+
(special variable).
ensure-function-notinline
(function).
timestamp
(type).
uiop/version.lisp
utility.lisp
(file).
uiop
(system).
*uiop-version*
(special variable).
deprecated-function-condition
(condition).
deprecated-function-error
(condition).
deprecated-function-name
(reader method).
deprecated-function-should-be-deleted
(condition).
deprecated-function-style-warning
(condition).
deprecated-function-warning
(condition).
next-version
(function).
parse-version
(function).
print-object
(method).
unparse-version
(function).
version-deprecation
(function).
version<
(function).
version<=
(function).
version=
(function).
with-deprecation
(macro).
deprecated-function-condition-kind
(function).
notify-deprecated-function
(function).
uiop/os.lisp
utility.lisp
(file).
uiop
(system).
*implementation-type*
(special variable).
architecture
(function).
chdir
(function).
detect-os
(function).
featurep
(function).
getcwd
(function).
(setf getenv)
(setf expander).
getenv
(function).
getenvp
(function).
hostname
(function).
implementation-identifier
(function).
implementation-type
(function).
lisp-version-string
(function).
operating-system
(function).
os-cond
(macro).
os-genera-p
(function).
os-macosx-p
(function).
os-unix-p
(function).
os-windows-p
(function).
parse-file-location-info
(function).
parse-windows-shortcut
(function).
read-little-endian
(function).
read-null-terminated-string
(function).
*link-guid*
(special variable).
*link-initial-dword*
(special variable).
first-feature
(function).
os-haiku-p
(function).
os-mezzano-p
(function).
os-oldmac-p
(function).
uiop/pathname.lisp
utility.lisp
(file).
os.lisp
(file).
uiop
(system).
*nil-pathname*
(special variable).
*output-translation-function*
(special variable).
*unspecific-pathname-type*
(special variable).
*wild*
(special variable).
*wild-directory*
(special variable).
*wild-file*
(special variable).
*wild-file-for-directory*
(special variable).
*wild-inferiors*
(special variable).
*wild-path*
(special variable).
absolute-pathname-p
(function).
call-with-enough-pathname
(function).
denormalize-pathname-directory-component
(function).
directorize-pathname-host-device
(function).
directory-pathname-p
(function).
directory-separator-for-host
(function).
enough-pathname
(function).
ensure-absolute-pathname
(function).
ensure-directory-pathname
(function).
file-pathname-p
(function).
hidden-pathname-p
(function).
logical-pathname-p
(function).
make-pathname*
(function).
make-pathname-component-logical
(function).
make-pathname-logical
(function).
merge-pathname-directory-components
(function).
merge-pathnames*
(function).
nil-pathname
(function).
normalize-pathname-directory-component
(function).
parse-unix-namestring
(function).
pathname-directory-pathname
(function).
pathname-equal
(function).
pathname-host-pathname
(function).
pathname-parent-directory-pathname
(function).
pathname-root
(function).
physical-pathname-p
(function).
physicalize-pathname
(function).
relative-pathname-p
(function).
relativize-directory-component
(function).
relativize-pathname-directory
(function).
split-name-type
(function).
split-unix-namestring-directory-components
(function).
subpathname
(function).
subpathname*
(function).
subpathp
(function).
translate-pathname*
(function).
unix-namestring
(function).
wilden
(function).
with-enough-pathname
(macro).
with-pathname-defaults
(macro).
*wild-directory-component*
(special variable).
*wild-inferiors-component*
(special variable).
uiop/filesystem.lisp
os.lisp
(file).
pathname.lisp
(file).
uiop
(system).
*resolve-symlinks*
(special variable).
call-with-current-directory
(function).
collect-sub*directories
(function).
delete-directory-tree
(function).
delete-empty-directory
(function).
delete-file-if-exists
(function).
directory*
(function).
directory-exists-p
(function).
directory-files
(function).
ensure-all-directories-exist
(function).
ensure-pathname
(function).
file-exists-p
(function).
filter-logical-directory-results
(function).
get-pathname-defaults
(function).
getenv-absolute-directories
(function).
getenv-absolute-directory
(function).
getenv-pathname
(function).
getenv-pathnames
(function).
inter-directory-separator
(function).
lisp-implementation-directory
(function).
lisp-implementation-pathname-p
(function).
native-namestring
(function).
parse-native-namestring
(function).
probe-file*
(function).
rename-file-overwriting-target
(function).
resolve-symlinks
(function).
resolve-symlinks*
(function).
safe-file-write-date
(function).
split-native-pathnames-string
(function).
subdirectories
(function).
truename*
(function).
truenamize
(function).
with-current-directory
(macro).
uiop/stream.lisp
filesystem.lisp
(file).
uiop
(system).
*default-encoding*
(special variable).
*default-stream-element-type*
(special variable).
*encoding-detection-hook*
(special variable).
*encoding-external-format-hook*
(special variable).
*stderr*
(special variable).
*stdin*
(special variable).
*stdout*
(special variable).
*temporary-directory*
(special variable).
*utf-8-external-format*
(special variable).
add-pathname-suffix
(function).
always-default-encoding
(function).
call-with-input-file
(function).
call-with-null-input
(function).
call-with-null-output
(function).
call-with-output-file
(function).
call-with-safe-io-syntax
(function).
call-with-staging-pathname
(function).
call-with-temporary-file
(function).
concatenate-files
(function).
copy-file
(function).
copy-stream-to-stream
(function).
default-encoding-external-format
(function).
default-temporary-directory
(function).
detect-encoding
(function).
encoding-external-format
(function).
eval-input
(function).
eval-thunk
(function).
file-or-synonym-stream-p
(function).
file-stream-p
(function).
finish-outputs
(function).
format!
(function).
input-string
(function).
null-device-pathname
(function).
output-string
(function).
println
(function).
read-file-form
(function).
read-file-forms
(function).
read-file-line
(function).
read-file-lines
(function).
read-file-string
(function).
safe-format!
(function).
safe-read-file-form
(function).
safe-read-file-line
(function).
safe-read-from-string
(function).
setup-stderr
(function).
setup-stdin
(function).
setup-stdout
(function).
setup-temporary-directory
(function).
slurp-stream-form
(function).
slurp-stream-forms
(function).
slurp-stream-line
(function).
slurp-stream-lines
(function).
slurp-stream-string
(function).
standard-eval-thunk
(function).
temporary-directory
(function).
tmpize-pathname
(function).
with-input
(macro).
with-input-file
(macro).
with-null-input
(macro).
with-null-output
(macro).
with-output
(macro).
with-output-file
(macro).
with-safe-io-syntax
(macro).
with-staging-pathname
(macro).
with-temporary-file
(macro).
writeln
(function).
*standard-readtable*
(special variable).
call-with-input
(function).
call-with-output
(function).
get-temporary-file
(function).
uiop/image.lisp
stream.lisp
(file).
uiop
(system).
*command-line-arguments*
(special variable).
*image-dump-hook*
(special variable).
*image-dumped-p*
(special variable).
*image-entry-point*
(special variable).
*image-postlude*
(special variable).
*image-prelude*
(special variable).
*image-restore-hook*
(special variable).
*lisp-interaction*
(special variable).
argv0
(function).
call-image-dump-hook
(function).
call-image-restore-hook
(function).
call-with-fatal-condition-handler
(function).
command-line-arguments
(function).
create-image
(function).
die
(function).
dump-image
(function).
fatal-condition
(type).
fatal-condition-p
(function).
handle-fatal-condition
(function).
print-backtrace
(function).
print-condition-backtrace
(function).
quit
(function).
raw-command-line-arguments
(function).
raw-print-backtrace
(function).
register-image-dump-hook
(function).
register-image-restore-hook
(function).
restore-image
(function).
setup-command-line-arguments
(function).
shell-boolean-exit
(function).
with-fatal-condition-handler
(macro).
*image-restored-p*
(special variable).
uiop/lisp-build.lisp
image.lisp
(file).
uiop
(system).
*base-build-directory*
(special variable).
*compile-check*
(special variable).
*compile-file-failure-behaviour*
(special variable).
*compile-file-warnings-behaviour*
(special variable).
*uninteresting-compiler-conditions*
(special variable).
*uninteresting-conditions*
(special variable).
*uninteresting-loader-conditions*
(special variable).
*usual-uninteresting-conditions*
(special variable).
*warnings-file-type*
(special variable).
call-around-hook
(function).
call-with-muffled-compiler-conditions
(function).
call-with-muffled-loader-conditions
(function).
check-deferred-warnings
(function).
check-lisp-compile-results
(function).
check-lisp-compile-warnings
(function).
combine-fasls
(function).
compile-condition
(condition).
compile-failed-error
(condition).
compile-failed-warning
(condition).
compile-file*
(function).
compile-file-error
(condition).
compile-file-pathname*
(function).
compile-file-type
(function).
compile-warned-error
(condition).
compile-warned-warning
(condition).
current-lisp-file-pathname
(function).
disable-deferred-warnings-check
(function).
enable-deferred-warnings-check
(function).
lispize-pathname
(function).
load*
(function).
load-from-string
(function).
load-pathname
(function).
reify-deferred-warnings
(function).
reify-simple-sexp
(function).
reset-deferred-warnings
(function).
save-deferred-warnings
(function).
sb-grovel-unknown-constant-condition
(type).
unreify-deferred-warnings
(function).
unreify-simple-sexp
(function).
warnings-file-p
(function).
warnings-file-type
(function).
with-muffled-compiler-conditions
(macro).
with-muffled-loader-conditions
(macro).
with-saved-deferred-warnings
(macro).
call-with-saved-deferred-warnings
(function).
compile-condition-context-arguments
(reader method).
compile-condition-context-format
(reader method).
compile-condition-description
(reader method).
reify-undefined-warning
(function).
sb-grovel-unknown-constant-condition-p
(function).
uiop/launch-program.lisp
stream.lisp
(file).
uiop
(system).
close-streams
(function).
easy-sh-character-p
(function).
escape-command
(function).
escape-sh-command
(function).
escape-sh-token
(function).
escape-shell-command
(function).
escape-shell-token
(function).
escape-token
(function).
escape-windows-command
(function).
escape-windows-token
(function).
launch-program
(function).
process-alive-p
(function).
process-info
(class).
process-info-error-output
(function).
process-info-input
(function).
process-info-output
(function).
process-info-pid
(function).
terminate-process
(function).
wait-process
(function).
%code-to-status
(function).
%handle-if-does-not-exist
(function).
%handle-if-exists
(function).
%interactivep
(function).
%normalize-io-specifier
(function).
%posix-send-signal
(function).
%process-status
(function).
%signal-to-exit-code
(function).
easy-windows-character-p
(function).
escape-sh-token-within-double-quotes
(function).
escape-windows-token-within-double-quotes
(function).
requires-escaping-p
(function).
uiop/run-program.lisp
launch-program.lisp
(file).
version.lisp
(file).
uiop
(system).
run-program
(function).
slurp-input-stream
(generic function).
subprocess-error
(condition).
subprocess-error-code
(reader method).
subprocess-error-command
(reader method).
subprocess-error-process
(reader method).
vomit-output-stream
(generic function).
%active-io-specifier-p
(function).
%call-with-program-io
(function).
%check-result
(function).
%normalize-system-command
(function).
%redirected-system-command
(function).
%run-program
(function).
%system
(function).
%use-launch-program
(function).
%use-system
(function).
call-stream-processor
(function).
place-setter
(macro).
with-program-error-output
(macro).
with-program-input
(macro).
with-program-output
(macro).
uiop/configuration.lisp
image.lisp
(file).
uiop
(system).
*clear-configuration-hook*
(special variable).
*here-directory*
(special variable).
*ignored-configuration-form*
(special variable).
*user-cache*
(special variable).
clear-configuration
(function).
configuration-inheritance-directive-p
(function).
filter-pathname-set
(function).
find-preferred-file
(function).
get-folder-path
(function).
invalid-configuration
(condition).
location-designator-p
(function).
location-function-p
(function).
register-clear-configuration-hook
(function).
report-invalid-form
(function).
resolve-absolute-location
(function).
resolve-location
(function).
resolve-relative-location
(function).
system-config-pathnames
(function).
uiop-directory
(function).
upgrade-configuration
(function).
validate-configuration-directory
(function).
validate-configuration-file
(function).
validate-configuration-form
(function).
xdg-cache-home
(function).
xdg-config-dirs
(function).
xdg-config-home
(function).
xdg-config-pathname
(function).
xdg-config-pathnames
(function).
xdg-data-dirs
(function).
xdg-data-home
(function).
xdg-data-pathname
(function).
xdg-data-pathnames
(function).
xdg-runtime-dir
(function).
compute-user-cache
(function).
condition-arguments
(reader method).
condition-form
(reader method).
condition-format
(reader method).
condition-location
(reader method).
uiop/backward-driver.lisp
lisp-build.lisp
(file).
run-program.lisp
(file).
configuration.lisp
(file).
version.lisp
(file).
uiop
(system).
coerce-pathname
(compiler macro).
coerce-pathname
(function).
in-first-directory
(compiler macro).
in-first-directory
(function).
in-system-configuration-directory
(compiler macro).
in-system-configuration-directory
(function).
in-user-configuration-directory
(compiler macro).
in-user-configuration-directory
(function).
system-configuration-directories
(compiler macro).
system-configuration-directories
(function).
user-configuration-directories
(compiler macro).
user-configuration-directories
(function).
version-compatible-p
(compiler macro).
version-compatible-p
(function).
*deprecated-function-style-warning-coerce-pathname-notified-p*
(special variable).
*deprecated-function-style-warning-in-first-directory-notified-p*
(special variable).
*deprecated-function-style-warning-in-system-configuration-directory-notified-p*
(special variable).
*deprecated-function-style-warning-in-user-configuration-directory-notified-p*
(special variable).
*deprecated-function-style-warning-system-configuration-directories-notified-p*
(special variable).
*deprecated-function-style-warning-user-configuration-directories-notified-p*
(special variable).
*deprecated-function-style-warning-version-compatible-p-notified-p*
(special variable).
uiop/driver.lisp
backward-driver.lisp
(file).
uiop
(system).
Packages are listed by definition order.
uiop/lisp-build
uiop/common-lisp
uiop/package*
uiop/image
uiop/configuration
uiop/version
uiop/pathname
uiop/os
uiop/stream
uiop/utility
uiop/run-program
uiop/launch-program
uiop/backward-driver
uiop/package
uiop/driver
uiop/filesystem
uiop/package-local-nicknames
uiop/lisp-build
asdf/lisp-build
*base-build-directory*
(special variable).
*compile-check*
(special variable).
*compile-file-failure-behaviour*
(special variable).
*compile-file-warnings-behaviour*
(special variable).
*uninteresting-compiler-conditions*
(special variable).
*uninteresting-conditions*
(special variable).
*uninteresting-loader-conditions*
(special variable).
*usual-uninteresting-conditions*
(special variable).
*warnings-file-type*
(special variable).
call-around-hook
(function).
call-with-muffled-compiler-conditions
(function).
call-with-muffled-loader-conditions
(function).
check-deferred-warnings
(function).
check-lisp-compile-results
(function).
check-lisp-compile-warnings
(function).
combine-fasls
(function).
compile-condition
(condition).
compile-failed-error
(condition).
compile-failed-warning
(condition).
compile-file*
(function).
compile-file-error
(condition).
compile-file-pathname*
(function).
compile-file-type
(function).
compile-warned-error
(condition).
compile-warned-warning
(condition).
current-lisp-file-pathname
(function).
disable-deferred-warnings-check
(function).
enable-deferred-warnings-check
(function).
lispize-pathname
(function).
load*
(function).
load-from-string
(function).
load-pathname
(function).
reify-deferred-warnings
(function).
reify-simple-sexp
(function).
reset-deferred-warnings
(function).
save-deferred-warnings
(function).
sb-grovel-unknown-constant-condition
(type).
unreify-deferred-warnings
(function).
unreify-simple-sexp
(function).
warnings-file-p
(function).
warnings-file-type
(function).
with-muffled-compiler-conditions
(macro).
with-muffled-loader-conditions
(macro).
with-saved-deferred-warnings
(macro).
call-with-saved-deferred-warnings
(function).
compile-condition-context-arguments
(generic reader).
compile-condition-context-format
(generic reader).
compile-condition-description
(generic reader).
reify-undefined-warning
(function).
sb-grovel-unknown-constant-condition-p
(function).
uiop/common-lisp
uiop/cl
common-lisp
.
uiop/package
.
asdf/action
.
asdf/backward-interface
.
asdf/backward-internals
.
asdf/bundle
.
asdf/component
.
asdf/concatenate-source
.
asdf/find-component
.
asdf/find-system
.
asdf/footer
.
asdf/forcing
.
asdf/interface
.
asdf/lisp-action
.
asdf/operate
.
asdf/operation
.
asdf/output-translations
.
asdf/package-inferred-system
.
asdf/parse-defsystem
.
asdf/plan
.
asdf/session
.
asdf/source-registry
.
asdf/system
.
asdf/system-registry
.
asdf/upgrade
.
asdf/user
.
uiop/backward-driver
.
uiop/configuration
.
uiop/driver
.
uiop/filesystem
.
uiop/image
.
uiop/launch-program
.
uiop/lisp-build
.
uiop/os
.
uiop/pathname
.
uiop/run-program
.
uiop/stream
.
uiop/utility
.
uiop/version
.
compatfmt
(macro).
frob-substrings
(function).
uiop/image
*command-line-arguments*
(special variable).
*image-dump-hook*
(special variable).
*image-dumped-p*
(special variable).
*image-entry-point*
(special variable).
*image-postlude*
(special variable).
*image-prelude*
(special variable).
*image-restore-hook*
(special variable).
*lisp-interaction*
(special variable).
argv0
(function).
call-image-dump-hook
(function).
call-image-restore-hook
(function).
call-with-fatal-condition-handler
(function).
command-line-arguments
(function).
create-image
(function).
die
(function).
dump-image
(function).
fatal-condition
(type).
fatal-condition-p
(function).
handle-fatal-condition
(function).
print-backtrace
(function).
print-condition-backtrace
(function).
quit
(function).
raw-command-line-arguments
(function).
raw-print-backtrace
(function).
register-image-dump-hook
(function).
register-image-restore-hook
(function).
restore-image
(function).
setup-command-line-arguments
(function).
shell-boolean-exit
(function).
with-fatal-condition-handler
(macro).
*image-restored-p*
(special variable).
uiop/configuration
*clear-configuration-hook*
(special variable).
*here-directory*
(special variable).
*ignored-configuration-form*
(special variable).
*user-cache*
(special variable).
clear-configuration
(function).
configuration-inheritance-directive-p
(function).
filter-pathname-set
(function).
find-preferred-file
(function).
get-folder-path
(function).
in-first-directory
(compiler macro).
in-first-directory
(function).
in-system-configuration-directory
(compiler macro).
in-system-configuration-directory
(function).
in-user-configuration-directory
(compiler macro).
in-user-configuration-directory
(function).
invalid-configuration
(condition).
location-designator-p
(function).
location-function-p
(function).
register-clear-configuration-hook
(function).
report-invalid-form
(function).
resolve-absolute-location
(function).
resolve-location
(function).
resolve-relative-location
(function).
system-config-pathnames
(function).
system-configuration-directories
(compiler macro).
system-configuration-directories
(function).
uiop-directory
(function).
upgrade-configuration
(function).
user-configuration-directories
(compiler macro).
user-configuration-directories
(function).
validate-configuration-directory
(function).
validate-configuration-file
(function).
validate-configuration-form
(function).
xdg-cache-home
(function).
xdg-config-dirs
(function).
xdg-config-home
(function).
xdg-config-pathname
(function).
xdg-config-pathnames
(function).
xdg-data-dirs
(function).
xdg-data-home
(function).
xdg-data-pathname
(function).
xdg-data-pathnames
(function).
xdg-runtime-dir
(function).
compute-user-cache
(function).
condition-arguments
(generic reader).
condition-form
(generic reader).
condition-format
(generic reader).
condition-location
(generic reader).
uiop/version
*uiop-version*
(special variable).
deprecated-function-condition
(condition).
deprecated-function-error
(condition).
deprecated-function-name
(generic reader).
deprecated-function-should-be-deleted
(condition).
deprecated-function-style-warning
(condition).
deprecated-function-warning
(condition).
next-version
(function).
parse-version
(function).
unparse-version
(function).
version-deprecation
(function).
version<
(function).
version<=
(function).
version=
(function).
with-deprecation
(macro).
deprecated-function-condition-kind
(function).
notify-deprecated-function
(function).
uiop/pathname
asdf/pathname
*nil-pathname*
(special variable).
*output-translation-function*
(special variable).
*unspecific-pathname-type*
(special variable).
*wild*
(special variable).
*wild-directory*
(special variable).
*wild-file*
(special variable).
*wild-file-for-directory*
(special variable).
*wild-inferiors*
(special variable).
*wild-path*
(special variable).
absolute-pathname-p
(function).
call-with-enough-pathname
(function).
denormalize-pathname-directory-component
(function).
directorize-pathname-host-device
(function).
directory-pathname-p
(function).
directory-separator-for-host
(function).
enough-pathname
(function).
ensure-absolute-pathname
(function).
ensure-directory-pathname
(function).
ensure-pathname
(function).
file-pathname-p
(function).
hidden-pathname-p
(function).
logical-pathname-p
(function).
make-pathname*
(function).
make-pathname-component-logical
(function).
make-pathname-logical
(function).
merge-pathname-directory-components
(function).
merge-pathnames*
(function).
nil-pathname
(function).
normalize-pathname-directory-component
(function).
parse-unix-namestring
(function).
pathname-directory-pathname
(function).
pathname-equal
(function).
pathname-host-pathname
(function).
pathname-parent-directory-pathname
(function).
pathname-root
(function).
physical-pathname-p
(function).
physicalize-pathname
(function).
relative-pathname-p
(function).
relativize-directory-component
(function).
relativize-pathname-directory
(function).
split-name-type
(function).
split-unix-namestring-directory-components
(function).
subpathname
(function).
subpathname*
(function).
subpathp
(function).
translate-pathname*
(function).
unix-namestring
(function).
wilden
(function).
with-enough-pathname
(macro).
with-pathname-defaults
(macro).
*wild-directory-component*
(special variable).
*wild-inferiors-component*
(special variable).
uiop/os
*implementation-type*
(special variable).
architecture
(function).
chdir
(function).
detect-os
(function).
featurep
(function).
getcwd
(function).
(setf getenv)
(setf expander).
getenv
(function).
getenvp
(function).
hostname
(function).
implementation-identifier
(function).
implementation-type
(function).
lisp-version-string
(function).
operating-system
(function).
os-cond
(macro).
os-genera-p
(function).
os-macosx-p
(function).
os-unix-p
(function).
os-windows-p
(function).
parse-file-location-info
(function).
parse-windows-shortcut
(function).
read-little-endian
(function).
read-null-terminated-string
(function).
*link-guid*
(special variable).
*link-initial-dword*
(special variable).
first-feature
(function).
os-haiku-p
(function).
os-mezzano-p
(function).
os-oldmac-p
(function).
uiop/stream
*default-encoding*
(special variable).
*default-stream-element-type*
(special variable).
*encoding-detection-hook*
(special variable).
*encoding-external-format-hook*
(special variable).
*stderr*
(special variable).
*stdin*
(special variable).
*stdout*
(special variable).
*temporary-directory*
(special variable).
*utf-8-external-format*
(special variable).
add-pathname-suffix
(function).
always-default-encoding
(function).
call-with-input-file
(function).
call-with-null-input
(function).
call-with-null-output
(function).
call-with-output-file
(function).
call-with-safe-io-syntax
(function).
call-with-staging-pathname
(function).
call-with-temporary-file
(function).
concatenate-files
(function).
copy-file
(function).
copy-stream-to-stream
(function).
default-encoding-external-format
(function).
default-temporary-directory
(function).
detect-encoding
(function).
encoding-external-format
(function).
eval-input
(function).
eval-thunk
(function).
file-or-synonym-stream-p
(function).
file-stream-p
(function).
finish-outputs
(function).
format!
(function).
input-string
(function).
null-device-pathname
(function).
output-string
(function).
println
(function).
read-file-form
(function).
read-file-forms
(function).
read-file-line
(function).
read-file-lines
(function).
read-file-string
(function).
safe-format!
(function).
safe-read-file-form
(function).
safe-read-file-line
(function).
safe-read-from-string
(function).
setup-stderr
(function).
setup-stdin
(function).
setup-stdout
(function).
setup-temporary-directory
(function).
slurp-stream-form
(function).
slurp-stream-forms
(function).
slurp-stream-line
(function).
slurp-stream-lines
(function).
slurp-stream-string
(function).
standard-eval-thunk
(function).
temporary-directory
(function).
tmpize-pathname
(function).
with-input
(macro).
with-input-file
(macro).
with-null-input
(macro).
with-null-output
(macro).
with-output
(macro).
with-output-file
(macro).
with-safe-io-syntax
(macro).
with-staging-pathname
(macro).
with-temporary-file
(macro).
writeln
(function).
*standard-readtable*
(special variable).
call-with-input
(function).
call-with-output
(function).
get-temporary-file
(function).
uiop/utility
*uiop-debug-utility*
(special variable).
+character-types+
(special variable).
+cr+
(special variable).
+crlf+
(special variable).
+lf+
(special variable).
+max-character-type-index+
(special variable).
+non-base-chars-exist-p+
(constant).
access-at
(function).
access-at-count
(function).
appendf
(macro).
base-string-p
(function).
boolean-to-feature-expression
(function).
call-function
(function).
call-functions
(function).
call-with-muffled-conditions
(function).
character-type-index
(function).
coerce-class
(function).
earlier-timestamp
(function).
earliest-timestamp
(function).
emptyp
(function).
ensure-function
(function).
ensure-gethash
(function).
ensure-list
(function).
find-standard-case-symbol
(function).
first-char
(function).
if-let
(macro).
last-char
(function).
later-timestamp
(function).
latest-timestamp
(function).
latest-timestamp-f
(macro).
length=n-p
(function).
lexicographic<
(function).
lexicographic<=
(function).
list-to-hash-set
(function).
load-uiop-debug-utility
(function).
match-any-condition-p
(function).
match-condition-p
(function).
nest
(macro).
not-implemented-error
(function).
not-implemented-error
(condition).
parameter-error
(function).
parameter-error
(condition).
parse-body
(function).
reduce/strcat
(function).
register-hook-function
(function).
remove-plist-key
(function).
remove-plist-keys
(function).
simple-style-warning
(condition).
split-string
(function).
standard-case-symbol-name
(function).
strcat
(function).
string-enclosed-p
(function).
string-prefix-p
(function).
string-suffix-p
(function).
strings-common-element-type
(function).
stripln
(function).
style-warn
(function).
symbol-test-to-feature-expression
(function).
timestamp*<
(function).
timestamp<
(function).
timestamp<=
(function).
timestamps-earliest
(function).
timestamps-latest
(function).
timestamps<
(function).
uiop-debug
(macro).
while-collecting
(macro).
with-muffled-conditions
(macro).
with-upgradability
(macro).
+simple-condition-format-control-slot+
(special variable).
ensure-function-notinline
(function).
timestamp
(type).
uiop/run-program
asdf/run-program
run-program
(function).
slurp-input-stream
(generic function).
subprocess-error
(condition).
subprocess-error-code
(generic reader).
subprocess-error-command
(generic reader).
subprocess-error-process
(generic reader).
vomit-output-stream
(generic function).
%active-io-specifier-p
(function).
%call-with-program-io
(function).
%check-result
(function).
%normalize-system-command
(function).
%redirected-system-command
(function).
%run-program
(function).
%system
(function).
%use-launch-program
(function).
%use-system
(function).
call-stream-processor
(function).
place-setter
(macro).
with-program-error-output
(macro).
with-program-input
(macro).
with-program-output
(macro).
uiop/launch-program
close-streams
(function).
easy-sh-character-p
(function).
escape-command
(function).
escape-sh-command
(function).
escape-sh-token
(function).
escape-shell-command
(function).
escape-shell-token
(function).
escape-token
(function).
escape-windows-command
(function).
escape-windows-token
(function).
launch-program
(function).
process-alive-p
(function).
process-info
(class).
process-info-error-output
(function).
process-info-input
(function).
process-info-output
(function).
process-info-pid
(function).
terminate-process
(function).
wait-process
(function).
%code-to-status
(function).
%handle-if-does-not-exist
(function).
%handle-if-exists
(function).
%interactivep
(function).
%normalize-io-specifier
(function).
%posix-send-signal
(function).
%process-status
(function).
%signal-to-exit-code
(function).
easy-windows-character-p
(function).
escape-sh-token-within-double-quotes
(function).
escape-windows-token-within-double-quotes
(function).
requires-escaping-p
(function).
uiop/backward-driver
coerce-pathname
(compiler macro).
coerce-pathname
(function).
version-compatible-p
(compiler macro).
version-compatible-p
(function).
*deprecated-function-style-warning-coerce-pathname-notified-p*
(special variable).
*deprecated-function-style-warning-in-first-directory-notified-p*
(special variable).
*deprecated-function-style-warning-in-system-configuration-directory-notified-p*
(special variable).
*deprecated-function-style-warning-in-user-configuration-directory-notified-p*
(special variable).
*deprecated-function-style-warning-system-configuration-directories-notified-p*
(special variable).
*deprecated-function-style-warning-user-configuration-directories-notified-p*
(special variable).
*deprecated-function-style-warning-version-compatible-p-notified-p*
(special variable).
uiop/package
common-lisp
.
define-package
(macro).
delete-package*
(function).
ensure-package
(function).
ensure-package-unused
(function).
export*
(function).
find-package*
(function).
find-symbol*
(function).
fresh-package-name
(function).
home-package-p
(function).
import*
(function).
intern*
(function).
make-symbol*
(function).
nuke-symbol
(function).
nuke-symbol-in-package
(function).
package-definition-form
(function).
package-names
(function).
packages-from-names
(function).
parse-define-package-form
(function).
rehome-symbol
(function).
reify-package
(function).
reify-symbol
(function).
rename-package-away
(function).
shadow*
(function).
shadowing-import*
(function).
standard-common-lisp-symbol-p
(function).
symbol-call
(function).
symbol-package-name
(function).
symbol-shadowing-p
(function).
unintern*
(function).
unreify-package
(function).
unreify-symbol
(function).
*all-package-fishiness*
(special variable).
*all-package-happiness*
(special variable).
define-package-style-warning
(condition).
dummy-symbol
(function).
ensure-export
(function).
ensure-exported
(function).
ensure-exported-to-user
(function).
ensure-import
(function).
ensure-imported
(function).
ensure-inherited
(function).
ensure-mix
(function).
ensure-shadowing-import
(function).
ensure-symbol
(function).
get-dummy-symbol
(function).
install-package-local-nicknames
(function).
make-dummy-symbol
(function).
no-such-package-error
(condition).
note-package-fishiness
(macro).
package-designator
(generic function).
package-designator
(type).
record-fishy
(function).
recycle-symbol
(function).
set-dummy-symbol
(function).
symbol-recycled-p
(function).
when-package-fishiness
(macro).
uiop/driver
uiop
asdf/driver
asdf/action
.
asdf/backward-interface
.
asdf/backward-internals
.
asdf/bundle
.
asdf/component
.
asdf/concatenate-source
.
asdf/find-component
.
asdf/find-system
.
asdf/footer
.
asdf/forcing
.
asdf/interface
.
asdf/lisp-action
.
asdf/operate
.
asdf/operation
.
asdf/output-translations
.
asdf/package-inferred-system
.
asdf/parse-defsystem
.
asdf/plan
.
asdf/session
.
asdf/source-registry
.
asdf/system
.
asdf/system-registry
.
asdf/upgrade
.
asdf/user
.
uiop/filesystem
*resolve-symlinks*
(special variable).
call-with-current-directory
(function).
collect-sub*directories
(function).
delete-directory-tree
(function).
delete-empty-directory
(function).
delete-file-if-exists
(function).
directory*
(function).
directory-exists-p
(function).
directory-files
(function).
ensure-all-directories-exist
(function).
file-exists-p
(function).
filter-logical-directory-results
(function).
get-pathname-defaults
(function).
getenv-absolute-directories
(function).
getenv-absolute-directory
(function).
getenv-pathname
(function).
getenv-pathnames
(function).
inter-directory-separator
(function).
lisp-implementation-directory
(function).
lisp-implementation-pathname-p
(function).
native-namestring
(function).
parse-native-namestring
(function).
probe-file*
(function).
rename-file-overwriting-target
(function).
resolve-symlinks
(function).
resolve-symlinks*
(function).
safe-file-write-date
(function).
split-native-pathnames-string
(function).
subdirectories
(function).
truename*
(function).
truenamize
(function).
with-current-directory
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
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.
Command-line arguments
A hook for user-defined compile-time invariants
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.
How should ASDF react if it encounters a warning when compiling a file? Valid values are :error, :warn, and :ignore.
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.
default element-type for open (depends on the current CL implementation)
Hook for an extension to define a function to automatically detect a file’s encoding
Hook for an extension (e.g. ASDF-ENCODINGS) to define a better mapping from non-default encodings to and implementation-defined external-format’s
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.
Have configuration forms been ignored while parsing the configuration?
Functions to call (in order) before an image is dumped
Is this a dumped image? As a standalone executable?
a function with which to restart the dumped image when execution is restored from it.
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.
a form to evaluate, or string containing forms to read and evaluate when the image is restarted, but before the entry point is called.
Functions to call (in reverse order) when the image is restored
The type of Lisp implementation used, as a short UIOP-standardized keyword
Is this an interactive Lisp environment, or is it batch processing?
A pathname that is as neutral as possible for use as defaults when merging, making or parsing pathnames
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.
Determine whether or not ASDF resolves symlinks when defining systems. Defaults to T.
the original error output stream at startup
the original standard input stream at startup
the original standard output stream at startup
User-configurable location for temporary files
form that evaluates to the pathname to your favorite debugging utilities
Additional conditions that may be skipped while compiling Lisp code.
Conditions that may be skipped while compiling or loading Lisp code.
Additional conditions that may be skipped while loading Lisp code.
Unspecific type component to use with the underlying implementation’s MAKE-PATHNAME
A specification as per RESOLVE-LOCATION of where the user keeps his FASL cache
A suggested value to which to set or bind *uninteresting-conditions*.
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.
Pathname type for warnings files, or NIL if disabled
Wild component for use with MAKE-PATHNAME
A pathname object with wildcards for matching any subdirectory
A pathname object with wildcards for matching any file with TRANSLATE-PATHNAME
A pathname object with wildcards for matching any file with DIRECTORY
A pathname object with wildcards for matching any recursive subdirectory
A pathname object with wildcards for matching any file in any recursive subdirectory
Append onto list
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.
Macro to keep code nesting and indentation under control.
Load the UIOP debug utility at compile-time as well as runtime
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).
Call BODY while the POSIX current working directory is set to DIR
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.
Shorthand syntax for CALL-WITH-ENOUGH-PATHNAME
Execute BODY in a context where fatal conditions are appropriately handled
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.
Trivial syntax for CALL-WITH-MUFFLED-COMPILER-CONDITIONS
Shorthand syntax for CALL-WITH-MUFFLED-CONDITIONS
Trivial syntax for CALL-WITH-MUFFLED-LOADER-CONDITIONS
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.
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.
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.
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.
Establish safe CL reader options around the evaluation of BODY
Trivial syntax for CALL-WITH-SAVED-DEFERRED-WARNINGS
Trivial syntax wrapper for CALL-WITH-STAGING-PATHNAME
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.
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.
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
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.
From an AT specification, extract a COUNT of maximum number of sub-objects to read as per ACCESS-AT
Add a SUFFIX to the name of a PATHNAME, return a new pathname. Further KEYS can be passed to MAKE-PATHNAME.
Trivial function to use as *encoding-detection-hook*, always ’detects’ the *default-encoding*
The CPU architecture of the current host
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.
Does the STRING only contain BASE-CHARs?
Converts a boolean VALUE to a form suitable for testing with #+.
Call a HOOK around the execution of FUNCTION
Call the function designated by FUNCTION-SPEC as per ENSURE-FUNCTION, with the given ARGUMENTS
For each function in the list FUNCTION-SPECS, in order, call the function as per CALL-FUNCTION
Call the hook functions registered to be run before to dump an image
Call the hook functions registered to be run when restoring a dumped image
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.
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.
Call THUNK in a context where fatal conditions are appropriately handled
Open FILE for input with given recognizes options, call THUNK with the resulting stream. Other keys are accepted but discarded.
Call given THUNK in a context where uninteresting conditions and compiler conditions are muffled
calls the THUNK in a context where the CONDITIONS are muffled
Call given THUNK in a context where uninteresting conditions and loader conditions are muffled
Call FUN with an input stream that always returns end of file.
The keyword arguments are allowed for backward compatibility, but are ignored.
Call FUN with an output stream that discards all output.
The keyword arguments are allowed for backward compatibility, but are ignored.
Open FILE for input with given recognizes options, call THUNK with the resulting stream. Other keys are accepted but discarded.
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.
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.
Change current directory, as per POSIX chdir(2), to a given pathname object
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.
Given the results of COMPILE-FILE, raise an error or warning as appropriate
Given the warnings or failures as resulted from COMPILE-FILE or checking deferred warnings, raise an error or warning as appropriate
Call the functions in *CLEAR-CONFIGURATION-HOOK*
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.
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.
DEPRECATED. Please use UIOP:PARSE-UNIX-NAMESTRING instead.
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.
Combine a list of FASLs INPUTS into a single FASL OUTPUT
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.
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.
Variant of COMPILE-FILE-PATHNAME that works well with COMPILE-FILE*
pathname TYPE for lisp FASt Loading files
create a new OUTPUT file the contents of which a the concatenate of the INPUTS files.
Is X a configuration inheritance directive?
Copy contents of the INPUT file to the OUTPUT file
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.
On ECL, create an executable at pathname DESTINATION from the specified OBJECT-FILES and options
Portably return the PATHNAME of the current Lisp source file being compiled or loaded
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.
Return a default directory to use for temporary files
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.
Delete an empty directory
Delete a file X if it already exists
Convert the DIRECTORY-COMPONENT from a CLHS-standard format to a format usable by the underlying implementation’s MAKE-PATHNAME and other primitives
Detects the encoding of a specified file, going through user-configurable hooks
Detects the current operating system. Only needs be run at compile-time, except on ABCL where it might change between FASL compilation and runtime.
Die in error with some error message
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.
Return a list of the entries in a directory by calling DIRECTORY.
Try to override the defaults to not resolving symlinks, if implementation allows.
Is X the name of a directory that exists on the filesystem?
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.
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.
Given a PATHNAME, return the character used to delimit directory names on this host and device.
Disable the saving of deferred warnings
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.
Is X an "easy" character that does not require quoting by the shell?
Predicate that is true for an empty sequence
Enable the saving of deferred warnings
Transform a portable ENCODING keyword to an implementation-dependent EXTERNAL-FORMAT, going through all the proper hooks.
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.
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
Ensure that for every pathname in PATHNAMES, we ensure its directories exist
Converts the non-wild pathname designator PATHSPEC to directory form.
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.
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
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.
Given a COMMAND as a list of tokens, return a string of the spaced, escaped tokens, using ESCAPER to escape.
Escape a list of command-line arguments into a string suitable for parsing by /bin/sh in POSIX
Escape a string TOKEN within double-quotes if needed for use within a POSIX Bourne shell, outputing to S.
Escape a command for the current operating system’s shell
Escape a token for the current operating system shell
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)
Escape a list of command-line arguments into a string suitable for parsing by CommandLineToArgv in MS Windows
Escape a string TOKEN within double-quotes if needed for use within a MS Windows command-line, outputing to S.
Portably read and evaluate forms from INPUT, return the last values.
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.
Is the CONDITION fatal?
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.
Is X the name of a file that exists on the filesystem?
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
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.
Parse strings as unix namestrings and remove duplicates and non absolute-pathnames in a list.
Like CL:FIND-PACKAGE, but by default raises a UIOP:NO-SUCH-PACKAGE-ERROR if the package is not found.
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.
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.
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.
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.
Return the first character of a non-empty string S, or NIL
Just like format, but call finish-outputs before and after the output.
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).
Find the actual DEFAULTS to use for pathnames, including resolving them with respect to GETCWD if the DEFAULTS were relative
Get the current working directory as per POSIX getcwd(3), as a pathname object
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.
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.
Extract an absolute directory pathname from a user-configured environment variable, as per native OS
Extract a pathname from a user-configured environment variable, as per native OS, check constraints and normalize as per ENSURE-PATHNAME.
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.
Predicate that is true if the named variable is present in the libc environment, then returning the non-empty string value of the variable
Handle a fatal CONDITION:
depending on whether *LISP-INTERACTION* is set, enter debugger or die
Return a boolean that is true if the pathname is hidden as per Unix style, i.e. its name starts with a dot.
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.
The type of Lisp implementation used, as a short UIOP-standardized keyword
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.
Return the pathname for the file named X under the system configuration directory for common-lisp. DEPRECATED.
Return the file named X in the user configuration directory for common-lisp. DEPRECATED.
If the desired INPUT is a string, return that string; otherwise slurp the INPUT into a string and return that
What character does the current OS conventionally uses to separate directories?
Return the last character of a non-empty string S, or NIL
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.
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.
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.
Where are the system files of the current installation of the CL implementation?
Is the PATHNAME under the current installation of the CL implementation?
return a string that identifies the current Lisp implementation version
From a INPUT-FILE pathname, return a corresponding .lisp source pathname
Convert a LIST into hash-table that has the same elements when viewed as a set, up to the given equality TEST
Portable wrapper around LOAD that properly handles loading from a stream.
Portably read and evaluate forms from a STRING.
Portably return the LOAD-PATHNAME of the current source file or fasl. May return a relative pathname.
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*).
Is X a designator for a location?
Is X the specification of a location function?
is X a logical-pathname?
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.
Make a pathname component suitable for use in a logical-pathname
Take a PATHNAME’s directory, name, type and version components,
and make a new pathname with corresponding components and specified logical HOST
match CONDITION against any of the patterns of CONDITIONS supplied
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.
Helper for MERGE-PATHNAMES* that handles directory components
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.
From a non-wildcard CL pathname, a return namestring suitable for passing to the operating system
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.
A pathname that is as neutral as possible for use as defaults when merging, making or parsing pathnames
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.
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.
Pathname to a bit bucket device that discards any information written to it and always returns EOF when read from
The operating system of the current host
Is the underlying operating system Genera (running on a Symbolics Lisp Machine)?
Is the underlying operating system MacOS X?
Is the underlying operating system some Unix variant?
Is the underlying operating system Microsoft Windows?
If the desired OUTPUT is not NIL, print the string to the output; otherwise return the string
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 ~*).
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.
helper to parse-windows-shortcut
From a native namestring suitable for use by the operating system, return a CL pathname satisfying all the specified constraints as per ENSURE-PATHNAME
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
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.
From a .lnk windows shortcut, extract the pathname linked to
Returns a new pathname with same HOST, DEVICE, DIRECTORY as PATHNAME, and NIL NAME, TYPE and VERSION components
Are the two pathnames P1 and P2 reasonably equal in the paths they denote?
return a pathname with the same host as given PATHNAME, and all other fields NIL
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/
return the root directory for the host and device of given PATHNAME
is X a pathname that is not a logical-pathname?
if X is a logical pathname, use translate-logical-pathname on it.
Print a backtrace
Print a condition after a backtrace triggered by that condition
Variant of PRINC that also calls TERPRI afterwards
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).
Check if a process has yet to exit.
Quits from the Lisp world, with the given exit status if provided. This is designed to abstract away the implementation specific quit forms.
Find what the actual command line for this process was.
Print a backtrace, directly accessing the implementation
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
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
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
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
Open FILE with option KEYS, read its contents as a string
Read a number in little-endian format from an byte (octet) stream S, the number having BYTES octets (defaulting to 4).
Read a null-terminated string from an octet stream S
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.
Register a function to be called when clearing configuration
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.
Register a the hook function to be run before to dump an image
Regiter a hook function to be run when restoring a dumped image
Changes the home package of a symbol, also leaving it present in its old home if any
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.
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.
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
Given the DIRECTORY-COMPONENT of a pathname, return an otherwise similar relative directory component
Given a PATHNAME, return a relative pathname with otherwise the same components
Remove a single key from a plist
Remove a list of keys from a plist
Rename a file, overwriting any previous file with the TARGET name, in an atomic way if the implementation allows.
Report an invalid form according to REPORTER and various ARGS
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.
Given a designator X for an absolute location, resolve it to a pathname
Resolve location designator X into a PATHNAME
Given a designator X for an relative location, resolve it to a pathname.
Do a best effort at resolving symlinks in PATH, returning a partially or totally resolved PATH.
RESOLVE-SYMLINKS in PATH iff *RESOLVE-SYMLINKS* is T (the default).
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.
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
Safe variant of FILE-WRITE-DATE that may return NIL rather than raise an error.
Variant of FORMAT that is safe against both
dangerous syntax configuration and errors while printing.
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.
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.
Read from STRING using a safe syntax, as per WITH-SAFE-IO-SYNTAX
Save forward reference conditions so they may be issued at a latter time, possibly in a different process.
Configure a default temporary directory to use.
Quit with a return code that is 0 iff argument X is true
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
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
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.
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.
Read the contents of the INPUT stream as a string
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.
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.
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").
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.
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.
Like EVAL-THUNK, but in a more standardized evaluation context.
Concatenate strings.
NIL is interpreted as an empty string, a character as a string of length one.
Does STRING begin with PREFIX and end with SUFFIX?
Does STRING begin with PREFIX?
Does STRING end with SUFFIX?
What least subtype of CHARACTER can contain all the elements of all the STRINGS?
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
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.
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.
returns NIL if the base pathname is NIL, otherwise like SUBPATHNAME.
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.
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.
Check if a symbol with a given NAME exists in PACKAGE and returns a form suitable for testing with #+.
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.
Return the list of system configuration directories for common-lisp. DEPRECATED. Use UIOP:SYSTEM-CONFIG-PATHNAMES (with argument "common-lisp"), instead.
Return a directory to use for temporary files
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.
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.
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.
Nicer variant of TRUENAME that plays well with NIL, avoids logical pathname contexts, and tries both files and directories
Resolve as much of a pathname as possible
Try to locate the UIOP source directory at runtime
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.
From a parsed version (a list of natural numbers), compute the version string
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.
Given the portable output of REIFY-SIMPLE-SEXP, return the simple SEXP it represents
If a previous version of ASDF failed to read some configuration, try again now.
Return the current user’s list of user configuration directories
for configuring common-lisp.
DEPRECATED. Use UIOP:XDG-CONFIG-PATHNAMES instead.
Map the VALIDATOR across the .conf files in DIRECTORY, the TAG will be applied to the results to yield a configuration form. Current values of TAG include :source-registry and :output-translations.
Validate a configuration FILE. The configuration file should have only one s-expression in it, which will be checked with the VALIDATOR FORM. DESCRIPTION argument used for error reporting.
Validate a configuration FORM. By default it will raise an error if the
FORM is not valid. Otherwise it will return the validated form.
Arguments control the behavior:
The configuration FORM should be of the form (TAG . <rest>)
Each element of <rest> will be checked by first seeing if it’s a configuration inheritance
directive (see CONFIGURATION-INHERITANCE-DIRECTIVE-P) then invoking DIRECTIVE-VALIDATOR
on it.
In the event of an invalid form, INVALID-FORM-REPORTER will be used to control
reporting (see REPORT-INVALID-FORM) with LOCATION providing information about where
the configuration form appeared.
Is the provided version a compatible substitution for the required-version?
If major versions differ, it’s not compatible.
If they are equal, then any later version is compatible,
with later being determined by a lexicographical comparison of minor numbers.
DEPRECATED.
Given a VERSION string, and the starting versions for notifying the programmer of
various levels of deprecation, return the current level of deprecation as per WITH-DEPRECATION
that is the highest level that has a declared version older than the specified version.
Each start version for a level of deprecation can be specified by a keyword argument, or
if left unspecified, will be the NEXT-VERSION of the immediate lower level of deprecation.
Given two version strings, return T if the second is strictly newer
Given two version strings, return T if the second is newer or the same
Given two version strings, return T if the first is newer or the same and the second is also newer or the same.
Wait for the process to terminate, if it is still running. Otherwise, return immediately. An exit code (a number) will be returned, with 0 indicating success, and anything else indicating failure. If the process exits after receiving a signal, the exit code will be the sum of 128 and the (positive) numeric signal code. A second value may be returned in this case: the numeric signal code itself. Any asynchronously spawned process requires this function to be run before it is garbage-collected in order to free up resources that might otherwise be irrevocably lost.
Is FILE a saved warnings file for the given IMPLEMENTATION-TYPE?
If that given type is NIL, use the currently configured *WARNINGS-FILE-TYPE* instead.
The pathname type for warnings files on given IMPLEMENTATION-TYPE, where NIL designates the current one
From a pathname, return a wildcard pathname matching any file in any subdirectory of given pathname’s directory
Variant of WRITE that also calls TERPRI afterwards
The base directory relative to which user specific non-essential data files should be stored.
Returns an absolute directory pathname.
MORE may contain specifications for a subpath relative to this directory: a
subpathname specification and keyword arguments as per RESOLVE-LOCATION (see
also "Configuration DSL") in the ASDF manual.
The preference-ordered set of additional base paths to search for configuration files.
Returns a list of absolute directory pathnames.
MORE may contain specifications for a subpath relative to these directories:
subpathname specification and keyword arguments as per RESOLVE-LOCATION (see
also "Configuration DSL") in the ASDF manual.
Returns a pathname for the directory containing user-specific configuration files. MORE may contain specifications for a subpath relative to this directory: a subpathname specification and keyword arguments as per RESOLVE-LOCATION (see also "Configuration DSL") in the ASDF manual.
Return a list of pathnames for application configuration.
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.
The preference-ordered set of additional paths to search for data files.
Returns a list of absolute directory pathnames.
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.
Returns an absolute pathname for the directory containing user-specific data files. MORE may contain specifications for a subpath relative to this directory: a subpathname specification and keyword arguments as per RESOLVE-LOCATION (see also "Configuration DSL") in the ASDF manual.
Return a list of absolute pathnames for application data directories. With APP,
returns directory for data for that application, without APP, returns the set of directories
for storing all application configurations.
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.
Pathname for user-specific non-essential runtime files and other file objects,
such as sockets, named pipes, etc.
Returns an absolute directory pathname.
MORE may contain specifications for a subpath relative to this directory: a
subpathname specification and keyword arguments as per RESOLVE-LOCATION (see
also "Configuration DSL") in the ASDF manual.
deprecated-function-condition
)) ¶name
.
SLURP-INPUT-STREAM is a generic function with two positional arguments
PROCESSOR and INPUT-STREAM and additional keyword arguments, that consumes (slurps)
the contents of the INPUT-STREAM and processes them according to a method
specified by PROCESSOR.
Built-in methods include the following:
* if PROCESSOR is a function, it is called with the INPUT-STREAM as its argument
* if PROCESSOR is a list, its first element should be a function. It will be applied to a cons of the
INPUT-STREAM and the rest of the list. That is (x . y) will be treated as
(APPLY x <stream> y)
* if PROCESSOR is an output-stream, the contents of INPUT-STREAM is copied to the output-stream,
per copy-stream-to-stream, with appropriate keyword arguments.
* if PROCESSOR is the symbol CL:STRING or the keyword :STRING, then the contents of INPUT-STREAM
are returned as a string, as per SLURP-STREAM-STRING.
* if PROCESSOR is the keyword :LINES then the INPUT-STREAM will be handled by SLURP-STREAM-LINES.
* if PROCESSOR is the keyword :LINE then the INPUT-STREAM will be handled by SLURP-STREAM-LINE.
* if PROCESSOR is the keyword :FORMS then the INPUT-STREAM will be handled by SLURP-STREAM-FORMS.
* if PROCESSOR is the keyword :FORM then the INPUT-STREAM will be handled by SLURP-STREAM-FORM.
* if PROCESSOR is T, it is treated the same as *standard-output*. If it is NIL, NIL is returned.
Programmers are encouraged to define their own methods for this generic function.
pathname
) input &key element-type external-format if-exists if-does-not-exist buffer-size linewise) ¶null
) stream &key) ¶(eql t)
) stream &rest keys &key &allow-other-keys) ¶(eql :form)
) stream &key at) ¶(eql :forms)
) stream &key count) ¶(eql :line)
) stream &key at) ¶(eql :lines)
) stream &key count) ¶(eql :string)
) stream &key stripped) ¶(eql string)
) stream &key stripped) ¶stream
) input-stream &key linewise prefix element-type buffer-size) ¶cons
) input-stream &key) ¶function
) input-stream &key) ¶subprocess-error
)) ¶code
.
subprocess-error
)) ¶subprocess-error
)) ¶VOMIT-OUTPUT-STREAM is a generic function with two positional arguments
PROCESSOR and OUTPUT-STREAM and additional keyword arguments, that produces (vomits)
some content onto the OUTPUT-STREAM, according to a method specified by PROCESSOR.
Built-in methods include the following:
* if PROCESSOR is a function, it is called with the OUTPUT-STREAM as its argument
* if PROCESSOR is a list, its first element should be a function.
It will be applied to a cons of the OUTPUT-STREAM and the rest of the list.
That is (x . y) will be treated as (APPLY x <stream> y)
* if PROCESSOR is an input-stream, its contents will be copied the OUTPUT-STREAM,
per copy-stream-to-stream, with appropriate keyword arguments.
* if PROCESSOR is a string, its contents will be printed to the OUTPUT-STREAM.
* if PROCESSOR is T, it is treated the same as *standard-input*. If it is NIL, nothing is done.
Programmers are encouraged to define their own methods for this generic function.
pathname
) input &key element-type external-format if-exists if-does-not-exist buffer-size linewise) ¶null
) stream &key) ¶(eql t)
) stream &rest keys &key &allow-other-keys) ¶string
) stream &key fresh-line terpri) ¶stream
) output-stream &key linewise prefix element-type buffer-size) ¶cons
) output-stream &key) ¶function
) output-stream &key) ¶condition
.
(quote nil)
:context-format
This slot is read-only.
(quote nil)
:context-arguments
This slot is read-only.
(quote nil)
:description
This slot is read-only.
compile-condition
.
error
.
compile-condition
.
warning
.
compile-condition
.
error
.
compile-condition
.
error
.
compile-condition
.
warning
.
condition
.
:name
This slot is read-only.
deprecated-function-condition
.
error
.
deprecated-function-condition
.
error
.
deprecated-function-condition
.
style-warning
.
deprecated-function-condition
.
warning
.
condition
.
invalid-output-translation
.
invalid-source-registry
.
:form
This slot is read-only.
:location
This slot is read-only.
common-lisp
.
:format
This slot is read-only.
(quote nil)
:arguments
This slot is read-only.
simple-style-warning
.
error
.
(quote nil)
:code
This slot is read-only.
(quote nil)
:command
This slot is read-only.
(quote nil)
:process
This slot is read-only.
This class should be treated as opaque by programmers, except for the exported PROCESS-INFO-* functions. It should never be directly instantiated by MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.
Has the image been restored? A boolean, or :in-progress while restoring, :in-regress while dumping
The standard readtable, implementing the syntax specified by the CLHS.
It must never be modified, though only good implementations will even enforce that.
Wild directory component for use with MAKE-PATHNAME
Wild-inferiors directory component for use with MAKE-PATHNAME
Name of the slot for FORMAT-CONTROL in simple-condition
Determines whether a run-program I/O specifier requires Lisp-side processing
via SLURP-INPUT-STREAM or VOMIT-OUTPUT-STREAM (return T),
or whether it’s already taken care of by the implementation’s underlying run-program.
Normalizes a portable I/O specifier for LAUNCH-PROGRAM into an implementation-dependent argument to pass to the internal RUN-PROGRAM
DEPRECATED. Use LAUNCH-PROGRAM instead.
A portable abstraction of a low-level call to libc’s system().
Given FUN (typically SLURP-INPUT-STREAM or VOMIT-OUTPUT-STREAM,
a PROCESSOR specification which is either an atom or a list specifying
a processor an keyword arguments, call the specified processor with
the given STREAM as input
Calls FUNCTION with an actual stream argument, interpreting
stream designators like READ, but also coercing strings to STRING-INPUT-STREAM,
and PATHNAME to FILE-STREAM.
If INPUT is a STREAM, use it as the stream.
If INPUT is NIL, use a *STANDARD-INPUT* as the stream.
If INPUT is T, use *TERMINAL-IO* as the stream.
If INPUT is a STRING, use it as a string-input-stream.
If INPUT is a PATHNAME, open it, passing KEYS to WITH-INPUT-FILE
– the latter is an extension since ASDF 3.1.
Otherwise, signal an error.
Calls FUNCTION with an actual stream argument,
behaving like FORMAT with respect to how stream designators are interpreted:
If OUTPUT is a STREAM, use it as the stream.
If OUTPUT is NIL, use a STRING-OUTPUT-STREAM of given ELEMENT-TYPE as the stream, and
return the resulting string.
If OUTPUT is T, use *STANDARD-OUTPUT* as the stream.
If OUTPUT is a STRING with a fill-pointer, use it as a STRING-OUTPUT-STREAM of given ELEMENT-TYPE.
If OUTPUT is a PATHNAME, open the file and write to it, passing ELEMENT-TYPE to WITH-OUTPUT-FILE
– this latter as an extension since ASDF 3.1.
(Proper ELEMENT-TYPE treatment since ASDF 3.3.4 only.)
Otherwise, signal an error.
If WARNINGS-FILE is not nil, record the deferred-warnings around a call to THUNK
and save those warnings to the given file for latter use,
possibly in a different process. Otherwise just call THUNK.
Compute (and return) the location of the default user-cache for translate-output objects. Side-effects for cached file location computation.
Is X an "easy" character that does not require quoting by the shell?
Escape a string TOKEN within double-quotes
for use within a POSIX Bourne shell, outputing to S;
omit the outer double-quotes if key argument :QUOTE is NIL
Escape a string token X within double-quotes
for use within a MS Windows command-line, outputing to S.
A helper for various feature detection functions
for each substring in SUBSTRINGS, find occurrences of it within STRING
that don’t use parts of matched occurrences of previous strings, and
FROB them, that is to say, remove them if FROB is NIL,
replace by FROB if FROB is a STRING, or if FROB is a FUNCTION,
call FROB with the match and a function that emits a string in the output.
Return a string made of the parts not omitted or emitted by FROB.
Is the underlying operating system Haiku?
Is the underlying operating system Mezzano?
Is the underlying operating system an (emulated?) MacOS 9 or earlier?
Does this token require escaping, given the specification of
either good chars that don’t need escaping or bad chars that do need escaping,
as either a recognizing function or a sequence of characters.
Detect SB-GROVEL unknown-constant conditions on older versions of SBCL
compile-condition
)) ¶compile-condition
)) ¶compile-condition
)) ¶invalid-configuration
)) ¶invalid-configuration
)) ¶form
.
invalid-configuration
)) ¶invalid-configuration
)) ¶no-such-package-error
)) ¶simple-style-warning
.
type-error
.
Initarg | Value |
---|---|
:expected-type | (quote package-designator) |
Jump to: | %
(
A B C D E F G H I L M N O P Q R S T U V W X |
---|
Jump to: | %
(
A B C D E F G H I L M N O P Q R S T U V W X |
---|
Jump to: | *
+
A B C D E F I L N O P S |
---|
Jump to: | *
+
A B C D E F I L N O P S |
---|
Jump to: | B C D F I L N O P R S T U V |
---|
Jump to: | B C D F I L N O P R S T U V |
---|