Не могу понять, почему не привязываются(нет никаких признаков их выполнения) callbacks в следующем коде:
(defun open-file-callback (widget)
(declare (ignore widget))
(let ((win (make-instance 'gtk-window :title "Select filename"))
(fc (make-instance 'file-chooser-widget :width-request 450 :height-request 550))
(h-box (make-instance 'h-box))
(ok-button (make-instance 'button :label "Ok" :width-request 80))
(cancel-button (make-instance 'button :label "Cancel" :width-request 80)))
(box-pack-end h-box ok-button :expand nil)
(box-pack-end h-box cancel-button :expand nil)
(setf (file-chooser-extra-widget fc) h-box)
(container-add win fc)
(widget-show win)
;<--- *
;*
(g-signal-connect cancel-button "activate" #'(lambda (w)
(declare (ignore w))
(format *std-out* "Cool, I'm button")
(object-destroy win)))
(g-signal-connect ok-button "activate" #'(lambda (w)
(declare (ignore w))
(format *std-out* "Cool, I'm button")
(grep-file (file-chooser-get-file fc))))))
(g-signal-connect open-file "activate" #'open-file-callback)