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 killed.
In recreated Shell tools the command history is recovered but the side effects of those commands are not. Debugger and Stepper windows are not re-opened because they contain the state of threads that have been killed. Session saving warns if there is a Debugger or Stepper tool with state. This allows you to cancel the saving and complete your debugging or stepping. If you do not want to see the warning again, and always lose the state of a Debugger or Stepper tool when saving a session, check the Do not ask again box in the warning dialog.
See "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) - 13 Sep 2017