All Manuals > LispWorks® User Guide and Reference Manual

Contents

Preface

1 Starting LispWorks

1.1 The usual way to start LispWorks

1.2 Passing arguments to LispWorks

1.2.1 Saving a new image

1.2.2 Saving a console mode image

1.2.3 Bypassing initialization files

1.2.4 Other command line options

1.3 Starting the LispWorks Graphical IDE

1.4 Using LispWorks with SLIME

1.4.1 Using the Professional/Enterprise Editions with SLIME

1.4.2 Using the Personal Edition with SLIME

1.5 Quitting LispWorks

2 The Listener

2.1 First use of the listener

2.2 Standard listener commands

2.2.1 Standard top-level loop commands

2.2.2 Examples

2.3 The listener prompt

3 The Debugger

3.1 Entering the REPL debugger

3.2 Simple use of the REPL debugger

3.3 The stack in the debugger

3.4 REPL debugger commands

3.4.1 Backtracing

3.4.2 Moving around the stack

3.4.3 Miscellaneous commands

3.4.4 Leaving the debugger

3.4.5 Example debugging session

3.5 Debugger troubleshooting

3.6 Debugger control variables

3.7 Remote debugging

3.7.1 Simple usage

3.7.1.1 Using the IDE as the TCP server

3.7.1.2 Using the client as the TCP server

3.7.2 The client side of remote debugging

3.7.3 The IDE side of remote debugging

3.7.3.1 Accessing client side objects on the IDE side

3.7.3.2 Controlling the client side from the IDE side

3.7.4 Troubleshooting

3.7.4.1 Failing to open connections

3.7.4.2 The Inspector does not show slots in a remote object

3.7.5 Advanced usage - multiple connections

3.7.5.1 Client side connection management

3.7.5.2 IDE side connection management

3.7.5.3 Common (both IDE and client) connection functions

3.7.6 TCP port usage in remote debugging

3.7.7 Using SSL for remote debugging

4 The REPL Inspector

4.1 Describe

4.2 Inspect

4.3 Inspection modes

4.3.1 Hash table inspection modes

5 The Trace Facility

5.1 Simple tracing

5.2 Tracing options

5.2.1 Evaluating forms on entry to and exit from a traced function

5.2.2 Evaluating forms without printing results

5.2.3 Using the debugger when tracing

5.2.4 Entering stepping mode

5.2.5 Configuring function entry and exit information

5.2.6 Directing trace output

5.2.7 Restricting tracing

5.2.8 Storing the memory allocation made during a function call

5.2.9 Tracing functions from inside other functions

5.3 Example

5.4 Tracing methods

5.5 Tracing subfunctions

5.5.1 Notes on subfunction names

5.6 Trace variables

5.7 Troubleshooting tracing

5.7.1 Excessive output

5.7.2 Missing output

5.7.2.1 Compiled code may not call the functions you expect

5.7.2.2 trace works on function names, not function objects

6 The Advice Facility

6.1 Defining advice

6.2 Combining the advice

6.2.1 :before and :after advice

6.2.2 :around advice

6.3 Removing advice

6.4 Advice for macros and methods

6.5 Advising subfunctions

6.5.1 Notes on subfunction names

6.6 Examples

6.7 Advice functions and macros

7 Dspecs: Tools for Handling Definitions

7.1 Dspecs

7.2 Forms of dspecs

7.2.1 Canonical dspecs

7.3 Dspec namespaces

7.3.1 Dspec classes

7.3.1.1 Complete example of a top-level dspec class

7.3.1.2 Example of subclassing

7.3.2 Dspec aliases

7.4 Types of relations between definitions

7.4.1 Functionally equivalent definers

7.4.2 Grouping subdefinitions together

7.4.3 Distributed definitions

7.5 Details of built-in dspec classes and aliases

7.5.1 Function dspecs

7.5.2 CLOS dspec classes

7.5.3 Part Classes

7.5.4 Foreign callable dspecs

7.6 Subfunction dspecs

7.7 Tracking definitions

7.7.1 Locations

7.7.2 Recording definitions and redefinition checking

7.7.2.1 Use of record-definition

7.7.2.2 Protecting packages

7.7.3 Source level debugging and stepping

7.8 Finding locations

7.9 Users of location information

7.9.1 Finding definitions in the LispWorks editor

7.9.2 Using pre-defined form parsers

7.9.3 The editor's implicit form parser

7.9.4 Reusing form parsers

7.9.5 Example: defcondition

7.9.6 Example: my-defmethod

8 Action Lists

8.1 Defining action lists and actions

8.2 Exception handling variables

8.3 Other variables

8.4 Diagnostic utilities

8.5 Examples

8.6 Standard Action Lists

9 The Compiler

9.1 Compiling a function

9.2 Compiling a source file

9.2.1 Debugging errors from source file compilation

9.3 Compiling a form

9.4 How the compiler works

9.5 Compiler control

9.5.1 Examples of compiler control

9.6 Declare, proclaim, and declaim

9.6.1 Naming conventions

9.7 Optimizing your code

9.7.1 Compiler optimization hints

9.7.2 Fast integer arithmetic

9.7.3 Floating point optimization

9.7.4 Double-float complex number optimization

9.7.5 Tail call optimization

9.7.6 Usage of special variables

9.7.6.1 Finding symbols to declare

9.7.6.2 Coalesce multiple special bindings

9.7.7 Stack allocation of objects with dynamic extent

9.7.8 Inlining foreign slot access

9.7.9 Built-in optimization of remove-duplicates and delete-duplicates

9.8 Compiler parameters affecting LispWorks

10 Code Coverage

10.1 Using Code Coverage

10.1.1 Compiling the code to record code coverage information

10.1.2 Loading the code

10.1.3 Exercising the code

10.1.4 Displaying the results

10.2 Manipulating code coverage data

10.3 Preventing code generation for some forms

10.4 Code coverage and multithreading

10.5 Counting overflow

10.6 Memory usage and code speed

10.7 Understanding the code coverage output

10.7.1 Eliminated forms

10.7.2 Displaying counters

10.7.3 Function forms where the function is not actually called

10.7.4 Partially hidden

10.8 Coloring code that has changed

11 Memory Management

11.1 Introduction

11.2 Guidance for control of the memory management system

11.2.1 General guidance

11.2.2 Short-lived data

11.2.3 Long-lived data

11.2.4 Permanent data

11.3 Memory Management in 32-bit LispWorks

11.3.1 Generations

11.3.2 Allocation of objects

11.3.2.1 Allocation of static objects

11.3.2.2 Allocation in different generations

11.3.3 GC operations

11.3.4 Garbage collection strategy

11.3.5 Memory layout

11.3.5.1 Linux

11.3.5.2 FreeBSD

11.3.5.3 x86/x64 Solaris

11.3.5.4 Windows

11.3.6 Approaching the memory limit

11.3.7 Overflow

11.3.8 Behavior of generation 1

11.3.9 Behavior of generation 2

11.3.10 Forcing expansion

11.3.11 Controlling Fragmentation

11.3.12 Summary of garbage collection symbols

11.3.12.1 Determining memory usage

11.3.12.2 Allocating in specific generations

11.3.12.3 Controlling a specific generation

11.3.12.4 Controlling the garbage collector

11.4 Memory Management in 64-bit LispWorks

11.4.1 General organization of memory

11.4.2 Segments and Allocation Types

11.4.3 Garbage Collection Operations

11.4.4 Generation Management

11.4.5 Tuning the garbage collector

11.4.5.1 Interface for tuning the GC

11.5 The Mobile GC

11.5.1 Mobile GC changes to common functions and macros

11.5.2 Mobile GC technical details

11.5.2.1 Objects alive at delivery time

11.5.2.2 Objects allocated at run time

11.5.2.3 Special considerations for the Mobile GC

11.5.3 Tuning memory management in the Mobile GC

11.5.3.1 Response to low memory

11.5.3.2 Preventing/reducing GC of generation 2

11.6 Common Memory Management Features

11.6.1 Timing the garbage collector

11.6.2 Reducing image size

11.6.3 Allocation of interned symbols and packages

11.6.4 Allocation of stacks

11.6.5 Mapping across all objects

11.6.6 Special actions

11.6.7 Garbage collection of foreign objects

11.6.8 Freeing of objects by the GC

11.6.9 Assisting the garbage collector

11.6.9.1 Breaking pointers from older objects

12 The Profiler

12.1 What the profiler does

12.2 Setting up the profiler

12.3 Running the profiler

12.3.1 Using the macro profile

12.3.2 Programmatic control of profiling

12.4 Profiler output

12.4.1 Interpretation of profiling results

12.4.2 Displaying parts of the tree

12.5 Profiling pitfalls

12.6 Profiling and garbage collection

12.7 Profiler tree file format

12.7.1 Parsing the file

12.7.2 Viewing the file as text

13 Customization of LispWorks

13.1 Introduction

13.1.1 Pre-loading code

13.1.2 Loading code at start up

13.1.3 Specific customizations

13.2 Configuration and initialization files

13.2.1 Configuration files

13.2.2 Initialization files

13.3 Saving a LispWorks image

13.3.1 The configuration file

13.3.2 The save-image script

13.3.3 Save your new image

13.3.4 Use your new image

13.3.5 Saving a non-GUI image with multiprocessing enabled

13.3.6 Code signing in saved images

13.3.6.1 Signing your development image

13.3.6.2 Signing in the distributed LispWorks executable

13.3.6.3 Signing your runtime application

13.3.7 Saving images and delivering on Apple silicon Macs

13.4 Saved sessions

13.4.1 The default session

13.4.2 What is saved and what is not saved

13.4.3 Saving a session programmatically

13.4.3.1 Save Session actions

13.4.3.2 Non-IDE interfaces

13.4.4 Saving a session using the IDE

13.5 Load and open your files on startup

13.6 Customizing the editor

13.6.1 Controlling appearance of found definitions

13.6.2 Specifying the number of editor windows

13.6.3 Binding commands to keystrokes

13.7 Finding source code

13.8 Controlling redefinition warnings

13.9 Specifying the initial working directory

13.10 Customizing LispWorks for use with your own code

13.10.1 Preloading selected modules

13.10.2 Creating packages

13.11 Structure printing

13.12 Configuring the printer

13.12.1 PPD file details

14 LispWorks as a dynamic library

14.1 Introduction

14.2 Creating a dynamic library

14.2.1 C functions provided by the system

14.2.2 C functions provided by the application

14.2.3 Example

14.3 Initialization of the dynamic library

14.3.1 Automatic initialization

14.3.2 Initialization via InitLispWorks

14.4 Relocation

14.5 Multiprocessing in a dynamic library

14.6 Unloading a dynamic library

15 Java interface

15.1 Types and conversion between Lisp and Java

15.1.1 Mapping of Java primitive types to and from Lisp types

15.1.2 java.lang.String

15.1.3 Java non-primitive objects

15.2 Calling from Lisp to Java

15.2.1 Importing classes

15.2.2 Defining specific callers

15.2.3 Verifying callers

15.2.4 Calling methods without defining callers

15.2.5 Actual Java call

15.3 Calling from Java to Lisp

15.3.1 Direct calls

15.3.2 Using proxies

15.4 Working with Java arrays

15.4.1 Accessing a single element

15.4.2 Making Java arrays

15.4.3 Multiple access functions

15.5 Initialization of the Java interface

15.6 Utilities and administration

15.7 Loading a LispWorks dynamic library into Java

15.8 CLOS partial integration

15.9 Java interface performance issues

16 Android interface

16.1 Delivering for Android

16.1.1 Configuration for Separate APKs for different architectures

16.1.2 ABI splitting using flavors in the OthelloDemo

16.2 Directories on Android

16.3 Writing debugging messages

16.4 The Othello demo for Android

16.4.1 Creating an Android Studio project

16.4.2 Delivering LispWorks to the project

16.4.3 Running the application

16.4.3.1 The Lisp Panel screen

16.4.3.2 Prepared forms

16.4.4 Lisp interface usage in the Java code

16.4.4.1 Class Othello

16.4.4.2 Class LispPanel

16.4.4.3 Class MyApplication

16.4.4.4 Class LispWorksRuntimeDemo

16.4.4.5 Class History

16.4.4.6 Class SquareLayout

16.4.5 Java and Android interface in the Lisp code

17 iOS interface

17.1 Delivering for iOS

17.2 Initializing LispWorks

17.3 Using Objective-C from Lisp

17.4 Limitations of the iOS Runtime

17.5 The Othello demo for iOS

17.5.1 Notes about the Xcode project

17.5.2 The Othello game

17.5.3 The Lisp evaluation pane

17.5.4 Notes about the Lisp code

17.6 The Mobile GC

18 The Metaobject Protocol

18.1 Metaobject features incompatible with AMOP

18.1.1 Instance Structure Protocol

18.1.2 Method Metaobjects

18.1.3 Method Lambdas

18.1.4 Method Functions

18.1.5 EQL specializers

18.1.6 Generic Function Invocation Protocol

18.1.7 Method combinations

18.1.8 Compatible metaclasses

18.1.9 Inheritance Structure of Metaobject Classes

18.2 Metaobject features additional to AMOP

18.2.1 Computing the effective method function

18.3 Common problems when using the MOP

18.3.1 Inheritance across metaclasses

18.3.2 Accessors not using structure instance protocol

18.3.3 The MOP in delivered images

18.4 Implementation of virtual slots

19 Multiprocessing

19.1 Introduction to processes

19.2 Processes basics

19.2.1 Creating a process

19.2.2 Finding out about processes

19.2.3 Multiprocessing

19.2.3.1 Starting multiprocessing interactively

19.2.3.2 Multiprocessing on startup

19.2.3.3 Running your own processes on startup

19.3 Atomicity and thread-safety of the LispWorks implementation

19.3.1 Immutable objects

19.3.2 Mutable objects supporting atomic access

19.3.3 Mutable objects not supporting atomic access

19.3.4 Making an object's contents accessible to other threads

19.3.4.1 Ways to guarantee the visibility of stores

19.3.4.2 Special care for macros and accessors that may themselves allocate

19.3.5 Ensuring stores are visible to other threads

19.3.5.1 An example to consider the issues

19.3.5.2 The general solution using a lock or another synchronization object

19.3.5.3 An alternative solution using globally-accessible

19.3.5.4 An alternative solution using ensure-stores-after-stores

19.3.5.5 Destructive macros and accessors that allocate internally

19.3.5.6 Miscellaneous notes

19.3.6 Issues with order of memory accesses

19.3.7 Single-thread context arrays and hash-tables

19.4 Locks

19.4.1 Recursive and sharing locks

19.4.2 Querying locks

19.4.3 Guarantees and limitations when locking and unlocking

19.5 Modifying a hash table with multiprocessing

19.6 Process Waiting and communication between processes

19.6.1 Specific Process Wait functions

19.6.2 Generic Process Wait functions

19.6.3 Communication between processes and synchronization

19.6.4 Synchronization

19.7 Synchronization between threads

19.7.1 Condition variables

19.7.2 Synchronization barriers

19.7.3 Counting semaphores

19.8 Killing a process, interrupts and blocking interrupts

19.8.1 Killing a process

19.8.2 Interrupting a process

19.8.3 Blocking interrupts

19.8.4 Old interrupt blocking APIs removed

19.8.4.1 Atomic increment

19.8.4.2 Atomic push/pop

19.8.4.3 Atomic push/delete

19.8.4.4 Atomic plist update

19.8.4.5 Atomic update of a data structure

19.8.4.6 Atomic access to a cache in a hash table

19.9 Timers

19.9.1 Timers and multiprocessing

19.9.2 Input and output for timer functions

19.10 Process properties

19.11 Other processes functions

19.11.1 Process Priorities

19.11.1.1 Process priorities in SMP LispWorks

19.11.1.2 Process priorities in non-SMP LispWorks

19.11.2 Accessing symbol values across processes

19.11.3 Stopping and unstopping processes

19.12 Native threads and foreign code

19.12.1 Foreign callbacks on threads not created by Lisp

19.12.1.1 Performance considerations for foreign threads

19.13 Low level operations

19.13.1 Low level atomic operations

19.13.2 Aids for implementing modification checks

19.13.2.1 Example modification check

19.13.3 Ensuring order of memory between operations in different threads

19.13.3.1 Example of ensuring order of memory

19.14 Some mistakes to avoid with multithreading

19.14.1 Closures

19.14.2 Use of with-slots

20 Common Defsystem and ASDF

20.1 Introduction

20.2 Defining a system

20.2.1 DEFSYSTEM syntax

20.2.2 DEFSYSTEM options

20.2.3 DEFSYSTEM members

20.2.4 DEFSYSTEM rules

20.2.5 Examples

20.3 Using ASDF

20.3.1 Bypassing the supplied version of ASDF

20.3.2 Using ASDF in the LispWorks IDE

21 The Parser Generator

21.1 Introduction

21.2 Grammar rules

21.2.1 Example

21.2.2 Combined rules

21.2.3 Resolving ambiguities

21.3 Functions defined by defparser

21.4 Error handling

21.5 Interface to the lexical analyzer

21.6 Example

22 Dynamic Data Exchange

22.1 Introduction

22.1.1 Types of transaction

22.1.2 Conversations, servers, topics, and items

22.1.3 Advise loops

22.1.4 Execute transactions

22.2 Client interface

22.2.1 Opening and closing conversations

22.2.2 Automatically managed conversations

22.2.3 Advise loops

22.2.3.1 Example advise loop

22.2.4 Request and poke transactions

22.2.5 Execute transactions

22.3 Server interface

22.3.1 Starting a DDE server

22.3.2 Handling poke and request transactions

22.3.3 Topics

22.3.3.1 General topics

22.3.3.2 Dispatching topics

22.3.3.3 The system topic

23 Common SQL

23.1 Introduction

23.1.1 Overview

23.1.2 Supported databases

23.2 Initialization

23.2.1 Initialization steps

23.2.2 Database libraries

23.2.3 General database connection and disconnection

23.2.3.1 Connection example

23.2.4 Connecting to Oracle

23.2.5 Connecting to ODBC

23.2.5.1 Connecting to ODBC using a string

23.2.5.2 Connecting to ODBC using a plist

23.2.6 Connecting to MySQL

23.2.6.1 Connecting to MySQL using a string

23.2.6.2 Connecting to MySQL using a plist

23.2.6.3 Locating the MySQL client library

23.2.6.4 Special instructions for MySQL on macOS

23.2.7 Connecting to PostgreSQL

23.2.7.1 Connecting to PostgreSQL using a string

23.2.7.2 Connecting to PostgreSQL using a plist

23.2.7.3 Escaping and standard_conforming_strings

23.2.8 Connecting to SQLite.

23.2.8.1 Locating the SQLite client library

23.2.8.2 SQLite string encoding

23.2.8.3 SQLite connection keywords

23.3 Functional interface

23.3.1 Functional Data Manipulation Language (FDML)

23.3.1.1 Querying

23.3.1.2 Modification

23.3.1.3 Caching of table queries

23.3.1.4 Transaction handling

23.3.1.5 Iteration

23.3.1.6 Specifying SQL directly

23.3.1.7 Building vendor-specific SQL

23.3.1.8 Prepared statements

23.3.2 Functional Data Definition Language (FDDL)

23.3.2.1 Querying the schema

23.3.2.2 FDDL Querying example

23.3.2.3 Modification

23.4 Object oriented interface

23.4.1 Object oriented/relational model

23.4.1.1 Inheritance for View Classes

23.4.2 Object-Oriented Data Definition Language (OODDL)

23.4.2.1 Example View Class definition

23.4.3 Object-Oriented Data Manipulation Language (OODML)

23.4.3.1 Examples

23.4.3.2 Iteration

23.4.3.3 Garbage collection of view instances

23.5 Symbolic SQL syntax

23.5.1 The "[...]" Syntax

23.5.1.1 Enclosing database identifiers

23.5.1.2 Specifying the type of retrieved values.

23.5.1.3 Symbolic expression of SQL operators

23.5.1.4 Calling database functions

23.5.1.5 Enclosing a SQL expression directly

23.5.1.6 SQL string literals

23.5.2 Programmatic interface

23.5.2.1 Examples

23.5.3 Utilities

23.6 Working with date fields

23.6.1 Testing date values

23.6.2 DATE returned as universal time

23.6.2.1 Timezone of returned DATEs

23.6.3 DATE returned as string

23.6.4 Using universal time format

23.7 SQL I/O recording

23.8 Error handling in Common SQL

23.8.1 SQL condition classes

23.8.2 Database error accessors

23.9 Using MySQL

23.9.1 Connection specification

23.9.2 Case of table names and database names

23.9.3 Encoding (character sets in MySQL).

23.9.4 SQL mode

23.9.5 Meaning of the :owner argument to select

23.9.6 Special considerations for iteration functions and macros

23.9.6.1 Fetching multiple records

23.9.6.2 Aborting queries which fetch many records

23.9.7 Table types

23.9.8 Rollback errors

23.9.9 Types of values returned from queries

23.9.10 Autocommit

23.10 Using Oracle

23.10.1 Connection specification

23.10.2 Setting connection parameters

23.11 Oracle LOB interface

23.11.1 Introduction

23.11.1.1 Retrieving LOB locators

23.11.1.2 Operating on LOB locators

23.11.1.3 Inserting empty LOBs

23.11.2 Retrieving Lob Locators

23.11.3 Locking

23.11.4 Retrieving LOB Locators as streams

23.11.5 Attaching a stream to a LOB locator

23.11.6 Interactions with foreign calls

23.11.7 Determining the type of a LOB

23.11.8 Reading and writing from and to LOBs

23.11.9 The LOB functions

23.11.9.1 Querying functions

23.11.9.2 LOB management functions

23.11.9.3 Modifying LOBs

23.11.9.4 File operations

23.11.9.5 Direct I/O

23.11.9.6 Temporary LOBs

23.11.9.7 Control of buffering

23.11.10 Fetching the contents of the LOBs directly

23.12 Using ODBC

23.12.1 Configuring unixODBC

23.12.2 Loading unixODBC

23.12.3 External format for ODBC strings

23.12.4 Using non-ASCII strings on Microsoft SQL Server

23.13 Using SQLite

23.13.1 Connecting to SQLite

23.13.2 Types of retrieved fields in queries

23.13.3 Tables containing a uniform type per column

23.13.4 Reading from blobs using a handle (sqlite-raw-blob) and modifying blobs (sqlite-blob)

23.13.5 Values in Insert and Update.

23.13.6 Accessing ATTACHed databases

24 User Defined Streams

24.1 Introduction

24.2 An illustrative example of user defined streams

24.2.1 Defining a new stream class

24.2.2 Recognizing the stream element type

24.2.3 Stream directionality

24.2.4 Stream input

24.2.5 Stream output

24.2.6 Instantiating the stream

25 TCP and UDP socket communication and SSL

25.1 Running a server that accepts connections

25.2 Connecting to a server

25.2.1 Examples

25.3 Specifying the target for connecting and binding a socket

25.4 Information about IP addresses

25.5 Waiting on a socket stream

25.6 Special considerations

25.6.1 IPv6 on Windows XP

25.7 Asynchronous I/O

25.7.1 The wait-state-collection API

25.7.2 The Async-I/O-State API

25.7.3 Writing callbacks in Asynchronous I/O operations

25.7.4 Asynchronous I/O and multiprocessing

25.8 Using SSL

25.8.1 SSL implementations

25.8.2 Obtaining and installing the OpenSSL library

25.8.2.1 Installing the OpenSSL library on Solaris

25.8.2.2 How LispWorks locates the OpenSSL libraries

25.8.3 SSL abstract contexts

25.8.4 Creating a stream with SSL

25.8.5 Using Asynchronous I/O with SSL

25.8.6 Keyword arguments for use with SSL

25.8.7 Attaching SSL to an existing socket

25.8.8 Errors in SSL

25.8.9 Examples of using the socket stream SSL interface

25.9 Socket streams with Java sockets and SSL on Android

25.9.1 Android-specific points

25.10 Advanced OpenSSL-specific issues

25.10.1 OpenSSL interface

25.10.1.1 OpenSSL constants

25.10.1.2 Naming conventions for direct OpenSSL calls

25.10.1.3 Mapping C names to Lisp names

25.10.1.4 Mapping Lisp names to C names

25.10.2 Direct calls to OpenSSL

25.10.3 Using SSL objects directly

25.10.4 Initialization

26 Internationalization: characters, strings and encodings

26.1 Introduction

26.2 Unicode support

26.3 Character and String types

26.3.1 Character types

26.3.2 Compatibility notes

26.3.3 Character Syntax

26.3.4 Compatibility notes

26.3.5 String types

26.3.5.1 String types at run time

26.3.5.2 String types at compile time

26.4 String accessors

26.5 String Construction

26.5.1 Default string construction

26.5.2 String construction with known type

26.5.3 Controlling string construction

26.5.4 String construction on Windows systems

26.6 External Formats to translate Lisp characters from/to external encodings

26.6.1 External format names

26.6.2 16-bit External formats guide

26.6.2.1 Unicode

26.6.2.2 UTF-16

26.6.2.3 BMP

26.6.3 External Formats and File Streams

26.6.3.1 Complete external format ef-specs

26.6.3.2 Using complete external formats

26.6.3.3 Guessing the external format

26.6.3.4 Example of using UTF-8 by default

26.6.3.5 Example of using UTF-8 if possible

26.6.3.6 External formats and stream-element-type

26.6.3.7 External formats and the LispWorks Editor

26.6.3.8 Byte Order Mark

26.6.4 External Formats and the Foreign Language Interface

26.7 Unicode character and string functions

26.7.1 Unicode case insensitive character comparison

26.7.2 Unicode case insensitive string comparison

26.7.3 Unicode character predicates

27 LispWorks' Operating Environment

27.1 The Operating System

27.2 Site Name

27.3 The Lisp Image

27.4 The Command Line

27.4.1 Command Line Arguments

27.4.2 Accessing environment variables

27.5 Address Space and Image Size

27.5.1 Size of real memory

27.5.2 Layout of memory

27.5.3 Reporting current allocation

27.6 Startup relocation

27.6.1 How to relocate LispWorks

27.6.2 Startup relocation of 32-bit LispWorks

27.6.3 Startup relocation of 64-bit LispWorks

27.6.3.1 Linux

27.6.3.2 Windows and Macintosh

27.7 Calling external programs

27.7.1 Interpreting the exit status

27.8 Snapshot debugging of startup errors

27.9 System message log

27.10 Exit status

27.11 Creating a new executable with code preloaded

27.12 Universal binaries on macOS

27.13 User Preferences

27.13.1 Location of persistent settings

27.13.2 Accessing persistent settings

27.13.3 Example using user preferences

27.14 File system interface

27.14.1 Encoding of file names and strings in OS interface functions

27.14.2 Fast access to files in a directory

27.15 Special locations in the file system

27.15.1 The home directory

27.15.2 Special Folders

27.15.3 Temporary files

27.16 The console external format

27.17 Accessing the Windows registry

27.18 Physical pathnames in LispWorks

27.18.1 Parsing physical namestrings in LispWorks

27.18.1.1 Detailed description of the parsing of namestrings

27.18.2 Namestrings of pathnames

27.18.3 Creating pathnames with make-pathname

27.18.4 Backslashes in pathnames on non-Windows platforms

27.18.5 Windows UNC pathnames (Windows only)

27.18.6 Wildcards in pathname components

27.18.7 Pathname comparison

27.18.7.1 Pathname comparison on macOS

28 Miscellaneous Utilities

28.1 Object addresses and memory

28.2 Optimized integer arithmetic and integer vector access

28.2.1 Typed aref vectors

28.2.2 Fast 32-bit arithmetic

28.2.2.1 Optimized and unoptimized INT32 code

28.2.2.2 The INT32 API

28.2.2.3 INT32 Optimization

28.2.3 Fast 64-bit arithmetic

28.2.3.1 Optimized and unoptimized INT64 code

28.2.3.2 The INT64 API

28.2.3.3 INT64 Optimization

28.2.4 Integer vector access

28.3 Transferring large amounts of data

28.4 Rings

28.5 Conditional throw and checking for catch in the dynamic environment

28.6 Checking for a dynamic binding

28.7 Regular expression syntax

29 64-bit LispWorks

29.1 Introduction

29.2 Heap size

29.3 Architectural constants

29.4 Speed

29.5 Memory Management and cl:room

29.6 Greater allocation expected in 64-bit LispWorks

29.7 Float types

29.8 External libraries

30 Self-contained examples

30.1 COMM examples

30.1.1 SSL examples

30.1.2 Asynchronous I/O examples

30.2 Streams examples

30.3 DDE examples

30.4 Parser generator examples

30.5 Examples for save-image in a macOS application bundle

30.6 Miscellaneous examples

31 The CLOS Package

break-new-instances-on-access

break-on-access

class-extra-initargs

compute-class-potential-initargs

compute-discriminating-function

compute-effective-method-function-from-classes

copy-standard-object

funcallable-standard-object

process-a-class-option

process-a-slot-option

replace-standard-object

set-clos-initarg-checking

set-make-instance-argument-checking

slot-boundp-using-class

slot-makunbound-using-class

slot-value-using-class

trace-new-instances-on-access

trace-on-access

unbreak-new-instances-on-access

unbreak-on-access

untrace-new-instances-on-access

untrace-on-access

32 The COMM Package

accepting-handle

accepting-handle-collection

accepting-handle-local-port

accepting-handle-name

accepting-handle-socket

accepting-handle-user-info

accept-tcp-connections-creating-async-io-states

apply-in-wait-state-collection-process

async-io-ssl-failure-indicator-from-failure-args

async-io-state

async-io-state-abort

async-io-state-abort-and-close

async-io-state-address

async-io-state-attach-ssl

async-io-state-buffered-data-length

async-io-state-ctx

async-io-state-detach-ssl

async-io-state-discard

async-io-state-finish

async-io-state-get-buffered-data

async-io-state-handshake

async-io-state-max-read

async-io-state-old-length

async-io-state-peer-address

async-io-state-read-buffer

async-io-state-read-status

async-io-state-read-with-checking

async-io-state-receive-message

async-io-state-send-message

async-io-state-send-message-to-address

async-io-state-ssl

async-io-state-ssl-side

async-io-state-write-buffer

async-io-state-write-status

attach-ssl

call-wait-state-collection

close-accepting-handle

close-async-io-state

close-socket-handle

close-wait-state-collection

connect-to-tcp-server

create-and-run-wait-state-collection

create-async-io-state

create-async-io-state-and-connected-tcp-socket

create-async-io-state-and-connected-udp-socket

create-async-io-state-and-udp-socket

create-ssl-client-context

create-ssl-server-context

create-ssl-socket-stream

destroy-ssl

destroy-ssl-ctx

detach-ssl

do-rand-seed

ensure-ssl

find-ssl-connection-from-ssl-ref

generalized-time

generalized-time-p

generalized-time-pprint

generalized-time-string

get-certificate-common-name

get-certificate-data

get-certificate-serial-number

get-default-local-ipv6-address

get-host-entry

get-ip-default-zone-id

get-service-entry

get-socket-address

get-socket-peer-address

get-verification-mode

ip-address-string

ipv6-address

ipv6-address-p

ipv6-address-scope-id

ipv6-address-string

loop-processing-wait-state-collection

make-generalized-time

make-ssl-ctx

make-wait-state-collection

openssl-version

open-tcp-stream

open-tcp-stream-using-java

parse-ipv6-address

parse-printed-generalized-time

pem-read

read-dhparams

release-certificate

release-certificates-vector

replace-socket-stream-socket

reset-ssl-abstract-context

sec-certificate-ref

server-terminate

set-ssl-ctx-dh

set-ssl-ctx-options

set-ssl-ctx-password-callback

set-ssl-library-path

set-verification-mode

socket-connect-error

socket-connection-peer-address

socket-connection-socket

socket-create-error

socket-error

socket-error

socket-io-error

socket-stream

socket-stream-address

socket-stream-ctx

socket-stream-handshake

socket-stream-peer-address

socket-stream-shutdown

socket-stream-ssl

socket-stream-ssl-side

ssl-abstract-context

ssl-cipher-pointer

ssl-cipher-pointer-stack

ssl-closed

ssl-condition

ssl-connection-copy-peer-certificates

ssl-connection-get-peer-certificates-data

ssl-connection-protocol-version

ssl-connection-read-certificates

ssl-connection-read-dh-params-file

ssl-connection-ssl-ref

ssl-connection-verify

ssl-context-ref

ssl-ctx-pointer

ssl-default-implementation

ssl-error

ssl-failure

ssl-handshake-timeout

ssl-implementation-available-p

ssl-new

ssl-pointer

ssl-verification-failure

ssl-x509-lookup

start-up-server

start-up-server-and-mp

string-ip-address

switch-open-tcp-stream-with-ssl-to-java

wait-for-wait-state-collection

wait-state-collection

wait-state-collection-stop-loop

with-noticed-socket-stream

x509-pointer

33 The COMMON-LISP Package

apropos

apropos-list

base-string

close

coerce

compile

compile-file

concatenate

*debug-io*

declaim

declare

defclass

defpackage

describe

directory

disassemble

documentation

double-float

*error-output*

*features*

in-package

input-stream-p

interactive-stream-p

load-logical-pathname-translations

long-float

long-site-name

loop

make-array

make-hash-table

make-instance

make-pathname

make-sequence

make-string

make-string-output-stream

map

merge

merge-pathnames

open

open-stream-p

output-stream-p

parse-namestring

proclaim

*query-io*

read-sequence

restart-case

room

short-float

short-site-name

simple-base-string

single-float

software-type

software-version

*standard-input*

*standard-output*

step

stream-element-type

time

trace

*trace-output*

truename

untrace

update-instance-for-different-class

update-instance-for-redefined-class

with-output-to-string

write-sequence

34 The DBG Package

client-remote-debugging

close-remote-debugging-connection

configure-remote-debugging-spec

create-client-remote-debugging-connection

create-ide-remote-debugging-connection

*debug-print-length*

*debug-print-level*

*default-client-remote-debugging-server-port*

*default-ide-remote-debugging-server-port*

ensure-remote-debugging-connection

executable-log-file

*hidden-packages*

ide-attach-remote-output-stream

ide-connect-remote-debugging

ide-eval-form-in-remote

ide-find-remote-debugging-connection

ide-funcall-in-remote

ide-list-remote-debugging-connections

ide-open-a-listener

ide-remote-debugging

ide-set-default-remote-debugging-connection

ide-set-remote-symbol-value

log-bug-form

logs-directory

output-backtrace

*print-binding-frames*

*print-catch-frames*

*print-handler-frames*

*print-invisible-frames*

*print-open-frames*

*print-restart-frames*

remote-debugging-connection

remote-debugging-connection-add-close-cleanup

remote-debugging-connection-name

remote-debugging-connection-peer-address

remote-debugging-connection-remove-close-cleanup

remote-debugging-stream-peer-address

remote-inspect

remote-object-connection

remote-object-p

set-debugger-options

set-default-remote-debugging-connection

set-remote-debugging-connection

start-client-remote-debugging-server

start-ide-remote-debugging-server

start-remote-listener

*terminal-debugger-block-multiprocessing*

with-debugger-wrapper

with-remote-debugging-connection

with-remote-debugging-spec

35 The DSPEC Package

*active-finders*

at-location

canonicalize-dspec

def

define-dspec-alias

define-dspec-class

define-form-parser

discard-source-info

dspec-class

*dspec-classes*

dspec-defined-p

dspec-definition-locations

dspec-equal

dspec-name

dspec-primary-name

dspec-progenitor

dspec-subclass-p

dspec-undefiner

find-dspec-locations

find-name-locations

get-form-parser

local-dspec-p

location

name-defined-dspecs

name-definition-locations

name-only-form-parser

object-dspec

parse-form-dspec

record-definition

*record-source-files*

*redefinition-action*

replacement-source-form

save-tags-database

single-form-form-parser

single-form-with-options-form-parser

traceable-dspec-p

tracing-enabled-p

tracing-state

36 The EXTERNAL-FORMAT Package

:bmp

:bmp-native

:bmp-reversed

char-external-code

decode-external-string

encode-lisp-string

external-format-error

external-format-foreign-type

external-format-type

find-external-char

:unicode

:utf-16

:utf-16be

:utf-16le

:utf-16-native

:utf-16-reversed

:utf-32

:utf-32be

:utf-32le

:utf-32-native

:utf-32-reversed

valid-external-format-p

37 The HCL Package

add-code-coverage-data

add-package-local-nickname

add-special-free-action

add-symbol-profiler

allocation-in-gen-num

analyzing-special-variables-usage

android-build-value

android-funcall-in-main-thread

android-funcall-in-main-thread-list

android-get-current-activity

*android-main-process-for-testing*

android-main-thread-p

any-capi-window-displayed-p

array-single-thread-p

array-weak-p

augment-environment

avoid-gc

*background-input*

*background-output*

*background-query-io*

binds-who

block-promotion

building-main-architecture-p

building-universal-intermediate-p

calls-who

cd

change-directory

check-fragmentation

clean-down

clean-generation-0

clear-code-coverage

code-coverage-data

code-coverage-data-generate-coloring-html

code-coverage-data-generate-statistics

code-coverage-file-stats

code-coverage-file-stats-called

code-coverage-file-stats-counters-count

code-coverage-file-stats-counters-executed

code-coverage-file-stats-counters-hidden

code-coverage-file-stats-fully-covered

code-coverage-file-stats-hidden-covered

code-coverage-file-stats-lambdas-count

code-coverage-file-stats-not-called

code-coverage-file-stats-partially-covered

code-coverage-set-editor-colors

code-coverage-set-editor-default-data

code-coverage-set-html-background-colors

collect-generation-2

collect-highest-generation

compile-file-if-needed

*compiler-break-on-error*

copy-code-coverage-data

copy-current-code-coverage

copy-to-weak-simple-vector

create-macos-application-bundle

create-temp-file

create-universal-binary

current-function-name

current-stack-length

date-string

declaration-information

*default-package-use-list*

*default-profiler-collapse*

*default-profiler-cutoff*

*default-profiler-limit*

*default-profiler-sort*

defglobal-parameter

defglobal-variable

define-declaration

delete-advice

delivered-image-p

deliver-to-android-project

destructive-add-code-coverage-data

destructive-merge-code-coverage-data

destructive-reverse-subtract-code-coverage-data

destructive-subtract-code-coverage-data

*disable-trace*

do-profiling

dump-form

dump-forms-to-file

editor-color-code-coverage

enlarge-generation

enlarge-static

ensure-hash-entry

error-situation-forms

expand-generation-1

extend-current-stack

extended-time

fasl-error

fast-directory-files

fdf-handle-directory-p

fdf-handle-directory-string

fdf-handle-last-access

fdf-handle-last-modify

fdf-handle-link-p

fdf-handle-size

fdf-handle-writable-p

file-binary-bytes

file-link-p

file-string

file-writable-p

filter-code-coverage-data

find-object-size

find-throw-tag

finish-heavy-allocation

flag-not-special-free-action

flag-special-free-action

format-to-system-log

function-information

gc-generation

gc-if-needed

generate-code-coverage

get-code-coverage-delta

get-default-generation

get-gc-parameters

get-gc-timing

gethash-ensuring

get-temp-directory

get-working-directory

*handle-existing-defpackage*

*handle-old-in-package*

*handle-old-in-package-used-as-make-package*

hash-table-weak-kind

load-code-coverage-data

load-data-file

*load-fasl-or-lisp-file*

make-ring

make-unlocked-queue

map-code-coverage-data

map-ring

mark-and-sweep

*max-trace-indent*

merge-code-coverage-data

modify-hash

normal-gc

open-temp-file

package-locally-nicknamed-by-list

package-local-nicknames

*packages-for-warn-on-redefinition*

parse-float

position-in-ring

position-in-ring-forward

print-profile-list

*print-string*

profile

*profiler-threshold*

profiler-tree-from-function

profiler-tree-to-allocation-functions

profiler-tree-to-function

*profile-symbol-list*

reduce-memory

references-who

remove-package-local-nickname

remove-special-free-action

remove-symbol-profiler

reset-code-coverage

reset-code-coverage-snapshot

reset-profiler

reset-ring

restore-code-coverage-data

reverse-subtract-code-coverage-data

ring-length

ring-name

ringp

ring-pop

ring-push

ring-ref

rotate-ring

safe-format-to-limited-string

safe-format-to-string

safe-prin1-to-string

safe-princ-to-string

save-argument-real-p

save-code-coverage-data

save-current-code-coverage

save-current-profiler-tree

save-current-session

save-image

save-image-with-bundle

save-universal-from-script

set-array-single-thread-p

set-array-weak

set-code-coverage-snapshot

set-console-external-format

set-default-generation

set-gc-parameters

set-hash-table-weak

set-minimum-free-space

set-process-profiling

set-profiler-threshold

set-promotion-count

sets-who

set-system-message-log

set-up-profiler

source-debugging-on-p

start-gc-timing

start-profiling

stop-gc-timing

stop-profiling

string=-limited

string-equal-limited

string-trim-whitespace

subtract-code-coverage-data

sweep-all-objects

switch-static-allocation

*symbol-alloc-gen-num*

symbol-dynamically-bound-p

throw-if-tag-found

toggle-source-debugging

total-allocation

*traced-arglist*

*traced-results*

*trace-indent-width*

*trace-level*

*trace-print-circle*

*trace-print-length*

*trace-print-level*

*trace-print-pretty*

*trace-verbose*

try-compact-in-generation

try-move-in-generation

undefine-declaration

unlocked-queue

unlocked-queue-count

unlocked-queue-peek

unlocked-queue-read

unlocked-queue-ready

unlocked-queue-send

unlocked-queue-size

unwind-protect-blocking-interrupts

unwind-protect-blocking-interrupts-in-cleanups

variable-information

who-binds

who-calls

who-references

who-sets

with-code-coverage-generation

with-ensuring-gethash

with-hash-table-locked

with-heavy-allocation

without-code-coverage

with-output-to-fasl-file

with-pinned-objects

with-ring-locked

write-string-with-properties

write-to-system-log

38 The LISPWORKS Package

16-bit-string

8-bit-string

appendf

append-file

*autoload-asdf-integration*

base-character

base-character-p

base-char-code-limit

base-char-p

base-string-p

bmp-char

bmp-char-p

bmp-string

bmp-string-p

*browser-location*

call-next-advice

choose-unicode-string-hash-function

compile-system

concatenate-system

copy-file

count-regexp-occurrences

current-pathname

defadvice

*default-action-list-sort-time*

*default-character-element-type*

define-action

define-action-list

defsystem

*defsystem-verbose*

delete-directory

deliver

*describe-length*

*describe-level*

*describe-print-length*

*describe-print-level*

dll-quit

do-nothing

dotted-list-length

dotted-list-p

*enter-debugger-directly*

environment-variable

errno-value

example-compile-file

example-edit-file

example-file

example-load-binary-file

execute-actions

extended-character

extended-character-p

extended-char-p

*external-formats*

false

file-directory-p

find-regexp-in-string

function-lambda-list

get-inspector-values

get-unix-error

*grep-command*

*grep-command-format*

*grep-fixed-args*

*handle-existing-action-in-action-list*

*handle-existing-action-list*

*handle-missing-action-in-action-list*

*handle-missing-action-list*

*handle-warn-on-redefinition*

hardcopy-system

if-let

*init-file-name*

*inspect-through-gui*

lisp-image-name

*lispworks-directory*

load-all-patches

load-system

make-mt-random-state

make-unregistered-action-list

mt-random

*mt-random-state*

mt-random-state

mt-random-state-p

pathname-location

precompiled-regexp

precompiled-regexp-p

precompile-regexp

print-action-lists

print-actions

*print-command*

*print-nickname*

*prompt*

push-end

push-end-new

quit

rebinding

regexp-find-symbols

remove-advice

removef

*require-verbose*

rotate-byte

round-to-single-precision

sbchar

sequencep

set-default-character-element-type

set-quit-when-no-windows

simple-base-string-p

simple-bmp-string

simple-bmp-string-p

simple-char

simple-char-p

simple-text-string

simple-text-string-p

split-sequence

split-sequence-if

split-sequence-if-not

start-tty-listener

stchar

string-append

string-append*

structurep

text-string

text-string-p

true

undefine-action

undefine-action-list

unicode-alpha-char-p

unicode-alphanumericp

unicode-both-case-p

unicode-char-equal

unicode-char-greaterp

unicode-char-lessp

unicode-char-not-equal

unicode-char-not-greaterp

unicode-char-not-lessp

unicode-lower-case-p

unicode-string-equal

unicode-string-greaterp

unicode-string-lessp

unicode-string-not-equal

unicode-string-not-greaterp

unicode-string-not-lessp

unicode-upper-case-p

user-preference

when-let

when-let*

whitespace-char-p

with-action-item-error-handling

with-action-list-mapping

with-unique-names

39 The LW-JI Package

call-java-method

call-java-method-error

call-java-non-virtual-method

call-java-static-method

catching-exceptions-bind

catching-java-exceptions

checked-read-java-field

check-java-field

check-lisp-calls-initialized

create-instance-from-jobject

create-instance-jobject

create-instance-jobject-list

create-java-object

create-java-object-error

default-constructor-arguments

default-name-constructor

define-field-accessor

define-java-caller

define-java-callers

define-java-constructor

define-lisp-proxy

ensure-is-jobject

ensure-lisp-classes-from-tree

ensure-supers-contain-java.lang.object

field-access-exception

field-exception

find-java-class

format-to-java-host

generate-java-class-definitions

get-host-java-virtual-machine

get-java-virtual-machine

get-jobject

get-primitive-array-region

get-superclass-and-interfaces-tree

get-throwable-backtrace-strings

import-java-class-definitions

init-java-interface

intern-and-export-list

jaref

java-array-element-type

java-array-error

java-array-indices-error

java-array-length

java-array-simple-error

java-bad-jobject

java-class-error

java-definition-error

java-exception

java-field-class-name-for-setting

java-field-error

java-field-setting-error

java-id-exception

java-instance-without-jobject-error

java-interface-error

java-low-level-exception

java-method-error

java-method-exception

java-normal-exception

java-not-a-java-object-error

java-not-an-array-error

*java-null*

java-object-array-element-type

java-objects-eq

java-out-of-bounds-error

java-primitive-array-element-type

java-program-error

java-serious-exception

java-storing-wrong-type-error

java-type-to-lisp-array-type

java-vm-poi

jboolean

jbyte

jchar

jdouble

jfloat

jint

jlong

jni-env-poi

jobject

jobject-call-method

jobject-call-method-error

jobject-class-name

jobject-ensure-global

jobject-of-class-p

jobject-p

jobject-pretty-class-name

jobject-string

jobject-to-lisp

jshort

jvalue

jvalue-store-jboolean

jvalue-store-jbyte

jvalue-store-jchar

jvalue-store-jdouble

jvalue-store-jfloat

jvalue-store-jint

jvalue-store-jlong

jvalue-store-jobject

jvalue-store-jshort

jvref

lisp-array-to-primitive-array

lisp-array-type-to-java-type

lisp-java-instance-p

lisp-to-jobject

make-java-array

make-java-instance

make-lisp-proxy

make-lisp-proxy-with-overrides

map-java-object-array

primitive-array-to-lisp-array

read-java-field

record-java-class-lisp-symbol

report-error-to-java-host

reset-java-interface-for-new-jvm

send-message-to-java-host

set-java-field

set-primitive-array-region

setup-deliver-dynamic-library-for-java

setup-field-accessor

setup-java-caller

setup-java-constructor

setup-java-interface-callbacks

setup-lisp-proxy

standard-java-object

throw-an-exception

*to-java-host-stream*

*to-java-host-stream-no-scroll*

verify-java-caller

verify-java-callers

verify-lisp-proxies

verify-lisp-proxy

write-java-class-definitions-to-file

write-java-class-definitions-to-stream

40 Java classes and methods

com.lispworks.LispCalls

com.lispworks.LispCalls.callDoubleA

com.lispworks.LispCalls.callDoubleV

com.lispworks.LispCalls.callIntA

com.lispworks.LispCalls.callIntV

com.lispworks.LispCalls.callObjectA

com.lispworks.LispCalls.callObjectV

com.lispworks.LispCalls.callVoidA

com.lispworks.LispCalls.callVoidV

com.lispworks.LispCalls.checkLispSymbol

com.lispworks.LispCalls.createLispProxy

com.lispworks.LispCalls.waitForInitialization

41 Android Java classes and methods

com.lispworks.BugFormLogsList

com.lispworks.BugFormViewer

com.lispworks.Manager

com.lispworks.Manager.LispErrorReporter

com.lispworks.Manager.LispGuiErrorReporter

com.lispworks.Manager.MessageHandler

com.lispworks.Manager.addMessage

com.lispworks.Manager.clearBugFormLogs

com.lispworks.Manager.getApplicationContext

com.lispworks.Manager.getClassLoader

com.lispworks.Manager.init

com.lispworks.Manager.init_result_code

com.lispworks.Manager.loadLibrary

com.lispworks.Manager.mInitErrorString

com.lispworks.Manager.mMaxErrorLogsNumber

com.lispworks.Manager.mMessagesMaxLength

com.lispworks.Manager.setClassLoader

com.lispworks.Manager.setCurrentActivity

com.lispworks.Manager.setErrorReporter

com.lispworks.Manager.setGuiErrorReporter

com.lispworks.Manager.setLispTempDir

com.lispworks.Manager.setMessageHandler

com.lispworks.Manager.setRuntimeLispHeapDir

com.lispworks.Manager.setTextView

com.lispworks.Manager.showBugFormLogs

com.lispworks.Manager.status

42 The MP Package

allowing-block-interrupts

any-other-process-non-internal-server-p

barrier

barrier-arriver-count

barrier-block-and-wait

barrier-change-count

barrier-count

barrier-disable

barrier-enable

barrier-name

barrier-pass-through

barrier-unblock

barrier-wait

change-process-priority

condition-variable

condition-variable-broadcast

condition-variable-signal

condition-variable-wait

condition-variable-wait-count

*current-process*

current-process-block-interrupts

current-process-in-cleanup-p

current-process-kill

current-process-pause

current-process-send

current-process-set-terminate-method

current-process-unblock-interrupts

debug-other-process

*default-process-priority*

ensure-process-cleanup

find-process-from-name

funcall-async

funcall-async-list

general-handle-event

get-current-process

get-process

get-process-private-property

initialize-multiprocessing

*initial-processes*

last-callback-on-thread

list-all-processes

lock

lock-and-condition-variable-broadcast

lock-and-condition-variable-signal

lock-and-condition-variable-wait

lock-locked-p

lock-name

lock-owned-by-current-process-p

lock-owner

lock-recursively-locked-p

lock-recursive-p

mailbox

mailbox-count

mailbox-empty-p

mailbox-full-p

mailbox-not-empty-p

mailbox-peek

mailbox-read

mailbox-reader-process

mailbox-send

mailbox-send-limited

mailbox-size

mailbox-wait

mailbox-wait-for-event

*main-process*

make-barrier

make-condition-variable

make-lock

make-mailbox

make-named-timer

make-semaphore

make-timer

map-all-processes

map-all-processes-backtrace

map-process-backtrace

map-processes

notice-fd

process-alive-p

process-all-events

process-allow-scheduling

process-arrest-reasons

process-break

process-continue

processes-count

process-exclusive-lock

process-exclusive-unlock

process-idle-time

*process-initial-bindings*

process-internal-server-p

process-interrupt

process-interrupt-list

process-join

process-kill

process-lock

process-mailbox

process-name

process-p

process-plist

process-poke

process-priority

process-private-property

process-property

process-reset

process-run-function

process-run-reasons

process-run-time

process-send

process-sharing-lock

process-sharing-unlock

process-stop

process-stopped-p

process-terminate

process-unlock

process-unstop

process-wait

process-wait-for-event

process-wait-function

process-wait-local

process-wait-local-with-periodic-checks

process-wait-local-with-timeout

process-wait-local-with-timeout-and-periodic-checks

process-wait-with-timeout

process-whostate

ps

pushnew-to-process-private-property

pushnew-to-process-property

remove-from-process-private-property

remove-from-process-property

remove-process-private-property

remove-process-property

schedule-timer

schedule-timer-milliseconds

schedule-timer-relative

schedule-timer-relative-milliseconds

semaphore

semaphore-acquire

semaphore-count

semaphore-name

semaphore-release

semaphore-wait-count

set-funcall-async-limit

simple-lock-and-condition-variable-wait

symeval-in-process

timer-expired-p

timer-name

unnotice-fd

unschedule-timer

wait-processing-events

with-exclusive-lock

with-interrupts-blocked

with-lock

without-interrupts

without-preemption

with-sharing-lock

yield

43 The PARSERGEN Package

defparser

44 The SERIAL-PORT Package

close-serial-port

get-serial-port-state

open-serial-port

read-serial-port-char

read-serial-port-string

serial-port

serial-port-input-available-p

set-serial-port-state

wait-serial-port-state

write-serial-port-char

write-serial-port-string

45 The SQL Package

accepts-n-syntax

add-sql-stream

attribute-type

cache-table-queries

*cache-table-queries-default*

commit

connect

connected-databases

*connect-if-exists*

copy-from-sqlite-raw-blob

create-index

create-table

create-view

create-view-from-class

database-name

decode-to-db-standard-date

decode-to-db-standard-timestamp

*default-database*

*default-database-type*

*default-update-objects-max-len*

def-view-class

delete-instance-records

delete-records

delete-sql-stream

destroy-prepared-statement

disable-sql-reader-syntax

disconnect

do-query

drop-index

drop-table

drop-view

drop-view-from-class

enable-sql-reader-syntax

encode-db-standard-date

encode-db-standard-timestamp

execute-command

find-database

initialize-database-type

*initialized-database-types*

insert-records

instance-refreshed

list-attributes

list-attribute-types

list-classes

list-sql-streams

list-tables

lob-stream

locally-disable-sql-reader-syntax

locally-enable-sql-reader-syntax

map-query

*mysql-library-directories*

*mysql-library-path*

*mysql-library-sub-directories*

ora-lob-append

ora-lob-assign

ora-lob-char-set-form

ora-lob-char-set-id

ora-lob-close

ora-lob-copy

ora-lob-create-empty

ora-lob-create-temporary

ora-lob-disable-buffering

ora-lob-element-type

ora-lob-enable-buffering

ora-lob-env-handle

ora-lob-erase

ora-lob-file-close

ora-lob-file-close-all

ora-lob-file-exists

ora-lob-file-get-name

ora-lob-file-is-open

ora-lob-file-open

ora-lob-file-set-name

ora-lob-flush-buffer

ora-lob-free

ora-lob-free-temporary

ora-lob-get-buffer

ora-lob-get-chunk-size

ora-lob-get-length

ora-lob-internal-lob-p

ora-lob-is-equal

ora-lob-is-open

ora-lob-is-temporary

ora-lob-load-from-file

ora-lob-lob-locator

ora-lob-locator-is-init

ora-lob-open

ora-lob-read-buffer

ora-lob-read-foreign-buffer

ora-lob-read-into-plain-file

ora-lob-svc-ctx-handle

ora-lob-trim

ora-lob-write-buffer

ora-lob-write-foreign-buffer

ora-lob-write-from-plain-file

p-oci-env

p-oci-file

p-oci-lob-locator

p-oci-lob-or-file

p-oci-svc-ctx

prepared-statement

prepared-statement-set-and-execute

prepared-statement-set-and-execute*

prepared-statement-set-and-query

prepared-statement-set-and-query*

prepare-statement

print-query

query

reconnect

replace-from-sqlite-blob

replace-from-sqlite-raw-blob

replace-into-sqlite-blob

restore-sql-reader-syntax-state

rollback

select

set-prepared-statement-variables

simple-do-query

sql

sql-connection-error

sql-database-data-error

sql-database-error

*sql-enlarge-static*

sql-expression

sql-expression-object

sql-failed-to-connect-error

sql-fatal-error

sqlite-blob

sqlite-blob-length

sqlite-blob-p

sqlite-close-blob

sqlite-last-insert-rowid

sqlite-open-blob

sqlite-raw-blob

sqlite-raw-blob-length

sqlite-raw-blob-p

sqlite-raw-blob-ref

sqlite-raw-blob-valid-p

sqlite-reopen-blob

*sql-libraries*

*sql-loading-verbose*

sql-operation

sql-operator

sql-recording-p

sql-stream

sql-temporary-error

sql-timeout-error

sql-user-error

standard-db-object

start-sql-recording

status

stop-sql-recording

string-needs-n-prefix

string-prefix-with-n-if-needed

table-exists-p

update-instance-from-records

update-objects-joins

update-record-from-slot

update-records

update-records-from-instance

update-slot-from-record

*use-n-syntax-for-non-ascii-strings*

with-prepared-statement

with-sqlite-blob

with-transaction

46 The STREAM Package

buffered-stream

fundamental-binary-input-stream

fundamental-binary-output-stream

fundamental-binary-stream

fundamental-character-input-stream

fundamental-character-output-stream

fundamental-character-stream

fundamental-input-stream

fundamental-output-stream

fundamental-stream

stream-advance-to-column

stream-check-eof-no-hang

stream-clear-input

stream-clear-output

stream-file-position

stream-fill-buffer

stream-finish-output

stream-flush-buffer

stream-force-output

stream-fresh-line

stream-line-column

stream-listen

stream-output-width

stream-peek-char

stream-read-buffer

stream-read-byte

stream-read-char

stream-read-char-no-hang

stream-read-line

stream-read-sequence

stream-start-line-p

stream-terpri

stream-unread-char

stream-write-buffer

stream-write-byte

stream-write-char

stream-write-sequence

stream-write-string

with-stream-input-buffer

with-stream-output-buffer

47 The SYSTEM Package

allocated-in-its-own-segment-p

apply-with-allocation-in-gen-num

approaching-memory-limit

atomic-decf

atomic-exchange

atomic-fixnum-decf

atomic-fixnum-incf

atomic-incf

atomic-pop

atomic-push

augmented-string

augmented-string-p

base-char-ref

*binary-file-type*

*binary-file-types*

call-system

call-system-showing-output

cdr-assoc

*check-network-server*

coerce-to-gesture-spec

compare-and-swap

copy-preferences-from-older-version

count-gen-num-allocation

*debug-initialization-errors-in-snap-shot*

default-eol-style

*default-stack-group-list-length*

define-atomic-modify-macro

define-top-loop-command

detect-eol-style

detect-japanese-encoding-in-file

detect-unicode-bom

detect-utf32-bom

detect-utf8-bom

*directory-link-transparency*

ensure-loads-after-loads

ensure-memory-after-store

ensure-stores-after-memory

ensure-stores-after-stores

*extended-spaces*

*file-encoding-detection-algorithm*

file-encoding-resolution-error

*file-eol-style-detection-algorithm*

*filename-pattern-encoding-matches*

find-encoding-option

find-filename-pattern-encoding-match

force-using-select-for-io

generation-number

gen-num-segments-fragmentation-state

gesture-spec

gesture-spec-accelerator-bit

gesture-spec-caps-lock-bit

gesture-spec-control-bit

gesture-spec-hyper-bit

gesture-spec-meta-bit

gesture-spec-p

gesture-spec-shift-bit

gesture-spec-super-bit

gesture-spec-to-character

get-file-stat

get-folder-path

get-maximum-allocated-in-generation-2-after-gc

get-user-profile-directory

globally-accessible

guess-external-format

immediatep

in-static-area

int32

int32*

int32+

int32-

int32/

int32/=

+int32-0+

+int32-1+

int32-1+

int32-1-

int32<

int32<<

int32<=

int32=

int32>

int32>=

int32>>

int32-aref

int32-logand

int32-logandc1

int32-logandc2

int32-logbitp

int32-logeqv

int32-logior

int32-lognand

int32-lognor

int32-lognot

int32-logorc1

int32-logorc2

int32-logtest

int32-logxor

int32-minusp

int32-plusp

int32-to-int64

int32-to-integer

int32-zerop

int64

int64*

int64+

int64-

int64/

int64/=

+int64-0+

+int64-1+

int64-1+

int64-1-

int64<

int64<<

int64<=

int64=

int64>

int64>=

int64>>

int64-aref

int64-logand

int64-logandc1

int64-logandc2

int64-logbitp

int64-logeqv

int64-logior

int64-lognand

int64-lognor

int64-lognot

int64-logorc1

int64-logorc2

int64-logtest

int64-logxor

int64-minusp

int64-plusp

int64-to-int32

int64-to-integer

int64-zerop

integer-to-int32

integer-to-int64

*line-arguments-list*

locale-file-encoding

low-level-atomic-place-p

make-current-allocation-permanent

make-gesture-spec

make-object-permanent

make-permanent-simple-vector

make-simple-int32-vector

make-simple-int64-vector

make-stderr-stream

make-typed-aref-vector

map-environment

marking-gc

memory-growth-margin

merge-ef-specs

mobile-gc-p

mobile-gc-sweep-objects

object-address

object-pointer

octet-ref

open-pipe

open-url

package-flagged-p

pipe-close-connection

pipe-exit-status

pipe-kill-process

pointer-from-address

print-pretty-gesture-spec

*print-symbols-using-bars*

product-registry-path

release-object-and-nullify

*right-paren-whitespace*

room-values

run-shell-command

safe-locale-file-encoding

set-approaching-memory-limit-callback

set-automatic-gc-callback

set-blocking-gen-num

set-default-segment-size

set-delay-promotion

set-expected-allocation-in-generation-2-after-gc

set-file-dates

set-generation-2-gc-options

set-gen-num-gc-threshold

set-maximum-memory

set-maximum-segment-size

set-memory-check

set-memory-exhausted-callback

set-promote-generation-1

set-reserved-memory-policy

set-signal-handler

set-spare-keeping-policy

set-split-promotion

set-static-segment-size

set-temp-directory

setup-atomic-funcall

*sg-default-size*

simple-augmented-string

simple-augmented-string-p

simple-int32-vector

simple-int32-vector-length

simple-int32-vector-p

simple-int64-vector

simple-int64-vector-length

simple-int64-vector-p

sort-inspector-p

specific-valid-file-encoding

*specific-valid-file-encodings*

*stack-overflow-behaviour*

staticp

storage-exhausted

sweep-gen-num-objects

typed-aref

wait-for-input-streams

wait-for-input-streams-returning-first

with-modification-change

with-modification-check-macro

with-other-threads-disabled

48 Miscellaneous WIN32 symbols

canonicalize-sid-string

connect-to-named-pipe

dismiss-splash-screen

impersonating-named-pipe-client

impersonating-user

known-sid-integer-to-sid-string

*latin-1-code-pages*

long-namestring

lpcstr

lpctstr

lpcwstr

lpstr

lptstr

lpwstr

*multibyte-code-page-ef*

named-pipe-stream-name

open-named-pipe-stream

record-message-in-windows-event-log

security-description-string-for-open-named-pipe

set-application-themed

short-namestring

sid-string-to-user-name

str

tstr

user-name-to-sid-string

wait-for-connection

with-windows-event-log-event-source

wstr

49 The Windows registry API

close-registry-key

collect-registry-subkeys

collect-registry-values

create-registry-key

delete-registry-key

enum-registry-value

open-registry-key

query-registry-key-info

query-registry-value

registry-key-exists-p

registry-value

set-registry-value

with-registry-key

50 The DDE client interface

dde-advise-start

dde-advise-start*

dde-advise-stop

dde-advise-stop*

dde-client-advise-data

dde-connect

dde-disconnect

dde-execute

dde-execute*

dde-execute-command

dde-execute-command*

dde-execute-string

dde-execute-string*

dde-item

dde-item*

dde-poke

dde-poke*

dde-request

dde-request*

define-dde-client

with-dde-conversation

51 The DDE server interface

dde-server-poke

dde-server-request

dde-server-topic

dde-server-topics

dde-system-topic

dde-topic

dde-topic-items

define-dde-dispatch-topic

define-dde-server

define-dde-server-function

start-dde-server

52 Dynamic library C functions

InitLispWorks

LispWorksDlsym

LispWorksState

QuitLispWorks

SimpleInitLispWorks

Index


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:10