src/cmp/cmpmain.lsp: when building a standalone executable, wrap everything with a CL_CATCH_ALL to provide an exit point for EXT:QUIT and also to protect from unwanted transfers of control.

This commit is contained in:
Juan Jose Garcia Ripoll 2009-11-08 15:38:33 +01:00
parent 57aa2b2310
commit e44656e9bb
2 changed files with 7 additions and 0 deletions

View file

@ -52,6 +52,9 @@ ECL 9.11.1:
standalone programs the prologue code is always executed after cl_boot() has
been invoked.
- QUIT did not work from standalone executables created with neither ASDF
nor with C:BUILDER.
;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***

View file

@ -262,9 +262,11 @@ int
main(int argc, char **argv)
{
cl_boot(argc, argv);
CL_CATCH_ALL_BEGIN(ecl_process_env()) {
~A
read_VV(OBJNULL, ~A);
~A
} CL_CATCH_ALL_END;
}")
#+:win32
@ -277,9 +279,11 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdS
int argc;
ecl_get_commandline_args(&argc, &argv);
cl_boot(argc, argv);
CL_CATCH_ALL_BEGIN(ecl_process_env()) {
~A
read_VV(OBJNULL, ~A);
~A
} CL_CATCH_ALL_END;
}")
(defun init-function-name (s &key (kind :object))