All Lisp code and data that was loaded into the image or was created in it is saved. This includes all editor buffers, the Listener history and its current package, and the values of cl:*, cl:** and cl:***.
All threads are killed before saving, so any data that is accessible only through a mp:process
object, or by a dynamically bound variable, is not accessible.
All windows are closed, so any data that is accessible only within the windowing system is not accessible after saving a session.
The windows are automatically re-opened after saving the session and all Lisp data within the CAPI panes is retained.
External connections (including open files, sockets and database connections) become invalid when the saved session is restarted. In the image from which the session was saved, the connections are not explicitly affected but if these connections are thread-specific, they will be affected because the thread is terminated. In particular, well written code will typically be closing such connections by an unwind-protect form, which will be executed when the thread is terminated.
All debugging operations are aborted, which also includes stepping. Debugger and Stepper windows are not re-opened. A Listener that is in the debugger aborts the debugger and returns to the top level loop. By default, before saving a session, LispWorks checks for any debugging operations and raises a dialog to confirm that you want to save the session anyway (and hence abort all these operations). This check can be switched off by unchecking Check for non-restartable interfaces in the Save Session dialog.
Remote debugging is aborted when a session is saved and Remote Listener windows are not re-opened.
In recreated Shell tools, the command history is recovered but the side effects of those commands are not.
See 13.4.3 Saving a session programmatically in the LispWorks® User Guide and Reference Manual for interfaces allowing you to control what happens when saving a session.
LispWorks IDE User Guide (Macintosh version) - 01 Dec 2021 19:36:21