1.1.1 Making the image smaller
1.2 What do you get with Delivery?
1.2.1 Programming libraries and facility support code
1.2.2 Functionality removed by delivery
1.3 Conventions and terminology used in this manual
1.3.1 Common Lisp reference text
1.3.2 Platform-specific keywords
1.4 A breakdown of the delivery process
1.4.1 Developing your application
1.4.2 Managing and compiling your application
1.4.3 Debugging, profiling and tuning facilities
1.4.4 Delivering your compiled application
2.2.1 Delivering the program using the LispWorks IDE
2.2.2 Delivering the program using a command shell
3 Writing Code Suitable for Delivery
3.1 Separate run time initializations from the build phase
3.2 Error handling in delivered applications
3.2.1 Handling errors generated by the application
3.2.2 Handling errors generated by the Lisp system
4.1 The delivery function: deliver
4.2 Using the delivery tools effectively
4.2.1 Saving the image before attempting delivery
4.2.2 Delivering the application in memory
4.3 Delivering a standalone application executable
4.4 Delivering a dynamic library
4.4.1 Simple delivery of a dynamic library
4.4.2 Using the dynamic library
4.4.3.1 Using the Application Builder
4.4.4 Simple non-Windows example
4.4.6 More about building dynamic libraries
4.5 How to deliver a smaller and faster application
4.5.1 Making the image smaller
4.6 How Delivery makes an image smaller
4.6.1 Garbage collecting the image
5 Keywords to the Delivery Function
5.1 Topic-based list of deliver keywords
5.1.1 Controlling the behavior of the delivered application
5.1.2 Testing and debugging during delivery
5.1.3 Controlling aspects of the executable or dynamic library
5.1.4 Behavior of the delivery process
5.1.5 Retaining or removing functionality
5.1.5.1 Directing the behavior of the treeshaker and garbage collector
5.1.5.2 Classes and structures
5.1.5.3 Symbols, SYMBOL-NAME, functions, and packages
5.1.5.5 CLOS metaclass compression
5.2 Alphabetical list of deliver keywords
6.3 Bad interaction with clean-up utilities
6.5 Terminal windows and message logs
6.5.1 Controlling use of a terminal window
6.5.2 Logging debugging messages
6.6 File associations for a Macintosh application
6.8 Standard Edit keyboard gestures
6.9 Quitting a CAPI/Cocoa application
6.10 Retaining Objective-C classes
6.12 Examples of delivering Cocoa applications
7 Delivery on Microsoft Windows
7.1 Run time library requirement
7.3 DOS windows and message logs
7.3.1 Controlling use of a DOS window
7.3.2 Logging debugging messages
7.4 File associations for a Windows application
7.7 Example of delivering a Service
8 Delivery on Linux, FreeBSD and x86/x64 Solaris
8.1.1 GTK+ libraries on the target machine
8.2.2 Motif on the target machine
8.2.4 X resource names use Lisp symbol names
8.3 LispWorks executable corrupted
8.4 Logging debugging messages
8.6 Products supporting dynamic library delivery
9 Delivering for mobile platforms
9.1.1 Compiler not available in iOS runtimes
9.1.2 How to deliver an iOS runtime
9.2 Delivery of Android runtimes
9.2.1 How to deliver an Android runtime
10 Delivery and Internal Systems
10.1.1 Applications defining classes or methods dynamically
10.1.2 Special dispatch functions and templates for them
10.1.2.1 Finding the necessary templates
10.1.2.2 Incorporating the templates into the application
10.1.4 Compression of CLOS metaobjects
10.1.5 Classes, methods, and delivery
10.1.6 Delivery and make-instance initarg checking
10.2 Delivery and the Lisp reader
10.3 Editors for delivered applications
10.3.1 Form parsing and delivery
10.4.1 Interface geometry depends on Lisp symbol names
10.5 The condition system in delivered applications
10.5.1 Deleting of condition classes
10.6.1 Foreign Language Interface templates
10.8 Symbol, SYMBOL-NAME and package issues during delivery
10.9 Throwing symbols and packages out of the application
10.9.5 When to delete and smash packages
10.10 Keeping packages and symbols in the application
10.10.1 Ensuring that packages are kept
10.10.2 Ensuring that symbols are kept
10.11 Coping with intern and find-symbol at run time
10.13 Delivery and Java interface
11 Troubleshooting the delivery process
11.1 Debugging errors in the delivery image
11.2 Problems with undefined functions or variables
11.5 REQUIRE was called after delivery time with module ...
11.6 Failed to reserve... error in compacted image
11.7 Memory clashes with other software
11.8 Possible explanations for a frozen image
11.9 Warnings about combinations and templates
11.10 FLI template needs to be compiled
11.11 Failure to lookup X resources
11.12 Reducing the size of the delivered application
11.13 Symbol names changed to "Dummy Symbol Name"
11.14 Debugging with :no-symbol-function-usage
12 Interface to the Delivery Process
12.1 Interface to the delivery process
13 Example: Delivering CAPI Othello
13.1.1 Writing a delivery script
13.2 Delivering a standalone image
13.3 Creating a macOS application bundle
13.3.1 Example application bundle delivery script
13.3.2 Alternative application bundle creation code
13.3.3 Further macOS delivery examples
13.4 Command line applications
13.5 Making a smaller delivered image
13.5.1 Increasing the delivery level
14 Efficiency considerations when coding for delivery
14.3 General strategy for reducing the image size
14.4 Use of symbols, functions, and classes
14.5 Making references to packages
14.6 Declaring the types of variables used in function calls
14.7 Avoid referencing type names
14.7.1 Referencing types via methods
14.7.2 Referencing types via predicates
14.8 Use of the INTERN and FIND-SYMBOL functions
14.9 Use of the EVAL function and the invocation of uncompiled functions
14.10 User-defined and built-in packages
15 Self-contained examples of delivery
15.1 Delivering a Cocoa CAPI application examples
15.2 Delivering a CAPI application examples
15.3 Delivering a dynamic library examples
Delivery User Guide - 01 Dec 2021 19:35:07