Why can I create Common Graphics windows from my *common-lisp* buffer in Emacs?
A 4.4-2) In order to handle events properly, all actions having to do with windows (creating them, displaying them, etc.) must take place within a single (Lisp) process. (On Windows, a Lisp process corresponds to an Operating System thread.) That process is the IDE/Common Graphics process and all interaction with windows (such as the debug window and editor windows) while Allegro CL is running is done within that process. The Emacs-Lisp interface, however, runs in another process. So an action such as creating a window (by, say, calling cg:make-window) cannot be done in Emacs since it would then occur in the incorrect process. You can edit common graphics code in emacs but to evaluate it, you cannot use emacs-lisp interface tools such as C-M-x. Instead, you must save the buffer to a file and load that file into Lisp using tools like the File | Load menu command.