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
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 Behavior of the delivery process
5.1.4 Retaining or removing functionality
5.1.4.1 Directing the behavior of the treeshaker and garbage collector
5.1.4.2 Classes and structures
5.1.4.3 Symbols, SYMBOL-NAME, functions, and packages
5.1.4.5 CLOS metaclass compression
5.2 Alphabetical list of deliver keywords
6.2 Bad interaction with clean-up utilities
6.4 Terminal windows and message logs
6.4.1 Controlling use of a terminal window
6.4.2 Logging debugging messages
6.5 File associations for a Macintosh application
6.7 Standard Edit keyboard gestures
6.8 Quitting a CAPI/Cocoa application
6.9 Retaining Objective-C classes
6.11 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, AIX, x86/x64 Solaris and Unix
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
8.7 Run time licensing on SPARC Solaris
8.7.1 Protection of the delivery product on SPARC Solaris
8.7.2 Protection of the delivered image on SPARC Solaris
8.7.3 Unprotected runtime applications on SPARC Solaris
8.7.4 Expiration of unprotected runtime applications on SPARC Solaris
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 Error handling in delivered applications
10.5.1 Making the application handle errors
10.5.1.1 Handling errors generated by the application
10.5.1.2 Handling errors generated by the Lisp system
10.5.1.3 Providing a fallback handler for uncaught errors
10.5.2 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
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 Errors when finalizing classes
11.10 Warnings about combinations and templates
11.11 Valid type specifier errors
11.12 Stack frames with the name NIL in simple backtraces
11.13 Blank or obscure lines in simple backtraces
11.14 Nil is not of type hash-table errors
11.15 FLI template needs to be compiled
11.16 Failure to lookup X resources
11.17 Reducing the size of the delivered application
11.18 Symbol names changed to "Dummy Symbol Name"
11.19 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 Mac OS X application bundle
13.3.1 Example application bundle delivery script
13.3.2 Alternative application bundle creation code
13.3.3 Further Mac OS X 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.1 Delivering a Cocoa CAPI application examples
15.2 Delivering a CAPI application examples
15.3 Delivering a dynamic library examples
15.4 Delivering a Windows service examples
LispWorks Delivery User Guide - 10 Aug 2017