cannot save documents during ccl:quit
ccl:quit calls the Cocoa -terminate methods which prevents modal dialogs to save documents.
It'd be nice to provide a quit function that would allow saving documents. Also: check Patchwork menu Quit command.
--------------------------------------------------------------------------------
(backtrace-as-list :context nil :process nil :origin nil :count 1152921504606846975 :start-frame-number 0 :print-level nil :print-length nil :print-string-length :default :show-internal-frames nil)
(print-backtrace #<basic-file-character-output-stream ("/Users/pjb/Desktop/Patchwork-errors.txt"/20 utf-8) #x3020076B7B3D>)
(funcall (:internal mclgui::|-[MclguiWindow close]|) #<ccl::ns-exception #x3020076B869D>)
(signal #<ccl::ns-exception #x3020076B869D>)
(%error #<ccl::ns-exception #x3020076B869D> nil 954171)
(y-or-n-dialog "Save changes of window \"†poly 3/7 Test1\" to file
poly 3/7 Test1" :size 10486110 :position (:top 44) :yes-text "Yes" :no-text "No" :cancel-text "Cancel" :help-spec nil :back-color #S(mclgui::color :red 0.98439 :green 0.94923323 :blue 0.019531548 :alpha 1.0) :theme-background t :window-type nil :window-title "")
(funcall #<common-lisp:standard-method window-close (c-pw-window)> (c-pw-window :title "†poly 3/7 Test1" :view-valid (t) :view-nick-name nil :view-position (50 45) :position/window nil :view-size (805 508) :view-scroll-position (0 0) :id "#x30200592D9DD"))
(%%before-and-after-combined-method-dcode (nil (#<common-lisp:standard-method window-close (window)>) . 954220))
(%%standard-combined-method-dcode ((#<common-lisp:standard-method window-close :before (window)>) (#<common-lisp:standard-method window-close :after (window)>) #<common-lisp:standard-method window-close (c-pw-window)> #<common-lisp:standard-method window-close (window)>) 954220)
(funcall mclgui::|-[MclguiWindow close]| 17591615093446)
(%pascal-functions% 334 17591615093446)
(funcall #<Anonymous Function #x302002EDA08F> #<ide-application <IDEApplication: 0x1a0940> (#x1A0940)> #S(ccl::objc-selector :name "terminate:" :%sel #<A Foreign Pointer #x7FFF7AEF8120>) #<A Null Foreign Pointer>)
(funcall (:objc-dispatch nextstep-functions:|terminate:|) . #1=(???))
(funcall #<common-lisp:standard-method ccl::process-exit-application (gui::appkit-process t)> #<appkit-process Initial(0) [Reset] #x3020000B63BD> #<ccl:compiled-lexical-closure (:internal ccl:quit) #x302007524E1F>)
(funcall (:internal ccl:quit))
(funcall (:internal (ccl:process-interrupt (gui::appkit-process t))))
(funcall ccl::|-[CCLApplication lispInterrupt:]| 17591615093584)
(%pascal-functions% 11 17591615093584)
(funcall #<Anonymous Function #x302002DA2B6F> #<ide-application <IDEApplication: 0x1a0940> (#x1A0940)> #S(ccl::objc-selector :name "run" :%sel #<A Foreign Pointer #x7FFF7AF62A9B>))
(funcall (:objc-dispatch nextstep-functions:|run|) . #1#)
(event-loop nil)
(run-event-loop)
(funcall (:internal gui::cocoa-startup gui::start-cocoa-ide))
--------------------------------------------------------------------------------
ERROR while ((let ((window (mclgui::nswindow-window mclgui::self))) (catch :cancel (window-close window)))):
Objective-C runtime exception:
Modal session cannot be run during application termination