Hi Paul On Mon, Apr 12, 2021 at 12:35:58PM +0100, Paul Emsley wrote: > Hi G-Golfers, > > >From here: > https://www.gnu.org/software/g-golf/manual/g-golf.html > > > GNU G-Golf can be obtained from the following archive site > http://ftp.gnu.org/gnu/g-golf/. The file will > be named g-golf-version.tar.gz. The current version is 0.1.0, so the file > you should grab is: > > http://ftp.gnu.org/gnu/g-golf/g-golf-0.1.0.tar.gz > > This directory does not exist. > > So I used the git repo, built and installed. I extracted the hello-world > example (attached) > > $ guile -s example-1.scm # takes about 7 seconds > guile -s example-1.scm > Backtrace: > 8 (apply-smob/1 #<catch-closure 7f8f920d22a0>) > In ice-9/boot-9.scm: > 705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handle…>) > In ice-9/eval.scm: > 619:8 6 (_ #(#(#<directory (guile-user) 7f8f91d64140>))) > In ice-9/boot-9.scm: > 2312:4 5 (save-module-excursion _) > 3832:12 4 (_) > In g-golf/hl-api/function.scm: > 140:19 3 (_ . _) > In unknown file: > 2 (_ #<pointer 0x55f7a37d14f0> #<pointer 0x7f8f8e2147a0> 3 …) > In g-golf/hl-api/closure.scm: > 255:8 1 (g-closure-marshal _ _ _ _ _ _) > In /home/paule/Projects/coot/git/g-golf/build/example-1.scm: > 14:4 0 (activate _) > > /home/paule/Projects/coot/git/g-golf/build/example-1.scm:14:4: In procedure > activate: > In procedure module-lookup: Unbound variable: set-child > > Have I done something wrong?
No, git-grep tells me there is no 'set-child' function in the g-golf repository. I've modified the example and it now works as expected, see below: ================================8<================================ ;; Load Gtk (use-modules (g-golf)) (gi-import "Gtk") ;; When the application is launched.. (define (activate app) ;; - Create a new window and a new button (let ((window (make <gtk-application-window> #:title "Hello" #:application app)) (button-box (make <gtk-button-box>)) (button (make <gtk-button> #:label "Hello, World!"))) ;; - Which closes the window when clicked (connect button 'clicked (lambda (b) (close window))) (gtk-container-add window button-box) (gtk-container-add button-box button) (show button) (show button-box) (show window))) (let ((app (make <gtk-application> #:application-id "com.example.GtkApplication"))) (connect app 'activate activate) (run app 0 '())) ================================>8================================ HTH, Vladimir