[SCM] snd/master: New upstream version 18.0

umlaeute at users.alioth.debian.org umlaeute at users.alioth.debian.org
Wed Jan 10 15:42:10 UTC 2018


The following commit has been merged in the master branch:
commit 1b3b1b2aeecc34416aa125e24abecda704a5c8ad
Author: IOhannes m zmölnig <zmoelnig at umlautS.umlaeute.mur.at>
Date:   Wed Jan 10 11:29:48 2018 +0100

    New upstream version 18.0

diff --git a/HISTORY.Snd b/HISTORY.Snd
index fb235a1..c0fb84a 100644
--- a/HISTORY.Snd
+++ b/HISTORY.Snd
@@ -1,5 +1,9 @@
 Snd change log
 
+ 9-Jan-18:  Snd-18.0.
+
+2018 ----------------------------------------------------------------
+
  1-Dec:     Snd 17.9.
  16-Oct:    Snd 17.8.
  11-Sep:    Snd 17.7.
@@ -8,7 +12,7 @@ Snd change log
  6-May:     Snd 17.4. New clm optimizer.
  28-Mar:    Snd 17.3. 
  22-Feb:    Snd 17.2.
- 16-Jan:    Snd 17.1.
+ 16-Jan-17: Snd 17.1.
  
 2017 ----------------------------------------------------------------
 
diff --git a/NEWS b/NEWS
index 2dc583b..334ec1d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,12 @@
-Snd 17.9:
+Snd 18.0:
 
-various bugs fixed.
+many Forth/Ruby improvements thanks to Mike.
 
-checked: FC 27, gsl 2.4, gtk 3.92.1, sbcl 1.4.1, OSX 10.13.1, Ubuntu 17.10
+in Snd, xg.c is no longer included automatically.  The changes for
+  gtk 4 are very extensive.
 
-Thanks!: Tito Latini, Michael Edwards
+added snd.desktop and tools/auto-tester.scm.
+
+checked: sbcl 1.4.2|3, gtk 3.93.0
+
+Thanks!: Mike Scholz, Kjetil Matheussen, Yuri, Daniel Hensel
diff --git a/README.Snd b/README.Snd
index 6965cd2..4d20d09 100644
--- a/README.Snd
+++ b/README.Snd
@@ -4,11 +4,11 @@ Snd is a sound editor.  It currently runs on nearly all
 Unix-based systems, including Mac OSX and Cygwin.
 To build Snd, get the sources from
 
-  ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz
+  ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-18.tar.gz
 
-  gzip -d snd-17.tar.gz
-  tar xf snd-17.tar
-  cd snd-17
+  gzip -d snd-18.tar.gz
+  tar xf snd-18.tar
+  cd snd-18
   ./configure
   make
 
@@ -62,7 +62,7 @@ The configure script has a bunch of arguments:
   
      --with-jack       use the Jack library which needs libsamplerate
 
-     --with-pulseaudio use PulseAudio (untested)
+     --with-pulseaudio use PulseAudio (untested), libpulse-dev in debian, puleaudio-libs-devel in Fedora
 
      --without-audio   do not include audio support.  This also affects the
                          GUI (play buttons are omitted).
@@ -164,7 +164,7 @@ Authors:
 Bill Schottstaedt
 Michael Scholz
 
-Rick Taube, Andrew Burnson, Donny Ward: C++ and Windows wizardry.
+Rick Taube, Andrew Burnson, Donny Ward, Greg Santucci: C++ and Windows wizardry.
 Kjetil S. Matheussen:                   the Jack support and many other improvements.
 Dave Phillips:                          the tutorial, new-effects.scm, and many other files.
 Fernando Lopez-Lezcano:                 the current ALSA support.
@@ -194,7 +194,7 @@ Plus many other contributions from
 
 
 In terms of number of lines, the languages used in Snd/Sndlib are:
-C, Scheme, Ruby, Forth, Emacs Lisp, Fortran, and Lua (altogether about 750k lines).
+C, Scheme, Ruby, Forth, Emacs Lisp, Fortran, and Lua (altogether about 850k lines).
 
 
 ----------------------------------------------------------------
diff --git a/_sndlib.h b/_sndlib.h
index 7fa28b0..088eb7a 100644
--- a/_sndlib.h
+++ b/_sndlib.h
@@ -89,7 +89,8 @@
 #define MUS_MAX_CHANS 256
 
 #include "sndlib.h"
-#include "xen.h"
-#include "vct.h"
-
+#if (HAVE_EXTENSION_LANGUAGE)  /* make sndinfo for example sets this to 0 but does not change mus-config.h */
+  #include "xen.h"
+  #include "vct.h"
+#endif
 #endif
diff --git a/audio.c b/audio.c
index 9bd6600..77c6112 100644
--- a/audio.c
+++ b/audio.c
@@ -5129,6 +5129,7 @@ int mus_audio_write(int line, char *buf, int bytes)
 {
   int error;
   pa_simple_write(pa_out, (unsigned char *)buf, (size_t)bytes, &error);
+  return(error);
 }
 
 
@@ -5138,6 +5139,7 @@ int mus_audio_close(int line)
   pa_simple_drain(pa_out, &error);
   pa_simple_free(pa_out);
   pa_out = NULL;
+  return(error);
 }
 
 
diff --git a/bird.fsm b/bird.fsm
index da8d6c1..87a2c5c 100644
--- a/bird.fsm
+++ b/bird.fsm
@@ -1,8 +1,10 @@
 \ bird.fsm -- clm/bird.clm
 
 \ Translator: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Tue Dec 12 03:26:27 CET 2006
-\ Changed: Wed Nov 21 22:48:47 CET 2012
+\ Created: 06/12/12 03:26:27
+\ Changed: 17/12/02 03:07:58
+\
+\ @(#)bird.fsm	1.14 12/2/17
 
 \ Usage: <'> bird-test with-sound
 \        or ws-bird-test
diff --git a/clm-ins.fs b/clm-ins.fs
index a54a46b..1eeae41 100644
--- a/clm-ins.fs
+++ b/clm-ins.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 06/02/03 10:36:51
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/22 07:52:33
 \
-\ @(#)clm-ins.fs	1.49 4/28/14
+\ @(#)clm-ins.fs	1.51 12/22/17
 
 \ jc-reverb	( keyword-args -- )
 \ violin	( start dur freq amp keyword-args -- )
@@ -57,21 +57,6 @@
 require	clm
 require env
 
-\ Prevent name clash with possibly loaded sndins.so.
-\ sndins.so instruments can be called with fm-violin-ins etc.
-[ifdef] fm-violin
-	<'> fm-violin alias fm-violin-ins
-	<'> fm-violin-ins <'> fm-violin help-ref help-set!
-[then]
-[ifdef] jc-reverb
-	<'> jc-reverb alias jc-reverb-ins
-	<'> jc-reverb-ins <'> jc-reverb help-ref help-set!
-[then]
-[ifdef] nrev
-	<'> nrev alias nrev-ins
-	<'> nrev-ins <'> nrev help-ref help-set!
-[then]
-
 \ General input function for src, granulate etc.
 : readin-cb { gen -- prc; dir self -- val }
 	1 proc-create ( prc )
@@ -80,30 +65,85 @@ require env
 	self @ ( gen ) readin
 ;
 
-: reverb-dur ( rev -- dur )
-	mus-length samples->seconds *clm-decay-time* f+
+hide
+: (jc-reverb-simple) { flts allpasses combs volume dur -- }
+	flts length 1 = if
+		flts 0 array-ref { gen }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			volume f*			( val )
+			gen swap 0.0 delay		( samp )
+		end-run-reverb-out-1
+	else
+		flts 0 array-ref { gen1 }
+		flts 1 array-ref { gen2 }
+		0.0 { val }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			volume f* to val
+			gen2 val 0.0 delay		( samp2 )
+			gen1 val 0.0 delay		( samp1 samp2 )
+		end-run-reverb-out-2
+	then
 ;
 
-\ clm/jcrev.ins
-instrument: jc-reverb-fs <{ :key
-    volume 1.0
-    delay1 0.013
-    delay2 0.011
-    delay3 0.015
-    delay4 0.017
-    low-pass #f
-    doubled #f
-    amp-env #f -- }>
+: (jc-reverb-env) { envA flts allpasses combs volume dur -- }
+	flts length 1 = if
+		flts 0 array-ref { gen }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			envA env f*			( val )
+			gen swap 0.0 delay		( samp )
+		end-run-reverb-out-1
+	else
+		flts 0 array-ref { gen1 }
+		flts 1 array-ref { gen2 }
+		0.0 { val }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			envA env f* to val
+			gen2 val 0.0 delay		( samp2 )
+			gen1 val 0.0 delay		( samp1 samp2 )
+		end-run-reverb-out-2
+	then
+;
+
+: (jc-reverb-fir) { flt envA flts allpasses combs volume dur -- }
+	flts length 1 = if
+		flts 0 array-ref { gen }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			flt       swap fir-filter	( val )
+			envA env f*			( val )
+			gen swap 0.0 delay		( samp )
+		end-run-reverb-out-1
+	else
+		flts 0 array-ref { gen1 }
+		flts 1 array-ref { gen2 }
+		0.0 { val }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val )
+			combs     swap comb-bank	( val )
+			flt       swap fir-filter	( val )
+			envA env f* to val
+			gen2 val 0.0 delay		( samp2 )
+			gen1 val 0.0 delay		( samp1 samp2 )
+		end-run-reverb-out-2
+	then
+;
+set-current
+
+\ clm/jcrev.ins and snd/jcrev.scm
+instrument: jc-reverb <{ :key low-pass #f volume 1.0 amp-env #f -- }>
 	doc" The Chowning reverb.\n\
 0 1 440 0.2 <'> fm-violin :reverb <'> jc-reverb with-sound\n\
 0 1 440 0.2 <'> fm-violin\n\
 :reverb-data #( :low-pass #t ) :reverb <'> jc-reverb :channels 2 with-sound."
-	*output* channels { chans }
-	*reverb* channels { rev-chans }
-	*reverb* reverb-dur { dur }
-	*verbose* if
-		get-func-name rev-chans chans reverb-info
-	then
 	:feedback -0.7 :feedforward 0.7 :size 1051 make-all-pass { allpass1 }
 	:feedback -0.7 :feedforward 0.7 :size  337 make-all-pass { allpass2 }
 	:feedback -0.7 :feedforward 0.7 :size  113 make-all-pass { allpass3 }
@@ -111,77 +151,37 @@ instrument: jc-reverb-fs <{ :key
 	:scaler 0.733 :size 4999 make-comb { comb2 }
 	:scaler 0.715 :size 5399 make-comb { comb3 }
 	:scaler 0.697 :size 5801 make-comb { comb4 }
-	chans 1 > { chan2 }
-	chans 4 = { chan4 }
-	:size delay1 seconds->samples make-delay { outdel1 }
-	chan2 if
-		:size delay2 seconds->samples make-delay
-	else
-		#f
-	then { outdel2 }
-	doubled
-	chan4 || if
-		:size delay3 seconds->samples make-delay
-	else
-		#f
-	then { outdel3 }
-	chan4
-	doubled chan2 && || if
-		:size delay4 seconds->samples make-delay
-	else
-		#f
-	then { outdel4 }
-	amp-env if
-		:envelope amp-env :scaler volume :duration dur make-env
+	*output* channels { chans }
+	*reverb* ws-framples samples->seconds *decay-time* f+ { dur }
+	chans 1 = if
+		\ XXX:	Building arrays like this
+		\	#( :size 0.013 seconds->samples make-delay )
+		\	doesn't work well with keyword functions.
+		:size 0.013 seconds->samples make-delay { dl }
+		#( dl )
 	else
-		#f
-	then { env-a }
-	doubled chan4 && if
-		"jc-reverb is not set up for doubled reverb in quad" error
-	then
-	0.0 0.0 { comb-sum comb-sum-1 }
-	0.0 dur run
-		0.0 rev-chans 0 ?do
-			j i *reverb* in-any f+
-		loop { in-val }
-		allpass3 allpass2 allpass1 in-val
-		    0.0 all-pass 0.0 all-pass 0.0 all-pass { allpass-sum }
-		comb-sum-1 { comb-sum-2 }
-		comb-sum to comb-sum-1
-		    comb1 allpass-sum 0.0 comb
-		    comb2 allpass-sum 0.0 comb f+
-		    comb3 allpass-sum 0.0 comb f+
-		    comb4 allpass-sum 0.0 comb f+ to comb-sum
+		:size 0.013 seconds->samples make-delay { dl1 }
+		:size 0.011 seconds->samples make-delay { dl2 }
+		#( dl1 dl2 )
+	then { flts }
+	#( comb1 comb2 comb3 comb4 ) make-comb-bank { combs }
+	#( allpass1 allpass2 allpass3 ) make-all-pass-bank { allpasses }
+	amp-env low-pass || if
+		amp-env unless
+			'( 0 1 1 1 ) to amp-env
+		then
+		:envelope amp-env :scaler volume :duration dur make-env { envA }
 		low-pass if
-			comb-sum comb-sum-2 f+ 0.25 f* comb-sum-1 f2/ f+
+			3 vct( 0.25 0.5 0.25 ) make-fir-filter ( flt )
+			envA flts allpasses combs volume dur (jc-reverb-fir)
 		else
-			comb-sum
-		then { all-sums }
-		outdel1 all-sums 0.0 delay { del-a }
-		doubled if
-			outdel3 all-sums 0.0 delay del-a f+ to del-a
-		then
-		env-a ?dup-if
-			env to volume
-		then
-		i del-a volume f* *output* outa drop
-		chan2 if
-			outdel2 all-sums 0.0 delay { del-b }
-			doubled if
-				outdel4 all-sums 0.0 delay del-b f+ to del-b
-			then
-			i del-b volume f* *output* outb drop
-		then
-		chan4 if
-			i outdel3 all-sums 0.0 delay
-			    volume f* *output* outc drop
-			i outdel4 all-sums 0.0 delay
-			    volume f* *output* outd drop
+			envA flts allpasses combs volume dur (jc-reverb-env)
 		then
-	loop
+	else
+		flts allpasses combs volume dur (jc-reverb-simple)
+	then
 ;instrument
-<'> jc-reverb-fs alias jc-reverb
-<'> jc-reverb <'> jc-reverb-fs help-ref help-set!
+previous
 
 \ snd/fm.html
 instrument: violin <{ start dur freq amp :key
@@ -229,7 +229,7 @@ instrument: violin <{ start dur freq amp :key
 ;
 
 \ === FM-Violin (clm/v.ins, snd/v.scm|rb) ===
-instrument: fm-violin-fs <{ start dur freq amp :key
+instrument: fm-violin <{ start dur freq amp :key
     fm-index 1.0
     amp-env #( 0 0 25 1 75 1 100 0 )
     periodic-vibrato-rate 5.0
@@ -430,8 +430,6 @@ instrument: fm-violin-fs <{ start dur freq amp :key
 		end-run
 	then
 ;
-<'> fm-violin-fs alias fm-violin
-<'> fm-violin <'> fm-violin-fs help-ref help-set!
 
 : fm-violin-test <{ :optional start 0.0 dur 1.0 -- }>
 	start now!
@@ -1663,6 +1661,54 @@ instrument: canter <{ start dur pitch amp
 	4.4 step
 ;
 
+hide
+: (nrev-one) { flts combs allpasses allpass4 low volume dur -- }
+	flts 0 array-ref { gen }
+	dur run-reverb					( in-val )
+		volume f*				( val )
+		combs     swap comb-bank		( val )
+		allpasses swap all-pass-bank		( val ) 
+		low       swap one-pole			( val )
+		allpass4  swap 0.0 all-pass		( val )
+		gen       swap 0.0 all-pass		( samp )
+	end-run-reverb-out-1
+;
+
+: (nrev-two) { flts combs allpasses allpass4 low volume dur -- }
+	flts 0 array-ref { gen1 }
+	flts 1 array-ref { gen2 }
+	0.0 { val }
+	dur run-reverb					( in-val )
+		volume f*				( val )
+		combs     swap comb-bank		( val )
+		allpasses swap all-pass-bank		( val ) 
+		low       swap one-pole			( val )
+		allpass4  swap 0.0 all-pass to val
+		gen1 val 0.0 all-pass			( samp1 )
+		gen2 val 0.0 all-pass			( samp1 samp2 )
+	end-run-reverb-out-2
+;
+
+: (nrev-quad) { flts combs allpasses allpass4 low volume dur -- }
+	flts 0 array-ref { gen1 }
+	flts 1 array-ref { gen2 }
+	flts 2 array-ref { gen3 }
+	flts 3 array-ref { gen4 }
+	0.0 { val }
+	dur run-reverb					( in-val )
+		volume f*				( val )
+		combs     swap comb-bank		( val )
+		allpasses swap all-pass-bank		( val ) 
+		low       swap one-pole			( val )
+		allpass4  swap 0.0 all-pass to val
+		gen1 val 0.0 all-pass			( s1 )
+		gen2 val 0.0 all-pass			( s1 s2 )
+		gen3 val 0.0 all-pass			( s1 s2 s3 )
+		gen4 val 0.0 all-pass			( s1 s2 s3 s4 )
+	end-run-reverb-out-4
+;
+set-current
+
 \ NREV (the most popular Samson box reverb)
 \ 
 \ REVERB-FACTOR controls the length of the decay -- it should not
@@ -1670,24 +1716,16 @@ instrument: canter <{ start dur pitch amp
 \ filter inserted in the feedback loop, VOLUME can be used to boost the
 \ reverb output.
 \ 
-\ clm/nrev.ins
-instrument: nrev-fs <{ :key
-    reverb-factor 1.09
-    lp-coeff 0.7
-    lp-out-coeff 0.85
-    output-scale 1.0
-    volume 1.0
-    amp-env #( 0 1 1 1 ) -- }>
+\ clm/nrev.ins and snd/nrev.scm
+instrument: nrev <{ :key reverb-factor 1.09 lp-coeff 0.7 volume 1.0 -- }>
 	doc" NREV (the most popular Samson box reverb).\n\
+REVERB-FACTOR controls the length of the decay -- it should not \
+exceed (/ 1.0 .823), LP-COEFF controls the strength of the low pass \
+filter inserted in the feedback loop, VOLUME can be used to boost the \
+reverb output.\n\
 <'> fm-violin-test :reverb <'> nrev with-sound."
-	*output* channels { chans }
-	*reverb* channels { rev-chans }
-	*reverb* reverb-dur { dur }
-	*verbose* if
-		get-func-name rev-chans chans reverb-info
-	then
 	mus-srate 25641.0 f/ { sr }
-	#( 1433 1601 1867 2053 2251 2399 347 113 37 59 43 37 29 19 ) map
+	#( 1433 1601 1867 2053 2251 2399 347 113 37 59 53 43 37 29 19 ) map
 		sr *key* f* f>s dup 2 mod unless
 			1+
 		then ( val )
@@ -1698,82 +1736,58 @@ instrument: nrev-fs <{ :key
 		repeat ( val )
 	end-map { dly-len }
 	:scaler 0.822 reverb-factor f*
-	    :size dly-len 0 array-ref make-comb { comb0 }
+	:size dly-len 0 array-ref make-comb { comb1 }
 	:scaler 0.802 reverb-factor f*
-	    :size dly-len 1 array-ref make-comb { comb1 }
+	:size dly-len 1 array-ref make-comb { comb2 }
 	:scaler 0.773 reverb-factor f*
-	    :size dly-len 2 array-ref make-comb { comb2 }
+	:size dly-len 2 array-ref make-comb { comb3 }
 	:scaler 0.753 reverb-factor f*
-	    :size dly-len 3 array-ref make-comb { comb3 }
+	:size dly-len 3 array-ref make-comb { comb4 }
 	:scaler 0.753 reverb-factor f*
-	    :size dly-len 4 array-ref make-comb { comb4 }
+	:size dly-len 4 array-ref make-comb { comb5 }
 	:scaler 0.733 reverb-factor f*
-	    :size dly-len 5 array-ref make-comb { comb5 }
+	:size dly-len 5 array-ref make-comb { comb6 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 6 array-ref make-all-pass { allp0 }
+	:size dly-len 6 array-ref make-all-pass { allpass1 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 7 array-ref make-all-pass { allp1 }
+	:size dly-len 7 array-ref make-all-pass { allpass2 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 8 array-ref make-all-pass { allp2 }
+	:size dly-len 8 array-ref make-all-pass { allpass3 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 9 array-ref make-all-pass { allp3 }
+	:size dly-len 9 array-ref make-all-pass { allpass4 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 10 array-ref make-all-pass { allp4 }
+	:size dly-len 11 array-ref make-all-pass { allpass5 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 11 array-ref make-all-pass { allp5 }
+	:size dly-len 12 array-ref make-all-pass { allpass6 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 12 array-ref make-all-pass { allp6 }
+	:size dly-len 13 array-ref make-all-pass { allpass7 }
 	:feedback -0.7 :feedforward 0.7
-	    :size dly-len 13 array-ref make-all-pass { allp7 }
+	:size dly-len 14 array-ref make-all-pass { allpass8 }
 	lp-coeff lp-coeff 1.0 f- make-one-pole { low }
-	lp-out-coeff lp-coeff 1.0 f- make-one-pole { low-a }
-	lp-out-coeff lp-coeff 1.0 f- make-one-pole { low-b }
-	lp-out-coeff lp-coeff 1.0 f- make-one-pole { low-c }
-	lp-out-coeff lp-coeff 1.0 f- make-one-pole { low-d }
-	:envelope amp-env :scaler output-scale :duration dur make-env { ampf }
-	0.0 dur run
-		0.0 ( rev ) rev-chans 0 ?do
-			j i *reverb* in-any f+
-		loop volume f* ampf env f* { rev }
-		0.0 ( outrev )
-		    comb0 rev 0.0 comb f+
-		    comb1 rev 0.0 comb f+
-		    comb2 rev 0.0 comb f+
-		    comb3 rev 0.0 comb f+
-		    comb4 rev 0.0 comb f+
-		    comb5 rev 0.0 comb f+ { outrev }
-		allp2 allp1 allp0 outrev 0.0 all-pass 0.0 all-pass
-		    0.0 all-pass to outrev
-		allp3 low outrev one-pole 0.0 all-pass to outrev
-		low-a allp4 outrev 0.0 all-pass
-		    one-pole output-scale f* { sample-a }
-		low-b allp5 outrev 0.0 all-pass
-		    one-pole output-scale f* { sample-b }
-		low-c allp6 outrev 0.0 all-pass
-		    one-pole output-scale f* { sample-c }
-		low-d allp7 outrev 0.0 all-pass
-		    one-pole output-scale f* { sample-d }
+	*output* channels { chans }
+	*reverb* ws-framples samples->seconds *decay-time* f+ { dur }
+	chans 1 = if
+		#( allpass5 )
+	else
 		chans 2 = if
-			i sample-a sample-d f+ f2/ *output* outa drop
+			#( allpass5 allpass6 )
 		else
-			i sample-a *output* outa drop
+			#( allpass5 allpass6 allpass7 allpass8 )
 		then
-		chans 2 =
-		chans 4 = || if
-			chans 2 = if
-				i sample-b sample-c f+ f2/ *output* outb drop
-			else
-				i sample-b *output* outb drop
-			then
-		then
-		chans 4 = if
-			i sample-c *output* outc drop
-			i sample-d *output* outd drop
+	then { flts }
+	#( comb1 comb2 comb3 comb4 comb5 comb6 ) make-comb-bank { combs }
+	#( allpass1 allpass2 allpass3 ) make-all-pass-bank { allpasses }
+	chans 1 = if
+		flts combs allpasses allpass4 low volume dur (nrev-one)
+	else
+		chans 2 = if
+			flts combs allpasses allpass4 low volume dur (nrev-two)
+		else
+			flts combs allpasses allpass4 low volume dur (nrev-quad)
 		then
-	loop
+	then
 ;instrument
-<'> nrev-fs alias nrev
-<'> nrev <'> nrev-fs help-ref help-set!
+previous
 
 #( "reson-carriers"
    "reson-ampfs"
@@ -1966,60 +1980,36 @@ instrument: cellon <{ start dur pitch0 amp ampfun
 ;
 
 \ JL-REVERB
-instrument: jl-reverb <{ -- }>
-	*output* channels { chans }
-	*reverb* channels { rev-chans }
-	*reverb* reverb-dur { dur }
-	*verbose* if
-		get-func-name rev-chans chans reverb-info
-	then
+instrument: jl-reverb <{ :key decay 3.0 volume 1.0 -- }>
 	:feedback -0.7 :feedforward 0.7 :size 2111 make-all-pass { allpass1 }
-	:feedback -0.7 :feedforward 0.7 :size 673 make-all-pass { allpass2 }
-	:feedback -0.7 :feedforward 0.7 :size 223 make-all-pass { allpass3 }
-	:scaler 0.742 :size 9601 make-comb { comb1 }
+	:feedback -0.7 :feedforward 0.7 :size  673 make-all-pass { allpass2 }
+	:feedback -0.7 :feedforward 0.7 :size  223 make-all-pass { allpass3 }
+	:scaler 0.742 :size  9601 make-comb { comb1 }
 	:scaler 0.733 :size 10007 make-comb { comb2 }
 	:scaler 0.715 :size 10799 make-comb { comb3 }
 	:scaler 0.697 :size 11597 make-comb { comb4 }
 	:size 0.013 seconds->samples make-delay { outdel1 }
-	chans 1 > if
-		:size 0.011 seconds->samples make-delay
-	else
-		#f
-	then { outdel2 }
-	chans 2 > if
-		:size 0.015 seconds->samples make-delay
+	:size 0.011 seconds->samples make-delay { outdel2 }
+	#( comb1 comb2 comb3 comb4 ) make-comb-bank { combs }
+	#( allpass1 allpass2 allpass3 ) make-all-pass-bank { allpasses }
+	*reverb* ws-framples samples->seconds decay f+ { dur }
+	*output* channels 1 = if
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val ) 
+			combs     swap comb-bank	( val )
+			volume f*			( val )
+			outdel1   swap 0.0 delay	( samp )
+		end-run-reverb-out-1
 	else
-		#f
-	then { outdel3 }
-	chans 3 > if
-		:size 0.017 seconds->samples make-delay
-	else
-		#f
-	then { outdel4 }
-	0.0 { allpass-sum }
-	0.0 { all-sums }
-	0.0 dur run
-		0.0 ( sum )
-		rev-chans 0 ?do
-			j i *reverb* in-any f+ ( sum += ... )
-		loop { in-val }
-		allpass3 allpass2 allpass1 in-val 0.0 all-pass
-		    0.0 all-pass 0.0 all-pass to allpass-sum
-		comb1 allpass-sum 0.0 comb
-		    comb2 allpass-sum 0.0 comb f+
-		    comb3 allpass-sum 0.0 comb f+
-		    comb4 allpass-sum 0.0 comb f+ to all-sums
-		i outdel1 all-sums 0.0 delay *output* outa drop
-		outdel2 if
-			i outdel2 all-sums 0.0 delay *output* outb drop
-		then
-		outdel3 if
-			i outdel3 all-sums 0.0 delay *output* outc drop
-		then
-		outdel4 if
-			i outdel4 all-sums 0.0 delay *output* outd drop
-		then
-	loop
+		0.0 { val }
+		dur run-reverb				( in-val )
+			allpasses swap all-pass-bank	( val ) 
+			combs     swap comb-bank	( val )
+			volume f* to val
+			outdel1   val 0.0 delay		( samp1 )
+			outdel2   val 0.0 delay		( samp1 samp2 )
+		end-run-reverb-out-2
+	then
 ;instrument
 
 \ GRAN-SYNTH
diff --git a/clm.fs b/clm.fs
index ca4f658..1235eb3 100644
--- a/clm.fs
+++ b/clm.fs
@@ -2,9 +2,9 @@
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 04/03/15 19:25:58
-\ Changed: 17/09/25 22:08:35
+\ Changed: 18/01/02 07:20:24
 \
-\ @(#)clm.fs	1.122 9/25/17
+\ @(#)clm.fs	2.2 1/2/18
 
 \ clm-print		( fmt :optional args -- )
 \ clm-message		( fmt :optional args -- )
@@ -20,56 +20,74 @@
 \ bpm->seconds		( bpm -- secs )
 \ rhythm->seconds	( rhy -- secs )
 \ 
-\ tempnam		( -- name )
 \ fth-tempnam		( -- name )
 \ make-default-comment	( -- str )
 \ times->samples	( start dur -- len beg )
 \ 
-\ ws-local-variables	( -- )
-\ ws-info		( start dur vars -- start dur )
-\ run			( start dur -- )
-\ run-instrument	( start dur locsig-args -- )
-\ end-run		( sample -- )
-\ reverb-info		( caller in-chans out-chans -- )
 \ instrument:		( "name" -- )
 \ ;instrument		( -- )
 \ event:		( "name" -- )
 \ ;event		( -- )
 \
 \ find-file		( file -- fname|#f )
-\ snd-info		( output :key reverb-file-name scaled? timer -- )
+\ snd-info		( obj -- )
+\ play-sound		( :optional input verbose player -- )
+\ clm-mix		( infile keyword-args -- )
+\ 
+\ ws-local-variables	( -- )
+\ ws-info		( start dur vars -- start dur )
+\ run			( start dur -- )
+\ run-instrument	( start dur locsig-args -- )
+\ end-run		( sample -- )
+\ ws-out[a-c]		( idx val gen -- )
+\ ws-out-any		( idx val chn gen -- )
+\ reverb-info		( caller in-chans out-chans -- )
+\ run-reverb		( dur -- in-val )
+\ end-run-reverb	( -- )
+\ end-run-reverb-out-1	( samp -- )
+\ end-run-reverb-out-2	( samp1 samp2 -- )
+\ end-run-reverb-out-4	( samp1 samp2 samp3 samp4 -- )
+\ set-to-snd		( f -- )
+\ run-gen-instrument	( start dur dummy --; samp args -- val )
+\ end-run-gen		( -- )
+\ run-gen-body		( samp y -- y' )
+\ run-gen		( -- prc; y self -- y' )
 \
-\ clm-mix		( ifile keyword-args -- )
+\ ws-play		( ws -- )
 \ ws-output		( ws -- fname )
+\ ws-framples		( gen -- len )
+\ ws-close-snd		( fname -- )
+\ ws-is-output?		( gen -- f )
+\ with-sound-main	( body-xt ws -- ws )
 \ with-sound		( body-xt keyword-args -- ws )
 \ clm-load		( fname keyword-args -- ws )
-\ with-current-sound	( body-xt :key offset scaled-to scaled-by -- )
+\ with-current-sound	( body-xt keyword-args -- )
 \ scaled-to		( body-xt scl -- )
 \ scaled-by		( body-xt scl -- )
 \ with-offset		( body-xt secs -- )
-\ with-mix		( body-str|nil args fname start -- )
+\ with-mix		( body-str args fname start -- )
 \ sound-let		( ws-xt-lst body-xt -- )
 \
-\ play-sound		( :key verbose player :optional input -- )
-\
 \ example instruments:
 \ simp			( star dur freq amp -- )
 \ src-simp		( start dur amp sr sr-env fname -- )
 \ conv-simp		( start dur filt fname amp -- )
-\ arpeggio		( start dur freq amp :key ampenv offset -- )
+\ arpeggio		( start dur freq amp keyword-args -- )
+\ simp-gen		( start dur freq amp --; samp args -- val )
+\ violin-gen		( start dur freq amp keyword-args --; samp args -- val )
 \
 \ from generators.scm:
 \ make-waveshape	( :optional freq parts wave size -- )
 \ waveshape		( gen :optional index fm -- val )
 \ waveshape?		( obj -- f )
 \ partials->waveshape	( part :optional size -- wave )
-\ make-sum-of-sines	( :key sines frequency initial-phase -- gen )
+\ make-sum-of-sines	( keyword-args -- gen )
 \ sum-of-sines		( gen :optional fm -- val )
 \ sum-of-sines?		( obj -- f )
-\ make-sum-of-cosines	( :key cosines frequency initial-phase -- gen )
+\ make-sum-of-cosines	( keyword-args -- gen )
 \ sum-of-cosines	( gen :optional fm -- val )
 \ sum-of-cosines?	( obj -- f )
-\ make-sine-summation	( :key frequency initial-phase n a ratio -- gen )
+\ make-sine-summation	( keyword-args -- gen )
 \ sine-summation	( gen :optional fm -- val )
 \ sine-summation?	( obj -- f )
 
@@ -83,13 +101,18 @@
 'sndlib provided? [unless] dl-load sndlib Init_sndlib [then]
 
 'snd provided? [unless]
+	<'> noop alias channel->vct
 	<'> noop alias close-sound
 	<'> noop alias find-sound
+	<'> noop alias framples
+	<'> noop alias mix-vct
+	<'> noop alias new-sound
 	<'> noop alias open-sound
 	<'> noop alias save-sound
 	<'> noop alias scale-channel
 	<'> noop alias sound?
-	<'> noop alias framples
+	<'> noop alias update-sound
+	<'> noop alias vct->channel
 
 	\ Some generic words for non-Snd use.
 	: channels <{ :optional obj #f -- n }>
@@ -112,14 +135,33 @@
 		then
 	;
 
-	: maxamp <{ :optional snd #f chn #f edpos #f -- r }>
-		snd string? if
-			snd mus-sound-maxamp
+	: maxamp <{ :optional obj #f chn #f edpos #f -- r }>
+		obj string? if
+			obj mus-sound-maxamp
+		else
+			obj vct? if
+				obj vct-peak
+			else
+				obj mus-generator? if
+					obj mus-data vct-peak
+				else
+					0.0
+				then
+			then
+		then
+	;
+
+	\ set to *clm-file-name* below
+	defer *clm-fname*
+
+	: file-name <{ :optional obj #f -- name }>
+		obj string? if
+			obj			
 		else
-			snd vct? if
-				snd vct-peak
+			obj mus-generator? if
+				obj mus-file-name
 			else
-				0.0
+				*clm-fname*
 			then
 		then
 	;
@@ -127,7 +169,7 @@
 
 [ifundef] clm-print
 	\ "hello" clm-print
-	\ "file %s, line %d\n" '( "oboe.snd" 123 ) clm-print
+	\ "file %s, line %d\n" '( "clm.fs" 135 ) clm-print
 	[ifdef] snd-print
 		: clm-print ( fmt :optional args -- )
 			string-format snd-print drop
@@ -137,6 +179,28 @@
 	[then]
 [then]
 
+[ifundef] stack-check
+	\ added to examples/fth-lib/fth.fs on 2017/12/16
+	hide
+	: (stack-check) ( req xt -- )
+		{ req xt }
+		depth req < if
+			depth { d }
+			'wrong-number-of-args
+			    #( "%s: not enough arguments, %s instead of %s"
+			       xt xt->name
+			       d
+			       req ) fth-throw
+		then
+	;
+	set-current
+
+	: stack-check ( req -- )
+		postpone running-word postpone (stack-check)
+	; immediate compile-only
+	previous
+[then]
+
 \ Put comment sign before output string and finish with carriage return.
 : clm-message ( fmt :optional args -- )
 	string-format { msg }
@@ -150,11 +214,11 @@ hide
 0.25 value *clm-beat*
 set-current
 
-: now@ ( -- secs )   *clm-current-time* ;
-: now! ( secs -- )   to *clm-current-time* ;
-: step ( secs -- )   now@ f+ now! ;
-: tempo@ ( -- secs )   *clm-tempo* ;
-: tempo! ( secs -- )   to *clm-tempo* ;
+: now@ ( -- secs )	*clm-current-time* ;
+: now! ( secs -- )	to *clm-current-time* ;
+: step ( secs -- )	now@ f+ now! ;
+: tempo@ ( -- secs )	*clm-tempo* ;
+: tempo! ( secs -- )	to *clm-tempo* ;
 previous
 
 \ --- Pitches ---
@@ -256,8 +320,8 @@ set-current
 previous
 
 \ --- Note length ---
-: bpm->seconds ( bpm -- secs )   60.0 swap f/ ;
-: rhythm->seconds ( rhy -- secs )   4.0 tempo@ bpm->seconds f* f* ;
+: bpm->seconds ( bpm -- secs )		60.0 swap f/ ;
+: rhythm->seconds ( rhy -- secs )	4.0 tempo@ bpm->seconds f* f* ;
 
 hide
 : notelength ( scale "name" --; self -- r )
@@ -281,33 +345,45 @@ set-current
 previous
 
 \ === Global User Variables (settable in ~/.snd_forth or ~/.fthrc) ===
-"fth 2017/09/25"  value *clm-version*
-#f 	      	  value *locsig*
-mus-lshort    	  value *clm-audio-format*
-#f            	  value *clm-comment*
-1.0           	  value *clm-decay-time*
-#f  	      	  value *clm-delete-reverb*
-"test.snd"    	  value *clm-file-name*
-#f 	      	  value *clm-notehook*
-#f  	      	  value *clm-play*
-#f            	  value *clm-player*           
-#f 	      	  value *clm-reverb*
-1     	      	  value *clm-reverb-channels*
-#()           	  value *clm-reverb-data*
-"test.reverb" 	  value *clm-reverb-file-name*
-#f  	      	  value *clm-statistics*
-#f	      	  value *clm-verbose*
-#f            	  value *clm-debug*
+"fth 2018/01/02"	value *clm-version*
+mus-lshort	value *clm-audio-format*
+#f		value *clm-comment*
+1.0		value *clm-decay-time*
+#f		value *clm-delete-reverb*
+"test.snd"	value *clm-file-name*
+#f		value *clm-notehook*
+#f		value *clm-play*
+#f		value *clm-player*           
+#f		value *clm-reverb*
+1		value *clm-reverb-channels*
+#()		value *clm-reverb-data*
+"test.reverb"	value *clm-reverb-file-name*
+#f		value *clm-statistics*
+#f		value *clm-to-dac*
+#f		value *clm-to-snd*
+#f		value *clm-verbose*
+#f		value *clm-debug*
 "CLM_SEARCH_PATH" getenv "." || ":" string-split value *clm-search-list*
 
 <'> *clm-search-list*
 "List of directories with sound files." help-set!
+
 #() value *clm-instruments*
 <'> *clm-instruments*
 "List of #( ins-name start dur local-vars ) elements.  \
 Instruments using RUN or RUN-INSTRUMENT add entries to the list." help-set!
 
+#() value *dac-instruments*
+<'> *dac-instruments*
+"List of collected dac instruments of #( ins-xt beg end ) elements.  \
+Used with :to-dac #t." help-set!
+
+#f value *clm-current-instrument*
+<'> *clm-current-instrument*
+"Current instrument set in INSTRUMENT:." help-set!
+
 'snd provided? [unless]
+	<'> *clm-file-name* is *clm-fname*
 	1          constant default-output-chans
 	44100      constant default-output-srate
 	mus-next   constant default-output-header-type
@@ -315,33 +391,36 @@ Instruments using RUN or RUN-INSTRUMENT add entries to the list." help-set!
 	1024       constant dac-size
 [then]
 
-default-output-chans       value *clm-channels*
-default-output-srate       value *clm-srate*
-locsig-type                value *clm-locsig-type*
-default-output-header-type value *clm-header-type*
-default-output-sample-type value *clm-sample-type*
-dac-size                   value *clm-rt-bufsize*
-mus-file-buffer-size       value *clm-file-buffer-size*
-mus-clipping               value *clm-clipped*
-mus-array-print-length     value *clm-array-print-length*
-clm-table-size             value *clm-table-size*
-440.0                      value *clm-default-frequency*
-
-\ for backward compatibility
-*clm-sample-type* value *clm-data-format*
-<'> *clm-data-format* lambda: <{ val -- res }>
-	val to *clm-sample-type*
-	val
-; trace-var
+default-output-chans		value *clm-channels*
+default-output-srate		value *clm-srate*
+locsig-type			value *clm-locsig-type*
+default-output-header-type	value *clm-header-type*
+default-output-sample-type	value *clm-sample-type*
+dac-size			value *clm-rt-bufsize*
+mus-file-buffer-size		value *clm-file-buffer-size*
+mus-clipping			value *clm-clipped*
+mus-array-print-length		value *clm-array-print-length*
+clm-table-size			value *clm-table-size*
+440.0				value *clm-default-frequency*
  
 <'> *clm-table-size* lambda: <{ val -- res }>
 	val set-clm-table-size
 ; trace-var
 
+<'> *clm-srate* lambda: <{ val -- res }>
+	val set-mus-srate f>s
+; trace-var
+
 \ internal global variables
-*clm-channels* value *channels*
-*clm-verbose*  value *verbose*
-*clm-notehook* value *notehook*
+*clm-channels*		value *channels*
+*clm-verbose*		value *verbose*
+*clm-notehook*		value *notehook*
+*clm-decay-time*	value *decay-time*
+0.0			value *degree*
+1.0			value *distance*
+0.05			value *reverbamount*
+0			value *start*
+#f			value *outgen*
 
 'snd provided? [if]
 	<'> snd-tempnam alias fth-tempnam
@@ -387,133 +466,11 @@ Produces something like:\n\
 ;
 
 : times->samples { start dur -- len beg }
-	start seconds->samples { beg }
-	dur   seconds->samples { len }
+	start s>f seconds->samples { beg }
+	dur   s>f seconds->samples { len }
 	beg len d+ beg
 ;
 
-\ === With-Sound Run-Instrument ===
-"with-sound error"     create-exception with-sound-error
-"with-sound interrupt" create-exception with-sound-interrupt
-#() value *ws-args*			\ array for recursive with-sound calls 
-#f value *clm-current-instrument*	\ current instrument set in INSTRUMENT:
-
-: ws-local-variables ( -- )
-	nil { vals }
-	*clm-instruments* empty? if
-		"*clm-instruments* is empty" #() clm-message
-	else
-		"" #() clm-message
-		*clm-instruments* each to vals
-			"=== %s [%.3f-%.3f] ==="
-			#( vals 0 array-ref
-			   vals 1 array-ref
-			   vals 2 array-ref ) clm-message
-			vals 3 array-ref each { var }
-				\ var: '( name . value ) )
-				"%s = %s" var clm-message
-			end-each
-			"" #() clm-message
-		end-each
-	then
-;
-
-: ws-info { start dur vars -- start dur }
-	*clm-instruments*
-	    #( *clm-current-instrument* start dur vars ) array-push drop
-	*notehook* word? if
-		*notehook* #( *clm-current-instrument* start dur ) run-proc drop
-	then
-	start dur
-;
-
-hide
-: (run) ( start dur vars -- limit begin ) ws-info times->samples ;
-
-: (run-instrument) { start dur args vars -- limit begin }
-	args hash? unless
-		#{} to args
-	then
-	:degree args :degree hash-ref 0.0 ||
-	    :distance args :distance hash-ref 1.0 ||
-	    :reverb args :reverb hash-ref 0.05 ||
-	    :channels args :channels hash-ref *channels* ||
-	    :output args :output hash-ref *output* ||
-	    :revout args :revout hash-ref *reverb* ||
-	    :type args :type hash-ref locsig-type || make-locsig to *locsig*
-	\ we set channel 3/4 if any to 0.5 * channel 1/2
-	*output* mus-output? if
-		*output* mus-channels 2 > if
-			*locsig* 2
-			    *locsig* 0 locsig-ref f2/
-			    locsig-set! drop
-			*output* mus-channels 3 > if
-				*locsig* 3
-				    *locsig* 1 locsig-ref f2/
-				    locsig-set! drop
-			then
-		then
-	then
-	*reverb* mus-output? if
-		*reverb* mus-channels 2 > if
-			*locsig* 2
-			    *locsig* 0 locsig-reverb-ref f2/
-			    locsig-reverb-set! drop
-			*reverb* mus-channels 3 > if
-				*locsig* 3
-				    *locsig* 1 locsig-reverb-ref f2/
-				    locsig-reverb-set! drop
-			then
-		then
-	then
-	start dur vars (run)
-;
-
-: (end-run) { val idx -- } *locsig* idx val locsig drop ;
-set-current
-
-\ RUN/LOOP is only a simple replacement of
-\ start dur TIMES->SAMPLES ?DO ... LOOP
-\
-\ RUN-INSTRUMENT/END-RUN requires at least an opened *output*
-\ generator (file->sample), optional an opened *reverb* generator.  It
-\ uses LOCSIG to set samples in output file.  At the end of the loop a
-\ sample value must remain on top of stack!
-\
-\ instrument: foo
-\   0 0.1 nil run-instrument 0.2 end-run
-\ ;instrument
-\ <'> foo with-sound
-\
-\ fills a sound file of length 0.1 seconds with 2205 samples (srate
-\ 22050) with 0.2.
-\ 
-\ 0.0 1.0                   RUN            ... LOOP
-\ 0.0 1.0 #{ :degree 45.0 } RUN-INSTRUMENT ... END-RUN
-: run ( start dur -- )
-	postpone local-variables
-	postpone (run)
-	postpone ?do
-; immediate compile-only
-
-: run-instrument ( start dur locsig-args -- )
-	postpone local-variables
-	postpone (run-instrument)
-	postpone ?do
-; immediate compile-only
-
-: end-run ( sample -- )
-	postpone r@
-	postpone (end-run)
-	postpone loop
-; immediate compile-only
-previous
-
-: reverb-info { caller in-chans out-chans -- }
-	"%s on %d in and %d out channels"
-	    #( caller in-chans out-chans ) clm-message
-;
-
 \ === Helper functions for instruments ===
 hide
 : ins-info ( ins-name -- )   to *clm-current-instrument* ;
@@ -540,7 +497,12 @@ set-current
 <'> ;instrument alias ;event immediate
 previous
 
-\ === Playing and Recording Sound Files ===
+<'> #{}      alias #w{}    ( -- ws )
+<'> hash?    alias ws?     ( obj -- f )
+<'> hash-ref alias ws-ref  ( ws key     -- val )
+: ws-set! ( ws key val -- 'ws ) 3 pick >r hash-set! r> ;
+
+\ === Playing Sound Files ===
 : find-file ( file -- fname|#f )
 	doc" Return the possible full path name of FILE if FILE exists or \
 if FILE was found in *CLM-SEARCH-LIST*, otherwise return #f."
@@ -600,19 +562,25 @@ hide
 		"   ratio: no ratio" #()
 	then clm-message
 ;
-set-current
 
-: snd-info <{ output :key reverb-file-name #f scaled? #f timer #f -- }>
+: .file { output chans srate -- }
+	"filename: %s" #( output ) clm-message
+	"   chans: %d, srate: %d" #( chans srate ) clm-message
+;
+
+: .file-info { output reverb-file-name scaled? timer -- }
 	output mus-sound-duration { dur }
 	output mus-sound-framples { frms }
-	output mus-sound-chans { channels }
+	output mus-sound-chans { chans }
 	output mus-sound-srate { srate }
-	"filename: %S" #( output ) clm-message
-	"   chans: %d, srate: %d" #( channels srate f>s ) clm-message
-	"  format: %s [%s]"
-	    #( output mus-sound-sample-type mus-sample-type-name
-	       output mus-sound-header-type mus-header-type-name ) clm-message
-	"  length: %.3f  (%d frames)" #( dur frms ) clm-message
+	output mus-sound-sample-type mus-sample-type-name { st }
+	output mus-sound-header-type mus-header-type-name { ht }
+	output mus-sound-write-date { dt }
+	"%a %b %d %H:%M:%S %Z %Y" dt strftime { tm }
+	output mus-sound-comment { meta }
+	output chans srate .file
+	"  format: %s [%s]"		#( st ht ) clm-message
+	"  length: %.3f  (%d framples)"	#( dur frms ) clm-message
 	timer timer? if
 		timer .timer
 		srate frms timer .timer-ratio
@@ -621,192 +589,812 @@ set-current
 	reverb-file-name ?dup-if
 		"revamp" srate #f .maxamps
 	then
-	output mus-sound-comment { comm }
-	comm empty? unless
-		" comment: %S" #( comm ) clm-message
+	" written: %s"			#( tm ) clm-message
+	meta empty? unless
+		" comment: %s"		#( meta ) clm-message
+	then
+;
+
+: .dac-info { ws -- }
+	ws :timer ws-ref { timer }
+	timer if
+		timer .timer
+		ws :srate ws-ref ws :framples ws-ref timer .timer-ratio
+	then
+;
+set-current
+
+\ obj:	a string or ws object
+\	string: an existing file name (for play-sound)
+\	    ws: *clm-to-dac* is #t and keyargs are not used
+: snd-info { obj -- }
+	obj string? if
+		obj #f #f #f .file-info
+	else
+		*clm-to-dac* if
+			obj .dac-info
+		else
+			obj :output ws-ref		{ output }
+			obj :reverb-file-name ws-ref	{ reverb-file }
+			obj :scaled-to ws-ref
+			obj :scaled-by ws-ref ||	{ scaled }
+			obj :timer ws-ref		{ tm }
+			output reverb-file scaled tm .file-info
+		then
 	then
 ;
+
+: dac-info { ws -- }
+	ws :output ws-ref ws :channels ws-ref ws :srate ws-ref .file
+;
 previous
 
+\ === Playing Sounds ===
+
+defer ws-play
+
+: play-sound <{ :optional
+    input   *clm-file-name*
+    verbose *clm-verbose*
+    player  *clm-player* -- }>
+	doc" Play sound file INPUT.\n\
+\"bell.snd\" #t play-sound\n\
+\"bell.snd\" #f \"sndplay\" play-sound"
+	input string? if
+		input find-file dup unless
+			drop
+			'no-such-file
+			    #( "%s: %s" get-func-name input ) fth-throw
+		else
+			to input
+		then
+	else
+		input mus-output? if
+			input mus-file-name
+		else
+			*output* mus-output? if
+				*output* mus-file-name
+			else
+				#f
+			then
+		then to input
+	then
+	input if
+		verbose if
+			input snd-info
+		then
+		#w{} :output input ws-set! :player player ws-set! ws-play
+	then
+;
+
+'snd provided? [unless]
+	: play ( keyword-args :optional obj -- f )
+		:start		#f get-optkey drop
+		:end		#f get-optkey drop
+		:channel	#f get-optkey drop
+		:edit-position	#f get-optkey drop
+		:out-channel	#f get-optkey drop
+		:with-sync	#f get-optkey drop
+		:wait		#f get-optkey drop
+		:stop		#f get-optkey drop
+		:srate		#f get-optkey drop
+		:channels	#f get-optkey drop
+		0 *clm-file-name* get-optarg #f #f play-sound
+		#f
+	;
+[then]
+
 : clm-mix <{ infile :key
     output #f
     output-frame 0
-    frames #f
+    framples #f
     input-frame 0
     scaler #f -- }>
 	doc" Mix files in with-sound's *output* generator.\n\
 \"oboe.snd\" clm-mix\n\
 Mixes oboe.snd in *output* at *output*'s \
 location 0 from oboe.snd's location 0 on.  \
-The whole oboe.snd file will be mixed in because :frames is not specified."
+The whole oboe.snd file will be mixed in because :framples is not specified."
 	0 { chans }
 	*output* mus-output? { outgen }
+	*output* sound? { outsnd }
 	output unless
 		outgen if
 			*output* mus-channels to chans
 			*output* mus-file-name to output
 		else
-			'with-sound-error
-			    #( "%s: *output* gen or :output required"
-			       get-func-name ) fth-throw
+			outsnd if
+				*output* channels to chans
+				*output* file-name to output
+			else
+				'with-sound-error
+				    #( "%s: *output* gen or :output required"
+				       get-func-name ) fth-throw
+			then
 		then
 	then
 	infile find-file to infile
 	infile unless
 		'file-not-found
-		    #( "%s: can't find %S" get-func-name infile ) fth-throw
+		    #( "%s: %S not found" get-func-name infile ) fth-throw
 	then
-	frames
+	framples
 	infile mus-sound-framples || dup unless
 		drop undef
-	then to frames
+	then to framples
 	outgen if
 		*output* mus-close drop
+	else
+		outsnd if
+			*output* save-sound drop
+			*output* close-sound drop
+		then
 	then
-	chans 0>
-	scaler &&
-	scaler f0<> && if
-		chans chans * scaler make-vct
+	scaler number? if
+		scaler f0<> scaler 1.0 f<> && if
+			chans chans * scaler make-vct
+		else
+			#f
+		then
 	else
 		#f
 	then { mx }
 	output       ( outfile )
 	infile       ( infile )
 	output-frame ( outloc )
-	frames       ( frames )
+	framples     ( framples )
 	input-frame  ( inloc )
 	mx           ( matrix )
 	#f           ( envs ) mus-file-mix drop
 	outgen if
 		output continue-sample->file to *output*
+	else
+		outsnd if
+			output open-sound to *output*
+		then
 	then
 ;
 
-[ifundef] ws-is-array?
-	#f value ws-is-array?
-[then]
-
-ws-is-array? [if]
-	<'> #()              alias #w{}    ( -- ws )
-	<'> array?           alias ws?     ( obj -- f )
-	<'> array-assoc-ref  alias ws-ref  ( ws key     -- val )
-	<'> array-assoc-set! alias ws-set! ( ws key val -- 'ws )
-[else]
-	<'> #{}              alias #w{}    ( -- ws )
-	<'> hash?            alias ws?     ( obj -- f )
-	<'> hash-ref         alias ws-ref  ( ws key     -- val )
-	: ws-set! ( ws key val -- 'ws ) 3 pick >r hash-set! r> ;
-[then]
-
-hide
-: ws-get-snd ( ws -- snd )
-	( ws ) :output ws-ref find-file { fname }
-	fname 0 find-sound dup sound? if
-		dup save-sound drop close-sound
-	then drop
-	fname open-sound
-;
+\ === With-Sound Run-Instrument ===
+"with-sound error"     create-exception with-sound-error
+"with-sound interrupt" create-exception with-sound-interrupt
+#() value *ws-args*			\ array for recursive with-sound calls 
 
-: ws-scaled-to { ws -- }
-	ws :scaled-to ws-ref { scale }
-	'snd provided? if
-		ws ws-get-snd { snd }
-		0.0 snd #t #f maxamp each
-			fmax
-		end-each { mx }
-		mx f0<> if
-			scale mx f/ to scale
-			snd #f #f framples { len }
-			ws :channels ws-ref 0 ?do
-				scale 0 len snd i ( chn ) #f scale-channel drop
-			loop
-		then
-		snd save-sound drop
+: ws-local-variables ( -- )
+	nil { vals }
+	*clm-instruments* empty? if
+		"*clm-instruments* is empty" #() clm-message
 	else
-		ws :output ws-ref mus-sound-maxamp { smax }
-		0.0 smax length 1 ?do
-			smax i array-ref fabs fmax
-		2 +loop { mx }
-		mx f0<> if
-			ws :output ws-ref :scaler scale mx f/ clm-mix
-		then
+		"" #() clm-message
+		*clm-instruments* each to vals
+			"=== %s [%.3f-%.3f] ==="
+			#( vals 0 array-ref
+			   vals 1 array-ref
+			   vals 2 array-ref ) clm-message
+			vals 3 array-ref each { var }
+				\ var: '( name value ) )
+				"%16s = %s" var clm-message
+			end-each
+			"" #() clm-message
+		end-each
 	then
 ;
 
-: ws-scaled-by { ws -- }
-	ws :scaled-by ws-ref { scale }
-	'snd provided? if
-		ws ws-get-snd { snd }
-		snd #f #f framples { len }
-		ws :channels ws-ref 0 ?do
-			scale 0 len snd i ( chn ) #f scale-channel drop
-		loop
-		snd save-sound drop
-	else
-		ws :output ws-ref :scaler scale clm-mix
+: ws-info { start dur vars -- start dur }
+	start s>f to start
+	dur   s>f to dur
+	#( *clm-current-instrument* start dur vars ) { args }
+	*clm-instruments* args array-push drop
+	args array-pop drop
+	*notehook* word? if
+		*notehook* args run-proc drop
 	then
+	start dur
 ;
 
-: ws-before-output { ws -- }
-	ws     :old-table-size         clm-table-size         ws-set!
-	( ws ) :old-file-buffer-size   mus-file-buffer-size   ws-set!
-	( ws ) :old-array-print-length mus-array-print-length ws-set!
-	( ws ) :old-clipped            mus-clipping           ws-set!
-	( ws ) :old-srate              mus-srate              ws-set!
-	( ws ) :old-locsig-type        locsig-type            ws-set!
-	( ws ) :old-*output*           *output*               ws-set!
-	( ws ) :old-*reverb*           *reverb*               ws-set!
-	( ws ) :old-verbose            *verbose*              ws-set! 
-	( ws ) :old-debug              *clm-debug*            ws-set!
-	( ws ) :old-channels           *channels*             ws-set!
-	( ws ) :old-notehook           *notehook*             ws-set!
-	( ws ) :old-decay-time         *clm-decay-time*       ws-set! to ws
-	ws :verbose              ws-ref to *verbose*
-	ws :debug                ws-ref to *clm-debug*
-	ws :channels             ws-ref to *channels*
-	ws :notehook             ws-ref to *notehook*
-	ws :decay-time           ws-ref to *clm-decay-time*
-	*clm-file-buffer-size*   set-mus-file-buffer-size   drop
-	*clm-array-print-length* set-mus-array-print-length drop
-	ws :scaled-to ws-ref
-	ws :scaled-by ws-ref || if
-		#( mus-bfloat
-		   mus-lfloat
-		   mus-bdouble
-		   mus-ldouble ) ws :sample-type ws-ref array-member? if
-			#f set-mus-clipping
+hide
+defer (run) ( start dur vars -- end beg )
+
+: (run-snd) ( start dur vars -- end beg )
+	ws-info ( start dur ) nip seconds->samples 0
+;
+
+: (run-clm) ( start dur vars -- end beg )
+	ws-info ( start dur ) times->samples ( end beg )
+;
+
+defer (run-instrument) ( start dur args vars -- end beg )
+
+: f0<>|| { res def -- val }
+	res number? if
+		res f0<> if
+			res
 		else
-			*clm-clipped* set-mus-clipping
+			def
 		then
 	else
-		*clm-clipped* set-mus-clipping
-	then drop
-	ws :srate       ws-ref set-mus-srate   drop
-	ws :locsig-type ws-ref set-locsig-type drop
+		def
+	then
 ;
 
-: ws-after-output { ws -- ws }
-	ws :old-table-size         ws-ref set-clm-table-size         drop
-	ws :old-file-buffer-size   ws-ref set-mus-file-buffer-size   drop
-	ws :old-array-print-length ws-ref set-mus-array-print-length drop
-	ws :old-clipped            ws-ref set-mus-clipping           drop
-	ws :old-srate       	   ws-ref set-mus-srate              drop
-	ws :old-locsig-type 	   ws-ref set-locsig-type            drop
-	ws :old-*output*    	   ws-ref to *output*
-	ws :old-*reverb*    	   ws-ref to *reverb*
-	ws :old-verbose     	   ws-ref to *verbose*
-	ws :old-debug       	   ws-ref to *clm-debug*
-	ws :old-channels    	   ws-ref to *channels*
-	ws :old-notehook    	   ws-ref to *notehook*
-	ws :old-decay-time  	   ws-ref to *clm-decay-time*
-	*ws-args* array-pop
+: (run-snd-instrument) { start dur args vars -- end beg }
+	args hash? unless
+		#{} to args
+	then
+	args :degree	hash-ref 45.0	f0<>|| to *degree*
+	args :distance	hash-ref 1.0	f0<>|| to *distance*
+	args :reverb	hash-ref 0.05	f0<>|| to *reverbamount*
+	start s>f seconds->samples to *start*
+	dur   s>f seconds->samples 0.0 make-vct to *outgen*
+	start dur vars (run-snd) ( end beg )
 ;
 
-: ws-statistics { ws -- }
-	ws :output ws-ref
-	    :reverb-file-name ws :reverb-file-name ws-ref
-	    :scaled?          ws :scaled-to ws-ref ws :scaled-by ws-ref ||
-	    :timer            ws :timer ws-ref   snd-info
+: (run-clm-instrument) { start dur args vars -- end beg }
+	args hash? unless
+		#{} to args
+	then
+	:degree		args :degree	hash-ref 45.0		f0<>||
+	:distance	args :distance	hash-ref *distance*	f0<>||
+	:reverb		args :reverb	hash-ref *reverbamount*	f0<>||
+	:channels	args :channels	hash-ref *channels*	||
+	:output		args :output	hash-ref *output*	||
+	:revout		args :revout	hash-ref *reverb*	||
+	:type		args :type	hash-ref locsig-type	||
+	make-locsig to *outgen*
+	start dur vars (run-clm) ( end beg )
+;
+
+defer (end-run) ( val idx -- )
+
+: (end-snd-run) ( val idx -- )
+	\ gen idx val gen-set!
+	\ *outgen* => vct
+	*outgen* swap rot vct-set! drop
+;
+
+: (end-clm-run) ( val idx -- )
+	\ gen idx val gen-set!
+	\ *outgen* => locsig gen
+	*outgen* swap rot locsig drop
+;
+
+defer (end-run-finish) ( -- )
+
+: (end-snd-run-finish) ( -- )
+	*start*         { beg }
+	*output*        { snd }
+	0               { chn }
+	snd channels    { chans }
+	*outgen*        { v }
+	*degree*        { frac }
+	*distance*      { scl }
+	scl             { s }
+	chans 1 = if
+		v scl vct-scale! beg snd chn #f undef mix-vct drop
+	else
+		*degree* 90.0 f/ to frac
+		scl 1.0 frac f- f*	{ left }
+		scl frac f*		{ right }
+		chans 2 = if
+			0 to chn
+			v vct-copy left vct-scale!
+			beg snd chn #f undef mix-vct drop
+			1 to chn
+			v right vct-scale!
+			beg snd chn #f undef mix-vct drop
+		else
+			chans 1 do i to chn
+				i 2 mod if
+					right
+				else
+					left
+				then to s
+				v vct-copy s vct-scale!
+				beg snd chn #f undef mix-vct drop
+			loop
+			0 to chn
+			right to s
+			v s vct-scale!
+			beg snd chn #f undef mix-vct drop
+		then
+	then
+	*reverb* sound? if
+		v vct-length { len }
+		v *reverbamount* vct-scale!
+		beg len *reverb* 0 #f undef vct->channel drop
+	then
+;
+set-current
+
+\ RUN/LOOP is only a simple replacement of
+\ start dur TIMES->SAMPLES ?DO ... LOOP
+\
+\ RUN-INSTRUMENT/END-RUN for use with with-sound instruments.
+\ Requires at least an opened *output* (file->sample or sound),
+\ optional an opened *reverb* generator or sound.  At the end of
+\ the loop a sample value must remain on stack!
+\
+\ instrument: foo
+\   0 0.1 nil run-instrument 0.2 end-run
+\ ;instrument
+\ <'> foo :srate 22050 with-sound
+\
+\ fills a sound file of length 0.1 seconds with 2205 samples (srate
+\ 22050) with 0.2.
+\ 
+\ 0.0 1.0                   RUN            ... LOOP
+\ 0.0 1.0 #{ :degree 45.0 } RUN-INSTRUMENT ... END-RUN
+: run ( start dur -- )
+	postpone local-variables
+	postpone (run)
+	postpone ?do
+; immediate compile-only
+
+: run-instrument ( start dur locsig-args -- )
+	postpone local-variables
+	postpone (run-instrument)
+	postpone ?do
+; immediate compile-only
+
+: end-run ( sample -- )
+	postpone r@
+	postpone (end-run)
+	postpone loop
+	postpone (end-run-finish)
+; immediate compile-only
+previous
+
+defer ws-outa		( idx val gen -- )
+defer ws-outb		( idx val gen -- )
+defer ws-outc		( idx val gen -- )
+defer ws-outd		( idx val gen -- )
+defer ws-out-any	( idx val chn gen -- )
+
+\ XXX: ws-snd-outX
+\ We vct-set sample in a fresh vct, later vct-mix'ed in the sound.
+\ No need for vct-ref val f+ vct-set here.
+
+: ws-snd-out-any { idx val chn gen -- }
+	swap array-ref rot rot vct-set! drop
+;
+
+: ws-snd-outa ( idx val gen -- )
+	0 array-ref rot rot vct-set! drop
+;
+
+: ws-snd-outb ( idx val gen -- )
+	1 array-ref rot rot vct-set! drop
+;
+
+: ws-snd-outc ( idx val gen -- )
+	2 array-ref rot rot vct-set! drop
+;
+
+: ws-snd-outd ( idx val gen -- )
+	3 array-ref rot rot vct-set! drop
+;
+
+: ws-clm-out-any ( idx val chn gen -- )	out-any drop ;
+: ws-clm-outa	( idx val gen -- )	outa drop ;
+: ws-clm-outb	( idx val gen -- )	outb drop ;
+: ws-clm-outc	( idx val gen -- )	outc drop ;
+: ws-clm-outd	( idx val gen -- )	outd drop ;
+
+\ XXX: *clm-to-snd* == #t   idx gen ina etc.
+\ If gen is a vct, ina, inb, and in-any all return the same value.
+\ If gen is an array, it should be an array of numbers not of vcts.
+\
+\ #( vct( 0 1 2 ) vct( 2 1 0 ) ) value gen
+\ builds not the expected stereo gen
+\ 0 gen inb => garbage ( first vct taken as double )
+
+<'> ina		alias ws-ina
+<'> inb		alias ws-inb
+<'> in-any	alias ws-in-any
+
+: reverb-info { caller in-chans out-chans -- }
+	"%s on %d in and %d out channels"
+	    #( caller in-chans out-chans ) clm-message
+;
+
+hide
+defer (run-reverb) ( dur vars -- end beg )
+
+: rr-before-reverb { dur vars -- end beg }
+	0.0 dur vars ws-info ( start dur ) times->samples { end beg }
+	*verbose* if
+		*clm-current-instrument* *reverb* channels *output* channels
+		    reverb-info
+	then
+	end beg
+;
+
+#f value old-*output*
+#f value old-*reverb*
+
+: (run-snd-reverb) { dur vars -- end beg }
+	dur vars rr-before-reverb { end beg }
+	*output* save-sound drop
+	*output* to old-*output*
+	*output* channels make-array map!
+		beg end *output* i #f channel->vct
+	end-map to *output*
+	*reverb* save-sound drop
+	*reverb* to old-*reverb*
+	beg end *reverb* 0 #f channel->vct to *reverb*
+	\ *output* is Array of Vcts
+	\ *reverb* is Vct
+	beg to *start*
+	end 0
+;
+
+: (run-clm-reverb) { dur vars -- end beg }
+	dur vars rr-before-reverb { end beg }
+	*reverb* to old-*reverb*
+	*reverb* mus-file-name { revfile }
+	revfile undef make-file->sample to *reverb*
+	*reverb* file->sample? unless
+		'with-sound-error
+		    #( "%s: can't open %s" get-func-name revfile ) fth-throw
+	then
+	\ *output* is sample->file (mus-output)
+	\ *reverb* is file->sample (mus-input)
+	beg to *start*
+	end 0
+;
+
+: (run-reverb-inval-1) ( idx -- in-val )
+	*reverb* ina
+;
+
+: (end-run-reverb-1) ( samp idx -- )
+	swap *output* ws-outa
+;
+
+: (end-run-reverb-2) { samp1 samp2 idx -- }
+	idx samp1 *output* ws-outa
+	idx samp2 *output* ws-outb
+;
+
+: (end-run-reverb-4) { samp1 samp2 samp3 samp4 idx -- }
+	idx samp1 *output* ws-outa
+	idx samp2 *output* ws-outb
+	idx samp3 *output* ws-outc
+	idx samp4 *output* ws-outd
+;
+
+defer (end-run-reverb-finish) ( -- )
+
+: (end-snd-run-reverb-finish) ( -- )
+	*output* each ( v )
+		*start* old-*output* i #f undef mix-vct drop
+	end-each
+	old-*output* to *output*
+	old-*reverb* to *reverb*
+;
+
+: (end-clm-run-reverb-finish) ( -- )
+	*output* mus-close drop
+	*reverb* mus-close drop
+	old-*reverb* to *reverb*
+;
+set-current
+
+\ RUN-REVERB/END-RUN-REVERB-OUT-1|2|4 for use with with-sound reverb
+\ instruments.  Requires an opened *output* (file->sample or sound)
+\ and an opened *reverb* generator or sound.  The inval is the sample
+\ from the reverb file, the out samples are written to the output
+\ file.
+\
+\ run-reverb ( dur -- inval )
+\ end-run-reverb-out-1 ( samp -- )
+\ end-run-reverb-out-2 ( samp1 samp2 -- )
+\
+\ reverb for mono output file:
+\ 10.0 run-reverb { inval }
+\	inval 2.0 f*
+\ end-run-reverb-out-1
+\
+\ reverb for stereo output file:
+\ 10.0 run-reverb { inval }
+\	inval 2.0 f* ( samp1 )
+\	inval 4.0 f* ( samp1 samp2 )
+\ end-run-reverb-out-2
+\
+\ reverb for quad output file:
+\ 10.0 run-reverb { inval }
+\	inval 2.0 f* ( samp1 )
+\	inval 4.0 f* ( samp1 samp2 )
+\	inval 2.0 f* ( samp1 samp2 samp3 )
+\	inval 4.0 f* ( samp1 samp2 samp3 samp4 )
+\ end-run-reverb-out-4
+
+: run-reverb ( dur -- in-val )
+	postpone local-variables
+	postpone (run-reverb)
+	postpone ?do
+	postpone r@
+	postpone (run-reverb-inval-1)
+; immediate compile-only
+
+: end-run-reverb ( -- )
+	postpone loop
+	postpone (end-run-reverb-finish)
+; immediate compile-only
+
+: end-run-reverb-out-1 ( samp -- )
+	postpone r@
+	postpone (end-run-reverb-1)
+	postpone loop
+	postpone (end-run-reverb-finish)
+; immediate compile-only
+
+: end-run-reverb-out-2 ( samp1 samp2 - )
+	postpone r@
+	postpone (end-run-reverb-2)
+	postpone loop
+	postpone (end-run-reverb-finish)
+; immediate compile-only
+
+: end-run-reverb-out-4 ( samp1 samp2 samp3 samp4 - )
+	postpone r@
+	postpone (end-run-reverb-4)
+	postpone loop
+	postpone (end-run-reverb-finish)
+; immediate compile-only
+
+: set-to-snd ( f -- )
+	( f ) 'snd provided? && if
+		#t to *clm-to-snd*
+		\ RUN-INSTRUMENT
+		<'> (run-snd)			[is] (run)
+		<'> (run-snd-instrument)	[is] (run-instrument)
+		<'> (end-snd-run)		[is] (end-run)
+		<'> (end-snd-run-finish)	[is] (end-run-finish)
+		\ RUN-REVERB
+		<'> (run-snd-reverb)		[is] (run-reverb)
+		<'> (end-snd-run-reverb-finish)	[is] (end-run-reverb-finish)
+		\ OUT-ANY
+		<'> ws-snd-outa			[is] ws-outa
+		<'> ws-snd-outb			[is] ws-outb
+		<'> ws-snd-outc			[is] ws-outc
+		<'> ws-snd-outd			[is] ws-outd
+		<'> ws-snd-out-any		[is] ws-out-any
+	else
+		#f to *clm-to-snd*
+		\ RUN-INSTRUMENT
+		<'> (run-clm)			[is] (run)
+		<'> (run-clm-instrument)	[is] (run-instrument)
+		<'> (end-clm-run)		[is] (end-run)
+		<'> noop			[is] (end-run-finish)
+		\ RUN-REVERB
+		<'> (run-clm-reverb)		[is] (run-reverb)
+		<'> (end-clm-run-reverb-finish)	[is] (end-run-reverb-finish)
+		\ OUT-ANY
+		<'> ws-clm-outa			[is] ws-outa
+		<'> ws-clm-outb			[is] ws-outb
+		<'> ws-clm-outc			[is] ws-outc
+		<'> ws-clm-outd			[is] ws-outd
+		<'> ws-clm-out-any		[is] ws-out-any
+	then
+;
+previous
+
+\ Instruments prepared with run-gen-instrument ... end-run-gen can
+\ be used for map-channel or ":to-dac #t with-sound".  Example
+\ instruments and gen tests can be found at the end of this file.
+\
+\ <'> test-gen :channels 1 :srate 22050 :to-dac #t with-sound drop
+\ <'> violin-gen-test :channels 1 :srate 11025 :to-dac #t with-sound drop
+\ or
+\ test-gen run-gen map-channel
+\ violin-gen-test run-gen map-channel
+hide
+lambda: <{ a b -- f }>
+	a 1 array-ref { ba }
+	b 1 array-ref { bb }
+	ba bb < if
+		-1
+	else
+		ba bb > if
+			1
+		else
+			0
+		then
+	then
+; value dac-sort
+
+lambda: <{ a b -- f }>
+	a 1 array-ref { ba }
+	b 1 array-ref { bb }
+	ba bb f< if
+		-1
+	else
+		ba bb f> if
+			1
+		else
+			0
+		then
+	then
+; value clm-sort
+
+: (run-gen-instrument) { start dur dummy vars -- vars }
+	start s>f to start
+	dur   s>f to dur
+	#( *clm-current-instrument* start dur vars ) { args }
+	*clm-instruments* args array-push clm-sort array-sort! drop
+	start dur times->samples { end beg }
+	1 proc-create { prc }
+	*dac-instruments* #( prc beg end ) array-push dac-sort array-sort! drop
+	vars
+;
+set-current
+
+: run-gen-instrument ( start dur dummy --; samp args -- val )
+	\ This replaces the following:
+	\ 	start dur dummy local-variables (instrument-does) ,
+	\   does> ( samp self -- val )
+	\ 	@	this replaces self's address with its contents,
+	\ 		a hash with local variables
+	\ the stack is now: ( samp args )
+	postpone local-variables
+	postpone (run-gen-instrument) ( vars ) postpone compile,
+	postpone does> ( samp self -- val )
+	postpone @ ( samp args )
+; immediate compile-only
+
+<'> noop	alias end-run-gen
+<'> hash-ref	alias args@
+
+: run-gen-body { samp y -- y' }
+	0 0 { beg end }
+	nil nil { args prc }
+	*dac-instruments* each to args
+		args 0 array-ref to prc
+		args 1 array-ref to beg
+		args 2 array-ref to end
+		samp beg end within if
+			samp prc execute y f+ to y
+		then
+	end-each
+	y
+;
+
+\ Returns a proc ( y -- res ) for use with map-channel.
+\ Requires a filled *dac-instruments* variable, usually done with
+\ run-gen-instrument ... end-run-gen prepared functions, see simp-gen
+\ and violin-gen at the end of this file.
+: run-gen ( -- prc; y self -- y' )
+	*dac-instruments* empty? if
+		'with-sound-error
+		    #( "%s: filled *dac-instruments* required"
+		       get-func-name ) fth-throw
+	then
+	0 { len }
+	*dac-instruments* each { el }
+		el 2 array-ref len max to len
+	end-each
+	1 proc-create ( prc )
+	0 , len ,
+  does> { y self -- val }
+	self @ { samp }
+	self cell+ @ { len }
+	samp len <= if
+		samp y run-gen-body ( y' )
+		samp 1+ self !
+	else
+		0.0
+	then
+;
+previous
+
+hide
+: ws-get-snd ( ws -- snd )
+	( ws ) :output ws-ref find-file { fname }
+	fname 0 find-sound { snd }
+	snd sound? if
+		snd save-sound drop
+		snd close-sound drop
+	then
+	fname open-sound
+;
+
+: ws-scaled-to { ws -- }
+	ws :scaled-to ws-ref { scale }
+	'snd provided? if
+		ws ws-get-snd { snd }
+		0.0 snd #t #f maxamp each
+			fmax
+		end-each { mx }
+		mx f0<> if
+			scale mx f/ to scale
+			snd #f #f framples { len }
+			ws :channels ws-ref 0 ?do
+				scale 0 len snd i ( chn ) #f scale-channel drop
+			loop
+		then
+		snd save-sound drop
+	else
+		ws :output ws-ref mus-sound-maxamp { smax }
+		0.0 smax length 1 ?do
+			smax i array-ref fabs fmax
+		2 +loop { mx }
+		mx f0<> if
+			ws :output ws-ref :scaler scale mx f/ clm-mix
+		then
+	then
+;
+
+: ws-scaled-by { ws -- }
+	ws :scaled-by ws-ref { scale }
+	'snd provided? if
+		ws ws-get-snd { snd }
+		snd #f #f framples { len }
+		ws :channels ws-ref 0 ?do
+			scale 0 len snd i ( chn ) #f scale-channel drop
+		loop
+		snd save-sound drop
+	else
+		ws :output ws-ref :scaler scale clm-mix
+	then
+;
+
+: ws-before-output { ws -- }
+	ws     :old-table-size		clm-table-size		ws-set!
+	( ws ) :old-file-buffer-size	mus-file-buffer-size	ws-set!
+	( ws ) :old-array-print-length	mus-array-print-length	ws-set!
+	( ws ) :old-clipped		mus-clipping		ws-set!
+	( ws ) :old-srate		mus-srate f>s		ws-set!
+	( ws ) :old-locsig-type		locsig-type		ws-set!
+	( ws ) :old-*output*		*output*		ws-set!
+	( ws ) :old-*reverb*		*reverb*		ws-set!
+	( ws ) :old-verbose		*verbose*		ws-set! 
+	( ws ) :old-debug		*clm-debug*		ws-set!
+	( ws ) :old-channels		*channels*		ws-set!
+	( ws ) :old-notehook		*notehook*		ws-set!
+	( ws ) :old-decay-time		*clm-decay-time*	ws-set! to ws
+	ws :verbose	ws-ref to *verbose*
+	ws :debug	ws-ref to *clm-debug*
+	ws :channels	ws-ref to *channels*
+	ws :notehook	ws-ref to *notehook*
+	ws :decay-time	ws-ref to *clm-decay-time*
+	*clm-file-buffer-size*		set-mus-file-buffer-size drop
+	*clm-array-print-length*	set-mus-array-print-length drop
+	ws :scaled-to ws-ref
+	ws :scaled-by ws-ref || if
+		#( mus-bfloat
+		   mus-lfloat
+		   mus-bdouble
+		   mus-ldouble ) ws :sample-type ws-ref array-member? if
+			#f
+		else
+			*clm-clipped*
+		then
+	else
+		*clm-clipped*
+	then set-mus-clipping drop
+	ws :to-dac ws-ref if
+		#t set-mus-clipping drop
+	then
+	ws :srate	ws-ref set-mus-srate drop
+	ws :locsig-type	ws-ref set-locsig-type drop
+;
+
+: ws-after-output { ws -- ws }
+	ws :old-table-size		ws-ref set-clm-table-size drop
+	ws :old-file-buffer-size	ws-ref set-mus-file-buffer-size drop
+	ws :old-array-print-length	ws-ref set-mus-array-print-length drop
+	ws :old-clipped			ws-ref set-mus-clipping drop
+	ws :old-srate			ws-ref set-mus-srate drop
+	ws :old-locsig-type		ws-ref set-locsig-type drop
+	ws :old-*output*		ws-ref to *output*
+	ws :old-*reverb*		ws-ref to *reverb*
+	ws :old-verbose			ws-ref to *verbose*
+	ws :old-debug			ws-ref to *clm-debug*
+	ws :old-channels		ws-ref to *channels*
+	ws :old-notehook		ws-ref to *notehook*
+	ws :old-decay-time		ws-ref to *clm-decay-time*
+	*ws-args* array-pop
 ;
 
 : set-args { key def ws -- }
@@ -816,8 +1404,7 @@ set-current
 
 \ player: xt, proc, string, or #f.
 \
-\       xt: output player execute
-\     proc: player #( output ) run-proc
+\  xt/proc: player #( output ) run-proc
 \   string: "player output" system
 \ else snd: output :wait #t play
 \   or clm: output play-sound
@@ -825,65 +1412,122 @@ set-current
 \ A player may look like this:
 \
 \ : play-3-times { output -- }
-\ 	3 0 ?do
+\ 	3 0 do
 \		output :wait #t play drop
 \	loop
 \ ;
 \ <'> play-3-times to *clm-player*
 
-defer ws-play
-: ws-play-it { ws -- }
+: (ws-play) { ws -- }
 	ws :output ws-ref { output }
 	ws :player ws-ref { player }
 	player word? if
-		player #( output ) run-proc
+		player #( output ) run-proc drop
 	else
+		player unless
+			"sndplay" to player
+		then
 		player string? if
-			player $space $+ output $+ file-system
+			"%s %s" '( player output ) string-format { cmd }
+			cmd file-system unless
+				    "%s: can't execute %S (exit %d)"
+					'( get-func-name cmd
+					   exit-status ) fth-warning
+			then
 		else
 			'snd provided? if
-				output find-file :wait #t ws-play
+				output find-file :wait #t play drop
 			else
-				"sndplay " output $+ file-system
+				"%s: no player found for %s"
+				    '( get-func-name output ) fth-warning
 			then
 		then
-	then drop
+	then
 ;
+<'> (ws-play) is ws-play
 
 : ws-output ( ws -- fname )
 	:output ws-ref
 ;
 
+: ws-framples { gen -- len }
+	0 { len }
+	gen sound? if
+		gen #f #f framples to len
+	else
+		#f { cont }
+		gen mus-output? if
+			#t to cont
+			gen mus-close drop
+		then
+		gen file-name mus-sound-framples to len
+		cont if
+			gen file-name continue-sample->file to gen
+		then
+	then
+	len
+;
+
+'snd provided? [if]
+	: ws-close-snd { fname -- }
+		fname 0 find-sound { snd }
+		snd sound? if
+			snd close-sound drop
+		then
+	;
+[else]
+	: ws-close-snd ( fname -- ) drop ;
+[then]
+
+: ws-is-output? ( gen -- f )
+	*clm-to-snd* if
+		sound?
+	else
+		mus-output?
+	then
+;
+previous
+
+hide
 : with-sound-default-args ( keyword-args -- ws )
 	#() to *clm-instruments*
+	#() to *dac-instruments*
 	#w{} { ws }
 	*ws-args* ws array-push to *ws-args*
-	:channels          *clm-channels*         ws set-args
-	:clipped           *clm-clipped*          ws set-args
-	:comment           *clm-comment*          ws set-args
-	:continue-old-file #f                     ws set-args
-	:sample-type       *clm-sample-type*      ws set-args
-	:debug             *clm-debug*            ws set-args
-	:decay-time        *clm-decay-time*       ws set-args
-	:delete-reverb     *clm-delete-reverb*    ws set-args
-	:header-type       *clm-header-type*      ws set-args
-	:locsig-type       *clm-locsig-type*      ws set-args
-	:notehook          *clm-notehook*         ws set-args
-	:output            *clm-file-name*        ws set-args
-	:play              *clm-play*             ws set-args
-	:player            *clm-player*           ws set-args
-	:reverb            *clm-reverb*           ws set-args
-	:reverb-channels   *clm-reverb-channels*  ws set-args
-	:reverb-data       *clm-reverb-data*      ws set-args
-	:reverb-file-name  *clm-reverb-file-name* ws set-args
-	:scaled-by         #f                     ws set-args
-	:scaled-to         #f                     ws set-args
-	:srate             *clm-srate*            ws set-args
-	:statistics        *clm-statistics*       ws set-args
-	:verbose           *clm-verbose*          ws set-args
-	\ for backward compatibility
-	:data-format *clm-sample-type* get-optkey
-	    ws :sample-type rot ws-set! to ws
+	:channels		*clm-channels*		ws set-args
+	:clipped		*clm-clipped*		ws set-args
+	:comment		*clm-comment*		ws set-args
+	:continue-old-file	#f			ws set-args
+	:debug			*clm-debug*		ws set-args
+	:decay-time		*clm-decay-time*	ws set-args
+	:delete-reverb		*clm-delete-reverb*	ws set-args
+	:header-type		*clm-header-type*	ws set-args
+	:locsig-type		*clm-locsig-type*	ws set-args
+	:notehook		*clm-notehook*		ws set-args
+	:output			*clm-file-name*		ws set-args
+	:play			*clm-play*		ws set-args
+	:player			*clm-player*		ws set-args
+	:reverb			*clm-reverb*		ws set-args
+	:reverb-channels	*clm-reverb-channels*	ws set-args
+	:reverb-data		*clm-reverb-data*	ws set-args
+	:reverb-file-name	*clm-reverb-file-name*	ws set-args
+	:sample-type		*clm-sample-type*	ws set-args
+	:scaled-by		#f			ws set-args
+	:scaled-to		#f			ws set-args
+	:srate			*clm-srate*		ws set-args
+	:statistics		*clm-statistics*	ws set-args
+	:to-snd			*clm-to-snd*		ws set-args	
+	:to-dac			*clm-to-dac*		ws set-args	
+	:verbose		*clm-verbose*		ws set-args
+	ws :to-dac ws-ref if
+		:output "dac" ws set-args
+	else
+		ws :output ws-ref "dac" string= if
+			:to-dac #t ws set-args
+		then
+	then
+	ws :to-dac ws-ref to *clm-to-dac*
+	ws :to-snd ws-ref set-to-snd
 	ws
 ;  
 
@@ -891,36 +1535,103 @@ defer ws-play
 	#w{} { ws }
 	*ws-args* -1 array-ref { ws1 }
 	*ws-args* ws array-push to *ws-args*
-	:play              #f                    ws set-args
-	:player            #f                    ws set-args
-	:statistics        #f                    ws set-args
-	:continue-old-file #f               	 ws set-args
-	:verbose           ws1 :verbose     	 ws-ref ws set-args
-	:debug             ws1 :debug       	 ws-ref ws set-args
-	:output            ws1 :output      	 ws-ref ws set-args
-	:channels          ws1 :channels    	 ws-ref ws set-args
-	:srate             ws1 :srate       	 ws-ref ws set-args
-	:locsig-type       ws1 :locsig-type 	 ws-ref ws set-args
-	:header-type       ws1 :header-type 	 ws-ref ws set-args
-	:sample-type       ws1 :sample-type 	 ws-ref ws set-args
+	:continue-old-file	#f ws set-args
+	:play			#f ws set-args
+	:player			#f ws set-args
+	:statistics		#f ws set-args
+	:channels		ws1 :channels		ws-ref ws set-args
 	:comment "with-sound level %d"
 	    #( *ws-args* length ) string-format ws set-args
-	:notehook          ws1 :notehook         ws-ref ws set-args
-	:scaled-to         ws1 :scaled-to        ws-ref ws set-args
-	:scaled-by         ws1 :scaled-by        ws-ref ws set-args
-	:delete-reverb     ws1 :delete-reverb    ws-ref ws set-args
-	:reverb            ws1 :reverb           ws-ref ws set-args
-	:reverb-data       ws1 :reverb-data      ws-ref ws set-args
-	:reverb-channels   ws1 :reverb-channels  ws-ref ws set-args
-	:reverb-file-name  ws1 :reverb-file-name ws-ref ws set-args
-	:decay-time        ws1 :decay-time       ws-ref ws set-args
-	\ for backward compatibility
-	:data-format ws1 :sample-type ws-ref get-optkey
-	    ws :sample-type rot ws-set! to ws
+	:debug			ws1 :debug		ws-ref ws set-args
+	:decay-time		ws1 :decay-time		ws-ref ws set-args
+	:delete-reverb		ws1 :delete-reverb	ws-ref ws set-args
+	:header-type		ws1 :header-type	ws-ref ws set-args
+	:locsig-type		ws1 :locsig-type	ws-ref ws set-args
+	:notehook		ws1 :notehook		ws-ref ws set-args
+	:output			ws1 :output		ws-ref ws set-args
+	:reverb			ws1 :reverb		ws-ref ws set-args
+	:reverb-channels	ws1 :reverb-channels	ws-ref ws set-args
+	:reverb-data		ws1 :reverb-data	ws-ref ws set-args
+	:reverb-file-name	ws1 :reverb-file-name	ws-ref ws set-args
+	:sample-type		ws1 :sample-type	ws-ref ws set-args
+	:scaled-by		ws1 :scaled-by		ws-ref ws set-args
+	:scaled-to		ws1 :scaled-to		ws-ref ws set-args
+	:srate			ws1 :srate		ws-ref ws set-args
+	:verbose		ws1 :verbose		ws-ref ws set-args
 	ws
 ;
 
-: with-sound-main { body-xt ws -- ws }
+: ws-is-sound? ( gen -- f )
+	*clm-to-snd* if
+		sound?
+	else
+		sample->file?
+	then
+;
+
+: ws-create-sound { fname chans sr st ht com -- gen }
+	*clm-to-snd* if
+		save-stack { rest }
+		fname chans sr st ht com 1 new-sound { gen }
+		rest restore-stack gen
+	else
+		fname chans st ht com make-sample->file
+	then
+;
+
+: ws-continue-sound { fname -- gen }
+	*clm-to-snd* if
+		fname 0 find-sound
+	else
+		fname continue-sample->file
+	then
+;
+
+: ws-close-sound { gen -- }
+	*clm-to-snd* if
+		gen sound? if
+			gen save-sound drop
+			gen close-sound drop
+		then
+	else
+		gen file-name ws-close-snd
+		gen mus-close drop
+	then
+;
+
+: ws-reset-handler <{ retval -- }>
+	stack-reset
+	*output* if
+		*output* ws-close-sound
+	then
+	*reverb* if
+		*reverb* ws-close-sound
+	then
+	*ws-args* array-pop drop
+	"#<=== WS-ERROR: %s ===>\n" '( retval car exception-name ) clm-print
+	*clm-debug* if
+		"#<DEBUG: %s>\n" '( retval ) clm-print
+	then
+	#f #f #f fth-raise
+;
+
+: play-cb { len -- prc; self -- val }
+	0 proc-create ( prc )
+	0 , len ,
+  does> { self -- val }
+	self @ { samp }
+	self cell+ @ { len }
+	samp len <= if
+		samp 0.0 run-gen-body ( sum )
+		samp 1+ self !
+	else
+		#f
+	then
+;
+
+: (with-sound-file-main) ( body-xt ws -- ws )
+	2 stack-check
+	{ body-xt ws }
 	body-xt word? body-xt 1 "a proc or xt" assert-type
 	ws      ws?   ws      2 "a ws object"  assert-type
 	ws ws-before-output
@@ -931,98 +1642,74 @@ defer ws-play
 	else
 		#f
 	then { rev? }
-	ws :output            ws-ref { output }
-	ws :reverb-file-name  ws-ref { revput }
-	ws :continue-old-file ws-ref { cont? }
+	ws :output		ws-ref { output }
+	ws :reverb-file-name	ws-ref { revout }
+	ws :continue-old-file	ws-ref { cont? }
+	ws :channels		ws-ref { chans }
+	ws :reverb-channels	ws-ref { rchans }
+	ws :srate		ws-ref { sr }
+	ws :sample-type		ws-ref { st }
+	ws :header-type		ws-ref { ht }
+	ws :comment		ws-ref { com }
+	com empty? if
+		make-default-comment to com
+	then
 	cont? if
-		output continue-sample->file
+		output ws-continue-sound
 	else
 		output file-delete
-		output
-		ws :channels    ws-ref
-		ws :sample-type ws-ref
-		ws :header-type ws-ref
-		ws :comment ws-ref dup empty? if
-			drop make-default-comment
-		then make-sample->file
+		output chans sr st ht com ws-create-sound
 	then to *output*
-	*output* sample->file? unless
+	*output* ws-is-sound? unless
 		'with-sound-error
-		    #( "%s: can't open sample->file" get-func-name ) fth-throw
+		    #( "%s: can't open %s" get-func-name output ) fth-throw
 	then
 	cont? if
-		output mus-sound-srate set-mus-srate drop
-		'snd provided? if
-			output 0 find-sound dup sound? if
-				close-sound
-			then drop
+		*clm-to-snd* if
+			*output* close-sound drop
+		else
+			output mus-sound-srate set-mus-srate drop
+			output ws-close-snd
 		then
 	then
 	rev? if
 		cont? if
-			revput continue-sample->file
+			revout ws-continue-sound
 		else
-			revput file-delete
-			revput
-			ws :reverb-channels ws-ref
-			ws :sample-type     ws-ref
-			ws :header-type     ws-ref
-			"with-sound temporary reverb file" make-sample->file
+			"with-sound temporary reverb file" to com
+			revout file-delete
+			revout rchans sr st ht com ws-create-sound
 		then to *reverb*
-		*reverb* sample->file? unless
+		*reverb* ws-is-sound? unless
 			'with-sound-error
-			    #( "%s: can't open reverb sample->file"
-			       get-func-name ) fth-throw
+			    #( "%s: can't open reverb %s"
+			       get-func-name revout ) fth-throw
 		then
 	then
 	ws :timer make-timer ws-set! to ws
 	\ compute ws body
-	body-xt #t nil fth-catch if
-		stack-reset
-		*output* mus-close drop
-		*reverb* if
-			*reverb* mus-close drop
-		then
-		ws ws-after-output ( ws )
-		"%s: body-xt interrupted; output closed"
-		    #( get-func-name ) clm-message
-		\ reraise last exception
-		#f #f #f fth-raise
-	then
+	body-xt execute
 	reverb-xt if
-		*reverb* mus-close drop
-		ws :reverb-file-name ws-ref undef make-file->sample to *reverb*
-		*reverb* file->sample? unless
-			'with-sound-error
-			    #( "%s: can't open file->sample" get-func-name )
-			    fth-throw
+		ws :decay-time ws-ref to *decay-time*
+		*reverb* mus-output? if
+			*reverb* mus-close drop
 		then
 		\ compute ws reverb
 		\ push reverb arguments on stack
-		ws :reverb-data ws-ref each end-each
-		reverb-xt #t nil fth-catch if
-			stack-reset
-			*output* mus-close drop
-			*reverb* mus-close drop
-			ws ws-after-output ( ws )
-			"%s: reverb-xt interrupted; output closed"
-			    #( get-func-name ) clm-message
-			\ reraise last exception
-			#f #f #f fth-raise
-		then
-		*reverb* mus-close drop
+		ws :reverb-data ws-ref each end-each reverb-xt execute
+		*reverb* ws-close-sound
 	then
-	*output* mus-close drop
+	*output* ws-close-sound
 	ws :timer ws-ref stop-timer
 	'snd provided? if
 		ws ws-get-snd drop
 	then
 	ws :statistics ws-ref if
-		ws ws-statistics
+		ws snd-info
 	then
 	reverb-xt if
 		ws :delete-reverb ws-ref if
-			ws :reverb-file-name ws-ref file-delete
+			revout file-delete
 		then
 	then
 	ws :scaled-to ws-ref if
@@ -1032,40 +1719,81 @@ defer ws-play
 		ws ws-scaled-by
 	then
 	ws :play ws-ref if
-		ws ws-play-it
+		ws ws-play
 	then
 	ws ws-after-output ( ws )
 ;
-previous
+
+: (with-sound-dac-main) ( body-xt ws -- ws )
+	1 stack-check
+	{ ws }
+	ws ws? ws 1 "a ws object" assert-type
+	0 #f get-optarg { body-xt }
+	ws ws-before-output
+	ws :timer make-timer ws-set! drop
+	body-xt if
+		body-xt execute
+	then
+	*notehook* word? if
+		*clm-instruments* each { args }
+			*notehook* args run-proc drop
+		end-each
+	then
+	0 { len }
+	*dac-instruments* each ( args )
+		2 array-ref len max to len
+	end-each
+	ws :framples len ws-set! drop
+	ws :statistics ws-ref if
+		ws dac-info
+	then
+	len play-cb :wait #t play drop
+	ws :timer ws-ref stop-timer
+	ws :statistics ws-ref if
+		ws snd-info
+	then
+	ws ws-after-output ( ws )
+;
+set-current
+
+: with-sound-main ( body-xt ws -- ws )
+	*clm-to-dac* if
+		<'> (with-sound-dac-main)
+	else
+		<'> (with-sound-file-main)
+	then #t <'> ws-reset-handler fth-catch drop ( ws )
+;
 
 \ Usage: <'> resflt-test with-sound drop
-\        <'> resflt-test :play #f :channels 2 with-sound .g
+\        <'> resflt-test :play #f :channels 2 with-sound . cr
 \        lambda: resflt-test ; :output "resflt.snd" with-sound drop
 : with-sound ( body-xt keyword-args -- ws )
 	doc" \\ keywords and default values:\n\
-:play              *clm-play*             (#f)\n\
-:statistics        *clm-statistics*       (#f)\n\
-:verbose           *clm-verbose*          (#f)\n\
-:debug             *clm-debug*            (#f)\n\
-:continue-old-file                        (#f)\n\
-:output            *clm-file-name*        (\"test.snd\")\n\
 :channels          *clm-channels*         (1)\n\
-:srate             *clm-srate*            (44100)\n\
-:locsig-type       *clm-locsig-type*      (mus-interp-linear)\n\
-:header-type       *clm-header-type*      (mus-next)\n\
-:sample-type       *clm-sample-type*      (mus-lfloat)\n\
-:clipped           *clm-clipped*          (#t)\n\
+:clipped           *clm-clipped*          (#f)\n\
 :comment           *clm-comment*          (#f)\n\
-:notehook          *clm-notehook*         (#f)\n\
-:scaled-to                                (#f)\n\  
-:scaled-by                                (#f)\n\  
+:continue-old-file                        (#f)\n\
+:debug             *clm-debug*            (#f)\n\
+:decay-time        *clm-decay-time*       (1.0)\n\
 :delete-reverb     *clm-delete-reverb*    (#f)\n\
+:header-type       *clm-header-type*      (mus-next)\n\
+:locsig-type       *clm-locsig-type*      (mus-interp-linear)\n\
+:notehook          *clm-notehook*         (#f)\n\
+:output            *clm-file-name*        (\"test.snd\")\n\
+:play              *clm-play*             (#f)\n\
+:player            *clm-player*           (#f)\n\
 :reverb            *clm-reverb*           (#f)\n\
-:reverb-data       *clm-reverb-data*      (#())\n\
 :reverb-channels   *clm-reverb-channels*  (1)\n\
+:reverb-data       *clm-reverb-data*      (#())\n\
 :reverb-file-name  *clm-reverb-file-name* (\"test.reverb\")\n\
-:player            *clm-player*           (#f)\n\
-:decay-time        *clm-decay-time*       (1.0)\n\
+:sample-type       *clm-sample-type*      (mus-lfloat)\n\
+:scaled-by                                (#f)\n\
+:scaled-to                                (#f)\n\
+:srate             *clm-srate*            (44100)\n\
+:statistics        *clm-statistics*       (#f)\n\
+:to-snd            *clm-to-snd*           (#f)\n\
+:to-dac            *clm-to-dac*           (#f)\n\
+:verbose           *clm-verbose*          (#f)\n\
 Execute BODY-XT, a proc object or an xt, \
 and returns a ws-args object with with-sound arguments.\n\
 <'> resflt-test with-sound .$ cr\n\
@@ -1074,7 +1802,7 @@ and returns a ws-args object with with-sound arguments.\n\
 		with-sound-default-args
 	else
 		with-sound-args
-	then with-sound-main ( ws )
+	then ( ws ) with-sound-main ( ws )
 ;
 
 : clm-load ( fname keyword-args -- ws )
@@ -1085,26 +1813,28 @@ See with-sound for a full keyword list.\n\
 		with-sound-default-args
 	else
 		with-sound-args
-	then
-	{ fname ws }
+	then { ws }
+	{ fname }
 	fname file-exists? if
 		ws :verbose ws-ref if
-			"loading %S" #( fname ) clm-message
+			"loading %s" #( fname ) clm-message
 		then
-		fname <'> file-eval ws with-sound-main ( ws )
+		fname <'> file-eval ws with-sound-main to ws
 	else
 		'no-such-file
 		    #( "%s: %S not found" get-func-name fname ) fth-throw
 	then
+	ws ws-output ws-close-snd
+	ws
 ;
 
 : with-current-sound <{ body-xt :key offset 0.0 scaled-to #f scaled-by #f -- }>
 	doc" Must be called within with-sound body.  \
-Take all arguments from current with-sound except \
-:output, :scaled-to, :scaled-by and :comment."
+Takes all arguments from current with-sound except \
+:output, :scaled-to, :scaled-by, and :comment."
 	*output* mus-output? false? if
 		'with-sound-error
-		    #( "%s can only be called within with-sound"
+		    #( "%s: can only be called within with-sound"
 		       get-func-name ) fth-throw
 	then
 	with-sound-args { ws }
@@ -1116,10 +1846,11 @@ Take all arguments from current with-sound except \
 	output :output-frame offset seconds->samples clm-mix
 	output file-delete
 ;
+previous
 
 : scaled-to <{ body-xt scl -- }>
 	doc" Must be called within with-sound body.  \
-Scale BODY-XT's resulting sound file to SCL.\n\
+Scales BODY-XT's resulting sound file to SCL.\n\
 lambda: ( -- )\n\
   0.0 0.1 660.0 0.5 fm-violin\n\
   0.5 0.1 550.0 0.1 <'> fm-violin 0.8 scaled-to ( scaled to 0.8 )\n\
@@ -1129,7 +1860,7 @@ lambda: ( -- )\n\
 
 : scaled-by <{ body-xt scl -- }>
 	doc" Must be called within with-sound body.  \
-Scale BODY-XT's resulting sound file by SCL.\n\
+Scales BODY-XT's resulting sound file by SCL.\n\
 lambda: ( -- )\n\
   0.0 0.1 660.0 0.5 fm-violin\n\
   0.5 0.1 550.0 0.1 <'> fm-violin 2.0 scaled-by ( scaled to 0.2 )\n\
@@ -1139,11 +1870,11 @@ lambda: ( -- )\n\
 
 : with-offset <{ body-xt sec -- }>
 	doc" Must be called within with-sound body.  \
-Mix BODY-XT's resulting sound file into main sound file at SEC seconds.\n\
+Mixes BODY-XT's resulting sound file into main sound file at SEC seconds.\n\
 lambda: ( -- )\n\
   0.0 0.1 660.0 0.5 fm-violin\n\
-  0.5 0.1 550.0 0.1 <'> fm-violin 1.0 \
-with-offset ( its actual begin time is 1.5 )\n\
+  0.5 0.1 550.0 0.1 <'> fm-violin 1.0 with-offset\n\
+  ( its actual begin time is 1.5 )\n\
 ; with-sound"
 	body-xt :offset sec with-current-sound
 ;
@@ -1153,7 +1884,7 @@ with-offset ( its actual begin time is 1.5 )\n\
 ARGS is an array of with-sound arguments, \
 FNAME is the temporary mix file name without extension, \
 and START is the begin time for mix in.  \
-If BODY-STR is NIL a notelist file FNAME.fsm must exist.\n\
+If BODY-STR is NIL, a notelist file FNAME.fsm must exist.\n\
 lambda: ( -- )\n\
   0.0 0.1 440 0.1 fm-violin\n\
   \"\n\
@@ -1172,9 +1903,9 @@ lambda: ( -- )\n\
 	    2 "an array or a list" assert-type
 	fname string? fname 3 "a string" assert-type
 	start number? start 4 "a number" assert-type
-	*output* mus-output? false? if
+	*output* ws-is-output? unless
 		'with-sound-error
-		    #( "%s can only be called within with-sound"
+		    #( "%s: can only be called within with-sound"
 			get-func-name ) fth-throw
 	then
 	fname ".snd" $+ { snd-file }
@@ -1183,111 +1914,171 @@ lambda: ( -- )\n\
 	snd-file file-exists? if
 		snd-file file-mtime
 	else
-		#f
+		0 s>d
 	then { snd-time }
 	body-str string? if
 		mix-file file-exists? if
 			mix-file readlines "" array-join
 		else
 			""
-		then ( old-body ) body-str string= if
-			mix-file file-mtime
-		else
+		then ( old-body ) body-str string<> if
 			mix-file #( body-str ) writelines
-			#f
 		then
+		mix-file file-mtime
 	else			\ body-str is nil
 		mix-file file-exists? if
 			mix-file file-mtime
 		else
 			'no-such-file
-			    #( "%s: %S not found"
-			       get-func-name
-			       mix-file ) fth-throw
+			    #( "%s: %S not found" get-func-name mix-file )
+			    fth-throw
 		then
 	then { mix-time }
-	snd-time      false?
-	mix-time      false? ||
-	snd-time mix-time d< || if
+	snd-time mix-time d< if
 		mix-file args each
 			( put all args on stack )
 		end-each :output snd-file :reverb-file-name rev-file
 		    clm-load drop
 	then
-	snd-file :output-frame start seconds->samples clm-mix
+	snd-file :output-frame start s>f seconds->samples clm-mix
 ;
 
 : sound-let ( ws-xt-lst body-xt -- )
-	doc" Require array of arrays WS-XT-LST with with-sound args \
+	doc" Requires an array of arrays WS-XT-LST with with-sound args \
 and xts, and a BODY-XT.  \
 The BODY-XT must take WS-XT-LST length arguments which are tempfile names.  \
-with-sound will be feed with ws-args und ws-xts from WS-XT-LST.  \
-:output is set to tempnam which will be on stack before executing BODY-XT.  \
+with-sound gets ws-args und ws-xts from WS-XT-LST.  \
 These temporary files will be deleted after execution of BODY-XT.\n\
-#( #( #( :reverb <'> jc-reverb ) 0.0 1 220 0.2 <'> fm-violin )\n\
-   #( #() 0.5 1 440 0.3 <'> fm-violin ) ) ( the ws-xt-lst )\n\
-lambda: { tmp1 tmp2 }\n\
-  tmp1 :output tmp2 clm-mix\n\
+\\ The WS-XT-LST:\n\
+'( '( '( :reverb <'> jc-reverb ) 0.0 1 220 0.2 <'> fm-violin )\n\
+   '( '()                        0.5 1 440 0.3 <'> fm-violin )\n\
+   '( '()                        '( 10 'a-symbol ) ) )\n\
+\\ The BODY-XT:\n\
+lambda: <{ tmp1 tmp2 tmp3 -- }>\n\
+  tmp1 . cr\n\
+  tmp2 . cr\n\
+  tmp3 . cr\n\
   tmp1 clm-mix\n\
-; ( the body-xt ) <'> sound-let with-sound drop"
+  tmp2 clm-mix\n\
+; <'> sound-let with-sound drop"
+	2 stack-check
 	{ ws-xt-lst body-xt }
 	ws-xt-lst array? ws-xt-lst 1 "an array"     assert-type
 	body-xt word?    body-xt   2 "a proc or xt" assert-type
-	*output* mus-output? unless
-		'with-sound-error
-		    #( "%s can only be called within with-sound"
-		       get-func-name ) fth-throw
-	then
+	nil nil { args rest }
 	ws-xt-lst map
-		*key* 0 array-ref ( args ) each
-			( put all args on stack )
-		end-each with-sound-args
-		( ws ) :output fth-tempnam ws-set! { ws }
-		*key* 1 array-ref ( xt ) each
-			( put all xts on stack )
-		end-each ws with-sound-main :output ws-ref ( outfile )
+		*key* car to args
+		*key* cdr to rest
+		rest -1 list-ref word? if
+			\ '( 0.0 1 220 0.2 <'> fm-violin )
+			rest each
+				( put all args and xt on stack )
+			end-each
+			\ '( :reverb <'> jc-reverb )
+			args ( with-sound args ) each
+				( put all ws-args on stack )
+			end-each
+			:output fth-tempnam with-sound ws-output ( outfile )
+		else
+			\ a single value; from example above: '( 10 'a-symbol )
+			rest car ( val )
+		then
 	end-map { outfiles }
-	body-xt xt? if
-		outfiles each end-each body-xt execute
-	else
+	body-xt word? if
 		body-xt outfiles run-proc drop
 	then
-	outfiles each ( file )
-		file-delete
+	outfiles each { file }
+		file file-exists? if
+			file ws-close-snd
+			file file-delete
+		then
 	end-each
 ;
 
-\ === Playing Sounds ===
-: play-sound <{ :key verbose *clm-verbose* player *clm-player*
-    :optional input *clm-file-name* -- }>
-	doc" Play sound file INPUT.\n\
-\"bell.snd\" :verbose #t play-sound"
-	input find-file to input
-	input unless
-		'no-such-file #( "%s: %s" get-func-name input ) fth-throw
-	then
-	verbose if
-		input snd-info
-	then
-	#w{} :output input ws-set! :player player ws-set! ws-play-it
-;
-
-'snd provided? [unless]
-	<'> play-sound alias play
+0 [if]
+\ CLM examples (see clm.html) and their Snd/Forth counterparts:
+
+\ (with-sound () 
+\   (mix (with-sound (:output "hiho.snd") 
+\          (fm-violin 0 1 440 .1))
+\        :amplitude .5))
+
+lambda: ( -- )
+	0.0 1.0 440 0.1 <'> fm-violin
+	:output "hiho.snd" with-sound ws-output :scaler 2.0 clm-mix
+; with-sound drop 
+
+\ (with-sound ()
+\   (with-mix () "s1" 0
+\     (sound-let ((tmp () (fm-violin 0 1 440 .1)))
+\       (mix tmp))))
+
+lambda: ( -- )
+	"
+	'( '( '() 0.0 1.0 440 0.1 <'> fm-violin ) )
+	lambda: <{ tmp -- }>
+		tmp clm-mix
+	; sound-let
+	" '() "s1" 0 with-mix
+; with-sound drop 
+
+\ (with-sound (:verbose t)
+\   (with-mix () "s6" 0
+\     (sound-let ((tmp () (fm-violin 0 1 440 .1))
+\                 (tmp1 (:reverb nrev) (mix "oboe.snd")))
+\       (mix tmp1)
+\       (mix tmp :amplitude .2 :output-frame *srate*))
+\     (fm-violin .5 .1 330 .1)))
+
+lambda: ( -- )
+	"
+	'( '( '() 0.0 1.0 440 0.1 <'> fm-violin )
+	   '( '( :reverb <'> nrev ) \"oboe.snd\" <'> clm-mix ) )
+	lambda: <{ tmp tmp1 -- }>
+		tmp1 clm-mix
+		tmp :scaler 5.0 :output-frame 1.0 seconds->samples clm-mix
+	; sound-let
+	0.5 0.1 330 0.1 fm-violin
+	" '() "s6" 0 with-mix
+; :verbose #t with-sound drop 
+
+\ (with-sound (:verbose t)
+\   (sound-let ((tmp () (with-mix () "s7" 0
+\                    (sound-let ((tmp () (fm-violin 0 1 440 .1))
+\                                (tmp1 () (mix "oboe.snd")))
+\                      (mix tmp1)
+\                      (mix tmp :output-frame *srate*))
+\                    (fm-violin .5 .1 330 .1))))
+\      (mix tmp :amplitude .5)))
+
+'( '( '() "
+	'( '( '() 0.0 1.0 440 0.1 <'> fm-violin )
+	   '( '()      \"oboe.snd\" <'> clm-mix ) )
+	lambda: <{ tmp tmp1 -- }>
+		tmp1 clm-mix
+		tmp :output-frame 1.0 seconds->samples clm-mix
+	; sound-let
+	0.5 0.1 330 0.1 fm-violin
+	" '() "s7" 0 <'> with-mix ) )
+lambda: <{ tmp -- }>
+	tmp :scaler 2.0 clm-mix
+; <'> sound-let :verbose #t with-sound drop 
 [then]
-<'> play is ws-play
 
 \ === Example instruments, more in clm-ins.fs ===
 instrument: simp { start dur freq amp -- }
 	:frequency freq make-oscil { os }
 	:envelope #( 0 0 25 1 75 1 100 0 )
 	    :duration dur :scaler amp make-env { en }
-	start dur run
-		i  os 0.0 0.0 oscil en env f*  *output* outa drop
-	loop
+	\ start dur run
+	\	i  os 0.0 0.0 oscil en env f*  *output* outa drop
+	\ loop	
+	start dur nil run-instrument
+		os 0.0 0.0 oscil  en env  f*
+	end-run
 ;instrument
 
-: run-test ( -- ) 0.0 1.0 330.0 0.5 simp ;
+: run-test ( -- )	0.0 1.0 330.0 0.5 simp ;
 
 : input-fn { gen -- prc; dir self -- r }
 	1 proc-create ( prc )
@@ -1300,9 +2091,12 @@ instrument: src-simp { start dur amp sr sr-env fname -- }
 	:file fname find-file make-readin { f }
 	:input f input-fn :srate sr make-src { sc }
 	:envelope sr-env :duration dur make-env { en }
-	start dur run
-		i  sc en env #f src amp f*  *output* outa drop
-	loop
+	\ start dur run
+	\	i  sc en env #f src amp f*  *output* outa drop
+	\ loop
+	start dur nil run-instrument
+		sc  en env  #f src  amp f*
+	end-run
 	f mus-close drop
 ;instrument
 
@@ -1315,9 +2109,12 @@ instrument: conv-simp { start dur filt fname amp -- }
 		filt
 	then { data }
 	:input f input-fn :filter data make-convolve { cv }
-	start dur run
-		i cv #f convolve  amp f*  *output* outa drop
-	loop
+	\ start dur run
+	\	i cv #f convolve  amp f*  *output* outa drop
+	\ loop
+	start dur nil run-instrument
+		cv #f convolve  amp f*
+	end-run
 	f mus-close drop
 ;instrument
 
@@ -1331,7 +2128,7 @@ event: conv1-test ( -- )
 	0.0 1.0 vct( 0.5 0.2 0.1 0.05 0 0 0 0 ) "fyow.snd" 1.0 conv-simp
 ;event
 
-\ <'> conc2-test with-sound drop
+\ <'> conv2-test with-sound drop
 event: conv2-test ( -- )
 	0.0 1.0 "pistol.snd" "fyow.snd" 0.2 conv-simp
 ;event
@@ -1343,79 +2140,6 @@ event: inst-test ( -- )
 	2.4 1.0 "pistol.snd" "fyow.snd" 0.2 conv-simp
 ;event
 
-\ generators.scm
-: make-waveshape <{ :optional
-    freq *clm-default-frequency*
-    parts #( 1 1 )
-    wave #f
-    size *clm-table-size* -- gen }>
-	doc" See make-polyshape."
-	:frequency freq
-	    wave if
-		    :coeffs wave
-	    else
-		    :partials parts
-	    then make-polyshape
-;
-
-<'> polyshape  alias waveshape  ( gen :optional index 1.0 fm 0.0 -- val )
-<'> polyshape? alias waveshape? ( obj -- f )
-<'> waveshape  <'> polyshape  help-ref  help-set!
-<'> waveshape? <'> polyshape? help-ref  help-set!
-
-: partials->waveshape <{ partials :optional size *clm-table-size* -- wave }>
-	doc" See partials->polynomial."
-	partials partials->polynomial ( wave )
-;
-
-\ snd10.scm
-: make-sum-of-sines <{ :key
-    sines 1
-    frequency 0.0
-    initial-phase 0.0 -- gen }>
-	doc" See make-nsin."
-	:frequency frequency :n sines make-nsin { gen }
-	gen initial-phase set-mus-phase drop
-	gen
-;
-
-<'> nsin  alias sum-of-sines  ( gen :optional fm 0.0 -- val )
-<'> nsin? alias sum-of-sines? ( obj -- f )
-<'> sum-of-sines  <'> nsin  help-ref  help-set!
-<'> sum-of-sines? <'> nsin? help-ref  help-set!
-
-: make-sum-of-cosines <{ :key
-    cosines 1
-    frequency 0.0
-    initial-phase 0.0 -- gn }>
-	doc" See make-ncos."
-	:frequency frequency :n cosines make-ncos { gen }
-	gen initial-phase set-mus-phase drop
-	gen
-;
-
-<'> ncos  alias sum-of-cosines  ( gen :optional fm 0.0 -- val )
-<'> ncos? alias sum-of-cosines? ( obj -- f )
-<'> sum-of-cosines  <'> ncos  help-ref  help-set!
-<'> sum-of-cosines? <'> ncos? help-ref  help-set!
-
-: make-sine-summation <{ :key
-    frequency 0.0
-    initial-phase 0.0
-    n 1
-    a 0.5
-    ratio 1.0 -- gen }>
-	doc" See make-nrxysin."
-	:frequency frequency :ratio ratio :n n :r a make-nrxysin { gen }
-	gen initial-phase set-mus-phase drop
-	gen
-;
-
-<'> nrxysin  alias sine-summation  ( gen :optional fm 0.0 -- val )
-<'> nrxysin? alias sine-summation? ( obj -- f )
-<'> sine-summation  <'> nrxysin  help-ref  help-set!
-<'> sine-summation? <'> nrxysin? help-ref  help-set!
-
 'snd provided? [if]
 	instrument: snd-arpeggio
 	  <{ start dur freq amp :key ampenv #( 0 0 0.5 1 1 0 ) offset 1.0 -- }>
@@ -1490,4 +2214,178 @@ event: arpeggio-test ( -- )
 	0 10 65 0.5 arpeggio
 ;event
 
+instrument: simp-gen { start dur freq amp -- ; samp args -- val }
+	doc" simple example for an instrument generator:\n\
+<'> test-gen :channels 1 :srate 22050 :to-dac #t with-sound drop\n\
+or\n\
+test-gen run-gen map-channel drop"
+	:frequency freq make-oscil { os }
+	:envelope #( 0 0 25 1 75 1 100 0 )
+	:duration dur :scaler amp make-env { en }
+	start dur nil run-gen-instrument { samp args -- val }
+		args "os" args@ 0.0 0.0 oscil  args "en" args@ env f*
+	end-run-gen
+;instrument
+
+\ <'> test-gen :channels 1 :srate 22050 :to-dac #t with-sound drop
+\ or
+\ test-gen run-gen map-channel drop
+: test-gen ( -- )
+	0.0 0.1  440 0.2 simp-gen
+	0.5 0.2  550 0.2 simp-gen
+	0.6 0.1  660 0.2 simp-gen
+	1.0 0.1  880 0.2 simp-gen
+	1.1 0.1 1320 0.2 simp-gen
+	2.0 0.1  220 0.2 simp-gen
+;
+
+\ snd/fm.html
+\ see clm-ins.fs for file version
+instrument: violin-gen <{ start dur freq amp :key
+    fm-index 1.0
+    amp-env #( 0 0 25 1 75 1 100 0 )
+    index-env #( 0 1 25 0.4 75 0.6 100 0 )
+    degree #f
+    distance #f
+    reverb-amount #f -- }>
+	doc" Violin example from snd/fm.html as generator:\n\
+<'> violin-gen-test :channels 1 :srate 11025 :to-dac #t with-sound drop\n\
+or\n\
+violin-gen-test run-gen map-channel drop"
+	freq hz->radians { frq-scl }
+	frq-scl fm-index f* { maxdev }
+	5.0 freq flog f/ maxdev f* { index1 }
+	8.5 freq flog f- 3.0 freq 1000.0 f/ f+ f/ maxdev 3.0 f* f* { index2 }
+	4.0 freq fsqrt f/ maxdev f* { index3 }
+	:frequency freq make-oscil { carrier }
+	:frequency freq make-oscil { fmosc1 }
+	:frequency freq 3.0 f* make-oscil { fmosc2 }
+	:frequency freq 4.0 f* make-oscil { fmosc3 }
+	:envelope amp-env :scaler amp :duration dur make-env { ampf }
+	:envelope index-env :scaler index1 :duration dur make-env { indf1 }
+	:envelope index-env :scaler index2 :duration dur make-env { indf2 }
+	:envelope index-env :scaler index3 :duration dur make-env { indf3 }
+	:frequency 5.0
+	    :amplitude 0.0025 frq-scl f* make-triangle-wave { pervib }
+	:frequency 16.0
+	    :amplitude 0.005 frq-scl f* make-rand-interp   { ranvib }
+	start dur nil run-gen-instrument { samp args -- val }
+		args "pervib" args@ 0.0 triangle-wave
+		args "ranvib" args@ 0.0 rand-interp f+ { vib }
+		args "carrier" args@
+		    vib
+		    args "fmosc1" args@ vib 0.0 oscil
+		    args "indf1" args@ env f* f+
+		    args "fmosc2" args@ 3.0 vib f* 0.0 oscil
+		    args "indf2" args@ env f* f+
+		    args "fmosc3" args@ 4.0 vib f* 0.0 oscil
+		    args "indf3" args@ env f* f+
+		    0.0 oscil
+		args "ampf" args@ env f*
+	end-run-gen
+;instrument
+
+\ <'> violin-gen-test :channels 1 :srate 11025 :to-dac #t with-sound drop
+\ or
+\ violin-gen-test run-gen map-channel drop
+: violin-gen-test <{ :optional start 0.0 dur 1.0 -- }>
+	start now!
+	now@ dur |Bf4 0.5 violin-gen dur f2/ step
+	now@ dur |A4  0.5 violin-gen dur f2/ step
+	now@ dur |C5  0.5 violin-gen dur f2/ step
+	now@ dur |B4  0.5 violin-gen dur f2/ step
+	0.2 step
+;
+
+: violin-dac-test ( -- )
+	<'> violin-gen-test :channels 1 :srate 11025 :to-dac #t with-sound drop
+;
+
+'snd provided? [if]
+	: violin-map-test ( -- )
+		\ fill *dac-instruments* with #( prc beg end ) elements
+		violin-gen-test
+		0 { size }
+		*dac-instruments* each { el }
+			el 2 array-ref size max to size
+		end-each
+		get-func-name ".snd" $+ :channels 1 :size size new-sound { snd }
+		run-gen map-channel drop
+		snd play drop
+	;
+[then]
+
+\ generators.scm
+: make-waveshape <{ :optional
+    freq *clm-default-frequency*
+    parts #( 1 1 )
+    wave #f
+    size *clm-table-size* -- gen }>
+	doc" See make-polyshape."
+	:frequency freq
+	    wave if
+		    :coeffs wave
+	    else
+		    :partials parts
+	    then make-polyshape
+;
+
+<'> polyshape  alias waveshape  ( gen :optional index 1.0 fm 0.0 -- val )
+<'> polyshape? alias waveshape? ( obj -- f )
+<'> waveshape  <'> polyshape  help-ref  help-set!
+<'> waveshape? <'> polyshape? help-ref  help-set!
+
+: partials->waveshape <{ partials :optional size *clm-table-size* -- wave }>
+	doc" See partials->polynomial."
+	partials partials->polynomial ( wave )
+;
+
+\ snd10.scm
+: make-sum-of-sines <{ :key
+    sines 1
+    frequency 0.0
+    initial-phase 0.0 -- gen }>
+	doc" See make-nsin."
+	:frequency frequency :n sines make-nsin { gen }
+	gen initial-phase set-mus-phase drop
+	gen
+;
+
+<'> nsin  alias sum-of-sines  ( gen :optional fm 0.0 -- val )
+<'> nsin? alias sum-of-sines? ( obj -- f )
+<'> sum-of-sines  <'> nsin  help-ref  help-set!
+<'> sum-of-sines? <'> nsin? help-ref  help-set!
+
+: make-sum-of-cosines <{ :key
+    cosines 1
+    frequency 0.0
+    initial-phase 0.0 -- gn }>
+	doc" See make-ncos."
+	:frequency frequency :n cosines make-ncos { gen }
+	gen initial-phase set-mus-phase drop
+	gen
+;
+
+<'> ncos  alias sum-of-cosines  ( gen :optional fm 0.0 -- val )
+<'> ncos? alias sum-of-cosines? ( obj -- f )
+<'> sum-of-cosines  <'> ncos  help-ref  help-set!
+<'> sum-of-cosines? <'> ncos? help-ref  help-set!
+
+: make-sine-summation <{ :key
+    frequency 0.0
+    initial-phase 0.0
+    n 1
+    a 0.5
+    ratio 1.0 -- gen }>
+	doc" See make-nrxysin."
+	:frequency frequency :ratio ratio :n n :r a make-nrxysin { gen }
+	gen initial-phase set-mus-phase drop
+	gen
+;
+
+<'> nrxysin  alias sine-summation  ( gen :optional fm 0.0 -- val )
+<'> nrxysin? alias sine-summation? ( obj -- f )
+<'> sine-summation  <'> nrxysin  help-ref  help-set!
+<'> sine-summation? <'> nrxysin? help-ref  help-set!
+
 \ clm.fs ends here
diff --git a/configure b/configure
index 30617e5..57b7dde 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for snd 17.9.
+# Generated by GNU Autoconf 2.69 for snd 18.0.
 #
 # Report bugs to <bil at ccrma.stanford.edu>.
 #
@@ -579,9 +579,9 @@ MAKEFLAGS=
 
 # Identity of this package.
 PACKAGE_NAME='snd'
-PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz'
-PACKAGE_VERSION='17.9'
-PACKAGE_STRING='snd 17.9'
+PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-18.tar.gz'
+PACKAGE_VERSION='18.0'
+PACKAGE_STRING='snd 18.0'
 PACKAGE_BUGREPORT='bil at ccrma.stanford.edu'
 PACKAGE_URL=''
 
@@ -750,6 +750,9 @@ with_extension_language
 with_s7
 with_forth
 with_ruby
+with_pure_s7
+with_s7_history
+with_s7_profiling
 with_gsl
 with_fftw
 with_gmp
@@ -1321,7 +1324,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures snd 17.9 to adapt to many kinds of systems.
+\`configure' configures snd 18.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1371,7 +1374,7 @@ Fine tuning of the installation directories:
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
   --docdir=DIR            documentation root
-                          [DATAROOTDIR/doc/ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz]
+                          [DATAROOTDIR/doc/ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-18.tar.gz]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -1392,7 +1395,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of snd 17.9:";;
+     short | recursive ) echo "Configuration of snd 18.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1421,6 +1424,9 @@ Optional Packages:
   --with-s7  	          use S7, default=yes
   --with-forth	  	  use Forth as the extension language
   --with-ruby             use Ruby as the extension language
+  --with-pure-s7	  s7 WITH_PURE_S7
+  --with-s7-history	  s7 WITH_HISTORY
+  --with-s7-profiling	  s7 WITH_PROFILE
   --with-gsl		  use GSL, default=yes
   --with-fftw		  use fftw, default=yes
   --with-gmp		  include multiprecision arithmetic via gmp, mpfr, and mpc, default=no
@@ -1508,7 +1514,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-snd configure 17.9
+snd configure 18.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1969,7 +1975,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by snd $as_me 17.9, which was
+It was created by snd $as_me 18.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3316,7 +3322,7 @@ LOCAL_LANGUAGE="None"
 GRAPHICS_TOOLKIT="None"
 
 PACKAGE=Snd
-VERSION=17.9
+VERSION=18.0
 
 #--------------------------------------------------------------------------------
 # configuration options
@@ -3332,7 +3338,10 @@ VERSION=17.9
 #   --with-gui            make Snd with(out) any graphics support
 #   --with-forth          use Forth as the extension language
 #   --with-ruby           use Ruby as the extension language
-#   --with-s7             use S7 as the extension language (default = yes)
+#   --with-s7             use s7 as the extension language (default = yes)
+#   --with-pure-s7        s7 WITH_PURE_S7
+#   --with-s7-history     s7 WITH_HISTORY
+#   --with-s7-profiling   s7 WITH_PROFILE
 #   --with-extension-language use some extension language (default=yes)
 #   --with-temp-dir       directory to use for temp files
 #   --with-save-dir       directory to use for saved-state files
@@ -3447,6 +3456,25 @@ fi
 
 
 
+# Check whether --with-pure-s7 was given.
+if test "${with_pure_s7+set}" = set; then :
+  withval=$with_pure_s7;
+fi
+
+
+# Check whether --with-s7-history was given.
+if test "${with_s7_history+set}" = set; then :
+  withval=$with_s7_history;
+fi
+
+
+# Check whether --with-s7-profiling was given.
+if test "${with_s7_profiling+set}" = set; then :
+  withval=$with_s7_profiling;
+fi
+
+
+
 # Check whether --with-gsl was given.
 if test "${with_gsl+set}" = set; then :
   withval=$with_gsl;
@@ -5194,6 +5222,42 @@ if test "$with_ruby" = yes ; then
   if test x$PKG_CONFIG != xno ; then
 
       if test "$ac_snd_extension_language" = none ; then
+        if $PKG_CONFIG ruby-2.5 --exists ; then
+          $as_echo "#define HAVE_RUBY 1" >>confdefs.h
+
+          XEN_CFLAGS="-fPIC `$PKG_CONFIG ruby-2.5 --cflags`"
+          # this depends on building ruby itself with the --enable-shared flag
+          XEN_LIBS="`$PKG_CONFIG ruby-2.5 --libs`"
+          LOCAL_LANGUAGE="Ruby"
+          ac_snd_extension_language=Ruby
+        fi
+      fi
+
+      if test "$ac_snd_extension_language" = none ; then
+        if $PKG_CONFIG ruby-2.4 --exists ; then
+          $as_echo "#define HAVE_RUBY 1" >>confdefs.h
+
+          XEN_CFLAGS="-fPIC `$PKG_CONFIG ruby-2.4 --cflags`"
+          # this depends on building ruby itself with the --enable-shared flag
+          XEN_LIBS="`$PKG_CONFIG ruby-2.4 --libs`"
+          LOCAL_LANGUAGE="Ruby"
+          ac_snd_extension_language=Ruby
+        fi
+      fi
+
+      if test "$ac_snd_extension_language" = none ; then
+        if $PKG_CONFIG ruby-2.3 --exists ; then
+          $as_echo "#define HAVE_RUBY 1" >>confdefs.h
+
+          XEN_CFLAGS="-fPIC `$PKG_CONFIG ruby-2.3 --cflags`"
+          # this depends on building ruby itself with the --enable-shared flag
+          XEN_LIBS="`$PKG_CONFIG ruby-2.3 --libs`"
+          LOCAL_LANGUAGE="Ruby"
+          ac_snd_extension_language=Ruby
+        fi
+      fi
+
+      if test "$ac_snd_extension_language" = none ; then
         if $PKG_CONFIG ruby-2.2 --exists ; then
           $as_echo "#define HAVE_RUBY 1" >>confdefs.h
 
@@ -6186,6 +6250,31 @@ if test "$enable_deprecated" = no ; then
 fi
 
 
+#--------------------------------------------------------------------------------
+# pure-s7
+#--------------------------------------------------------------------------------
+
+if test "$with_pure_s7" = yes ; then
+  CFLAGS="-DWITH_PURE_S7 $CFLAGS"
+fi
+
+#--------------------------------------------------------------------------------
+# s7-history
+#--------------------------------------------------------------------------------
+
+if test "$with_s7_history" = yes ; then
+  CFLAGS="-DWITH_HISTORY $CFLAGS"
+fi
+
+#--------------------------------------------------------------------------------
+# s7-profiling
+#--------------------------------------------------------------------------------
+
+if test "$with_s7_profiling" = yes ; then
+  CFLAGS="-DWITH_S7_PROFILE $CFLAGS"
+fi
+
+
 
 #--------------------------------------------------------------------------------
 # output
@@ -6703,7 +6792,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by snd $as_me 17.9, which was
+This file was extended by snd $as_me 18.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6765,7 +6854,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-snd config.status 17.9
+snd config.status 18.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 732e120..722d223 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 #   gmp, mpfr, and mpc deliberately have none!
 
 
-AC_INIT(snd, 17.9, bil at ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-17.tar.gz)
+AC_INIT(snd, 18.0, bil at ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-18.tar.gz)
 
 AC_CONFIG_SRCDIR(snd.c)
 AC_CANONICAL_HOST # needed by case $host below
@@ -24,7 +24,7 @@ LOCAL_LANGUAGE="None"
 GRAPHICS_TOOLKIT="None"
 
 PACKAGE=Snd
-VERSION=17.9
+VERSION=18.0
 
 #--------------------------------------------------------------------------------
 # configuration options
@@ -40,7 +40,10 @@ VERSION=17.9
 #   --with-gui            make Snd with(out) any graphics support
 #   --with-forth          use Forth as the extension language
 #   --with-ruby           use Ruby as the extension language
-#   --with-s7             use S7 as the extension language (default = yes)
+#   --with-s7             use s7 as the extension language (default = yes)
+#   --with-pure-s7        s7 WITH_PURE_S7
+#   --with-s7-history     s7 WITH_HISTORY
+#   --with-s7-profiling   s7 WITH_PROFILE
 #   --with-extension-language use some extension language (default=yes)
 #   --with-temp-dir       directory to use for temp files
 #   --with-save-dir       directory to use for saved-state files
@@ -74,6 +77,10 @@ AC_ARG_WITH(s7,          [  --with-s7  	          use S7, default=yes])
 AC_ARG_WITH(forth,       [  --with-forth	  	  use Forth as the extension language])
 AC_ARG_WITH(ruby,        [  --with-ruby             use Ruby as the extension language])
 
+AC_ARG_WITH(pure-s7,     [  --with-pure-s7	  s7 WITH_PURE_S7])
+AC_ARG_WITH(s7-history,  [  --with-s7-history	  s7 WITH_HISTORY])
+AC_ARG_WITH(s7-profiling, [  --with-s7-profiling	  s7 WITH_PROFILE])
+
 AC_ARG_WITH(gsl,         [  --with-gsl		  use GSL, default=yes])
 AC_ARG_WITH(fftw,        [  --with-fftw		  use fftw, default=yes])
 AC_ARG_WITH(gmp,         [  --with-gmp		  include multiprecision arithmetic via gmp, mpfr, and mpc, default=no])
@@ -371,9 +378,11 @@ fi
 # Ruby
 #--------------------------------------------------------------------------------
 
+# Yuri suggests: ruby -r rbconfig -e 'C = RbConfig::CONFIG' -e 'puts C["ruby_version"]' | sed -E 's|([[:digit:]]+\.[[:digit:]]+).*|\1|'
+
 if test "$with_ruby" = yes ; then
   if test x$PKG_CONFIG != xno ; then
-    m4_foreach([ruby_version], [[ruby-2.2], [ruby-2.1], [ruby-2.0], [ruby], [ruby-1.9.3], [ruby-1.9], [ruby-1.8]],
+    m4_foreach([ruby_version], [[ruby-2.5], [ruby-2.4], [ruby-2.3], [ruby-2.2], [ruby-2.1], [ruby-2.0], [ruby], [ruby-1.9.3], [ruby-1.9], [ruby-1.8]],
       [
       if test "$ac_snd_extension_language" = none ; then
         if $PKG_CONFIG ruby_version --exists ; then
@@ -796,6 +805,31 @@ if test "$enable_deprecated" = no ; then
 fi
 
 
+#--------------------------------------------------------------------------------
+# pure-s7
+#--------------------------------------------------------------------------------
+
+if test "$with_pure_s7" = yes ; then
+  CFLAGS="-DWITH_PURE_S7 $CFLAGS"
+fi
+
+#--------------------------------------------------------------------------------
+# s7-history
+#--------------------------------------------------------------------------------
+
+if test "$with_s7_history" = yes ; then
+  CFLAGS="-DWITH_HISTORY $CFLAGS"
+fi
+
+#--------------------------------------------------------------------------------
+# s7-profiling
+#--------------------------------------------------------------------------------
+
+if test "$with_s7_profiling" = yes ; then
+  CFLAGS="-DWITH_S7_PROFILE $CFLAGS"
+fi
+
+
 
 #--------------------------------------------------------------------------------
 # output
diff --git a/draw.fs b/draw.fs
index a7f8ee3..8148951 100644
--- a/draw.fs
+++ b/draw.fs
@@ -2,9 +2,9 @@
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/12/18 23:36:09
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)draw.fs	1.19 4/28/14
+\ @(#)draw.fs	1.20 12/2/17
 
 \ make-current-window-display  ( -- )
 \ close-current-window-display ( -- )
diff --git a/dsp.fs b/dsp.fs
index 8c3c024..0cfb779 100644
--- a/dsp.fs
+++ b/dsp.fs
@@ -2,9 +2,9 @@
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/12/30 04:52:13
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)dsp.fs	1.51 4/28/14
+\ @(#)dsp.fs	1.52 12/2/17
 
 \ src-duration			( en -- dur )
 \ src-fit-envelope		( e1 target-dur -- e2 )
diff --git a/effects.fs b/effects.fs
index 529fa93..022ed0d 100644
--- a/effects.fs
+++ b/effects.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/10/16 23:04:30
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/15 06:30:08
 \
-\ @(#)effects.fs	1.56 4/28/14
+\ @(#)effects.fs	1.59 12/15/17
 
 \ General (nogui/motif/gtk)
 \
@@ -40,7 +40,7 @@
 \
 \ Requires --with-motif|gtk
 \
-\ Tested with Snd 14.x
+\ Tested with Snd 18.x
 \             Fth 1.3.x
 \             Motif 2.3.3 X11R6
 \
@@ -554,43 +554,9 @@ previous
 \ effects-cross-synthesis ( snd amp fftsize r -- prc; inval self -- res )
 \ effects-cross-synthesis-1 ( snd amp fft r :optional beg dur snd chn -- res )
 
-: effects-cross-synthesis ( snd amp fftsize r -- prc; inval self -- res )
-	{ snd amp fftsize r }
-	fftsize 2/ { freq-inc }
-	fftsize 0.0 make-vct { fdr }
-	fftsize 0.0 make-vct { fdi }
-	freq-inc 0.0 make-vct { spectr }
-	1.0 r fftsize f/ f- { radius }
-	#f srate fftsize / { bin }
-	freq-inc make-array map!
-		:radius radius :frequency bin i * make-formant
-	end-map spectr make-formant-bank { formants }
-	1 proc-create ( inctr ) 0 , ( ctr ) freq-inc ,
-	fdr , fdi , spectr , formants , snd , amp , ( prc )
-  does> { inval self -- res }
-	self @ { inctr }
-	self 1 cells + @ { ctr }
-	self 2 cells + @ { fdr }
-	self 3 cells + @ { fdi }
-	self 4 cells + @ { spectr }
-	self 5 cells + @ { formants }
-	self 6 cells + @ { snd }
-	self 7 cells + @ { amp }
-	fdr vct-length { fftsize }
-	spectr vct-length { freq-inc }
-	0.0 { outval }
-	ctr freq-inc = if
-		inctr fftsize snd 0 #f channel->vct self 2 cells + ! ( fdr )
-		inctr freq-inc + self ! ( inctr )
-		fdr fdi #f 2 spectrum drop
-		fdr spectr vct-subtract! drop
-		fdr freq-inc 1/f vct-scale! drop
-		0 self 1 cells + ! ( ctr=0 )
-	then
-	ctr 1+ self 1 cells + ! ( ctr++ )
-	spectr fdr 0 vct-add! drop
-	formants inval formant-bank amp f*
-;
+\ cross-synthesis from examp.fs
+<'> cross-synthesis
+    alias effects-cross-synthesis ( snd amp fftsize r -- prc; y self -- res )
 
 : effects-cross-synthesis-1
   <{ csnd amp fftsize r :optional beg 0 dur #f snd #f  chn #f -- res }>
diff --git a/env.fs b/env.fs
index 64251ac..72c3e03 100644
--- a/env.fs
+++ b/env.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/10/27 04:51:42
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)env.fs	1.25 4/28/14
+\ @(#)env.fs	1.26 12/2/17
 
 \ From env.scm|rb with original comments and doc strings from env.scm.
 \ 
diff --git a/enved.fs b/enved.fs
index 3fdd9f8..e0abb14 100644
--- a/enved.fs
+++ b/enved.fs
@@ -1,8 +1,10 @@
 \ enved.fs -- enved object type
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Sun Nov 13 13:59:42 CET 2005
-\ Changed: Mon Nov 19 06:06:33 CET 2012
+\ Created: 05/11/13 13:59:42
+\ Changed: 17/12/02 02:57:20
+\
+\ @(#)enved.fs	1.19 12/2/17
 
 \ Commentary:
 
diff --git a/examp.fs b/examp.fs
index 1fbb1c4..05c9d21 100644
--- a/examp.fs
+++ b/examp.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/07/05 13:09:37
-\ Changed: 15/01/29 23:39:32
+\ Changed: 17/12/15 06:14:01
 \
-\ @(#)examp.fs	1.68 1/29/15
+\ @(#)examp.fs	1.70 12/15/17
 
 \ With original comments and doc strings from examp.scm.
 \
@@ -75,8 +75,8 @@
 \ hello-dentist		( frq amp :optional snd chn -- vct )
 \ fp			( sr osamp osfrq :optional snd chn -- vct )
 \ compand		( -- prc; y self -- val )
-\ expsrc		( rate :optional snd chn -- val )
-\ expsnd		( gr-env :optional snd chn -- vct )
+\ expsrc		( rate snd chn -- val )
+\ expsnd		( gr-env snd chn -- vct )
 \ cross-synthesis	( cross-snd amp fftsize r -- prc; y self -- val )
 \ voiced->unvoiced	( amp fftsize r tempo :optional snd chn -- vct )
 \ pulse-voice		( cos :optional freq amp fftsize r snd chn -- vct )
@@ -296,6 +296,7 @@ require rgb
 	wl  wr wl - 1+  snd chn #f channel->vct
 ;
 
+\ graph data xlabel x0 x1 y0 y1 snd chn force-display show-axes-choice
 : display-energy <{ snd chn -- v }>
 	doc" A lisp-graph-hook function to display the time \
 domain data as energy (squared).\n\
@@ -308,8 +309,9 @@ list-graph-hook <'> display-energy add-hook!."
 		snd chn right-sample { rs }
 		snd srate { sr }
 		snd chn y-zoom-slider { y-max }
-		data data vct-multiply! "energy" ls sr f/ rs sr f/
-		    0.0 y-max dup f*  snd chn #t undef graph
+		data data vct-multiply! "energy"
+		    ls sr f/ rs sr f/ 0.0 y-max dup f*
+		    snd chn #t show-all-axes graph
 	else
 		#f
 	then
@@ -339,7 +341,8 @@ list-graph-hook <'> display-db add-hook!."
 		snd srate { sr }
 		data map
 			*key* fabs db-calc 60.0 f+
-		end-map "dB" ls sr f/ rs sr f/ 0.0 60.0 snd chn #t undef graph
+		end-map "dB" ls sr f/ rs sr f/ 0.0 60.0
+		    snd chn #t show-all-axes graph
 	else
 		#f
 	then
@@ -428,7 +431,7 @@ y0 and y1 are ignored."
 			data3 tmprl 0 vct-add! drop
 			data3 fftscale vct-scale! drop
 			data3 "lag time" 0 fftlen2
-			    undef undef snd chn #t undef graph
+			    32768.0 -32768.0 snd chn #t show-all-axes graph
 		then
 	else
 		get-func-name " wants stereo input" $+ snd status-report
@@ -492,7 +495,7 @@ time-domain window size (use with graph-hook)."
 				then
 			end-each
 			ffts "spectra" 0.0 0.5 y0 y1
-			    snd chn #t undef graph drop
+			    snd chn #t show-all-axes graph drop
 		then
 	then
 	#f
@@ -1523,23 +1526,15 @@ vct( -1.000 -0.960 -0.900 -0.820
 \ ;;;   In this case, src calls granulate which reads the currently
 \ ;;;   selected file.  CLM version is in expsrc.ins
 
-hide
-: expgr-cb { v snd chn -- prc; dir self -- val }
+\ general reader for expsrc, expsnd, cnvtest
+: sampler-cb { rd -- prc; dir self -- val }
 	1 proc-create ( prc )
-	v , snd , chn , 0 ,
+	rd ,
   does> { dir self -- val }
-	self @ { v }
-	v cycle-ref ( val )
-	v cycle-start@ 0= if
-		self cell+ @ { snd }
-		self 2 cells + @ { chn }
-		self 3 cells + @ { vbeg }
-		vbeg v vct-length + dup self 3 cells + ! ( vbeg += v-len )
-		vbeg v vct-length snd chn #f channel->vct drop
-	then
-	( val )
+	self @ ( rd ) next-sample
 ;
 
+hide
 : expsr-cb { gr -- prc; dir self -- val }
 	1 proc-create ( prc )
 	gr ,
@@ -1548,44 +1543,51 @@ hide
 ;
 set-current
 
-: expsrc <{ rate :optional snd #f chn #f -- val }>
+: expsrc { rate snd chn -- prc; y self -- val }
 	doc" Use sampling-rate conversion and granular synthesis to \
 produce a sound at a new pitch but at the original tempo.  \
 It returns a function for map-channel."
-	0 1024 snd chn #f channel->vct { v }
-	:input v snd chn expgr-cb :expansion rate make-granulate { gr }
+	0 snd chn 1 #f make-sampler { rd }
+	:input rd sampler-cb :expansion rate make-granulate { gr }
 	:input gr expsr-cb :srate rate make-src { sr }
 	1 proc-create ( prc )
 	sr ,
   does> { y self -- val }
 	self @ ( sr ) 0.0 #f src
 ;
+
+\ 0.5       expsrc-test		- current sound and channel
+\ 2.0 #f #t expsrc-test		- current sound and all channels
+\ 2.0  0  0 expsrc-test		- sound 0 and channel 0
+: expsrc-test <{ rate :optional snd #f chn #f start 0 dur #f -- }>
+	"%s %s %s expsrc %s %s map-channel"
+	'( rate snd chn start dur ) string-format { origin }
+	chn true? if
+		snd channels 0 do
+			rate snd i expsrc start dur snd i #f origin
+			    map-channel drop
+		loop
+	else
+		rate snd chn expsrc start dur snd chn #f origin map-channel drop
+	then
+;
 previous
 
 \ ;;; the next (expsnd) changes the tempo according to an envelope; the new
 \ ;;; duration will depend on the expansion envelope -- we integrate it to get
 \ ;;; the overall expansion, then use that to decide the new length.
 
-hide
-: es-input-cb { sf -- prc; dir self -- val }
-	1 proc-create ( prc )
-	sf ,
-  does> { dir self -- val }
-	self @ ( sf ) next-sample
-;
-set-current
-
-: expsnd <{ gr-env :optional snd #f chn #f -- vct }>
+: expsnd { gr-env snd chn -- vct }
 	doc" Use the granulate generator to change tempo \
 according to an envelope:\n\
-#( 0 0.5 2 2.0 ) #f #f expsnd."
+'( 0 0.5 2 2.0 ) #f #f expsnd."
 	snd chn #f framples { len }
 	len snd srate f/ gr-env integrate-envelope f*
 	    gr-env envelope-last-x f/ { dur }
-	0 snd chn 1 #f make-sampler { sf }
-	:expansion gr-env 1 array-ref
+	0 snd chn 1 #f make-sampler { rd }
+	:expansion gr-env cadr
 	    :jitter 0
-	    :input sf es-input-cb make-granulate { gr }
+	    :input rd sampler-cb make-granulate { gr }
 	:envelope gr-env :duration dur make-env { ge }
 	snd srate dur f* fround->s { sound-len }
 	sound-len len max to len
@@ -1594,9 +1596,21 @@ according to an envelope:\n\
 		gr #f granulate ( val )
 		gr ge env set-mus-increment drop
 	end-map ( out-data ) 0 len snd chn #f origin vct->channel ( vct )
-	sf free-sampler drop
+	rd free-sampler drop
+;
+
+\ '( 0 0.5 2 2.0 )       expsnd-test	- current sound and channel
+\ '( 0 0.5 2 2.0 ) #f #t expsnd-test	- current sound and all channels
+\ '( 0 0.5 2 2.0 )  0  0 expsnd-test	- sound 0 and channel 0
+: expsnd-test <{ gr-env :optional snd #f chn #f -- }>
+	chn true? if
+		snd channels 0 do
+			gr-env snd i expsnd drop
+		loop
+	else
+		gr-env snd chn expsnd drop
+	then
 ;
-previous
 
 \ ;;; -------- cross-synthesis
 \ ;;;
@@ -1612,148 +1626,171 @@ and the currently selected sound:\n\
 	fftsize 0.0 make-vct { fdi }
 	freq-inc 0.0 make-vct { spectr }
 	1.0 r fftsize f/ f- { radius }
-	#f srate fftsize / { bin }
+	mus-srate { osr }
+	#f srate { csr }
+	csr fftsize / { bin }
+	\ The comment from examp.scm applies of course here as well:
+	\ ;; if mus-srate is 44.1k and srate is 48k, make-formant
+	\ ;;    thinks we're trying to go past srate/2
+	\ ;;    and in any case it's setting its formants incorrectly
+	\ ;;    for the actual output srate
+	\ begin of temporary mus-srate
+	csr set-mus-srate drop
 	freq-inc make-array map!
-	  i bin * radius make-formant
-	end-map spectr make-formant-bank { formants }
+		:radius radius :frequency bin i * make-formant
+	end-map ( formants ) spectr make-formant-bank { formants }
+	osr set-mus-srate drop
+	\ end of temporary mus-srate
 	1 proc-create ( prc )
 	fdr , fdi , spectr , formants ,
 	amp , freq-inc , cross-snd , fftsize , 0 ,
   does> { y self -- val }
-	self @ { fdr }
-	self cell+ @ { fdi }
+	self           @ { fdr }
+	self    cell+  @ { fdi }
 	self 2 cells + @ { spectr }
 	self 3 cells + @ { formants }
 	self 4 cells + @ { amp }
 	self 5 cells + @ { ctr }
-	ctr formants length = if
-		self 6 cells + @ { cross-snd }
-		self 7 cells + @ { fftsize }
-		self 8 cells + @ { inctr }
+	self 6 cells + @ { cross-snd }
+	self 7 cells + @ { fftsize }
+	self 8 cells + @ { inctr }
+	fftsize 2/ { freq-inc }
+	ctr freq-inc = if
 		inctr fftsize cross-snd 0 #f channel->vct dup self ! to fdr
-		inctr fftsize 2/ + self 8 cells + ! ( inctr += freq-inc )
+		inctr freq-inc + self 8 cells + ! ( inctr += freq-inc )
 		fdr fdi #f 2 spectrum ( fdr )
-		    spectr vct-subtract! ( fdr ) fftsize 2/ 1/f
-		vct-scale! drop
+		    spectr vct-subtract! ( fdr )
+		    fftsize 2/ 1/f vct-scale! drop
 		0 self 5 cells + ! ( ctr = 0 )
 	then
-	1 self 5 cells + +! ( ctr++ )
+	ctr 1+ self 5 cells + ! ( ctr++ )
 	spectr fdr 0 vct-add! drop
-	formants y formant-bank amp f*
+	formants y formant-bank amp f* ( val )
 ;
 
 : voiced->unvoiced <{ amp fftsize r tempo :optional snd #f chn #f -- vct }>
-	doc" Turn vocal sound into \
-whispering: 1.0 256 2.0 2.0 #f #f voiced->unvoiced."
+	doc" Turn a vocal sound into whispering: \
+1.0 256 2.0 2.0 #f #f voiced->unvoiced."
 	fftsize 2/ { freq-inc }
+	snd chn #f framples { len }
+	len tempo f/ fround->s { out-len }
 	nil { fdr }
 	fftsize 0.0 make-vct { fdi }
 	freq-inc 0.0 make-vct { spectr }
-	snd srate 3.0 f/ make-rand { noi }
-	0 { inctr }
+	mus-srate { osr }
+	snd srate { csr }
+	\ See cross-synthesis above.
+	\ begin of temporary mus-srate
+	csr set-mus-srate drop
+	csr fftsize / { bin }
 	1.0 r fftsize f/ f- { radius }
-	snd srate fftsize / { bin }
-	snd chn #f framples { len }
-	len tempo f/ fround->s len max { out-len }
+	freq-inc make-array map!
+		:radius radius :frequency bin i * make-formant
+	end-map ( formants ) spectr make-formant-bank { formants }
+	osr set-mus-srate drop
+	\ end of temporary mus-srate
+	csr 3.0 f/ make-rand { noi }
+	0 0 { ctr inctr }
 	freq-inc tempo f* fround->s { hop }
-	0.0 0.0 { old-peak-amp new-peak-amp }
+	0.0 { old-peak-amp }
+	2.0 freq-inc f/ { 2/freq-inc }
+ 	len out-len max 0.0 make-vct { out-data }
+	out-len 0 do
+		out-len i - freq-inc min to ctr
+		ctr odd? if ctr -1 to ctr then
+		inctr fftsize snd chn #f channel->vct to fdr
+		fdr vct-peak old-peak-amp fmax to old-peak-amp
+		fdr fdi #f 2 spectrum ( fdr )
+		    spectr vct-subtract! ( fdr )
+		    2/freq-inc vct-scale! drop
+		hop inctr + to inctr
+		i { idx }
+		ctr 0 ?do
+			spectr fdr 0 vct-add! drop
+			out-data idx
+			    formants noi 0.0 rand formant-bank
+			    vct-set! drop
+			out-data idx 1+
+			    formants noi 0.0 rand formant-bank
+			    vct-set! drop
+			idx 2 + to idx
+		2 +loop
+	freq-inc +loop
 	"%s %s %s %s %s"
 	    #( amp fftsize r tempo get-func-name ) string-format { origin }
-	freq-inc make-array map!
-		i bin * radius make-formant
-	end-map ( formants ) spectr make-formant-bank { formants }
-	freq-inc 1/f { 1/freq-inc }
-
- 	out-len 0.0 make-vct map!
- 		i freq-inc mod 0= if
- 			inctr fftsize snd chn #f channel->vct to fdr
- 			fdr vct-peak old-peak-amp fmax to old-peak-amp
- 			fdr fdi #f 2 spectrum ( fdr )
- 			    spectr vct-subtract! ( fdr )
- 			    1/freq-inc vct-scale! drop
- 			hop inctr + to inctr
- 		then
- 		spectr fdr 0 vct-add! drop
-		formants noi 0.0 rand formant-bank ( outval )
- 	end-map { out-data }
 	out-data old-peak-amp out-data vct-peak f/ amp f* vct-scale! ( odata )
- 	    0 out-len snd chn #f origin vct->channel ( odata )
+ 	    0 len out-len max snd chn #f origin vct->channel ( odata )
 ;
 
 : pulse-voice
     <{ co :optional freq 440.0 amp 1.0 fftsize 256 r 2.0 snd #f chn #f -- vct }>
-	doc" Use sum-of-cosines to manipulate speech sounds."
+	doc" Use ncos to manipulate speech sounds."
 	fftsize 2/ { freq-inc }
-	fftsize 0.0 make-vct { fdr }
-	fftsize 0.0 make-vct { fdi }
 	freq-inc 0.0 make-vct { spectr }
-	:cosines co :frequency freq make-sum-of-cosines { pulse }
-	0 { inctr }
-	1.0 r fftsize f/ f- { radius }
-	snd srate fftsize / { bin }
 	snd chn #f framples { len }
-	0.0 0.0 { old-peak-amp new-peak-amp }
-	"%s %s %s %s %s %s"
-	    #( co freq amp fftsize r get-func-name ) string-format { origin }
+	mus-srate { osr }
+	snd srate { csr }
+	\ See cross-synthesis above.
+	\ begin of temporary mus-srate
+	csr set-mus-srate drop
+	csr fftsize / { bin }
+	1.0 r fftsize f/ f- { radius }
 	freq-inc make-array map!
-		i bin * radius make-formant
-	end-map spectr make-formant-bank { formants }
+		:radius radius :frequency bin i * make-formant
+	end-map ( formants ) spectr make-formant-bank { formants }
+	osr set-mus-srate drop
+	\ end of temporary mus-srate
+	0.0 { old-peak-amp }
+	freq co make-ncos { pulse }
+	nil { fdr }
+	0 { inctr }
+	fftsize 0.0 make-vct { fdi }
+	freq-inc 1/f { 1/freq-inc }
 	len 0.0 make-vct map!
 		i freq-inc mod 0= if
 			inctr fftsize snd chn #f channel->vct to fdr
 			fdr vct-peak old-peak-amp fmax to old-peak-amp
 			fdr fdi #f 2 spectrum ( fdr )
 			    spectr vct-subtract! ( fdr )
-			    freq-inc 1/f vct-scale! drop
+			    1/freq-inc vct-scale! drop
 			freq-inc inctr + to inctr
 		then
 		spectr fdr 0 vct-add! drop
-		formants pulse 0.0 sum-of-cosines formant-bank ( outval )
-		    dup fabs new-peak-amp fmax to new-peak-amp
-		( outval )
-	end-map
-	old-peak-amp new-peak-amp f/ amp f* vct-scale!
+		formants pulse 0.0 ncos formant-bank ( outval )
+	end-map { out-data }
+	"%s %s %s %s %s %s"
+	    #( co freq amp fftsize r get-func-name ) string-format { origin }
+	out-data old-peak-amp out-data vct-peak f/ amp f* vct-scale! ( odata )
 	    0 len snd chn #f origin vct->channel ( vct )
 ;
-\   20.0 1.0 1024 0.01 pulse-voice
-\  120.0 1.0 1024 0.2  pulse-voice
-\  240.0 1.0 1024 0.1  pulse-voice
-\  240.0 1.0 2048      pulse-voice
-\ 1000.0 1.0  512      pulse-voice
+\ 80   20.0 1.0 1024 0.01 pulse-voice
+\ 80  120.0 1.0 1024 0.2  pulse-voice
+\ 30  240.0 1.0 1024 0.1  pulse-voice
+\ 30  240.0 1.0 2048      pulse-voice
+\  6 1000.0 1.0  512      pulse-voice
 
 'snd-nogui provided? [unless]
 	\ ;;; -------- convolution example
 
-	hide
-	: cnv-cb { sf -- prc; dir self -- val }
-		1 proc-create ( prc )
-		sf ,
-	  does> { dir self -- val }
-		self @ ( sf ) next-sample
-	;
-	set-current
-
 	: cnvtest ( snd0 snd1 amp -- mx )
 		doc" Convolve SND0 and SND1, scaling by AMP, \
 returns new max amp: 0 1 0.1 cnvtest."
 		{ snd0 snd1 amp }
 		snd0 #f #f framples { flt-len }
 		snd1 #f #f framples flt-len + { total-len }
-		0 snd1 0 1 #f make-sampler { sf }
-		:input sf cnv-cb :filter 0 flt-len
+		0 snd1 0 1 #f make-sampler { rd }
+		:input rd sampler-cb :filter 0 flt-len
 		    snd0 #f #f channel->vct make-convolve { cnv }
 		total-len 0.0 make-vct map!
 			cnv #f convolve
 		end-map amp vct-scale! ( out-data )
-		0 total-len snd1 #f #f get-func-name
-		    vct->channel vct-peak { max-samp }
-		sf free-sampler drop
+		0 total-len snd1 #f #f #f vct->channel vct-peak { max-samp }
+		rd free-sampler drop
 		max-samp 1.0 f> if
 			#( max-samp fnegate max-samp ) snd1 #f set-y-bounds drop
 		then
 		max-samp
 	;
-	previous
 [then]
 
 \ ;;; -------- swap selection chans
diff --git a/examp.rb b/examp.rb
index da707b6..1c02599 100644
--- a/examp.rb
+++ b/examp.rb
@@ -2,7 +2,7 @@
 
 # Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 # Created: 02/09/04 18:34:00
-# Changed: 15/01/29 23:09:30
+# Changed: 17/12/24 22:01:05
 
 # module Examp (examp.scm)
 #  selection_rms
@@ -1378,10 +1378,21 @@ map_channel(cross_synthesis(1, 0.5, 128, 6.0))")
     inctr = 0
     ctr = freq_inc
     radius = 1.0 - r / fftsize.to_f
-    bin = srate() / fftsize.to_f
+    osr = mus_srate()
+    csr = srate()
+    bin = csr / fftsize
+    # The comment from examp.scm applies of course here as well:
+    # ;; if mus-srate is 44.1k and srate is 48k, make-formant
+    # ;;    thinks we're trying to go past srate/2
+    # ;;    and in any case it's setting its formants incorrectly
+    # ;;    for the actual output srate
+    # begin of temporary mus-srate
+    set_mus_srate(csr)
     fmts = make_array(freq_inc) do |i|
       make_formant(i * bin, radius)
     end
+    set_mus_srate(osr)
+    # end of temporary mus-srate
     formants = make_formant_bank(fmts, spectr)
     lambda do |inval|
       if ctr == freq_inc
@@ -1411,8 +1422,13 @@ Turns a vocal sound into whispering: voiced2unvoiced(1.0, 256, 2.0, 2.0)")
     noi = make_rand(:frequency, srate(snd) / 3.0)
     inctr = 0
     ctr = freq_inc
+    osr = mus_srate()
+    csr = srate()
+    # See cross_synthesis above.
+    # begin of temporary mus-srate
+    set_mus_srate(csr)
     radius = 1.0 - r.to_f / fftsize
-    bin = srate(snd).to_f / fftsize
+    bin = csr / fftsize
     len = framples(snd, chn)
     outlen = (len / tempo).floor
     hop = (freq_inc * tempo).floor
@@ -1420,6 +1436,8 @@ Turns a vocal sound into whispering: voiced2unvoiced(1.0, 256, 2.0, 2.0)")
     fmts = make_array(freq_inc) do |i|
       make_formant(i * bin, radius)
     end
+    set_mus_srate(osr)
+    # end of temporary mus-srate
     formants = make_formant_bank(fmts, spectr)
     old_peak_amp = new_peak_amp = 0.0
     outlen.times do |i|
@@ -1453,44 +1471,44 @@ Turns a vocal sound into whispering: voiced2unvoiced(1.0, 256, 2.0, 2.0)")
   add_help(:pulse_voice,
            "pulse_voice(cosin, freq=440.0, amp=1.0, fftsize=256, r=2.0, \
 snd=false, chn=false)  \
-Uses sum-of-cosines to manipulate speech sounds.")
+Use ncos to manipulate speech sounds.")
   def pulse_voice(cosin, freq = 440.0, amp = 1.0,
                   fftsize = 256, r = 2.0, snd = false, chn = false)
     freq_inc = fftsize / 2
-    fdr = make_vct(fftsize)
-    fdi = make_vct(fftsize)
     spectr = make_vct(freq_inc)
-    pulse = make_sum_of_cosines(cosin, freq)
-    inctr = 0
-    ctr = freq_inc
-    radius = 1.0 - r / fftsize
-    bin = srate(snd) / fftsize
     len = framples(snd, chn)
-    out_data = make_vct(len)
-    old_peak_amp = new_peak_amp = 0.0
+    osr = mus_srate()
+    csr = srate(snd)
+    # See cross_synthesis above.
+    # begin of temporary mus-srate
+    set_mus_srate(csr)
+    bin = csr / fftsize
+    radius = 1.0 - (r.to_f / fftsize)
     fmts = make_array(freq_inc) do |i|
-      make_formant(i * bin, radius)
+      make_formant(:radius, radius, :frequency, i * bin)
     end
     formants = make_formant_bank(fmts, spectr)
-    out_data.map do |i|
-      outval = 0.0
-      if ctr == freq_inc
+    set_mus_srate(osr)
+    # end of temporary mus-srate
+    old_peak_amp = 0.0
+    pulse = make_ncos(freq, cosin)
+    fdr = nil
+    inctr = 0
+    fdi = make_vct(fftsize)
+    inv_freq_inc = 1.0 / freq_inc
+    out_data = make_vct!(len) do |i|
+      if i.modulo(freq_inc) == 0
         fdr = channel2vct(inctr, fftsize, snd, chn)
-        pk = vct_peak(fdr)
-        if pk > old_peak_amp then old_peak_amp = pk end
+        old_peak_amp = [vct_peak(fdr), old_peak_amp].max
         spectrum(fdr, fdi, false, 2)
-        inctr += freq_inc
         vct_subtract!(fdr, spectr)
-        vct_scale!(fdr, 1.0 / freq_inc)
-        ctr = 0
+        vct_scale!(fdr, inv_freq_inc)
+        inctr += freq_inc
       end
-      ctr += 1
       vct_add!(spectr, fdr)
-      outval = formant_bank(formants, sum_of_cosines(pulse))
-      if outval.abs > new_peak_amp then new_peak_amp = outval.abs end
-      outval
+      formant_bank(formants, ncos(pulse))
     end
-    vct_scale!(out_data, amp * (old_peak_amp / new_peak_amp))
+    vct_scale!(out_data, (old_peak_amp / vct_peak(out_data)) * amp)
     vct2channel(out_data, 0, len, snd, chn)
   end
   # pulse_voice(80,   20.0, 1.0, 1024, 0.01)
diff --git a/extensions.fs b/extensions.fs
index 58e6451..d724300 100644
--- a/extensions.fs
+++ b/extensions.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/12/18 19:21:00
-\ Changed: 14/12/03 17:15:55
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)extensions.fs	1.50 12/3/14
+\ @(#)extensions.fs	1.51 12/2/17
 
 \ With comments and doc strings from extensions.scm.
 \
diff --git a/gl.c b/gl.c
index b68bfb0..b168cf7 100644
--- a/gl.c
+++ b/gl.c
@@ -5736,7 +5736,7 @@ void Init_libgl(void)
       define_integers();
       define_functions();
       Xen_provide_feature("gl");
-      Xen_define("gl-version", C_string_to_Xen_string("28-Nov-17"));
+      Xen_define("gl-version", C_string_to_Xen_string("01-Jan-18"));
       gl_already_inited = true;
     }
 }
diff --git a/headers.c b/headers.c
index 8db9cb1..a27b8b3 100644
--- a/headers.c
+++ b/headers.c
@@ -468,8 +468,8 @@ const char *mus_sample_type_short_name(mus_sample_t samp_type)
 }
 
 
-#if HAVE_RUBY
-#define TO_LANG(Str) (const char *)xen_scheme_constant_to_ruby(Str)
+#if (HAVE_EXTENSION_LANGUAGE) && (HAVE_RUBY) /* HAVE_EXTENSION_LANGUAGE is not redundant -- make sndinfo for example */
+  #define TO_LANG(Str) (const char *)xen_scheme_constant_to_ruby(Str)
 #else
   #define TO_LANG(Str) Str
 #endif
diff --git a/hooks.fs b/hooks.fs
index 04b3d40..7eeda8f 100644
--- a/hooks.fs
+++ b/hooks.fs
@@ -2,9 +2,9 @@
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 06/08/08 23:27:50
-\ Changed: 15/02/27 22:24:42
+\ Changed: 17/12/02 03:14:03
 \
-\ @(#)hooks.fs	1.25 2/27/15
+\ @(#)hooks.fs	1.26 12/2/17
 
 \ snd-hooks         Array with all Snd hooks.
 \ reset-all-hooks   ( -- )
diff --git a/index.scm b/index.scm
index 0ffa235..21084a3 100644
--- a/index.scm
+++ b/index.scm
@@ -15,12 +15,12 @@ and if one is found, and the Snd documentation can be found, calls *html-program
 			      ((and (string? *html-dir*)
 				    (file-exists? (string-append *html-dir* "/snd.html")))
 			       *html-dir*)
+			      ((file-exists? "/usr/share/doc/snd-18/snd.html")       "/usr/share/doc/snd-18")
+			      ((file-exists? "/usr/local/share/doc/snd-18/snd.html") "/usr/local/share/doc/snd-18")
+			      ((file-exists? "/usr/doc/snd-18/snd.html")             "/usr/doc/snd-18")
 			      ((file-exists? "/usr/share/doc/snd-17/snd.html")       "/usr/share/doc/snd-17")
 			      ((file-exists? "/usr/local/share/doc/snd-17/snd.html") "/usr/local/share/doc/snd-17")
-			      ((file-exists? "/usr/doc/snd-17/snd.html")             "/usr/doc/snd-17")
-			      ((file-exists? "/usr/share/doc/snd-16/snd.html")       "/usr/share/doc/snd-16")
-			      ((file-exists? "/usr/local/share/doc/snd-16/snd.html") "/usr/local/share/doc/snd-16")
-			      (else (and (file-exists? "/usr/doc/snd-16/snd.html")   "/usr/doc/snd-16")))))
+			      (else (and (file-exists? "/usr/doc/snd-17/snd.html")   "/usr/doc/snd-17")))))
 	       (if dir
 		   (system (string-append *html-program* " file:" dir "/" n))))))))
     (lambda (obj)
diff --git a/io.c b/io.c
index 83eb32a..fe59170 100644
--- a/io.c
+++ b/io.c
@@ -2206,7 +2206,7 @@ char *mus_getcwd(void)
   int i, path_max = 0;
   char *pwd = NULL;
   if (saved_cwd) return(saved_cwd);
-#ifndef _MSC_VER
+#if (!defined(_MSC_VER)) && (!defined(_WIN32)) /* _WIN32 for mingw */
   path_max = pathconf("/", _PC_PATH_MAX);
 #endif
   if (path_max < 1024)
@@ -2222,7 +2222,7 @@ char *mus_getcwd(void)
       char *res;
       if (pwd) free(pwd);
       pwd = (char *)calloc(i, sizeof(char));
-#if (defined(_MSC_VER) || __CYGWIN__)
+#if _WIN32 /* (defined(_MSC_VER) || __CYGWIN__) */
       res = _getcwd(pwd, i);
 #else
       res = getcwd(pwd, i);
diff --git a/libgtk_s7.c b/libgtk_s7.c
index a1e494a..79e27ca 100644
--- a/libgtk_s7.c
+++ b/libgtk_s7.c
@@ -53,7 +53,12 @@ static void define_xm_obj(s7_scheme *sc)
   s7_c_type_set_equal(sc, xm_obj_tag, s7_equalp_xm);
 }  
 
-static s7_pointer GtkEventControllerScroll__sym, GtkEventControllerScrollFlags_sym, GtkSnapshot__sym, GdkPropertyState_sym, GdkTouchpadGesturePhase_sym,
+static s7_pointer GtkContentFormats__sym, GtkStyleProvider__sym, GdkDisplay_gtk_invisible_get_display_sym, GtkInvisible__sym, GtkIconSize_sym,
+                  GValue_sym, GBytes__sym, GdkContentDeserializeFunc_sym, GdkContentDeserializer__sym, GdkContentSerializeFunc_sym,
+                  GdkContentSerializer__sym, GOutputStream__sym, GdkContentFormatsBuilder__sym, GdkContentFormatsBuilder_sym, GString__sym,
+                  va_list_sym, GdkTexture__sym, har___sym, GInputStream__sym, GAsyncResult__sym,
+                  GAsyncReadyCallback_sym, GCancellable__sym, GdkContentProvider__sym, GdkContentFormats__sym, GdkClipboard__sym,
+                  GdkAppLaunchContext__sym, GtkEventControllerScroll__sym, GtkEventControllerScrollFlags_sym, GtkSnapshot__sym, GdkTouchpadGesturePhase_sym,
                   GdkNotifyType_sym, GdkCrossingMode_sym, GdkEventScroll__sym, GtkScrollbar__sym, GtkCenterBox__sym,
                   GtkCheckButton__sym, GdkDrawContext__sym, GtkDrawingAreaDrawFunc_sym, GtkShortcutLabel__sym, GtkPadActionType_sym,
                   GtkPadActionEntry__sym, GActionGroup__sym, GtkPadController__sym, GdkDevicePadFeature_sym, GdkDevicePad__sym,
@@ -69,46 +74,45 @@ static s7_pointer GtkEventControllerScroll__sym, GtkEventControllerScrollFlags_s
                   GtkBaselinePosition_sym, GdkFullscreenMode_sym, GtkInputHints_sym, GtkInputPurpose_sym, GtkLevelBarMode_sym,
                   GtkLevelBar__sym, GtkMenuButton__sym, GtkColorChooser__sym, GtkApplicationWindow__sym, GtkApplication__sym,
                   GMenuModel__sym, guint___sym, GdkModifierIntent_sym, GtkFontChooser__sym, GdkScrollDirection_sym,
-                  GtkOverlay__sym, GtkWidgetPath__sym, GtkStateFlags_sym, GdkScreen___sym, GtkToolShell__sym,
-                  GtkWindowGroup__sym, GtkInvisible__sym, GtkOrientable__sym, GtkCellArea__sym, GtkBorder__sym,
-                  GtkSwitch__sym, GtkScrollablePolicy_sym, GtkScrollable__sym, GtkGrid__sym, GdkRGBA__sym,
-                  GtkComboBoxText__sym, GtkAlign_sym, GtkSizeRequestMode_sym, cairo_region_overlap_t_sym, cairo_rectangle_int_t__sym,
-                  double__sym, cairo_rectangle_t__sym, cairo_device_t__sym, cairo_bool_t_sym, cairo_text_cluster_flags_t__sym,
-                  cairo_text_cluster_t___sym, cairo_glyph_t___sym, cairo_text_cluster_flags_t_sym, cairo_text_cluster_t__sym, cairo_region_t__sym,
-                  GtkMessageDialog__sym, GdkDevice__sym, GtkAccessible__sym, GdkModifierType__sym, GtkToolPaletteDragTargets_sym,
+                  GtkOverlay__sym, GtkWidgetPath__sym, GtkStateFlags_sym, GtkToolShell__sym, GtkWindowGroup__sym,
+                  GIcon__sym, GtkOrientable__sym, GtkCellArea__sym, GtkBorder__sym, GtkSwitch__sym,
+                  GtkScrollablePolicy_sym, GtkScrollable__sym, GtkGrid__sym, GdkRGBA__sym, GtkComboBoxText__sym,
+                  GtkAlign_sym, GtkSizeRequestMode_sym, cairo_region_overlap_t_sym, cairo_rectangle_int_t__sym, double__sym,
+                  cairo_rectangle_t__sym, cairo_device_t__sym, cairo_bool_t_sym, cairo_text_cluster_flags_t__sym, cairo_text_cluster_t___sym,
+                  cairo_glyph_t___sym, cairo_text_cluster_flags_t_sym, cairo_text_cluster_t__sym, cairo_region_t__sym, GtkMessageDialog__sym,
+                  GdkDevice__sym, GtkAccessible__sym, GdkModifierType__sym, GtkDestDefaults_sym, GtkToolPaletteDragTargets_sym,
                   GtkToolItemGroup__sym, GtkToolPalette__sym, GtkPackType_sym, GtkSpinner__sym, GtkEntryBuffer__sym,
-                  GtkMessageType_sym, GtkInfoBar__sym, GIcon__sym, GtkEntryIconPosition_sym, GFile__sym,
-                  GtkScaleButton__sym, GtkCalendarDetailFunc_sym, GtkTooltip__sym, cairo_rectangle_list_t__sym, void__sym,
-                  cairo_filter_t_sym, cairo_extend_t_sym, cairo_format_t_sym, cairo_path_t__sym, cairo_destroy_func_t_sym,
-                  cairo_user_data_key_t__sym, cairo_text_extents_t__sym, cairo_font_extents_t__sym, cairo_font_face_t__sym, cairo_glyph_t__sym,
-                  cairo_scaled_font_t__sym, cairo_font_weight_t_sym, cairo_font_slant_t_sym, cairo_hint_metrics_t_sym, cairo_hint_style_t_sym,
-                  cairo_subpixel_order_t_sym, cairo_status_t_sym, bool_sym, cairo_matrix_t__sym, cairo_line_join_t_sym,
-                  cairo_line_cap_t_sym, cairo_fill_rule_t_sym, cairo_antialias_t_sym, cairo_operator_t_sym, cairo_pattern_t__sym,
-                  cairo_content_t_sym, GtkPageSet_sym, GtkPageRange__sym, GtkPrintPages_sym, GtkPrintQuality_sym,
-                  GtkPrintDuplex_sym, GtkPaperSize__sym, GtkPageOrientation_sym, GtkPrintSettingsFunc_sym, GtkPageSetupDoneFunc_sym,
-                  GtkPrintStatus_sym, GtkPrintOperationAction_sym, GtkPrintOperationResult_sym, GtkUnit_sym, GtkPrintSettings__sym,
-                  GtkPrintOperation__sym, GtkPageSetup__sym, GtkPrintContext__sym, cairo_surface_t__sym, GtkTreeViewGridLines_sym,
-                  GtkRecentData__sym, GtkTextBufferDeserializeFunc_sym, GtkTextBufferSerializeFunc_sym, time_t_sym, GtkRecentChooserMenu__sym,
-                  GtkRecentManager__sym, GtkRecentFilter__sym, GtkRecentSortFunc_sym, GtkRecentSortType_sym, GtkRecentChooser__sym,
-                  GtkLinkButton__sym, GtkAssistantPageType_sym, GtkAssistantPageFunc_sym, GtkAssistant__sym, GDestroyNotify_sym,
-                  GtkTreeViewSearchPositionFunc_sym, GtkSensitivityType_sym, GtkClipboardRichTextReceivedFunc_sym, GtkMenuBar__sym, GtkPackDirection_sym,
-                  GtkIconViewDropPosition_sym, GValue__sym, GLogFunc_sym, PangoMatrix__sym, PangoRenderPart_sym,
-                  PangoRenderer__sym, GtkClipboardImageReceivedFunc_sym, GtkMenuToolButton__sym, GtkFileChooserButton__sym, PangoScriptIter__sym,
+                  GtkMessageType_sym, GtkInfoBar__sym, GtkEntryIconPosition_sym, GFile__sym, GtkScaleButton__sym,
+                  GtkCalendarDetailFunc_sym, GtkTooltip__sym, cairo_rectangle_list_t__sym, void__sym, cairo_filter_t_sym,
+                  cairo_extend_t_sym, cairo_format_t_sym, cairo_path_t__sym, cairo_destroy_func_t_sym, cairo_user_data_key_t__sym,
+                  cairo_text_extents_t__sym, cairo_font_extents_t__sym, cairo_font_face_t__sym, cairo_glyph_t__sym, cairo_scaled_font_t__sym,
+                  cairo_font_weight_t_sym, cairo_font_slant_t_sym, cairo_hint_metrics_t_sym, cairo_hint_style_t_sym, cairo_subpixel_order_t_sym,
+                  cairo_status_t_sym, bool_sym, cairo_matrix_t__sym, cairo_line_join_t_sym, cairo_line_cap_t_sym,
+                  cairo_fill_rule_t_sym, cairo_antialias_t_sym, cairo_operator_t_sym, cairo_pattern_t__sym, cairo_content_t_sym,
+                  GtkPageSet_sym, GtkPageRange__sym, GtkPrintPages_sym, GtkPrintQuality_sym, GtkPrintDuplex_sym,
+                  GtkPaperSize__sym, GtkPageOrientation_sym, GtkPrintSettingsFunc_sym, GtkPageSetupDoneFunc_sym, GtkPrintStatus_sym,
+                  GtkPrintOperationAction_sym, GtkPrintOperationResult_sym, GtkUnit_sym, GtkPrintSettings__sym, GtkPrintOperation__sym,
+                  GtkPageSetup__sym, GtkPrintContext__sym, cairo_surface_t__sym, GtkTreeViewGridLines_sym, GtkRecentData__sym,
+                  time_t_sym, GtkRecentChooserMenu__sym, GtkRecentManager__sym, GtkRecentFilter__sym, GtkRecentSortFunc_sym,
+                  GtkRecentSortType_sym, GtkRecentChooser__sym, GtkLinkButton__sym, GtkAssistantPageType_sym, GtkAssistantPageFunc_sym,
+                  GtkAssistant__sym, GDestroyNotify_sym, GtkTreeViewSearchPositionFunc_sym, GtkSensitivityType_sym, GtkMenuBar__sym,
+                  GtkPackDirection_sym, GtkIconViewDropPosition_sym, GValue__sym, GLogFunc_sym, PangoMatrix__sym,
+                  PangoRenderPart_sym, PangoRenderer__sym, GtkMenuToolButton__sym, GtkFileChooserButton__sym, PangoScriptIter__sym,
                   PangoScript_sym, PangoAttrFilterFunc_sym, PangoEllipsizeMode_sym, GtkIconViewForeachFunc_sym, GtkAboutDialog__sym,
-                  GtkTreeViewRowSeparatorFunc_sym, GtkCellView__sym, GtkAccelMap__sym, GtkClipboardTargetsReceivedFunc_sym, GtkOrientation_sym,
-                  GtkToolButton__sym, GtkIconLookupFlags_sym, GtkIconInfo__sym, gchar___sym, GtkIconTheme__sym,
-                  GtkFileChooser__sym, GtkCellLayoutDataFunc_sym, GtkCellLayout__sym, GtkFileFilterFunc_sym, GtkFileFilterFlags_sym,
-                  GtkFileFilter__sym, GSourceFunc_sym, GtkToggleToolButton__sym, GtkSeparatorToolItem__sym, GtkRadioToolButton__sym,
-                  GtkEntryCompletionMatchFunc_sym, GtkFontButton__sym, GtkExpander__sym, GtkComboBox__sym, GtkTreeModelFilter__sym,
-                  GtkFileChooserAction_sym, GtkToolItem__sym, GtkCalendarDisplayOptions_sym, GdkScreen__sym, PangoLayoutRun__sym,
-                  PangoLayoutIter__sym, PangoLayoutLine__sym, int__sym, PangoAlignment_sym, PangoWrapMode_sym,
-                  PangoItem__sym, PangoGlyphString__sym, PangoFontMap__sym, PangoGlyph_sym, PangoFontFace__sym,
-                  PangoFontFace___sym, PangoFontFamily__sym, PangoFontMask_sym, PangoFontDescription___sym, PangoCoverageLevel_sym,
-                  PangoCoverage__sym, PangoFontMetrics__sym, PangoFontset__sym, PangoFont__sym, PangoFontFamily___sym,
-                  PangoLogAttr__sym, PangoAnalysis__sym, PangoAttrList___sym, PangoAttrIterator__sym, PangoRectangle__sym,
-                  PangoUnderline_sym, PangoStretch_sym, PangoVariant_sym, PangoWeight_sym, PangoStyle_sym,
-                  guint16_sym, PangoAttribute__sym, PangoAttrType_sym, PangoColor__sym, GdkGravity_sym,
-                  GtkWindowPosition_sym, GtkWindowType_sym, GtkWindow__sym, GtkTextDirection_sym, AtkObject__sym,
+                  GtkTreeViewRowSeparatorFunc_sym, GtkCellView__sym, GtkAccelMap__sym, GtkOrientation_sym, GtkToolButton__sym,
+                  GtkIconLookupFlags_sym, GtkIconInfo__sym, gchar___sym, GtkIconTheme__sym, GtkFileChooser__sym,
+                  GtkCellLayoutDataFunc_sym, GtkCellLayout__sym, GtkFileFilterFunc_sym, GtkFileFilterFlags_sym, GtkFileFilter__sym,
+                  GSourceFunc_sym, GtkToggleToolButton__sym, GtkSeparatorToolItem__sym, GtkRadioToolButton__sym, GtkEntryCompletionMatchFunc_sym,
+                  GtkFontButton__sym, GtkExpander__sym, GtkComboBox__sym, GtkTreeModelFilter__sym, GtkFileChooserAction_sym,
+                  GtkToolItem__sym, GtkCalendarDisplayOptions_sym, GdkDisplay__sym, PangoLayoutRun__sym, PangoLayoutIter__sym,
+                  PangoLayoutLine__sym, int__sym, PangoAlignment_sym, PangoWrapMode_sym, PangoItem__sym,
+                  PangoGlyphString__sym, PangoFontMap__sym, PangoGlyph_sym, PangoFontFace__sym, PangoFontFace___sym,
+                  PangoFontFamily__sym, PangoFontMask_sym, PangoFontDescription___sym, PangoCoverageLevel_sym, PangoCoverage__sym,
+                  PangoFontMetrics__sym, PangoFontset__sym, PangoFont__sym, PangoFontFamily___sym, PangoLogAttr__sym,
+                  PangoAnalysis__sym, PangoAttrList___sym, PangoAttrIterator__sym, PangoRectangle__sym, PangoUnderline_sym,
+                  PangoStretch_sym, PangoVariant_sym, PangoWeight_sym, PangoStyle_sym, guint16_sym,
+                  PangoAttribute__sym, PangoAttrType_sym, PangoColor__sym, GdkGravity_sym, GtkWindowPosition_sym,
+                  GtkWindowType_sym, GtkWindow__sym, GtkTextDirection_sym, PangoContext__sym, AtkObject__sym,
                   GtkDirectionType_sym, GtkViewport__sym, GtkTreeViewSearchEqualFunc_sym, GtkTreeViewDropPosition_sym, GtkTreeViewMappingFunc_sym,
                   GtkTreeViewColumnDropFunc_sym, GtkTreeViewColumnSizing_sym, GtkTreeCellDataFunc_sym, GtkTreeStore__sym, GtkTreeIterCompareFunc_sym,
                   GtkSortType_sym, GtkTreeSortable__sym, GtkTreeSelectionForeachFunc_sym, GtkTreeModel___sym, GtkTreeSelectionFunc_sym,
@@ -124,41 +128,38 @@ static s7_pointer GtkEventControllerScroll__sym, GtkEventControllerScrollFlags_s
                   GtkListStore__sym, GtkLayout__sym, GtkJustification_sym, GtkLabel__sym, guint16__sym,
                   GtkIMContextSimple__sym, GdkEventKey__sym, PangoAttrList__sym, GtkIMContext__sym, GtkImageType_sym,
                   GtkImage__sym, GtkShadowType_sym, GtkFrame__sym, GtkFixed__sym, PangoLayout__sym,
-                  GtkEntry__sym, GtkEditable__sym, GtkTargetList__sym, GtkDestDefaults_sym, etc_sym,
-                  GtkDialog__sym, GtkCallback_sym, GtkContainer__sym, GtkClipboardTextReceivedFunc_sym, GtkClipboardReceivedFunc_sym,
-                  GtkClipboardClearFunc_sym, GtkClipboardGetFunc_sym, GtkTargetEntry__sym, GtkCheckMenuItem__sym, GtkCellRendererToggle__sym,
-                  GtkCellRendererText__sym, GtkCellRendererState_sym, GtkCellEditable__sym, GtkCalendar__sym, GtkReliefStyle_sym,
-                  GtkButton__sym, GtkBox__sym, GtkBin__sym, GtkBindingSet__sym, GtkButtonBox__sym,
-                  GtkButtonBoxStyle_sym, GtkAspectFrame__sym, GtkAdjustment__sym, GtkAccelMapForeach_sym, GtkAccelLabel__sym,
-                  GtkAccelGroupEntry__sym, lambda3_sym, GSList__sym, GObject__sym, GtkAccelFlags_sym,
-                  GtkAccelGroup__sym, GTimeVal__sym, GdkPixbufAnimationIter__sym, GdkPixbufAnimation__sym, GdkInterpType_sym,
+                  GtkEntry__sym, GtkEditable__sym, etc_sym, GtkDialog__sym, GtkCallback_sym,
+                  GtkContainer__sym, GtkCheckMenuItem__sym, GtkCellRendererToggle__sym, GtkCellRendererText__sym, GtkCellRendererState_sym,
+                  GtkCellEditable__sym, GtkCalendar__sym, GtkReliefStyle_sym, GtkButton__sym, GtkBox__sym,
+                  GtkBin__sym, GtkBindingSet__sym, GtkButtonBox__sym, GtkButtonBoxStyle_sym, GtkAspectFrame__sym,
+                  GtkAdjustment__sym, GtkAccelMapForeach_sym, GtkAccelLabel__sym, GtkAccelGroupEntry__sym, lambda3_sym,
+                  GSList__sym, GObject__sym, GtkAccelFlags_sym, GtkAccelGroup__sym, GdkInterpType_sym,
                   double_sym, gfloat_sym, guchar_sym, char___sym, GdkPixbufDestroyNotify_sym,
-                  GError__sym, int_sym, GdkColorspace_sym, GdkWindowTypeHint_sym, GdkWindowHints_sym,
-                  GdkGeometry__sym, GdkWindowEdge_sym, GdkWMFunction_sym, GdkWMDecoration_sym, GdkEventMask_sym,
-                  GdkWindowState_sym, GdkFilterFunc_sym, GdkWindowType_sym, GdkPropMode_sym, guchar__sym,
-                  PangoContext__sym, PangoDirection_sym, GdkKeymapKey__sym, GdkKeymap__sym, GdkRectangle__sym,
-                  char__sym, GdkEventFunc_sym, gdouble_sym, GList__sym, guint32_sym,
-                  GdkDragAction_sym, GdkDragContext__sym, GdkCursorType_sym, GdkDisplay__sym, GdkCursor__sym,
-                  GSignalMatchType_sym, GConnectFlags_sym, GtkDestroyNotify_sym, GSignalEmissionHook_sym, gulong_sym,
-                  GSignalInvocationHint__sym, GQuark_sym, guint__sym, GSignalQuery__sym, GType__sym,
-                  GSignalCMarshaller_sym, gpointer_sym, GSignalAccumulator_sym, GSignalFlags_sym, GType_sym,
-                  GClosureNotify_sym, GCallback_sym, GNormalizeMode_sym, glong_sym, gssize_sym,
-                  gunichar__sym, void_sym, GtkDrawingArea__sym, GdkSeat__sym, GtkRecentInfo__sym,
-                  gsize_sym, guint8__sym, GdkAtom_sym, GLogLevelFlags_sym, GdkPixbuf__sym,
-                  GtkIconView__sym, GtkEntryCompletion__sym, GtkFileFilterInfo__sym, GtkTreeSelection__sym, GtkCellRenderer__sym,
-                  GtkTreeViewColumn__sym, GtkTreeView__sym, gunichar_sym, gint_sym, GdkAtom__sym,
-                  GtkSelectionData__sym, GtkClipboard__sym, GtkTreeIter__sym, GtkTreePath__sym, GtkTreeModel__sym,
-                  gboolean_sym, GdkModifierType_sym, guint_sym, gchar__sym, GtkTextTag__sym,
-                  GdkXEvent__sym, GtkWidget__sym, lambda_data_sym, GClosure__sym, GtkAccelKey__sym,
-                  GdkEventMotion__sym, gdouble__sym, GdkEventAny__sym, GdkEvent__sym, GdkWindow__sym,
-                  cairo_t__sym, cairo_font_options_t__sym, PangoFontDescription__sym, idler_sym, GtkCellRendererPixbuf__sym,
-                  GtkSeparator__sym, GtkSeparatorMenuItem__sym, GdkEventExpose__sym, GdkEventNoExpose__sym, GdkEventVisibility__sym,
-                  GdkEventButton__sym, GdkEventCrossing__sym, GdkEventFocus__sym, GdkEventConfigure__sym, GdkEventProperty__sym,
-                  GdkEventSelection__sym, GdkEventProximity__sym, GdkEventSetting__sym, GdkEventWindowState__sym, GdkEventDND__sym,
-                  GtkFileChooserDialog__sym, GtkFileChooserWidget__sym, GtkColorButton__sym, GtkAccelMap_sym, GtkCellRendererCombo__sym,
-                  GtkCellRendererProgress__sym, GtkCellRendererAccel__sym, GtkCellRendererSpin__sym, GtkRecentChooserDialog__sym, GtkRecentChooserWidget__sym,
-                  GtkCellRendererSpinner__sym, gboolean__sym, GtkFontChooserDialog__sym, GtkFontChooserWidget__sym, GtkColorChooserDialog__sym,
-                  GtkColorChooserWidget__sym, GtkColorWidget__sym, GtkGestureLongPress__sym;
+                  GError__sym, char__sym, guchar__sym, int_sym, GdkColorspace_sym,
+                  GdkCursor__sym, GdkWindowTypeHint_sym, GdkWindowHints_sym, GdkGeometry__sym, GdkWindowEdge_sym,
+                  GdkWMFunction_sym, GdkWMDecoration_sym, GdkEventMask_sym, GList__sym, GdkWindowState_sym,
+                  GdkFilterFunc_sym, GdkWindowType_sym, PangoDirection_sym, GdkKeymapKey__sym, GdkKeymap__sym,
+                  GdkRectangle__sym, GdkEventFunc_sym, gdouble_sym, guint32_sym, GdkDragAction_sym,
+                  GdkDragContext__sym, GSignalMatchType_sym, GConnectFlags_sym, GtkDestroyNotify_sym, GSignalEmissionHook_sym,
+                  gulong_sym, GSignalInvocationHint__sym, GQuark_sym, guint__sym, GSignalQuery__sym,
+                  GType__sym, GSignalCMarshaller_sym, gpointer_sym, GSignalAccumulator_sym, GSignalFlags_sym,
+                  GType_sym, GClosureNotify_sym, GCallback_sym, GNormalizeMode_sym, glong_sym,
+                  gssize_sym, gunichar__sym, void_sym, GtkDrawingArea__sym, GdkSeat__sym,
+                  GtkRecentInfo__sym, gsize_sym, guint8__sym, GdkAtom_sym, GLogLevelFlags_sym,
+                  GdkPixbuf__sym, GtkIconView__sym, GtkEntryCompletion__sym, GtkFileFilterInfo__sym, GtkTreeSelection__sym,
+                  GtkCellRenderer__sym, GtkTreeViewColumn__sym, GtkTreeView__sym, gunichar_sym, gint_sym,
+                  GdkAtom__sym, GtkSelectionData__sym, GtkClipboard__sym, GtkTreeIter__sym, GtkTreePath__sym,
+                  GtkTreeModel__sym, gboolean_sym, GdkModifierType_sym, guint_sym, gchar__sym,
+                  GtkTextTag__sym, GdkXEvent__sym, GtkWidget__sym, lambda_data_sym, GClosure__sym,
+                  GtkAccelKey__sym, GdkEventMotion__sym, gdouble__sym, GdkEventAny__sym, GdkEvent__sym,
+                  GdkWindow__sym, cairo_t__sym, cairo_font_options_t__sym, PangoFontDescription__sym, idler_sym,
+                  GtkCellRendererPixbuf__sym, GtkSeparator__sym, GtkSeparatorMenuItem__sym, GdkEventExpose__sym, GdkEventNoExpose__sym,
+                  GdkEventVisibility__sym, GdkEventButton__sym, GdkEventCrossing__sym, GdkEventFocus__sym, GdkEventConfigure__sym,
+                  GdkEventProperty__sym, GdkEventSelection__sym, GdkEventProximity__sym, GdkEventSetting__sym, GdkEventWindowState__sym,
+                  GdkEventDND__sym, GtkFileChooserDialog__sym, GtkFileChooserWidget__sym, GtkColorButton__sym, GtkAccelMap_sym,
+                  GtkCellRendererCombo__sym, GtkCellRendererProgress__sym, GtkCellRendererAccel__sym, GtkCellRendererSpin__sym, GtkRecentChooserDialog__sym,
+                  GtkRecentChooserWidget__sym, GtkCellRendererSpinner__sym, gboolean__sym, GtkFontChooserDialog__sym, GtkFontChooserWidget__sym,
+                  GtkColorChooserDialog__sym, GtkColorChooserWidget__sym, GtkColorWidget__sym, GtkGestureLongPress__sym;
 
 #define lg_is_list(Arg) s7_is_list(sc, Arg)
 static s7_scheme *cbsc = NULL;
@@ -1505,28 +1506,6 @@ static s7_pointer lg_g_object_unref(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_cursor_new_for_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_new_for_display "GdkCursor* gdk_cursor_new_for_display(GdkDisplay* display, GdkCursorType cursor_type)"
-  s7_pointer _p;
-  s7_pointer display, cursor_type;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_for_display", 1, display, "GdkDisplay*");
-  cursor_type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(cursor_type)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_for_display", 2, cursor_type, "GdkCursorType");
-  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_for_display(s7_c_pointer(display), s7_integer(cursor_type))));
-}
-
-static s7_pointer lg_gdk_cursor_get_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_get_display "GdkDisplay* gdk_cursor_get_display(GdkCursor* cursor)"
-  s7_pointer cursor;
-  cursor = s7_car(args);
-  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_display", 1, cursor, "GdkCursor*");
-  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gdk_cursor_get_display(s7_c_pointer(cursor))));
-}
-
 static s7_pointer lg_gdk_drag_status(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_drag_status "void gdk_drag_status(GdkDragContext* context, GdkDragAction action, guint32 time)"
@@ -1575,84 +1554,6 @@ static s7_pointer lg_gdk_drop_finish(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_drag_get_selection(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_get_selection "GdkAtom gdk_drag_get_selection(GdkDragContext* context)"
-  s7_pointer context;
-  context = s7_car(args);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_get_selection", 1, context, "GdkDragContext*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gdk_drag_get_selection(s7_c_pointer(context))));
-}
-
-static s7_pointer lg_gdk_drag_begin(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_begin "GdkDragContext* gdk_drag_begin(GdkWindow* window, GList* targets)"
-  s7_pointer _p;
-  s7_pointer window, targets;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 1, window, "GdkWindow*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GList__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 2, targets, "GList*");
-  return(s7_make_type_with_c_pointer(sc, GdkDragContext__sym, gdk_drag_begin(s7_c_pointer(window), s7_c_pointer(targets))));
-}
-
-static s7_pointer lg_gdk_drag_drop(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_drop "void gdk_drag_drop(GdkDragContext* context, guint32 time)"
-  s7_pointer _p;
-  s7_pointer context, time;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_drop", 1, context, "GdkDragContext*");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gdk_drag_drop", 2, time, "guint32");
-  gdk_drag_drop(s7_c_pointer(context), s7_integer(time));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_drag_abort(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_abort "void gdk_drag_abort(GdkDragContext* context, guint32 time)"
-  s7_pointer _p;
-  s7_pointer context, time;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_abort", 1, context, "GdkDragContext*");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gdk_drag_abort", 2, time, "guint32");
-  gdk_drag_abort(s7_c_pointer(context), s7_integer(time));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_events_pending(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_events_pending "gboolean gdk_events_pending( void)"
-  return(s7_make_boolean(sc, gdk_events_pending()));
-}
-
-static s7_pointer lg_gdk_event_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_event_get "GdkEvent* gdk_event_get( void)"
-  return(s7_make_type_with_c_pointer(sc, GdkEvent__sym, gdk_event_get()));
-}
-
-static s7_pointer lg_gdk_event_peek(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_event_peek "GdkEvent* gdk_event_peek( void)"
-  return(s7_make_type_with_c_pointer(sc, GdkEvent__sym, gdk_event_peek()));
-}
-
-static s7_pointer lg_gdk_event_put(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_event_put "void gdk_event_put(GdkEvent* event)"
-  s7_pointer event;
-  event = s7_car(args);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_put", 1, event, "GdkEvent*");
-  gdk_event_put(s7_c_pointer(event));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_event_copy(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_event_copy "GdkEvent* gdk_event_copy(GdkEvent* event)"
@@ -1770,72 +1671,6 @@ static s7_pointer lg_gdk_get_show_events(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gdk_get_show_events()));
 }
 
-static s7_pointer lg_gdk_get_program_class(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_get_program_class "char* gdk_get_program_class( void)"
-  return(s7_make_string(sc, gdk_get_program_class()));
-}
-
-static s7_pointer lg_gdk_set_program_class(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_set_program_class "void gdk_set_program_class(char* program_class)"
-  s7_pointer program_class;
-  program_class = s7_car(args);
-  if (!s7_is_string(program_class)) s7_wrong_type_arg_error(sc, "gdk_set_program_class", 1, program_class, "char*");
-  gdk_set_program_class((char*)s7_string(program_class));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_error_trap_push(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_error_trap_push "void gdk_error_trap_push( void)"
-  gdk_error_trap_push();
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_error_trap_pop(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_error_trap_pop "gint gdk_error_trap_pop( void)"
-  return(s7_make_integer(sc, gdk_error_trap_pop()));
-}
-
-static s7_pointer lg_gdk_get_display_arg_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_get_display_arg_name "gchar* gdk_get_display_arg_name( void)"
-  return(s7_make_string(sc, gdk_get_display_arg_name()));
-}
-
-static s7_pointer lg_gdk_notify_startup_complete(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_notify_startup_complete "void gdk_notify_startup_complete( void)"
-  gdk_notify_startup_complete();
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_flush(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_flush "void gdk_flush( void)"
-  gdk_flush();
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_beep(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_beep "void gdk_beep( void)"
-  gdk_beep();
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_set_double_click_time(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_set_double_click_time "void gdk_set_double_click_time(guint msec)"
-  s7_pointer msec;
-  msec = s7_car(args);
-  if (!s7_is_integer(msec)) s7_wrong_type_arg_error(sc, "gdk_set_double_click_time", 1, msec, "guint");
-  gdk_set_double_click_time(s7_integer(msec));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_rectangle_intersect(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_rectangle_intersect "gboolean gdk_rectangle_intersect(GdkRectangle* src1, GdkRectangle* src2, \
@@ -1868,12 +1703,6 @@ static s7_pointer lg_gdk_rectangle_union(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_keymap_get_default(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_keymap_get_default "GdkKeymap* gdk_keymap_get_default( void)"
-  return(s7_make_type_with_c_pointer(sc, GdkKeymap__sym, gdk_keymap_get_default()));
-}
-
 static s7_pointer lg_gdk_keymap_lookup_key(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_keymap_lookup_key "guint gdk_keymap_lookup_key(GdkKeymap* keymap, GdkKeymapKey* key)"
@@ -2023,118 +1852,6 @@ static s7_pointer lg_gdk_unicode_to_keyval(s7_scheme *sc, s7_pointer args)
   return(s7_make_integer(sc, gdk_unicode_to_keyval(s7_integer(wc))));
 }
 
-static s7_pointer lg_gdk_pango_context_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pango_context_get "PangoContext* gdk_pango_context_get( void)"
-  return(s7_make_type_with_c_pointer(sc, PangoContext__sym, gdk_pango_context_get()));
-}
-
-static s7_pointer lg_gdk_atom_intern(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_atom_intern "GdkAtom gdk_atom_intern(gchar* atom_name, gboolean only_if_exists)"
-  s7_pointer _p;
-  s7_pointer atom_name, only_if_exists;
-  _p = args;
-  atom_name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(atom_name)) s7_wrong_type_arg_error(sc, "gdk_atom_intern", 1, atom_name, "gchar*");
-  only_if_exists = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(only_if_exists)) s7_wrong_type_arg_error(sc, "gdk_atom_intern", 2, only_if_exists, "gboolean");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gdk_atom_intern(s7_string(atom_name), lg_boolean(only_if_exists))));
-}
-
-static s7_pointer lg_gdk_atom_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_atom_name "gchar* gdk_atom_name(GdkAtom atom)"
-  s7_pointer atom;
-  atom = s7_car(args);
-  if (!s7_is_c_pointer_of_type(atom, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_atom_name", 1, atom, "GdkAtom");
-  {
-    gchar* result;
-    s7_pointer rtn;
-    result = gdk_atom_name(s7_c_pointer(atom));
-    rtn = s7_make_string(sc, result);
-    g_free(result);
-    return(rtn);
-  }
-}
-
-static s7_pointer lg_gdk_property_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_property_get "gboolean gdk_property_get(GdkWindow* window, GdkAtom property, GdkAtom type, \
-gulong offset, gulong length, gint pdelete, GdkAtom* [actual_property_type], gint* [actual_format], gint* [actual_length], \
-guchar** [data])"
-  s7_pointer _p;
-  s7_pointer window, property, type, offset, length, pdelete;
-  GdkAtom ref_actual_property_type;
-  gint ref_actual_format;
-  gint ref_actual_length;
-  guchar* ref_data = NULL;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_property_get", 1, window, "GdkWindow*");
-  property = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(property, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_property_get", 2, property, "GdkAtom");
-  type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(type, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_property_get", 3, type, "GdkAtom");
-  offset = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(offset)) s7_wrong_type_arg_error(sc, "gdk_property_get", 4, offset, "gulong");
-  length = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(length)) s7_wrong_type_arg_error(sc, "gdk_property_get", 5, length, "gulong");
-  pdelete = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(pdelete)) s7_wrong_type_arg_error(sc, "gdk_property_get", 6, pdelete, "gint");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_property_get(s7_c_pointer(window), s7_c_pointer(property), s7_c_pointer(type), s7_integer(offset), s7_integer(length), s7_integer(pdelete), &ref_actual_property_type, &ref_actual_format, &ref_actual_length, &ref_data));
-    {
-      s7_pointer data_val = lg_false;
-      if (ref_actual_property_type == GDK_TARGET_STRING)
-	data_val = s7_make_string(sc, (char *)ref_data);
-      else if (ref_actual_length > 0) data_val = s7_make_string_with_length(sc, (char *)ref_data, ref_actual_length * ref_actual_format / 8);
-     return(s7_list(sc, 5, result, s7_make_c_pointer(sc, ref_actual_property_type), s7_make_integer(sc, ref_actual_format), 
-                       s7_make_integer(sc, ref_actual_length), data_val));
-    }
-  }
-}
-
-static s7_pointer lg_gdk_property_change(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_property_change "void gdk_property_change(GdkWindow* window, GdkAtom property, GdkAtom type, \
-gint format, GdkPropMode mode, guchar* data, gint nelements)"
-  s7_pointer _p;
-  s7_pointer window, property, type, format, mode, data, nelements;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_property_change", 1, window, "GdkWindow*");
-  property = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(property, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_property_change", 2, property, "GdkAtom");
-  type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(type, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_property_change", 3, type, "GdkAtom");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(format)) s7_wrong_type_arg_error(sc, "gdk_property_change", 4, format, "gint");
-  mode = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(mode)) s7_wrong_type_arg_error(sc, "gdk_property_change", 5, mode, "GdkPropMode");
-  data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(data, guchar__sym)) s7_wrong_type_arg_error(sc, "gdk_property_change", 6, data, "guchar*");
-  nelements = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(nelements)) s7_wrong_type_arg_error(sc, "gdk_property_change", 7, nelements, "gint");
-  gdk_property_change(s7_c_pointer(window), s7_c_pointer(property), s7_c_pointer(type), s7_integer(format), s7_integer(mode), s7_c_pointer(data), s7_integer(nelements));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_property_delete(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_property_delete "void gdk_property_delete(GdkWindow* window, GdkAtom property)"
-  s7_pointer _p;
-  s7_pointer window, property;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_property_delete", 1, window, "GdkWindow*");
-  property = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(property, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_property_delete", 2, property, "GdkAtom");
-  gdk_property_delete(s7_c_pointer(window), s7_c_pointer(property));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_utf8_to_string_target(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_utf8_to_string_target "gchar* gdk_utf8_to_string_target(gchar* str)"
@@ -2151,71 +1868,6 @@ static s7_pointer lg_gdk_utf8_to_string_target(s7_scheme *sc, s7_pointer args)
   }
 }
 
-static s7_pointer lg_gdk_selection_owner_set(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_owner_set "gboolean gdk_selection_owner_set(GdkWindow* owner, GdkAtom selection, \
-guint32 time, gboolean send_event)"
-  s7_pointer _p;
-  s7_pointer owner, selection, time, send_event;
-  _p = args;
-  owner = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(owner, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_owner_set", 1, owner, "GdkWindow*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_owner_set", 2, selection, "GdkAtom");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gdk_selection_owner_set", 3, time, "guint32");
-  send_event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(send_event)) s7_wrong_type_arg_error(sc, "gdk_selection_owner_set", 4, send_event, "gboolean");
-  return(s7_make_boolean(sc, gdk_selection_owner_set(s7_c_pointer(owner), s7_c_pointer(selection), s7_integer(time), lg_boolean(send_event))));
-}
-
-static s7_pointer lg_gdk_selection_owner_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_owner_get "GdkWindow* gdk_selection_owner_get(GdkAtom selection)"
-  s7_pointer selection;
-  selection = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_owner_get", 1, selection, "GdkAtom");
-  return(s7_make_type_with_c_pointer(sc, GdkWindow__sym, gdk_selection_owner_get(s7_c_pointer(selection))));
-}
-
-static s7_pointer lg_gdk_selection_convert(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_convert "void gdk_selection_convert(GdkWindow* requestor, GdkAtom selection, \
-GdkAtom target, guint32 time)"
-  s7_pointer _p;
-  s7_pointer requestor, selection, target, time;
-  _p = args;
-  requestor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(requestor, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_convert", 1, requestor, "GdkWindow*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_convert", 2, selection, "GdkAtom");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_convert", 3, target, "GdkAtom");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gdk_selection_convert", 4, time, "guint32");
-  gdk_selection_convert(s7_c_pointer(requestor), s7_c_pointer(selection), s7_c_pointer(target), s7_integer(time));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_selection_property_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_property_get "gboolean gdk_selection_property_get(GdkWindow* requestor, guchar** [data], \
-GdkAtom* [prop_type], gint* [prop_format])"
-  s7_pointer _p;
-  s7_pointer requestor;
-  guchar* ref_data = NULL;
-  GdkAtom ref_prop_type;
-  gint ref_prop_format;
-  _p = args;
-  requestor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(requestor, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_property_get", 1, requestor, "GdkWindow*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_selection_property_get(s7_c_pointer(requestor), &ref_data, &ref_prop_type, &ref_prop_format));
-      return(s7_list(sc, 4, result, s7_make_c_pointer(sc, ref_data), s7_make_c_pointer(sc, ref_prop_type), s7_make_integer(sc, ref_prop_format)));
-   }
-}
-
 static s7_pointer lg_gdk_window_destroy(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_window_destroy "void gdk_window_destroy(GdkWindow* window)"
@@ -2569,20 +2221,6 @@ static s7_pointer lg_gdk_window_set_events(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_window_set_icon_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_set_icon_list "void gdk_window_set_icon_list(GdkWindow* window, GList* pixbufs)"
-  s7_pointer _p;
-  s7_pointer window, pixbufs;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_set_icon_list", 1, window, "GdkWindow*");
-  pixbufs = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbufs, GList__sym)) s7_wrong_type_arg_error(sc, "gdk_window_set_icon_list", 2, pixbufs, "GList*");
-  gdk_window_set_icon_list(s7_c_pointer(window), s7_c_pointer(pixbufs));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_window_set_icon_name(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_window_set_icon_name "void gdk_window_set_icon_name(GdkWindow* window, gchar* name)"
@@ -3402,114 +3040,6 @@ guint32 color2)"
   return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gdk_pixbuf_composite_color_simple(s7_c_pointer(src), s7_integer(dest_width), s7_integer(dest_height), s7_integer(interp_type), s7_integer(overall_alpha), s7_integer(check_size), s7_integer(color1), s7_integer(color2))));
 }
 
-static s7_pointer lg_gdk_pixbuf_animation_new_from_file(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_new_from_file "GdkPixbufAnimation* gdk_pixbuf_animation_new_from_file(char* filename, \
-GError** [error])"
-  s7_pointer _p;
-  s7_pointer filename;
-  GError* ref_error = NULL;
-  _p = args;
-  filename = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(filename)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_new_from_file", 1, filename, "char*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, GdkPixbufAnimation__sym, gdk_pixbuf_animation_new_from_file((char*)s7_string(filename), &ref_error));
-      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
-   }
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_get_width(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_get_width "int gdk_pixbuf_animation_get_width(GdkPixbufAnimation* animation)"
-  s7_pointer animation;
-  animation = s7_car(args);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_get_width", 1, animation, "GdkPixbufAnimation*");
-  return(s7_make_integer(sc, gdk_pixbuf_animation_get_width(s7_c_pointer(animation))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_get_height(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_get_height "int gdk_pixbuf_animation_get_height(GdkPixbufAnimation* animation)"
-  s7_pointer animation;
-  animation = s7_car(args);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_get_height", 1, animation, "GdkPixbufAnimation*");
-  return(s7_make_integer(sc, gdk_pixbuf_animation_get_height(s7_c_pointer(animation))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_is_static_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_is_static_image "gboolean gdk_pixbuf_animation_is_static_image(GdkPixbufAnimation* animation)"
-  s7_pointer animation;
-  animation = s7_car(args);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_is_static_image", 1, animation, "GdkPixbufAnimation*");
-  return(s7_make_boolean(sc, gdk_pixbuf_animation_is_static_image(s7_c_pointer(animation))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_get_static_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_get_static_image "GdkPixbuf* gdk_pixbuf_animation_get_static_image(GdkPixbufAnimation* animation)"
-  s7_pointer animation;
-  animation = s7_car(args);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_get_static_image", 1, animation, "GdkPixbufAnimation*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gdk_pixbuf_animation_get_static_image(s7_c_pointer(animation))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_get_iter(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_get_iter "GdkPixbufAnimationIter* gdk_pixbuf_animation_get_iter(GdkPixbufAnimation* animation, \
-GTimeVal* start_time)"
-  s7_pointer _p;
-  s7_pointer animation, start_time;
-  _p = args;
-  animation = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_get_iter", 1, animation, "GdkPixbufAnimation*");
-  start_time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(start_time, GTimeVal__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_get_iter", 2, start_time, "GTimeVal*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbufAnimationIter__sym, gdk_pixbuf_animation_get_iter(s7_c_pointer(animation), s7_c_pointer(start_time))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_iter_get_delay_time(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_iter_get_delay_time "int gdk_pixbuf_animation_iter_get_delay_time(GdkPixbufAnimationIter* iter)"
-  s7_pointer iter;
-  iter = s7_car(args);
-  if (!s7_is_c_pointer_of_type(iter, GdkPixbufAnimationIter__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_iter_get_delay_time", 1, iter, "GdkPixbufAnimationIter*");
-  return(s7_make_integer(sc, gdk_pixbuf_animation_iter_get_delay_time(s7_c_pointer(iter))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_iter_get_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_iter_get_pixbuf "GdkPixbuf* gdk_pixbuf_animation_iter_get_pixbuf(GdkPixbufAnimationIter* iter)"
-  s7_pointer iter;
-  iter = s7_car(args);
-  if (!s7_is_c_pointer_of_type(iter, GdkPixbufAnimationIter__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_iter_get_pixbuf", 1, iter, "GdkPixbufAnimationIter*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gdk_pixbuf_animation_iter_get_pixbuf(s7_c_pointer(iter))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_iter_on_currently_loading_frame(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_iter_on_currently_loading_frame "gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame(GdkPixbufAnimationIter* iter)"
-  s7_pointer iter;
-  iter = s7_car(args);
-  if (!s7_is_c_pointer_of_type(iter, GdkPixbufAnimationIter__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_iter_on_currently_loading_frame", 1, iter, "GdkPixbufAnimationIter*");
-  return(s7_make_boolean(sc, gdk_pixbuf_animation_iter_on_currently_loading_frame(s7_c_pointer(iter))));
-}
-
-static s7_pointer lg_gdk_pixbuf_animation_iter_advance(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pixbuf_animation_iter_advance "gboolean gdk_pixbuf_animation_iter_advance(GdkPixbufAnimationIter* iter, \
-GTimeVal* current_time)"
-  s7_pointer _p;
-  s7_pointer iter, current_time;
-  _p = args;
-  iter = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(iter, GdkPixbufAnimationIter__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_iter_advance", 1, iter, "GdkPixbufAnimationIter*");
-  current_time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(current_time, GTimeVal__sym)) s7_wrong_type_arg_error(sc, "gdk_pixbuf_animation_iter_advance", 2, current_time, "GTimeVal*");
-  return(s7_make_boolean(sc, gdk_pixbuf_animation_iter_advance(s7_c_pointer(iter), s7_c_pointer(current_time))));
-}
-
 static s7_pointer lg_gdk_pixbuf_get_option(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_pixbuf_get_option "gchar* gdk_pixbuf_get_option(GdkPixbuf* pixbuf, gchar* key)"
@@ -4667,168 +4197,6 @@ static s7_pointer lg_gtk_check_menu_item_get_inconsistent(s7_scheme *sc, s7_poin
   return(s7_make_boolean(sc, gtk_check_menu_item_get_inconsistent(s7_c_pointer(check_menu_item))));
 }
 
-static s7_pointer lg_gtk_clipboard_get(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get "GtkClipboard* gtk_clipboard_get(GdkAtom selection)"
-  s7_pointer selection;
-  selection = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get", 1, selection, "GdkAtom");
-  return(s7_make_type_with_c_pointer(sc, GtkClipboard__sym, gtk_clipboard_get(s7_c_pointer(selection))));
-}
-
-static s7_pointer lg_gtk_clipboard_set_with_data(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_set_with_data "gboolean gtk_clipboard_set_with_data(GtkClipboard* clipboard, \
-GtkTargetEntry* targets, guint n_targets, GtkClipboardGetFunc func, GtkClipboardClearFunc clear_func, \
-lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, targets, n_targets, func, clear_func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 1, clipboard, "GtkClipboard*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 2, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 3, n_targets, "guint");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardGetFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 4, func, "GtkClipboardGetFunc");
-  clear_func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clear_func, GtkClipboardClearFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 5, clear_func, "GtkClipboardClearFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_with_data", 6, func_info, "lambda_data");
-  {
-    s7_pointer result;
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    s7_gc_protect(sc, lg_ptr);
-    s7_list_set(sc, lg_ptr, 2, clear_func);
-    result = s7_make_boolean(sc, gtk_clipboard_set_with_data(s7_c_pointer(clipboard), s7_c_pointer(targets), s7_integer(n_targets), s7_c_pointer(func), s7_c_pointer(clear_func), (gpointer)lg_ptr));
-    return(result);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_get_owner(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get_owner "GObject* gtk_clipboard_get_owner(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_owner", 1, clipboard, "GtkClipboard*");
-  return(s7_make_type_with_c_pointer(sc, GObject__sym, gtk_clipboard_get_owner(s7_c_pointer(clipboard))));
-}
-
-static s7_pointer lg_gtk_clipboard_clear(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_clear "void gtk_clipboard_clear(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_clear", 1, clipboard, "GtkClipboard*");
-  gtk_clipboard_clear(s7_c_pointer(clipboard));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_clipboard_set_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_set_text "void gtk_clipboard_set_text(GtkClipboard* clipboard, gchar* text, \
-gint len)"
-  s7_pointer _p;
-  s7_pointer clipboard, text, len;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_text", 1, clipboard, "GtkClipboard*");
-  text = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(text)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_text", 2, text, "gchar*");
-  len = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(len)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_text", 3, len, "gint");
-  gtk_clipboard_set_text(s7_c_pointer(clipboard), s7_string(text), s7_integer(len));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_clipboard_request_contents(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_request_contents "void gtk_clipboard_request_contents(GtkClipboard* clipboard, \
-GdkAtom target, GtkClipboardReceivedFunc func, lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, target, func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_contents", 1, clipboard, "GtkClipboard*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_contents", 2, target, "GdkAtom");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardReceivedFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_contents", 3, func, "GtkClipboardReceivedFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_contents", 4, func_info, "lambda_data");
-  {
-    int loc;
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    loc = s7_gc_protect(sc, lg_ptr);
-    s7_list_set(sc, lg_ptr, 2, s7_make_integer(sc, loc));
-    gtk_clipboard_request_contents(s7_c_pointer(clipboard), s7_c_pointer(target), s7_c_pointer(func), (gpointer)lg_ptr);
-    return(lg_false);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_request_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_request_text "void gtk_clipboard_request_text(GtkClipboard* clipboard, GtkClipboardTextReceivedFunc func, \
-lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_text", 1, clipboard, "GtkClipboard*");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardTextReceivedFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_text", 2, func, "GtkClipboardTextReceivedFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_text", 3, func_info, "lambda_data");
-  {
-    int loc;
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    loc = s7_gc_protect(sc, lg_ptr);
-    s7_list_set(sc, lg_ptr, 2, s7_make_integer(sc, loc));
-    gtk_clipboard_request_text(s7_c_pointer(clipboard), s7_c_pointer(func), (gpointer)lg_ptr);
-    return(lg_false);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_for_contents(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_for_contents "GtkSelectionData* gtk_clipboard_wait_for_contents(GtkClipboard* clipboard, \
-GdkAtom target)"
-  s7_pointer _p;
-  s7_pointer clipboard, target;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_contents", 1, clipboard, "GtkClipboard*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_contents", 2, target, "GdkAtom");
-  return(s7_make_type_with_c_pointer(sc, GtkSelectionData__sym, gtk_clipboard_wait_for_contents(s7_c_pointer(clipboard), s7_c_pointer(target))));
-}
-
-static s7_pointer lg_gtk_clipboard_wait_for_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_for_text "gchar* gtk_clipboard_wait_for_text(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_text", 1, clipboard, "GtkClipboard*");
-  {
-    gchar* result;
-    s7_pointer rtn;
-    result = gtk_clipboard_wait_for_text(s7_c_pointer(clipboard));
-    rtn = s7_make_string(sc, result);
-    g_free(result);
-    return(rtn);
-  }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_is_text_available(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_is_text_available "gboolean gtk_clipboard_wait_is_text_available(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_text_available", 1, clipboard, "GtkClipboard*");
-  return(s7_make_boolean(sc, gtk_clipboard_wait_is_text_available(s7_c_pointer(clipboard))));
-}
-
 static s7_pointer lg_gtk_container_add(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_container_add "void gtk_container_add(GtkContainer* container, GtkWidget* widget)"
@@ -5042,25 +4410,6 @@ guint32 time)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_drag_finish(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_finish "void gtk_drag_finish(GdkDragContext* context, gboolean success, gboolean del, \
-guint32 time)"
-  s7_pointer _p;
-  s7_pointer context, success, del, time;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 1, context, "GdkDragContext*");
-  success = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(success)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 2, success, "gboolean");
-  del = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(del)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 3, del, "gboolean");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 4, time, "guint32");
-  gtk_drag_finish(s7_c_pointer(context), lg_boolean(success), lg_boolean(del), s7_integer(time));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_get_source_widget(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_get_source_widget "GtkWidget* gtk_drag_get_source_widget(GdkDragContext* context)"
@@ -5090,27 +4439,6 @@ static s7_pointer lg_gtk_drag_unhighlight(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_drag_dest_set(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_dest_set "void gtk_drag_dest_set(GtkWidget* widget, GtkDestDefaults flags, GtkTargetEntry* targets, \
-gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer widget, flags, targets, n_targets, actions;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 1, widget, "GtkWidget*");
-  flags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 2, flags, "GtkDestDefaults");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 3, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 4, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 5, actions, "GdkDragAction");
-  gtk_drag_dest_set(s7_c_pointer(widget), s7_integer(flags), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_dest_unset(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_dest_unset "void gtk_drag_dest_unset(GtkWidget* widget)"
@@ -5121,66 +4449,6 @@ static s7_pointer lg_gtk_drag_dest_unset(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_drag_dest_find_target(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_dest_find_target "GdkAtom gtk_drag_dest_find_target(GtkWidget* widget, GdkDragContext* context, \
-GtkTargetList* target_list)"
-  s7_pointer _p;
-  s7_pointer widget, context, target_list;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 1, widget, "GtkWidget*");
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 2, context, "GdkDragContext*");
-  target_list = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(target_list, GtkTargetList__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 3, target_list, "GtkTargetList*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_drag_dest_find_target(s7_c_pointer(widget), s7_c_pointer(context), s7_c_pointer(target_list))));
-}
-
-static s7_pointer lg_gtk_drag_dest_get_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_dest_get_target_list "GtkTargetList* gtk_drag_dest_get_target_list(GtkWidget* widget)"
-  s7_pointer widget;
-  widget = s7_car(args);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_get_target_list", 1, widget, "GtkWidget*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_drag_dest_get_target_list(s7_c_pointer(widget))));
-}
-
-static s7_pointer lg_gtk_drag_dest_set_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_dest_set_target_list "void gtk_drag_dest_set_target_list(GtkWidget* widget, GtkTargetList* target_list)"
-  s7_pointer _p;
-  s7_pointer widget, target_list;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set_target_list", 1, widget, "GtkWidget*");
-  target_list = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(target_list, GtkTargetList__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set_target_list", 2, target_list, "GtkTargetList*");
-  gtk_drag_dest_set_target_list(s7_c_pointer(widget), s7_c_pointer(target_list));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_drag_source_set(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_source_set "void gtk_drag_source_set(GtkWidget* widget, GdkModifierType start_button_mask, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer widget, start_button_mask, targets, n_targets, actions;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 1, widget, "GtkWidget*");
-  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 2, start_button_mask, "GdkModifierType");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 3, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 4, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 5, actions, "GdkDragAction");
-  gtk_drag_source_set(s7_c_pointer(widget), s7_integer(start_button_mask), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_source_unset(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_source_unset "void gtk_drag_source_unset(GtkWidget* widget)"
@@ -5191,21 +4459,6 @@ static s7_pointer lg_gtk_drag_source_unset(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_drag_source_set_icon_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_source_set_icon_pixbuf "void gtk_drag_source_set_icon_pixbuf(GtkWidget* widget, \
-GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer widget, pixbuf;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_icon_pixbuf", 1, widget, "GtkWidget*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_icon_pixbuf", 2, pixbuf, "GdkPixbuf*");
-  gtk_drag_source_set_icon_pixbuf(s7_c_pointer(widget), s7_c_pointer(pixbuf));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_set_icon_widget(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_set_icon_widget "void gtk_drag_set_icon_widget(GdkDragContext* context, GtkWidget* widget, \
@@ -5225,25 +4478,6 @@ gint hot_x, gint hot_y)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_drag_set_icon_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_set_icon_pixbuf "void gtk_drag_set_icon_pixbuf(GdkDragContext* context, GdkPixbuf* pixbuf, \
-gint hot_x, gint hot_y)"
-  s7_pointer _p;
-  s7_pointer context, pixbuf, hot_x, hot_y;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 1, context, "GdkDragContext*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 2, pixbuf, "GdkPixbuf*");
-  hot_x = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(hot_x)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 3, hot_x, "gint");
-  hot_y = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(hot_y)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 4, hot_y, "gint");
-  gtk_drag_set_icon_pixbuf(s7_c_pointer(context), s7_c_pointer(pixbuf), s7_integer(hot_x), s7_integer(hot_y));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_set_icon_default(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_set_icon_default "void gtk_drag_set_icon_default(GdkDragContext* context)"
@@ -5826,15 +5060,6 @@ static s7_pointer lg_gtk_image_new_from_pixbuf(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_image_new_from_pixbuf(s7_c_pointer(pixbuf))));
 }
 
-static s7_pointer lg_gtk_image_new_from_animation(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_image_new_from_animation "GtkWidget* gtk_image_new_from_animation(GdkPixbufAnimation* animation)"
-  s7_pointer animation;
-  animation = s7_car(args);
-  if (!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) s7_wrong_type_arg_error(sc, "gtk_image_new_from_animation", 1, animation, "GdkPixbufAnimation*");
-  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_image_new_from_animation(s7_c_pointer(animation))));
-}
-
 static s7_pointer lg_gtk_image_set_from_file(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_image_set_from_file "void gtk_image_set_from_file(GtkImage* image, gchar* filename)"
@@ -5863,20 +5088,6 @@ static s7_pointer lg_gtk_image_set_from_pixbuf(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_image_set_from_animation(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_image_set_from_animation "void gtk_image_set_from_animation(GtkImage* image, GdkPixbufAnimation* animation)"
-  s7_pointer _p;
-  s7_pointer image, animation;
-  _p = args;
-  image = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_animation", 1, image, "GtkImage*");
-  animation = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(animation, GdkPixbufAnimation__sym)) && (animation != lg_false)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_animation", 2, animation, "GdkPixbufAnimation*");
-  gtk_image_set_from_animation(s7_c_pointer(image), s7_c_pointer(animation));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_image_get_storage_type(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_image_get_storage_type "GtkImageType gtk_image_get_storage_type(GtkImage* image)"
@@ -5886,24 +5097,6 @@ static s7_pointer lg_gtk_image_get_storage_type(s7_scheme *sc, s7_pointer args)
   return(s7_make_integer(sc, gtk_image_get_storage_type(s7_c_pointer(image))));
 }
 
-static s7_pointer lg_gtk_image_get_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_image_get_pixbuf "GdkPixbuf* gtk_image_get_pixbuf(GtkImage* image)"
-  s7_pointer image;
-  image = s7_car(args);
-  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_pixbuf", 1, image, "GtkImage*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_image_get_pixbuf(s7_c_pointer(image))));
-}
-
-static s7_pointer lg_gtk_image_get_animation(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_image_get_animation "GdkPixbufAnimation* gtk_image_get_animation(GtkImage* image)"
-  s7_pointer image;
-  image = s7_car(args);
-  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_animation", 1, image, "GtkImage*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbufAnimation__sym, gtk_image_get_animation(s7_c_pointer(image))));
-}
-
 static s7_pointer lg_gtk_im_context_get_preedit_string(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_im_context_get_preedit_string "void gtk_im_context_get_preedit_string(GtkIMContext* context, \
@@ -8309,274 +7502,6 @@ static s7_pointer lg_gtk_scrolled_window_get_shadow_type(s7_scheme *sc, s7_point
   return(s7_make_integer(sc, gtk_scrolled_window_get_shadow_type(s7_c_pointer(scrolled_window))));
 }
 
-static s7_pointer lg_gtk_target_list_new(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_new "GtkTargetList* gtk_target_list_new(GtkTargetEntry* targets, guint ntargets)"
-  s7_pointer _p;
-  s7_pointer targets, ntargets;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) && (targets != lg_false)) s7_wrong_type_arg_error(sc, "gtk_target_list_new", 1, targets, "GtkTargetEntry*");
-  ntargets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(ntargets)) s7_wrong_type_arg_error(sc, "gtk_target_list_new", 2, ntargets, "guint");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_target_list_new(s7_c_pointer(targets), s7_integer(ntargets))));
-}
-
-static s7_pointer lg_gtk_target_list_unref(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_unref "void gtk_target_list_unref(GtkTargetList* list)"
-  s7_pointer list;
-  list = s7_car(args);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_unref", 1, list, "GtkTargetList*");
-  gtk_target_list_unref(s7_c_pointer(list));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_add(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add "void gtk_target_list_add(GtkTargetList* list, GdkAtom target, guint flags, \
-guint info)"
-  s7_pointer _p;
-  s7_pointer list, target, flags, info;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add", 1, list, "GtkTargetList*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add", 2, target, "GdkAtom");
-  flags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_target_list_add", 3, flags, "guint");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_list_add", 4, info, "guint");
-  gtk_target_list_add(s7_c_pointer(list), s7_c_pointer(target), s7_integer(flags), s7_integer(info));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_add_table(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add_table "void gtk_target_list_add_table(GtkTargetList* list, GtkTargetEntry* targets, \
-guint ntargets)"
-  s7_pointer _p;
-  s7_pointer list, targets, ntargets;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_table", 1, list, "GtkTargetList*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_table", 2, targets, "GtkTargetEntry*");
-  ntargets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(ntargets)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_table", 3, ntargets, "guint");
-  gtk_target_list_add_table(s7_c_pointer(list), s7_c_pointer(targets), s7_integer(ntargets));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_remove(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_remove "void gtk_target_list_remove(GtkTargetList* list, GdkAtom target)"
-  s7_pointer _p;
-  s7_pointer list, target;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_remove", 1, list, "GtkTargetList*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_remove", 2, target, "GdkAtom");
-  gtk_target_list_remove(s7_c_pointer(list), s7_c_pointer(target));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_find(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_find "gboolean gtk_target_list_find(GtkTargetList* list, GdkAtom target, \
-guint* [info])"
-  s7_pointer _p;
-  s7_pointer list, target;
-  guint ref_info;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_find", 1, list, "GtkTargetList*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_find", 2, target, "GdkAtom");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gtk_target_list_find(s7_c_pointer(list), s7_c_pointer(target), &ref_info));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_info)));
-   }
-}
-
-static s7_pointer lg_gtk_selection_owner_set(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_owner_set "gboolean gtk_selection_owner_set(GtkWidget* widget, GdkAtom selection, \
-guint32 time)"
-  s7_pointer _p;
-  s7_pointer widget, selection, time;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) && (widget != lg_false)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set", 2, selection, "GdkAtom");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set", 3, time, "guint32");
-  return(s7_make_boolean(sc, gtk_selection_owner_set(s7_c_pointer(widget), s7_c_pointer(selection), s7_integer(time))));
-}
-
-static s7_pointer lg_gtk_selection_add_target(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_add_target "void gtk_selection_add_target(GtkWidget* widget, GdkAtom selection, \
-GdkAtom target, guint info)"
-  s7_pointer _p;
-  s7_pointer widget, selection, target, info;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_target", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_target", 2, selection, "GdkAtom");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_target", 3, target, "GdkAtom");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_selection_add_target", 4, info, "guint");
-  gtk_selection_add_target(s7_c_pointer(widget), s7_c_pointer(selection), s7_c_pointer(target), s7_integer(info));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_add_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_add_targets "void gtk_selection_add_targets(GtkWidget* widget, GdkAtom selection, \
-GtkTargetEntry* targets, guint ntargets)"
-  s7_pointer _p;
-  s7_pointer widget, selection, targets, ntargets;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_targets", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_targets", 2, selection, "GdkAtom");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_add_targets", 3, targets, "GtkTargetEntry*");
-  ntargets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(ntargets)) s7_wrong_type_arg_error(sc, "gtk_selection_add_targets", 4, ntargets, "guint");
-  gtk_selection_add_targets(s7_c_pointer(widget), s7_c_pointer(selection), s7_c_pointer(targets), s7_integer(ntargets));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_clear_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_clear_targets "void gtk_selection_clear_targets(GtkWidget* widget, GdkAtom selection)"
-  s7_pointer _p;
-  s7_pointer widget, selection;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_clear_targets", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_clear_targets", 2, selection, "GdkAtom");
-  gtk_selection_clear_targets(s7_c_pointer(widget), s7_c_pointer(selection));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_convert(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_convert "gboolean gtk_selection_convert(GtkWidget* widget, GdkAtom selection, \
-GdkAtom target, guint32 time)"
-  s7_pointer _p;
-  s7_pointer widget, selection, target, time;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_convert", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_convert", 2, selection, "GdkAtom");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_convert", 3, target, "GdkAtom");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gtk_selection_convert", 4, time, "guint32");
-  return(s7_make_boolean(sc, gtk_selection_convert(s7_c_pointer(widget), s7_c_pointer(selection), s7_c_pointer(target), s7_integer(time))));
-}
-
-static s7_pointer lg_gtk_selection_data_set(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_set "void gtk_selection_data_set(GtkSelectionData* selection_data, GdkAtom type, \
-gint format, guchar* data, gint length)"
-  s7_pointer _p;
-  s7_pointer selection_data, type, format, data, length;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 1, selection_data, "GtkSelectionData*");
-  type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(type, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 2, type, "GdkAtom");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(format)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 3, format, "gint");
-  data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(data, guchar__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 4, data, "guchar*");
-  length = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(length)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 5, length, "gint");
-  gtk_selection_data_set(s7_c_pointer(selection_data), s7_c_pointer(type), s7_integer(format), s7_c_pointer(data), s7_integer(length));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_data_set_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_set_text "gboolean gtk_selection_data_set_text(GtkSelectionData* selection_data, \
-gchar* str, gint len)"
-  s7_pointer _p;
-  s7_pointer selection_data, str, len;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 1, selection_data, "GtkSelectionData*");
-  str = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(str)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 2, str, "gchar*");
-  len = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(len)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 3, len, "gint");
-  return(s7_make_boolean(sc, gtk_selection_data_set_text(s7_c_pointer(selection_data), s7_string(str), s7_integer(len))));
-}
-
-static s7_pointer lg_gtk_selection_data_get_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_get_text "guchar* gtk_selection_data_get_text(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_text", 1, selection_data, "GtkSelectionData*");
-  {
-    guchar* result;
-    s7_pointer rtn;
-    result = gtk_selection_data_get_text(s7_c_pointer(selection_data));
-    rtn = s7_make_c_pointer(sc, result);
-    g_free(result);
-    return(rtn);
-  }
-}
-
-static s7_pointer lg_gtk_selection_data_get_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_get_targets "gboolean gtk_selection_data_get_targets(GtkSelectionData* selection_data, \
-GdkAtom** [targets], gint* [n_atoms])"
-  s7_pointer _p;
-  s7_pointer selection_data;
-  GdkAtom* ref_targets = NULL;
-  gint ref_n_atoms;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_targets", 1, selection_data, "GtkSelectionData*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gtk_selection_data_get_targets(s7_c_pointer(selection_data), &ref_targets, &ref_n_atoms));
-      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_targets), s7_make_integer(sc, ref_n_atoms)));
-   }
-}
-
-static s7_pointer lg_gtk_selection_data_targets_include_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_targets_include_text "gboolean gtk_selection_data_targets_include_text(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_text", 1, selection_data, "GtkSelectionData*");
-  return(s7_make_boolean(sc, gtk_selection_data_targets_include_text(s7_c_pointer(selection_data))));
-}
-
-static s7_pointer lg_gtk_selection_remove_all(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_remove_all "void gtk_selection_remove_all(GtkWidget* widget)"
-  s7_pointer widget;
-  widget = s7_car(args);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_remove_all", 1, widget, "GtkWidget*");
-  gtk_selection_remove_all(s7_c_pointer(widget));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_selection_data_copy(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_selection_data_copy "GtkSelectionData* gtk_selection_data_copy(GtkSelectionData* data)"
@@ -9386,23 +8311,6 @@ GtkTextIter* end, gboolean include_hidden_chars)"
   }
 }
 
-static s7_pointer lg_gtk_text_buffer_insert_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_insert_pixbuf "void gtk_text_buffer_insert_pixbuf(GtkTextBuffer* buffer, \
-GtkTextIter* iter, GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer buffer, iter, pixbuf;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_pixbuf", 1, buffer, "GtkTextBuffer*");
-  iter = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_pixbuf", 2, iter, "GtkTextIter*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_pixbuf", 3, pixbuf, "GdkPixbuf*");
-  gtk_text_buffer_insert_pixbuf(s7_c_pointer(buffer), s7_c_pointer(iter), s7_c_pointer(pixbuf));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_text_buffer_insert_child_anchor(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_buffer_insert_child_anchor "void gtk_text_buffer_insert_child_anchor(GtkTextBuffer* buffer, \
@@ -9862,87 +8770,6 @@ static s7_pointer lg_gtk_text_buffer_set_modified(s7_scheme *sc, s7_pointer args
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_text_buffer_add_selection_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_add_selection_clipboard "void gtk_text_buffer_add_selection_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  s7_pointer _p;
-  s7_pointer buffer, clipboard;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_add_selection_clipboard", 1, buffer, "GtkTextBuffer*");
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_add_selection_clipboard", 2, clipboard, "GtkClipboard*");
-  gtk_text_buffer_add_selection_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_remove_selection_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_remove_selection_clipboard "void gtk_text_buffer_remove_selection_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  s7_pointer _p;
-  s7_pointer buffer, clipboard;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_remove_selection_clipboard", 1, buffer, "GtkTextBuffer*");
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_remove_selection_clipboard", 2, clipboard, "GtkClipboard*");
-  gtk_text_buffer_remove_selection_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_cut_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_cut_clipboard "void gtk_text_buffer_cut_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard, gboolean default_editable)"
-  s7_pointer _p;
-  s7_pointer buffer, clipboard, default_editable;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 1, buffer, "GtkTextBuffer*");
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 2, clipboard, "GtkClipboard*");
-  default_editable = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(default_editable)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 3, default_editable, "gboolean");
-  gtk_text_buffer_cut_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard), lg_boolean(default_editable));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_copy_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_copy_clipboard "void gtk_text_buffer_copy_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  s7_pointer _p;
-  s7_pointer buffer, clipboard;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_copy_clipboard", 1, buffer, "GtkTextBuffer*");
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_copy_clipboard", 2, clipboard, "GtkClipboard*");
-  gtk_text_buffer_copy_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_paste_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_paste_clipboard "void gtk_text_buffer_paste_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard, GtkTextIter* override_location, gboolean default_editable)"
-  s7_pointer _p;
-  s7_pointer buffer, clipboard, override_location, default_editable;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 1, buffer, "GtkTextBuffer*");
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 2, clipboard, "GtkClipboard*");
-  override_location = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(override_location, GtkTextIter__sym)) && (override_location != lg_false)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 3, override_location, "GtkTextIter*");
-  default_editable = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(default_editable)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 4, default_editable, "gboolean");
-  gtk_text_buffer_paste_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard), s7_c_pointer(override_location), lg_boolean(default_editable));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_text_buffer_get_selection_bounds(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_buffer_get_selection_bounds "gboolean gtk_text_buffer_get_selection_bounds(GtkTextBuffer* buffer, \
@@ -10192,15 +9019,6 @@ GtkTextIter* end)"
   }
 }
 
-static s7_pointer lg_gtk_text_iter_get_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_iter_get_pixbuf "GdkPixbuf* gtk_text_iter_get_pixbuf(GtkTextIter* iter)"
-  s7_pointer iter;
-  iter = s7_car(args);
-  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_iter_get_pixbuf", 1, iter, "GtkTextIter*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_text_iter_get_pixbuf(s7_c_pointer(iter))));
-}
-
 static s7_pointer lg_gtk_text_iter_get_marks(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_iter_get_marks "GSList* gtk_text_iter_get_marks(GtkTextIter* iter)"
@@ -11035,24 +9853,6 @@ static s7_pointer lg_gtk_text_tag_set_priority(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_text_tag_event(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_tag_event "gboolean gtk_text_tag_event(GtkTextTag* tag, GObject* event_object, GdkEvent* event, \
-GtkTextIter* iter)"
-  s7_pointer _p;
-  s7_pointer tag, event_object, event, iter;
-  _p = args;
-  tag = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(tag, GtkTextTag__sym)) s7_wrong_type_arg_error(sc, "gtk_text_tag_event", 1, tag, "GtkTextTag*");
-  event_object = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event_object, GObject__sym)) s7_wrong_type_arg_error(sc, "gtk_text_tag_event", 2, event_object, "GObject*");
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gtk_text_tag_event", 3, event, "GdkEvent*");
-  iter = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_tag_event", 4, iter, "GtkTextIter*");
-  return(s7_make_boolean(sc, gtk_text_tag_event(s7_c_pointer(tag), s7_c_pointer(event_object), s7_c_pointer(event), s7_c_pointer(iter))));
-}
-
 static s7_pointer lg_gtk_text_tag_table_new(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_tag_table_new "GtkTextTagTable* gtk_text_tag_table_new( void)"
@@ -11387,33 +10187,6 @@ GtkTextWindowType win, gint window_x, gint window_y, gint* [buffer_x], gint* [bu
     return(s7_list(sc, 2, s7_make_integer(sc, ref_buffer_x), s7_make_integer(sc, ref_buffer_y)));
 }
 
-static s7_pointer lg_gtk_text_view_get_window(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_view_get_window "GdkWindow* gtk_text_view_get_window(GtkTextView* text_view, GtkTextWindowType win)"
-  s7_pointer _p;
-  s7_pointer text_view, win;
-  _p = args;
-  text_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(text_view, GtkTextView__sym)) s7_wrong_type_arg_error(sc, "gtk_text_view_get_window", 1, text_view, "GtkTextView*");
-  win = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(win)) s7_wrong_type_arg_error(sc, "gtk_text_view_get_window", 2, win, "GtkTextWindowType");
-  return(s7_make_type_with_c_pointer(sc, GdkWindow__sym, gtk_text_view_get_window(s7_c_pointer(text_view), s7_integer(win))));
-}
-
-static s7_pointer lg_gtk_text_view_get_window_type(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_view_get_window_type "GtkTextWindowType gtk_text_view_get_window_type(GtkTextView* text_view, \
-GdkWindow* window)"
-  s7_pointer _p;
-  s7_pointer text_view, window;
-  _p = args;
-  text_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(text_view, GtkTextView__sym)) s7_wrong_type_arg_error(sc, "gtk_text_view_get_window_type", 1, text_view, "GtkTextView*");
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_text_view_get_window_type", 2, window, "GdkWindow*");
-  return(s7_make_integer(sc, gtk_text_view_get_window_type(s7_c_pointer(text_view), s7_c_pointer(window))));
-}
-
 static s7_pointer lg_gtk_text_view_set_border_window_size(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_view_set_border_window_size "void gtk_text_view_set_border_window_size(GtkTextView* text_view, \
@@ -14535,46 +13308,6 @@ GdkRectangle* visible_rect)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_tree_view_enable_model_drag_source(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tree_view_enable_model_drag_source "void gtk_tree_view_enable_model_drag_source(GtkTreeView* tree_view, \
-GdkModifierType start_button_mask, GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer tree_view, start_button_mask, targets, n_targets, actions;
-  _p = args;
-  tree_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(tree_view, GtkTreeView__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 1, tree_view, "GtkTreeView*");
-  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 2, start_button_mask, "GdkModifierType");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 3, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 4, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 5, actions, "GdkDragAction");
-  gtk_tree_view_enable_model_drag_source(s7_c_pointer(tree_view), s7_integer(start_button_mask), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_tree_view_enable_model_drag_dest(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tree_view_enable_model_drag_dest "void gtk_tree_view_enable_model_drag_dest(GtkTreeView* tree_view, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer tree_view, targets, n_targets, actions;
-  _p = args;
-  tree_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(tree_view, GtkTreeView__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 1, tree_view, "GtkTreeView*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 2, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 3, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 4, actions, "GdkDragAction");
-  gtk_tree_view_enable_model_drag_dest(s7_c_pointer(tree_view), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_tree_view_unset_rows_drag_source(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tree_view_unset_rows_drag_source "void gtk_tree_view_unset_rows_drag_source(GtkTreeView* tree_view)"
@@ -15739,48 +14472,6 @@ static s7_pointer lg_gtk_window_set_icon_list(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_window_get_icon_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_get_icon_list "GList* gtk_window_get_icon_list(GtkWindow* window)"
-  s7_pointer window;
-  window = s7_car(args);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_get_icon_list", 1, window, "GtkWindow*");
-  return(s7_make_type_with_c_pointer(sc, GList__sym, gtk_window_get_icon_list(s7_c_pointer(window))));
-}
-
-static s7_pointer lg_gtk_window_set_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_set_icon "void gtk_window_set_icon(GtkWindow* window, GdkPixbuf* icon)"
-  s7_pointer _p;
-  s7_pointer window, icon;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_icon", 1, window, "GtkWindow*");
-  icon = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(icon, GdkPixbuf__sym)) && (icon != lg_false)) s7_wrong_type_arg_error(sc, "gtk_window_set_icon", 2, icon, "GdkPixbuf*");
-  gtk_window_set_icon(s7_c_pointer(window), s7_c_pointer(icon));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_window_get_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_get_icon "GdkPixbuf* gtk_window_get_icon(GtkWindow* window)"
-  s7_pointer window;
-  window = s7_car(args);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_get_icon", 1, window, "GtkWindow*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_window_get_icon(s7_c_pointer(window))));
-}
-
-static s7_pointer lg_gtk_window_set_default_icon_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_set_default_icon_list "void gtk_window_set_default_icon_list(GList* list)"
-  s7_pointer list;
-  list = s7_car(args);
-  if ((!s7_is_c_pointer_of_type(list, GList__sym)) && (list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_window_set_default_icon_list", 1, list, "GList*");
-  gtk_window_set_default_icon_list(s7_c_pointer(list));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_window_get_default_icon_list(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_window_get_default_icon_list "GList* gtk_window_get_default_icon_list( void)"
@@ -18652,15 +17343,6 @@ static s7_pointer lg_gdk_display_get_name(s7_scheme *sc, s7_pointer args)
   return(s7_make_string(sc, gdk_display_get_name(s7_c_pointer(display))));
 }
 
-static s7_pointer lg_gdk_display_get_default_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_display_get_default_screen "GdkScreen* gdk_display_get_default_screen(GdkDisplay* display)"
-  s7_pointer display;
-  display = s7_car(args);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_get_default_screen", 1, display, "GdkDisplay*");
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gdk_display_get_default_screen(s7_c_pointer(display))));
-}
-
 static s7_pointer lg_gdk_display_beep(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_beep "void gdk_display_beep(GdkDisplay* display)"
@@ -18723,92 +17405,12 @@ static s7_pointer lg_gdk_display_put_event(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_display_set_double_click_time(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_display_set_double_click_time "void gdk_display_set_double_click_time(GdkDisplay* display, \
-guint msec)"
-  s7_pointer _p;
-  s7_pointer display, msec;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_set_double_click_time", 1, display, "GdkDisplay*");
-  msec = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(msec)) s7_wrong_type_arg_error(sc, "gdk_display_set_double_click_time", 2, msec, "guint");
-  gdk_display_set_double_click_time(s7_c_pointer(display), s7_integer(msec));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_display_get_default(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_get_default "GdkDisplay* gdk_display_get_default( void)"
   return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gdk_display_get_default()));
 }
 
-static s7_pointer lg_gdk_screen_get_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_screen_get_display "GdkDisplay* gdk_screen_get_display(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gdk_screen_get_display", 1, screen, "GdkScreen*");
-  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gdk_screen_get_display(s7_c_pointer(screen))));
-}
-
-static s7_pointer lg_gdk_screen_get_toplevel_windows(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_screen_get_toplevel_windows "GList* gdk_screen_get_toplevel_windows(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gdk_screen_get_toplevel_windows", 1, screen, "GdkScreen*");
-  return(s7_make_type_with_c_pointer(sc, GList__sym, gdk_screen_get_toplevel_windows(s7_c_pointer(screen))));
-}
-
-static s7_pointer lg_gdk_screen_get_default(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_screen_get_default "GdkScreen* gdk_screen_get_default( void)"
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gdk_screen_get_default()));
-}
-
-static s7_pointer lg_gtk_clipboard_get_for_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get_for_display "GtkClipboard* gtk_clipboard_get_for_display(GdkDisplay* display, \
-GdkAtom selection)"
-  s7_pointer _p;
-  s7_pointer display, selection;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_for_display", 1, display, "GdkDisplay*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_for_display", 2, selection, "GdkAtom");
-  return(s7_make_type_with_c_pointer(sc, GtkClipboard__sym, gtk_clipboard_get_for_display(s7_c_pointer(display), s7_c_pointer(selection))));
-}
-
-static s7_pointer lg_gtk_clipboard_get_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get_display "GdkDisplay* gtk_clipboard_get_display(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_display", 1, clipboard, "GtkClipboard*");
-  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gtk_clipboard_get_display(s7_c_pointer(clipboard))));
-}
-
-static s7_pointer lg_gtk_widget_get_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_widget_get_screen "GdkScreen* gtk_widget_get_screen(GtkWidget* widget)"
-  s7_pointer widget;
-  widget = s7_car(args);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_screen", 1, widget, "GtkWidget*");
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gtk_widget_get_screen(s7_c_pointer(widget))));
-}
-
-static s7_pointer lg_gtk_widget_has_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_widget_has_screen "gboolean gtk_widget_has_screen(GtkWidget* widget)"
-  s7_pointer widget;
-  widget = s7_car(args);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_has_screen", 1, widget, "GtkWidget*");
-  return(s7_make_boolean(sc, gtk_widget_has_screen(s7_c_pointer(widget))));
-}
-
 static s7_pointer lg_gtk_widget_get_display(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_widget_get_display "GdkDisplay* gtk_widget_get_display(GtkWidget* widget)"
@@ -18818,19 +17420,6 @@ static s7_pointer lg_gtk_widget_get_display(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gtk_widget_get_display(s7_c_pointer(widget))));
 }
 
-static s7_pointer lg_gtk_widget_get_clipboard(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_widget_get_clipboard "GtkClipboard* gtk_widget_get_clipboard(GtkWidget* widget, GdkAtom selection)"
-  s7_pointer _p;
-  s7_pointer widget, selection;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_clipboard", 1, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_clipboard", 2, selection, "GdkAtom");
-  return(s7_make_type_with_c_pointer(sc, GtkClipboard__sym, gtk_widget_get_clipboard(s7_c_pointer(widget), s7_c_pointer(selection))));
-}
-
 static s7_pointer lg_g_list_free(s7_scheme *sc, s7_pointer args)
 {
   #define H_g_list_free "void g_list_free(GList* list)"
@@ -18938,24 +17527,6 @@ static s7_pointer lg_g_object_set_data(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_cursor_new_from_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_new_from_pixbuf "GdkCursor* gdk_cursor_new_from_pixbuf(GdkDisplay* display, GdkPixbuf* pixbuf, \
-gint x, gint y)"
-  s7_pointer _p;
-  s7_pointer display, pixbuf, x, y;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_pixbuf", 1, display, "GdkDisplay*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_pixbuf", 2, pixbuf, "GdkPixbuf*");
-  x = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(x)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_pixbuf", 3, x, "gint");
-  y = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(y)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_pixbuf", 4, y, "gint");
-  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_from_pixbuf(s7_c_pointer(display), s7_c_pointer(pixbuf), s7_integer(x), s7_integer(y))));
-}
-
 static s7_pointer lg_gdk_display_flush(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_flush "void gdk_display_flush(GdkDisplay* display)"
@@ -19332,16 +17903,6 @@ static s7_pointer lg_gtk_widget_queue_resize_no_redraw(s7_scheme *sc, s7_pointer
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_window_set_default_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_set_default_icon "void gtk_window_set_default_icon(GdkPixbuf* icon)"
-  s7_pointer icon;
-  icon = s7_car(args);
-  if (!s7_is_c_pointer_of_type(icon, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_default_icon", 1, icon, "GdkPixbuf*");
-  gtk_window_set_default_icon(s7_c_pointer(icon));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_window_set_keep_above(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_window_set_keep_above "void gtk_window_set_keep_above(GtkWindow* window, gboolean setting)"
@@ -19877,29 +18438,6 @@ gboolean use_size)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_font_button_get_font_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_font_button_get_font_name "gchar* gtk_font_button_get_font_name(GtkFontButton* font_button)"
-  s7_pointer font_button;
-  font_button = s7_car(args);
-  if (!s7_is_c_pointer_of_type(font_button, GtkFontButton__sym)) s7_wrong_type_arg_error(sc, "gtk_font_button_get_font_name", 1, font_button, "GtkFontButton*");
-  return(s7_make_string(sc, gtk_font_button_get_font_name(s7_c_pointer(font_button))));
-}
-
-static s7_pointer lg_gtk_font_button_set_font_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_font_button_set_font_name "gboolean gtk_font_button_set_font_name(GtkFontButton* font_button, \
-gchar* fontname)"
-  s7_pointer _p;
-  s7_pointer font_button, fontname;
-  _p = args;
-  font_button = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(font_button, GtkFontButton__sym)) s7_wrong_type_arg_error(sc, "gtk_font_button_set_font_name", 1, font_button, "GtkFontButton*");
-  fontname = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(fontname)) s7_wrong_type_arg_error(sc, "gtk_font_button_set_font_name", 2, fontname, "gchar*");
-  return(s7_make_boolean(sc, gtk_font_button_set_font_name(s7_c_pointer(font_button), s7_string(fontname))));
-}
-
 static s7_pointer lg_gtk_font_button_get_show_style(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_font_button_get_show_style "gboolean gtk_font_button_get_show_style(GtkFontButton* font_button)"
@@ -21146,29 +19684,6 @@ static s7_pointer lg_gtk_icon_theme_get_default(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GtkIconTheme__sym, gtk_icon_theme_get_default()));
 }
 
-static s7_pointer lg_gtk_icon_theme_get_for_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_icon_theme_get_for_screen "GtkIconTheme* gtk_icon_theme_get_for_screen(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_get_for_screen", 1, screen, "GdkScreen*");
-  return(s7_make_type_with_c_pointer(sc, GtkIconTheme__sym, gtk_icon_theme_get_for_screen(s7_c_pointer(screen))));
-}
-
-static s7_pointer lg_gtk_icon_theme_set_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_icon_theme_set_screen "void gtk_icon_theme_set_screen(GtkIconTheme* icon_theme, GdkScreen* screen)"
-  s7_pointer _p;
-  s7_pointer icon_theme, screen;
-  _p = args;
-  icon_theme = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(icon_theme, GtkIconTheme__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_set_screen", 1, icon_theme, "GtkIconTheme*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) && (screen != lg_false)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_set_screen", 2, screen, "GdkScreen*");
-  gtk_icon_theme_set_screen(s7_c_pointer(icon_theme), s7_c_pointer(screen));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_icon_theme_get_search_path(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_icon_theme_get_search_path "void gtk_icon_theme_get_search_path(GtkIconTheme* icon_theme, \
@@ -21652,21 +20167,6 @@ static s7_pointer lg_gtk_list_store_remove(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gtk_list_store_remove(s7_c_pointer(list_store), s7_c_pointer(iter))));
 }
 
-static s7_pointer lg_gdk_display_set_double_click_distance(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_display_set_double_click_distance "void gdk_display_set_double_click_distance(GdkDisplay* display, \
-guint distance)"
-  s7_pointer _p;
-  s7_pointer display, distance;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_set_double_click_distance", 1, display, "GdkDisplay*");
-  distance = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(distance)) s7_wrong_type_arg_error(sc, "gdk_display_set_double_click_distance", 2, distance, "guint");
-  gdk_display_set_double_click_distance(s7_c_pointer(display), s7_integer(distance));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_display_get_default_group(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_get_default_group "GdkWindow* gdk_display_get_default_group(GdkDisplay* display)"
@@ -21702,47 +20202,6 @@ gint position)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_clipboard_request_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_request_targets "void gtk_clipboard_request_targets(GtkClipboard* clipboard, \
-GtkClipboardTargetsReceivedFunc func, lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_targets", 1, clipboard, "GtkClipboard*");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardTargetsReceivedFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_targets", 2, func, "GtkClipboardTargetsReceivedFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_targets", 3, func_info, "lambda_data");
-  {
-    int loc;
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    loc = s7_gc_protect(sc, lg_ptr);
-    s7_list_set(sc, lg_ptr, 2, s7_make_integer(sc, loc));
-    gtk_clipboard_request_targets(s7_c_pointer(clipboard), s7_c_pointer(func), (gpointer)lg_ptr);
-    return(lg_false);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_for_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_for_targets "gboolean gtk_clipboard_wait_for_targets(GtkClipboard* clipboard, \
-GdkAtom** [targets], gint* [n_targets])"
-  s7_pointer _p;
-  s7_pointer clipboard;
-  GdkAtom* ref_targets = NULL;
-  gint ref_n_targets;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_targets", 1, clipboard, "GtkClipboard*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gtk_clipboard_wait_for_targets(s7_c_pointer(clipboard), &ref_targets, &ref_n_targets));
-      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_targets), s7_make_integer(sc, ref_n_targets)));
-   }
-}
-
 static s7_pointer lg_gtk_menu_shell_cancel(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_menu_shell_cancel "void gtk_menu_shell_cancel(GtkMenuShell* menu_shell)"
@@ -21894,30 +20353,6 @@ gint* [y])"
     return(s7_list(sc, 2, s7_make_integer(sc, ref_x), s7_make_integer(sc, ref_y)));
 }
 
-static s7_pointer lg_gtk_drag_source_get_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_source_get_target_list "GtkTargetList* gtk_drag_source_get_target_list(GtkWidget* widget)"
-  s7_pointer widget;
-  widget = s7_car(args);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_get_target_list", 1, widget, "GtkWidget*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_drag_source_get_target_list(s7_c_pointer(widget))));
-}
-
-static s7_pointer lg_gtk_drag_source_set_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_drag_source_set_target_list "void gtk_drag_source_set_target_list(GtkWidget* widget, \
-GtkTargetList* target_list)"
-  s7_pointer _p;
-  s7_pointer widget, target_list;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_target_list", 1, widget, "GtkWidget*");
-  target_list = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(target_list, GtkTargetList__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_target_list", 2, target_list, "GtkTargetList*");
-  gtk_drag_source_set_target_list(s7_c_pointer(widget), s7_c_pointer(target_list));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_entry_set_alignment(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_entry_set_alignment "void gtk_entry_set_alignment(GtkEntry* entry, gfloat xalign)"
@@ -22072,15 +20507,6 @@ static s7_pointer lg_gtk_cell_view_new_with_markup(s7_scheme *sc, s7_pointer arg
   return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_cell_view_new_with_markup(s7_string(markup))));
 }
 
-static s7_pointer lg_gtk_cell_view_new_with_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_cell_view_new_with_pixbuf "GtkWidget* gtk_cell_view_new_with_pixbuf(GdkPixbuf* pixbuf)"
-  s7_pointer pixbuf;
-  pixbuf = s7_car(args);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_cell_view_new_with_pixbuf", 1, pixbuf, "GdkPixbuf*");
-  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_cell_view_new_with_pixbuf(s7_c_pointer(pixbuf))));
-}
-
 static s7_pointer lg_gtk_cell_view_set_model(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_cell_view_set_model "void gtk_cell_view_set_model(GtkCellView* cell_view, GtkTreeModel* model)"
@@ -22603,29 +21029,6 @@ gchar* translator_credits)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_about_dialog_get_logo(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_about_dialog_get_logo "GdkPixbuf* gtk_about_dialog_get_logo(GtkAboutDialog* about)"
-  s7_pointer about;
-  about = s7_car(args);
-  if (!s7_is_c_pointer_of_type(about, GtkAboutDialog__sym)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_get_logo", 1, about, "GtkAboutDialog*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_about_dialog_get_logo(s7_c_pointer(about))));
-}
-
-static s7_pointer lg_gtk_about_dialog_set_logo(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_about_dialog_set_logo "void gtk_about_dialog_set_logo(GtkAboutDialog* about, GdkPixbuf* logo)"
-  s7_pointer _p;
-  s7_pointer about, logo;
-  _p = args;
-  about = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(about, GtkAboutDialog__sym)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_set_logo", 1, about, "GtkAboutDialog*");
-  logo = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(logo, GdkPixbuf__sym)) && (logo != lg_false)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_set_logo", 2, logo, "GdkPixbuf*");
-  gtk_about_dialog_set_logo(s7_c_pointer(about), s7_c_pointer(logo));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_about_dialog_get_program_name(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_about_dialog_get_program_name "gchar* gtk_about_dialog_get_program_name(GtkAboutDialog* about)"
@@ -23313,15 +21716,6 @@ static s7_pointer lg_gtk_menu_tool_button_get_menu(s7_scheme *sc, s7_pointer arg
   return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_menu_tool_button_get_menu(s7_c_pointer(button))));
 }
 
-static s7_pointer lg_gdk_display_supports_clipboard_persistence(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_display_supports_clipboard_persistence "gboolean gdk_display_supports_clipboard_persistence(GdkDisplay* display)"
-  s7_pointer display;
-  display = s7_car(args);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_supports_clipboard_persistence", 1, display, "GdkDisplay*");
-  return(s7_make_boolean(sc, gdk_display_supports_clipboard_persistence(s7_c_pointer(display))));
-}
-
 static s7_pointer lg_gtk_about_dialog_get_logo_icon_name(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_about_dialog_get_logo_icon_name "gchar* gtk_about_dialog_get_logo_icon_name(GtkAboutDialog* about)"
@@ -23366,47 +21760,6 @@ static s7_pointer lg_gtk_accelerator_get_label(s7_scheme *sc, s7_pointer args)
   }
 }
 
-static s7_pointer lg_gtk_clipboard_wait_is_target_available(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_is_target_available "gboolean gtk_clipboard_wait_is_target_available(GtkClipboard* clipboard, \
-GdkAtom target)"
-  s7_pointer _p;
-  s7_pointer clipboard, target;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_target_available", 1, clipboard, "GtkClipboard*");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_target_available", 2, target, "GdkAtom");
-  return(s7_make_boolean(sc, gtk_clipboard_wait_is_target_available(s7_c_pointer(clipboard), s7_c_pointer(target))));
-}
-
-static s7_pointer lg_gtk_clipboard_set_can_store(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_set_can_store "void gtk_clipboard_set_can_store(GtkClipboard* clipboard, GtkTargetEntry* targets, \
-gint n_targets)"
-  s7_pointer _p;
-  s7_pointer clipboard, targets, n_targets;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_can_store", 1, clipboard, "GtkClipboard*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) && (targets != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_can_store", 2, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_can_store", 3, n_targets, "gint");
-  gtk_clipboard_set_can_store(s7_c_pointer(clipboard), s7_c_pointer(targets), s7_integer(n_targets));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_clipboard_store(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_store "void gtk_clipboard_store(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_store", 1, clipboard, "GtkClipboard*");
-  gtk_clipboard_store(s7_c_pointer(clipboard));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_drag_dest_add_image_targets(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_dest_add_image_targets "void gtk_drag_dest_add_image_targets(GtkWidget* widget)"
@@ -23517,99 +21870,6 @@ static s7_pointer lg_gtk_label_get_width_chars(s7_scheme *sc, s7_pointer args)
   return(s7_make_integer(sc, gtk_label_get_width_chars(s7_c_pointer(label))));
 }
 
-static s7_pointer lg_gtk_target_list_add_text_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add_text_targets "void gtk_target_list_add_text_targets(GtkTargetList* list, \
-guint info)"
-  s7_pointer _p;
-  s7_pointer list, info;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_text_targets", 1, list, "GtkTargetList*");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_text_targets", 2, info, "guint");
-  gtk_target_list_add_text_targets(s7_c_pointer(list), s7_integer(info));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_add_image_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add_image_targets "void gtk_target_list_add_image_targets(GtkTargetList* list, \
-guint info, gboolean writable)"
-  s7_pointer _p;
-  s7_pointer list, info, writable;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_image_targets", 1, list, "GtkTargetList*");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_image_targets", 2, info, "guint");
-  writable = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(writable)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_image_targets", 3, writable, "gboolean");
-  gtk_target_list_add_image_targets(s7_c_pointer(list), s7_integer(info), lg_boolean(writable));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_list_add_uri_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add_uri_targets "void gtk_target_list_add_uri_targets(GtkTargetList* list, \
-guint info)"
-  s7_pointer _p;
-  s7_pointer list, info;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_uri_targets", 1, list, "GtkTargetList*");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_uri_targets", 2, info, "guint");
-  gtk_target_list_add_uri_targets(s7_c_pointer(list), s7_integer(info));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_data_set_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_set_pixbuf "gboolean gtk_selection_data_set_pixbuf(GtkSelectionData* selection_data, \
-GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer selection_data, pixbuf;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_pixbuf", 1, selection_data, "GtkSelectionData*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_pixbuf", 2, pixbuf, "GdkPixbuf*");
-  return(s7_make_boolean(sc, gtk_selection_data_set_pixbuf(s7_c_pointer(selection_data), s7_c_pointer(pixbuf))));
-}
-
-static s7_pointer lg_gtk_selection_data_get_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_get_pixbuf "GdkPixbuf* gtk_selection_data_get_pixbuf(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_pixbuf", 1, selection_data, "GtkSelectionData*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_selection_data_get_pixbuf(s7_c_pointer(selection_data))));
-}
-
-static s7_pointer lg_gtk_selection_data_set_uris(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_set_uris "gboolean gtk_selection_data_set_uris(GtkSelectionData* selection_data, \
-gchar** uris)"
-  s7_pointer _p;
-  s7_pointer selection_data, uris;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_uris", 1, selection_data, "GtkSelectionData*");
-  uris = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(uris, gchar___sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_uris", 2, uris, "gchar**");
-  return(s7_make_boolean(sc, gtk_selection_data_set_uris(s7_c_pointer(selection_data), s7_c_pointer(uris))));
-}
-
-static s7_pointer lg_gtk_selection_data_get_uris(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_get_uris "gchar** gtk_selection_data_get_uris(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_uris", 1, selection_data, "GtkSelectionData*");
-  return(s7_make_type_with_c_pointer(sc, gchar___sym, gtk_selection_data_get_uris(s7_c_pointer(selection_data))));
-}
-
 static s7_pointer lg_gtk_text_buffer_backspace(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_buffer_backspace "gboolean gtk_text_buffer_backspace(GtkTextBuffer* buffer, GtkTextIter* iter, \
@@ -23628,59 +21888,6 @@ gboolean interactive, gboolean default_editable)"
   return(s7_make_boolean(sc, gtk_text_buffer_backspace(s7_c_pointer(buffer), s7_c_pointer(iter), lg_boolean(interactive), lg_boolean(default_editable))));
 }
 
-static s7_pointer lg_gtk_clipboard_set_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_set_image "void gtk_clipboard_set_image(GtkClipboard* clipboard, GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer clipboard, pixbuf;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_image", 1, clipboard, "GtkClipboard*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_set_image", 2, pixbuf, "GdkPixbuf*");
-  gtk_clipboard_set_image(s7_c_pointer(clipboard), s7_c_pointer(pixbuf));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_clipboard_request_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_request_image "void gtk_clipboard_request_image(GtkClipboard* clipboard, GtkClipboardImageReceivedFunc func, \
-lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_image", 1, clipboard, "GtkClipboard*");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardImageReceivedFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_image", 2, func, "GtkClipboardImageReceivedFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_image", 3, func_info, "lambda_data");
-  {
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    s7_gc_protect(sc, lg_ptr);
-    gtk_clipboard_request_image(s7_c_pointer(clipboard), s7_c_pointer(func), (gpointer)lg_ptr);
-    return(lg_false);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_for_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_for_image "GdkPixbuf* gtk_clipboard_wait_for_image(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_image", 1, clipboard, "GtkClipboard*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_clipboard_wait_for_image(s7_c_pointer(clipboard))));
-}
-
-static s7_pointer lg_gtk_clipboard_wait_is_image_available(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_is_image_available "gboolean gtk_clipboard_wait_is_image_available(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_image_available", 1, clipboard, "GtkClipboard*");
-  return(s7_make_boolean(sc, gtk_clipboard_wait_is_image_available(s7_c_pointer(clipboard))));
-}
-
 static s7_pointer lg_gtk_file_filter_add_pixbuf_formats(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_file_filter_add_pixbuf_formats "void gtk_file_filter_add_pixbuf_formats(GtkFileFilter* filter)"
@@ -23752,20 +21959,6 @@ gboolean writable)"
   return(s7_make_boolean(sc, gtk_selection_data_targets_include_image(s7_c_pointer(selection_data), lg_boolean(writable))));
 }
 
-static s7_pointer lg_gtk_menu_set_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_menu_set_screen "void gtk_menu_set_screen(GtkMenu* menu, GdkScreen* screen)"
-  s7_pointer _p;
-  s7_pointer menu, screen;
-  _p = args;
-  menu = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(menu, GtkMenu__sym)) s7_wrong_type_arg_error(sc, "gtk_menu_set_screen", 1, menu, "GtkMenu*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) && (screen != lg_false)) s7_wrong_type_arg_error(sc, "gtk_menu_set_screen", 2, screen, "GdkScreen*");
-  gtk_menu_set_screen(s7_c_pointer(menu), s7_c_pointer(screen));
-  return(lg_false);
-}
-
 static s7_pointer lg_pango_attr_underline_color_new(s7_scheme *sc, s7_pointer args)
 {
   #define H_pango_attr_underline_color_new "PangoAttribute* pango_attr_underline_color_new(guint16 red, \
@@ -24329,28 +22522,6 @@ static s7_pointer lg_pango_layout_get_font_description(s7_scheme *sc, s7_pointer
     return(s7_make_type_with_c_pointer(sc, PangoFontDescription__sym, (PangoFontDescription*)pango_layout_get_font_description(s7_c_pointer(layout))));
 }
 
-static s7_pointer lg_gdk_cursor_new_from_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_new_from_name "GdkCursor* gdk_cursor_new_from_name(GdkDisplay* display, gchar* name)"
-  s7_pointer _p;
-  s7_pointer display, name;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_name", 1, display, "GdkDisplay*");
-  name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_name", 2, name, "gchar*");
-  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_from_name(s7_c_pointer(display), (const gchar*)s7_string(name))));
-}
-
-static s7_pointer lg_gdk_cursor_get_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_get_image "GdkPixbuf* gdk_cursor_get_image(GdkCursor* cursor)"
-  s7_pointer cursor;
-  cursor = s7_car(args);
-  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_image", 1, cursor, "GdkCursor*");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gdk_cursor_get_image(s7_c_pointer(cursor))));
-}
-
 static s7_pointer lg_gdk_window_set_urgency_hint(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_window_set_urgency_hint "void gdk_window_set_urgency_hint(GdkWindow* window, gboolean urgent)"
@@ -24558,46 +22729,6 @@ gboolean use_align, gfloat row_align, gfloat col_align)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_icon_view_enable_model_drag_source(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_icon_view_enable_model_drag_source "void gtk_icon_view_enable_model_drag_source(GtkIconView* icon_view, \
-GdkModifierType start_button_mask, GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer icon_view, start_button_mask, targets, n_targets, actions;
-  _p = args;
-  icon_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(icon_view, GtkIconView__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 1, icon_view, "GtkIconView*");
-  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 2, start_button_mask, "GdkModifierType");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 3, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 4, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 5, actions, "GdkDragAction");
-  gtk_icon_view_enable_model_drag_source(s7_c_pointer(icon_view), s7_integer(start_button_mask), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_icon_view_enable_model_drag_dest(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_icon_view_enable_model_drag_dest "void gtk_icon_view_enable_model_drag_dest(GtkIconView* icon_view, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer icon_view, targets, n_targets, actions;
-  _p = args;
-  icon_view = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(icon_view, GtkIconView__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 1, icon_view, "GtkIconView*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 2, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 3, n_targets, "gint");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 4, actions, "GdkDragAction");
-  gtk_icon_view_enable_model_drag_dest(s7_c_pointer(icon_view), s7_c_pointer(targets), s7_integer(n_targets), s7_integer(actions));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_icon_view_unset_model_drag_source(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_icon_view_unset_model_drag_source "void gtk_icon_view_unset_model_drag_source(GtkIconView* icon_view)"
@@ -24983,15 +23114,6 @@ gboolean trailing, int* [line], int* [x_pos])"
     return(s7_list(sc, 2, s7_make_integer(sc, ref_line), s7_make_integer(sc, ref_x_pos)));
 }
 
-static s7_pointer lg_gtk_target_list_ref(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_ref "GtkTargetList* gtk_target_list_ref(GtkTargetList* list)"
-  s7_pointer list;
-  list = s7_car(args);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_ref", 1, list, "GtkTargetList*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_target_list_ref(s7_c_pointer(list))));
-}
-
 static s7_pointer lg_gdk_display_supports_shapes(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_supports_shapes "gboolean gdk_display_supports_shapes(GdkDisplay* display)"
@@ -25010,29 +23132,6 @@ static s7_pointer lg_gdk_display_supports_input_shapes(s7_scheme *sc, s7_pointer
   return(s7_make_boolean(sc, gdk_display_supports_input_shapes(s7_c_pointer(display))));
 }
 
-static s7_pointer lg_gdk_screen_set_resolution(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_screen_set_resolution "void gdk_screen_set_resolution(GdkScreen* screen, gdouble dpi)"
-  s7_pointer _p;
-  s7_pointer screen, dpi;
-  _p = args;
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gdk_screen_set_resolution", 1, screen, "GdkScreen*");
-  dpi = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(dpi)) s7_wrong_type_arg_error(sc, "gdk_screen_set_resolution", 2, dpi, "gdouble");
-  gdk_screen_set_resolution(s7_c_pointer(screen), s7_real(dpi));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_screen_get_resolution(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_screen_get_resolution "gdouble gdk_screen_get_resolution(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gdk_screen_get_resolution", 1, screen, "GdkScreen*");
-  return(s7_make_real(sc, gdk_screen_get_resolution(s7_c_pointer(screen))));
-}
-
 static s7_pointer lg_gdk_window_get_type_hint(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_window_get_type_hint "GdkWindowTypeHint gdk_window_get_type_hint(GdkWindow* window)"
@@ -25042,64 +23141,6 @@ static s7_pointer lg_gdk_window_get_type_hint(s7_scheme *sc, s7_pointer args)
   return(s7_make_integer(sc, gdk_window_get_type_hint(s7_c_pointer(window))));
 }
 
-static s7_pointer lg_gtk_clipboard_request_rich_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_request_rich_text "void gtk_clipboard_request_rich_text(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer, GtkClipboardRichTextReceivedFunc func, lambda_data func_info)"
-  s7_pointer _p;
-  s7_pointer clipboard, buffer, func, func_info;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_rich_text", 1, clipboard, "GtkClipboard*");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_rich_text", 2, buffer, "GtkTextBuffer*");
-  func = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(func, GtkClipboardRichTextReceivedFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_rich_text", 3, func, "GtkClipboardRichTextReceivedFunc");
-  func_info = s7_car(_p); _p = s7_cdr(_p);
-  if ((!s7_is_c_pointer_of_type(func_info, lambda_data_sym)) && (func_info != lg_false)) s7_wrong_type_arg_error(sc, "gtk_clipboard_request_rich_text", 4, func_info, "lambda_data");
-  {
-    s7_pointer lg_ptr = s7_list(sc, 5, func, func_info, lg_false, lg_false, lg_false);
-    s7_gc_protect(sc, lg_ptr);
-    gtk_clipboard_request_rich_text(s7_c_pointer(clipboard), s7_c_pointer(buffer), s7_c_pointer(func), (gpointer)lg_ptr);
-    return(lg_false);
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_for_rich_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_for_rich_text "guint8* gtk_clipboard_wait_for_rich_text(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer, GdkAtom* format, gsize* [length])"
-  s7_pointer _p;
-  s7_pointer clipboard, buffer, format;
-  gsize ref_length;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_rich_text", 1, clipboard, "GtkClipboard*");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_rich_text", 2, buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_for_rich_text", 3, format, "GdkAtom*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, guint8__sym, gtk_clipboard_wait_for_rich_text(s7_c_pointer(clipboard), s7_c_pointer(buffer), s7_c_pointer(format), &ref_length));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_length)));
-   }
-}
-
-static s7_pointer lg_gtk_clipboard_wait_is_rich_text_available(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_is_rich_text_available "gboolean gtk_clipboard_wait_is_rich_text_available(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer)"
-  s7_pointer _p;
-  s7_pointer clipboard, buffer;
-  _p = args;
-  clipboard = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_rich_text_available", 1, clipboard, "GtkClipboard*");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_rich_text_available", 2, buffer, "GtkTextBuffer*");
-  return(s7_make_boolean(sc, gtk_clipboard_wait_is_rich_text_available(s7_c_pointer(clipboard), s7_c_pointer(buffer))));
-}
-
 static s7_pointer lg_gtk_drag_dest_set_track_motion(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_dest_set_track_motion "void gtk_drag_dest_set_track_motion(GtkWidget* widget, gboolean track_motion)"
@@ -25243,137 +23284,6 @@ static s7_pointer lg_gtk_scrolled_window_unset_placement(s7_scheme *sc, s7_point
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_target_list_add_rich_text_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_list_add_rich_text_targets "void gtk_target_list_add_rich_text_targets(GtkTargetList* list, \
-guint info, gboolean deserializable, GtkTextBuffer* buffer)"
-  s7_pointer _p;
-  s7_pointer list, info, deserializable, buffer;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_rich_text_targets", 1, list, "GtkTargetList*");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_rich_text_targets", 2, info, "guint");
-  deserializable = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(deserializable)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_rich_text_targets", 3, deserializable, "gboolean");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_target_list_add_rich_text_targets", 4, buffer, "GtkTextBuffer*");
-  gtk_target_list_add_rich_text_targets(s7_c_pointer(list), s7_integer(info), lg_boolean(deserializable), s7_c_pointer(buffer));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_target_table_new_from_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_table_new_from_list "GtkTargetEntry* gtk_target_table_new_from_list(GtkTargetList* list, \
-gint* [n_targets])"
-  s7_pointer _p;
-  s7_pointer list;
-  gint ref_n_targets;
-  _p = args;
-  list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_target_table_new_from_list", 1, list, "GtkTargetList*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, GtkTargetEntry__sym, gtk_target_table_new_from_list(s7_c_pointer(list), &ref_n_targets));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_n_targets)));
-   }
-}
-
-static s7_pointer lg_gtk_target_table_free(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_table_free "void gtk_target_table_free(GtkTargetEntry* targets, gint n_targets)"
-  s7_pointer _p;
-  s7_pointer targets, n_targets;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_target_table_free", 1, targets, "GtkTargetEntry*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_target_table_free", 2, n_targets, "gint");
-  gtk_target_table_free(s7_c_pointer(targets), s7_integer(n_targets));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_selection_data_targets_include_rich_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_targets_include_rich_text "gboolean gtk_selection_data_targets_include_rich_text(GtkSelectionData* selection_data, \
-GtkTextBuffer* buffer)"
-  s7_pointer _p;
-  s7_pointer selection_data, buffer;
-  _p = args;
-  selection_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_rich_text", 1, selection_data, "GtkSelectionData*");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_rich_text", 2, buffer, "GtkTextBuffer*");
-  return(s7_make_boolean(sc, gtk_selection_data_targets_include_rich_text(s7_c_pointer(selection_data), s7_c_pointer(buffer))));
-}
-
-static s7_pointer lg_gtk_selection_data_targets_include_uri(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_targets_include_uri "gboolean gtk_selection_data_targets_include_uri(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_uri", 1, selection_data, "GtkSelectionData*");
-  return(s7_make_boolean(sc, gtk_selection_data_targets_include_uri(s7_c_pointer(selection_data))));
-}
-
-static s7_pointer lg_gtk_targets_include_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_targets_include_text "gboolean gtk_targets_include_text(GdkAtom* targets, gint n_targets)"
-  s7_pointer _p;
-  s7_pointer targets, n_targets;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_text", 1, targets, "GdkAtom*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_text", 2, n_targets, "gint");
-  return(s7_make_boolean(sc, gtk_targets_include_text(s7_c_pointer(targets), s7_integer(n_targets))));
-}
-
-static s7_pointer lg_gtk_targets_include_rich_text(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_targets_include_rich_text "gboolean gtk_targets_include_rich_text(GdkAtom* targets, gint n_targets, \
-GtkTextBuffer* buffer)"
-  s7_pointer _p;
-  s7_pointer targets, n_targets, buffer;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_rich_text", 1, targets, "GdkAtom*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_rich_text", 2, n_targets, "gint");
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_rich_text", 3, buffer, "GtkTextBuffer*");
-  return(s7_make_boolean(sc, gtk_targets_include_rich_text(s7_c_pointer(targets), s7_integer(n_targets), s7_c_pointer(buffer))));
-}
-
-static s7_pointer lg_gtk_targets_include_image(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_targets_include_image "gboolean gtk_targets_include_image(GdkAtom* targets, gint n_targets, \
-gboolean writable)"
-  s7_pointer _p;
-  s7_pointer targets, n_targets, writable;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 1, targets, "GdkAtom*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 2, n_targets, "gint");
-  writable = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(writable)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 3, writable, "gboolean");
-  return(s7_make_boolean(sc, gtk_targets_include_image(s7_c_pointer(targets), s7_integer(n_targets), lg_boolean(writable))));
-}
-
-static s7_pointer lg_gtk_targets_include_uri(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_targets_include_uri "gboolean gtk_targets_include_uri(GdkAtom* targets, gint n_targets)"
-  s7_pointer _p;
-  s7_pointer targets, n_targets;
-  _p = args;
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_uri", 1, targets, "GdkAtom*");
-  n_targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_uri", 2, n_targets, "gint");
-  return(s7_make_boolean(sc, gtk_targets_include_uri(s7_c_pointer(targets), s7_integer(n_targets))));
-}
-
 static s7_pointer lg_gtk_size_group_get_widgets(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_size_group_get_widgets "GSList* gtk_size_group_get_widgets(GtkSizeGroup* size_group)"
@@ -25392,24 +23302,6 @@ static s7_pointer lg_gtk_text_buffer_get_has_selection(s7_scheme *sc, s7_pointer
   return(s7_make_boolean(sc, gtk_text_buffer_get_has_selection(s7_c_pointer(buffer))));
 }
 
-static s7_pointer lg_gtk_text_buffer_get_copy_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_get_copy_target_list "GtkTargetList* gtk_text_buffer_get_copy_target_list(GtkTextBuffer* buffer)"
-  s7_pointer buffer;
-  buffer = s7_car(args);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_get_copy_target_list", 1, buffer, "GtkTextBuffer*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_text_buffer_get_copy_target_list(s7_c_pointer(buffer))));
-}
-
-static s7_pointer lg_gtk_text_buffer_get_paste_target_list(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_get_paste_target_list "GtkTargetList* gtk_text_buffer_get_paste_target_list(GtkTextBuffer* buffer)"
-  s7_pointer buffer;
-  buffer = s7_car(args);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_get_paste_target_list", 1, buffer, "GtkTextBuffer*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetList__sym, gtk_text_buffer_get_paste_target_list(s7_c_pointer(buffer))));
-}
-
 static s7_pointer lg_gtk_tree_view_get_headers_clickable(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tree_view_get_headers_clickable "gboolean gtk_tree_view_get_headers_clickable(GtkTreeView* tree_view)"
@@ -26650,19 +24542,6 @@ static s7_pointer lg_gtk_recent_info_has_group(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gtk_recent_info_has_group(s7_c_pointer(info), s7_string(group_name))));
 }
 
-static s7_pointer lg_gtk_recent_info_get_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_recent_info_get_icon "GdkPixbuf* gtk_recent_info_get_icon(GtkRecentInfo* info, gint size)"
-  s7_pointer _p;
-  s7_pointer info, size;
-  _p = args;
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(info, GtkRecentInfo__sym)) s7_wrong_type_arg_error(sc, "gtk_recent_info_get_icon", 1, info, "GtkRecentInfo*");
-  size = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(size)) s7_wrong_type_arg_error(sc, "gtk_recent_info_get_icon", 2, size, "gint");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_recent_info_get_icon(s7_c_pointer(info), s7_integer(size))));
-}
-
 static s7_pointer lg_gtk_recent_info_get_short_name(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_recent_info_get_short_name "gchar* gtk_recent_info_get_short_name(GtkRecentInfo* info)"
@@ -26721,221 +24600,6 @@ static s7_pointer lg_gtk_recent_info_match(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gtk_recent_info_match(s7_c_pointer(info_a), s7_c_pointer(info_b))));
 }
 
-static s7_pointer lg_gtk_text_buffer_register_serialize_format(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_register_serialize_format "GdkAtom gtk_text_buffer_register_serialize_format(GtkTextBuffer* buffer, \
-gchar* mime_type, GtkTextBufferSerializeFunc function, gpointer user_data, GDestroyNotify user_data_destroy)"
-  s7_pointer _p;
-  s7_pointer buffer, mime_type, function, user_data, user_data_destroy;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_format", 1, buffer, "GtkTextBuffer*");
-  mime_type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_format", 2, mime_type, "gchar*");
-  function = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(function, GtkTextBufferSerializeFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_format", 3, function, "GtkTextBufferSerializeFunc");
-  user_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_format", 4, user_data, "gpointer");
-  user_data_destroy = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(user_data_destroy, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_format", 5, user_data_destroy, "GDestroyNotify");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_text_buffer_register_serialize_format(s7_c_pointer(buffer), s7_string(mime_type), s7_c_pointer(function), s7_c_pointer(user_data), s7_c_pointer(user_data_destroy))));
-}
-
-static s7_pointer lg_gtk_text_buffer_register_serialize_tagset(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_register_serialize_tagset "GdkAtom gtk_text_buffer_register_serialize_tagset(GtkTextBuffer* buffer, \
-gchar* tagset_name)"
-  s7_pointer _p;
-  s7_pointer buffer, tagset_name;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_tagset", 1, buffer, "GtkTextBuffer*");
-  tagset_name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(tagset_name)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_serialize_tagset", 2, tagset_name, "gchar*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_text_buffer_register_serialize_tagset(s7_c_pointer(buffer), s7_string(tagset_name))));
-}
-
-static s7_pointer lg_gtk_text_buffer_register_deserialize_format(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_register_deserialize_format "GdkAtom gtk_text_buffer_register_deserialize_format(GtkTextBuffer* buffer, \
-gchar* mime_type, GtkTextBufferDeserializeFunc function, gpointer user_data, GDestroyNotify user_data_destroy)"
-  s7_pointer _p;
-  s7_pointer buffer, mime_type, function, user_data, user_data_destroy;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_format", 1, buffer, "GtkTextBuffer*");
-  mime_type = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_format", 2, mime_type, "gchar*");
-  function = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(function, GtkTextBufferDeserializeFunc_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_format", 3, function, "GtkTextBufferDeserializeFunc");
-  user_data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_format", 4, user_data, "gpointer");
-  user_data_destroy = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(user_data_destroy, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_format", 5, user_data_destroy, "GDestroyNotify");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_text_buffer_register_deserialize_format(s7_c_pointer(buffer), s7_string(mime_type), s7_c_pointer(function), s7_c_pointer(user_data), s7_c_pointer(user_data_destroy))));
-}
-
-static s7_pointer lg_gtk_text_buffer_register_deserialize_tagset(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_register_deserialize_tagset "GdkAtom gtk_text_buffer_register_deserialize_tagset(GtkTextBuffer* buffer, \
-gchar* tagset_name)"
-  s7_pointer _p;
-  s7_pointer buffer, tagset_name;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_tagset", 1, buffer, "GtkTextBuffer*");
-  tagset_name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(tagset_name)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_register_deserialize_tagset", 2, tagset_name, "gchar*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_text_buffer_register_deserialize_tagset(s7_c_pointer(buffer), s7_string(tagset_name))));
-}
-
-static s7_pointer lg_gtk_text_buffer_unregister_serialize_format(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_unregister_serialize_format "void gtk_text_buffer_unregister_serialize_format(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  s7_pointer _p;
-  s7_pointer buffer, format;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_unregister_serialize_format", 1, buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_unregister_serialize_format", 2, format, "GdkAtom");
-  gtk_text_buffer_unregister_serialize_format(s7_c_pointer(buffer), s7_c_pointer(format));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_unregister_deserialize_format(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_unregister_deserialize_format "void gtk_text_buffer_unregister_deserialize_format(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  s7_pointer _p;
-  s7_pointer buffer, format;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_unregister_deserialize_format", 1, buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_unregister_deserialize_format", 2, format, "GdkAtom");
-  gtk_text_buffer_unregister_deserialize_format(s7_c_pointer(buffer), s7_c_pointer(format));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_deserialize_set_can_create_tags(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_deserialize_set_can_create_tags "void gtk_text_buffer_deserialize_set_can_create_tags(GtkTextBuffer* buffer, \
-GdkAtom format, gboolean can_create_tags)"
-  s7_pointer _p;
-  s7_pointer buffer, format, can_create_tags;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize_set_can_create_tags", 1, buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize_set_can_create_tags", 2, format, "GdkAtom");
-  can_create_tags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(can_create_tags)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize_set_can_create_tags", 3, can_create_tags, "gboolean");
-  gtk_text_buffer_deserialize_set_can_create_tags(s7_c_pointer(buffer), s7_c_pointer(format), lg_boolean(can_create_tags));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_text_buffer_deserialize_get_can_create_tags(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_deserialize_get_can_create_tags "gboolean gtk_text_buffer_deserialize_get_can_create_tags(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  s7_pointer _p;
-  s7_pointer buffer, format;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize_get_can_create_tags", 1, buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize_get_can_create_tags", 2, format, "GdkAtom");
-  return(s7_make_boolean(sc, gtk_text_buffer_deserialize_get_can_create_tags(s7_c_pointer(buffer), s7_c_pointer(format))));
-}
-
-static s7_pointer lg_gtk_text_buffer_get_serialize_formats(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_get_serialize_formats "GdkAtom* gtk_text_buffer_get_serialize_formats(GtkTextBuffer* buffer, \
-gint* [n_formats])"
-  s7_pointer _p;
-  s7_pointer buffer;
-  gint ref_n_formats;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_get_serialize_formats", 1, buffer, "GtkTextBuffer*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, GdkAtom__sym, gtk_text_buffer_get_serialize_formats(s7_c_pointer(buffer), &ref_n_formats));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_n_formats)));
-   }
-}
-
-static s7_pointer lg_gtk_text_buffer_get_deserialize_formats(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_get_deserialize_formats "GdkAtom* gtk_text_buffer_get_deserialize_formats(GtkTextBuffer* buffer, \
-gint* [n_formats])"
-  s7_pointer _p;
-  s7_pointer buffer;
-  gint ref_n_formats;
-  _p = args;
-  buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_get_deserialize_formats", 1, buffer, "GtkTextBuffer*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, GdkAtom__sym, gtk_text_buffer_get_deserialize_formats(s7_c_pointer(buffer), &ref_n_formats));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_n_formats)));
-   }
-}
-
-static s7_pointer lg_gtk_text_buffer_serialize(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_serialize "guint8* gtk_text_buffer_serialize(GtkTextBuffer* register_buffer, \
-GtkTextBuffer* content_buffer, GdkAtom format, GtkTextIter* start, GtkTextIter* end, gsize* [length])"
-  s7_pointer _p;
-  s7_pointer register_buffer, content_buffer, format, start, end;
-  gsize ref_length;
-  _p = args;
-  register_buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(register_buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_serialize", 1, register_buffer, "GtkTextBuffer*");
-  content_buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(content_buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_serialize", 2, content_buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_serialize", 3, format, "GdkAtom");
-  start = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(start, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_serialize", 4, start, "GtkTextIter*");
-  end = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(end, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_serialize", 5, end, "GtkTextIter*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, guint8__sym, gtk_text_buffer_serialize(s7_c_pointer(register_buffer), s7_c_pointer(content_buffer), s7_c_pointer(format), s7_c_pointer(start), s7_c_pointer(end), &ref_length));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_length)));
-   }
-}
-
-static s7_pointer lg_gtk_text_buffer_deserialize(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_text_buffer_deserialize "gboolean gtk_text_buffer_deserialize(GtkTextBuffer* register_buffer, \
-GtkTextBuffer* content_buffer, GdkAtom format, GtkTextIter* iter, guint8* data, gsize length, GError** [error])"
-  s7_pointer _p;
-  s7_pointer register_buffer, content_buffer, format, iter, data, length;
-  GError* ref_error = NULL;
-  _p = args;
-  register_buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(register_buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 1, register_buffer, "GtkTextBuffer*");
-  content_buffer = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(content_buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 2, content_buffer, "GtkTextBuffer*");
-  format = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(format, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 3, format, "GdkAtom");
-  iter = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 4, iter, "GtkTextIter*");
-  data = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(data, guint8__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 5, data, "guint8*");
-  length = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(length)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_deserialize", 6, length, "gsize");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gtk_text_buffer_deserialize(s7_c_pointer(register_buffer), s7_c_pointer(content_buffer), s7_c_pointer(format), s7_c_pointer(iter), s7_c_pointer(data), s7_integer(length), &ref_error));
-      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
-   }
-}
-
 static s7_pointer lg_gtk_recent_manager_add_item(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_recent_manager_add_item "gboolean gtk_recent_manager_add_item(GtkRecentManager* manager, \
@@ -28253,15 +25917,6 @@ gchar* output_bin)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_settings_get_for_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_settings_get_for_screen "GtkSettings* gtk_settings_get_for_screen(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_settings_get_for_screen", 1, screen, "GdkScreen*");
-  return(s7_make_type_with_c_pointer(sc, GtkSettings__sym, gtk_settings_get_for_screen(s7_c_pointer(screen))));
-}
-
 static s7_pointer lg_pango_cairo_create_layout(s7_scheme *sc, s7_pointer args)
 {
   #define H_pango_cairo_create_layout "PangoLayout* pango_cairo_create_layout(cairo_t* cr)"
@@ -28512,26 +26167,6 @@ static s7_pointer lg_gdk_cairo_rectangle(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_request_motions(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_event_request_motions "void gdk_event_request_motions(GdkEventMotion* event)"
-  s7_pointer event;
-  event = s7_car(args);
-  if (!s7_is_c_pointer_of_type(event, GdkEventMotion__sym)) s7_wrong_type_arg_error(sc, "gdk_event_request_motions", 1, event, "GdkEventMotion*");
-  gdk_event_request_motions(s7_c_pointer(event));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_notify_startup_complete_with_id(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_notify_startup_complete_with_id "void gdk_notify_startup_complete_with_id(gchar* startup_id)"
-  s7_pointer startup_id;
-  startup_id = s7_car(args);
-  if (!s7_is_string(startup_id)) s7_wrong_type_arg_error(sc, "gdk_notify_startup_complete_with_id", 1, startup_id, "gchar*");
-  gdk_notify_startup_complete_with_id(s7_string(startup_id));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_threads_add_idle_full(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_threads_add_idle_full "guint gdk_threads_add_idle_full(gint priority, GSourceFunc func, \
@@ -30151,57 +27786,6 @@ static s7_pointer lg_gtk_entry_progress_pulse(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_entry_set_icon_from_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_set_icon_from_pixbuf "void gtk_entry_set_icon_from_pixbuf(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer entry, icon_pos, pixbuf;
-  _p = args;
-  entry = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_pixbuf", 1, entry, "GtkEntry*");
-  icon_pos = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_pixbuf", 2, icon_pos, "GtkEntryIconPosition");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_pixbuf", 3, pixbuf, "GdkPixbuf*");
-  gtk_entry_set_icon_from_pixbuf(s7_c_pointer(entry), s7_integer(icon_pos), s7_c_pointer(pixbuf));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_entry_set_icon_from_icon_name(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_set_icon_from_icon_name "void gtk_entry_set_icon_from_icon_name(GtkEntry* entry, \
-GtkEntryIconPosition icon_pos, gchar* icon_name)"
-  s7_pointer _p;
-  s7_pointer entry, icon_pos, icon_name;
-  _p = args;
-  entry = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_icon_name", 1, entry, "GtkEntry*");
-  icon_pos = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_icon_name", 2, icon_pos, "GtkEntryIconPosition");
-  icon_name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_icon_name", 3, icon_name, "gchar*");
-  gtk_entry_set_icon_from_icon_name(s7_c_pointer(entry), s7_integer(icon_pos), s7_string(icon_name));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_entry_set_icon_from_gicon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_set_icon_from_gicon "void gtk_entry_set_icon_from_gicon(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GIcon* icon)"
-  s7_pointer _p;
-  s7_pointer entry, icon_pos, icon;
-  _p = args;
-  entry = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_gicon", 1, entry, "GtkEntry*");
-  icon_pos = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_gicon", 2, icon_pos, "GtkEntryIconPosition");
-  icon = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(icon, GIcon__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_gicon", 3, icon, "GIcon*");
-  gtk_entry_set_icon_from_gicon(s7_c_pointer(entry), s7_integer(icon_pos), s7_c_pointer(icon));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_entry_get_icon_name(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_entry_get_icon_name "gchar* gtk_entry_get_icon_name(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
@@ -30325,34 +27909,6 @@ GtkEntryIconPosition icon_pos, gchar* tooltip)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_entry_set_icon_drag_source(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_set_icon_drag_source "void gtk_entry_set_icon_drag_source(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GtkTargetList* target_list, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer entry, icon_pos, target_list, actions;
-  _p = args;
-  entry = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 1, entry, "GtkEntry*");
-  icon_pos = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 2, icon_pos, "GtkEntryIconPosition");
-  target_list = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target_list, GtkTargetList__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 3, target_list, "GtkTargetList*");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 4, actions, "GdkDragAction");
-  gtk_entry_set_icon_drag_source(s7_c_pointer(entry), s7_integer(icon_pos), s7_c_pointer(target_list), s7_integer(actions));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_entry_get_current_icon_drag_source(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_get_current_icon_drag_source "gint gtk_entry_get_current_icon_drag_source(GtkEntry* entry)"
-  s7_pointer entry;
-  entry = s7_car(args);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_get_current_icon_drag_source", 1, entry, "GtkEntry*");
-  return(s7_make_integer(sc, gtk_entry_get_current_icon_drag_source(s7_c_pointer(entry))));
-}
-
 static s7_pointer lg_gtk_menu_item_set_label(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_menu_item_set_label "void gtk_menu_item_set_label(GtkMenuItem* menu_item, gchar* label)"
@@ -30400,15 +27956,6 @@ static s7_pointer lg_gtk_menu_item_get_use_underline(s7_scheme *sc, s7_pointer a
   return(s7_make_boolean(sc, gtk_menu_item_get_use_underline(s7_c_pointer(menu_item))));
 }
 
-static s7_pointer lg_gtk_selection_data_get_selection(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_data_get_selection "GdkAtom gtk_selection_data_get_selection(GtkSelectionData* selection_data)"
-  s7_pointer selection_data;
-  selection_data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_selection", 1, selection_data, "GtkSelectionData*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_selection_data_get_selection(s7_c_pointer(selection_data))));
-}
-
 static s7_pointer lg_gtk_entry_get_icon_tooltip_text(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_entry_get_icon_tooltip_text "gchar* gtk_entry_get_icon_tooltip_text(GtkEntry* entry, \
@@ -31541,16 +29088,6 @@ GtkToolItemGroup* group)"
   return(s7_make_boolean(sc, gtk_tool_palette_get_expand(s7_c_pointer(palette), s7_c_pointer(group))));
 }
 
-static s7_pointer lg_gtk_tool_palette_unset_icon_size(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tool_palette_unset_icon_size "void gtk_tool_palette_unset_icon_size(GtkToolPalette* palette)"
-  s7_pointer palette;
-  palette = s7_car(args);
-  if (!s7_is_c_pointer_of_type(palette, GtkToolPalette__sym)) s7_wrong_type_arg_error(sc, "gtk_tool_palette_unset_icon_size", 1, palette, "GtkToolPalette*");
-  gtk_tool_palette_unset_icon_size(s7_c_pointer(palette));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_tool_palette_set_style(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tool_palette_set_style "void gtk_tool_palette_set_style(GtkToolPalette* palette, GtkToolbarStyle style)"
@@ -31666,18 +29203,6 @@ GtkWidget* widget, GtkDestDefaults flags, GtkToolPaletteDragTargets targets, Gdk
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_tool_palette_get_drag_target_item(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tool_palette_get_drag_target_item "GtkTargetEntry* gtk_tool_palette_get_drag_target_item( void)"
-    return(s7_make_type_with_c_pointer(sc, GtkTargetEntry__sym, (GtkTargetEntry*)gtk_tool_palette_get_drag_target_item()));
-}
-
-static s7_pointer lg_gtk_tool_palette_get_drag_target_group(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tool_palette_get_drag_target_group "GtkTargetEntry* gtk_tool_palette_get_drag_target_group( void)"
-    return(s7_make_type_with_c_pointer(sc, GtkTargetEntry__sym, (GtkTargetEntry*)gtk_tool_palette_get_drag_target_group()));
-}
-
 static s7_pointer lg_gtk_tool_item_group_new(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tool_item_group_new "GtkWidget* gtk_tool_item_group_new(gchar* label)"
@@ -32097,20 +29622,6 @@ static s7_pointer lg_gtk_widget_send_focus_change(s7_scheme *sc, s7_pointer args
   return(s7_make_boolean(sc, gtk_widget_send_focus_change(s7_c_pointer(widget), s7_c_pointer(event))));
 }
 
-static s7_pointer lg_gdk_drag_context_set_device(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_context_set_device "void gdk_drag_context_set_device(GdkDragContext* context, GdkDevice* device)"
-  s7_pointer _p;
-  s7_pointer context, device;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_set_device", 1, context, "GdkDragContext*");
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_set_device", 2, device, "GdkDevice*");
-  gdk_drag_context_set_device(s7_c_pointer(context), s7_c_pointer(device));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_drag_context_get_device(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_drag_context_get_device "GdkDevice* gdk_drag_context_get_device(GdkDragContext* context)"
@@ -32120,15 +29631,6 @@ static s7_pointer lg_gdk_drag_context_get_device(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GdkDevice__sym, gdk_drag_context_get_device(s7_c_pointer(context))));
 }
 
-static s7_pointer lg_gdk_drag_context_list_targets(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_context_list_targets "GList* gdk_drag_context_list_targets(GdkDragContext* context)"
-  s7_pointer context;
-  context = s7_car(args);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_list_targets", 1, context, "GdkDragContext*");
-  return(s7_make_type_with_c_pointer(sc, GList__sym, gdk_drag_context_list_targets(s7_c_pointer(context))));
-}
-
 static s7_pointer lg_gdk_event_set_device(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_event_set_device "void gdk_event_set_device(GdkEvent* event, GdkDevice* device)"
@@ -32746,15 +30248,6 @@ static s7_pointer lg_gdk_window_has_native(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gdk_window_has_native(s7_c_pointer(window))));
 }
 
-static s7_pointer lg_gdk_cursor_get_cursor_type(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_get_cursor_type "GdkCursorType gdk_cursor_get_cursor_type(GdkCursor* cursor)"
-  s7_pointer cursor;
-  cursor = s7_car(args);
-  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_cursor_type", 1, cursor, "GdkCursor*");
-  return(s7_make_integer(sc, gdk_cursor_get_cursor_type(s7_c_pointer(cursor))));
-}
-
 static s7_pointer lg_gdk_display_is_closed(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_display_is_closed "gboolean gdk_display_is_closed(GdkDisplay* display)"
@@ -32962,15 +30455,6 @@ static s7_pointer lg_gdk_cairo_region_create_from_surface(s7_scheme *sc, s7_poin
   return(s7_make_type_with_c_pointer(sc, cairo_region_t__sym, gdk_cairo_region_create_from_surface(s7_c_pointer(surface))));
 }
 
-static s7_pointer lg_gdk_window_get_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_get_screen "GdkScreen* gdk_window_get_screen(GdkWindow* window)"
-  s7_pointer window;
-  window = s7_car(args);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_get_screen", 1, window, "GdkWindow*");
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gdk_window_get_screen(s7_c_pointer(window))));
-}
-
 static s7_pointer lg_gdk_window_get_display(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_window_get_display "GdkDisplay* gdk_window_get_display(GdkWindow* window)"
@@ -33279,23 +30763,6 @@ cairo_region_t* region)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_cairo_transform_to_window(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_cairo_transform_to_window "void gtk_cairo_transform_to_window(cairo_t* cr, GtkWidget* widget, \
-GdkWindow* window)"
-  s7_pointer _p;
-  s7_pointer cr, widget, window;
-  _p = args;
-  cr = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(cr, cairo_t__sym)) s7_wrong_type_arg_error(sc, "gtk_cairo_transform_to_window", 1, cr, "cairo_t*");
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_cairo_transform_to_window", 2, widget, "GtkWidget*");
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_cairo_transform_to_window", 3, window, "GdkWindow*");
-  gtk_cairo_transform_to_window(s7_c_pointer(cr), s7_c_pointer(widget), s7_c_pointer(window));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_combo_box_new_with_entry(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_combo_box_new_with_entry "GtkWidget* gtk_combo_box_new_with_entry( void)"
@@ -33335,40 +30802,6 @@ static s7_pointer lg_gtk_combo_box_get_entry_text_column(s7_scheme *sc, s7_point
   return(s7_make_integer(sc, gtk_combo_box_get_entry_text_column(s7_c_pointer(combo_box))));
 }
 
-static s7_pointer lg_gtk_target_entry_new(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_entry_new "GtkTargetEntry* gtk_target_entry_new(char* target, guint flags, guint info)"
-  s7_pointer _p;
-  s7_pointer target, flags, info;
-  _p = args;
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(target)) s7_wrong_type_arg_error(sc, "gtk_target_entry_new", 1, target, "char*");
-  flags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_target_entry_new", 2, flags, "guint");
-  info = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(info)) s7_wrong_type_arg_error(sc, "gtk_target_entry_new", 3, info, "guint");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetEntry__sym, gtk_target_entry_new((const char*)(char*)s7_string(target), s7_integer(flags), s7_integer(info))));
-}
-
-static s7_pointer lg_gtk_target_entry_copy(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_entry_copy "GtkTargetEntry* gtk_target_entry_copy(GtkTargetEntry* data)"
-  s7_pointer data;
-  data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(data, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_target_entry_copy", 1, data, "GtkTargetEntry*");
-  return(s7_make_type_with_c_pointer(sc, GtkTargetEntry__sym, gtk_target_entry_copy(s7_c_pointer(data))));
-}
-
-static s7_pointer lg_gtk_target_entry_free(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_target_entry_free "void gtk_target_entry_free(GtkTargetEntry* data)"
-  s7_pointer data;
-  data = s7_car(args);
-  if (!s7_is_c_pointer_of_type(data, GtkTargetEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_target_entry_free", 1, data, "GtkTargetEntry*");
-  gtk_target_entry_free(s7_c_pointer(data));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_widget_get_hexpand(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_widget_get_hexpand "gboolean gtk_widget_get_hexpand(GtkWidget* widget)"
@@ -34169,20 +31602,6 @@ static s7_pointer lg_gtk_tooltip_set_markup(s7_scheme *sc, s7_pointer args)
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_tooltip_set_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_tooltip_set_icon "void gtk_tooltip_set_icon(GtkTooltip* tooltip, GdkPixbuf* pixbuf)"
-  s7_pointer _p;
-  s7_pointer tooltip, pixbuf;
-  _p = args;
-  tooltip = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(tooltip, GtkTooltip__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon", 1, tooltip, "GtkTooltip*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon", 2, pixbuf, "GdkPixbuf*");
-  gtk_tooltip_set_icon(s7_c_pointer(tooltip), s7_c_pointer(pixbuf));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_tooltip_set_custom(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tooltip_set_custom "void gtk_tooltip_set_custom(GtkTooltip* tooltip, GtkWidget* custom_widget)"
@@ -34240,15 +31659,6 @@ GtkCellRenderer* cell)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_clipboard_wait_is_uris_available(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_wait_is_uris_available "gboolean gtk_clipboard_wait_is_uris_available(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_wait_is_uris_available", 1, clipboard, "GtkClipboard*");
-  return(s7_make_boolean(sc, gtk_clipboard_wait_is_uris_available(s7_c_pointer(clipboard))));
-}
-
 static s7_pointer lg_gtk_toolbar_set_drop_highlight_item(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_toolbar_set_drop_highlight_item "void gtk_toolbar_set_drop_highlight_item(GtkToolbar* toolbar, \
@@ -34354,38 +31764,6 @@ static s7_pointer lg_gtk_progress_bar_get_show_text(s7_scheme *sc, s7_pointer ar
   return(s7_make_boolean(sc, gtk_progress_bar_get_show_text(s7_c_pointer(pbar))));
 }
 
-static s7_pointer lg_gtk_invisible_new_for_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_invisible_new_for_screen "GtkWidget* gtk_invisible_new_for_screen(GdkScreen* screen)"
-  s7_pointer screen;
-  screen = s7_car(args);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_new_for_screen", 1, screen, "GdkScreen*");
-  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_invisible_new_for_screen(s7_c_pointer(screen))));
-}
-
-static s7_pointer lg_gtk_invisible_set_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_invisible_set_screen "void gtk_invisible_set_screen(GtkInvisible* invisible, GdkScreen* screen)"
-  s7_pointer _p;
-  s7_pointer invisible, screen;
-  _p = args;
-  invisible = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(invisible, GtkInvisible__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_set_screen", 1, invisible, "GtkInvisible*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_set_screen", 2, screen, "GdkScreen*");
-  gtk_invisible_set_screen(s7_c_pointer(invisible), s7_c_pointer(screen));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_invisible_get_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_invisible_get_screen "GdkScreen* gtk_invisible_get_screen(GtkInvisible* invisible)"
-  s7_pointer invisible;
-  invisible = s7_car(args);
-  if (!s7_is_c_pointer_of_type(invisible, GtkInvisible__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_get_screen", 1, invisible, "GtkInvisible*");
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gtk_invisible_get_screen(s7_c_pointer(invisible))));
-}
-
 static s7_pointer lg_gtk_entry_get_icon_storage_type(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_entry_get_icon_storage_type "GtkImageType gtk_entry_get_icon_storage_type(GtkEntry* entry, \
@@ -34400,19 +31778,6 @@ GtkEntryIconPosition icon_pos)"
   return(s7_make_integer(sc, gtk_entry_get_icon_storage_type(s7_c_pointer(entry), s7_integer(icon_pos))));
 }
 
-static s7_pointer lg_gtk_entry_get_icon_pixbuf(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_entry_get_icon_pixbuf "GdkPixbuf* gtk_entry_get_icon_pixbuf(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
-  s7_pointer _p;
-  s7_pointer entry, icon_pos;
-  _p = args;
-  entry = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_get_icon_pixbuf", 1, entry, "GtkEntry*");
-  icon_pos = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_get_icon_pixbuf", 2, icon_pos, "GtkEntryIconPosition");
-  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_entry_get_icon_pixbuf(s7_c_pointer(entry), s7_integer(icon_pos))));
-}
-
 static s7_pointer lg_gtk_entry_get_icon_gicon(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_entry_get_icon_gicon "GIcon* gtk_entry_get_icon_gicon(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
@@ -34573,29 +31938,6 @@ static s7_pointer lg_gtk_window_get_skip_pager_hint(s7_scheme *sc, s7_pointer ar
   return(s7_make_boolean(sc, gtk_window_get_skip_pager_hint(s7_c_pointer(window))));
 }
 
-static s7_pointer lg_gtk_window_set_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_set_screen "void gtk_window_set_screen(GtkWindow* window, GdkScreen* screen)"
-  s7_pointer _p;
-  s7_pointer window, screen;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_screen", 1, window, "GtkWindow*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_screen", 2, screen, "GdkScreen*");
-  gtk_window_set_screen(s7_c_pointer(window), s7_c_pointer(screen));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_window_get_screen(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_get_screen "GdkScreen* gtk_window_get_screen(GtkWindow* window)"
-  s7_pointer window;
-  window = s7_car(args);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_get_screen", 1, window, "GtkWindow*");
-  return(s7_make_type_with_c_pointer(sc, GdkScreen__sym, gtk_window_get_screen(s7_c_pointer(window))));
-}
-
 static s7_pointer lg_gtk_window_set_icon_from_file(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_window_set_icon_from_file "gboolean gtk_window_set_icon_from_file(GtkWindow* window, \
@@ -34747,24 +32089,6 @@ static s7_pointer lg_gtk_selection_data_get_data(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, guchar__sym, (void *)gtk_selection_data_get_data(s7_c_pointer(selection_data))));
 }
 
-static s7_pointer lg_gtk_selection_owner_set_for_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_selection_owner_set_for_display "gboolean gtk_selection_owner_set_for_display(GdkDisplay* display, \
-GtkWidget* widget, GdkAtom selection, guint32 time)"
-  s7_pointer _p;
-  s7_pointer display, widget, selection, time;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set_for_display", 1, display, "GdkDisplay*");
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set_for_display", 2, widget, "GtkWidget*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set_for_display", 3, selection, "GdkAtom");
-  time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gtk_selection_owner_set_for_display", 4, time, "guint32");
-  return(s7_make_boolean(sc, gtk_selection_owner_set_for_display(s7_c_pointer(display), s7_c_pointer(widget), s7_c_pointer(selection), s7_integer(time))));
-}
-
 static s7_pointer lg_gtk_tool_shell_get_text_orientation(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_tool_shell_get_text_orientation "GtkOrientation gtk_tool_shell_get_text_orientation(GtkToolShell* shell)"
@@ -34929,23 +32253,6 @@ static s7_pointer lg_gtk_text_view_reset_im_context(s7_scheme *sc, s7_pointer ar
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_device_get_position(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_device_get_position "void gdk_device_get_position(GdkDevice* device, GdkScreen** screen, \
-gint* [x], gint* [y])"
-  s7_pointer _p;
-  s7_pointer device, screen;
-  gint ref_x;
-  gint ref_y;
-  _p = args;
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_device_get_position", 1, device, "GdkDevice*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen___sym)) s7_wrong_type_arg_error(sc, "gdk_device_get_position", 2, screen, "GdkScreen**");
-  gdk_device_get_position(s7_c_pointer(device), s7_c_pointer(screen), &ref_x, &ref_y);
-    return(s7_list(sc, 2, s7_make_integer(sc, ref_x), s7_make_integer(sc, ref_y)));
-}
-
 static s7_pointer lg_gdk_device_get_window_at_position(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_device_get_window_at_position "GdkWindow* gdk_device_get_window_at_position(GdkDevice* device, \
@@ -35117,37 +32424,6 @@ gint x, gint y, GtkTreePath** [path], GtkTreeViewColumn** [column], gint* [cell_
    }
 }
 
-static s7_pointer lg_gtk_widget_set_device_enabled(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_widget_set_device_enabled "void gtk_widget_set_device_enabled(GtkWidget* widget, GdkDevice* device, \
-gboolean enabled)"
-  s7_pointer _p;
-  s7_pointer widget, device, enabled;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_set_device_enabled", 1, widget, "GtkWidget*");
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_set_device_enabled", 2, device, "GdkDevice*");
-  enabled = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(enabled)) s7_wrong_type_arg_error(sc, "gtk_widget_set_device_enabled", 3, enabled, "gboolean");
-  gtk_widget_set_device_enabled(s7_c_pointer(widget), s7_c_pointer(device), lg_boolean(enabled));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_widget_get_device_enabled(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_widget_get_device_enabled "gboolean gtk_widget_get_device_enabled(GtkWidget* widget, \
-GdkDevice* device)"
-  s7_pointer _p;
-  s7_pointer widget, device;
-  _p = args;
-  widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_device_enabled", 1, widget, "GtkWidget*");
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_device_enabled", 2, device, "GdkDevice*");
-  return(s7_make_boolean(sc, gtk_widget_get_device_enabled(s7_c_pointer(widget), s7_c_pointer(device))));
-}
-
 static s7_pointer lg_gtk_window_set_has_user_ref_count(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_window_set_has_user_ref_count "void gtk_window_set_has_user_ref_count(GtkWindow* window, \
@@ -35163,50 +32439,6 @@ gboolean setting)"
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_selection_send_notify(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_send_notify "void gdk_selection_send_notify(GdkWindow* requestor, GdkAtom selection, \
-GdkAtom target, GdkAtom property, guint32 time_)"
-  s7_pointer _p;
-  s7_pointer requestor, selection, target, property, time_;
-  _p = args;
-  requestor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(requestor, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify", 1, requestor, "GdkWindow*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify", 2, selection, "GdkAtom");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify", 3, target, "GdkAtom");
-  property = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(property, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify", 4, property, "GdkAtom");
-  time_ = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time_)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify", 5, time_, "guint32");
-  gdk_selection_send_notify(s7_c_pointer(requestor), s7_c_pointer(selection), s7_c_pointer(target), s7_c_pointer(property), s7_integer(time_));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_selection_send_notify_for_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_selection_send_notify_for_display "void gdk_selection_send_notify_for_display(GdkDisplay* display, \
-GdkWindow* requestor, GdkAtom selection, GdkAtom target, GdkAtom property, guint32 time_)"
-  s7_pointer _p;
-  s7_pointer display, requestor, selection, target, property, time_;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 1, display, "GdkDisplay*");
-  requestor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(requestor, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 2, requestor, "GdkWindow*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 3, selection, "GdkAtom");
-  target = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(target, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 4, target, "GdkAtom");
-  property = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(property, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 5, property, "GdkAtom");
-  time_ = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time_)) s7_wrong_type_arg_error(sc, "gdk_selection_send_notify_for_display", 6, time_, "guint32");
-  gdk_selection_send_notify_for_display(s7_c_pointer(display), s7_c_pointer(requestor), s7_c_pointer(selection), s7_c_pointer(target), s7_c_pointer(property), s7_integer(time_));
-  return(lg_false);
-}
-
 static s7_pointer lg_gdk_rgba_copy(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_rgba_copy "GdkRGBA* gdk_rgba_copy(GdkRGBA* rgba)"
@@ -36832,16 +34064,6 @@ static s7_pointer lg_pango_font_map_changed(s7_scheme *sc, s7_pointer args)
 #endif
 
 #if GTK_CHECK_VERSION(3, 10, 0)
-static s7_pointer lg_gdk_set_allowed_backends(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_set_allowed_backends "void gdk_set_allowed_backends(gchar* backends)"
-  s7_pointer backends;
-  backends = s7_car(args);
-  if (!s7_is_string(backends)) s7_wrong_type_arg_error(sc, "gdk_set_allowed_backends", 1, backends, "gchar*");
-  gdk_set_allowed_backends((const gchar*)s7_string(backends));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_box_set_baseline_position(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_box_set_baseline_position "void gtk_box_set_baseline_position(GtkBox* box, GtkBaselinePosition position)"
@@ -37786,30 +35008,6 @@ static s7_pointer lg_gtk_search_bar_set_search_mode(s7_scheme *sc, s7_pointer ar
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_search_bar_get_show_close_button(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_search_bar_get_show_close_button "gboolean gtk_search_bar_get_show_close_button(GtkSearchBar* bar)"
-  s7_pointer bar;
-  bar = s7_car(args);
-  if (!s7_is_c_pointer_of_type(bar, GtkSearchBar__sym)) s7_wrong_type_arg_error(sc, "gtk_search_bar_get_show_close_button", 1, bar, "GtkSearchBar*");
-  return(s7_make_boolean(sc, gtk_search_bar_get_show_close_button(s7_c_pointer(bar))));
-}
-
-static s7_pointer lg_gtk_search_bar_set_show_close_button(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_search_bar_set_show_close_button "void gtk_search_bar_set_show_close_button(GtkSearchBar* bar, \
-gboolean visible)"
-  s7_pointer _p;
-  s7_pointer bar, visible;
-  _p = args;
-  bar = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(bar, GtkSearchBar__sym)) s7_wrong_type_arg_error(sc, "gtk_search_bar_set_show_close_button", 1, bar, "GtkSearchBar*");
-  visible = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(visible)) s7_wrong_type_arg_error(sc, "gtk_search_bar_set_show_close_button", 2, visible, "gboolean");
-  gtk_search_bar_set_show_close_button(s7_c_pointer(bar), lg_boolean(visible));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_search_bar_handle_event(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_search_bar_handle_event "gboolean gtk_search_bar_handle_event(GtkSearchBar* bar, GdkEvent* event)"
@@ -37848,22 +35046,6 @@ int scale, GdkWindow* for_window)"
   return(s7_make_type_with_c_pointer(sc, cairo_surface_t__sym, gdk_cairo_surface_create_from_pixbuf(s7_c_pointer(pixbuf), s7_integer(scale), s7_c_pointer(for_window))));
 }
 
-static s7_pointer lg_gdk_device_get_position_double(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_device_get_position_double "void gdk_device_get_position_double(GdkDevice* device, GdkScreen** [screen], \
-gdouble* [x], gdouble* [y])"
-  s7_pointer _p;
-  s7_pointer device;
-  GdkScreen* ref_screen = NULL;
-  gdouble ref_x;
-  gdouble ref_y;
-  _p = args;
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_device_get_position_double", 1, device, "GdkDevice*");
-  gdk_device_get_position_double(s7_c_pointer(device), &ref_screen, &ref_x, &ref_y);
-    return(s7_list(sc, 3, s7_make_c_pointer(sc, ref_screen), s7_make_real(sc, ref_x), s7_make_real(sc, ref_y)));
-}
-
 static s7_pointer lg_gdk_device_get_window_at_position_double(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_device_get_window_at_position_double "GdkWindow* gdk_device_get_window_at_position_double(GdkDevice* device, \
@@ -38148,42 +35330,6 @@ GtkTreePath* path, GtkTreeIter* iter, gint* new_order, gint length)"
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_cursor_new_from_surface(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_new_from_surface "GdkCursor* gdk_cursor_new_from_surface(GdkDisplay* display, \
-cairo_surface_t* surface, gdouble x, gdouble y)"
-  s7_pointer _p;
-  s7_pointer display, surface, x, y;
-  _p = args;
-  display = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_surface", 1, display, "GdkDisplay*");
-  surface = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(surface, cairo_surface_t__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_surface", 2, surface, "cairo_surface_t*");
-  x = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(x)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_surface", 3, x, "gdouble");
-  y = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(y)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_surface", 4, y, "gdouble");
-  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_from_surface(s7_c_pointer(display), s7_c_pointer(surface), s7_real(x), s7_real(y))));
-}
-
-static s7_pointer lg_gdk_cursor_get_surface(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_cursor_get_surface "cairo_surface_t* gdk_cursor_get_surface(GdkCursor* cursor, gdouble* [x_hot], \
-gdouble* [y_hot])"
-  s7_pointer _p;
-  s7_pointer cursor;
-  gdouble ref_x_hot;
-  gdouble ref_y_hot;
-  _p = args;
-  cursor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_surface", 1, cursor, "GdkCursor*");
-  {
-    s7_pointer result;
-    result = s7_make_type_with_c_pointer(sc, cairo_surface_t__sym, gdk_cursor_get_surface(s7_c_pointer(cursor), &ref_x_hot, &ref_y_hot));
-      return(s7_list(sc, 3, result, s7_make_real(sc, ref_x_hot), s7_make_real(sc, ref_y_hot)));
-   }
-}
-
 static s7_pointer lg_gdk_event_get_event_type(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_event_get_event_type "GdkEventType gdk_event_get_event_type(GdkEvent* event)"
@@ -38216,30 +35362,6 @@ static s7_pointer lg_gtk_entry_get_tabs(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, PangoTabArray__sym, gtk_entry_get_tabs(s7_c_pointer(entry))));
 }
 
-static s7_pointer lg_gtk_header_bar_get_show_close_button(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_header_bar_get_show_close_button "gboolean gtk_header_bar_get_show_close_button(GtkHeaderBar* bar)"
-  s7_pointer bar;
-  bar = s7_car(args);
-  if (!s7_is_c_pointer_of_type(bar, GtkHeaderBar__sym)) s7_wrong_type_arg_error(sc, "gtk_header_bar_get_show_close_button", 1, bar, "GtkHeaderBar*");
-  return(s7_make_boolean(sc, gtk_header_bar_get_show_close_button(s7_c_pointer(bar))));
-}
-
-static s7_pointer lg_gtk_header_bar_set_show_close_button(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_header_bar_set_show_close_button "void gtk_header_bar_set_show_close_button(GtkHeaderBar* bar, \
-gboolean setting)"
-  s7_pointer _p;
-  s7_pointer bar, setting;
-  _p = args;
-  bar = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(bar, GtkHeaderBar__sym)) s7_wrong_type_arg_error(sc, "gtk_header_bar_set_show_close_button", 1, bar, "GtkHeaderBar*");
-  setting = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(setting)) s7_wrong_type_arg_error(sc, "gtk_header_bar_set_show_close_button", 2, setting, "gboolean");
-  gtk_header_bar_set_show_close_button(s7_c_pointer(bar), lg_boolean(setting));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_list_box_prepend(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_list_box_prepend "void gtk_list_box_prepend(GtkListBox* list_box, GtkWidget* child)"
@@ -38658,30 +35780,6 @@ static s7_pointer lg_gtk_flow_box_invalidate_sort(s7_scheme *sc, s7_pointer args
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_window_set_event_compression(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_set_event_compression "void gdk_window_set_event_compression(GdkWindow* window, \
-gboolean event_compression)"
-  s7_pointer _p;
-  s7_pointer window, event_compression;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_set_event_compression", 1, window, "GdkWindow*");
-  event_compression = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_boolean(event_compression)) s7_wrong_type_arg_error(sc, "gdk_window_set_event_compression", 2, event_compression, "gboolean");
-  gdk_window_set_event_compression(s7_c_pointer(window), lg_boolean(event_compression));
-  return(lg_false);
-}
-
-static s7_pointer lg_gdk_window_get_event_compression(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_get_event_compression "gboolean gdk_window_get_event_compression(GdkWindow* window)"
-  s7_pointer window;
-  window = s7_car(args);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_get_event_compression", 1, window, "GdkWindow*");
-  return(s7_make_boolean(sc, gdk_window_get_event_compression(s7_c_pointer(window))));
-}
-
 static s7_pointer lg_gtk_places_sidebar_set_local_only(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_places_sidebar_set_local_only "void gtk_places_sidebar_set_local_only(GtkPlacesSidebar* sidebar, \
@@ -39844,21 +36942,6 @@ int source_type, int buffer_scale, int x, int y, int width, int height)"
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_window_mark_paint_from_clip(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_mark_paint_from_clip "void gdk_window_mark_paint_from_clip(GdkWindow* window, \
-cairo_t* cr)"
-  s7_pointer _p;
-  s7_pointer window, cr;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_mark_paint_from_clip", 1, window, "GdkWindow*");
-  cr = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(cr, cairo_t__sym)) s7_wrong_type_arg_error(sc, "gdk_window_mark_paint_from_clip", 2, cr, "cairo_t*");
-  gdk_window_mark_paint_from_clip(s7_c_pointer(window), s7_c_pointer(cr));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_label_set_xalign(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_label_set_xalign "void gtk_label_set_xalign(GtkLabel* label, gfloat xalign)"
@@ -40361,27 +37444,6 @@ gdouble y, gdouble width, gdouble height)"
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_render_icon(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_render_icon "void gtk_render_icon(GtkStyleContext* context, cairo_t* cr, GdkPixbuf* pixbuf, \
-gdouble x, gdouble y)"
-  s7_pointer _p;
-  s7_pointer context, cr, pixbuf, x, y;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GtkStyleContext__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 1, context, "GtkStyleContext*");
-  cr = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(cr, cairo_t__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 2, cr, "cairo_t*");
-  pixbuf = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 3, pixbuf, "GdkPixbuf*");
-  x = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(x)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 4, x, "gdouble");
-  y = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(y)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 5, y, "gdouble");
-  gtk_render_icon(s7_c_pointer(context), s7_c_pointer(cr), s7_c_pointer(pixbuf), s7_real(x), s7_real(y));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_render_icon_surface(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_render_icon_surface "void gtk_render_icon_surface(GtkStyleContext* context, cairo_t* cr, \
@@ -40753,15 +37815,6 @@ static s7_pointer lg_gdk_gl_context_realize(s7_scheme *sc, s7_pointer args)
    }
 }
 
-static s7_pointer lg_gtk_clipboard_get_default(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get_default "GtkClipboard* gtk_clipboard_get_default(GdkDisplay* display)"
-  s7_pointer display;
-  display = s7_car(args);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_default", 1, display, "GdkDisplay*");
-  return(s7_make_type_with_c_pointer(sc, GtkClipboard__sym, gtk_clipboard_get_default(s7_c_pointer(display))));
-}
-
 static s7_pointer lg_gtk_drag_cancel(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_drag_cancel "void gtk_drag_cancel(GdkDragContext* context)"
@@ -41180,38 +38233,6 @@ static s7_pointer lg_gtk_widget_get_font_map(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, PangoFontMap__sym, gtk_widget_get_font_map(s7_c_pointer(widget))));
 }
 
-static s7_pointer lg_gdk_window_fullscreen_on_monitor(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_window_fullscreen_on_monitor "void gdk_window_fullscreen_on_monitor(GdkWindow* window, \
-gint monitor)"
-  s7_pointer _p;
-  s7_pointer window, monitor;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_window_fullscreen_on_monitor", 1, window, "GdkWindow*");
-  monitor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(monitor)) s7_wrong_type_arg_error(sc, "gdk_window_fullscreen_on_monitor", 2, monitor, "gint");
-  gdk_window_fullscreen_on_monitor(s7_c_pointer(window), s7_integer(monitor));
-  return(lg_false);
-}
-
-static s7_pointer lg_gtk_window_fullscreen_on_monitor(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_window_fullscreen_on_monitor "void gtk_window_fullscreen_on_monitor(GtkWindow* window, \
-GdkScreen* screen, gint monitor)"
-  s7_pointer _p;
-  s7_pointer window, screen, monitor;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_fullscreen_on_monitor", 1, window, "GtkWindow*");
-  screen = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(screen, GdkScreen__sym)) s7_wrong_type_arg_error(sc, "gtk_window_fullscreen_on_monitor", 2, screen, "GdkScreen*");
-  monitor = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(monitor)) s7_wrong_type_arg_error(sc, "gtk_window_fullscreen_on_monitor", 3, monitor, "gint");
-  gtk_window_fullscreen_on_monitor(s7_c_pointer(window), s7_c_pointer(screen), s7_integer(monitor));
-  return(lg_false);
-}
-
 static s7_pointer lg_gtk_text_view_set_top_margin(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_text_view_set_top_margin "void gtk_text_view_set_top_margin(GtkTextView* text_view, gint top_margin)"
@@ -41463,26 +38484,6 @@ static s7_pointer lg_gdk_display_list_seats(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GList__sym, gdk_display_list_seats(s7_c_pointer(display))));
 }
 
-static s7_pointer lg_gdk_drag_begin_from_point(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_begin_from_point "GdkDragContext* gdk_drag_begin_from_point(GdkWindow* window, GdkDevice* device, \
-GList* targets, gint x_root, gint y_root)"
-  s7_pointer _p;
-  s7_pointer window, device, targets, x_root, y_root;
-  _p = args;
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin_from_point", 1, window, "GdkWindow*");
-  device = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin_from_point", 2, device, "GdkDevice*");
-  targets = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(targets, GList__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin_from_point", 3, targets, "GList*");
-  x_root = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(x_root)) s7_wrong_type_arg_error(sc, "gdk_drag_begin_from_point", 4, x_root, "gint");
-  y_root = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(y_root)) s7_wrong_type_arg_error(sc, "gdk_drag_begin_from_point", 5, y_root, "gint");
-  return(s7_make_type_with_c_pointer(sc, GdkDragContext__sym, gdk_drag_begin_from_point(s7_c_pointer(window), s7_c_pointer(device), s7_c_pointer(targets), s7_integer(x_root), s7_integer(y_root))));
-}
-
 static s7_pointer lg_gdk_drag_drop_done(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_drag_drop_done "void gdk_drag_drop_done(GdkDragContext* context, gboolean success)"
@@ -41605,22 +38606,6 @@ static s7_pointer lg_gdk_seat_get_keyboard(s7_scheme *sc, s7_pointer args)
   return(s7_make_type_with_c_pointer(sc, GdkDevice__sym, gdk_seat_get_keyboard(s7_c_pointer(seat))));
 }
 
-static s7_pointer lg_gdk_drag_context_manage_dnd(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_drag_context_manage_dnd "gboolean gdk_drag_context_manage_dnd(GdkDragContext* context, \
-GdkWindow* ipc_window, GdkDragAction actions)"
-  s7_pointer _p;
-  s7_pointer context, ipc_window, actions;
-  _p = args;
-  context = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_manage_dnd", 1, context, "GdkDragContext*");
-  ipc_window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(ipc_window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_manage_dnd", 2, ipc_window, "GdkWindow*");
-  actions = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gdk_drag_context_manage_dnd", 3, actions, "GdkDragAction");
-  return(s7_make_boolean(sc, gdk_drag_context_manage_dnd(s7_c_pointer(context), s7_c_pointer(ipc_window), s7_integer(actions))));
-}
-
 static s7_pointer lg_gdk_event_is_scroll_stop_event(s7_scheme *sc, s7_pointer args)
 {
   #define H_gdk_event_is_scroll_stop_event "gboolean gdk_event_is_scroll_stop_event(GdkEvent* event)"
@@ -41707,24 +38692,6 @@ static s7_pointer lg_gdk_gl_context_get_use_es(s7_scheme *sc, s7_pointer args)
   return(s7_make_boolean(sc, gdk_gl_context_get_use_es(s7_c_pointer(context))));
 }
 
-static s7_pointer lg_gdk_pango_context_get_for_display(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gdk_pango_context_get_for_display "PangoContext* gdk_pango_context_get_for_display(GdkDisplay* display)"
-  s7_pointer display;
-  display = s7_car(args);
-  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_pango_context_get_for_display", 1, display, "GdkDisplay*");
-  return(s7_make_type_with_c_pointer(sc, PangoContext__sym, gdk_pango_context_get_for_display(s7_c_pointer(display))));
-}
-
-static s7_pointer lg_gtk_clipboard_get_selection(s7_scheme *sc, s7_pointer args)
-{
-  #define H_gtk_clipboard_get_selection "GdkAtom gtk_clipboard_get_selection(GtkClipboard* clipboard)"
-  s7_pointer clipboard;
-  clipboard = s7_car(args);
-  if (!s7_is_c_pointer_of_type(clipboard, GtkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_clipboard_get_selection", 1, clipboard, "GtkClipboard*");
-  return(s7_make_type_with_c_pointer(sc, GdkAtom_sym, gtk_clipboard_get_selection(s7_c_pointer(clipboard))));
-}
-
 static s7_pointer lg_gtk_gl_area_set_use_es(s7_scheme *sc, s7_pointer args)
 {
   #define H_gtk_gl_area_set_use_es "void gtk_gl_area_set_use_es(GtkGLArea* area, gboolean use_es)"
@@ -43428,306 +40395,2949 @@ double* [dy])"
    }
 }
 
-static s7_pointer lg_gdk_event_get_touchpad_angle_delta(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gdk_event_get_touchpad_angle_delta(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_touchpad_angle_delta "gboolean gdk_event_get_touchpad_angle_delta(GdkEvent* event, \
+double* [delta])"
+  s7_pointer _p;
+  s7_pointer event;
+  double ref_delta;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touchpad_angle_delta", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_touchpad_angle_delta(s7_c_pointer(event), &ref_delta));
+      return(s7_list(sc, 2, result, s7_make_real(sc, ref_delta)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_touchpad_scale(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_touchpad_scale "gboolean gdk_event_get_touchpad_scale(GdkEvent* event, double* [scale])"
+  s7_pointer _p;
+  s7_pointer event;
+  double ref_scale;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touchpad_scale", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_touchpad_scale(s7_c_pointer(event), &ref_scale));
+      return(s7_list(sc, 2, result, s7_make_real(sc, ref_scale)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_touch_emulating_pointer(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_touch_emulating_pointer "gboolean gdk_event_get_touch_emulating_pointer(GdkEvent* event, \
+gboolean* [emulating])"
+  s7_pointer _p;
+  s7_pointer event;
+  gboolean ref_emulating;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touch_emulating_pointer", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_touch_emulating_pointer(s7_c_pointer(event), &ref_emulating));
+      return(s7_list(sc, 2, result, s7_make_boolean(sc, ref_emulating)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_grab_window(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_grab_window "gboolean gdk_event_get_grab_window(GdkEvent* event, GdkWindow** [window])"
+  s7_pointer _p;
+  s7_pointer event;
+  GdkWindow* ref_window = NULL;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_grab_window", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_grab_window(s7_c_pointer(event), &ref_window));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_window)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_focus_in(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_focus_in "gboolean gdk_event_get_focus_in(GdkEvent* event, gboolean* [focus_in])"
+  s7_pointer _p;
+  s7_pointer event;
+  gboolean ref_focus_in;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_focus_in", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_focus_in(s7_c_pointer(event), &ref_focus_in));
+      return(s7_list(sc, 2, result, s7_make_boolean(sc, ref_focus_in)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_pad_group_mode(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_pad_group_mode "gboolean gdk_event_get_pad_group_mode(GdkEvent* event, guint* [group], \
+guint* [mode])"
+  s7_pointer _p;
+  s7_pointer event;
+  guint ref_group;
+  guint ref_mode;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_group_mode", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_pad_group_mode(s7_c_pointer(event), &ref_group, &ref_mode));
+      return(s7_list(sc, 3, result, s7_make_integer(sc, ref_group), s7_make_integer(sc, ref_mode)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_pad_button(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_pad_button "gboolean gdk_event_get_pad_button(GdkEvent* event, guint* [button])"
+  s7_pointer _p;
+  s7_pointer event;
+  guint ref_button;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_button", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_pad_button(s7_c_pointer(event), &ref_button));
+      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_button)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_pad_axis_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_pad_axis_value "gboolean gdk_event_get_pad_axis_value(GdkEvent* event, guint* [index], \
+gdouble* [value])"
+  s7_pointer _p;
+  s7_pointer event;
+  guint ref_index;
+  gdouble ref_value;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_axis_value", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_pad_axis_value(s7_c_pointer(event), &ref_index, &ref_value));
+      return(s7_list(sc, 3, result, s7_make_integer(sc, ref_index), s7_make_real(sc, ref_value)));
+   }
+}
+
+static s7_pointer lg_gdk_event_get_axes(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_event_get_axes "gboolean gdk_event_get_axes(GdkEvent* event, gdouble** [axes], guint* [n_axes])"
+  s7_pointer _p;
+  s7_pointer event;
+  gdouble* ref_axes = NULL;
+  guint ref_n_axes;
+  _p = args;
+  event = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_axes", 1, event, "GdkEvent*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_event_get_axes(s7_c_pointer(event), &ref_axes, &ref_n_axes));
+      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_axes), s7_make_integer(sc, ref_n_axes)));
+   }
+}
+
+static s7_pointer lg_gtk_snapshot_push_blur(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_snapshot_push_blur "void gtk_snapshot_push_blur(GtkSnapshot* snapshot, double radius, \
+char* name)"
+  s7_pointer _p;
+  s7_pointer snapshot, radius, name;
+  _p = args;
+  snapshot = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(snapshot, GtkSnapshot__sym)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 1, snapshot, "GtkSnapshot*");
+  radius = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(radius)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 2, radius, "double");
+  name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 3, name, "char*");
+  gtk_snapshot_push_blur(s7_c_pointer(snapshot), s7_real(radius), (const char*)(char*)s7_string(name));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_emoji_chooser_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_emoji_chooser_new "GtkWidget* gtk_emoji_chooser_new( void)"
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_emoji_chooser_new()));
+}
+
+static s7_pointer lg_gtk_event_controller_scroll_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_event_controller_scroll_new "GtkEventController* gtk_event_controller_scroll_new(GtkWidget* widget, \
+GtkEventControllerScrollFlags flags)"
+  s7_pointer _p;
+  s7_pointer widget, flags;
+  _p = args;
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_new", 1, widget, "GtkWidget*");
+  flags = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_new", 2, flags, "GtkEventControllerScrollFlags");
+  return(s7_make_type_with_c_pointer(sc, GtkEventController__sym, gtk_event_controller_scroll_new(s7_c_pointer(widget), s7_integer(flags))));
+}
+
+static s7_pointer lg_gtk_event_controller_scroll_set_flags(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_event_controller_scroll_set_flags "void gtk_event_controller_scroll_set_flags(GtkEventControllerScroll* controller, \
+GtkEventControllerScrollFlags flags)"
+  s7_pointer _p;
+  s7_pointer controller, flags;
+  _p = args;
+  controller = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(controller, GtkEventControllerScroll__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_set_flags", 1, controller, "GtkEventControllerScroll*");
+  flags = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_set_flags", 2, flags, "GtkEventControllerScrollFlags");
+  gtk_event_controller_scroll_set_flags(s7_c_pointer(controller), s7_integer(flags));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_event_controller_scroll_get_flags(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_event_controller_scroll_get_flags "GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags(GtkEventControllerScroll* controller)"
+  s7_pointer controller;
+  controller = s7_car(args);
+  if (!s7_is_c_pointer_of_type(controller, GtkEventControllerScroll__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_get_flags", 1, controller, "GtkEventControllerScroll*");
+  return(s7_make_integer(sc, gtk_event_controller_scroll_get_flags(s7_c_pointer(controller))));
+}
+
+static s7_pointer lg_gdk_app_launch_context_set_desktop(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_app_launch_context_set_desktop "void gdk_app_launch_context_set_desktop(GdkAppLaunchContext* context, \
+gint desktop)"
+  s7_pointer _p;
+  s7_pointer context, desktop;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkAppLaunchContext__sym)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_desktop", 1, context, "GdkAppLaunchContext*");
+  desktop = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(desktop)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_desktop", 2, desktop, "gint");
+  gdk_app_launch_context_set_desktop(s7_c_pointer(context), s7_integer(desktop));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_app_launch_context_set_timestamp(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_app_launch_context_set_timestamp "void gdk_app_launch_context_set_timestamp(GdkAppLaunchContext* context, \
+guint32 timestamp)"
+  s7_pointer _p;
+  s7_pointer context, timestamp;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkAppLaunchContext__sym)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_timestamp", 1, context, "GdkAppLaunchContext*");
+  timestamp = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(timestamp)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_timestamp", 2, timestamp, "guint32");
+  gdk_app_launch_context_set_timestamp(s7_c_pointer(context), s7_integer(timestamp));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_app_launch_context_set_icon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_app_launch_context_set_icon "void gdk_app_launch_context_set_icon(GdkAppLaunchContext* context, \
+GIcon* icon)"
+  s7_pointer _p;
+  s7_pointer context, icon;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkAppLaunchContext__sym)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_icon", 1, context, "GdkAppLaunchContext*");
+  icon = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon, GIcon__sym)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_icon", 2, icon, "GIcon*");
+  gdk_app_launch_context_set_icon(s7_c_pointer(context), s7_c_pointer(icon));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_app_launch_context_set_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_app_launch_context_set_icon_name "void gdk_app_launch_context_set_icon_name(GdkAppLaunchContext* context, \
+char* icon_name)"
+  s7_pointer _p;
+  s7_pointer context, icon_name;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkAppLaunchContext__sym)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_icon_name", 1, context, "GdkAppLaunchContext*");
+  icon_name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gdk_app_launch_context_set_icon_name", 2, icon_name, "char*");
+  gdk_app_launch_context_set_icon_name(s7_c_pointer(context), (const char*)(char*)s7_string(icon_name));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_get_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_get_display "GdkDisplay* gdk_clipboard_get_display(GdkClipboard* clipboard)"
+  s7_pointer clipboard;
+  clipboard = s7_car(args);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_get_display", 1, clipboard, "GdkClipboard*");
+  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gdk_clipboard_get_display(s7_c_pointer(clipboard))));
+}
+
+static s7_pointer lg_gdk_clipboard_get_formats(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_get_formats "GdkContentFormats* gdk_clipboard_get_formats(GdkClipboard* clipboard)"
+  s7_pointer clipboard;
+  clipboard = s7_car(args);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_get_formats", 1, clipboard, "GdkClipboard*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_clipboard_get_formats(s7_c_pointer(clipboard))));
+}
+
+static s7_pointer lg_gdk_clipboard_is_local(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_is_local "gboolean gdk_clipboard_is_local(GdkClipboard* clipboard)"
+  s7_pointer clipboard;
+  clipboard = s7_car(args);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_is_local", 1, clipboard, "GdkClipboard*");
+  return(s7_make_boolean(sc, gdk_clipboard_is_local(s7_c_pointer(clipboard))));
+}
+
+static s7_pointer lg_gdk_clipboard_get_content(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_get_content "GdkContentProvider* gdk_clipboard_get_content(GdkClipboard* clipboard)"
+  s7_pointer clipboard;
+  clipboard = s7_car(args);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_get_content", 1, clipboard, "GdkClipboard*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentProvider__sym, gdk_clipboard_get_content(s7_c_pointer(clipboard))));
+}
+
+static s7_pointer lg_gdk_clipboard_store_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_store_async "void gdk_clipboard_store_async(GdkClipboard* clipboard, int io_priority, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer clipboard, io_priority, cancellable, callback, user_data;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_async", 1, clipboard, "GdkClipboard*");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_async", 2, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_async", 3, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_async", 4, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_async", 5, user_data, "gpointer");
+  gdk_clipboard_store_async(s7_c_pointer(clipboard), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_store_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_store_finish "gboolean gdk_clipboard_store_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer clipboard, result;
+  GError* ref_error = NULL;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_finish", 1, clipboard, "GdkClipboard*");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_store_finish", 2, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_clipboard_store_finish(s7_c_pointer(clipboard), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_clipboard_read_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_async "void gdk_clipboard_read_async(GdkClipboard* clipboard, char** mime_types, \
+int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer clipboard, mime_types, io_priority, cancellable, callback, user_data;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 1, clipboard, "GdkClipboard*");
+  mime_types = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(mime_types, char___sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 2, mime_types, "char**");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 3, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 4, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 5, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_async", 6, user_data, "gpointer");
+  gdk_clipboard_read_async(s7_c_pointer(clipboard), s7_c_pointer(mime_types), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_read_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_finish "GInputStream* gdk_clipboard_read_finish(GdkClipboard* clipboard, \
+har** out_mime_type, GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer clipboard, out_mime_type, result;
+  GError* ref_error = NULL;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_finish", 1, clipboard, "GdkClipboard*");
+  out_mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(out_mime_type, har___sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_finish", 2, out_mime_type, "har**");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_finish", 3, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GInputStream__sym, gdk_clipboard_read_finish(s7_c_pointer(clipboard), s7_c_pointer(out_mime_type), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_clipboard_read_value_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_value_async "void gdk_clipboard_read_value_async(GdkClipboard* clipboard, \
+GType type, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer clipboard, type, io_priority, cancellable, callback, user_data;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 1, clipboard, "GdkClipboard*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 2, type, "GType");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 3, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 4, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 5, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_async", 6, user_data, "gpointer");
+  gdk_clipboard_read_value_async(s7_c_pointer(clipboard), s7_integer(type), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_read_value_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_value_finish "GValue* gdk_clipboard_read_value_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer clipboard, result;
+  GError* ref_error = NULL;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_finish", 1, clipboard, "GdkClipboard*");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_value_finish", 2, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GValue__sym, gdk_clipboard_read_value_finish(s7_c_pointer(clipboard), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_clipboard_read_texture_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_texture_async "void gdk_clipboard_read_texture_async(GdkClipboard* clipboard, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer clipboard, cancellable, callback, user_data;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_async", 1, clipboard, "GdkClipboard*");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_async", 2, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_async", 3, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_async", 4, user_data, "gpointer");
+  gdk_clipboard_read_texture_async(s7_c_pointer(clipboard), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_read_texture_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_texture_finish "GdkTexture* gdk_clipboard_read_texture_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer clipboard, result;
+  GError* ref_error = NULL;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_finish", 1, clipboard, "GdkClipboard*");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_texture_finish", 2, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_clipboard_read_texture_finish(s7_c_pointer(clipboard), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_clipboard_read_text_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_text_async "void gdk_clipboard_read_text_async(GdkClipboard* clipboard, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer clipboard, cancellable, callback, user_data;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_async", 1, clipboard, "GdkClipboard*");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_async", 2, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_async", 3, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_async", 4, user_data, "gpointer");
+  gdk_clipboard_read_text_async(s7_c_pointer(clipboard), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_read_text_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_read_text_finish "char* gdk_clipboard_read_text_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer clipboard, result;
+  GError* ref_error = NULL;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_finish", 1, clipboard, "GdkClipboard*");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_read_text_finish", 2, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_string(sc, gdk_clipboard_read_text_finish(s7_c_pointer(clipboard), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_clipboard_set_content(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set_content "gboolean gdk_clipboard_set_content(GdkClipboard* clipboard, GdkContentProvider* provider)"
+  s7_pointer _p;
+  s7_pointer clipboard, provider;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_content", 1, clipboard, "GdkClipboard*");
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_content", 2, provider, "GdkContentProvider*");
+  return(s7_make_boolean(sc, gdk_clipboard_set_content(s7_c_pointer(clipboard), s7_c_pointer(provider))));
+}
+
+static s7_pointer lg_gdk_clipboard_set(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set "void gdk_clipboard_set(GdkClipboard* clipboard, GType type, ...)"
+  s7_pointer _p;
+  s7_pointer clipboard, type;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set", 1, clipboard, "GdkClipboard*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set", 2, type, "GType");
+  gdk_clipboard_set(s7_c_pointer(clipboard), s7_integer(type));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_set_valist(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set_valist "void gdk_clipboard_set_valist(GdkClipboard* clipboard, GType type, \
+va_list args)"
+  s7_pointer _p;
+  s7_pointer clipboard, type, args;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_valist", 1, clipboard, "GdkClipboard*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_valist", 2, type, "GType");
+  args = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(args, va_list_sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_valist", 3, args, "va_list");
+  gdk_clipboard_set_valist(s7_c_pointer(clipboard), s7_integer(type), s7_c_pointer(args));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_set_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set_value "void gdk_clipboard_set_value(GdkClipboard* clipboard, GValue* value)"
+  s7_pointer _p;
+  s7_pointer clipboard, value;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_value", 1, clipboard, "GdkClipboard*");
+  value = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(value, GValue__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_value", 2, value, "GValue*");
+  gdk_clipboard_set_value(s7_c_pointer(clipboard), s7_c_pointer(value));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_set_text(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set_text "void gdk_clipboard_set_text(GdkClipboard* clipboard, char* text)"
+  s7_pointer _p;
+  s7_pointer clipboard, text;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_text", 1, clipboard, "GdkClipboard*");
+  text = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(text)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_text", 2, text, "char*");
+  gdk_clipboard_set_text(s7_c_pointer(clipboard), (char*)s7_string(text));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_clipboard_set_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_clipboard_set_texture "void gdk_clipboard_set_texture(GdkClipboard* clipboard, GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer clipboard, texture;
+  _p = args;
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_texture", 1, clipboard, "GdkClipboard*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gdk_clipboard_set_texture", 2, texture, "GdkTexture*");
+  gdk_clipboard_set_texture(s7_c_pointer(clipboard), s7_c_pointer(texture));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_intern_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_intern_mime_type "char* gdk_intern_mime_type(char* string)"
+  s7_pointer string;
+  string = s7_car(args);
+  if (!s7_is_string(string)) s7_wrong_type_arg_error(sc, "gdk_intern_mime_type", 1, string, "char*");
+  return(s7_make_string(sc, gdk_intern_mime_type((const char*)(char*)s7_string(string))));
+}
+
+static s7_pointer lg_gdk_content_formats_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_new "GdkContentFormats* gdk_content_formats_new(char** mime_types, guint n_mime_types)"
+  s7_pointer _p;
+  s7_pointer mime_types, n_mime_types;
+  _p = args;
+  mime_types = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(mime_types, char___sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_new", 1, mime_types, "char**");
+  n_mime_types = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(n_mime_types)) s7_wrong_type_arg_error(sc, "gdk_content_formats_new", 2, n_mime_types, "guint");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_new(s7_c_pointer(mime_types), s7_integer(n_mime_types))));
+}
+
+static s7_pointer lg_gdk_content_formats_new_for_gtype(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_new_for_gtype "GdkContentFormats* gdk_content_formats_new_for_gtype(GType type)"
+  s7_pointer type;
+  type = s7_car(args);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_formats_new_for_gtype", 1, type, "GType");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_new_for_gtype(s7_integer(type))));
+}
+
+static s7_pointer lg_gdk_content_formats_ref(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_ref "GdkContentFormats* gdk_content_formats_ref(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_ref", 1, formats, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_ref(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_formats_unref(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_unref "void gdk_content_formats_unref(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_unref", 1, formats, "GdkContentFormats*");
+  gdk_content_formats_unref(s7_c_pointer(formats));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_print(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_print "void gdk_content_formats_print(GdkContentFormats* formats, GString* string)"
+  s7_pointer _p;
+  s7_pointer formats, string;
+  _p = args;
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_print", 1, formats, "GdkContentFormats*");
+  string = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(string, GString__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_print", 2, string, "GString*");
+  gdk_content_formats_print(s7_c_pointer(formats), s7_c_pointer(string));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_to_string(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_to_string "char* gdk_content_formats_to_string(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_to_string", 1, formats, "GdkContentFormats*");
+  return(s7_make_string(sc, gdk_content_formats_to_string(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_formats_get_gtypes(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_get_gtypes "GType* gdk_content_formats_get_gtypes(GdkContentFormats* formats, \
+gsize* [n_gtypes])"
+  s7_pointer _p;
+  s7_pointer formats;
+  gsize ref_n_gtypes;
+  _p = args;
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_get_gtypes", 1, formats, "GdkContentFormats*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GType__sym, gdk_content_formats_get_gtypes(s7_c_pointer(formats), &ref_n_gtypes));
+      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_n_gtypes)));
+   }
+}
+
+static s7_pointer lg_gdk_content_formats_get_mime_types(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_get_mime_types "char* gdk_content_formats_get_mime_types(GdkContentFormats* formats, \
+gsize* [n_mime_types])"
+  s7_pointer _p;
+  s7_pointer formats;
+  gsize ref_n_mime_types;
+  _p = args;
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_get_mime_types", 1, formats, "GdkContentFormats*");
+  {
+    s7_pointer result;
+    result = s7_make_string(sc, gdk_content_formats_get_mime_types(s7_c_pointer(formats), &ref_n_mime_types));
+      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_n_mime_types)));
+   }
+}
+
+static s7_pointer lg_gdk_content_formats_union(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_union "GdkContentFormats* gdk_content_formats_union(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  s7_pointer _p;
+  s7_pointer first, second;
+  _p = args;
+  first = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(first, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union", 1, first, "GdkContentFormats*");
+  second = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(second, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union", 2, second, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_union(s7_c_pointer(first), s7_c_pointer(second))));
+}
+
+static s7_pointer lg_gdk_content_formats_match(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_match "gboolean gdk_content_formats_match(GdkContentFormats* first, GdkContentFormats* second)"
+  s7_pointer _p;
+  s7_pointer first, second;
+  _p = args;
+  first = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(first, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match", 1, first, "GdkContentFormats*");
+  second = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(second, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match", 2, second, "GdkContentFormats*");
+  return(s7_make_boolean(sc, gdk_content_formats_match(s7_c_pointer(first), s7_c_pointer(second))));
+}
+
+static s7_pointer lg_gdk_content_formats_match_gtype(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_match_gtype "GType gdk_content_formats_match_gtype(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  s7_pointer _p;
+  s7_pointer first, second;
+  _p = args;
+  first = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(first, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match_gtype", 1, first, "GdkContentFormats*");
+  second = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(second, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match_gtype", 2, second, "GdkContentFormats*");
+  return(s7_make_integer(sc, gdk_content_formats_match_gtype(s7_c_pointer(first), s7_c_pointer(second))));
+}
+
+static s7_pointer lg_gdk_content_formats_match_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_match_mime_type "char* gdk_content_formats_match_mime_type(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  s7_pointer _p;
+  s7_pointer first, second;
+  _p = args;
+  first = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(first, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match_mime_type", 1, first, "GdkContentFormats*");
+  second = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(second, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_match_mime_type", 2, second, "GdkContentFormats*");
+    return(s7_make_string(sc, (char*)gdk_content_formats_match_mime_type(s7_c_pointer(first), s7_c_pointer(second))));
+}
+
+static s7_pointer lg_gdk_content_formats_contain_gtype(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_contain_gtype "gboolean gdk_content_formats_contain_gtype(GdkContentFormats* formats, \
+GType type)"
+  s7_pointer _p;
+  s7_pointer formats, type;
+  _p = args;
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_contain_gtype", 1, formats, "GdkContentFormats*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_formats_contain_gtype", 2, type, "GType");
+  return(s7_make_boolean(sc, gdk_content_formats_contain_gtype(s7_c_pointer(formats), s7_integer(type))));
+}
+
+static s7_pointer lg_gdk_content_formats_contain_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_contain_mime_type "gboolean gdk_content_formats_contain_mime_type(GdkContentFormats* formats, \
+char* mime_type)"
+  s7_pointer _p;
+  s7_pointer formats, mime_type;
+  _p = args;
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_contain_mime_type", 1, formats, "GdkContentFormats*");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_formats_contain_mime_type", 2, mime_type, "char*");
+  return(s7_make_boolean(sc, gdk_content_formats_contain_mime_type(s7_c_pointer(formats), (const char*)(char*)s7_string(mime_type))));
+}
+
+static s7_pointer lg_*gdk_content_formats_builder_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_*gdk_content_formats_builder_new "GdkContentFormatsBuilder *gdk_content_formats_builder_new( void)"
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormatsBuilder_sym, *gdk_content_formats_builder_new()));
+}
+
+static s7_pointer lg_gdk_content_formats_builder_free(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_builder_free "GdkContentFormats* gdk_content_formats_builder_free(GdkContentFormatsBuilder* builder)"
+  s7_pointer builder;
+  builder = s7_car(args);
+  if (!s7_is_c_pointer_of_type(builder, GdkContentFormatsBuilder__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_free", 1, builder, "GdkContentFormatsBuilder*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_builder_free(s7_c_pointer(builder))));
+}
+
+static s7_pointer lg_gdk_content_formats_builder_add_formats(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_builder_add_formats "void gdk_content_formats_builder_add_formats(GdkContentFormatsBuilder* builder, \
+GdkContentFormats* formats)"
+  s7_pointer _p;
+  s7_pointer builder, formats;
+  _p = args;
+  builder = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(builder, GdkContentFormatsBuilder__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_formats", 1, builder, "GdkContentFormatsBuilder*");
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_formats", 2, formats, "GdkContentFormats*");
+  gdk_content_formats_builder_add_formats(s7_c_pointer(builder), s7_c_pointer(formats));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_builder_add_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_builder_add_mime_type "void gdk_content_formats_builder_add_mime_type(GdkContentFormatsBuilder* builder, \
+char* mime_type)"
+  s7_pointer _p;
+  s7_pointer builder, mime_type;
+  _p = args;
+  builder = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(builder, GdkContentFormatsBuilder__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_mime_type", 1, builder, "GdkContentFormatsBuilder*");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_mime_type", 2, mime_type, "char*");
+  gdk_content_formats_builder_add_mime_type(s7_c_pointer(builder), (const char*)(char*)s7_string(mime_type));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_builder_add_gtype(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_builder_add_gtype "void gdk_content_formats_builder_add_gtype(GdkContentFormatsBuilder* builder, \
+GType type)"
+  s7_pointer _p;
+  s7_pointer builder, type;
+  _p = args;
+  builder = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(builder, GdkContentFormatsBuilder__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_gtype", 1, builder, "GdkContentFormatsBuilder*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_formats_builder_add_gtype", 2, type, "GType");
+  gdk_content_formats_builder_add_gtype(s7_c_pointer(builder), s7_integer(type));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_provider_ref_formats(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_ref_formats "GdkContentFormats* gdk_content_provider_ref_formats(GdkContentProvider* provider)"
+  s7_pointer provider;
+  provider = s7_car(args);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_ref_formats", 1, provider, "GdkContentProvider*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_provider_ref_formats(s7_c_pointer(provider))));
+}
+
+static s7_pointer lg_gdk_content_provider_ref_storable_formats(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_ref_storable_formats "GdkContentFormats* gdk_content_provider_ref_storable_formats(GdkContentProvider* provider)"
+  s7_pointer provider;
+  provider = s7_car(args);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_ref_storable_formats", 1, provider, "GdkContentProvider*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_provider_ref_storable_formats(s7_c_pointer(provider))));
+}
+
+static s7_pointer lg_gdk_content_provider_content_changed(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_content_changed "void gdk_content_provider_content_changed(GdkContentProvider* provider)"
+  s7_pointer provider;
+  provider = s7_car(args);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_content_changed", 1, provider, "GdkContentProvider*");
+  gdk_content_provider_content_changed(s7_c_pointer(provider));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_provider_write_mime_type_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_write_mime_type_async "void gdk_content_provider_write_mime_type_async(GdkContentProvider* provider, \
+char* mime_type, GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, \
+gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer provider, mime_type, stream, io_priority, cancellable, callback, user_data;
+  _p = args;
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 1, provider, "GdkContentProvider*");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 2, mime_type, "char*");
+  stream = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(stream, GOutputStream__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 3, stream, "GOutputStream*");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 4, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 5, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 6, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_async", 7, user_data, "gpointer");
+  gdk_content_provider_write_mime_type_async(s7_c_pointer(provider), (const char*)(char*)s7_string(mime_type), s7_c_pointer(stream), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_provider_write_mime_type_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_write_mime_type_finish "gboolean gdk_content_provider_write_mime_type_finish(GdkContentProvider* provider, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer provider, result;
+  GError* ref_error = NULL;
+  _p = args;
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_finish", 1, provider, "GdkContentProvider*");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_write_mime_type_finish", 2, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_content_provider_write_mime_type_finish(s7_c_pointer(provider), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_content_provider_get_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_get_value "gboolean gdk_content_provider_get_value(GdkContentProvider* provider, \
+GValue* value, GError** [error])"
+  s7_pointer _p;
+  s7_pointer provider, value;
+  GError* ref_error = NULL;
+  _p = args;
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_get_value", 1, provider, "GdkContentProvider*");
+  value = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(value, GValue__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_get_value", 2, value, "GValue*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_content_provider_get_value(s7_c_pointer(provider), s7_c_pointer(value), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_content_serializer_get_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_mime_type "char* gdk_content_serializer_get_mime_type(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_mime_type", 1, serializer, "GdkContentSerializer*");
+    return(s7_make_string(sc, (char*)gdk_content_serializer_get_mime_type(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_get_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_value "GValue* gdk_content_serializer_get_value(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_value", 1, serializer, "GdkContentSerializer*");
+    return(s7_make_type_with_c_pointer(sc, GValue__sym, (GValue*)gdk_content_serializer_get_value(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_get_output_stream(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_output_stream "GOutputStream* gdk_content_serializer_get_output_stream(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_output_stream", 1, serializer, "GdkContentSerializer*");
+  return(s7_make_type_with_c_pointer(sc, GOutputStream__sym, gdk_content_serializer_get_output_stream(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_get_priority(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_priority "int gdk_content_serializer_get_priority(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_priority", 1, serializer, "GdkContentSerializer*");
+  return(s7_make_integer(sc, gdk_content_serializer_get_priority(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_get_cancellable(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_cancellable "GCancellable* gdk_content_serializer_get_cancellable(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_cancellable", 1, serializer, "GdkContentSerializer*");
+  return(s7_make_type_with_c_pointer(sc, GCancellable__sym, gdk_content_serializer_get_cancellable(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_get_user_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_user_data "gpointer gdk_content_serializer_get_user_data(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_user_data", 1, serializer, "GdkContentSerializer*");
+  return(s7_make_type_with_c_pointer(sc, gpointer_sym, gdk_content_serializer_get_user_data(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_set_task_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_set_task_data "void gdk_content_serializer_set_task_data(GdkContentSerializer* serializer, \
+gpointer data, GDestroyNotify notify)"
+  s7_pointer _p;
+  s7_pointer serializer, data, notify;
+  _p = args;
+  serializer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_set_task_data", 1, serializer, "GdkContentSerializer*");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_set_task_data", 2, data, "gpointer");
+  notify = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(notify, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_set_task_data", 3, notify, "GDestroyNotify");
+  gdk_content_serializer_set_task_data(s7_c_pointer(serializer), s7_c_pointer(data), s7_c_pointer(notify));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_serializer_get_task_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_get_task_data "gpointer gdk_content_serializer_get_task_data(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_get_task_data", 1, serializer, "GdkContentSerializer*");
+  return(s7_make_type_with_c_pointer(sc, gpointer_sym, gdk_content_serializer_get_task_data(s7_c_pointer(serializer))));
+}
+
+static s7_pointer lg_gdk_content_serializer_return_success(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_return_success "void gdk_content_serializer_return_success(GdkContentSerializer* serializer)"
+  s7_pointer serializer;
+  serializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_return_success", 1, serializer, "GdkContentSerializer*");
+  gdk_content_serializer_return_success(s7_c_pointer(serializer));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_serializer_return_error(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serializer_return_error "void gdk_content_serializer_return_error(GdkContentSerializer* serializer, \
+GError* error)"
+  s7_pointer _p;
+  s7_pointer serializer, error;
+  _p = args;
+  serializer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(serializer, GdkContentSerializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_return_error", 1, serializer, "GdkContentSerializer*");
+  error = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(error, GError__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serializer_return_error", 2, error, "GError*");
+  gdk_content_serializer_return_error(s7_c_pointer(serializer), s7_c_pointer(error));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_union_serialize_gtypes(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_union_serialize_gtypes "GdkContentFormats* gdk_content_formats_union_serialize_gtypes(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union_serialize_gtypes", 1, formats, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_union_serialize_gtypes(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_formats_union_serialize_mime_types(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_union_serialize_mime_types "GdkContentFormats* gdk_content_formats_union_serialize_mime_types(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union_serialize_mime_types", 1, formats, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_union_serialize_mime_types(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_register_serializer(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_register_serializer "void gdk_content_register_serializer(GType type, char* mime_type, \
+GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify)"
+  s7_pointer _p;
+  s7_pointer type, mime_type, serialize, data, notify;
+  _p = args;
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_register_serializer", 1, type, "GType");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_register_serializer", 2, mime_type, "char*");
+  serialize = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(serialize, GdkContentSerializeFunc_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_serializer", 3, serialize, "GdkContentSerializeFunc");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_serializer", 4, data, "gpointer");
+  notify = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(notify, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_serializer", 5, notify, "GDestroyNotify");
+  gdk_content_register_serializer(s7_integer(type), (const char*)(char*)s7_string(mime_type), s7_c_pointer(serialize), s7_c_pointer(data), s7_c_pointer(notify));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_serialize_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serialize_async "void gdk_content_serialize_async(GOutputStream* stream, char* mime_type, \
+GValue* value, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer stream, mime_type, value, io_priority, cancellable, callback, user_data;
+  _p = args;
+  stream = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(stream, GOutputStream__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 1, stream, "GOutputStream*");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 2, mime_type, "char*");
+  value = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(value, GValue__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 3, value, "GValue*");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 4, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 5, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 6, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_async", 7, user_data, "gpointer");
+  gdk_content_serialize_async(s7_c_pointer(stream), (const char*)(char*)s7_string(mime_type), (const GValue*)s7_c_pointer(value), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_serialize_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_serialize_finish "gboolean gdk_content_serialize_finish(GAsyncResult* result, \
+GError** [error])"
+  s7_pointer _p;
+  s7_pointer result;
+  GError* ref_error = NULL;
+  _p = args;
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_content_serialize_finish", 1, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_content_serialize_finish(s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_mime_type(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_mime_type "char* gdk_content_deserializer_get_mime_type(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_mime_type", 1, deserializer, "GdkContentDeserializer*");
+    return(s7_make_string(sc, (char*)gdk_content_deserializer_get_mime_type(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_value "GValue* gdk_content_deserializer_get_value(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_value", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_type_with_c_pointer(sc, GValue__sym, gdk_content_deserializer_get_value(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_input_stream(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_input_stream "GInputStream* gdk_content_deserializer_get_input_stream(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_input_stream", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_type_with_c_pointer(sc, GInputStream__sym, gdk_content_deserializer_get_input_stream(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_priority(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_priority "int gdk_content_deserializer_get_priority(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_priority", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_integer(sc, gdk_content_deserializer_get_priority(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_cancellable(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_cancellable "GCancellable* gdk_content_deserializer_get_cancellable(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_cancellable", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_type_with_c_pointer(sc, GCancellable__sym, gdk_content_deserializer_get_cancellable(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_user_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_user_data "gpointer gdk_content_deserializer_get_user_data(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_user_data", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_type_with_c_pointer(sc, gpointer_sym, gdk_content_deserializer_get_user_data(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_set_task_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_set_task_data "void gdk_content_deserializer_set_task_data(GdkContentDeserializer* deserializer, \
+gpointer data, GDestroyNotify notify)"
+  s7_pointer _p;
+  s7_pointer deserializer, data, notify;
+  _p = args;
+  deserializer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_set_task_data", 1, deserializer, "GdkContentDeserializer*");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_set_task_data", 2, data, "gpointer");
+  notify = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(notify, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_set_task_data", 3, notify, "GDestroyNotify");
+  gdk_content_deserializer_set_task_data(s7_c_pointer(deserializer), s7_c_pointer(data), s7_c_pointer(notify));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_deserializer_get_task_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_get_task_data "gpointer gdk_content_deserializer_get_task_data(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_get_task_data", 1, deserializer, "GdkContentDeserializer*");
+  return(s7_make_type_with_c_pointer(sc, gpointer_sym, gdk_content_deserializer_get_task_data(s7_c_pointer(deserializer))));
+}
+
+static s7_pointer lg_gdk_content_deserializer_return_success(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_return_success "void gdk_content_deserializer_return_success(GdkContentDeserializer* deserializer)"
+  s7_pointer deserializer;
+  deserializer = s7_car(args);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_return_success", 1, deserializer, "GdkContentDeserializer*");
+  gdk_content_deserializer_return_success(s7_c_pointer(deserializer));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_deserializer_return_error(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserializer_return_error "void gdk_content_deserializer_return_error(GdkContentDeserializer* deserializer, \
+GError* error)"
+  s7_pointer _p;
+  s7_pointer deserializer, error;
+  _p = args;
+  deserializer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(deserializer, GdkContentDeserializer__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_return_error", 1, deserializer, "GdkContentDeserializer*");
+  error = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(error, GError__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserializer_return_error", 2, error, "GError*");
+  gdk_content_deserializer_return_error(s7_c_pointer(deserializer), s7_c_pointer(error));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_formats_union_deserialize_gtypes(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_union_deserialize_gtypes "GdkContentFormats* gdk_content_formats_union_deserialize_gtypes(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union_deserialize_gtypes", 1, formats, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_union_deserialize_gtypes(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_formats_union_deserialize_mime_types(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_formats_union_deserialize_mime_types "GdkContentFormats* gdk_content_formats_union_deserialize_mime_types(GdkContentFormats* formats)"
+  s7_pointer formats;
+  formats = s7_car(args);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gdk_content_formats_union_deserialize_mime_types", 1, formats, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_content_formats_union_deserialize_mime_types(s7_c_pointer(formats))));
+}
+
+static s7_pointer lg_gdk_content_register_deserializer(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_register_deserializer "void gdk_content_register_deserializer(char* mime_type, \
+GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify)"
+  s7_pointer _p;
+  s7_pointer mime_type, type, deserialize, data, notify;
+  _p = args;
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_register_deserializer", 1, mime_type, "char*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_register_deserializer", 2, type, "GType");
+  deserialize = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(deserialize, GdkContentDeserializeFunc_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_deserializer", 3, deserialize, "GdkContentDeserializeFunc");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_deserializer", 4, data, "gpointer");
+  notify = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(notify, GDestroyNotify_sym)) s7_wrong_type_arg_error(sc, "gdk_content_register_deserializer", 5, notify, "GDestroyNotify");
+  gdk_content_register_deserializer((char*)s7_string(mime_type), s7_integer(type), s7_c_pointer(deserialize), s7_c_pointer(data), s7_c_pointer(notify));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_deserialize_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserialize_async "void gdk_content_deserialize_async(GInputStream* stream, char* mime_type, \
+GType type, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer stream, mime_type, type, io_priority, cancellable, callback, user_data;
+  _p = args;
+  stream = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(stream, GInputStream__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 1, stream, "GInputStream*");
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 2, mime_type, "char*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(type)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 3, type, "GType");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 4, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 5, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 6, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_async", 7, user_data, "gpointer");
+  gdk_content_deserialize_async(s7_c_pointer(stream), (char*)s7_string(mime_type), s7_integer(type), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_content_deserialize_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_deserialize_finish "gboolean gdk_content_deserialize_finish(GAsyncResult* result, \
+GValue* value, GError** [error])"
+  s7_pointer _p;
+  s7_pointer result, value;
+  GError* ref_error = NULL;
+  _p = args;
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_finish", 1, result, "GAsyncResult*");
+  value = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(value, GValue__sym)) s7_wrong_type_arg_error(sc, "gdk_content_deserialize_finish", 2, value, "GValue*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_content_deserialize_finish(s7_c_pointer(result), s7_c_pointer(value), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_content_provider_new_for_value(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_new_for_value "GdkContentProvider* gdk_content_provider_new_for_value(GValue* value)"
+  s7_pointer value;
+  value = s7_car(args);
+  if (!s7_is_c_pointer_of_type(value, GValue__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_new_for_value", 1, value, "GValue*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentProvider__sym, gdk_content_provider_new_for_value(s7_c_pointer(value))));
+}
+
+static s7_pointer lg_gdk_content_provider_new_for_bytes(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_content_provider_new_for_bytes "GdkContentProvider* gdk_content_provider_new_for_bytes(char* mime_type, \
+GBytes* bytes)"
+  s7_pointer _p;
+  s7_pointer mime_type, bytes;
+  _p = args;
+  mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(mime_type)) s7_wrong_type_arg_error(sc, "gdk_content_provider_new_for_bytes", 1, mime_type, "char*");
+  bytes = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(bytes, GBytes__sym)) s7_wrong_type_arg_error(sc, "gdk_content_provider_new_for_bytes", 2, bytes, "GBytes*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentProvider__sym, gdk_content_provider_new_for_bytes((const char*)(char*)s7_string(mime_type), s7_c_pointer(bytes))));
+}
+
+static s7_pointer lg_gtk_event_controller_motion_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_event_controller_motion_new "GtkEventController* gtk_event_controller_motion_new(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_motion_new", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GtkEventController__sym, gtk_event_controller_motion_new(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gdk_texture_new_for_data(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_new_for_data "GdkTexture* gdk_texture_new_for_data(guchar* data, int width, int height, \
+int stride)"
+  s7_pointer _p;
+  s7_pointer data, width, height, stride;
+  _p = args;
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, guchar__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_new_for_data", 1, data, "guchar*");
+  width = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(width)) s7_wrong_type_arg_error(sc, "gdk_texture_new_for_data", 2, width, "int");
+  height = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(height)) s7_wrong_type_arg_error(sc, "gdk_texture_new_for_data", 3, height, "int");
+  stride = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(stride)) s7_wrong_type_arg_error(sc, "gdk_texture_new_for_data", 4, stride, "int");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_texture_new_for_data(s7_c_pointer(data), s7_integer(width), s7_integer(height), s7_integer(stride))));
+}
+
+static s7_pointer lg_gdk_texture_new_for_pixbuf(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_new_for_pixbuf "GdkTexture* gdk_texture_new_for_pixbuf(GdkPixbuf* pixbuf)"
+  s7_pointer pixbuf;
+  pixbuf = s7_car(args);
+  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_new_for_pixbuf", 1, pixbuf, "GdkPixbuf*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_texture_new_for_pixbuf(s7_c_pointer(pixbuf))));
+}
+
+static s7_pointer lg_gdk_texture_new_from_resource(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_new_from_resource "GdkTexture* gdk_texture_new_from_resource(char* resource_path)"
+  s7_pointer resource_path;
+  resource_path = s7_car(args);
+  if (!s7_is_string(resource_path)) s7_wrong_type_arg_error(sc, "gdk_texture_new_from_resource", 1, resource_path, "char*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_texture_new_from_resource((const char*)(char*)s7_string(resource_path))));
+}
+
+static s7_pointer lg_gdk_texture_new_from_file(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_new_from_file "GdkTexture* gdk_texture_new_from_file(GFile* file, GError** [error])"
+  s7_pointer _p;
+  s7_pointer file;
+  GError* ref_error = NULL;
+  _p = args;
+  file = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(file, GFile__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_new_from_file", 1, file, "GFile*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_texture_new_from_file(s7_c_pointer(file), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_texture_get_width(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_get_width "int gdk_texture_get_width(GdkTexture* texture)"
+  s7_pointer texture;
+  texture = s7_car(args);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_get_width", 1, texture, "GdkTexture*");
+  return(s7_make_integer(sc, gdk_texture_get_width(s7_c_pointer(texture))));
+}
+
+static s7_pointer lg_gdk_texture_get_height(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_get_height "int gdk_texture_get_height(GdkTexture* texture)"
+  s7_pointer texture;
+  texture = s7_car(args);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_get_height", 1, texture, "GdkTexture*");
+  return(s7_make_integer(sc, gdk_texture_get_height(s7_c_pointer(texture))));
+}
+
+static s7_pointer lg_gdk_texture_download(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_texture_download "void gdk_texture_download(GdkTexture* texture, guchar* data, gsize stride)"
+  s7_pointer _p;
+  s7_pointer texture, data, stride;
+  _p = args;
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_download", 1, texture, "GdkTexture*");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, guchar__sym)) s7_wrong_type_arg_error(sc, "gdk_texture_download", 2, data, "guchar*");
+  stride = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(stride)) s7_wrong_type_arg_error(sc, "gdk_texture_download", 3, stride, "gsize");
+  gdk_texture_download(s7_c_pointer(texture), s7_c_pointer(data), s7_integer(stride));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_cursor_new_from_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_new_from_texture "GdkCursor* gdk_cursor_new_from_texture(GdkTexture* texture, \
+int hotspot_x, int hotspot_y, GdkCursor* fallback)"
+  s7_pointer _p;
+  s7_pointer texture, hotspot_x, hotspot_y, fallback;
+  _p = args;
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_texture", 1, texture, "GdkTexture*");
+  hotspot_x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(hotspot_x)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_texture", 2, hotspot_x, "int");
+  hotspot_y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(hotspot_y)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_texture", 3, hotspot_y, "int");
+  fallback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(fallback, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_texture", 4, fallback, "GdkCursor*");
+  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_from_texture(s7_c_pointer(texture), s7_integer(hotspot_x), s7_integer(hotspot_y), s7_c_pointer(fallback))));
+}
+
+static s7_pointer lg_gdk_cursor_new_from_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_new_from_name "GdkCursor* gdk_cursor_new_from_name(gchar* name, GdkCursor* fallback)"
+  s7_pointer _p;
+  s7_pointer name, fallback;
+  _p = args;
+  name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_name", 1, name, "gchar*");
+  fallback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(fallback, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_new_from_name", 2, fallback, "GdkCursor*");
+  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_new_from_name((const gchar*)s7_string(name), s7_c_pointer(fallback))));
+}
+
+static s7_pointer lg_gdk_cursor_get_fallback(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_get_fallback "GdkCursor* gdk_cursor_get_fallback(GdkCursor* cursor)"
+  s7_pointer cursor;
+  cursor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_fallback", 1, cursor, "GdkCursor*");
+  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gdk_cursor_get_fallback(s7_c_pointer(cursor))));
+}
+
+static s7_pointer lg_gdk_cursor_get_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_get_name "char* gdk_cursor_get_name(GdkCursor* cursor)"
+  s7_pointer cursor;
+  cursor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_name", 1, cursor, "GdkCursor*");
+  return(s7_make_string(sc, gdk_cursor_get_name(s7_c_pointer(cursor))));
+}
+
+static s7_pointer lg_gdk_cursor_get_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_get_texture "GdkTexture* gdk_cursor_get_texture(GdkCursor* cursor)"
+  s7_pointer cursor;
+  cursor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_texture", 1, cursor, "GdkCursor*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gdk_cursor_get_texture(s7_c_pointer(cursor))));
+}
+
+static s7_pointer lg_gdk_cursor_get_hotspot_x(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_get_hotspot_x "int gdk_cursor_get_hotspot_x(GdkCursor* cursor)"
+  s7_pointer cursor;
+  cursor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_hotspot_x", 1, cursor, "GdkCursor*");
+  return(s7_make_integer(sc, gdk_cursor_get_hotspot_x(s7_c_pointer(cursor))));
+}
+
+static s7_pointer lg_gdk_cursor_get_hotspot_y(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_cursor_get_hotspot_y "int gdk_cursor_get_hotspot_y(GdkCursor* cursor)"
+  s7_pointer cursor;
+  cursor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gdk_cursor_get_hotspot_y", 1, cursor, "GdkCursor*");
+  return(s7_make_integer(sc, gdk_cursor_get_hotspot_y(s7_c_pointer(cursor))));
+}
+
+static s7_pointer lg_gdk_device_get_position(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_device_get_position "void gdk_device_get_position(GdkDevice* device, gint* [x], gint* [y])"
+  s7_pointer _p;
+  s7_pointer device;
+  gint ref_x;
+  gint ref_y;
+  _p = args;
+  device = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_device_get_position", 1, device, "GdkDevice*");
+  gdk_device_get_position(s7_c_pointer(device), &ref_x, &ref_y);
+    return(s7_list(sc, 2, s7_make_integer(sc, ref_x), s7_make_integer(sc, ref_y)));
+}
+
+static s7_pointer lg_gdk_device_get_position_double(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_device_get_position_double "void gdk_device_get_position_double(GdkDevice* device, gdouble* [x], \
+gdouble* [y])"
+  s7_pointer _p;
+  s7_pointer device;
+  gdouble ref_x;
+  gdouble ref_y;
+  _p = args;
+  device = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_device_get_position_double", 1, device, "GdkDevice*");
+  gdk_device_get_position_double(s7_c_pointer(device), &ref_x, &ref_y);
+    return(s7_list(sc, 2, s7_make_real(sc, ref_x), s7_make_real(sc, ref_y)));
+}
+
+static s7_pointer lg_gdk_display_get_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_display_get_clipboard "GdkClipboard* gdk_display_get_clipboard(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_get_clipboard", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GdkClipboard__sym, gdk_display_get_clipboard(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gdk_display_get_primary_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_display_get_primary_clipboard "GdkClipboard* gdk_display_get_primary_clipboard(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_get_primary_clipboard", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GdkClipboard__sym, gdk_display_get_primary_clipboard(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gdk_display_get_keymap(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_display_get_keymap "GdkKeymap* gdk_display_get_keymap(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_get_keymap", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GdkKeymap__sym, gdk_display_get_keymap(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gdk_display_get_setting(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_display_get_setting "gboolean gdk_display_get_setting(GdkDisplay* display, char* name, \
+GValue* [value])"
+  s7_pointer _p;
+  s7_pointer display, name;
+  GValue ref_value;
+  _p = args;
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gdk_display_get_setting", 1, display, "GdkDisplay*");
+  name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gdk_display_get_setting", 2, name, "char*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gdk_display_get_setting(s7_c_pointer(display), (const char*)(char*)s7_string(name), (const GValue*)&ref_value));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_value)));
+   }
+}
+
+static s7_pointer lg_gdk_drag_context_get_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_drag_context_get_display "GdkDisplay* gdk_drag_context_get_display(GdkDragContext* context)"
+  s7_pointer context;
+  context = s7_car(args);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_get_display", 1, context, "GdkDragContext*");
+  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gdk_drag_context_get_display(s7_c_pointer(context))));
+}
+
+static s7_pointer lg_gdk_drag_context_get_formats(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_drag_context_get_formats "GdkContentFormats* gdk_drag_context_get_formats(GdkDragContext* context)"
+  s7_pointer context;
+  context = s7_car(args);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_context_get_formats", 1, context, "GdkDragContext*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gdk_drag_context_get_formats(s7_c_pointer(context))));
+}
+
+static s7_pointer lg_gdk_drop_read_async(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_drop_read_async "void gdk_drop_read_async(GdkDragContext* context, char** mime_types, \
+int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  s7_pointer _p;
+  s7_pointer context, mime_types, io_priority, cancellable, callback, user_data;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 1, context, "GdkDragContext*");
+  mime_types = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(mime_types, char___sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 2, mime_types, "char**");
+  io_priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(io_priority)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 3, io_priority, "int");
+  cancellable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cancellable, GCancellable__sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 4, cancellable, "GCancellable*");
+  callback = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(callback, GAsyncReadyCallback_sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 5, callback, "GAsyncReadyCallback");
+  user_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(user_data, gpointer_sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_async", 6, user_data, "gpointer");
+  gdk_drop_read_async(s7_c_pointer(context), s7_c_pointer(mime_types), s7_integer(io_priority), s7_c_pointer(cancellable), s7_c_pointer(callback), s7_c_pointer(user_data));
+  return(lg_false);
+}
+
+static s7_pointer lg_gdk_drop_read_finish(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_drop_read_finish "GInputStream* gdk_drop_read_finish(GdkDragContext* context, char** out_mime_type, \
+GAsyncResult* result, GError** [error])"
+  s7_pointer _p;
+  s7_pointer context, out_mime_type, result;
+  GError* ref_error = NULL;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_finish", 1, context, "GdkDragContext*");
+  out_mime_type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(out_mime_type, char___sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_finish", 2, out_mime_type, "char**");
+  result = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(result, GAsyncResult__sym)) s7_wrong_type_arg_error(sc, "gdk_drop_read_finish", 3, result, "GAsyncResult*");
+  {
+    s7_pointer result;
+    result = s7_make_type_with_c_pointer(sc, GInputStream__sym, gdk_drop_read_finish(s7_c_pointer(context), s7_c_pointer(out_mime_type), s7_c_pointer(result), &ref_error));
+      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_error)));
+   }
+}
+
+static s7_pointer lg_gdk_drag_begin(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_drag_begin "GdkDragContext* gdk_drag_begin(GdkWindow* window, GdkDevice* device, GdkContentProvider* content, \
+GdkDragAction actions, gint dx, gint dy)"
+  s7_pointer _p;
+  s7_pointer window, device, content, actions, dx, dy;
+  _p = args;
+  window = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 1, window, "GdkWindow*");
+  device = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 2, device, "GdkDevice*");
+  content = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(content, GdkContentProvider__sym)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 3, content, "GdkContentProvider*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 4, actions, "GdkDragAction");
+  dx = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(dx)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 5, dx, "gint");
+  dy = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(dy)) s7_wrong_type_arg_error(sc, "gdk_drag_begin", 6, dy, "gint");
+  return(s7_make_type_with_c_pointer(sc, GdkDragContext__sym, gdk_drag_begin(s7_c_pointer(window), s7_c_pointer(device), s7_c_pointer(content), s7_integer(actions), s7_integer(dx), s7_integer(dy))));
+}
+
+static s7_pointer lg_gdk_monitor_is_valid(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_monitor_is_valid "gboolean gdk_monitor_is_valid(GdkMonitor* monitor)"
+  s7_pointer monitor;
+  monitor = s7_car(args);
+  if (!s7_is_c_pointer_of_type(monitor, GdkMonitor__sym)) s7_wrong_type_arg_error(sc, "gdk_monitor_is_valid", 1, monitor, "GdkMonitor*");
+  return(s7_make_boolean(sc, gdk_monitor_is_valid(s7_c_pointer(monitor))));
+}
+
+static s7_pointer lg_gdk_seat_get_master_pointers(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gdk_seat_get_master_pointers "GList* gdk_seat_get_master_pointers(GdkSeat* seat, GdkSeatCapabilities capabilities)"
+  s7_pointer _p;
+  s7_pointer seat, capabilities;
+  _p = args;
+  seat = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(seat, GdkSeat__sym)) s7_wrong_type_arg_error(sc, "gdk_seat_get_master_pointers", 1, seat, "GdkSeat*");
+  capabilities = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(capabilities)) s7_wrong_type_arg_error(sc, "gdk_seat_get_master_pointers", 2, capabilities, "GdkSeatCapabilities");
+  return(s7_make_type_with_c_pointer(sc, GList__sym, gdk_seat_get_master_pointers(s7_c_pointer(seat), s7_integer(capabilities))));
+}
+
+static s7_pointer lg_gtk_drag_begin_with_coordinates(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_drag_begin_with_coordinates "GdkDragContext* gtk_drag_begin_with_coordinates(GtkWidget* widget, \
+GdkDevice* device, GdkContentFormats* targets, GdkDragAction actions, gint x, gint y)"
+  s7_pointer _p;
+  s7_pointer widget, device, targets, actions, x, y;
+  _p = args;
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 1, widget, "GtkWidget*");
+  device = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(device, GdkDevice__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 2, device, "GdkDevice*");
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 3, targets, "GdkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 4, actions, "GdkDragAction");
+  x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(x)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 5, x, "gint");
+  y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(y)) s7_wrong_type_arg_error(sc, "gtk_drag_begin_with_coordinates", 6, y, "gint");
+  return(s7_make_type_with_c_pointer(sc, GdkDragContext__sym, gtk_drag_begin_with_coordinates(s7_c_pointer(widget), s7_c_pointer(device), s7_c_pointer(targets), s7_integer(actions), s7_integer(x), s7_integer(y))));
+}
+
+static s7_pointer lg_gtk_drag_source_set_icon_surface(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_drag_source_set_icon_surface "void gtk_drag_source_set_icon_surface(GtkWidget* widget, \
+cairo_surface_t* surface)"
+  s7_pointer _p;
+  s7_pointer widget, surface;
+  _p = args;
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_icon_surface", 1, widget, "GtkWidget*");
+  surface = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(surface, cairo_surface_t__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_icon_surface", 2, surface, "cairo_surface_t*");
+  gtk_drag_source_set_icon_surface(s7_c_pointer(widget), s7_c_pointer(surface));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_entry_set_icon_from_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_entry_set_icon_from_texture "void gtk_entry_set_icon_from_texture(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
+GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer entry, icon_pos, texture;
+  _p = args;
+  entry = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_texture", 1, entry, "GtkEntry*");
+  icon_pos = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_texture", 2, icon_pos, "GtkEntryIconPosition");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_from_texture", 3, texture, "GdkTexture*");
+  gtk_entry_set_icon_from_texture(s7_c_pointer(entry), s7_integer(icon_pos), s7_c_pointer(texture));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_entry_get_icon_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_entry_get_icon_texture "GdkTexture* gtk_entry_get_icon_texture(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
+  s7_pointer _p;
+  s7_pointer entry, icon_pos;
+  _p = args;
+  entry = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_get_icon_texture", 1, entry, "GtkEntry*");
+  icon_pos = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_get_icon_texture", 2, icon_pos, "GtkEntryIconPosition");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_entry_get_icon_texture(s7_c_pointer(entry), s7_integer(icon_pos))));
+}
+
+static s7_pointer lg_gtk_entry_set_icon_drag_source(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_entry_set_icon_drag_source "void gtk_entry_set_icon_drag_source(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
+GdkContentFormats* formats, GdkDragAction actions)"
+  s7_pointer _p;
+  s7_pointer entry, icon_pos, formats, actions;
+  _p = args;
+  entry = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(entry, GtkEntry__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 1, entry, "GtkEntry*");
+  icon_pos = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(icon_pos)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 2, icon_pos, "GtkEntryIconPosition");
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 3, formats, "GdkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_entry_set_icon_drag_source", 4, actions, "GdkDragAction");
+  gtk_entry_set_icon_drag_source(s7_c_pointer(entry), s7_integer(icon_pos), s7_c_pointer(formats), s7_integer(actions));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_header_bar_get_show_title_buttons(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_header_bar_get_show_title_buttons "gboolean gtk_header_bar_get_show_title_buttons(GtkHeaderBar* bar)"
+  s7_pointer bar;
+  bar = s7_car(args);
+  if (!s7_is_c_pointer_of_type(bar, GtkHeaderBar__sym)) s7_wrong_type_arg_error(sc, "gtk_header_bar_get_show_title_buttons", 1, bar, "GtkHeaderBar*");
+  return(s7_make_boolean(sc, gtk_header_bar_get_show_title_buttons(s7_c_pointer(bar))));
+}
+
+static s7_pointer lg_gtk_header_bar_set_show_title_buttons(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_header_bar_set_show_title_buttons "void gtk_header_bar_set_show_title_buttons(GtkHeaderBar* bar, \
+gboolean setting)"
+  s7_pointer _p;
+  s7_pointer bar, setting;
+  _p = args;
+  bar = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(bar, GtkHeaderBar__sym)) s7_wrong_type_arg_error(sc, "gtk_header_bar_set_show_title_buttons", 1, bar, "GtkHeaderBar*");
+  setting = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_boolean(setting)) s7_wrong_type_arg_error(sc, "gtk_header_bar_set_show_title_buttons", 2, setting, "gboolean");
+  gtk_header_bar_set_show_title_buttons(s7_c_pointer(bar), lg_boolean(setting));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_icon_theme_get_for_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_icon_theme_get_for_display "GtkIconTheme* gtk_icon_theme_get_for_display(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_get_for_display", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GtkIconTheme__sym, gtk_icon_theme_get_for_display(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gtk_icon_theme_set_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_icon_theme_set_display "void gtk_icon_theme_set_display(GtkIconTheme* icon_theme, GdkDisplay* display)"
+  s7_pointer _p;
+  s7_pointer icon_theme, display;
+  _p = args;
+  icon_theme = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon_theme, GtkIconTheme__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_set_display", 1, icon_theme, "GtkIconTheme*");
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_theme_set_display", 2, display, "GdkDisplay*");
+  gtk_icon_theme_set_display(s7_c_pointer(icon_theme), s7_c_pointer(display));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_icon_info_load_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_icon_info_load_texture "GdkTexture* gtk_icon_info_load_texture(GtkIconInfo* icon_info)"
+  s7_pointer icon_info;
+  icon_info = s7_car(args);
+  if (!s7_is_c_pointer_of_type(icon_info, GtkIconInfo__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_info_load_texture", 1, icon_info, "GtkIconInfo*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_icon_info_load_texture(s7_c_pointer(icon_info))));
+}
+
+static s7_pointer lg_gtk_image_new_from_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_new_from_texture "GtkWidget* gtk_image_new_from_texture(GdkTexture* texture)"
+  s7_pointer texture;
+  texture = s7_car(args);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_image_new_from_texture", 1, texture, "GdkTexture*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_image_new_from_texture(s7_c_pointer(texture))));
+}
+
+static s7_pointer lg_gtk_image_new_from_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_new_from_icon_name "GtkWidget* gtk_image_new_from_icon_name(gchar* icon_name)"
+  s7_pointer icon_name;
+  icon_name = s7_car(args);
+  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gtk_image_new_from_icon_name", 1, icon_name, "gchar*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_image_new_from_icon_name((const gchar*)s7_string(icon_name))));
+}
+
+static s7_pointer lg_gtk_image_new_from_gicon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_new_from_gicon "GtkWidget* gtk_image_new_from_gicon(GIcon* icon)"
+  s7_pointer icon;
+  icon = s7_car(args);
+  if (!s7_is_c_pointer_of_type(icon, GIcon__sym)) s7_wrong_type_arg_error(sc, "gtk_image_new_from_gicon", 1, icon, "GIcon*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_image_new_from_gicon(s7_c_pointer(icon))));
+}
+
+static s7_pointer lg_gtk_image_set_from_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_set_from_texture "void gtk_image_set_from_texture(GtkImage* image, GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer image, texture;
+  _p = args;
+  image = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_texture", 1, image, "GtkImage*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_texture", 2, texture, "GdkTexture*");
+  gtk_image_set_from_texture(s7_c_pointer(image), s7_c_pointer(texture));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_image_set_from_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_set_from_icon_name "void gtk_image_set_from_icon_name(GtkImage* image, gchar* icon_name)"
+  s7_pointer _p;
+  s7_pointer image, icon_name;
+  _p = args;
+  image = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_icon_name", 1, image, "GtkImage*");
+  icon_name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_icon_name", 2, icon_name, "gchar*");
+  gtk_image_set_from_icon_name(s7_c_pointer(image), (const gchar*)s7_string(icon_name));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_image_set_from_gicon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_set_from_gicon "void gtk_image_set_from_gicon(GtkImage* image, GIcon* icon)"
+  s7_pointer _p;
+  s7_pointer image, icon;
+  _p = args;
+  image = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_gicon", 1, image, "GtkImage*");
+  icon = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon, GIcon__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_from_gicon", 2, icon, "GIcon*");
+  gtk_image_set_from_gicon(s7_c_pointer(image), s7_c_pointer(icon));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_image_set_icon_size(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_set_icon_size "void gtk_image_set_icon_size(GtkImage* image, GtkIconSize icon_size)"
+  s7_pointer _p;
+  s7_pointer image, icon_size;
+  _p = args;
+  image = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_set_icon_size", 1, image, "GtkImage*");
+  icon_size = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(icon_size)) s7_wrong_type_arg_error(sc, "gtk_image_set_icon_size", 2, icon_size, "GtkIconSize");
+  gtk_image_set_icon_size(s7_c_pointer(image), s7_integer(icon_size));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_image_get_surface(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_get_surface "cairo_surface_t* gtk_image_get_surface(GtkImage* image)"
+  s7_pointer image;
+  image = s7_car(args);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_surface", 1, image, "GtkImage*");
+  return(s7_make_type_with_c_pointer(sc, cairo_surface_t__sym, gtk_image_get_surface(s7_c_pointer(image))));
+}
+
+static s7_pointer lg_gtk_image_get_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_get_texture "GdkTexture* gtk_image_get_texture(GtkImage* image)"
+  s7_pointer image;
+  image = s7_car(args);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_texture", 1, image, "GtkImage*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_image_get_texture(s7_c_pointer(image))));
+}
+
+static s7_pointer lg_gtk_image_get_icon_size(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_get_icon_size "GtkIconSize gtk_image_get_icon_size(GtkImage* image)"
+  s7_pointer image;
+  image = s7_car(args);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_icon_size", 1, image, "GtkImage*");
+  return(s7_make_integer(sc, gtk_image_get_icon_size(s7_c_pointer(image))));
+}
+
+static s7_pointer lg_gtk_image_get_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_get_icon_name "char* gtk_image_get_icon_name(GtkImage* image)"
+  s7_pointer image;
+  image = s7_car(args);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_icon_name", 1, image, "GtkImage*");
+    return(s7_make_string(sc, (char*)gtk_image_get_icon_name(s7_c_pointer(image))));
+}
+
+static s7_pointer lg_gtk_image_get_gicon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_image_get_gicon "GIcon* gtk_image_get_gicon(GtkImage* image)"
+  s7_pointer image;
+  image = s7_car(args);
+  if (!s7_is_c_pointer_of_type(image, GtkImage__sym)) s7_wrong_type_arg_error(sc, "gtk_image_get_gicon", 1, image, "GtkImage*");
+  return(s7_make_type_with_c_pointer(sc, GIcon__sym, gtk_image_get_gicon(s7_c_pointer(image))));
+}
+
+static s7_pointer lg_gtk_invisible_new_for_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_invisible_new_for_display "GtkWidget* gtk_invisible_new_for_display(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_new_for_display", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_invisible_new_for_display(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gtk_invisible_set_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_invisible_set_display "void gtk_invisible_set_display(GtkInvisible* invisible, GdkDisplay* display)"
+  s7_pointer _p;
+  s7_pointer invisible, display;
+  _p = args;
+  invisible = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(invisible, GtkInvisible__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_set_display", 1, invisible, "GtkInvisible*");
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_invisible_set_display", 2, display, "GdkDisplay*");
+  gtk_invisible_set_display(s7_c_pointer(invisible), s7_c_pointer(display));
+  return(lg_false);
+}
+
+static s7_pointer lg_GtkInvisible*(s7_scheme *sc, s7_pointer args)
+{
+  #define H_GtkInvisible* "GdkDisplay*gtk_invisible_get_display GtkInvisible*( invisible)"
+  return(s7_make_type_with_c_pointer(sc, GdkDisplay_gtk_invisible_get_display_sym, GtkInvisible*()));
+}
+
+static s7_pointer lg_gtk_menu_set_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_menu_set_display "void gtk_menu_set_display(GtkMenu* menu, GdkDisplay* display)"
+  s7_pointer _p;
+  s7_pointer menu, display;
+  _p = args;
+  menu = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(menu, GtkMenu__sym)) s7_wrong_type_arg_error(sc, "gtk_menu_set_display", 1, menu, "GtkMenu*");
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_menu_set_display", 2, display, "GdkDisplay*");
+  gtk_menu_set_display(s7_c_pointer(menu), s7_c_pointer(display));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_render_icon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_render_icon "void gtk_render_icon(GtkStyleContext* context, cairo_t* cr, GdkTexture* texture, \
+gdouble x, gdouble y)"
+  s7_pointer _p;
+  s7_pointer context, cr, texture, x, y;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GtkStyleContext__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 1, context, "GtkStyleContext*");
+  cr = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cr, cairo_t__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 2, cr, "cairo_t*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 3, texture, "GdkTexture*");
+  x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(x)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 4, x, "gdouble");
+  y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(y)) s7_wrong_type_arg_error(sc, "gtk_render_icon", 5, y, "gdouble");
+  gtk_render_icon(s7_c_pointer(context), s7_c_pointer(cr), s7_c_pointer(texture), s7_real(x), s7_real(y));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_content_formats_add_text_targets(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_content_formats_add_text_targets "GdkContentFormats* gtk_content_formats_add_text_targets(GdkContentFormats* list)"
+  s7_pointer list;
+  list = s7_car(args);
+  if (!s7_is_c_pointer_of_type(list, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_content_formats_add_text_targets", 1, list, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gtk_content_formats_add_text_targets(s7_c_pointer(list))));
+}
+
+static s7_pointer lg_gtk_content_formats_add_image_targets(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_content_formats_add_image_targets "GdkContentFormats* gtk_content_formats_add_image_targets(GdkContentFormats* list, \
+gboolean writable)"
+  s7_pointer _p;
+  s7_pointer list, writable;
+  _p = args;
+  list = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(list, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_content_formats_add_image_targets", 1, list, "GdkContentFormats*");
+  writable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_boolean(writable)) s7_wrong_type_arg_error(sc, "gtk_content_formats_add_image_targets", 2, writable, "gboolean");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gtk_content_formats_add_image_targets(s7_c_pointer(list), lg_boolean(writable))));
+}
+
+static s7_pointer lg_gtk_content_formats_add_uri_targets(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_content_formats_add_uri_targets "GdkContentFormats* gtk_content_formats_add_uri_targets(GdkContentFormats* list)"
+  s7_pointer list;
+  list = s7_car(args);
+  if (!s7_is_c_pointer_of_type(list, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_content_formats_add_uri_targets", 1, list, "GdkContentFormats*");
+  return(s7_make_type_with_c_pointer(sc, GdkContentFormats__sym, gtk_content_formats_add_uri_targets(s7_c_pointer(list))));
+}
+
+static s7_pointer lg_gtk_selection_data_set(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set "void gtk_selection_data_set(GtkSelectionData* selection_data, GdkAtom type, \
+gint format, guchar* data, gint length)"
+  s7_pointer _p;
+  s7_pointer selection_data, type, format, data, length;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 1, selection_data, "GtkSelectionData*");
+  type = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(type, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 2, type, "GdkAtom");
+  format = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(format)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 3, format, "gint");
+  data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(data, guchar__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 4, data, "guchar*");
+  length = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(length)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set", 5, length, "gint");
+  gtk_selection_data_set(s7_c_pointer(selection_data), s7_c_pointer(type), s7_integer(format), s7_c_pointer(data), s7_integer(length));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_selection_data_set_text(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set_text "gboolean gtk_selection_data_set_text(GtkSelectionData* selection_data, \
+gchar* str, gint len)"
+  s7_pointer _p;
+  s7_pointer selection_data, str, len;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 1, selection_data, "GtkSelectionData*");
+  str = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(str)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 2, str, "gchar*");
+  len = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(len)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_text", 3, len, "gint");
+  return(s7_make_boolean(sc, gtk_selection_data_set_text(s7_c_pointer(selection_data), (const gchar*)s7_string(str), s7_integer(len))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_text(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_text "guchar* gtk_selection_data_get_text(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_text", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_type_with_c_pointer(sc, guchar__sym, gtk_selection_data_get_text(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_set_pixbuf(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set_pixbuf "gboolean gtk_selection_data_set_pixbuf(GtkSelectionData* selection_data, \
+GdkPixbuf* pixbuf)"
+  s7_pointer _p;
+  s7_pointer selection_data, pixbuf;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_pixbuf", 1, selection_data, "GtkSelectionData*");
+  pixbuf = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(pixbuf, GdkPixbuf__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_pixbuf", 2, pixbuf, "GdkPixbuf*");
+  return(s7_make_boolean(sc, gtk_selection_data_set_pixbuf(s7_c_pointer(selection_data), s7_c_pointer(pixbuf))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_surface(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_surface "cairo_surface_t* gtk_selection_data_get_surface(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_surface", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_type_with_c_pointer(sc, cairo_surface_t__sym, gtk_selection_data_get_surface(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_set_surface(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set_surface "gboolean gtk_selection_data_set_surface(GtkSelectionData* selection_data, \
+cairo_surface_t* surface)"
+  s7_pointer _p;
+  s7_pointer selection_data, surface;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_surface", 1, selection_data, "GtkSelectionData*");
+  surface = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(surface, cairo_surface_t__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_surface", 2, surface, "cairo_surface_t*");
+  return(s7_make_boolean(sc, gtk_selection_data_set_surface(s7_c_pointer(selection_data), s7_c_pointer(surface))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_pixbuf(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_pixbuf "GdkPixbuf* gtk_selection_data_get_pixbuf(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_pixbuf", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_type_with_c_pointer(sc, GdkPixbuf__sym, gtk_selection_data_get_pixbuf(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_set_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set_texture "gboolean gtk_selection_data_set_texture(GtkSelectionData* selection_data, \
+GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer selection_data, texture;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_texture", 1, selection_data, "GtkSelectionData*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_texture", 2, texture, "GdkTexture*");
+  return(s7_make_boolean(sc, gtk_selection_data_set_texture(s7_c_pointer(selection_data), s7_c_pointer(texture))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_texture "GdkTexture* gtk_selection_data_get_texture(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_texture", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_selection_data_get_texture(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_set_uris(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_set_uris "gboolean gtk_selection_data_set_uris(GtkSelectionData* selection_data, \
+gchar** uris)"
+  s7_pointer _p;
+  s7_pointer selection_data, uris;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_uris", 1, selection_data, "GtkSelectionData*");
+  uris = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(uris, gchar___sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_set_uris", 2, uris, "gchar**");
+  return(s7_make_boolean(sc, gtk_selection_data_set_uris(s7_c_pointer(selection_data), s7_c_pointer(uris))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_uris(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_uris "gchar** gtk_selection_data_get_uris(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_uris", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_type_with_c_pointer(sc, gchar___sym, gtk_selection_data_get_uris(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_get_targets(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_get_targets "gboolean gtk_selection_data_get_targets(GtkSelectionData* selection_data, \
+GdkAtom** [targets], gint* [natoms])"
+  s7_pointer _p;
+  s7_pointer selection_data;
+  GdkAtom* ref_targets = NULL;
+  gint ref_natoms;
+  _p = args;
+  selection_data = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_get_targets", 1, selection_data, "GtkSelectionData*");
+  {
+    s7_pointer result;
+    result = s7_make_boolean(sc, gtk_selection_data_get_targets(s7_c_pointer(selection_data), &ref_targets, &ref_natoms));
+      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_targets), s7_make_integer(sc, ref_natoms)));
+   }
+}
+
+static s7_pointer lg_gtk_selection_data_targets_include_text(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_targets_include_text "gboolean gtk_selection_data_targets_include_text(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_text", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_boolean(sc, gtk_selection_data_targets_include_text(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_selection_data_targets_include_uri(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_selection_data_targets_include_uri "gboolean gtk_selection_data_targets_include_uri(GtkSelectionData* selection_data)"
+  s7_pointer selection_data;
+  selection_data = s7_car(args);
+  if (!s7_is_c_pointer_of_type(selection_data, GtkSelectionData__sym)) s7_wrong_type_arg_error(sc, "gtk_selection_data_targets_include_uri", 1, selection_data, "GtkSelectionData*");
+  return(s7_make_boolean(sc, gtk_selection_data_targets_include_uri(s7_c_pointer(selection_data))));
+}
+
+static s7_pointer lg_gtk_targets_include_text(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_targets_include_text "gboolean gtk_targets_include_text(GdkAtom* targets, gint n_targets)"
+  s7_pointer _p;
+  s7_pointer targets, n_targets;
+  _p = args;
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_text", 1, targets, "GdkAtom*");
+  n_targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_text", 2, n_targets, "gint");
+  return(s7_make_boolean(sc, gtk_targets_include_text(s7_c_pointer(targets), s7_integer(n_targets))));
+}
+
+static s7_pointer lg_gtk_targets_include_image(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_targets_include_image "gboolean gtk_targets_include_image(GdkAtom* targets, gint n_targets, \
+gboolean writable)"
+  s7_pointer _p;
+  s7_pointer targets, n_targets, writable;
+  _p = args;
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 1, targets, "GdkAtom*");
+  n_targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 2, n_targets, "gint");
+  writable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_boolean(writable)) s7_wrong_type_arg_error(sc, "gtk_targets_include_image", 3, writable, "gboolean");
+  return(s7_make_boolean(sc, gtk_targets_include_image(s7_c_pointer(targets), s7_integer(n_targets), lg_boolean(writable))));
+}
+
+static s7_pointer lg_gtk_targets_include_uri(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_targets_include_uri "gboolean gtk_targets_include_uri(GdkAtom* targets, gint n_targets)"
+  s7_pointer _p;
+  s7_pointer targets, n_targets;
+  _p = args;
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GdkAtom__sym)) s7_wrong_type_arg_error(sc, "gtk_targets_include_uri", 1, targets, "GdkAtom*");
+  n_targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(n_targets)) s7_wrong_type_arg_error(sc, "gtk_targets_include_uri", 2, n_targets, "gint");
+  return(s7_make_boolean(sc, gtk_targets_include_uri(s7_c_pointer(targets), s7_integer(n_targets))));
+}
+
+static s7_pointer lg_gtk_settings_get_for_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_settings_get_for_display "GtkSettings* gtk_settings_get_for_display(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_settings_get_for_display", 1, display, "GdkDisplay*");
+  return(s7_make_type_with_c_pointer(sc, GtkSettings__sym, gtk_settings_get_for_display(s7_c_pointer(display))));
+}
+
+static s7_pointer lg_gtk_style_context_add_provider_for_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_style_context_add_provider_for_display "void gtk_style_context_add_provider_for_display(GdkDisplay* display, \
+GtkStyleProvider* provider, guint priority)"
+  s7_pointer _p;
+  s7_pointer display, provider, priority;
+  _p = args;
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_add_provider_for_display", 1, display, "GdkDisplay*");
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GtkStyleProvider__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_add_provider_for_display", 2, provider, "GtkStyleProvider*");
+  priority = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(priority)) s7_wrong_type_arg_error(sc, "gtk_style_context_add_provider_for_display", 3, priority, "guint");
+  gtk_style_context_add_provider_for_display(s7_c_pointer(display), s7_c_pointer(provider), s7_integer(priority));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_style_context_remove_provider_for_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_style_context_remove_provider_for_display "void gtk_style_context_remove_provider_for_display(GdkDisplay* display, \
+GtkStyleProvider* provider)"
+  s7_pointer _p;
+  s7_pointer display, provider;
+  _p = args;
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_remove_provider_for_display", 1, display, "GdkDisplay*");
+  provider = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(provider, GtkStyleProvider__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_remove_provider_for_display", 2, provider, "GtkStyleProvider*");
+  gtk_style_context_remove_provider_for_display(s7_c_pointer(display), s7_c_pointer(provider));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_style_context_set_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_style_context_set_display "void gtk_style_context_set_display(GtkStyleContext* context, \
+GdkDisplay* display)"
+  s7_pointer _p;
+  s7_pointer context, display;
+  _p = args;
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GtkStyleContext__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_set_display", 1, context, "GtkStyleContext*");
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_set_display", 2, display, "GdkDisplay*");
+  gtk_style_context_set_display(s7_c_pointer(context), s7_c_pointer(display));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_style_context_get_display(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_style_context_get_display "GdkDisplay* gtk_style_context_get_display(GtkStyleContext* context)"
+  s7_pointer context;
+  context = s7_car(args);
+  if (!s7_is_c_pointer_of_type(context, GtkStyleContext__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_get_display", 1, context, "GtkStyleContext*");
+  return(s7_make_type_with_c_pointer(sc, GdkDisplay__sym, gtk_style_context_get_display(s7_c_pointer(context))));
+}
+
+static s7_pointer lg_gtk_style_context_reset_widgets(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_style_context_reset_widgets "void gtk_style_context_reset_widgets(GdkDisplay* display)"
+  s7_pointer display;
+  display = s7_car(args);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_style_context_reset_widgets", 1, display, "GdkDisplay*");
+  gtk_style_context_reset_widgets(s7_c_pointer(display));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_insert_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_insert_texture "void gtk_text_buffer_insert_texture(GtkTextBuffer* buffer, \
+GtkTextIter* iter, GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer buffer, iter, texture;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_texture", 1, buffer, "GtkTextBuffer*");
+  iter = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_texture", 2, iter, "GtkTextIter*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_insert_texture", 3, texture, "GdkTexture*");
+  gtk_text_buffer_insert_texture(s7_c_pointer(buffer), s7_c_pointer(iter), s7_c_pointer(texture));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_add_selection_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_add_selection_clipboard "void gtk_text_buffer_add_selection_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  s7_pointer _p;
+  s7_pointer buffer, clipboard;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_add_selection_clipboard", 1, buffer, "GtkTextBuffer*");
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_add_selection_clipboard", 2, clipboard, "GdkClipboard*");
+  gtk_text_buffer_add_selection_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_remove_selection_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_remove_selection_clipboard "void gtk_text_buffer_remove_selection_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  s7_pointer _p;
+  s7_pointer buffer, clipboard;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_remove_selection_clipboard", 1, buffer, "GtkTextBuffer*");
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_remove_selection_clipboard", 2, clipboard, "GdkClipboard*");
+  gtk_text_buffer_remove_selection_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_cut_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_cut_clipboard "void gtk_text_buffer_cut_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard, gboolean default_editable)"
+  s7_pointer _p;
+  s7_pointer buffer, clipboard, default_editable;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 1, buffer, "GtkTextBuffer*");
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 2, clipboard, "GdkClipboard*");
+  default_editable = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_boolean(default_editable)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_cut_clipboard", 3, default_editable, "gboolean");
+  gtk_text_buffer_cut_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard), lg_boolean(default_editable));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_copy_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_copy_clipboard "void gtk_text_buffer_copy_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  s7_pointer _p;
+  s7_pointer buffer, clipboard;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_copy_clipboard", 1, buffer, "GtkTextBuffer*");
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_copy_clipboard", 2, clipboard, "GdkClipboard*");
+  gtk_text_buffer_copy_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_buffer_paste_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_buffer_paste_clipboard "void gtk_text_buffer_paste_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  s7_pointer _p;
+  s7_pointer buffer, clipboard;
+  _p = args;
+  buffer = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(buffer, GtkTextBuffer__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 1, buffer, "GtkTextBuffer*");
+  clipboard = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(clipboard, GdkClipboard__sym)) s7_wrong_type_arg_error(sc, "gtk_text_buffer_paste_clipboard", 2, clipboard, "GdkClipboard*");
+  gtk_text_buffer_paste_clipboard(s7_c_pointer(buffer), s7_c_pointer(clipboard));
+  return(lg_false);
+}
+
+static s7_pointer lg_override_location(s7_scheme *sc, s7_pointer args)
+{
+  #define H_override_location "GtkTextIter* override_location(gboolean default_editable)"
+  s7_pointer default_editable;
+  default_editable = s7_car(args);
+  if (!s7_is_boolean(default_editable)) s7_wrong_type_arg_error(sc, "override_location", 1, default_editable, "gboolean");
+  return(s7_make_type_with_c_pointer(sc, GtkTextIter__sym, override_location(lg_boolean(default_editable))));
+}
+
+static s7_pointer lg_gtk_tool_palette_get_drag_target_item(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tool_palette_get_drag_target_item "char* gtk_tool_palette_get_drag_target_item( void)"
+    return(s7_make_string(sc, (char*)gtk_tool_palette_get_drag_target_item()));
+}
+
+static s7_pointer lg_gtk_tool_palette_get_drag_target_group(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tool_palette_get_drag_target_group "char* gtk_tool_palette_get_drag_target_group( void)"
+    return(s7_make_string(sc, (char*)gtk_tool_palette_get_drag_target_group()));
+}
+
+static s7_pointer lg_gtk_tooltip_set_icon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tooltip_set_icon "void gtk_tooltip_set_icon(GtkTooltip* tooltip, GdkTexture* texture)"
+  s7_pointer _p;
+  s7_pointer tooltip, texture;
+  _p = args;
+  tooltip = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(tooltip, GtkTooltip__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon", 1, tooltip, "GtkTooltip*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon", 2, texture, "GdkTexture*");
+  gtk_tooltip_set_icon(s7_c_pointer(tooltip), s7_c_pointer(texture));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_tooltip_set_icon_from_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tooltip_set_icon_from_icon_name "void gtk_tooltip_set_icon_from_icon_name(GtkTooltip* tooltip, \
+gchar* icon_name)"
+  s7_pointer _p;
+  s7_pointer tooltip, icon_name;
+  _p = args;
+  tooltip = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(tooltip, GtkTooltip__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon_from_icon_name", 1, tooltip, "GtkTooltip*");
+  icon_name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon_from_icon_name", 2, icon_name, "gchar*");
+  gtk_tooltip_set_icon_from_icon_name(s7_c_pointer(tooltip), (const gchar*)s7_string(icon_name));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_tooltip_set_icon_from_gicon(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tooltip_set_icon_from_gicon "void gtk_tooltip_set_icon_from_gicon(GtkTooltip* tooltip, \
+GIcon* gicon)"
+  s7_pointer _p;
+  s7_pointer tooltip, gicon;
+  _p = args;
+  tooltip = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(tooltip, GtkTooltip__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon_from_gicon", 1, tooltip, "GtkTooltip*");
+  gicon = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(gicon, GIcon__sym)) s7_wrong_type_arg_error(sc, "gtk_tooltip_set_icon_from_gicon", 2, gicon, "GIcon*");
+  gtk_tooltip_set_icon_from_gicon(s7_c_pointer(tooltip), s7_c_pointer(gicon));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_tree_view_enable_model_drag_source(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tree_view_enable_model_drag_source "void gtk_tree_view_enable_model_drag_source(GtkTreeView* tree_view, \
+GdkModifierType start_button_mask, GdkContentFormats* formats, GdkDragAction actions)"
+  s7_pointer _p;
+  s7_pointer tree_view, start_button_mask, formats, actions;
+  _p = args;
+  tree_view = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(tree_view, GtkTreeView__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 1, tree_view, "GtkTreeView*");
+  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 2, start_button_mask, "GdkModifierType");
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 3, formats, "GdkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_source", 4, actions, "GdkDragAction");
+  gtk_tree_view_enable_model_drag_source(s7_c_pointer(tree_view), s7_integer(start_button_mask), s7_c_pointer(formats), s7_integer(actions));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_tree_view_enable_model_drag_dest(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_tree_view_enable_model_drag_dest "void gtk_tree_view_enable_model_drag_dest(GtkTreeView* tree_view, \
+GdkContentFormats* formats, GdkDragAction actions)"
+  s7_pointer _p;
+  s7_pointer tree_view, formats, actions;
+  _p = args;
+  tree_view = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(tree_view, GtkTreeView__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 1, tree_view, "GtkTreeView*");
+  formats = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(formats, GdkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 2, formats, "GdkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_tree_view_enable_model_drag_dest", 3, actions, "GdkDragAction");
+  gtk_tree_view_enable_model_drag_dest(s7_c_pointer(tree_view), s7_c_pointer(formats), s7_integer(actions));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_widget_get_width(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_widget_get_width "int gtk_widget_get_width(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_width", 1, widget, "GtkWidget*");
+  return(s7_make_integer(sc, gtk_widget_get_width(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_widget_get_height(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_widget_get_height "int gtk_widget_get_height(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_height", 1, widget, "GtkWidget*");
+  return(s7_make_integer(sc, gtk_widget_get_height(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_widget_get_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_widget_get_clipboard "GdkClipboard* gtk_widget_get_clipboard(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_clipboard", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GdkClipboard__sym, gtk_widget_get_clipboard(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_widget_get_primary_clipboard(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_widget_get_primary_clipboard "GdkClipboard* gtk_widget_get_primary_clipboard(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_primary_clipboard", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GdkClipboard__sym, gtk_widget_get_primary_clipboard(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_widget_contains(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_touchpad_angle_delta "gboolean gdk_event_get_touchpad_angle_delta(GdkEvent* event, \
-double* [delta])"
+  #define H_gtk_widget_contains "gboolean gtk_widget_contains(GtkWidget* widget, gdouble x, gdouble y)"
   s7_pointer _p;
-  s7_pointer event;
-  double ref_delta;
+  s7_pointer widget, x, y;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touchpad_angle_delta", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_touchpad_angle_delta(s7_c_pointer(event), &ref_delta));
-      return(s7_list(sc, 2, result, s7_make_real(sc, ref_delta)));
-   }
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_contains", 1, widget, "GtkWidget*");
+  x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(x)) s7_wrong_type_arg_error(sc, "gtk_widget_contains", 2, x, "gdouble");
+  y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(y)) s7_wrong_type_arg_error(sc, "gtk_widget_contains", 3, y, "gdouble");
+  return(s7_make_boolean(sc, gtk_widget_contains(s7_c_pointer(widget), s7_real(x), s7_real(y))));
 }
 
-static s7_pointer lg_gdk_event_get_touchpad_scale(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_widget_pick(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_touchpad_scale "gboolean gdk_event_get_touchpad_scale(GdkEvent* event, double* [scale])"
+  #define H_gtk_widget_pick "GtkWidget* gtk_widget_pick(GtkWidget* widget, gdouble x, gdouble y)"
   s7_pointer _p;
-  s7_pointer event;
-  double ref_scale;
+  s7_pointer widget, x, y;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touchpad_scale", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_touchpad_scale(s7_c_pointer(event), &ref_scale));
-      return(s7_list(sc, 2, result, s7_make_real(sc, ref_scale)));
-   }
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_pick", 1, widget, "GtkWidget*");
+  x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(x)) s7_wrong_type_arg_error(sc, "gtk_widget_pick", 2, x, "gdouble");
+  y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(y)) s7_wrong_type_arg_error(sc, "gtk_widget_pick", 3, y, "gdouble");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_widget_pick(s7_c_pointer(widget), s7_real(x), s7_real(y))));
 }
 
-static s7_pointer lg_gdk_event_get_touch_emulating_pointer(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_widget_set_cursor(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_touch_emulating_pointer "gboolean gdk_event_get_touch_emulating_pointer(GdkEvent* event, \
-gboolean* [emulating])"
+  #define H_gtk_widget_set_cursor "void gtk_widget_set_cursor(GtkWidget* widget, GdkCursor* cursor)"
   s7_pointer _p;
-  s7_pointer event;
-  gboolean ref_emulating;
+  s7_pointer widget, cursor;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_touch_emulating_pointer", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_touch_emulating_pointer(s7_c_pointer(event), &ref_emulating));
-      return(s7_list(sc, 2, result, s7_make_boolean(sc, ref_emulating)));
-   }
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_set_cursor", 1, widget, "GtkWidget*");
+  cursor = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(cursor, GdkCursor__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_set_cursor", 2, cursor, "GdkCursor*");
+  gtk_widget_set_cursor(s7_c_pointer(widget), s7_c_pointer(cursor));
+  return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_grab_window(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_widget_set_cursor_from_name(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_grab_window "gboolean gdk_event_get_grab_window(GdkEvent* event, GdkWindow** [window])"
+  #define H_gtk_widget_set_cursor_from_name "void gtk_widget_set_cursor_from_name(GtkWidget* widget, \
+char* name)"
   s7_pointer _p;
-  s7_pointer event;
-  GdkWindow* ref_window = NULL;
+  s7_pointer widget, name;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_grab_window", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_grab_window(s7_c_pointer(event), &ref_window));
-      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_window)));
-   }
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_set_cursor_from_name", 1, widget, "GtkWidget*");
+  name = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gtk_widget_set_cursor_from_name", 2, name, "char*");
+  gtk_widget_set_cursor_from_name(s7_c_pointer(widget), (const char*)(char*)s7_string(name));
+  return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_window_state(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_widget_get_cursor(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_window_state "gboolean gdk_event_get_window_state(GdkEvent* event, GdkWindowState* [changed], \
-GdkWindowState* [new_state])"
-  s7_pointer _p;
-  s7_pointer event;
-  GdkWindowState ref_changed;
-  GdkWindowState ref_new_state;
-  _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_window_state", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_window_state(s7_c_pointer(event), &ref_changed, &ref_new_state));
-      return(s7_list(sc, 3, result, s7_make_integer(sc, ref_changed), s7_make_integer(sc, ref_new_state)));
-   }
+  #define H_gtk_widget_get_cursor "GdkCursor* gtk_widget_get_cursor(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_widget_get_cursor", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GdkCursor__sym, gtk_widget_get_cursor(s7_c_pointer(widget))));
 }
 
-static s7_pointer lg_gdk_event_get_focus_in(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_window_set_display(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_focus_in "gboolean gdk_event_get_focus_in(GdkEvent* event, gboolean* [focus_in])"
+  #define H_gtk_window_set_display "void gtk_window_set_display(GtkWindow* window, GdkDisplay* display)"
   s7_pointer _p;
-  s7_pointer event;
-  gboolean ref_focus_in;
+  s7_pointer window, display;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_focus_in", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_focus_in(s7_c_pointer(event), &ref_focus_in));
-      return(s7_list(sc, 2, result, s7_make_boolean(sc, ref_focus_in)));
-   }
+  window = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_display", 1, window, "GtkWindow*");
+  display = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(display, GdkDisplay__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_display", 2, display, "GdkDisplay*");
+  gtk_window_set_display(s7_c_pointer(window), s7_c_pointer(display));
+  return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_pad_group_mode(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_window_set_icon(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_pad_group_mode "gboolean gdk_event_get_pad_group_mode(GdkEvent* event, guint* [group], \
-guint* [mode])"
+  #define H_gtk_window_set_icon "void gtk_window_set_icon(GtkWindow* window, GdkTexture* icon)"
   s7_pointer _p;
-  s7_pointer event;
-  guint ref_group;
-  guint ref_mode;
+  s7_pointer window, icon;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_group_mode", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_pad_group_mode(s7_c_pointer(event), &ref_group, &ref_mode));
-      return(s7_list(sc, 3, result, s7_make_integer(sc, ref_group), s7_make_integer(sc, ref_mode)));
-   }
+  window = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_icon", 1, window, "GtkWindow*");
+  icon = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_icon", 2, icon, "GdkTexture*");
+  gtk_window_set_icon(s7_c_pointer(window), s7_c_pointer(icon));
+  return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_pad_button(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_window_get_icon(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_pad_button "gboolean gdk_event_get_pad_button(GdkEvent* event, guint* [button])"
-  s7_pointer _p;
-  s7_pointer event;
-  guint ref_button;
-  _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_button", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_pad_button(s7_c_pointer(event), &ref_button));
-      return(s7_list(sc, 2, result, s7_make_integer(sc, ref_button)));
-   }
+  #define H_gtk_window_get_icon "GdkTexture* gtk_window_get_icon(GtkWindow* window)"
+  s7_pointer window;
+  window = s7_car(args);
+  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_get_icon", 1, window, "GtkWindow*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_window_get_icon(s7_c_pointer(window))));
 }
 
-static s7_pointer lg_gdk_event_get_pad_axis_value(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_window_set_default_icon(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_pad_axis_value "gboolean gdk_event_get_pad_axis_value(GdkEvent* event, guint* [index], \
-gdouble* [value])"
+  #define H_gtk_window_set_default_icon "void gtk_window_set_default_icon(GdkTexture* icon)"
+  s7_pointer icon;
+  icon = s7_car(args);
+  if (!s7_is_c_pointer_of_type(icon, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_window_set_default_icon", 1, icon, "GdkTexture*");
+  gtk_window_set_default_icon(s7_c_pointer(icon));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_window_fullscreen_on_monitor(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_window_fullscreen_on_monitor "void gtk_window_fullscreen_on_monitor(GtkWindow* window, \
+GdkMonitor* monitor)"
   s7_pointer _p;
-  s7_pointer event;
-  guint ref_index;
-  gdouble ref_value;
+  s7_pointer window, monitor;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_pad_axis_value", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_pad_axis_value(s7_c_pointer(event), &ref_index, &ref_value));
-      return(s7_list(sc, 3, result, s7_make_integer(sc, ref_index), s7_make_real(sc, ref_value)));
-   }
+  window = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(window, GtkWindow__sym)) s7_wrong_type_arg_error(sc, "gtk_window_fullscreen_on_monitor", 1, window, "GtkWindow*");
+  monitor = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(monitor, GdkMonitor__sym)) s7_wrong_type_arg_error(sc, "gtk_window_fullscreen_on_monitor", 2, monitor, "GdkMonitor*");
+  gtk_window_fullscreen_on_monitor(s7_c_pointer(window), s7_c_pointer(monitor));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_text_iter_get_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_text_iter_get_texture "GdkTexture* gtk_text_iter_get_texture(GtkTextIter* iter)"
+  s7_pointer iter;
+  iter = s7_car(args);
+  if (!s7_is_c_pointer_of_type(iter, GtkTextIter__sym)) s7_wrong_type_arg_error(sc, "gtk_text_iter_get_texture", 1, iter, "GtkTextIter*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_text_iter_get_texture(s7_c_pointer(iter))));
 }
 
-static s7_pointer lg_gdk_event_get_property(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_icon_view_enable_model_drag_source(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_property "gboolean gdk_event_get_property(GdkEvent* event, GdkAtom* [property], \
-GdkPropertyState* [state])"
+  #define H_gtk_icon_view_enable_model_drag_source "void gtk_icon_view_enable_model_drag_source(GtkIconView* icon_view, \
+GdkModifierType start_button_mask, GtkContentFormats* targets, GdkDragAction actions)"
   s7_pointer _p;
-  s7_pointer event;
-  GdkAtom ref_property;
-  GdkPropertyState ref_state;
+  s7_pointer icon_view, start_button_mask, targets, actions;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_property", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_property(s7_c_pointer(event), &ref_property, &ref_state));
-      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_property), s7_make_integer(sc, ref_state)));
-   }
+  icon_view = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon_view, GtkIconView__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 1, icon_view, "GtkIconView*");
+  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 2, start_button_mask, "GdkModifierType");
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GtkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 3, targets, "GtkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_source", 4, actions, "GdkDragAction");
+  gtk_icon_view_enable_model_drag_source(s7_c_pointer(icon_view), s7_integer(start_button_mask), s7_c_pointer(targets), s7_integer(actions));
+  return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_selection(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_icon_view_enable_model_drag_dest(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_selection "gboolean gdk_event_get_selection(GdkEvent* event, GdkAtom* [selection])"
+  #define H_gtk_icon_view_enable_model_drag_dest "void gtk_icon_view_enable_model_drag_dest(GtkIconView* icon_view, \
+GtkContentFormats* targets, GdkDragAction actions)"
   s7_pointer _p;
-  s7_pointer event;
-  GdkAtom ref_selection;
+  s7_pointer icon_view, targets, actions;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_selection", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_selection(s7_c_pointer(event), &ref_selection));
-      return(s7_list(sc, 2, result, s7_make_c_pointer(sc, ref_selection)));
-   }
+  icon_view = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icon_view, GtkIconView__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 1, icon_view, "GtkIconView*");
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GtkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 2, targets, "GtkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_icon_view_enable_model_drag_dest", 3, actions, "GdkDragAction");
+  gtk_icon_view_enable_model_drag_dest(s7_c_pointer(icon_view), s7_c_pointer(targets), s7_integer(actions));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_about_dialog_get_logo(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_about_dialog_get_logo "GdkTexture* gtk_about_dialog_get_logo(GtkAboutDialog* about)"
+  s7_pointer about;
+  about = s7_car(args);
+  if (!s7_is_c_pointer_of_type(about, GtkAboutDialog__sym)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_get_logo", 1, about, "GtkAboutDialog*");
+  return(s7_make_type_with_c_pointer(sc, GdkTexture__sym, gtk_about_dialog_get_logo(s7_c_pointer(about))));
 }
 
-static s7_pointer lg_gdk_event_get_selection_property(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_about_dialog_set_logo(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_selection_property "gboolean gdk_event_get_selection_property(GdkEvent* event, \
-GdkAtom* [property], GdkAtom* [target], GdkWindow** [requestor])"
+  #define H_gtk_about_dialog_set_logo "void gtk_about_dialog_set_logo(GtkAboutDialog* about, GdkTexture* logo)"
   s7_pointer _p;
-  s7_pointer event;
-  GdkAtom ref_property;
-  GdkAtom ref_target;
-  GdkWindow* ref_requestor = NULL;
+  s7_pointer about, logo;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_selection_property", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_selection_property(s7_c_pointer(event), &ref_property, &ref_target, &ref_requestor));
-      return(s7_list(sc, 4, result, s7_make_c_pointer(sc, ref_property), s7_make_c_pointer(sc, ref_target), s7_make_c_pointer(sc, ref_requestor)));
-   }
+  about = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(about, GtkAboutDialog__sym)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_set_logo", 1, about, "GtkAboutDialog*");
+  logo = s7_car(_p); _p = s7_cdr(_p);
+  if ((!s7_is_c_pointer_of_type(logo, GdkTexture__sym)) && (logo != lg_false)) s7_wrong_type_arg_error(sc, "gtk_about_dialog_set_logo", 2, logo, "GdkTexture*");
+  gtk_about_dialog_set_logo(s7_c_pointer(about), s7_c_pointer(logo));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_button_new_from_icon_name(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_button_new_from_icon_name "GtkWidget* gtk_button_new_from_icon_name(gchar* icon_name)"
+  s7_pointer icon_name;
+  icon_name = s7_car(args);
+  if (!s7_is_string(icon_name)) s7_wrong_type_arg_error(sc, "gtk_button_new_from_icon_name", 1, icon_name, "gchar*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_button_new_from_icon_name((const gchar*)s7_string(icon_name))));
 }
 
-static s7_pointer lg_gdk_event_set_selection(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_cell_view_new_with_texture(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_cell_view_new_with_texture "GtkWidget* gtk_cell_view_new_with_texture(GdkTexture* texture)"
+  s7_pointer texture;
+  texture = s7_car(args);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_cell_view_new_with_texture", 1, texture, "GdkTexture*");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_cell_view_new_with_texture(s7_c_pointer(texture))));
+}
+
+static s7_pointer lg_gtk_drag_finish(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_set_selection "void gdk_event_set_selection(GdkEvent* event, GdkWindow* window, \
-GdkAtom selection, guint32 time)"
+  #define H_gtk_drag_finish "void gtk_drag_finish(GdkDragContext* context, gboolean success, guint32 time)"
   s7_pointer _p;
-  s7_pointer event, window, selection, time;
+  s7_pointer context, success, time;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_set_selection", 1, event, "GdkEvent*");
-  window = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(window, GdkWindow__sym)) s7_wrong_type_arg_error(sc, "gdk_event_set_selection", 2, window, "GdkWindow*");
-  selection = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(selection, GdkAtom_sym)) s7_wrong_type_arg_error(sc, "gdk_event_set_selection", 3, selection, "GdkAtom");
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 1, context, "GdkDragContext*");
+  success = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_boolean(success)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 2, success, "gboolean");
   time = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gdk_event_set_selection", 4, time, "guint32");
-  gdk_event_set_selection(s7_c_pointer(event), s7_c_pointer(window), s7_c_pointer(selection), s7_integer(time));
+  if (!s7_is_integer(time)) s7_wrong_type_arg_error(sc, "gtk_drag_finish", 3, time, "guint32");
+  gtk_drag_finish(s7_c_pointer(context), lg_boolean(success), s7_integer(time));
   return(lg_false);
 }
 
-static s7_pointer lg_gdk_event_get_axes(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_set_icon_pixbuf(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gdk_event_get_axes "gboolean gdk_event_get_axes(GdkEvent* event, gdouble** [axes], guint* [n_axes])"
+  #define H_gtk_drag_set_icon_pixbuf "void gtk_drag_set_icon_pixbuf(GdkDragContext* context, GdkTexture* texture, \
+gint hot_x, gint hot_y)"
   s7_pointer _p;
-  s7_pointer event;
-  gdouble* ref_axes = NULL;
-  guint ref_n_axes;
+  s7_pointer context, texture, hot_x, hot_y;
   _p = args;
-  event = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(event, GdkEvent__sym)) s7_wrong_type_arg_error(sc, "gdk_event_get_axes", 1, event, "GdkEvent*");
-  {
-    s7_pointer result;
-    result = s7_make_boolean(sc, gdk_event_get_axes(s7_c_pointer(event), &ref_axes, &ref_n_axes));
-      return(s7_list(sc, 3, result, s7_make_c_pointer(sc, ref_axes), s7_make_integer(sc, ref_n_axes)));
-   }
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 1, context, "GdkDragContext*");
+  texture = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(texture, GdkTexture__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 2, texture, "GdkTexture*");
+  hot_x = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(hot_x)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 3, hot_x, "gint");
+  hot_y = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(hot_y)) s7_wrong_type_arg_error(sc, "gtk_drag_set_icon_pixbuf", 4, hot_y, "gint");
+  gtk_drag_set_icon_pixbuf(s7_c_pointer(context), s7_c_pointer(texture), s7_integer(hot_x), s7_integer(hot_y));
+  return(lg_false);
 }
 
-static s7_pointer lg_gtk_snapshot_push_blur(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_dest_set(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gtk_snapshot_push_blur "void gtk_snapshot_push_blur(GtkSnapshot* snapshot, double radius, \
-char* name)"
+  #define H_gtk_drag_dest_set "void gtk_drag_dest_set(GtkWidget* widget, GtkDestDefaults flags, GtkContentFormats* targets, \
+GdkDragAction actions)"
   s7_pointer _p;
-  s7_pointer snapshot, radius, name;
+  s7_pointer widget, flags, targets, actions;
   _p = args;
-  snapshot = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(snapshot, GtkSnapshot__sym)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 1, snapshot, "GtkSnapshot*");
-  radius = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_real(radius)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 2, radius, "double");
-  name = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_string(name)) s7_wrong_type_arg_error(sc, "gtk_snapshot_push_blur", 3, name, "char*");
-  gtk_snapshot_push_blur(s7_c_pointer(snapshot), s7_real(radius), (const char*)(char*)s7_string(name));
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 1, widget, "GtkWidget*");
+  flags = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 2, flags, "GtkDestDefaults");
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GtkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 3, targets, "GtkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set", 4, actions, "GdkDragAction");
+  gtk_drag_dest_set(s7_c_pointer(widget), s7_integer(flags), s7_c_pointer(targets), s7_integer(actions));
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_emoji_chooser_new(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_dest_find_target(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gtk_emoji_chooser_new "GtkWidget* gtk_emoji_chooser_new( void)"
-  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_emoji_chooser_new()));
+  #define H_gtk_drag_dest_find_target "char* gtk_drag_dest_find_target(GtkWidget* widget, GdkDragContext* context, \
+GtkContentFormats* target_list)"
+  s7_pointer _p;
+  s7_pointer widget, context, target_list;
+  _p = args;
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 1, widget, "GtkWidget*");
+  context = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(context, GdkDragContext__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 2, context, "GdkDragContext*");
+  target_list = s7_car(_p); _p = s7_cdr(_p);
+  if ((!s7_is_c_pointer_of_type(target_list, GtkContentFormats__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_find_target", 3, target_list, "GtkContentFormats*");
+    return(s7_make_string(sc, (char*)gtk_drag_dest_find_target(s7_c_pointer(widget), s7_c_pointer(context), s7_c_pointer(target_list))));
 }
 
-static s7_pointer lg_gtk_event_controller_scroll_new(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_dest_get_target_list(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gtk_event_controller_scroll_new "GtkEventController* gtk_event_controller_scroll_new(GtkWidget* widget, \
-GtkEventControllerScrollFlags flags)"
+  #define H_gtk_drag_dest_get_target_list "GtkContentFormats* gtk_drag_dest_get_target_list(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_get_target_list", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GtkContentFormats__sym, gtk_drag_dest_get_target_list(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_drag_dest_set_target_list(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_drag_dest_set_target_list "void gtk_drag_dest_set_target_list(GtkWidget* widget, GtkContentFormats* target_list)"
   s7_pointer _p;
-  s7_pointer widget, flags;
+  s7_pointer widget, target_list;
   _p = args;
   widget = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_new", 1, widget, "GtkWidget*");
-  flags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_new", 2, flags, "GtkEventControllerScrollFlags");
-  return(s7_make_type_with_c_pointer(sc, GtkEventController__sym, gtk_event_controller_scroll_new(s7_c_pointer(widget), s7_integer(flags))));
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set_target_list", 1, widget, "GtkWidget*");
+  target_list = s7_car(_p); _p = s7_cdr(_p);
+  if ((!s7_is_c_pointer_of_type(target_list, GtkContentFormats__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_dest_set_target_list", 2, target_list, "GtkContentFormats*");
+  gtk_drag_dest_set_target_list(s7_c_pointer(widget), s7_c_pointer(target_list));
+  return(lg_false);
 }
 
-static s7_pointer lg_gtk_event_controller_scroll_set_flags(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_source_set(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gtk_event_controller_scroll_set_flags "void gtk_event_controller_scroll_set_flags(GtkEventControllerScroll* controller, \
-GtkEventControllerScrollFlags flags)"
+  #define H_gtk_drag_source_set "void gtk_drag_source_set(GtkWidget* widget, GdkModifierType start_button_mask, \
+GtkContentFormats* targets, GdkDragAction actions)"
   s7_pointer _p;
-  s7_pointer controller, flags;
+  s7_pointer widget, start_button_mask, targets, actions;
   _p = args;
-  controller = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_c_pointer_of_type(controller, GtkEventControllerScroll__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_set_flags", 1, controller, "GtkEventControllerScroll*");
-  flags = s7_car(_p); _p = s7_cdr(_p);
-  if (!s7_is_integer(flags)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_set_flags", 2, flags, "GtkEventControllerScrollFlags");
-  gtk_event_controller_scroll_set_flags(s7_c_pointer(controller), s7_integer(flags));
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 1, widget, "GtkWidget*");
+  start_button_mask = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(start_button_mask)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 2, start_button_mask, "GdkModifierType");
+  targets = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(targets, GtkContentFormats__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 3, targets, "GtkContentFormats*");
+  actions = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_integer(actions)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set", 4, actions, "GdkDragAction");
+  gtk_drag_source_set(s7_c_pointer(widget), s7_integer(start_button_mask), s7_c_pointer(targets), s7_integer(actions));
   return(lg_false);
 }
 
-static s7_pointer lg_gtk_event_controller_scroll_get_flags(s7_scheme *sc, s7_pointer args)
+static s7_pointer lg_gtk_drag_source_get_target_list(s7_scheme *sc, s7_pointer args)
 {
-  #define H_gtk_event_controller_scroll_get_flags "GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags(GtkEventControllerScroll* controller)"
-  s7_pointer controller;
-  controller = s7_car(args);
-  if (!s7_is_c_pointer_of_type(controller, GtkEventControllerScroll__sym)) s7_wrong_type_arg_error(sc, "gtk_event_controller_scroll_get_flags", 1, controller, "GtkEventControllerScroll*");
-  return(s7_make_integer(sc, gtk_event_controller_scroll_get_flags(s7_c_pointer(controller))));
+  #define H_gtk_drag_source_get_target_list "GtkContentFormats* gtk_drag_source_get_target_list(GtkWidget* widget)"
+  s7_pointer widget;
+  widget = s7_car(args);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_get_target_list", 1, widget, "GtkWidget*");
+  return(s7_make_type_with_c_pointer(sc, GtkContentFormats__sym, gtk_drag_source_get_target_list(s7_c_pointer(widget))));
+}
+
+static s7_pointer lg_gtk_drag_source_set_target_list(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_drag_source_set_target_list "void gtk_drag_source_set_target_list(GtkWidget* widget, \
+GtkContentFormats* target_list)"
+  s7_pointer _p;
+  s7_pointer widget, target_list;
+  _p = args;
+  widget = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(widget, GtkWidget__sym)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_target_list", 1, widget, "GtkWidget*");
+  target_list = s7_car(_p); _p = s7_cdr(_p);
+  if ((!s7_is_c_pointer_of_type(target_list, GtkContentFormats__sym)) && (target_list != lg_false)) s7_wrong_type_arg_error(sc, "gtk_drag_source_set_target_list", 2, target_list, "GtkContentFormats*");
+  gtk_drag_source_set_target_list(s7_c_pointer(widget), s7_c_pointer(target_list));
+  return(lg_false);
+}
+
+static s7_pointer lg_gtk_scale_button_new(s7_scheme *sc, s7_pointer args)
+{
+  #define H_gtk_scale_button_new "GtkWidget* gtk_scale_button_new(gdouble min, gdouble max, gdouble step, \
+gchar** icons)"
+  s7_pointer _p;
+  s7_pointer min, max, step, icons;
+  _p = args;
+  min = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(min)) s7_wrong_type_arg_error(sc, "gtk_scale_button_new", 1, min, "gdouble");
+  max = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(max)) s7_wrong_type_arg_error(sc, "gtk_scale_button_new", 2, max, "gdouble");
+  step = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_real(step)) s7_wrong_type_arg_error(sc, "gtk_scale_button_new", 3, step, "gdouble");
+  icons = s7_car(_p); _p = s7_cdr(_p);
+  if (!s7_is_c_pointer_of_type(icons, gchar___sym)) s7_wrong_type_arg_error(sc, "gtk_scale_button_new", 4, icons, "gchar**");
+  return(s7_make_type_with_c_pointer(sc, GtkWidget__sym, gtk_scale_button_new(s7_real(min), s7_real(max), s7_real(step), (const gchar**)s7_c_pointer(icons))));
 }
 
 #endif
@@ -47177,8 +46787,6 @@ static s7_pointer lg_GDK_DEVICE(s7_scheme *sc, s7_pointer args) {return(s7_make_
 static s7_pointer lg_GDK_KEYMAP(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkKeymap__sym, lg_false));}
 static s7_pointer lg_GDK_WINDOW(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkWindow__sym, lg_false));}
 static s7_pointer lg_GDK_PIXBUF(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkPixbuf__sym, lg_false));}
-static s7_pointer lg_GDK_PIXBUF_ANIMATION(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkPixbufAnimation__sym, lg_false));}
-static s7_pointer lg_GDK_PIXBUF_ANIMATION_ITER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkPixbufAnimationIter__sym, lg_false));}
 static s7_pointer lg_GTK_ACCEL_GROUP(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkAccelGroup__sym, lg_false));}
 static s7_pointer lg_GTK_ACCEL_LABEL(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkAccelLabel__sym, lg_false));}
 static s7_pointer lg_GTK_ACCESSIBLE(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkAccessible__sym, lg_false));}
@@ -47256,7 +46864,6 @@ static s7_pointer lg_PANGO_FONT(s7_scheme *sc, s7_pointer args) {return(s7_make_
 static s7_pointer lg_PANGO_FONT_MAP(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), PangoFontMap__sym, lg_false));}
 static s7_pointer lg_PANGO_LAYOUT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), PangoLayout__sym, lg_false));}
 static s7_pointer lg_G_OBJECT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GObject__sym, lg_false));}
-static s7_pointer lg_GDK_SCREEN(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkScreen__sym, lg_false));}
 static s7_pointer lg_GDK_DISPLAY_OBJECT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkDisplay__sym, lg_false));}
 static s7_pointer lg_GDK_EVENT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkEvent__sym, lg_false));}
 static s7_pointer lg_GDK_EVENT_ANY(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkEventAny__sym, lg_false));}
@@ -47289,7 +46896,6 @@ static s7_pointer lg_GTK_SEPARATOR_TOOL_ITEM(s7_scheme *sc, s7_pointer args) {re
 static s7_pointer lg_GTK_TOGGLE_TOOL_BUTTON(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkToggleToolButton__sym, lg_false));}
 static s7_pointer lg_GTK_FILE_FILTER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkFileFilter__sym, lg_false));}
 static s7_pointer lg_GTK_CELL_LAYOUT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkCellLayout__sym, lg_false));}
-static s7_pointer lg_GTK_CLIPBOARD(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkClipboard__sym, lg_false));}
 static s7_pointer lg_GTK_FILE_CHOOSER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkFileChooser__sym, lg_false));}
 static s7_pointer lg_GTK_ICON_THEME(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkIconTheme__sym, lg_false));}
 static s7_pointer lg_GTK_TOOL_BUTTON(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkToolButton__sym, lg_false));}
@@ -47413,6 +47019,14 @@ static s7_pointer lg_GTK_SHORTCUT_LABEL(s7_scheme *sc, s7_pointer args) {return(
 static s7_pointer lg_GTK_CENTER_BOX(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkCenterBox__sym, lg_false));}
 static s7_pointer lg_GTK_EMOJI_CHOOSER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkEmojiChooser__sym, lg_false));}
 static s7_pointer lg_GTK_EVENT_CONTROLLER_SCROLL(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkEventControllerScroll__sym, lg_false));}
+static s7_pointer lg_GTK_EVENT_CONTROLLER_MOTION(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GtkEventControllerMotion__sym, lg_false));}
+static s7_pointer lg_GDK_TEXTURE(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkTexture__sym, lg_false));}
+static s7_pointer lg_GDK_EVENT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkEvent__sym, lg_false));}
+static s7_pointer lg_GDK_APP_LAUNCH_CONTEXT(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkAppLaunchContext__sym, lg_false));}
+static s7_pointer lg_GDK_CLIPBOARD(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkClipboard__sym, lg_false));}
+static s7_pointer lg_GDK_CONTENT_PROVIDER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkContentProvider__sym, lg_false));}
+static s7_pointer lg_GDK_CONTENT_SERIALIZER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkContentSerializer__sym, lg_false));}
+static s7_pointer lg_GDK_CONTENT_DESERIALIZER(s7_scheme *sc, s7_pointer args) {return(s7_make_c_pointer_with_type(sc, s7_c_pointer(s7_car(args)), GdkContentDeserializer__sym, lg_false));}
 #endif
 
 static s7_pointer lg_GDK_IS_DRAG_CONTEXT(s7_scheme *sc, s7_pointer args)
@@ -47435,14 +47049,6 @@ static s7_pointer lg_GDK_IS_PIXBUF(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_PIXBUF((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
 }
-static s7_pointer lg_GDK_IS_PIXBUF_ANIMATION(s7_scheme *sc, s7_pointer args)
-{
-  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_PIXBUF_ANIMATION((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
-}
-static s7_pointer lg_GDK_IS_PIXBUF_ANIMATION_ITER(s7_scheme *sc, s7_pointer args)
-{
-  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_PIXBUF_ANIMATION_ITER((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
-}
 static s7_pointer lg_GTK_IS_ACCEL_GROUP(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_ACCEL_GROUP((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
@@ -47751,10 +47357,6 @@ static s7_pointer lg_G_IS_OBJECT(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (G_IS_OBJECT((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
 }
-static s7_pointer lg_GDK_IS_SCREEN(s7_scheme *sc, s7_pointer args)
-{
-  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_SCREEN((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
-}
 static s7_pointer lg_GDK_IS_DISPLAY(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_DISPLAY((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
@@ -47811,10 +47413,6 @@ static s7_pointer lg_GTK_IS_CELL_LAYOUT(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_CELL_LAYOUT((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
 }
-static s7_pointer lg_GTK_IS_CLIPBOARD(s7_scheme *sc, s7_pointer args)
-{
-  return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_CLIPBOARD((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
-}
 static s7_pointer lg_GTK_IS_FILE_CHOOSER(s7_scheme *sc, s7_pointer args)
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_FILE_CHOOSER((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
@@ -48192,6 +47790,38 @@ static s7_pointer lg_GTK_IS_EVENT_CONTROLLER_SCROLL(s7_scheme *sc, s7_pointer ar
 {
   return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_EVENT_CONTROLLER_SCROLL((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
 }
+static s7_pointer lg_GTK_IS_EVENT_CONTROLLER_MOTION(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GTK_IS_EVENT_CONTROLLER_MOTION((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_TEXTURE(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_TEXTURE((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_EVENT(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_EVENT((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_APP_LAUNCH_CONTEXT(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_APP_LAUNCH_CONTEXT((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_CLIPBOARD(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_CLIPBOARD((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_CONTENT_PROVIDER(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_CONTENT_PROVIDER((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_CONTENT_SERIALIZER(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_CONTENT_SERIALIZER((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
+static s7_pointer lg_GDK_IS_CONTENT_DESERIALIZER(s7_scheme *sc, s7_pointer args)
+{
+  return(((s7_is_c_pointer(s7_car(args))) && (GDK_IS_CONTENT_DESERIALIZER((GTypeInstance *)s7_c_pointer(s7_car(args))))) ? lg_true : lg_false);
+}
 #endif
 
 #if (!GTK_CHECK_VERSION(3, 90, 0))
@@ -48371,7 +48001,7 @@ static void define_structs(s7_scheme *sc)
 static void define_functions(s7_scheme *sc)
 {
   s7_pointer s_boolean, s_integer, s_real, s_string, s_any, s_pair, s_float, s_gtk_enum_t, s_pair_false;
-  s7_pointer pl_b, pl_s, pl_t, pl_bsu, pl_bsigb, pl_bt, pl_tb, pl_ssi, pl_bti, pl_ssig, pl_btiib, pl_st, pl_ts, pl_tsu, pl_tsb, pl_tsi, pl_tsig, pl_tsiu, pl_tsiuui, pl_tsiiuui, pl_tts, pl_tti, pl_p, pl_g, pl_buuusuug, pl_bu, pl_pb, pl_bur, pl_bug, pl_bus, pl_but, pl_bui, pl_bub, pl_buug, pl_buti, pl_busi, pl_buui, pl_buus, pl_busu, pl_buib, pl_buiu, pl_buub, pl_buig, pl_buigu, pl_buuti, pl_butib, pl_buuit, pl_butti, pl_busib, pl_buuub, pl_buttu, pl_busgu, pl_buuui, pl_buuig, pl_buiuig, pl_buusib, pl_buuuub, pl_buurbr, pl_su, pl_ps, pl_sug, pl_sui, pl_psu, pl_psb, pl_sus, pl_psg, pl_psi, pl_psgi, pl_psiu, pl_psut, pl_suiig, pl_suuub, pl_psugt, pl_psiuub, pl_psrrrb, pl_tusiuiui, pl_tuurrrrg, pl_tuurrrrgr, pl_tuttigsi, pl_psgbiiiit, pl_tuiiiiui, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_psiiuusu, pl_pt, pl_tu, pl_tur, pl_tub, pl_tui, pl_tus, pl_tut, pl_tug, pl_turs, pl_tubu, pl_tusg, pl_tugb, pl_tugs, pl_tubi, pl_tuti, pl_tuit, pl_tusr, pl_tusi, pl_turi, pl_tuui, pl_tuur, pl_tuig, pl_tusb, pl_tutb, pl_tust, pl_tuub, pl_tuus, pl_tuug, pl_tuut, pl_tugu, pl_tugr, pl_tugi, pl_tuib, pl_tusu, pl_tugt, pl_tuis, pl_tuiu, pl_tuuiu, pl_tussu, pl_tuuur, pl_tuusb, pl_tugui, pl_tuisi, pl_tugug, pl_turgs, pl_tuurb, pl_tuuti, pl_tubbi, pl_tutti, pl_tutui, pl_tuuri, pl_tuugi, pl_tusri, pl_tuuut, pl_tuibu, pl_tuuig, pl_tuubr, pl_tuuub, pl_tuuir, pl_tuuui, pl_tuusi, pl_tuiiu, pl_tuuggu, pl_tugiis, pl_tuurru, pl_tuuuui, pl_tugiiu, pl_tuuugi, pl_tuuuub, pl_tuttti, pl_tuiggu, pl_turrrb, pl_tutisi, pl_tuusit, pl_tuurbr, pl_tuguig, pl_tusiis, pl_tusuig, pl_tuuubr, pl_tuuuggu, pl_tuuttti, pl_tuuiuui, pl_tubiiiu, pl_sg, pl_gs, pl_i, pl_tg, pl_bi, pl_big, pl_si, pl_is, pl_isi, pl_sig, pl_isgt, pl_isigutttiiu, pl_ti, pl_it, pl_tiu, pl_itsub, pl_itiiub, pl_itstttg, pl_itgiiut, pl_pu, pl_pur, pl_pub, pl_pui, pl_pus, pl_pug, pl_put, pl_puur, pl_pugi, pl_pubi, pl_pusi, pl_putu, pl_puri, pl_pust, pl_pusu, pl_pugu, pl_puui, pl_puiu, pl_puuui, pl_purru, pl_puuig, pl_puiig, pl_puigu, pl_pusiu, pl_pusub, pl_puuiu, pl_puiiu, pl_puutu, pl_pussu, pl_puibu, pl_pusig, pl_pusiig, pl_puuiig, pl_puiiui, pl_puiigi, pl_pugiiu, pl_puuubu, pl_pusigu, pl_pusiiu, pl_puuiiu, pl_pusiigu, pl_pusiuiu, pl_pusiiugu, pl_puttiiiu, pl_puuusuug, pl_puutuuiu, pl_pusiuibu, pl_guugbuut, pl_gu, pl_pg, pl_gus, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_gui, pl_guut, pl_pgbi, pl_guuut, pl_gussitu, pl_gurrsiu, pl_iu, pl_pi, pl_iur, pl_iug, pl_pit, pl_ius, pl_iui, pl_piu, pl_iugi, pl_iuis, pl_iusi, pl_iuui, pl_iuisi, pl_iuuui, pl_iuuuui, pl_iuisut, pl_gi, pl_igi, pl_iit, pl_iiit, pl_du, pl_pr, pl_dui, pl_dus, pl_dusr, pl_dusi, pl_prrru, pl_bpt;
+  s7_pointer pl_gu, pl_pg, pl_gus, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_gui, pl_guut, pl_pgbi, pl_guuut, pl_gussitu, pl_gurrsiu, pl_guugbuut, pl_b, pl_s, pl_t, pl_bsu, pl_bsigb, pl_gi, pl_bt, pl_tb, pl_igi, pl_ssi, pl_bti, pl_ssig, pl_btiib, pl_ts, pl_tsu, pl_tsi, pl_tsit, pl_tsig, pl_tsiu, pl_tsiuui, pl_tsiiuui, pl_tts, pl_tti, pl_p, pl_buuusuug, pl_bu, pl_pb, pl_bur, pl_bug, pl_bus, pl_bui, pl_bub, pl_busi, pl_buib, pl_busu, pl_buub, pl_buig, pl_buus, pl_buui, pl_buigu, pl_busib, pl_buuub, pl_buttu, pl_busgu, pl_buuig, pl_buuui, pl_buiuig, pl_buusib, pl_buuuub, pl_buurbr, pl_su, pl_ps, pl_sug, pl_sui, pl_psu, pl_psb, pl_sus, pl_psg, pl_psi, pl_psgi, pl_psiu, pl_psut, pl_suiig, pl_suuub, pl_psugt, pl_psiuub, pl_psrrrb, pl_tusiuiui, pl_tuurrrrg, pl_tuurrrrgr, pl_psgbiiiit, pl_tuiiiiui, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_psiiuusu, pl_pt, pl_tu, pl_tur, pl_tub, pl_tui, pl_tus, pl_tut, pl_tug, pl_turs, pl_tubu, pl_tusg, pl_tugb, pl_tugs, pl_tubi, pl_tuib, pl_tusr, pl_tusi, pl_turi, pl_tuui, pl_tuur, pl_tuig, pl_tusb, pl_tuub, pl_tuus, pl_tuug, pl_tugu, pl_tugr, pl_tugi, pl_tusu, pl_tuut, pl_tugt, pl_tuis, pl_tust, pl_tuiu, pl_tuit, pl_tuuiu, pl_tuiut, pl_tugug, pl_tussu, pl_tuuur, pl_tuusb, pl_tugui, pl_tuisi, pl_turgs, pl_tuurb, pl_tuuti, pl_tuuri, pl_tusri, pl_tuuut, pl_tuubr, pl_tuuub, pl_tuuir, pl_tuuui, pl_tuusi, pl_tuiiu, pl_tuugi, pl_tuiiut, pl_tuuiut, pl_tutisi, pl_tuuggu, pl_tugiis, pl_tuurru, pl_tuuuui, pl_tugiiu, pl_tuuugi, pl_tuuuub, pl_tuiggu, pl_turrrb, pl_tuusit, pl_tusiis, pl_tusuig, pl_tuuubr, pl_tuurbr, pl_tusuiut, pl_tusiiut, pl_tuuuggu, pl_tuuiuui, pl_tubiiiu, pl_i, pl_bi, pl_big, pl_si, pl_is, pl_isi, pl_sig, pl_isgt, pl_isigutttiiu, pl_ti, pl_it, pl_tiu, pl_tist, pl_itsub, pl_itiiub, pl_itstttg, pl_itgiiut, pl_pu, pl_pur, pl_pub, pl_pui, pl_pug, pl_pus, pl_put, pl_pugi, pl_pubi, pl_pusi, pl_puri, pl_pust, pl_pusu, pl_pugu, pl_puiu, pl_purru, pl_puuig, pl_puiig, pl_puigu, pl_pusiu, pl_pusub, pl_puiiu, pl_pussu, pl_puibu, pl_pusig, pl_puuiu, pl_puuugi, pl_pusiig, pl_puuiig, pl_puiiui, pl_puiigi, pl_puuubu, pl_pusigu, pl_pusiiu, pl_puuiiu, pl_pugiiu, pl_pusiigu, pl_pusiuiu, pl_pusiiugu, pl_puuusuug, pl_pusiuibu, pl_iu, pl_pi, pl_iur, pl_ius, pl_iui, pl_piu, pl_pit, pl_iug, pl_iugi, pl_iuis, pl_iusi, pl_iuui, pl_iuisi, pl_iuuui, pl_iuuuui, pl_iuisut, pl_g, pl_sg, pl_gs, pl_tg, pl_iit, pl_iiit, pl_du, pl_pr, pl_dus, pl_dui, pl_dusr, pl_dusi, pl_prrru, pl_bpt;
 
   s_boolean = s7_make_symbol(sc, "boolean?");
   s_integer = s7_make_symbol(sc, "integer?");
@@ -48383,22 +48013,37 @@ static void define_functions(s7_scheme *sc)
   s_gtk_enum_t = s7_make_symbol(sc, "gtk_enum_t?");
   s_any = s7_t(sc);
 
+  pl_gu = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_pair_false);
+  pl_pg = s7_make_circular_signature(sc, 1, 2, s_pair, s_gtk_enum_t);
+  pl_gus = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
+  pl_pgr = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_real);
+  pl_pgu = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
+  pl_pgi = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_integer);
+  pl_gug = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
+  pl_gui = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
+  pl_guut = s7_make_circular_signature(sc, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
+  pl_pgbi = s7_make_circular_signature(sc, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
+  pl_guuut = s7_make_circular_signature(sc, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
+  pl_gussitu = s7_make_circular_signature(sc, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
+  pl_gurrsiu = s7_make_circular_signature(sc, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
+  pl_guugbuut = s7_make_circular_signature(sc, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
   pl_b = s7_make_circular_signature(sc, 0, 1, s_boolean);
   pl_s = s7_make_circular_signature(sc, 0, 1, s_string);
   pl_t = s7_make_circular_signature(sc, 0, 1, s_any);
   pl_bsu = s7_make_circular_signature(sc, 2, 3, s_boolean, s_string, s_pair_false);
   pl_bsigb = s7_make_circular_signature(sc, 4, 5, s_boolean, s_string, s_integer, s_gtk_enum_t, s_boolean);
+  pl_gi = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_integer);
   pl_bt = s7_make_circular_signature(sc, 1, 2, s_boolean, s_any);
   pl_tb = s7_make_circular_signature(sc, 1, 2, s_any, s_boolean);
+  pl_igi = s7_make_circular_signature(sc, 2, 3, s_integer, s_gtk_enum_t, s_integer);
   pl_ssi = s7_make_circular_signature(sc, 2, 3, s_string, s_string, s_integer);
   pl_bti = s7_make_circular_signature(sc, 2, 3, s_boolean, s_any, s_integer);
   pl_ssig = s7_make_circular_signature(sc, 3, 4, s_string, s_string, s_integer, s_gtk_enum_t);
   pl_btiib = s7_make_circular_signature(sc, 4, 5, s_boolean, s_any, s_integer, s_integer, s_boolean);
-  pl_st = s7_make_circular_signature(sc, 1, 2, s_string, s_any);
   pl_ts = s7_make_circular_signature(sc, 1, 2, s_any, s_string);
   pl_tsu = s7_make_circular_signature(sc, 2, 3, s_any, s_string, s_pair_false);
-  pl_tsb = s7_make_circular_signature(sc, 2, 3, s_any, s_string, s_boolean);
   pl_tsi = s7_make_circular_signature(sc, 2, 3, s_any, s_string, s_integer);
+  pl_tsit = s7_make_circular_signature(sc, 3, 4, s_any, s_string, s_integer, s_any);
   pl_tsig = s7_make_circular_signature(sc, 3, 4, s_any, s_string, s_integer, s_gtk_enum_t);
   pl_tsiu = s7_make_circular_signature(sc, 3, 4, s_any, s_string, s_integer, s_pair_false);
   pl_tsiuui = s7_make_circular_signature(sc, 5, 6, s_any, s_string, s_integer, s_pair_false, s_pair_false, s_integer);
@@ -48406,37 +48051,28 @@ static void define_functions(s7_scheme *sc)
   pl_tts = s7_make_circular_signature(sc, 2, 3, s_any, s_any, s_string);
   pl_tti = s7_make_circular_signature(sc, 2, 3, s_any, s_any, s_integer);
   pl_p = s7_make_circular_signature(sc, 0, 1, s_pair);
-  pl_g = s7_make_circular_signature(sc, 0, 1, s_gtk_enum_t);
   pl_buuusuug = s7_make_circular_signature(sc, 7, 8, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_string, s_pair_false, s_pair_false, s_gtk_enum_t);
   pl_bu = s7_make_circular_signature(sc, 1, 2, s_boolean, s_pair_false);
   pl_pb = s7_make_circular_signature(sc, 1, 2, s_pair, s_boolean);
   pl_bur = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_real);
   pl_bug = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_gtk_enum_t);
   pl_bus = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_string);
-  pl_but = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_any);
   pl_bui = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_integer);
   pl_bub = s7_make_circular_signature(sc, 2, 3, s_boolean, s_pair_false, s_boolean);
-  pl_buug = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_buti = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_any, s_integer);
   pl_busi = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_string, s_integer);
-  pl_buui = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_integer);
-  pl_buus = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_string);
-  pl_busu = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_string, s_pair_false);
   pl_buib = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_integer, s_boolean);
-  pl_buiu = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_integer, s_pair_false);
+  pl_busu = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_string, s_pair_false);
   pl_buub = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_boolean);
   pl_buig = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_integer, s_gtk_enum_t);
+  pl_buus = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_string);
+  pl_buui = s7_make_circular_signature(sc, 3, 4, s_boolean, s_pair_false, s_pair_false, s_integer);
   pl_buigu = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_integer, s_gtk_enum_t, s_pair_false);
-  pl_buuti = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_any, s_integer);
-  pl_butib = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_any, s_integer, s_boolean);
-  pl_buuit = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_integer, s_any);
-  pl_butti = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_any, s_any, s_integer);
   pl_busib = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_string, s_integer, s_boolean);
   pl_buuub = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_boolean);
   pl_buttu = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_any, s_any, s_pair_false);
   pl_busgu = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_string, s_gtk_enum_t, s_pair_false);
-  pl_buuui = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_buuig = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
+  pl_buuui = s7_make_circular_signature(sc, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_buiuig = s7_make_circular_signature(sc, 5, 6, s_boolean, s_pair_false, s_integer, s_pair_false, s_integer, s_gtk_enum_t);
   pl_buusib = s7_make_circular_signature(sc, 5, 6, s_boolean, s_pair_false, s_pair_false, s_string, s_integer, s_boolean);
   pl_buuuub = s7_make_circular_signature(sc, 5, 6, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_boolean);
@@ -48461,7 +48097,6 @@ static void define_functions(s7_scheme *sc)
   pl_tusiuiui = s7_make_circular_signature(sc, 7, 8, s_any, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_pair_false, s_integer);
   pl_tuurrrrg = s7_make_circular_signature(sc, 7, 8, s_any, s_pair_false, s_pair_false, s_real, s_real, s_real, s_real, s_gtk_enum_t);
   pl_tuurrrrgr = s7_make_circular_signature(sc, 8, 9, s_any, s_pair_false, s_pair_false, s_real, s_real, s_real, s_real, s_gtk_enum_t, s_real);
-  pl_tuttigsi = s7_make_circular_signature(sc, 7, 8, s_any, s_pair_false, s_any, s_any, s_integer, s_gtk_enum_t, s_string, s_integer);
   pl_psgbiiiit = s7_make_circular_signature(sc, 8, 9, s_pair, s_string, s_gtk_enum_t, s_boolean, s_integer, s_integer, s_integer, s_integer, s_any);
   pl_tuiiiiui = s7_make_circular_signature(sc, 7, 8, s_any, s_pair_false, s_integer, s_integer, s_integer, s_integer, s_pair_false, s_integer);
   pl_tuuiiiirrrrg = s7_make_circular_signature(sc, 11, 12, s_any, s_pair_false, s_pair_false, s_integer, s_integer, s_integer, s_integer, s_real, s_real, s_real, s_real, s_gtk_enum_t);
@@ -48481,8 +48116,7 @@ static void define_functions(s7_scheme *sc)
   pl_tugb = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_boolean);
   pl_tugs = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_string);
   pl_tubi = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_boolean, s_integer);
-  pl_tuti = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_any, s_integer);
-  pl_tuit = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_any);
+  pl_tuib = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_boolean);
   pl_tusr = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_real);
   pl_tusi = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_integer);
   pl_turi = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_real, s_integer);
@@ -48490,45 +48124,43 @@ static void define_functions(s7_scheme *sc)
   pl_tuur = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_real);
   pl_tuig = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tusb = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_boolean);
-  pl_tutb = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_any, s_boolean);
-  pl_tust = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_any);
   pl_tuub = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_boolean);
   pl_tuus = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_string);
   pl_tuug = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_tuut = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_any);
   pl_tugu = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_pair_false);
   pl_tugr = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_real);
   pl_tugi = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_integer);
-  pl_tuib = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_boolean);
   pl_tusu = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_pair_false);
+  pl_tuut = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_pair_false, s_any);
   pl_tugt = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_any);
   pl_tuis = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_string);
+  pl_tust = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_string, s_any);
   pl_tuiu = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_pair_false);
+  pl_tuit = s7_make_circular_signature(sc, 3, 4, s_any, s_pair_false, s_integer, s_any);
   pl_tuuiu = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false);
+  pl_tuiut = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tugug = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
   pl_tussu = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_string, s_string, s_pair_false);
   pl_tuuur = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_real);
   pl_tuusb = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_string, s_boolean);
   pl_tugui = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_integer);
   pl_tuisi = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_integer, s_string, s_integer);
-  pl_tugug = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
   pl_turgs = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_real, s_gtk_enum_t, s_string);
   pl_tuurb = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_real, s_boolean);
   pl_tuuti = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_any, s_integer);
-  pl_tubbi = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_boolean, s_boolean, s_integer);
-  pl_tutti = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_any, s_any, s_integer);
-  pl_tutui = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_any, s_pair_false, s_integer);
   pl_tuuri = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_real, s_integer);
-  pl_tuugi = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_tusri = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_string, s_real, s_integer);
   pl_tuuut = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_any);
-  pl_tuibu = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_integer, s_boolean, s_pair_false);
-  pl_tuuig = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tuubr = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_boolean, s_real);
   pl_tuuub = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_boolean);
   pl_tuuir = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_real);
   pl_tuuui = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_tuusi = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_string, s_integer);
   pl_tuiiu = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_integer, s_integer, s_pair_false);
+  pl_tuugi = s7_make_circular_signature(sc, 4, 5, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
+  pl_tuiiut = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_integer, s_integer, s_pair_false, s_any);
+  pl_tuuiut = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tutisi = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_any, s_integer, s_string, s_integer);
   pl_tuuggu = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
   pl_tugiis = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_string);
   pl_tuurru = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_real, s_pair_false);
@@ -48536,24 +48168,19 @@ static void define_functions(s7_scheme *sc)
   pl_tugiiu = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_tuuugi = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_tuuuub = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_boolean);
-  pl_tuttti = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_any, s_any, s_any, s_integer);
   pl_tuiggu = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_integer, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
   pl_turrrb = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_real, s_real, s_real, s_boolean);
-  pl_tutisi = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_any, s_integer, s_string, s_integer);
   pl_tuusit = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_string, s_integer, s_any);
-  pl_tuurbr = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_boolean, s_real);
-  pl_tuguig = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tusiis = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_string, s_integer, s_integer, s_string);
   pl_tusuig = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_string, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tuuubr = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_boolean, s_real);
+  pl_tuurbr = s7_make_circular_signature(sc, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_boolean, s_real);
+  pl_tusuiut = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_string, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tusiiut = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_string, s_integer, s_integer, s_pair_false, s_any);
   pl_tuuuggu = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
-  pl_tuuttti = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_pair_false, s_any, s_any, s_any, s_integer);
   pl_tuuiuui = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false, s_pair_false, s_integer);
   pl_tubiiiu = s7_make_circular_signature(sc, 6, 7, s_any, s_pair_false, s_boolean, s_integer, s_integer, s_integer, s_pair_false);
-  pl_sg = s7_make_circular_signature(sc, 1, 2, s_string, s_gtk_enum_t);
-  pl_gs = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_string);
   pl_i = s7_make_circular_signature(sc, 0, 1, s_integer);
-  pl_tg = s7_make_circular_signature(sc, 1, 2, s_any, s_gtk_enum_t);
   pl_bi = s7_make_circular_signature(sc, 1, 2, s_boolean, s_integer);
   pl_big = s7_make_circular_signature(sc, 2, 3, s_boolean, s_integer, s_gtk_enum_t);
   pl_si = s7_make_circular_signature(sc, 1, 2, s_string, s_integer);
@@ -48565,6 +48192,7 @@ static void define_functions(s7_scheme *sc)
   pl_ti = s7_make_circular_signature(sc, 1, 2, s_any, s_integer);
   pl_it = s7_make_circular_signature(sc, 1, 2, s_integer, s_any);
   pl_tiu = s7_make_circular_signature(sc, 2, 3, s_any, s_integer, s_pair_false);
+  pl_tist = s7_make_circular_signature(sc, 3, 4, s_any, s_integer, s_string, s_any);
   pl_itsub = s7_make_circular_signature(sc, 4, 5, s_integer, s_any, s_string, s_pair_false, s_boolean);
   pl_itiiub = s7_make_circular_signature(sc, 5, 6, s_integer, s_any, s_integer, s_integer, s_pair_false, s_boolean);
   pl_itstttg = s7_make_circular_signature(sc, 6, 7, s_integer, s_any, s_string, s_any, s_any, s_any, s_gtk_enum_t);
@@ -48573,71 +48201,51 @@ static void define_functions(s7_scheme *sc)
   pl_pur = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_real);
   pl_pub = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_boolean);
   pl_pui = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_integer);
-  pl_pus = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_string);
   pl_pug = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_gtk_enum_t);
+  pl_pus = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_string);
   pl_put = s7_make_circular_signature(sc, 2, 3, s_pair, s_pair_false, s_any);
-  pl_puur = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_pair_false, s_real);
   pl_pugi = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_gtk_enum_t, s_integer);
   pl_pubi = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_boolean, s_integer);
   pl_pusi = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_string, s_integer);
-  pl_putu = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_any, s_pair_false);
   pl_puri = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_real, s_integer);
   pl_pust = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_string, s_any);
   pl_pusu = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_string, s_pair_false);
   pl_pugu = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_gtk_enum_t, s_pair_false);
-  pl_puui = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_pair_false, s_integer);
   pl_puiu = s7_make_circular_signature(sc, 3, 4, s_pair, s_pair_false, s_integer, s_pair_false);
-  pl_puuui = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_purru = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_real, s_real, s_pair_false);
   pl_puuig = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
   pl_puiig = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_integer, s_integer, s_gtk_enum_t);
   pl_puigu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_string, s_integer, s_pair_false);
   pl_pusub = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_string, s_pair_false, s_boolean);
-  pl_puuiu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_pair_false);
   pl_puiiu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_integer, s_integer, s_pair_false);
-  pl_puutu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_pair_false, s_any, s_pair_false);
   pl_pussu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_string, s_string, s_pair_false);
   pl_puibu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_integer, s_boolean, s_pair_false);
   pl_pusig = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_string, s_integer, s_gtk_enum_t);
+  pl_puuiu = s7_make_circular_signature(sc, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_pair_false);
+  pl_puuugi = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_pusiig = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_integer, s_gtk_enum_t);
   pl_puuiig = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_pair_false, s_integer, s_integer, s_gtk_enum_t);
   pl_puiiui = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_integer, s_integer, s_pair_false, s_integer);
   pl_puiigi = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_integer, s_integer, s_gtk_enum_t, s_integer);
-  pl_pugiiu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_puuubu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_pair_false, s_pair_false, s_boolean, s_pair_false);
   pl_pusigu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiiu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_integer, s_pair_false);
   pl_puuiiu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_pair_false, s_integer, s_integer, s_pair_false);
+  pl_pugiiu = s7_make_circular_signature(sc, 5, 6, s_pair, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_pusiigu = s7_make_circular_signature(sc, 6, 7, s_pair, s_pair_false, s_string, s_integer, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiuiu = s7_make_circular_signature(sc, 6, 7, s_pair, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_pair_false);
   pl_pusiiugu = s7_make_circular_signature(sc, 7, 8, s_pair, s_pair_false, s_string, s_integer, s_integer, s_pair_false, s_gtk_enum_t, s_pair_false);
-  pl_puttiiiu = s7_make_circular_signature(sc, 7, 8, s_pair, s_pair_false, s_any, s_any, s_integer, s_integer, s_integer, s_pair_false);
   pl_puuusuug = s7_make_circular_signature(sc, 7, 8, s_pair, s_pair_false, s_pair_false, s_pair_false, s_string, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_puutuuiu = s7_make_circular_signature(sc, 7, 8, s_pair, s_pair_false, s_pair_false, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false);
   pl_pusiuibu = s7_make_circular_signature(sc, 7, 8, s_pair, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_boolean, s_pair_false);
-  pl_guugbuut = s7_make_circular_signature(sc, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
-  pl_gu = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_pair_false);
-  pl_pg = s7_make_circular_signature(sc, 1, 2, s_pair, s_gtk_enum_t);
-  pl_gus = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
-  pl_pgr = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_real);
-  pl_pgu = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
-  pl_pgi = s7_make_circular_signature(sc, 2, 3, s_pair, s_gtk_enum_t, s_integer);
-  pl_gug = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
-  pl_gui = s7_make_circular_signature(sc, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
-  pl_guut = s7_make_circular_signature(sc, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
-  pl_pgbi = s7_make_circular_signature(sc, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
-  pl_guuut = s7_make_circular_signature(sc, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
-  pl_gussitu = s7_make_circular_signature(sc, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
-  pl_gurrsiu = s7_make_circular_signature(sc, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
   pl_iu = s7_make_circular_signature(sc, 1, 2, s_integer, s_pair_false);
   pl_pi = s7_make_circular_signature(sc, 1, 2, s_pair, s_integer);
   pl_iur = s7_make_circular_signature(sc, 2, 3, s_integer, s_pair_false, s_real);
-  pl_iug = s7_make_circular_signature(sc, 2, 3, s_integer, s_pair_false, s_gtk_enum_t);
-  pl_pit = s7_make_circular_signature(sc, 2, 3, s_pair, s_integer, s_any);
   pl_ius = s7_make_circular_signature(sc, 2, 3, s_integer, s_pair_false, s_string);
   pl_iui = s7_make_circular_signature(sc, 2, 3, s_integer, s_pair_false, s_integer);
   pl_piu = s7_make_circular_signature(sc, 2, 3, s_pair, s_integer, s_pair_false);
+  pl_pit = s7_make_circular_signature(sc, 2, 3, s_pair, s_integer, s_any);
+  pl_iug = s7_make_circular_signature(sc, 2, 3, s_integer, s_pair_false, s_gtk_enum_t);
   pl_iugi = s7_make_circular_signature(sc, 3, 4, s_integer, s_pair_false, s_gtk_enum_t, s_integer);
   pl_iuis = s7_make_circular_signature(sc, 3, 4, s_integer, s_pair_false, s_integer, s_string);
   pl_iusi = s7_make_circular_signature(sc, 3, 4, s_integer, s_pair_false, s_string, s_integer);
@@ -48646,14 +48254,16 @@ static void define_functions(s7_scheme *sc)
   pl_iuuui = s7_make_circular_signature(sc, 4, 5, s_integer, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_iuuuui = s7_make_circular_signature(sc, 5, 6, s_integer, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_iuisut = s7_make_circular_signature(sc, 5, 6, s_integer, s_pair_false, s_integer, s_string, s_pair_false, s_any);
-  pl_gi = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_integer);
-  pl_igi = s7_make_circular_signature(sc, 2, 3, s_integer, s_gtk_enum_t, s_integer);
+  pl_g = s7_make_circular_signature(sc, 0, 1, s_gtk_enum_t);
+  pl_sg = s7_make_circular_signature(sc, 1, 2, s_string, s_gtk_enum_t);
+  pl_gs = s7_make_circular_signature(sc, 1, 2, s_gtk_enum_t, s_string);
+  pl_tg = s7_make_circular_signature(sc, 1, 2, s_any, s_gtk_enum_t);
   pl_iit = s7_make_circular_signature(sc, 2, 3, s_integer, s_integer, s_any);
   pl_iiit = s7_make_circular_signature(sc, 3, 4, s_integer, s_integer, s_integer, s_any);
   pl_du = s7_make_circular_signature(sc, 1, 2, s_float, s_pair_false);
   pl_pr = s7_make_circular_signature(sc, 1, 2, s_pair, s_real);
-  pl_dui = s7_make_circular_signature(sc, 2, 3, s_float, s_pair_false, s_integer);
   pl_dus = s7_make_circular_signature(sc, 2, 3, s_float, s_pair_false, s_string);
+  pl_dui = s7_make_circular_signature(sc, 2, 3, s_float, s_pair_false, s_integer);
   pl_dusr = s7_make_circular_signature(sc, 3, 4, s_float, s_pair_false, s_string, s_real);
   pl_dusi = s7_make_circular_signature(sc, 3, 4, s_float, s_pair_false, s_string, s_integer);
   pl_prrru = s7_make_circular_signature(sc, 4, 5, s_pair, s_real, s_real, s_real, s_pair_false);
@@ -48728,19 +48338,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "g_signal_handlers_destroy", lg_g_signal_handlers_destroy, 1, 0, 0, H_g_signal_handlers_destroy, pl_t);
   s7_define_typed_function(sc, "g_object_ref", lg_g_object_ref, 1, 0, 0, H_g_object_ref, pl_t);
   s7_define_typed_function(sc, "g_object_unref", lg_g_object_unref, 1, 0, 0, H_g_object_unref, pl_t);
-  s7_define_typed_function(sc, "gdk_cursor_new_for_display", lg_gdk_cursor_new_for_display, 2, 0, 0, H_gdk_cursor_new_for_display, pl_pug);
-  s7_define_typed_function(sc, "gdk_cursor_get_display", lg_gdk_cursor_get_display, 1, 0, 0, H_gdk_cursor_get_display, pl_pu);
   s7_define_typed_function(sc, "gdk_drag_status", lg_gdk_drag_status, 3, 0, 0, H_gdk_drag_status, pl_tugi);
   s7_define_typed_function(sc, "gdk_drop_reply", lg_gdk_drop_reply, 3, 0, 0, H_gdk_drop_reply, pl_tubi);
   s7_define_typed_function(sc, "gdk_drop_finish", lg_gdk_drop_finish, 3, 0, 0, H_gdk_drop_finish, pl_tubi);
-  s7_define_typed_function(sc, "gdk_drag_get_selection", lg_gdk_drag_get_selection, 1, 0, 0, H_gdk_drag_get_selection, pl_tu);
-  s7_define_typed_function(sc, "gdk_drag_begin", lg_gdk_drag_begin, 2, 0, 0, H_gdk_drag_begin, pl_pu);
-  s7_define_typed_function(sc, "gdk_drag_drop", lg_gdk_drag_drop, 2, 0, 0, H_gdk_drag_drop, pl_tui);
-  s7_define_typed_function(sc, "gdk_drag_abort", lg_gdk_drag_abort, 2, 0, 0, H_gdk_drag_abort, pl_tui);
-  s7_define_typed_function(sc, "gdk_events_pending", lg_gdk_events_pending, 0, 0, 0, H_gdk_events_pending, pl_b);
-  s7_define_typed_function(sc, "gdk_event_get", lg_gdk_event_get, 0, 0, 0, H_gdk_event_get, pl_p);
-  s7_define_typed_function(sc, "gdk_event_peek", lg_gdk_event_peek, 0, 0, 0, H_gdk_event_peek, pl_p);
-  s7_define_typed_function(sc, "gdk_event_put", lg_gdk_event_put, 1, 0, 0, H_gdk_event_put, pl_tu);
   s7_define_typed_function(sc, "gdk_event_copy", lg_gdk_event_copy, 1, 0, 0, H_gdk_event_copy, pl_pu);
   s7_define_typed_function(sc, "gdk_event_free", lg_gdk_event_free, 1, 0, 0, H_gdk_event_free, pl_tu);
   s7_define_typed_function(sc, "gdk_event_get_time", lg_gdk_event_get_time, 1, 0, 0, H_gdk_event_get_time, pl_iu);
@@ -48750,18 +48350,8 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_event_handler_set", lg_gdk_event_handler_set, 3, 0, 0, H_gdk_event_handler_set, pl_t);
   s7_define_typed_function(sc, "gdk_set_show_events", lg_gdk_set_show_events, 1, 0, 0, H_gdk_set_show_events, pl_tb);
   s7_define_typed_function(sc, "gdk_get_show_events", lg_gdk_get_show_events, 0, 0, 0, H_gdk_get_show_events, pl_b);
-  s7_define_typed_function(sc, "gdk_get_program_class", lg_gdk_get_program_class, 0, 0, 0, H_gdk_get_program_class, pl_s);
-  s7_define_typed_function(sc, "gdk_set_program_class", lg_gdk_set_program_class, 1, 0, 0, H_gdk_set_program_class, pl_ts);
-  s7_define_typed_function(sc, "gdk_error_trap_push", lg_gdk_error_trap_push, 0, 0, 0, H_gdk_error_trap_push, pl_t);
-  s7_define_typed_function(sc, "gdk_error_trap_pop", lg_gdk_error_trap_pop, 0, 0, 0, H_gdk_error_trap_pop, pl_i);
-  s7_define_typed_function(sc, "gdk_get_display_arg_name", lg_gdk_get_display_arg_name, 0, 0, 0, H_gdk_get_display_arg_name, pl_s);
-  s7_define_typed_function(sc, "gdk_notify_startup_complete", lg_gdk_notify_startup_complete, 0, 0, 0, H_gdk_notify_startup_complete, pl_t);
-  s7_define_typed_function(sc, "gdk_flush", lg_gdk_flush, 0, 0, 0, H_gdk_flush, pl_t);
-  s7_define_typed_function(sc, "gdk_beep", lg_gdk_beep, 0, 0, 0, H_gdk_beep, pl_t);
-  s7_define_typed_function(sc, "gdk_set_double_click_time", lg_gdk_set_double_click_time, 1, 0, 0, H_gdk_set_double_click_time, pl_ti);
   s7_define_typed_function(sc, "gdk_rectangle_intersect", lg_gdk_rectangle_intersect, 3, 0, 0, H_gdk_rectangle_intersect, pl_bu);
   s7_define_typed_function(sc, "gdk_rectangle_union", lg_gdk_rectangle_union, 3, 0, 0, H_gdk_rectangle_union, pl_tu);
-  s7_define_typed_function(sc, "gdk_keymap_get_default", lg_gdk_keymap_get_default, 0, 0, 0, H_gdk_keymap_get_default, pl_p);
   s7_define_typed_function(sc, "gdk_keymap_lookup_key", lg_gdk_keymap_lookup_key, 2, 0, 0, H_gdk_keymap_lookup_key, pl_iu);
   s7_define_typed_function(sc, "gdk_keymap_get_entries_for_keyval", lg_gdk_keymap_get_entries_for_keyval, 2, 2, 0, H_gdk_keymap_get_entries_for_keyval, pl_puiu);
   s7_define_typed_function(sc, "gdk_keymap_get_entries_for_keycode", lg_gdk_keymap_get_entries_for_keycode, 2, 3, 0, H_gdk_keymap_get_entries_for_keycode, pl_puiu);
@@ -48775,17 +48365,7 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_keyval_is_lower", lg_gdk_keyval_is_lower, 1, 0, 0, H_gdk_keyval_is_lower, pl_bi);
   s7_define_typed_function(sc, "gdk_keyval_to_unicode", lg_gdk_keyval_to_unicode, 1, 0, 0, H_gdk_keyval_to_unicode, pl_i);
   s7_define_typed_function(sc, "gdk_unicode_to_keyval", lg_gdk_unicode_to_keyval, 1, 0, 0, H_gdk_unicode_to_keyval, pl_i);
-  s7_define_typed_function(sc, "gdk_pango_context_get", lg_gdk_pango_context_get, 0, 0, 0, H_gdk_pango_context_get, pl_p);
-  s7_define_typed_function(sc, "gdk_atom_intern", lg_gdk_atom_intern, 2, 0, 0, H_gdk_atom_intern, pl_tsb);
-  s7_define_typed_function(sc, "gdk_atom_name", lg_gdk_atom_name, 1, 0, 0, H_gdk_atom_name, pl_st);
-  s7_define_typed_function(sc, "gdk_property_get", lg_gdk_property_get, 0, 0, 1, H_gdk_property_get, pl_puttiiiu);
-  s7_define_typed_function(sc, "gdk_property_change", lg_gdk_property_change, 7, 0, 0, H_gdk_property_change, pl_tuttigsi);
-  s7_define_typed_function(sc, "gdk_property_delete", lg_gdk_property_delete, 2, 0, 0, H_gdk_property_delete, pl_tut);
   s7_define_typed_function(sc, "gdk_utf8_to_string_target", lg_gdk_utf8_to_string_target, 1, 0, 0, H_gdk_utf8_to_string_target, pl_s);
-  s7_define_typed_function(sc, "gdk_selection_owner_set", lg_gdk_selection_owner_set, 4, 0, 0, H_gdk_selection_owner_set, pl_butib);
-  s7_define_typed_function(sc, "gdk_selection_owner_get", lg_gdk_selection_owner_get, 1, 0, 0, H_gdk_selection_owner_get, pl_pt);
-  s7_define_typed_function(sc, "gdk_selection_convert", lg_gdk_selection_convert, 4, 0, 0, H_gdk_selection_convert, pl_tutti);
-  s7_define_typed_function(sc, "gdk_selection_property_get", lg_gdk_selection_property_get, 1, 3, 0, H_gdk_selection_property_get, pl_pu);
   s7_define_typed_function(sc, "gdk_window_destroy", lg_gdk_window_destroy, 1, 0, 0, H_gdk_window_destroy, pl_tu);
   s7_define_typed_function(sc, "gdk_window_get_window_type", lg_gdk_window_get_window_type, 1, 0, 0, H_gdk_window_get_window_type, pl_gu);
   s7_define_typed_function(sc, "gdk_window_show", lg_gdk_window_show, 1, 0, 0, H_gdk_window_show, pl_tu);
@@ -48815,7 +48395,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_window_peek_children", lg_gdk_window_peek_children, 1, 0, 0, H_gdk_window_peek_children, pl_pu);
   s7_define_typed_function(sc, "gdk_window_get_events", lg_gdk_window_get_events, 1, 0, 0, H_gdk_window_get_events, pl_gu);
   s7_define_typed_function(sc, "gdk_window_set_events", lg_gdk_window_set_events, 2, 0, 0, H_gdk_window_set_events, pl_tug);
-  s7_define_typed_function(sc, "gdk_window_set_icon_list", lg_gdk_window_set_icon_list, 2, 0, 0, H_gdk_window_set_icon_list, pl_tu);
   s7_define_typed_function(sc, "gdk_window_set_icon_name", lg_gdk_window_set_icon_name, 2, 0, 0, H_gdk_window_set_icon_name, pl_tus);
   s7_define_typed_function(sc, "gdk_window_set_group", lg_gdk_window_set_group, 2, 0, 0, H_gdk_window_set_group, pl_tu);
   s7_define_typed_function(sc, "gdk_window_set_decorations", lg_gdk_window_set_decorations, 2, 0, 0, H_gdk_window_set_decorations, pl_tug);
@@ -48868,16 +48447,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_pixbuf_composite_color", lg_gdk_pixbuf_composite_color, 0, 0, 1, H_gdk_pixbuf_composite_color, pl_tuuiiiirrrrgi);
   s7_define_typed_function(sc, "gdk_pixbuf_scale_simple", lg_gdk_pixbuf_scale_simple, 4, 0, 0, H_gdk_pixbuf_scale_simple, pl_puiig);
   s7_define_typed_function(sc, "gdk_pixbuf_composite_color_simple", lg_gdk_pixbuf_composite_color_simple, 0, 0, 1, H_gdk_pixbuf_composite_color_simple, pl_puiigi);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_new_from_file", lg_gdk_pixbuf_animation_new_from_file, 1, 1, 0, H_gdk_pixbuf_animation_new_from_file, pl_psu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_get_width", lg_gdk_pixbuf_animation_get_width, 1, 0, 0, H_gdk_pixbuf_animation_get_width, pl_iu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_get_height", lg_gdk_pixbuf_animation_get_height, 1, 0, 0, H_gdk_pixbuf_animation_get_height, pl_iu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_is_static_image", lg_gdk_pixbuf_animation_is_static_image, 1, 0, 0, H_gdk_pixbuf_animation_is_static_image, pl_bu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_get_static_image", lg_gdk_pixbuf_animation_get_static_image, 1, 0, 0, H_gdk_pixbuf_animation_get_static_image, pl_pu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_get_iter", lg_gdk_pixbuf_animation_get_iter, 2, 0, 0, H_gdk_pixbuf_animation_get_iter, pl_pu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_iter_get_delay_time", lg_gdk_pixbuf_animation_iter_get_delay_time, 1, 0, 0, H_gdk_pixbuf_animation_iter_get_delay_time, pl_iu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_iter_get_pixbuf", lg_gdk_pixbuf_animation_iter_get_pixbuf, 1, 0, 0, H_gdk_pixbuf_animation_iter_get_pixbuf, pl_pu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_iter_on_currently_loading_frame", lg_gdk_pixbuf_animation_iter_on_currently_loading_frame, 1, 0, 0, H_gdk_pixbuf_animation_iter_on_currently_loading_frame, pl_bu);
-  s7_define_typed_function(sc, "gdk_pixbuf_animation_iter_advance", lg_gdk_pixbuf_animation_iter_advance, 2, 0, 0, H_gdk_pixbuf_animation_iter_advance, pl_bu);
   s7_define_typed_function(sc, "gdk_pixbuf_get_option", lg_gdk_pixbuf_get_option, 2, 0, 0, H_gdk_pixbuf_get_option, pl_sus);
   s7_define_typed_function(sc, "gtk_accel_group_new", lg_gtk_accel_group_new, 0, 0, 0, H_gtk_accel_group_new, pl_p);
   s7_define_typed_function(sc, "gtk_accel_group_lock", lg_gtk_accel_group_lock, 1, 0, 0, H_gtk_accel_group_lock, pl_tu);
@@ -48970,16 +48539,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_check_menu_item_toggled", lg_gtk_check_menu_item_toggled, 1, 0, 0, H_gtk_check_menu_item_toggled, pl_tu);
   s7_define_typed_function(sc, "gtk_check_menu_item_set_inconsistent", lg_gtk_check_menu_item_set_inconsistent, 2, 0, 0, H_gtk_check_menu_item_set_inconsistent, pl_tub);
   s7_define_typed_function(sc, "gtk_check_menu_item_get_inconsistent", lg_gtk_check_menu_item_get_inconsistent, 1, 0, 0, H_gtk_check_menu_item_get_inconsistent, pl_bu);
-  s7_define_typed_function(sc, "gtk_clipboard_get", lg_gtk_clipboard_get, 1, 0, 0, H_gtk_clipboard_get, pl_pt);
-  s7_define_typed_function(sc, "gtk_clipboard_set_with_data", lg_gtk_clipboard_set_with_data, 5, 1, 0, H_gtk_clipboard_set_with_data, pl_buuit);
-  s7_define_typed_function(sc, "gtk_clipboard_get_owner", lg_gtk_clipboard_get_owner, 1, 0, 0, H_gtk_clipboard_get_owner, pl_pu);
-  s7_define_typed_function(sc, "gtk_clipboard_clear", lg_gtk_clipboard_clear, 1, 0, 0, H_gtk_clipboard_clear, pl_tu);
-  s7_define_typed_function(sc, "gtk_clipboard_set_text", lg_gtk_clipboard_set_text, 3, 0, 0, H_gtk_clipboard_set_text, pl_tusi);
-  s7_define_typed_function(sc, "gtk_clipboard_request_contents", lg_gtk_clipboard_request_contents, 3, 1, 0, H_gtk_clipboard_request_contents, pl_tut);
-  s7_define_typed_function(sc, "gtk_clipboard_request_text", lg_gtk_clipboard_request_text, 2, 1, 0, H_gtk_clipboard_request_text, pl_tut);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_for_contents", lg_gtk_clipboard_wait_for_contents, 2, 0, 0, H_gtk_clipboard_wait_for_contents, pl_put);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_for_text", lg_gtk_clipboard_wait_for_text, 1, 0, 0, H_gtk_clipboard_wait_for_text, pl_su);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_is_text_available", lg_gtk_clipboard_wait_is_text_available, 1, 0, 0, H_gtk_clipboard_wait_is_text_available, pl_bu);
   s7_define_typed_function(sc, "gtk_container_add", lg_gtk_container_add, 2, 0, 0, H_gtk_container_add, pl_tu);
   s7_define_typed_function(sc, "gtk_container_remove", lg_gtk_container_remove, 2, 0, 0, H_gtk_container_remove, pl_tu);
   s7_define_typed_function(sc, "gtk_container_check_resize", lg_gtk_container_check_resize, 1, 0, 0, H_gtk_container_check_resize, pl_tu);
@@ -48994,20 +48553,12 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_dialog_response", lg_gtk_dialog_response, 2, 0, 0, H_gtk_dialog_response, pl_tui);
   s7_define_typed_function(sc, "gtk_dialog_run", lg_gtk_dialog_run, 1, 0, 0, H_gtk_dialog_run, pl_iu);
   s7_define_typed_function(sc, "gtk_drag_get_data", lg_gtk_drag_get_data, 4, 0, 0, H_gtk_drag_get_data, pl_tuuti);
-  s7_define_typed_function(sc, "gtk_drag_finish", lg_gtk_drag_finish, 4, 0, 0, H_gtk_drag_finish, pl_tubbi);
   s7_define_typed_function(sc, "gtk_drag_get_source_widget", lg_gtk_drag_get_source_widget, 1, 0, 0, H_gtk_drag_get_source_widget, pl_pu);
   s7_define_typed_function(sc, "gtk_drag_highlight", lg_gtk_drag_highlight, 1, 0, 0, H_gtk_drag_highlight, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_unhighlight", lg_gtk_drag_unhighlight, 1, 0, 0, H_gtk_drag_unhighlight, pl_tu);
-  s7_define_typed_function(sc, "gtk_drag_dest_set", lg_gtk_drag_dest_set, 5, 0, 0, H_gtk_drag_dest_set, pl_tuguig);
   s7_define_typed_function(sc, "gtk_drag_dest_unset", lg_gtk_drag_dest_unset, 1, 0, 0, H_gtk_drag_dest_unset, pl_tu);
-  s7_define_typed_function(sc, "gtk_drag_dest_find_target", lg_gtk_drag_dest_find_target, 3, 0, 0, H_gtk_drag_dest_find_target, pl_tu);
-  s7_define_typed_function(sc, "gtk_drag_dest_get_target_list", lg_gtk_drag_dest_get_target_list, 1, 0, 0, H_gtk_drag_dest_get_target_list, pl_pu);
-  s7_define_typed_function(sc, "gtk_drag_dest_set_target_list", lg_gtk_drag_dest_set_target_list, 2, 0, 0, H_gtk_drag_dest_set_target_list, pl_tu);
-  s7_define_typed_function(sc, "gtk_drag_source_set", lg_gtk_drag_source_set, 5, 0, 0, H_gtk_drag_source_set, pl_tuguig);
   s7_define_typed_function(sc, "gtk_drag_source_unset", lg_gtk_drag_source_unset, 1, 0, 0, H_gtk_drag_source_unset, pl_tu);
-  s7_define_typed_function(sc, "gtk_drag_source_set_icon_pixbuf", lg_gtk_drag_source_set_icon_pixbuf, 2, 0, 0, H_gtk_drag_source_set_icon_pixbuf, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_set_icon_widget", lg_gtk_drag_set_icon_widget, 4, 0, 0, H_gtk_drag_set_icon_widget, pl_tuui);
-  s7_define_typed_function(sc, "gtk_drag_set_icon_pixbuf", lg_gtk_drag_set_icon_pixbuf, 4, 0, 0, H_gtk_drag_set_icon_pixbuf, pl_tuui);
   s7_define_typed_function(sc, "gtk_drag_set_icon_default", lg_gtk_drag_set_icon_default, 1, 0, 0, H_gtk_drag_set_icon_default, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_check_threshold", lg_gtk_drag_check_threshold, 5, 0, 0, H_gtk_drag_check_threshold, pl_bui);
   s7_define_typed_function(sc, "gtk_drawing_area_new", lg_gtk_drawing_area_new, 0, 0, 0, H_gtk_drawing_area_new, pl_p);
@@ -49056,13 +48607,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_image_new", lg_gtk_image_new, 0, 0, 0, H_gtk_image_new, pl_p);
   s7_define_typed_function(sc, "gtk_image_new_from_file", lg_gtk_image_new_from_file, 1, 0, 0, H_gtk_image_new_from_file, pl_ps);
   s7_define_typed_function(sc, "gtk_image_new_from_pixbuf", lg_gtk_image_new_from_pixbuf, 1, 0, 0, H_gtk_image_new_from_pixbuf, pl_pu);
-  s7_define_typed_function(sc, "gtk_image_new_from_animation", lg_gtk_image_new_from_animation, 1, 0, 0, H_gtk_image_new_from_animation, pl_pu);
   s7_define_typed_function(sc, "gtk_image_set_from_file", lg_gtk_image_set_from_file, 2, 0, 0, H_gtk_image_set_from_file, pl_tus);
   s7_define_typed_function(sc, "gtk_image_set_from_pixbuf", lg_gtk_image_set_from_pixbuf, 2, 0, 0, H_gtk_image_set_from_pixbuf, pl_tu);
-  s7_define_typed_function(sc, "gtk_image_set_from_animation", lg_gtk_image_set_from_animation, 2, 0, 0, H_gtk_image_set_from_animation, pl_tu);
   s7_define_typed_function(sc, "gtk_image_get_storage_type", lg_gtk_image_get_storage_type, 1, 0, 0, H_gtk_image_get_storage_type, pl_gu);
-  s7_define_typed_function(sc, "gtk_image_get_pixbuf", lg_gtk_image_get_pixbuf, 1, 0, 0, H_gtk_image_get_pixbuf, pl_pu);
-  s7_define_typed_function(sc, "gtk_image_get_animation", lg_gtk_image_get_animation, 1, 0, 0, H_gtk_image_get_animation, pl_pu);
   s7_define_typed_function(sc, "gtk_im_context_get_preedit_string", lg_gtk_im_context_get_preedit_string, 1, 3, 0, H_gtk_im_context_get_preedit_string, pl_pu);
   s7_define_typed_function(sc, "gtk_im_context_filter_keypress", lg_gtk_im_context_filter_keypress, 2, 0, 0, H_gtk_im_context_filter_keypress, pl_bu);
   s7_define_typed_function(sc, "gtk_im_context_focus_in", lg_gtk_im_context_focus_in, 1, 0, 0, H_gtk_im_context_focus_in, pl_tu);
@@ -49256,23 +48803,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_scrolled_window_get_placement", lg_gtk_scrolled_window_get_placement, 1, 0, 0, H_gtk_scrolled_window_get_placement, pl_gu);
   s7_define_typed_function(sc, "gtk_scrolled_window_set_shadow_type", lg_gtk_scrolled_window_set_shadow_type, 2, 0, 0, H_gtk_scrolled_window_set_shadow_type, pl_tug);
   s7_define_typed_function(sc, "gtk_scrolled_window_get_shadow_type", lg_gtk_scrolled_window_get_shadow_type, 1, 0, 0, H_gtk_scrolled_window_get_shadow_type, pl_gu);
-  s7_define_typed_function(sc, "gtk_target_list_new", lg_gtk_target_list_new, 2, 0, 0, H_gtk_target_list_new, pl_pui);
-  s7_define_typed_function(sc, "gtk_target_list_unref", lg_gtk_target_list_unref, 1, 0, 0, H_gtk_target_list_unref, pl_tu);
-  s7_define_typed_function(sc, "gtk_target_list_add", lg_gtk_target_list_add, 4, 0, 0, H_gtk_target_list_add, pl_tuti);
-  s7_define_typed_function(sc, "gtk_target_list_add_table", lg_gtk_target_list_add_table, 3, 0, 0, H_gtk_target_list_add_table, pl_tuui);
-  s7_define_typed_function(sc, "gtk_target_list_remove", lg_gtk_target_list_remove, 2, 0, 0, H_gtk_target_list_remove, pl_tut);
-  s7_define_typed_function(sc, "gtk_target_list_find", lg_gtk_target_list_find, 2, 1, 0, H_gtk_target_list_find, pl_putu);
-  s7_define_typed_function(sc, "gtk_selection_owner_set", lg_gtk_selection_owner_set, 3, 0, 0, H_gtk_selection_owner_set, pl_buti);
-  s7_define_typed_function(sc, "gtk_selection_add_target", lg_gtk_selection_add_target, 4, 0, 0, H_gtk_selection_add_target, pl_tutti);
-  s7_define_typed_function(sc, "gtk_selection_add_targets", lg_gtk_selection_add_targets, 4, 0, 0, H_gtk_selection_add_targets, pl_tutui);
-  s7_define_typed_function(sc, "gtk_selection_clear_targets", lg_gtk_selection_clear_targets, 2, 0, 0, H_gtk_selection_clear_targets, pl_tut);
-  s7_define_typed_function(sc, "gtk_selection_convert", lg_gtk_selection_convert, 4, 0, 0, H_gtk_selection_convert, pl_butti);
-  s7_define_typed_function(sc, "gtk_selection_data_set", lg_gtk_selection_data_set, 5, 0, 0, H_gtk_selection_data_set, pl_tutisi);
-  s7_define_typed_function(sc, "gtk_selection_data_set_text", lg_gtk_selection_data_set_text, 3, 0, 0, H_gtk_selection_data_set_text, pl_busi);
-  s7_define_typed_function(sc, "gtk_selection_data_get_text", lg_gtk_selection_data_get_text, 1, 0, 0, H_gtk_selection_data_get_text, pl_su);
-  s7_define_typed_function(sc, "gtk_selection_data_get_targets", lg_gtk_selection_data_get_targets, 1, 2, 0, H_gtk_selection_data_get_targets, pl_pu);
-  s7_define_typed_function(sc, "gtk_selection_data_targets_include_text", lg_gtk_selection_data_targets_include_text, 1, 0, 0, H_gtk_selection_data_targets_include_text, pl_bu);
-  s7_define_typed_function(sc, "gtk_selection_remove_all", lg_gtk_selection_remove_all, 1, 0, 0, H_gtk_selection_remove_all, pl_tu);
   s7_define_typed_function(sc, "gtk_selection_data_copy", lg_gtk_selection_data_copy, 1, 0, 0, H_gtk_selection_data_copy, pl_pu);
   s7_define_typed_function(sc, "gtk_selection_data_free", lg_gtk_selection_data_free, 1, 0, 0, H_gtk_selection_data_free, pl_tu);
   s7_define_typed_function(sc, "gtk_separator_menu_item_new", lg_gtk_separator_menu_item_new, 0, 0, 0, H_gtk_separator_menu_item_new, pl_p);
@@ -49328,7 +48858,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_text_buffer_delete_interactive", lg_gtk_text_buffer_delete_interactive, 4, 0, 0, H_gtk_text_buffer_delete_interactive, pl_buuub);
   s7_define_typed_function(sc, "gtk_text_buffer_get_text", lg_gtk_text_buffer_get_text, 4, 0, 0, H_gtk_text_buffer_get_text, pl_suuub);
   s7_define_typed_function(sc, "gtk_text_buffer_get_slice", lg_gtk_text_buffer_get_slice, 4, 0, 0, H_gtk_text_buffer_get_slice, pl_suuub);
-  s7_define_typed_function(sc, "gtk_text_buffer_insert_pixbuf", lg_gtk_text_buffer_insert_pixbuf, 3, 0, 0, H_gtk_text_buffer_insert_pixbuf, pl_tu);
   s7_define_typed_function(sc, "gtk_text_buffer_insert_child_anchor", lg_gtk_text_buffer_insert_child_anchor, 3, 0, 0, H_gtk_text_buffer_insert_child_anchor, pl_tu);
   s7_define_typed_function(sc, "gtk_text_buffer_create_child_anchor", lg_gtk_text_buffer_create_child_anchor, 2, 0, 0, H_gtk_text_buffer_create_child_anchor, pl_pu);
   s7_define_typed_function(sc, "gtk_text_buffer_create_mark", lg_gtk_text_buffer_create_mark, 4, 0, 0, H_gtk_text_buffer_create_mark, pl_pusub);
@@ -49357,11 +48886,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_text_buffer_get_iter_at_child_anchor", lg_gtk_text_buffer_get_iter_at_child_anchor, 3, 0, 0, H_gtk_text_buffer_get_iter_at_child_anchor, pl_tu);
   s7_define_typed_function(sc, "gtk_text_buffer_get_modified", lg_gtk_text_buffer_get_modified, 1, 0, 0, H_gtk_text_buffer_get_modified, pl_bu);
   s7_define_typed_function(sc, "gtk_text_buffer_set_modified", lg_gtk_text_buffer_set_modified, 2, 0, 0, H_gtk_text_buffer_set_modified, pl_tub);
-  s7_define_typed_function(sc, "gtk_text_buffer_add_selection_clipboard", lg_gtk_text_buffer_add_selection_clipboard, 2, 0, 0, H_gtk_text_buffer_add_selection_clipboard, pl_tu);
-  s7_define_typed_function(sc, "gtk_text_buffer_remove_selection_clipboard", lg_gtk_text_buffer_remove_selection_clipboard, 2, 0, 0, H_gtk_text_buffer_remove_selection_clipboard, pl_tu);
-  s7_define_typed_function(sc, "gtk_text_buffer_cut_clipboard", lg_gtk_text_buffer_cut_clipboard, 3, 0, 0, H_gtk_text_buffer_cut_clipboard, pl_tuub);
-  s7_define_typed_function(sc, "gtk_text_buffer_copy_clipboard", lg_gtk_text_buffer_copy_clipboard, 2, 0, 0, H_gtk_text_buffer_copy_clipboard, pl_tu);
-  s7_define_typed_function(sc, "gtk_text_buffer_paste_clipboard", lg_gtk_text_buffer_paste_clipboard, 4, 0, 0, H_gtk_text_buffer_paste_clipboard, pl_tuuub);
   s7_define_typed_function(sc, "gtk_text_buffer_get_selection_bounds", lg_gtk_text_buffer_get_selection_bounds, 3, 0, 0, H_gtk_text_buffer_get_selection_bounds, pl_bu);
   s7_define_typed_function(sc, "gtk_text_buffer_delete_selection", lg_gtk_text_buffer_delete_selection, 3, 0, 0, H_gtk_text_buffer_delete_selection, pl_bub);
   s7_define_typed_function(sc, "gtk_text_buffer_begin_user_action", lg_gtk_text_buffer_begin_user_action, 1, 0, 0, H_gtk_text_buffer_begin_user_action, pl_tu);
@@ -49383,7 +48907,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_text_iter_get_text", lg_gtk_text_iter_get_text, 2, 0, 0, H_gtk_text_iter_get_text, pl_su);
   s7_define_typed_function(sc, "gtk_text_iter_get_visible_slice", lg_gtk_text_iter_get_visible_slice, 2, 0, 0, H_gtk_text_iter_get_visible_slice, pl_su);
   s7_define_typed_function(sc, "gtk_text_iter_get_visible_text", lg_gtk_text_iter_get_visible_text, 2, 0, 0, H_gtk_text_iter_get_visible_text, pl_su);
-  s7_define_typed_function(sc, "gtk_text_iter_get_pixbuf", lg_gtk_text_iter_get_pixbuf, 1, 0, 0, H_gtk_text_iter_get_pixbuf, pl_pu);
   s7_define_typed_function(sc, "gtk_text_iter_get_marks", lg_gtk_text_iter_get_marks, 1, 0, 0, H_gtk_text_iter_get_marks, pl_pu);
   s7_define_typed_function(sc, "gtk_text_iter_get_child_anchor", lg_gtk_text_iter_get_child_anchor, 1, 0, 0, H_gtk_text_iter_get_child_anchor, pl_pu);
   s7_define_typed_function(sc, "gtk_text_iter_get_toggled_tags", lg_gtk_text_iter_get_toggled_tags, 2, 0, 0, H_gtk_text_iter_get_toggled_tags, pl_pub);
@@ -49454,7 +48977,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_text_tag_new", lg_gtk_text_tag_new, 1, 0, 0, H_gtk_text_tag_new, pl_ps);
   s7_define_typed_function(sc, "gtk_text_tag_get_priority", lg_gtk_text_tag_get_priority, 1, 0, 0, H_gtk_text_tag_get_priority, pl_iu);
   s7_define_typed_function(sc, "gtk_text_tag_set_priority", lg_gtk_text_tag_set_priority, 2, 0, 0, H_gtk_text_tag_set_priority, pl_tui);
-  s7_define_typed_function(sc, "gtk_text_tag_event", lg_gtk_text_tag_event, 4, 0, 0, H_gtk_text_tag_event, pl_bu);
   s7_define_typed_function(sc, "gtk_text_tag_table_new", lg_gtk_text_tag_table_new, 0, 0, 0, H_gtk_text_tag_table_new, pl_p);
   s7_define_typed_function(sc, "gtk_text_tag_table_add", lg_gtk_text_tag_table_add, 2, 0, 0, H_gtk_text_tag_table_add, pl_tu);
   s7_define_typed_function(sc, "gtk_text_tag_table_remove", lg_gtk_text_tag_table_remove, 2, 0, 0, H_gtk_text_tag_table_remove, pl_tu);
@@ -49478,8 +49000,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_text_view_get_line_at_y", lg_gtk_text_view_get_line_at_y, 3, 1, 0, H_gtk_text_view_get_line_at_y, pl_puuiu);
   s7_define_typed_function(sc, "gtk_text_view_buffer_to_window_coords", lg_gtk_text_view_buffer_to_window_coords, 4, 2, 0, H_gtk_text_view_buffer_to_window_coords, pl_pugiiu);
   s7_define_typed_function(sc, "gtk_text_view_window_to_buffer_coords", lg_gtk_text_view_window_to_buffer_coords, 4, 2, 0, H_gtk_text_view_window_to_buffer_coords, pl_pugiiu);
-  s7_define_typed_function(sc, "gtk_text_view_get_window", lg_gtk_text_view_get_window, 2, 0, 0, H_gtk_text_view_get_window, pl_pug);
-  s7_define_typed_function(sc, "gtk_text_view_get_window_type", lg_gtk_text_view_get_window_type, 2, 0, 0, H_gtk_text_view_get_window_type, pl_gu);
   s7_define_typed_function(sc, "gtk_text_view_set_border_window_size", lg_gtk_text_view_set_border_window_size, 3, 0, 0, H_gtk_text_view_set_border_window_size, pl_tugi);
   s7_define_typed_function(sc, "gtk_text_view_get_border_window_size", lg_gtk_text_view_get_border_window_size, 2, 0, 0, H_gtk_text_view_get_border_window_size, pl_iug);
   s7_define_typed_function(sc, "gtk_text_view_forward_display_line", lg_gtk_text_view_forward_display_line, 2, 0, 0, H_gtk_text_view_forward_display_line, pl_bu);
@@ -49701,8 +49221,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tree_view_get_cell_area", lg_gtk_tree_view_get_cell_area, 4, 0, 0, H_gtk_tree_view_get_cell_area, pl_tu);
   s7_define_typed_function(sc, "gtk_tree_view_get_background_area", lg_gtk_tree_view_get_background_area, 4, 0, 0, H_gtk_tree_view_get_background_area, pl_tu);
   s7_define_typed_function(sc, "gtk_tree_view_get_visible_rect", lg_gtk_tree_view_get_visible_rect, 2, 0, 0, H_gtk_tree_view_get_visible_rect, pl_tu);
-  s7_define_typed_function(sc, "gtk_tree_view_enable_model_drag_source", lg_gtk_tree_view_enable_model_drag_source, 5, 0, 0, H_gtk_tree_view_enable_model_drag_source, pl_tuguig);
-  s7_define_typed_function(sc, "gtk_tree_view_enable_model_drag_dest", lg_gtk_tree_view_enable_model_drag_dest, 4, 0, 0, H_gtk_tree_view_enable_model_drag_dest, pl_tuuig);
   s7_define_typed_function(sc, "gtk_tree_view_unset_rows_drag_source", lg_gtk_tree_view_unset_rows_drag_source, 1, 0, 0, H_gtk_tree_view_unset_rows_drag_source, pl_tu);
   s7_define_typed_function(sc, "gtk_tree_view_unset_rows_drag_dest", lg_gtk_tree_view_unset_rows_drag_dest, 1, 0, 0, H_gtk_tree_view_unset_rows_drag_dest, pl_tu);
   s7_define_typed_function(sc, "gtk_tree_view_set_drag_dest_row", lg_gtk_tree_view_set_drag_dest_row, 3, 0, 0, H_gtk_tree_view_set_drag_dest_row, pl_tuug);
@@ -49799,10 +49317,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_window_set_decorated", lg_gtk_window_set_decorated, 2, 0, 0, H_gtk_window_set_decorated, pl_tub);
   s7_define_typed_function(sc, "gtk_window_get_decorated", lg_gtk_window_get_decorated, 1, 0, 0, H_gtk_window_get_decorated, pl_bu);
   s7_define_typed_function(sc, "gtk_window_set_icon_list", lg_gtk_window_set_icon_list, 2, 0, 0, H_gtk_window_set_icon_list, pl_tu);
-  s7_define_typed_function(sc, "gtk_window_get_icon_list", lg_gtk_window_get_icon_list, 1, 0, 0, H_gtk_window_get_icon_list, pl_pu);
-  s7_define_typed_function(sc, "gtk_window_set_icon", lg_gtk_window_set_icon, 2, 0, 0, H_gtk_window_set_icon, pl_tu);
-  s7_define_typed_function(sc, "gtk_window_get_icon", lg_gtk_window_get_icon, 1, 0, 0, H_gtk_window_get_icon, pl_pu);
-  s7_define_typed_function(sc, "gtk_window_set_default_icon_list", lg_gtk_window_set_default_icon_list, 1, 0, 0, H_gtk_window_set_default_icon_list, pl_tu);
   s7_define_typed_function(sc, "gtk_window_get_default_icon_list", lg_gtk_window_get_default_icon_list, 0, 0, 0, H_gtk_window_get_default_icon_list, pl_p);
   s7_define_typed_function(sc, "gtk_window_set_modal", lg_gtk_window_set_modal, 2, 0, 0, H_gtk_window_set_modal, pl_tub);
   s7_define_typed_function(sc, "gtk_window_get_modal", lg_gtk_window_get_modal, 1, 0, 0, H_gtk_window_get_modal, pl_bu);
@@ -50027,24 +49541,14 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tree_store_swap", lg_gtk_tree_store_swap, 3, 0, 0, H_gtk_tree_store_swap, pl_tu);
   s7_define_typed_function(sc, "gdk_display_open", lg_gdk_display_open, 1, 0, 0, H_gdk_display_open, pl_ps);
   s7_define_typed_function(sc, "gdk_display_get_name", lg_gdk_display_get_name, 1, 0, 0, H_gdk_display_get_name, pl_su);
-  s7_define_typed_function(sc, "gdk_display_get_default_screen", lg_gdk_display_get_default_screen, 1, 0, 0, H_gdk_display_get_default_screen, pl_pu);
   s7_define_typed_function(sc, "gdk_display_beep", lg_gdk_display_beep, 1, 0, 0, H_gdk_display_beep, pl_tu);
   s7_define_typed_function(sc, "gdk_display_sync", lg_gdk_display_sync, 1, 0, 0, H_gdk_display_sync, pl_tu);
   s7_define_typed_function(sc, "gdk_display_close", lg_gdk_display_close, 1, 0, 0, H_gdk_display_close, pl_tu);
   s7_define_typed_function(sc, "gdk_display_get_event", lg_gdk_display_get_event, 1, 0, 0, H_gdk_display_get_event, pl_pu);
   s7_define_typed_function(sc, "gdk_display_peek_event", lg_gdk_display_peek_event, 1, 0, 0, H_gdk_display_peek_event, pl_pu);
   s7_define_typed_function(sc, "gdk_display_put_event", lg_gdk_display_put_event, 2, 0, 0, H_gdk_display_put_event, pl_tu);
-  s7_define_typed_function(sc, "gdk_display_set_double_click_time", lg_gdk_display_set_double_click_time, 2, 0, 0, H_gdk_display_set_double_click_time, pl_tui);
   s7_define_typed_function(sc, "gdk_display_get_default", lg_gdk_display_get_default, 0, 0, 0, H_gdk_display_get_default, pl_p);
-  s7_define_typed_function(sc, "gdk_screen_get_display", lg_gdk_screen_get_display, 1, 0, 0, H_gdk_screen_get_display, pl_pu);
-  s7_define_typed_function(sc, "gdk_screen_get_toplevel_windows", lg_gdk_screen_get_toplevel_windows, 1, 0, 0, H_gdk_screen_get_toplevel_windows, pl_pu);
-  s7_define_typed_function(sc, "gdk_screen_get_default", lg_gdk_screen_get_default, 0, 0, 0, H_gdk_screen_get_default, pl_p);
-  s7_define_typed_function(sc, "gtk_clipboard_get_for_display", lg_gtk_clipboard_get_for_display, 2, 0, 0, H_gtk_clipboard_get_for_display, pl_put);
-  s7_define_typed_function(sc, "gtk_clipboard_get_display", lg_gtk_clipboard_get_display, 1, 0, 0, H_gtk_clipboard_get_display, pl_pu);
-  s7_define_typed_function(sc, "gtk_widget_get_screen", lg_gtk_widget_get_screen, 1, 0, 0, H_gtk_widget_get_screen, pl_pu);
-  s7_define_typed_function(sc, "gtk_widget_has_screen", lg_gtk_widget_has_screen, 1, 0, 0, H_gtk_widget_has_screen, pl_bu);
   s7_define_typed_function(sc, "gtk_widget_get_display", lg_gtk_widget_get_display, 1, 0, 0, H_gtk_widget_get_display, pl_pu);
-  s7_define_typed_function(sc, "gtk_widget_get_clipboard", lg_gtk_widget_get_clipboard, 2, 0, 0, H_gtk_widget_get_clipboard, pl_put);
   s7_define_typed_function(sc, "g_list_free", lg_g_list_free, 1, 0, 0, H_g_list_free, pl_tu);
   s7_define_typed_function(sc, "g_list_reverse", lg_g_list_reverse, 1, 0, 0, H_g_list_reverse, pl_pu);
   s7_define_typed_function(sc, "g_list_copy", lg_g_list_copy, 1, 0, 0, H_g_list_copy, pl_pu);
@@ -50055,7 +49559,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "g_list_remove_link", lg_g_list_remove_link, 2, 0, 0, H_g_list_remove_link, pl_pu);
   s7_define_typed_function(sc, "g_object_get_data", lg_g_object_get_data, 2, 0, 0, H_g_object_get_data, pl_tus);
   s7_define_typed_function(sc, "g_object_set_data", lg_g_object_set_data, 3, 0, 0, H_g_object_set_data, pl_tust);
-  s7_define_typed_function(sc, "gdk_cursor_new_from_pixbuf", lg_gdk_cursor_new_from_pixbuf, 4, 0, 0, H_gdk_cursor_new_from_pixbuf, pl_puui);
   s7_define_typed_function(sc, "gdk_display_flush", lg_gdk_display_flush, 1, 0, 0, H_gdk_display_flush, pl_tu);
   s7_define_typed_function(sc, "gdk_display_supports_cursor_alpha", lg_gdk_display_supports_cursor_alpha, 1, 0, 0, H_gdk_display_supports_cursor_alpha, pl_bu);
   s7_define_typed_function(sc, "gdk_display_supports_cursor_color", lg_gdk_display_supports_cursor_color, 1, 0, 0, H_gdk_display_supports_cursor_color, pl_bu);
@@ -50086,7 +49589,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tree_view_column_set_expand", lg_gtk_tree_view_column_set_expand, 2, 0, 0, H_gtk_tree_view_column_set_expand, pl_tub);
   s7_define_typed_function(sc, "gtk_tree_view_column_get_expand", lg_gtk_tree_view_column_get_expand, 1, 0, 0, H_gtk_tree_view_column_get_expand, pl_bu);
   s7_define_typed_function(sc, "gtk_widget_queue_resize_no_redraw", lg_gtk_widget_queue_resize_no_redraw, 1, 0, 0, H_gtk_widget_queue_resize_no_redraw, pl_tu);
-  s7_define_typed_function(sc, "gtk_window_set_default_icon", lg_gtk_window_set_default_icon, 1, 0, 0, H_gtk_window_set_default_icon, pl_tu);
   s7_define_typed_function(sc, "gtk_window_set_keep_above", lg_gtk_window_set_keep_above, 2, 0, 0, H_gtk_window_set_keep_above, pl_tub);
   s7_define_typed_function(sc, "gtk_window_set_keep_below", lg_gtk_window_set_keep_below, 2, 0, 0, H_gtk_window_set_keep_below, pl_tub);
   s7_define_typed_function(sc, "gtk_file_chooser_dialog_new", lg_gtk_file_chooser_dialog_new, 3, 1, 0, H_gtk_file_chooser_dialog_new, pl_psugt);
@@ -50130,8 +49632,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_font_button_set_use_font", lg_gtk_font_button_set_use_font, 2, 0, 0, H_gtk_font_button_set_use_font, pl_tub);
   s7_define_typed_function(sc, "gtk_font_button_get_use_size", lg_gtk_font_button_get_use_size, 1, 0, 0, H_gtk_font_button_get_use_size, pl_bu);
   s7_define_typed_function(sc, "gtk_font_button_set_use_size", lg_gtk_font_button_set_use_size, 2, 0, 0, H_gtk_font_button_set_use_size, pl_tub);
-  s7_define_typed_function(sc, "gtk_font_button_get_font_name", lg_gtk_font_button_get_font_name, 1, 0, 0, H_gtk_font_button_get_font_name, pl_su);
-  s7_define_typed_function(sc, "gtk_font_button_set_font_name", lg_gtk_font_button_set_font_name, 2, 0, 0, H_gtk_font_button_set_font_name, pl_bus);
   s7_define_typed_function(sc, "gtk_font_button_get_show_style", lg_gtk_font_button_get_show_style, 1, 0, 0, H_gtk_font_button_get_show_style, pl_bu);
   s7_define_typed_function(sc, "gtk_font_button_set_show_style", lg_gtk_font_button_set_show_style, 2, 0, 0, H_gtk_font_button_set_show_style, pl_tub);
   s7_define_typed_function(sc, "gtk_font_button_get_show_size", lg_gtk_font_button_get_show_size, 1, 0, 0, H_gtk_font_button_get_show_size, pl_bu);
@@ -50223,8 +49723,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_file_chooser_list_shortcut_folder_uris", lg_gtk_file_chooser_list_shortcut_folder_uris, 1, 0, 0, H_gtk_file_chooser_list_shortcut_folder_uris, pl_pu);
   s7_define_typed_function(sc, "gtk_icon_theme_new", lg_gtk_icon_theme_new, 0, 0, 0, H_gtk_icon_theme_new, pl_p);
   s7_define_typed_function(sc, "gtk_icon_theme_get_default", lg_gtk_icon_theme_get_default, 0, 0, 0, H_gtk_icon_theme_get_default, pl_p);
-  s7_define_typed_function(sc, "gtk_icon_theme_get_for_screen", lg_gtk_icon_theme_get_for_screen, 1, 0, 0, H_gtk_icon_theme_get_for_screen, pl_pu);
-  s7_define_typed_function(sc, "gtk_icon_theme_set_screen", lg_gtk_icon_theme_set_screen, 2, 0, 0, H_gtk_icon_theme_set_screen, pl_tu);
   s7_define_typed_function(sc, "gtk_icon_theme_get_search_path", lg_gtk_icon_theme_get_search_path, 1, 2, 0, H_gtk_icon_theme_get_search_path, pl_pu);
   s7_define_typed_function(sc, "gtk_icon_theme_append_search_path", lg_gtk_icon_theme_append_search_path, 2, 0, 0, H_gtk_icon_theme_append_search_path, pl_tus);
   s7_define_typed_function(sc, "gtk_icon_theme_prepend_search_path", lg_gtk_icon_theme_prepend_search_path, 2, 0, 0, H_gtk_icon_theme_prepend_search_path, pl_tus);
@@ -50264,12 +49762,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tool_item_get_proxy_menu_item", lg_gtk_tool_item_get_proxy_menu_item, 2, 0, 0, H_gtk_tool_item_get_proxy_menu_item, pl_pus);
   s7_define_typed_function(sc, "gtk_tool_item_set_proxy_menu_item", lg_gtk_tool_item_set_proxy_menu_item, 3, 0, 0, H_gtk_tool_item_set_proxy_menu_item, pl_tusu);
   s7_define_typed_function(sc, "gtk_list_store_remove", lg_gtk_list_store_remove, 2, 0, 0, H_gtk_list_store_remove, pl_bu);
-  s7_define_typed_function(sc, "gdk_display_set_double_click_distance", lg_gdk_display_set_double_click_distance, 2, 0, 0, H_gdk_display_set_double_click_distance, pl_tui);
   s7_define_typed_function(sc, "gdk_display_get_default_group", lg_gdk_display_get_default_group, 1, 0, 0, H_gdk_display_get_default_group, pl_pu);
   s7_define_typed_function(sc, "gdk_window_get_group", lg_gdk_window_get_group, 1, 0, 0, H_gdk_window_get_group, pl_pu);
   s7_define_typed_function(sc, "gtk_cell_layout_reorder", lg_gtk_cell_layout_reorder, 3, 0, 0, H_gtk_cell_layout_reorder, pl_tuui);
-  s7_define_typed_function(sc, "gtk_clipboard_request_targets", lg_gtk_clipboard_request_targets, 2, 1, 0, H_gtk_clipboard_request_targets, pl_tut);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_for_targets", lg_gtk_clipboard_wait_for_targets, 1, 2, 0, H_gtk_clipboard_wait_for_targets, pl_pu);
   s7_define_typed_function(sc, "gtk_menu_shell_cancel", lg_gtk_menu_shell_cancel, 1, 0, 0, H_gtk_menu_shell_cancel, pl_tu);
   s7_define_typed_function(sc, "gtk_paned_get_child1", lg_gtk_paned_get_child1, 1, 0, 0, H_gtk_paned_get_child1, pl_pu);
   s7_define_typed_function(sc, "gtk_paned_get_child2", lg_gtk_paned_get_child2, 1, 0, 0, H_gtk_paned_get_child2, pl_pu);
@@ -50284,8 +49779,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_radio_menu_item_new_with_label_from_widget", lg_gtk_radio_menu_item_new_with_label_from_widget, 2, 0, 0, H_gtk_radio_menu_item_new_with_label_from_widget, pl_pus);
   s7_define_typed_function(sc, "gtk_scale_get_layout", lg_gtk_scale_get_layout, 1, 0, 0, H_gtk_scale_get_layout, pl_pu);
   s7_define_typed_function(sc, "gtk_scale_get_layout_offsets", lg_gtk_scale_get_layout_offsets, 1, 2, 0, H_gtk_scale_get_layout_offsets, pl_pu);
-  s7_define_typed_function(sc, "gtk_drag_source_get_target_list", lg_gtk_drag_source_get_target_list, 1, 0, 0, H_gtk_drag_source_get_target_list, pl_pu);
-  s7_define_typed_function(sc, "gtk_drag_source_set_target_list", lg_gtk_drag_source_set_target_list, 2, 0, 0, H_gtk_drag_source_set_target_list, pl_tu);
   s7_define_typed_function(sc, "gtk_entry_set_alignment", lg_gtk_entry_set_alignment, 2, 0, 0, H_gtk_entry_set_alignment, pl_tur);
   s7_define_typed_function(sc, "gtk_entry_get_alignment", lg_gtk_entry_get_alignment, 1, 0, 0, H_gtk_entry_get_alignment, pl_du);
   s7_define_typed_function(sc, "gtk_file_chooser_set_use_preview_label", lg_gtk_file_chooser_set_use_preview_label, 2, 0, 0, H_gtk_file_chooser_set_use_preview_label, pl_tub);
@@ -50300,7 +49793,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_cell_view_new", lg_gtk_cell_view_new, 0, 0, 0, H_gtk_cell_view_new, pl_p);
   s7_define_typed_function(sc, "gtk_cell_view_new_with_text", lg_gtk_cell_view_new_with_text, 1, 0, 0, H_gtk_cell_view_new_with_text, pl_ps);
   s7_define_typed_function(sc, "gtk_cell_view_new_with_markup", lg_gtk_cell_view_new_with_markup, 1, 0, 0, H_gtk_cell_view_new_with_markup, pl_ps);
-  s7_define_typed_function(sc, "gtk_cell_view_new_with_pixbuf", lg_gtk_cell_view_new_with_pixbuf, 1, 0, 0, H_gtk_cell_view_new_with_pixbuf, pl_pu);
   s7_define_typed_function(sc, "gtk_cell_view_set_model", lg_gtk_cell_view_set_model, 2, 0, 0, H_gtk_cell_view_set_model, pl_tu);
   s7_define_typed_function(sc, "gtk_cell_view_set_displayed_row", lg_gtk_cell_view_set_displayed_row, 2, 0, 0, H_gtk_cell_view_set_displayed_row, pl_tu);
   s7_define_typed_function(sc, "gtk_cell_view_get_displayed_row", lg_gtk_cell_view_get_displayed_row, 1, 0, 0, H_gtk_cell_view_get_displayed_row, pl_pu);
@@ -50346,8 +49838,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_about_dialog_set_artists", lg_gtk_about_dialog_set_artists, 2, 0, 0, H_gtk_about_dialog_set_artists, pl_tu);
   s7_define_typed_function(sc, "gtk_about_dialog_get_translator_credits", lg_gtk_about_dialog_get_translator_credits, 1, 0, 0, H_gtk_about_dialog_get_translator_credits, pl_su);
   s7_define_typed_function(sc, "gtk_about_dialog_set_translator_credits", lg_gtk_about_dialog_set_translator_credits, 2, 0, 0, H_gtk_about_dialog_set_translator_credits, pl_tus);
-  s7_define_typed_function(sc, "gtk_about_dialog_get_logo", lg_gtk_about_dialog_get_logo, 1, 0, 0, H_gtk_about_dialog_get_logo, pl_pu);
-  s7_define_typed_function(sc, "gtk_about_dialog_set_logo", lg_gtk_about_dialog_set_logo, 2, 0, 0, H_gtk_about_dialog_set_logo, pl_tu);
   s7_define_typed_function(sc, "gtk_about_dialog_get_program_name", lg_gtk_about_dialog_get_program_name, 1, 0, 0, H_gtk_about_dialog_get_program_name, pl_su);
   s7_define_typed_function(sc, "gtk_about_dialog_set_program_name", lg_gtk_about_dialog_set_program_name, 2, 0, 0, H_gtk_about_dialog_set_program_name, pl_tus);
   s7_define_typed_function(sc, "gtk_icon_view_new", lg_gtk_icon_view_new, 0, 0, 0, H_gtk_icon_view_new, pl_p);
@@ -50407,13 +49897,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_menu_tool_button_new", lg_gtk_menu_tool_button_new, 2, 0, 0, H_gtk_menu_tool_button_new, pl_pus);
   s7_define_typed_function(sc, "gtk_menu_tool_button_set_menu", lg_gtk_menu_tool_button_set_menu, 2, 0, 0, H_gtk_menu_tool_button_set_menu, pl_tu);
   s7_define_typed_function(sc, "gtk_menu_tool_button_get_menu", lg_gtk_menu_tool_button_get_menu, 1, 0, 0, H_gtk_menu_tool_button_get_menu, pl_pu);
-  s7_define_typed_function(sc, "gdk_display_supports_clipboard_persistence", lg_gdk_display_supports_clipboard_persistence, 1, 0, 0, H_gdk_display_supports_clipboard_persistence, pl_bu);
   s7_define_typed_function(sc, "gtk_about_dialog_get_logo_icon_name", lg_gtk_about_dialog_get_logo_icon_name, 1, 0, 0, H_gtk_about_dialog_get_logo_icon_name, pl_su);
   s7_define_typed_function(sc, "gtk_about_dialog_set_logo_icon_name", lg_gtk_about_dialog_set_logo_icon_name, 2, 0, 0, H_gtk_about_dialog_set_logo_icon_name, pl_tus);
   s7_define_typed_function(sc, "gtk_accelerator_get_label", lg_gtk_accelerator_get_label, 2, 0, 0, H_gtk_accelerator_get_label, pl_sig);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_is_target_available", lg_gtk_clipboard_wait_is_target_available, 2, 0, 0, H_gtk_clipboard_wait_is_target_available, pl_but);
-  s7_define_typed_function(sc, "gtk_clipboard_set_can_store", lg_gtk_clipboard_set_can_store, 3, 0, 0, H_gtk_clipboard_set_can_store, pl_tuui);
-  s7_define_typed_function(sc, "gtk_clipboard_store", lg_gtk_clipboard_store, 1, 0, 0, H_gtk_clipboard_store, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_dest_add_image_targets", lg_gtk_drag_dest_add_image_targets, 1, 0, 0, H_gtk_drag_dest_add_image_targets, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_dest_add_uri_targets", lg_gtk_drag_dest_add_uri_targets, 1, 0, 0, H_gtk_drag_dest_add_uri_targets, pl_tu);
   s7_define_typed_function(sc, "gtk_drag_source_add_image_targets", lg_gtk_drag_source_add_image_targets, 1, 0, 0, H_gtk_drag_source_add_image_targets, pl_tu);
@@ -50424,25 +49910,13 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_image_get_pixel_size", lg_gtk_image_get_pixel_size, 1, 0, 0, H_gtk_image_get_pixel_size, pl_iu);
   s7_define_typed_function(sc, "gtk_label_set_width_chars", lg_gtk_label_set_width_chars, 2, 0, 0, H_gtk_label_set_width_chars, pl_tui);
   s7_define_typed_function(sc, "gtk_label_get_width_chars", lg_gtk_label_get_width_chars, 1, 0, 0, H_gtk_label_get_width_chars, pl_iu);
-  s7_define_typed_function(sc, "gtk_target_list_add_text_targets", lg_gtk_target_list_add_text_targets, 2, 0, 0, H_gtk_target_list_add_text_targets, pl_tui);
-  s7_define_typed_function(sc, "gtk_target_list_add_image_targets", lg_gtk_target_list_add_image_targets, 3, 0, 0, H_gtk_target_list_add_image_targets, pl_tuib);
-  s7_define_typed_function(sc, "gtk_target_list_add_uri_targets", lg_gtk_target_list_add_uri_targets, 2, 0, 0, H_gtk_target_list_add_uri_targets, pl_tui);
-  s7_define_typed_function(sc, "gtk_selection_data_set_pixbuf", lg_gtk_selection_data_set_pixbuf, 2, 0, 0, H_gtk_selection_data_set_pixbuf, pl_bu);
-  s7_define_typed_function(sc, "gtk_selection_data_get_pixbuf", lg_gtk_selection_data_get_pixbuf, 1, 0, 0, H_gtk_selection_data_get_pixbuf, pl_pu);
-  s7_define_typed_function(sc, "gtk_selection_data_set_uris", lg_gtk_selection_data_set_uris, 2, 0, 0, H_gtk_selection_data_set_uris, pl_bu);
-  s7_define_typed_function(sc, "gtk_selection_data_get_uris", lg_gtk_selection_data_get_uris, 1, 0, 0, H_gtk_selection_data_get_uris, pl_pu);
   s7_define_typed_function(sc, "gtk_text_buffer_backspace", lg_gtk_text_buffer_backspace, 4, 0, 0, H_gtk_text_buffer_backspace, pl_buub);
-  s7_define_typed_function(sc, "gtk_clipboard_set_image", lg_gtk_clipboard_set_image, 2, 0, 0, H_gtk_clipboard_set_image, pl_tu);
-  s7_define_typed_function(sc, "gtk_clipboard_request_image", lg_gtk_clipboard_request_image, 2, 1, 0, H_gtk_clipboard_request_image, pl_tut);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_for_image", lg_gtk_clipboard_wait_for_image, 1, 0, 0, H_gtk_clipboard_wait_for_image, pl_pu);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_is_image_available", lg_gtk_clipboard_wait_is_image_available, 1, 0, 0, H_gtk_clipboard_wait_is_image_available, pl_bu);
   s7_define_typed_function(sc, "gtk_file_filter_add_pixbuf_formats", lg_gtk_file_filter_add_pixbuf_formats, 1, 0, 0, H_gtk_file_filter_add_pixbuf_formats, pl_tu);
   s7_define_typed_function(sc, "gtk_label_set_single_line_mode", lg_gtk_label_set_single_line_mode, 2, 0, 0, H_gtk_label_set_single_line_mode, pl_tub);
   s7_define_typed_function(sc, "gtk_label_get_single_line_mode", lg_gtk_label_get_single_line_mode, 1, 0, 0, H_gtk_label_get_single_line_mode, pl_bu);
   s7_define_typed_function(sc, "gtk_progress_bar_set_ellipsize", lg_gtk_progress_bar_set_ellipsize, 2, 0, 0, H_gtk_progress_bar_set_ellipsize, pl_tug);
   s7_define_typed_function(sc, "gtk_progress_bar_get_ellipsize", lg_gtk_progress_bar_get_ellipsize, 1, 0, 0, H_gtk_progress_bar_get_ellipsize, pl_gu);
   s7_define_typed_function(sc, "gtk_selection_data_targets_include_image", lg_gtk_selection_data_targets_include_image, 2, 0, 0, H_gtk_selection_data_targets_include_image, pl_bub);
-  s7_define_typed_function(sc, "gtk_menu_set_screen", lg_gtk_menu_set_screen, 2, 0, 0, H_gtk_menu_set_screen, pl_tu);
   s7_define_typed_function(sc, "pango_attr_underline_color_new", lg_pango_attr_underline_color_new, 3, 0, 0, H_pango_attr_underline_color_new, pl_pi);
   s7_define_typed_function(sc, "pango_attr_strikethrough_color_new", lg_pango_attr_strikethrough_color_new, 3, 0, 0, H_pango_attr_strikethrough_color_new, pl_pi);
   s7_define_typed_function(sc, "pango_renderer_draw_layout", lg_pango_renderer_draw_layout, 4, 0, 0, H_pango_renderer_draw_layout, pl_tuui);
@@ -50481,8 +49955,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "pango_attr_size_new_absolute", lg_pango_attr_size_new_absolute, 1, 0, 0, H_pango_attr_size_new_absolute, pl_pi);
   s7_define_typed_function(sc, "pango_font_description_set_absolute_size", lg_pango_font_description_set_absolute_size, 2, 0, 0, H_pango_font_description_set_absolute_size, pl_tur);
   s7_define_typed_function(sc, "pango_layout_get_font_description", lg_pango_layout_get_font_description, 1, 0, 0, H_pango_layout_get_font_description, pl_pu);
-  s7_define_typed_function(sc, "gdk_cursor_new_from_name", lg_gdk_cursor_new_from_name, 2, 0, 0, H_gdk_cursor_new_from_name, pl_pus);
-  s7_define_typed_function(sc, "gdk_cursor_get_image", lg_gdk_cursor_get_image, 1, 0, 0, H_gdk_cursor_get_image, pl_pu);
   s7_define_typed_function(sc, "gdk_window_set_urgency_hint", lg_gdk_window_set_urgency_hint, 2, 0, 0, H_gdk_window_set_urgency_hint, pl_tub);
   s7_define_typed_function(sc, "gtk_dialog_get_response_for_widget", lg_gtk_dialog_get_response_for_widget, 2, 0, 0, H_gtk_dialog_get_response_for_widget, pl_iu);
   s7_define_typed_function(sc, "gtk_drag_source_set_icon_name", lg_gtk_drag_source_set_icon_name, 2, 0, 0, H_gtk_drag_source_set_icon_name, pl_tus);
@@ -50496,8 +49968,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_icon_view_set_cursor", lg_gtk_icon_view_set_cursor, 4, 0, 0, H_gtk_icon_view_set_cursor, pl_tuuub);
   s7_define_typed_function(sc, "gtk_icon_view_get_cursor", lg_gtk_icon_view_get_cursor, 1, 2, 0, H_gtk_icon_view_get_cursor, pl_pu);
   s7_define_typed_function(sc, "gtk_icon_view_scroll_to_path", lg_gtk_icon_view_scroll_to_path, 5, 0, 0, H_gtk_icon_view_scroll_to_path, pl_tuubr);
-  s7_define_typed_function(sc, "gtk_icon_view_enable_model_drag_source", lg_gtk_icon_view_enable_model_drag_source, 5, 0, 0, H_gtk_icon_view_enable_model_drag_source, pl_tuguig);
-  s7_define_typed_function(sc, "gtk_icon_view_enable_model_drag_dest", lg_gtk_icon_view_enable_model_drag_dest, 4, 0, 0, H_gtk_icon_view_enable_model_drag_dest, pl_tuuig);
   s7_define_typed_function(sc, "gtk_icon_view_unset_model_drag_source", lg_gtk_icon_view_unset_model_drag_source, 1, 0, 0, H_gtk_icon_view_unset_model_drag_source, pl_tu);
   s7_define_typed_function(sc, "gtk_icon_view_unset_model_drag_dest", lg_gtk_icon_view_unset_model_drag_dest, 1, 0, 0, H_gtk_icon_view_unset_model_drag_dest, pl_tu);
   s7_define_typed_function(sc, "gtk_icon_view_set_reorderable", lg_gtk_icon_view_set_reorderable, 2, 0, 0, H_gtk_icon_view_set_reorderable, pl_tub);
@@ -50529,15 +49999,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "pango_attr_list_ref", lg_pango_attr_list_ref, 1, 0, 0, H_pango_attr_list_ref, pl_pu);
   s7_define_typed_function(sc, "pango_layout_line_ref", lg_pango_layout_line_ref, 1, 0, 0, H_pango_layout_line_ref, pl_pu);
   s7_define_typed_function(sc, "pango_layout_index_to_line_x", lg_pango_layout_index_to_line_x, 3, 2, 0, H_pango_layout_index_to_line_x, pl_puibu);
-  s7_define_typed_function(sc, "gtk_target_list_ref", lg_gtk_target_list_ref, 1, 0, 0, H_gtk_target_list_ref, pl_pu);
   s7_define_typed_function(sc, "gdk_display_supports_shapes", lg_gdk_display_supports_shapes, 1, 0, 0, H_gdk_display_supports_shapes, pl_bu);
   s7_define_typed_function(sc, "gdk_display_supports_input_shapes", lg_gdk_display_supports_input_shapes, 1, 0, 0, H_gdk_display_supports_input_shapes, pl_bu);
-  s7_define_typed_function(sc, "gdk_screen_set_resolution", lg_gdk_screen_set_resolution, 2, 0, 0, H_gdk_screen_set_resolution, pl_tur);
-  s7_define_typed_function(sc, "gdk_screen_get_resolution", lg_gdk_screen_get_resolution, 1, 0, 0, H_gdk_screen_get_resolution, pl_du);
   s7_define_typed_function(sc, "gdk_window_get_type_hint", lg_gdk_window_get_type_hint, 1, 0, 0, H_gdk_window_get_type_hint, pl_gu);
-  s7_define_typed_function(sc, "gtk_clipboard_request_rich_text", lg_gtk_clipboard_request_rich_text, 3, 1, 0, H_gtk_clipboard_request_rich_text, pl_tuut);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_for_rich_text", lg_gtk_clipboard_wait_for_rich_text, 3, 1, 0, H_gtk_clipboard_wait_for_rich_text, pl_pu);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_is_rich_text_available", lg_gtk_clipboard_wait_is_rich_text_available, 2, 0, 0, H_gtk_clipboard_wait_is_rich_text_available, pl_bu);
   s7_define_typed_function(sc, "gtk_drag_dest_set_track_motion", lg_gtk_drag_dest_set_track_motion, 2, 0, 0, H_gtk_drag_dest_set_track_motion, pl_tub);
   s7_define_typed_function(sc, "gtk_drag_dest_get_track_motion", lg_gtk_drag_dest_get_track_motion, 1, 0, 0, H_gtk_drag_dest_get_track_motion, pl_bu);
   s7_define_typed_function(sc, "gtk_notebook_get_tab_reorderable", lg_gtk_notebook_get_tab_reorderable, 2, 0, 0, H_gtk_notebook_get_tab_reorderable, pl_bu);
@@ -50549,19 +50013,8 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_range_set_upper_stepper_sensitivity", lg_gtk_range_set_upper_stepper_sensitivity, 2, 0, 0, H_gtk_range_set_upper_stepper_sensitivity, pl_tug);
   s7_define_typed_function(sc, "gtk_range_get_upper_stepper_sensitivity", lg_gtk_range_get_upper_stepper_sensitivity, 1, 0, 0, H_gtk_range_get_upper_stepper_sensitivity, pl_gu);
   s7_define_typed_function(sc, "gtk_scrolled_window_unset_placement", lg_gtk_scrolled_window_unset_placement, 1, 0, 0, H_gtk_scrolled_window_unset_placement, pl_tu);
-  s7_define_typed_function(sc, "gtk_target_list_add_rich_text_targets", lg_gtk_target_list_add_rich_text_targets, 4, 0, 0, H_gtk_target_list_add_rich_text_targets, pl_tuibu);
-  s7_define_typed_function(sc, "gtk_target_table_new_from_list", lg_gtk_target_table_new_from_list, 1, 1, 0, H_gtk_target_table_new_from_list, pl_pu);
-  s7_define_typed_function(sc, "gtk_target_table_free", lg_gtk_target_table_free, 2, 0, 0, H_gtk_target_table_free, pl_tui);
-  s7_define_typed_function(sc, "gtk_selection_data_targets_include_rich_text", lg_gtk_selection_data_targets_include_rich_text, 2, 0, 0, H_gtk_selection_data_targets_include_rich_text, pl_bu);
-  s7_define_typed_function(sc, "gtk_selection_data_targets_include_uri", lg_gtk_selection_data_targets_include_uri, 1, 0, 0, H_gtk_selection_data_targets_include_uri, pl_bu);
-  s7_define_typed_function(sc, "gtk_targets_include_text", lg_gtk_targets_include_text, 2, 0, 0, H_gtk_targets_include_text, pl_bui);
-  s7_define_typed_function(sc, "gtk_targets_include_rich_text", lg_gtk_targets_include_rich_text, 3, 0, 0, H_gtk_targets_include_rich_text, pl_buiu);
-  s7_define_typed_function(sc, "gtk_targets_include_image", lg_gtk_targets_include_image, 3, 0, 0, H_gtk_targets_include_image, pl_buib);
-  s7_define_typed_function(sc, "gtk_targets_include_uri", lg_gtk_targets_include_uri, 2, 0, 0, H_gtk_targets_include_uri, pl_bui);
   s7_define_typed_function(sc, "gtk_size_group_get_widgets", lg_gtk_size_group_get_widgets, 1, 0, 0, H_gtk_size_group_get_widgets, pl_pu);
   s7_define_typed_function(sc, "gtk_text_buffer_get_has_selection", lg_gtk_text_buffer_get_has_selection, 1, 0, 0, H_gtk_text_buffer_get_has_selection, pl_bu);
-  s7_define_typed_function(sc, "gtk_text_buffer_get_copy_target_list", lg_gtk_text_buffer_get_copy_target_list, 1, 0, 0, H_gtk_text_buffer_get_copy_target_list, pl_pu);
-  s7_define_typed_function(sc, "gtk_text_buffer_get_paste_target_list", lg_gtk_text_buffer_get_paste_target_list, 1, 0, 0, H_gtk_text_buffer_get_paste_target_list, pl_pu);
   s7_define_typed_function(sc, "gtk_tree_view_get_headers_clickable", lg_gtk_tree_view_get_headers_clickable, 1, 0, 0, H_gtk_tree_view_get_headers_clickable, pl_bu);
   s7_define_typed_function(sc, "gtk_tree_view_get_search_entry", lg_gtk_tree_view_get_search_entry, 1, 0, 0, H_gtk_tree_view_get_search_entry, pl_pu);
   s7_define_typed_function(sc, "gtk_tree_view_set_search_entry", lg_gtk_tree_view_set_search_entry, 2, 0, 0, H_gtk_tree_view_set_search_entry, pl_tu);
@@ -50664,25 +50117,12 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_recent_info_has_application", lg_gtk_recent_info_has_application, 2, 0, 0, H_gtk_recent_info_has_application, pl_bus);
   s7_define_typed_function(sc, "gtk_recent_info_get_groups", lg_gtk_recent_info_get_groups, 1, 1, 0, H_gtk_recent_info_get_groups, pl_pu);
   s7_define_typed_function(sc, "gtk_recent_info_has_group", lg_gtk_recent_info_has_group, 2, 0, 0, H_gtk_recent_info_has_group, pl_bus);
-  s7_define_typed_function(sc, "gtk_recent_info_get_icon", lg_gtk_recent_info_get_icon, 2, 0, 0, H_gtk_recent_info_get_icon, pl_pui);
   s7_define_typed_function(sc, "gtk_recent_info_get_short_name", lg_gtk_recent_info_get_short_name, 1, 0, 0, H_gtk_recent_info_get_short_name, pl_su);
   s7_define_typed_function(sc, "gtk_recent_info_get_uri_display", lg_gtk_recent_info_get_uri_display, 1, 0, 0, H_gtk_recent_info_get_uri_display, pl_su);
   s7_define_typed_function(sc, "gtk_recent_info_get_age", lg_gtk_recent_info_get_age, 1, 0, 0, H_gtk_recent_info_get_age, pl_iu);
   s7_define_typed_function(sc, "gtk_recent_info_is_local", lg_gtk_recent_info_is_local, 1, 0, 0, H_gtk_recent_info_is_local, pl_bu);
   s7_define_typed_function(sc, "gtk_recent_info_exists", lg_gtk_recent_info_exists, 1, 0, 0, H_gtk_recent_info_exists, pl_bu);
   s7_define_typed_function(sc, "gtk_recent_info_match", lg_gtk_recent_info_match, 2, 0, 0, H_gtk_recent_info_match, pl_bu);
-  s7_define_typed_function(sc, "gtk_text_buffer_register_serialize_format", lg_gtk_text_buffer_register_serialize_format, 5, 0, 0, H_gtk_text_buffer_register_serialize_format, pl_tust);
-  s7_define_typed_function(sc, "gtk_text_buffer_register_serialize_tagset", lg_gtk_text_buffer_register_serialize_tagset, 2, 0, 0, H_gtk_text_buffer_register_serialize_tagset, pl_tus);
-  s7_define_typed_function(sc, "gtk_text_buffer_register_deserialize_format", lg_gtk_text_buffer_register_deserialize_format, 5, 0, 0, H_gtk_text_buffer_register_deserialize_format, pl_tust);
-  s7_define_typed_function(sc, "gtk_text_buffer_register_deserialize_tagset", lg_gtk_text_buffer_register_deserialize_tagset, 2, 0, 0, H_gtk_text_buffer_register_deserialize_tagset, pl_tus);
-  s7_define_typed_function(sc, "gtk_text_buffer_unregister_serialize_format", lg_gtk_text_buffer_unregister_serialize_format, 2, 0, 0, H_gtk_text_buffer_unregister_serialize_format, pl_tut);
-  s7_define_typed_function(sc, "gtk_text_buffer_unregister_deserialize_format", lg_gtk_text_buffer_unregister_deserialize_format, 2, 0, 0, H_gtk_text_buffer_unregister_deserialize_format, pl_tut);
-  s7_define_typed_function(sc, "gtk_text_buffer_deserialize_set_can_create_tags", lg_gtk_text_buffer_deserialize_set_can_create_tags, 3, 0, 0, H_gtk_text_buffer_deserialize_set_can_create_tags, pl_tutb);
-  s7_define_typed_function(sc, "gtk_text_buffer_deserialize_get_can_create_tags", lg_gtk_text_buffer_deserialize_get_can_create_tags, 2, 0, 0, H_gtk_text_buffer_deserialize_get_can_create_tags, pl_but);
-  s7_define_typed_function(sc, "gtk_text_buffer_get_serialize_formats", lg_gtk_text_buffer_get_serialize_formats, 1, 1, 0, H_gtk_text_buffer_get_serialize_formats, pl_pu);
-  s7_define_typed_function(sc, "gtk_text_buffer_get_deserialize_formats", lg_gtk_text_buffer_get_deserialize_formats, 1, 1, 0, H_gtk_text_buffer_get_deserialize_formats, pl_pu);
-  s7_define_typed_function(sc, "gtk_text_buffer_serialize", lg_gtk_text_buffer_serialize, 5, 1, 0, H_gtk_text_buffer_serialize, pl_puutu);
-  s7_define_typed_function(sc, "gtk_text_buffer_deserialize", lg_gtk_text_buffer_deserialize, 6, 1, 0, H_gtk_text_buffer_deserialize, pl_puutuuiu);
   s7_define_typed_function(sc, "gtk_recent_manager_add_item", lg_gtk_recent_manager_add_item, 2, 0, 0, H_gtk_recent_manager_add_item, pl_bus);
   s7_define_typed_function(sc, "gtk_recent_manager_add_full", lg_gtk_recent_manager_add_full, 3, 0, 0, H_gtk_recent_manager_add_full, pl_busu);
   s7_define_typed_function(sc, "gtk_tree_model_filter_convert_child_iter_to_iter", lg_gtk_tree_model_filter_convert_child_iter_to_iter, 3, 0, 0, H_gtk_tree_model_filter_convert_child_iter_to_iter, pl_bu);
@@ -50785,7 +50225,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_print_settings_set_finishings", lg_gtk_print_settings_set_finishings, 2, 0, 0, H_gtk_print_settings_set_finishings, pl_tus);
   s7_define_typed_function(sc, "gtk_print_settings_get_output_bin", lg_gtk_print_settings_get_output_bin, 1, 0, 0, H_gtk_print_settings_get_output_bin, pl_su);
   s7_define_typed_function(sc, "gtk_print_settings_set_output_bin", lg_gtk_print_settings_set_output_bin, 2, 0, 0, H_gtk_print_settings_set_output_bin, pl_tus);
-  s7_define_typed_function(sc, "gtk_settings_get_for_screen", lg_gtk_settings_get_for_screen, 1, 0, 0, H_gtk_settings_get_for_screen, pl_pu);
   s7_define_typed_function(sc, "pango_cairo_create_layout", lg_pango_cairo_create_layout, 1, 0, 0, H_pango_cairo_create_layout, pl_pu);
   s7_define_typed_function(sc, "pango_cairo_update_layout", lg_pango_cairo_update_layout, 2, 0, 0, H_pango_cairo_update_layout, pl_tu);
   s7_define_typed_function(sc, "pango_cairo_update_context", lg_pango_cairo_update_context, 2, 0, 0, H_pango_cairo_update_context, pl_tu);
@@ -50803,8 +50242,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "pango_cairo_error_underline_path", lg_pango_cairo_error_underline_path, 5, 0, 0, H_pango_cairo_error_underline_path, pl_tur);
   s7_define_typed_function(sc, "gdk_cairo_set_source_pixbuf", lg_gdk_cairo_set_source_pixbuf, 4, 0, 0, H_gdk_cairo_set_source_pixbuf, pl_tuur);
   s7_define_typed_function(sc, "gdk_cairo_rectangle", lg_gdk_cairo_rectangle, 2, 0, 0, H_gdk_cairo_rectangle, pl_tu);
-  s7_define_typed_function(sc, "gdk_event_request_motions", lg_gdk_event_request_motions, 1, 0, 0, H_gdk_event_request_motions, pl_tu);
-  s7_define_typed_function(sc, "gdk_notify_startup_complete_with_id", lg_gdk_notify_startup_complete_with_id, 1, 0, 0, H_gdk_notify_startup_complete_with_id, pl_ts);
   s7_define_typed_function(sc, "gdk_threads_add_idle_full", lg_gdk_threads_add_idle_full, 4, 0, 0, H_gdk_threads_add_idle_full, pl_iit);
   s7_define_typed_function(sc, "gdk_threads_add_idle", lg_gdk_threads_add_idle, 1, 1, 0, H_gdk_threads_add_idle, pl_it);
   s7_define_typed_function(sc, "gdk_threads_add_timeout_full", lg_gdk_threads_add_timeout_full, 5, 0, 0, H_gdk_threads_add_timeout_full, pl_iiit);
@@ -50930,9 +50367,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_entry_set_progress_pulse_step", lg_gtk_entry_set_progress_pulse_step, 2, 0, 0, H_gtk_entry_set_progress_pulse_step, pl_tur);
   s7_define_typed_function(sc, "gtk_entry_get_progress_pulse_step", lg_gtk_entry_get_progress_pulse_step, 1, 0, 0, H_gtk_entry_get_progress_pulse_step, pl_du);
   s7_define_typed_function(sc, "gtk_entry_progress_pulse", lg_gtk_entry_progress_pulse, 1, 0, 0, H_gtk_entry_progress_pulse, pl_tu);
-  s7_define_typed_function(sc, "gtk_entry_set_icon_from_pixbuf", lg_gtk_entry_set_icon_from_pixbuf, 3, 0, 0, H_gtk_entry_set_icon_from_pixbuf, pl_tugu);
-  s7_define_typed_function(sc, "gtk_entry_set_icon_from_icon_name", lg_gtk_entry_set_icon_from_icon_name, 3, 0, 0, H_gtk_entry_set_icon_from_icon_name, pl_tugs);
-  s7_define_typed_function(sc, "gtk_entry_set_icon_from_gicon", lg_gtk_entry_set_icon_from_gicon, 3, 0, 0, H_gtk_entry_set_icon_from_gicon, pl_tugu);
   s7_define_typed_function(sc, "gtk_entry_get_icon_name", lg_gtk_entry_get_icon_name, 2, 0, 0, H_gtk_entry_get_icon_name, pl_sug);
   s7_define_typed_function(sc, "gtk_entry_set_icon_activatable", lg_gtk_entry_set_icon_activatable, 3, 0, 0, H_gtk_entry_set_icon_activatable, pl_tugb);
   s7_define_typed_function(sc, "gtk_entry_get_icon_activatable", lg_gtk_entry_get_icon_activatable, 2, 0, 0, H_gtk_entry_get_icon_activatable, pl_bug);
@@ -50941,13 +50375,10 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_entry_get_icon_at_pos", lg_gtk_entry_get_icon_at_pos, 3, 0, 0, H_gtk_entry_get_icon_at_pos, pl_iui);
   s7_define_typed_function(sc, "gtk_entry_set_icon_tooltip_text", lg_gtk_entry_set_icon_tooltip_text, 3, 0, 0, H_gtk_entry_set_icon_tooltip_text, pl_tugs);
   s7_define_typed_function(sc, "gtk_entry_set_icon_tooltip_markup", lg_gtk_entry_set_icon_tooltip_markup, 3, 0, 0, H_gtk_entry_set_icon_tooltip_markup, pl_tugs);
-  s7_define_typed_function(sc, "gtk_entry_set_icon_drag_source", lg_gtk_entry_set_icon_drag_source, 4, 0, 0, H_gtk_entry_set_icon_drag_source, pl_tugug);
-  s7_define_typed_function(sc, "gtk_entry_get_current_icon_drag_source", lg_gtk_entry_get_current_icon_drag_source, 1, 0, 0, H_gtk_entry_get_current_icon_drag_source, pl_iu);
   s7_define_typed_function(sc, "gtk_menu_item_set_label", lg_gtk_menu_item_set_label, 2, 0, 0, H_gtk_menu_item_set_label, pl_tus);
   s7_define_typed_function(sc, "gtk_menu_item_get_label", lg_gtk_menu_item_get_label, 1, 0, 0, H_gtk_menu_item_get_label, pl_su);
   s7_define_typed_function(sc, "gtk_menu_item_set_use_underline", lg_gtk_menu_item_set_use_underline, 2, 0, 0, H_gtk_menu_item_set_use_underline, pl_tub);
   s7_define_typed_function(sc, "gtk_menu_item_get_use_underline", lg_gtk_menu_item_get_use_underline, 1, 0, 0, H_gtk_menu_item_get_use_underline, pl_bu);
-  s7_define_typed_function(sc, "gtk_selection_data_get_selection", lg_gtk_selection_data_get_selection, 1, 0, 0, H_gtk_selection_data_get_selection, pl_tu);
   s7_define_typed_function(sc, "gtk_entry_get_icon_tooltip_text", lg_gtk_entry_get_icon_tooltip_text, 2, 0, 0, H_gtk_entry_get_icon_tooltip_text, pl_sug);
   s7_define_typed_function(sc, "gtk_entry_get_icon_tooltip_markup", lg_gtk_entry_get_icon_tooltip_markup, 2, 0, 0, H_gtk_entry_get_icon_tooltip_markup, pl_sug);
   s7_define_typed_function(sc, "gtk_scale_add_mark", lg_gtk_scale_add_mark, 4, 0, 0, H_gtk_scale_add_mark, pl_turgs);
@@ -51047,7 +50478,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tool_palette_get_group_position", lg_gtk_tool_palette_get_group_position, 2, 0, 0, H_gtk_tool_palette_get_group_position, pl_iu);
   s7_define_typed_function(sc, "gtk_tool_palette_get_exclusive", lg_gtk_tool_palette_get_exclusive, 2, 0, 0, H_gtk_tool_palette_get_exclusive, pl_bu);
   s7_define_typed_function(sc, "gtk_tool_palette_get_expand", lg_gtk_tool_palette_get_expand, 2, 0, 0, H_gtk_tool_palette_get_expand, pl_bu);
-  s7_define_typed_function(sc, "gtk_tool_palette_unset_icon_size", lg_gtk_tool_palette_unset_icon_size, 1, 0, 0, H_gtk_tool_palette_unset_icon_size, pl_tu);
   s7_define_typed_function(sc, "gtk_tool_palette_set_style", lg_gtk_tool_palette_set_style, 2, 0, 0, H_gtk_tool_palette_set_style, pl_tug);
   s7_define_typed_function(sc, "gtk_tool_palette_unset_style", lg_gtk_tool_palette_unset_style, 1, 0, 0, H_gtk_tool_palette_unset_style, pl_tu);
   s7_define_typed_function(sc, "gtk_tool_palette_get_style", lg_gtk_tool_palette_get_style, 1, 0, 0, H_gtk_tool_palette_get_style, pl_gu);
@@ -51056,8 +50486,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tool_palette_get_drag_item", lg_gtk_tool_palette_get_drag_item, 2, 0, 0, H_gtk_tool_palette_get_drag_item, pl_pu);
   s7_define_typed_function(sc, "gtk_tool_palette_set_drag_source", lg_gtk_tool_palette_set_drag_source, 2, 0, 0, H_gtk_tool_palette_set_drag_source, pl_tug);
   s7_define_typed_function(sc, "gtk_tool_palette_add_drag_dest", lg_gtk_tool_palette_add_drag_dest, 5, 0, 0, H_gtk_tool_palette_add_drag_dest, pl_tuug);
-  s7_define_typed_function(sc, "gtk_tool_palette_get_drag_target_item", lg_gtk_tool_palette_get_drag_target_item, 0, 0, 0, H_gtk_tool_palette_get_drag_target_item, pl_p);
-  s7_define_typed_function(sc, "gtk_tool_palette_get_drag_target_group", lg_gtk_tool_palette_get_drag_target_group, 0, 0, 0, H_gtk_tool_palette_get_drag_target_group, pl_p);
   s7_define_typed_function(sc, "gtk_tool_item_group_new", lg_gtk_tool_item_group_new, 1, 0, 0, H_gtk_tool_item_group_new, pl_ps);
   s7_define_typed_function(sc, "gtk_tool_item_group_set_label", lg_gtk_tool_item_group_set_label, 2, 0, 0, H_gtk_tool_item_group_set_label, pl_tus);
   s7_define_typed_function(sc, "gtk_tool_item_group_set_label_widget", lg_gtk_tool_item_group_set_label_widget, 2, 0, 0, H_gtk_tool_item_group_set_label_widget, pl_tu);
@@ -51093,9 +50521,7 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_window_coords_from_parent", lg_gdk_window_coords_from_parent, 3, 2, 0, H_gdk_window_coords_from_parent, pl_purru);
   s7_define_typed_function(sc, "gtk_accessible_get_widget", lg_gtk_accessible_get_widget, 1, 0, 0, H_gtk_accessible_get_widget, pl_pu);
   s7_define_typed_function(sc, "gtk_widget_send_focus_change", lg_gtk_widget_send_focus_change, 2, 0, 0, H_gtk_widget_send_focus_change, pl_bu);
-  s7_define_typed_function(sc, "gdk_drag_context_set_device", lg_gdk_drag_context_set_device, 2, 0, 0, H_gdk_drag_context_set_device, pl_tu);
   s7_define_typed_function(sc, "gdk_drag_context_get_device", lg_gdk_drag_context_get_device, 1, 0, 0, H_gdk_drag_context_get_device, pl_pu);
-  s7_define_typed_function(sc, "gdk_drag_context_list_targets", lg_gdk_drag_context_list_targets, 1, 0, 0, H_gdk_drag_context_list_targets, pl_pu);
   s7_define_typed_function(sc, "gdk_event_set_device", lg_gdk_event_set_device, 2, 0, 0, H_gdk_event_set_device, pl_tu);
   s7_define_typed_function(sc, "gdk_event_get_device", lg_gdk_event_get_device, 1, 0, 0, H_gdk_event_get_device, pl_pu);
   s7_define_typed_function(sc, "gdk_events_get_distance", lg_gdk_events_get_distance, 2, 1, 0, H_gdk_events_get_distance, pl_pu);
@@ -51142,7 +50568,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_window_move_region", lg_gdk_window_move_region, 4, 0, 0, H_gdk_window_move_region, pl_tuui);
   s7_define_typed_function(sc, "gdk_keymap_get_num_lock_state", lg_gdk_keymap_get_num_lock_state, 1, 0, 0, H_gdk_keymap_get_num_lock_state, pl_bu);
   s7_define_typed_function(sc, "gdk_window_has_native", lg_gdk_window_has_native, 1, 0, 0, H_gdk_window_has_native, pl_bu);
-  s7_define_typed_function(sc, "gdk_cursor_get_cursor_type", lg_gdk_cursor_get_cursor_type, 1, 0, 0, H_gdk_cursor_get_cursor_type, pl_gu);
   s7_define_typed_function(sc, "gdk_display_is_closed", lg_gdk_display_is_closed, 1, 0, 0, H_gdk_display_is_closed, pl_bu);
   s7_define_typed_function(sc, "gdk_window_create_similar_surface", lg_gdk_window_create_similar_surface, 4, 0, 0, H_gdk_window_create_similar_surface, pl_pugi);
   s7_define_typed_function(sc, "gtk_expander_set_label_fill", lg_gtk_expander_set_label_fill, 2, 0, 0, H_gtk_expander_set_label_fill, pl_tub);
@@ -51158,7 +50583,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tree_view_create_row_drag_icon", lg_gtk_tree_view_create_row_drag_icon, 2, 0, 0, H_gtk_tree_view_create_row_drag_icon, pl_pu);
   s7_define_typed_function(sc, "gdk_cairo_get_clip_rectangle", lg_gdk_cairo_get_clip_rectangle, 2, 0, 0, H_gdk_cairo_get_clip_rectangle, pl_bu);
   s7_define_typed_function(sc, "gdk_cairo_region_create_from_surface", lg_gdk_cairo_region_create_from_surface, 1, 0, 0, H_gdk_cairo_region_create_from_surface, pl_pu);
-  s7_define_typed_function(sc, "gdk_window_get_screen", lg_gdk_window_get_screen, 1, 0, 0, H_gdk_window_get_screen, pl_pu);
   s7_define_typed_function(sc, "gdk_window_get_display", lg_gdk_window_get_display, 1, 0, 0, H_gdk_window_get_display, pl_pu);
   s7_define_typed_function(sc, "gdk_window_get_width", lg_gdk_window_get_width, 1, 0, 0, H_gdk_window_get_width, pl_iu);
   s7_define_typed_function(sc, "gdk_window_get_height", lg_gdk_window_get_height, 1, 0, 0, H_gdk_window_get_height, pl_iu);
@@ -51184,14 +50608,10 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_widget_set_margin_bottom", lg_gtk_widget_set_margin_bottom, 2, 0, 0, H_gtk_widget_set_margin_bottom, pl_tui);
   s7_define_typed_function(sc, "gtk_widget_shape_combine_region", lg_gtk_widget_shape_combine_region, 2, 0, 0, H_gtk_widget_shape_combine_region, pl_tu);
   s7_define_typed_function(sc, "gtk_widget_input_shape_combine_region", lg_gtk_widget_input_shape_combine_region, 2, 0, 0, H_gtk_widget_input_shape_combine_region, pl_tu);
-  s7_define_typed_function(sc, "gtk_cairo_transform_to_window", lg_gtk_cairo_transform_to_window, 3, 0, 0, H_gtk_cairo_transform_to_window, pl_tu);
   s7_define_typed_function(sc, "gtk_combo_box_new_with_entry", lg_gtk_combo_box_new_with_entry, 0, 0, 0, H_gtk_combo_box_new_with_entry, pl_p);
   s7_define_typed_function(sc, "gtk_combo_box_get_has_entry", lg_gtk_combo_box_get_has_entry, 1, 0, 0, H_gtk_combo_box_get_has_entry, pl_bu);
   s7_define_typed_function(sc, "gtk_combo_box_set_entry_text_column", lg_gtk_combo_box_set_entry_text_column, 2, 0, 0, H_gtk_combo_box_set_entry_text_column, pl_tui);
   s7_define_typed_function(sc, "gtk_combo_box_get_entry_text_column", lg_gtk_combo_box_get_entry_text_column, 1, 0, 0, H_gtk_combo_box_get_entry_text_column, pl_iu);
-  s7_define_typed_function(sc, "gtk_target_entry_new", lg_gtk_target_entry_new, 3, 0, 0, H_gtk_target_entry_new, pl_psi);
-  s7_define_typed_function(sc, "gtk_target_entry_copy", lg_gtk_target_entry_copy, 1, 0, 0, H_gtk_target_entry_copy, pl_pu);
-  s7_define_typed_function(sc, "gtk_target_entry_free", lg_gtk_target_entry_free, 1, 0, 0, H_gtk_target_entry_free, pl_tu);
   s7_define_typed_function(sc, "gtk_widget_get_hexpand", lg_gtk_widget_get_hexpand, 1, 0, 0, H_gtk_widget_get_hexpand, pl_bu);
   s7_define_typed_function(sc, "gtk_widget_set_hexpand", lg_gtk_widget_set_hexpand, 2, 0, 0, H_gtk_widget_set_hexpand, pl_tub);
   s7_define_typed_function(sc, "gtk_widget_get_hexpand_set", lg_gtk_widget_get_hexpand_set, 1, 0, 0, H_gtk_widget_get_hexpand_set, pl_bu);
@@ -51259,13 +50679,11 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_tree_view_set_rubber_banding", lg_gtk_tree_view_set_rubber_banding, 2, 0, 0, H_gtk_tree_view_set_rubber_banding, pl_tub);
   s7_define_typed_function(sc, "gtk_tree_view_get_rubber_banding", lg_gtk_tree_view_get_rubber_banding, 1, 0, 0, H_gtk_tree_view_get_rubber_banding, pl_bu);
   s7_define_typed_function(sc, "gtk_tooltip_set_markup", lg_gtk_tooltip_set_markup, 2, 0, 0, H_gtk_tooltip_set_markup, pl_tus);
-  s7_define_typed_function(sc, "gtk_tooltip_set_icon", lg_gtk_tooltip_set_icon, 2, 0, 0, H_gtk_tooltip_set_icon, pl_tu);
   s7_define_typed_function(sc, "gtk_tooltip_set_custom", lg_gtk_tooltip_set_custom, 2, 0, 0, H_gtk_tooltip_set_custom, pl_tu);
   s7_define_typed_function(sc, "gtk_tooltip_trigger_tooltip_query", lg_gtk_tooltip_trigger_tooltip_query, 1, 0, 0, H_gtk_tooltip_trigger_tooltip_query, pl_tu);
   s7_define_typed_function(sc, "gtk_tree_view_column_new_with_area", lg_gtk_tree_view_column_new_with_area, 1, 0, 0, H_gtk_tree_view_column_new_with_area, pl_pu);
   s7_define_typed_function(sc, "gtk_tree_view_column_get_button", lg_gtk_tree_view_column_get_button, 1, 0, 0, H_gtk_tree_view_column_get_button, pl_pu);
   s7_define_typed_function(sc, "gtk_tree_view_column_focus_cell", lg_gtk_tree_view_column_focus_cell, 2, 0, 0, H_gtk_tree_view_column_focus_cell, pl_tu);
-  s7_define_typed_function(sc, "gtk_clipboard_wait_is_uris_available", lg_gtk_clipboard_wait_is_uris_available, 1, 0, 0, H_gtk_clipboard_wait_is_uris_available, pl_bu);
   s7_define_typed_function(sc, "gtk_toolbar_set_drop_highlight_item", lg_gtk_toolbar_set_drop_highlight_item, 3, 0, 0, H_gtk_toolbar_set_drop_highlight_item, pl_tuui);
   s7_define_typed_function(sc, "gtk_tool_item_toolbar_reconfigured", lg_gtk_tool_item_toolbar_reconfigured, 1, 0, 0, H_gtk_tool_item_toolbar_reconfigured, pl_tu);
   s7_define_typed_function(sc, "gtk_orientable_set_orientation", lg_gtk_orientable_set_orientation, 2, 0, 0, H_gtk_orientable_set_orientation, pl_tug);
@@ -51277,11 +50695,7 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_get_interface_age", lg_gtk_get_interface_age, 0, 0, 0, H_gtk_get_interface_age, pl_i);
   s7_define_typed_function(sc, "gtk_progress_bar_set_show_text", lg_gtk_progress_bar_set_show_text, 2, 0, 0, H_gtk_progress_bar_set_show_text, pl_tub);
   s7_define_typed_function(sc, "gtk_progress_bar_get_show_text", lg_gtk_progress_bar_get_show_text, 1, 0, 0, H_gtk_progress_bar_get_show_text, pl_bu);
-  s7_define_typed_function(sc, "gtk_invisible_new_for_screen", lg_gtk_invisible_new_for_screen, 1, 0, 0, H_gtk_invisible_new_for_screen, pl_pu);
-  s7_define_typed_function(sc, "gtk_invisible_set_screen", lg_gtk_invisible_set_screen, 2, 0, 0, H_gtk_invisible_set_screen, pl_tu);
-  s7_define_typed_function(sc, "gtk_invisible_get_screen", lg_gtk_invisible_get_screen, 1, 0, 0, H_gtk_invisible_get_screen, pl_pu);
   s7_define_typed_function(sc, "gtk_entry_get_icon_storage_type", lg_gtk_entry_get_icon_storage_type, 2, 0, 0, H_gtk_entry_get_icon_storage_type, pl_gug);
-  s7_define_typed_function(sc, "gtk_entry_get_icon_pixbuf", lg_gtk_entry_get_icon_pixbuf, 2, 0, 0, H_gtk_entry_get_icon_pixbuf, pl_pug);
   s7_define_typed_function(sc, "gtk_entry_get_icon_gicon", lg_gtk_entry_get_icon_gicon, 2, 0, 0, H_gtk_entry_get_icon_gicon, pl_pug);
   s7_define_typed_function(sc, "gtk_container_set_focus_chain", lg_gtk_container_set_focus_chain, 2, 0, 0, H_gtk_container_set_focus_chain, pl_tu);
   s7_define_typed_function(sc, "gtk_container_get_focus_chain", lg_gtk_container_get_focus_chain, 1, 1, 0, H_gtk_container_get_focus_chain, pl_pu);
@@ -51295,8 +50709,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_window_get_skip_taskbar_hint", lg_gtk_window_get_skip_taskbar_hint, 1, 0, 0, H_gtk_window_get_skip_taskbar_hint, pl_bu);
   s7_define_typed_function(sc, "gtk_window_set_skip_pager_hint", lg_gtk_window_set_skip_pager_hint, 2, 0, 0, H_gtk_window_set_skip_pager_hint, pl_tub);
   s7_define_typed_function(sc, "gtk_window_get_skip_pager_hint", lg_gtk_window_get_skip_pager_hint, 1, 0, 0, H_gtk_window_get_skip_pager_hint, pl_bu);
-  s7_define_typed_function(sc, "gtk_window_set_screen", lg_gtk_window_set_screen, 2, 0, 0, H_gtk_window_set_screen, pl_tu);
-  s7_define_typed_function(sc, "gtk_window_get_screen", lg_gtk_window_get_screen, 1, 0, 0, H_gtk_window_get_screen, pl_pu);
   s7_define_typed_function(sc, "gtk_window_set_icon_from_file", lg_gtk_window_set_icon_from_file, 2, 1, 0, H_gtk_window_set_icon_from_file, pl_pusu);
   s7_define_typed_function(sc, "gtk_window_set_default_icon_from_file", lg_gtk_window_set_default_icon_from_file, 1, 1, 0, H_gtk_window_set_default_icon_from_file, pl_psu);
   s7_define_typed_function(sc, "gtk_window_fullscreen", lg_gtk_window_fullscreen, 1, 0, 0, H_gtk_window_fullscreen, pl_tu);
@@ -51310,7 +50722,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_window_group_get_current_device_grab", lg_gtk_window_group_get_current_device_grab, 2, 0, 0, H_gtk_window_group_get_current_device_grab, pl_pu);
   s7_define_typed_function(sc, "gtk_window_group_get_current_grab", lg_gtk_window_group_get_current_grab, 1, 0, 0, H_gtk_window_group_get_current_grab, pl_pu);
   s7_define_typed_function(sc, "gtk_selection_data_get_data", lg_gtk_selection_data_get_data, 1, 0, 0, H_gtk_selection_data_get_data, pl_su);
-  s7_define_typed_function(sc, "gtk_selection_owner_set_for_display", lg_gtk_selection_owner_set_for_display, 4, 0, 0, H_gtk_selection_owner_set_for_display, pl_buuti);
   s7_define_typed_function(sc, "gtk_tool_shell_get_text_orientation", lg_gtk_tool_shell_get_text_orientation, 1, 0, 0, H_gtk_tool_shell_get_text_orientation, pl_gu);
   s7_define_typed_function(sc, "gtk_tool_shell_get_text_alignment", lg_gtk_tool_shell_get_text_alignment, 1, 0, 0, H_gtk_tool_shell_get_text_alignment, pl_du);
   s7_define_typed_function(sc, "gtk_tool_shell_get_ellipsize_mode", lg_gtk_tool_shell_get_ellipsize_mode, 1, 0, 0, H_gtk_tool_shell_get_ellipsize_mode, pl_gu);
@@ -51326,7 +50737,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_icon_view_get_item_orientation", lg_gtk_icon_view_get_item_orientation, 1, 0, 0, H_gtk_icon_view_get_item_orientation, pl_gu);
   s7_define_typed_function(sc, "gtk_text_view_im_context_filter_keypress", lg_gtk_text_view_im_context_filter_keypress, 2, 0, 0, H_gtk_text_view_im_context_filter_keypress, pl_bu);
   s7_define_typed_function(sc, "gtk_text_view_reset_im_context", lg_gtk_text_view_reset_im_context, 1, 0, 0, H_gtk_text_view_reset_im_context, pl_tu);
-  s7_define_typed_function(sc, "gdk_device_get_position", lg_gdk_device_get_position, 2, 2, 0, H_gdk_device_get_position, pl_pu);
   s7_define_typed_function(sc, "gdk_device_get_window_at_position", lg_gdk_device_get_window_at_position, 1, 2, 0, H_gdk_device_get_window_at_position, pl_pu);
   s7_define_typed_function(sc, "gtk_cell_view_get_draw_sensitive", lg_gtk_cell_view_get_draw_sensitive, 1, 0, 0, H_gtk_cell_view_get_draw_sensitive, pl_bu);
   s7_define_typed_function(sc, "gtk_cell_view_set_draw_sensitive", lg_gtk_cell_view_set_draw_sensitive, 2, 0, 0, H_gtk_cell_view_set_draw_sensitive, pl_tub);
@@ -51340,11 +50750,7 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_selection_data_get_data_with_length", lg_gtk_selection_data_get_data_with_length, 1, 1, 0, H_gtk_selection_data_get_data_with_length, pl_pu);
   s7_define_typed_function(sc, "gtk_tree_model_iter_previous", lg_gtk_tree_model_iter_previous, 2, 0, 0, H_gtk_tree_model_iter_previous, pl_bu);
   s7_define_typed_function(sc, "gtk_tree_view_is_blank_at_pos", lg_gtk_tree_view_is_blank_at_pos, 3, 4, 0, H_gtk_tree_view_is_blank_at_pos, pl_puiiu);
-  s7_define_typed_function(sc, "gtk_widget_set_device_enabled", lg_gtk_widget_set_device_enabled, 3, 0, 0, H_gtk_widget_set_device_enabled, pl_tuub);
-  s7_define_typed_function(sc, "gtk_widget_get_device_enabled", lg_gtk_widget_get_device_enabled, 2, 0, 0, H_gtk_widget_get_device_enabled, pl_bu);
   s7_define_typed_function(sc, "gtk_window_set_has_user_ref_count", lg_gtk_window_set_has_user_ref_count, 2, 0, 0, H_gtk_window_set_has_user_ref_count, pl_tub);
-  s7_define_typed_function(sc, "gdk_selection_send_notify", lg_gdk_selection_send_notify, 5, 0, 0, H_gdk_selection_send_notify, pl_tuttti);
-  s7_define_typed_function(sc, "gdk_selection_send_notify_for_display", lg_gdk_selection_send_notify_for_display, 6, 0, 0, H_gdk_selection_send_notify_for_display, pl_tuuttti);
   s7_define_typed_function(sc, "gdk_rgba_copy", lg_gdk_rgba_copy, 1, 0, 0, H_gdk_rgba_copy, pl_pu);
   s7_define_typed_function(sc, "gdk_rgba_free", lg_gdk_rgba_free, 1, 0, 0, H_gdk_rgba_free, pl_tu);
   s7_define_typed_function(sc, "gdk_rgba_parse", lg_gdk_rgba_parse, 2, 0, 0, H_gdk_rgba_parse, pl_bus);
@@ -51488,7 +50894,6 @@ static void define_functions(s7_scheme *sc)
 #endif
 
 #if GTK_CHECK_VERSION(3, 10, 0)
-  s7_define_typed_function(sc, "gdk_set_allowed_backends", lg_gdk_set_allowed_backends, 1, 0, 0, H_gdk_set_allowed_backends, pl_ts);
   s7_define_typed_function(sc, "gtk_box_set_baseline_position", lg_gtk_box_set_baseline_position, 2, 0, 0, H_gtk_box_set_baseline_position, pl_tug);
   s7_define_typed_function(sc, "gtk_box_get_baseline_position", lg_gtk_box_get_baseline_position, 1, 0, 0, H_gtk_box_get_baseline_position, pl_gu);
   s7_define_typed_function(sc, "gtk_grid_remove_row", lg_gtk_grid_remove_row, 2, 0, 0, H_gtk_grid_remove_row, pl_tui);
@@ -51570,12 +50975,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_search_bar_connect_entry", lg_gtk_search_bar_connect_entry, 2, 0, 0, H_gtk_search_bar_connect_entry, pl_tu);
   s7_define_typed_function(sc, "gtk_search_bar_get_search_mode", lg_gtk_search_bar_get_search_mode, 1, 0, 0, H_gtk_search_bar_get_search_mode, pl_bu);
   s7_define_typed_function(sc, "gtk_search_bar_set_search_mode", lg_gtk_search_bar_set_search_mode, 2, 0, 0, H_gtk_search_bar_set_search_mode, pl_tub);
-  s7_define_typed_function(sc, "gtk_search_bar_get_show_close_button", lg_gtk_search_bar_get_show_close_button, 1, 0, 0, H_gtk_search_bar_get_show_close_button, pl_bu);
-  s7_define_typed_function(sc, "gtk_search_bar_set_show_close_button", lg_gtk_search_bar_set_show_close_button, 2, 0, 0, H_gtk_search_bar_set_show_close_button, pl_tub);
   s7_define_typed_function(sc, "gtk_search_bar_handle_event", lg_gtk_search_bar_handle_event, 2, 0, 0, H_gtk_search_bar_handle_event, pl_bu);
   s7_define_typed_function(sc, "gtk_file_chooser_get_current_name", lg_gtk_file_chooser_get_current_name, 1, 0, 0, H_gtk_file_chooser_get_current_name, pl_su);
   s7_define_typed_function(sc, "gdk_cairo_surface_create_from_pixbuf", lg_gdk_cairo_surface_create_from_pixbuf, 3, 0, 0, H_gdk_cairo_surface_create_from_pixbuf, pl_puiu);
-  s7_define_typed_function(sc, "gdk_device_get_position_double", lg_gdk_device_get_position_double, 1, 3, 0, H_gdk_device_get_position_double, pl_pu);
   s7_define_typed_function(sc, "gdk_device_get_window_at_position_double", lg_gdk_device_get_window_at_position_double, 1, 2, 0, H_gdk_device_get_window_at_position_double, pl_pu);
   s7_define_typed_function(sc, "gdk_window_get_scale_factor", lg_gdk_window_get_scale_factor, 1, 0, 0, H_gdk_window_get_scale_factor, pl_iu);
   s7_define_typed_function(sc, "gdk_window_get_device_position_double", lg_gdk_window_get_device_position_double, 2, 3, 0, H_gdk_window_get_device_position_double, pl_pu);
@@ -51594,13 +50996,9 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_info_bar_set_show_close_button", lg_gtk_info_bar_set_show_close_button, 2, 0, 0, H_gtk_info_bar_set_show_close_button, pl_tub);
   s7_define_typed_function(sc, "gtk_info_bar_get_show_close_button", lg_gtk_info_bar_get_show_close_button, 1, 0, 0, H_gtk_info_bar_get_show_close_button, pl_bu);
   s7_define_typed_function(sc, "gtk_tree_model_rows_reordered_with_length", lg_gtk_tree_model_rows_reordered_with_length, 5, 0, 0, H_gtk_tree_model_rows_reordered_with_length, pl_tuuuui);
-  s7_define_typed_function(sc, "gdk_cursor_new_from_surface", lg_gdk_cursor_new_from_surface, 4, 0, 0, H_gdk_cursor_new_from_surface, pl_puur);
-  s7_define_typed_function(sc, "gdk_cursor_get_surface", lg_gdk_cursor_get_surface, 1, 2, 0, H_gdk_cursor_get_surface, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_event_type", lg_gdk_event_get_event_type, 1, 0, 0, H_gdk_event_get_event_type, pl_gu);
   s7_define_typed_function(sc, "gtk_entry_set_tabs", lg_gtk_entry_set_tabs, 2, 0, 0, H_gtk_entry_set_tabs, pl_tu);
   s7_define_typed_function(sc, "gtk_entry_get_tabs", lg_gtk_entry_get_tabs, 1, 0, 0, H_gtk_entry_get_tabs, pl_pu);
-  s7_define_typed_function(sc, "gtk_header_bar_get_show_close_button", lg_gtk_header_bar_get_show_close_button, 1, 0, 0, H_gtk_header_bar_get_show_close_button, pl_bu);
-  s7_define_typed_function(sc, "gtk_header_bar_set_show_close_button", lg_gtk_header_bar_set_show_close_button, 2, 0, 0, H_gtk_header_bar_set_show_close_button, pl_tub);
   s7_define_typed_function(sc, "gtk_list_box_prepend", lg_gtk_list_box_prepend, 2, 0, 0, H_gtk_list_box_prepend, pl_tu);
   s7_define_typed_function(sc, "gtk_list_box_insert", lg_gtk_list_box_insert, 3, 0, 0, H_gtk_list_box_insert, pl_tuui);
   s7_define_typed_function(sc, "gdk_window_set_opaque_region", lg_gdk_window_set_opaque_region, 2, 0, 0, H_gdk_window_set_opaque_region, pl_tu);
@@ -51640,8 +51038,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_flow_box_set_vadjustment", lg_gtk_flow_box_set_vadjustment, 2, 0, 0, H_gtk_flow_box_set_vadjustment, pl_tu);
   s7_define_typed_function(sc, "gtk_flow_box_invalidate_filter", lg_gtk_flow_box_invalidate_filter, 1, 0, 0, H_gtk_flow_box_invalidate_filter, pl_tu);
   s7_define_typed_function(sc, "gtk_flow_box_invalidate_sort", lg_gtk_flow_box_invalidate_sort, 1, 0, 0, H_gtk_flow_box_invalidate_sort, pl_tu);
-  s7_define_typed_function(sc, "gdk_window_set_event_compression", lg_gdk_window_set_event_compression, 2, 0, 0, H_gdk_window_set_event_compression, pl_tub);
-  s7_define_typed_function(sc, "gdk_window_get_event_compression", lg_gdk_window_get_event_compression, 1, 0, 0, H_gdk_window_get_event_compression, pl_bu);
   s7_define_typed_function(sc, "gtk_places_sidebar_set_local_only", lg_gtk_places_sidebar_set_local_only, 2, 0, 0, H_gtk_places_sidebar_set_local_only, pl_tub);
   s7_define_typed_function(sc, "gtk_places_sidebar_get_local_only", lg_gtk_places_sidebar_get_local_only, 1, 0, 0, H_gtk_places_sidebar_get_local_only, pl_bu);
   s7_define_typed_function(sc, "gtk_stack_get_transition_running", lg_gtk_stack_get_transition_running, 1, 0, 0, H_gtk_stack_get_transition_running, pl_bu);
@@ -51744,7 +51140,6 @@ static void define_functions(s7_scheme *sc)
 
 #if GTK_CHECK_VERSION(3, 16, 0)
   s7_define_typed_function(sc, "gdk_cairo_draw_from_gl", lg_gdk_cairo_draw_from_gl, 0, 0, 1, H_gdk_cairo_draw_from_gl, pl_tuui);
-  s7_define_typed_function(sc, "gdk_window_mark_paint_from_clip", lg_gdk_window_mark_paint_from_clip, 2, 0, 0, H_gdk_window_mark_paint_from_clip, pl_tu);
   s7_define_typed_function(sc, "gtk_label_set_xalign", lg_gtk_label_set_xalign, 2, 0, 0, H_gtk_label_set_xalign, pl_tur);
   s7_define_typed_function(sc, "gtk_label_get_xalign", lg_gtk_label_get_xalign, 1, 0, 0, H_gtk_label_get_xalign, pl_du);
   s7_define_typed_function(sc, "gtk_label_set_yalign", lg_gtk_label_set_yalign, 2, 0, 0, H_gtk_label_set_yalign, pl_tur);
@@ -51776,7 +51171,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_render_frame_gap", lg_gtk_render_frame_gap, 0, 0, 1, H_gtk_render_frame_gap, pl_tuurrrrgr);
   s7_define_typed_function(sc, "gtk_render_handle", lg_gtk_render_handle, 6, 0, 0, H_gtk_render_handle, pl_tuur);
   s7_define_typed_function(sc, "gtk_render_activity", lg_gtk_render_activity, 6, 0, 0, H_gtk_render_activity, pl_tuur);
-  s7_define_typed_function(sc, "gtk_render_icon", lg_gtk_render_icon, 5, 0, 0, H_gtk_render_icon, pl_tuuur);
   s7_define_typed_function(sc, "gtk_render_icon_surface", lg_gtk_render_icon_surface, 5, 0, 0, H_gtk_render_icon_surface, pl_tuuur);
   s7_define_typed_function(sc, "gdk_gl_context_get_window", lg_gdk_gl_context_get_window, 1, 0, 0, H_gdk_gl_context_get_window, pl_pu);
   s7_define_typed_function(sc, "gdk_gl_context_make_current", lg_gdk_gl_context_make_current, 1, 0, 0, H_gdk_gl_context_make_current, pl_tu);
@@ -51809,7 +51203,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_gl_context_set_forward_compatible", lg_gdk_gl_context_set_forward_compatible, 2, 0, 0, H_gdk_gl_context_set_forward_compatible, pl_tub);
   s7_define_typed_function(sc, "gdk_gl_context_get_forward_compatible", lg_gdk_gl_context_get_forward_compatible, 1, 0, 0, H_gdk_gl_context_get_forward_compatible, pl_bu);
   s7_define_typed_function(sc, "gdk_gl_context_realize", lg_gdk_gl_context_realize, 1, 1, 0, H_gdk_gl_context_realize, pl_pu);
-  s7_define_typed_function(sc, "gtk_clipboard_get_default", lg_gtk_clipboard_get_default, 1, 0, 0, H_gtk_clipboard_get_default, pl_pu);
   s7_define_typed_function(sc, "gtk_drag_cancel", lg_gtk_drag_cancel, 1, 0, 0, H_gtk_drag_cancel, pl_tu);
   s7_define_typed_function(sc, "gtk_search_entry_handle_event", lg_gtk_search_entry_handle_event, 2, 0, 0, H_gtk_search_entry_handle_event, pl_bu);
   s7_define_typed_function(sc, "gdk_gl_context_get_version", lg_gdk_gl_context_get_version, 1, 2, 0, H_gdk_gl_context_get_version, pl_pu);
@@ -51846,8 +51239,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gtk_widget_get_font_options", lg_gtk_widget_get_font_options, 1, 0, 0, H_gtk_widget_get_font_options, pl_pu);
   s7_define_typed_function(sc, "gtk_widget_set_font_map", lg_gtk_widget_set_font_map, 2, 0, 0, H_gtk_widget_set_font_map, pl_tu);
   s7_define_typed_function(sc, "gtk_widget_get_font_map", lg_gtk_widget_get_font_map, 1, 0, 0, H_gtk_widget_get_font_map, pl_pu);
-  s7_define_typed_function(sc, "gdk_window_fullscreen_on_monitor", lg_gdk_window_fullscreen_on_monitor, 2, 0, 0, H_gdk_window_fullscreen_on_monitor, pl_tui);
-  s7_define_typed_function(sc, "gtk_window_fullscreen_on_monitor", lg_gtk_window_fullscreen_on_monitor, 3, 0, 0, H_gtk_window_fullscreen_on_monitor, pl_tuui);
   s7_define_typed_function(sc, "gtk_text_view_set_top_margin", lg_gtk_text_view_set_top_margin, 2, 0, 0, H_gtk_text_view_set_top_margin, pl_tui);
   s7_define_typed_function(sc, "gtk_text_view_get_top_margin", lg_gtk_text_view_get_top_margin, 1, 0, 0, H_gtk_text_view_get_top_margin, pl_iu);
   s7_define_typed_function(sc, "gtk_text_view_set_bottom_margin", lg_gtk_text_view_set_bottom_margin, 2, 0, 0, H_gtk_text_view_set_bottom_margin, pl_tui);
@@ -51872,7 +51263,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_device_get_seat", lg_gdk_device_get_seat, 1, 0, 0, H_gdk_device_get_seat, pl_pu);
   s7_define_typed_function(sc, "gdk_display_get_default_seat", lg_gdk_display_get_default_seat, 1, 0, 0, H_gdk_display_get_default_seat, pl_pu);
   s7_define_typed_function(sc, "gdk_display_list_seats", lg_gdk_display_list_seats, 1, 0, 0, H_gdk_display_list_seats, pl_pu);
-  s7_define_typed_function(sc, "gdk_drag_begin_from_point", lg_gdk_drag_begin_from_point, 5, 0, 0, H_gdk_drag_begin_from_point, pl_puuui);
   s7_define_typed_function(sc, "gdk_drag_drop_done", lg_gdk_drag_drop_done, 2, 0, 0, H_gdk_drag_drop_done, pl_tub);
   s7_define_typed_function(sc, "gdk_drag_context_set_hotspot", lg_gdk_drag_context_set_hotspot, 3, 0, 0, H_gdk_drag_context_set_hotspot, pl_tui);
   s7_define_typed_function(sc, "gdk_seat_grab", lg_gdk_seat_grab, 0, 0, 1, H_gdk_seat_grab, pl_guugbuut);
@@ -51882,7 +51272,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_seat_get_slaves", lg_gdk_seat_get_slaves, 2, 0, 0, H_gdk_seat_get_slaves, pl_pug);
   s7_define_typed_function(sc, "gdk_seat_get_pointer", lg_gdk_seat_get_pointer, 1, 0, 0, H_gdk_seat_get_pointer, pl_pu);
   s7_define_typed_function(sc, "gdk_seat_get_keyboard", lg_gdk_seat_get_keyboard, 1, 0, 0, H_gdk_seat_get_keyboard, pl_pu);
-  s7_define_typed_function(sc, "gdk_drag_context_manage_dnd", lg_gdk_drag_context_manage_dnd, 3, 0, 0, H_gdk_drag_context_manage_dnd, pl_buug);
   s7_define_typed_function(sc, "gdk_event_is_scroll_stop_event", lg_gdk_event_is_scroll_stop_event, 1, 0, 0, H_gdk_event_is_scroll_stop_event, pl_bu);
   s7_define_typed_function(sc, "gtk_text_view_reset_cursor_blink", lg_gtk_text_view_reset_cursor_blink, 1, 0, 0, H_gtk_text_view_reset_cursor_blink, pl_tu);
 #endif
@@ -51894,8 +51283,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_event_get_scancode", lg_gdk_event_get_scancode, 1, 0, 0, H_gdk_event_get_scancode, pl_iu);
   s7_define_typed_function(sc, "gdk_gl_context_set_use_es", lg_gdk_gl_context_set_use_es, 2, 0, 0, H_gdk_gl_context_set_use_es, pl_tui);
   s7_define_typed_function(sc, "gdk_gl_context_get_use_es", lg_gdk_gl_context_get_use_es, 1, 0, 0, H_gdk_gl_context_get_use_es, pl_bu);
-  s7_define_typed_function(sc, "gdk_pango_context_get_for_display", lg_gdk_pango_context_get_for_display, 1, 0, 0, H_gdk_pango_context_get_for_display, pl_pu);
-  s7_define_typed_function(sc, "gtk_clipboard_get_selection", lg_gtk_clipboard_get_selection, 1, 0, 0, H_gtk_clipboard_get_selection, pl_tu);
   s7_define_typed_function(sc, "gtk_gl_area_set_use_es", lg_gtk_gl_area_set_use_es, 2, 0, 0, H_gtk_gl_area_set_use_es, pl_tub);
   s7_define_typed_function(sc, "gtk_gl_area_get_use_es", lg_gtk_gl_area_get_use_es, 1, 0, 0, H_gtk_gl_area_get_use_es, pl_bu);
   s7_define_typed_function(sc, "gdk_device_tool_get_serial", lg_gdk_device_tool_get_serial, 1, 0, 0, H_gdk_device_tool_get_serial, pl_iu);
@@ -52038,21 +51425,224 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "gdk_event_get_touchpad_scale", lg_gdk_event_get_touchpad_scale, 1, 1, 0, H_gdk_event_get_touchpad_scale, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_touch_emulating_pointer", lg_gdk_event_get_touch_emulating_pointer, 1, 1, 0, H_gdk_event_get_touch_emulating_pointer, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_grab_window", lg_gdk_event_get_grab_window, 1, 1, 0, H_gdk_event_get_grab_window, pl_pu);
-  s7_define_typed_function(sc, "gdk_event_get_window_state", lg_gdk_event_get_window_state, 1, 2, 0, H_gdk_event_get_window_state, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_focus_in", lg_gdk_event_get_focus_in, 1, 1, 0, H_gdk_event_get_focus_in, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_pad_group_mode", lg_gdk_event_get_pad_group_mode, 1, 2, 0, H_gdk_event_get_pad_group_mode, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_pad_button", lg_gdk_event_get_pad_button, 1, 1, 0, H_gdk_event_get_pad_button, pl_pu);
   s7_define_typed_function(sc, "gdk_event_get_pad_axis_value", lg_gdk_event_get_pad_axis_value, 1, 2, 0, H_gdk_event_get_pad_axis_value, pl_pu);
-  s7_define_typed_function(sc, "gdk_event_get_property", lg_gdk_event_get_property, 1, 2, 0, H_gdk_event_get_property, pl_pu);
-  s7_define_typed_function(sc, "gdk_event_get_selection", lg_gdk_event_get_selection, 1, 1, 0, H_gdk_event_get_selection, pl_pu);
-  s7_define_typed_function(sc, "gdk_event_get_selection_property", lg_gdk_event_get_selection_property, 1, 3, 0, H_gdk_event_get_selection_property, pl_pu);
-  s7_define_typed_function(sc, "gdk_event_set_selection", lg_gdk_event_set_selection, 4, 0, 0, H_gdk_event_set_selection, pl_tuuti);
   s7_define_typed_function(sc, "gdk_event_get_axes", lg_gdk_event_get_axes, 1, 2, 0, H_gdk_event_get_axes, pl_pu);
   s7_define_typed_function(sc, "gtk_snapshot_push_blur", lg_gtk_snapshot_push_blur, 3, 0, 0, H_gtk_snapshot_push_blur, pl_turs);
   s7_define_typed_function(sc, "gtk_emoji_chooser_new", lg_gtk_emoji_chooser_new, 0, 0, 0, H_gtk_emoji_chooser_new, pl_p);
   s7_define_typed_function(sc, "gtk_event_controller_scroll_new", lg_gtk_event_controller_scroll_new, 2, 0, 0, H_gtk_event_controller_scroll_new, pl_pug);
   s7_define_typed_function(sc, "gtk_event_controller_scroll_set_flags", lg_gtk_event_controller_scroll_set_flags, 2, 0, 0, H_gtk_event_controller_scroll_set_flags, pl_tug);
   s7_define_typed_function(sc, "gtk_event_controller_scroll_get_flags", lg_gtk_event_controller_scroll_get_flags, 1, 0, 0, H_gtk_event_controller_scroll_get_flags, pl_gu);
+  s7_define_typed_function(sc, "gdk_app_launch_context_set_desktop", lg_gdk_app_launch_context_set_desktop, 2, 0, 0, H_gdk_app_launch_context_set_desktop, pl_tui);
+  s7_define_typed_function(sc, "gdk_app_launch_context_set_timestamp", lg_gdk_app_launch_context_set_timestamp, 2, 0, 0, H_gdk_app_launch_context_set_timestamp, pl_tui);
+  s7_define_typed_function(sc, "gdk_app_launch_context_set_icon", lg_gdk_app_launch_context_set_icon, 2, 0, 0, H_gdk_app_launch_context_set_icon, pl_tu);
+  s7_define_typed_function(sc, "gdk_app_launch_context_set_icon_name", lg_gdk_app_launch_context_set_icon_name, 2, 0, 0, H_gdk_app_launch_context_set_icon_name, pl_tus);
+  s7_define_typed_function(sc, "gdk_clipboard_get_display", lg_gdk_clipboard_get_display, 1, 0, 0, H_gdk_clipboard_get_display, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_get_formats", lg_gdk_clipboard_get_formats, 1, 0, 0, H_gdk_clipboard_get_formats, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_is_local", lg_gdk_clipboard_is_local, 1, 0, 0, H_gdk_clipboard_is_local, pl_bu);
+  s7_define_typed_function(sc, "gdk_clipboard_get_content", lg_gdk_clipboard_get_content, 1, 0, 0, H_gdk_clipboard_get_content, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_store_async", lg_gdk_clipboard_store_async, 5, 0, 0, H_gdk_clipboard_store_async, pl_tuiut);
+  s7_define_typed_function(sc, "gdk_clipboard_store_finish", lg_gdk_clipboard_store_finish, 2, 1, 0, H_gdk_clipboard_store_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_read_async", lg_gdk_clipboard_read_async, 6, 0, 0, H_gdk_clipboard_read_async, pl_tuuiut);
+  s7_define_typed_function(sc, "gdk_clipboard_read_finish", lg_gdk_clipboard_read_finish, 3, 1, 0, H_gdk_clipboard_read_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_read_value_async", lg_gdk_clipboard_read_value_async, 6, 0, 0, H_gdk_clipboard_read_value_async, pl_tuiiut);
+  s7_define_typed_function(sc, "gdk_clipboard_read_value_finish", lg_gdk_clipboard_read_value_finish, 2, 1, 0, H_gdk_clipboard_read_value_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_read_texture_async", lg_gdk_clipboard_read_texture_async, 4, 0, 0, H_gdk_clipboard_read_texture_async, pl_tuut);
+  s7_define_typed_function(sc, "gdk_clipboard_read_texture_finish", lg_gdk_clipboard_read_texture_finish, 2, 1, 0, H_gdk_clipboard_read_texture_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_read_text_async", lg_gdk_clipboard_read_text_async, 4, 0, 0, H_gdk_clipboard_read_text_async, pl_tuut);
+  s7_define_typed_function(sc, "gdk_clipboard_read_text_finish", lg_gdk_clipboard_read_text_finish, 2, 1, 0, H_gdk_clipboard_read_text_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_clipboard_set_content", lg_gdk_clipboard_set_content, 2, 0, 0, H_gdk_clipboard_set_content, pl_bu);
+  s7_define_typed_function(sc, "gdk_clipboard_set", lg_gdk_clipboard_set, 2, 0, 0, H_gdk_clipboard_set, pl_tui);
+  s7_define_typed_function(sc, "gdk_clipboard_set_valist", lg_gdk_clipboard_set_valist, 3, 0, 0, H_gdk_clipboard_set_valist, pl_tuit);
+  s7_define_typed_function(sc, "gdk_clipboard_set_value", lg_gdk_clipboard_set_value, 2, 0, 0, H_gdk_clipboard_set_value, pl_tu);
+  s7_define_typed_function(sc, "gdk_clipboard_set_text", lg_gdk_clipboard_set_text, 2, 0, 0, H_gdk_clipboard_set_text, pl_tus);
+  s7_define_typed_function(sc, "gdk_clipboard_set_texture", lg_gdk_clipboard_set_texture, 2, 0, 0, H_gdk_clipboard_set_texture, pl_tu);
+  s7_define_typed_function(sc, "gdk_intern_mime_type", lg_gdk_intern_mime_type, 1, 0, 0, H_gdk_intern_mime_type, pl_s);
+  s7_define_typed_function(sc, "gdk_content_formats_new", lg_gdk_content_formats_new, 2, 0, 0, H_gdk_content_formats_new, pl_pui);
+  s7_define_typed_function(sc, "gdk_content_formats_new_for_gtype", lg_gdk_content_formats_new_for_gtype, 1, 0, 0, H_gdk_content_formats_new_for_gtype, pl_pi);
+  s7_define_typed_function(sc, "gdk_content_formats_ref", lg_gdk_content_formats_ref, 1, 0, 0, H_gdk_content_formats_ref, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_unref", lg_gdk_content_formats_unref, 1, 0, 0, H_gdk_content_formats_unref, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_formats_print", lg_gdk_content_formats_print, 2, 0, 0, H_gdk_content_formats_print, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_formats_to_string", lg_gdk_content_formats_to_string, 1, 0, 0, H_gdk_content_formats_to_string, pl_su);
+  s7_define_typed_function(sc, "gdk_content_formats_get_gtypes", lg_gdk_content_formats_get_gtypes, 1, 1, 0, H_gdk_content_formats_get_gtypes, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_get_mime_types", lg_gdk_content_formats_get_mime_types, 1, 1, 0, H_gdk_content_formats_get_mime_types, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_union", lg_gdk_content_formats_union, 2, 0, 0, H_gdk_content_formats_union, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_match", lg_gdk_content_formats_match, 2, 0, 0, H_gdk_content_formats_match, pl_bu);
+  s7_define_typed_function(sc, "gdk_content_formats_match_gtype", lg_gdk_content_formats_match_gtype, 2, 0, 0, H_gdk_content_formats_match_gtype, pl_iu);
+  s7_define_typed_function(sc, "gdk_content_formats_match_mime_type", lg_gdk_content_formats_match_mime_type, 2, 0, 0, H_gdk_content_formats_match_mime_type, pl_su);
+  s7_define_typed_function(sc, "gdk_content_formats_contain_gtype", lg_gdk_content_formats_contain_gtype, 2, 0, 0, H_gdk_content_formats_contain_gtype, pl_bui);
+  s7_define_typed_function(sc, "gdk_content_formats_contain_mime_type", lg_gdk_content_formats_contain_mime_type, 2, 0, 0, H_gdk_content_formats_contain_mime_type, pl_bus);
+  s7_define_typed_function(sc, "*gdk_content_formats_builder_new", lg_*gdk_content_formats_builder_new, 0, 0, 0, H_*gdk_content_formats_builder_new, pl_t);
+  s7_define_typed_function(sc, "gdk_content_formats_builder_free", lg_gdk_content_formats_builder_free, 1, 0, 0, H_gdk_content_formats_builder_free, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_builder_add_formats", lg_gdk_content_formats_builder_add_formats, 2, 0, 0, H_gdk_content_formats_builder_add_formats, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_formats_builder_add_mime_type", lg_gdk_content_formats_builder_add_mime_type, 2, 0, 0, H_gdk_content_formats_builder_add_mime_type, pl_tus);
+  s7_define_typed_function(sc, "gdk_content_formats_builder_add_gtype", lg_gdk_content_formats_builder_add_gtype, 2, 0, 0, H_gdk_content_formats_builder_add_gtype, pl_tui);
+  s7_define_typed_function(sc, "gdk_content_provider_ref_formats", lg_gdk_content_provider_ref_formats, 1, 0, 0, H_gdk_content_provider_ref_formats, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_provider_ref_storable_formats", lg_gdk_content_provider_ref_storable_formats, 1, 0, 0, H_gdk_content_provider_ref_storable_formats, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_provider_content_changed", lg_gdk_content_provider_content_changed, 1, 0, 0, H_gdk_content_provider_content_changed, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_provider_write_mime_type_async", lg_gdk_content_provider_write_mime_type_async, 7, 0, 0, H_gdk_content_provider_write_mime_type_async, pl_tusuiut);
+  s7_define_typed_function(sc, "gdk_content_provider_write_mime_type_finish", lg_gdk_content_provider_write_mime_type_finish, 2, 1, 0, H_gdk_content_provider_write_mime_type_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_provider_get_value", lg_gdk_content_provider_get_value, 2, 1, 0, H_gdk_content_provider_get_value, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_mime_type", lg_gdk_content_serializer_get_mime_type, 1, 0, 0, H_gdk_content_serializer_get_mime_type, pl_su);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_value", lg_gdk_content_serializer_get_value, 1, 0, 0, H_gdk_content_serializer_get_value, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_output_stream", lg_gdk_content_serializer_get_output_stream, 1, 0, 0, H_gdk_content_serializer_get_output_stream, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_priority", lg_gdk_content_serializer_get_priority, 1, 0, 0, H_gdk_content_serializer_get_priority, pl_iu);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_cancellable", lg_gdk_content_serializer_get_cancellable, 1, 0, 0, H_gdk_content_serializer_get_cancellable, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_user_data", lg_gdk_content_serializer_get_user_data, 1, 0, 0, H_gdk_content_serializer_get_user_data, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_serializer_set_task_data", lg_gdk_content_serializer_set_task_data, 3, 0, 0, H_gdk_content_serializer_set_task_data, pl_tut);
+  s7_define_typed_function(sc, "gdk_content_serializer_get_task_data", lg_gdk_content_serializer_get_task_data, 1, 0, 0, H_gdk_content_serializer_get_task_data, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_serializer_return_success", lg_gdk_content_serializer_return_success, 1, 0, 0, H_gdk_content_serializer_return_success, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_serializer_return_error", lg_gdk_content_serializer_return_error, 2, 0, 0, H_gdk_content_serializer_return_error, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_formats_union_serialize_gtypes", lg_gdk_content_formats_union_serialize_gtypes, 1, 0, 0, H_gdk_content_formats_union_serialize_gtypes, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_union_serialize_mime_types", lg_gdk_content_formats_union_serialize_mime_types, 1, 0, 0, H_gdk_content_formats_union_serialize_mime_types, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_register_serializer", lg_gdk_content_register_serializer, 5, 0, 0, H_gdk_content_register_serializer, pl_tist);
+  s7_define_typed_function(sc, "gdk_content_serialize_async", lg_gdk_content_serialize_async, 7, 0, 0, H_gdk_content_serialize_async, pl_tusuiut);
+  s7_define_typed_function(sc, "gdk_content_serialize_finish", lg_gdk_content_serialize_finish, 1, 1, 0, H_gdk_content_serialize_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_mime_type", lg_gdk_content_deserializer_get_mime_type, 1, 0, 0, H_gdk_content_deserializer_get_mime_type, pl_su);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_value", lg_gdk_content_deserializer_get_value, 1, 0, 0, H_gdk_content_deserializer_get_value, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_input_stream", lg_gdk_content_deserializer_get_input_stream, 1, 0, 0, H_gdk_content_deserializer_get_input_stream, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_priority", lg_gdk_content_deserializer_get_priority, 1, 0, 0, H_gdk_content_deserializer_get_priority, pl_iu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_cancellable", lg_gdk_content_deserializer_get_cancellable, 1, 0, 0, H_gdk_content_deserializer_get_cancellable, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_user_data", lg_gdk_content_deserializer_get_user_data, 1, 0, 0, H_gdk_content_deserializer_get_user_data, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_set_task_data", lg_gdk_content_deserializer_set_task_data, 3, 0, 0, H_gdk_content_deserializer_set_task_data, pl_tut);
+  s7_define_typed_function(sc, "gdk_content_deserializer_get_task_data", lg_gdk_content_deserializer_get_task_data, 1, 0, 0, H_gdk_content_deserializer_get_task_data, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_return_success", lg_gdk_content_deserializer_return_success, 1, 0, 0, H_gdk_content_deserializer_return_success, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_deserializer_return_error", lg_gdk_content_deserializer_return_error, 2, 0, 0, H_gdk_content_deserializer_return_error, pl_tu);
+  s7_define_typed_function(sc, "gdk_content_formats_union_deserialize_gtypes", lg_gdk_content_formats_union_deserialize_gtypes, 1, 0, 0, H_gdk_content_formats_union_deserialize_gtypes, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_formats_union_deserialize_mime_types", lg_gdk_content_formats_union_deserialize_mime_types, 1, 0, 0, H_gdk_content_formats_union_deserialize_mime_types, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_register_deserializer", lg_gdk_content_register_deserializer, 5, 0, 0, H_gdk_content_register_deserializer, pl_tsit);
+  s7_define_typed_function(sc, "gdk_content_deserialize_async", lg_gdk_content_deserialize_async, 7, 0, 0, H_gdk_content_deserialize_async, pl_tusiiut);
+  s7_define_typed_function(sc, "gdk_content_deserialize_finish", lg_gdk_content_deserialize_finish, 2, 1, 0, H_gdk_content_deserialize_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_provider_new_for_value", lg_gdk_content_provider_new_for_value, 1, 0, 0, H_gdk_content_provider_new_for_value, pl_pu);
+  s7_define_typed_function(sc, "gdk_content_provider_new_for_bytes", lg_gdk_content_provider_new_for_bytes, 2, 0, 0, H_gdk_content_provider_new_for_bytes, pl_psu);
+  s7_define_typed_function(sc, "gtk_event_controller_motion_new", lg_gtk_event_controller_motion_new, 1, 0, 0, H_gtk_event_controller_motion_new, pl_pu);
+  s7_define_typed_function(sc, "gdk_texture_new_for_data", lg_gdk_texture_new_for_data, 4, 0, 0, H_gdk_texture_new_for_data, pl_psi);
+  s7_define_typed_function(sc, "gdk_texture_new_for_pixbuf", lg_gdk_texture_new_for_pixbuf, 1, 0, 0, H_gdk_texture_new_for_pixbuf, pl_pu);
+  s7_define_typed_function(sc, "gdk_texture_new_from_resource", lg_gdk_texture_new_from_resource, 1, 0, 0, H_gdk_texture_new_from_resource, pl_ps);
+  s7_define_typed_function(sc, "gdk_texture_new_from_file", lg_gdk_texture_new_from_file, 1, 1, 0, H_gdk_texture_new_from_file, pl_pu);
+  s7_define_typed_function(sc, "gdk_texture_get_width", lg_gdk_texture_get_width, 1, 0, 0, H_gdk_texture_get_width, pl_iu);
+  s7_define_typed_function(sc, "gdk_texture_get_height", lg_gdk_texture_get_height, 1, 0, 0, H_gdk_texture_get_height, pl_iu);
+  s7_define_typed_function(sc, "gdk_texture_download", lg_gdk_texture_download, 3, 0, 0, H_gdk_texture_download, pl_tusi);
+  s7_define_typed_function(sc, "gdk_cursor_new_from_texture", lg_gdk_cursor_new_from_texture, 4, 0, 0, H_gdk_cursor_new_from_texture, pl_puiiu);
+  s7_define_typed_function(sc, "gdk_cursor_new_from_name", lg_gdk_cursor_new_from_name, 2, 0, 0, H_gdk_cursor_new_from_name, pl_psu);
+  s7_define_typed_function(sc, "gdk_cursor_get_fallback", lg_gdk_cursor_get_fallback, 1, 0, 0, H_gdk_cursor_get_fallback, pl_pu);
+  s7_define_typed_function(sc, "gdk_cursor_get_name", lg_gdk_cursor_get_name, 1, 0, 0, H_gdk_cursor_get_name, pl_su);
+  s7_define_typed_function(sc, "gdk_cursor_get_texture", lg_gdk_cursor_get_texture, 1, 0, 0, H_gdk_cursor_get_texture, pl_pu);
+  s7_define_typed_function(sc, "gdk_cursor_get_hotspot_x", lg_gdk_cursor_get_hotspot_x, 1, 0, 0, H_gdk_cursor_get_hotspot_x, pl_iu);
+  s7_define_typed_function(sc, "gdk_cursor_get_hotspot_y", lg_gdk_cursor_get_hotspot_y, 1, 0, 0, H_gdk_cursor_get_hotspot_y, pl_iu);
+  s7_define_typed_function(sc, "gdk_device_get_position", lg_gdk_device_get_position, 1, 2, 0, H_gdk_device_get_position, pl_pu);
+  s7_define_typed_function(sc, "gdk_device_get_position_double", lg_gdk_device_get_position_double, 1, 2, 0, H_gdk_device_get_position_double, pl_pu);
+  s7_define_typed_function(sc, "gdk_display_get_clipboard", lg_gdk_display_get_clipboard, 1, 0, 0, H_gdk_display_get_clipboard, pl_pu);
+  s7_define_typed_function(sc, "gdk_display_get_primary_clipboard", lg_gdk_display_get_primary_clipboard, 1, 0, 0, H_gdk_display_get_primary_clipboard, pl_pu);
+  s7_define_typed_function(sc, "gdk_display_get_keymap", lg_gdk_display_get_keymap, 1, 0, 0, H_gdk_display_get_keymap, pl_pu);
+  s7_define_typed_function(sc, "gdk_display_get_setting", lg_gdk_display_get_setting, 2, 1, 0, H_gdk_display_get_setting, pl_pusu);
+  s7_define_typed_function(sc, "gdk_drag_context_get_display", lg_gdk_drag_context_get_display, 1, 0, 0, H_gdk_drag_context_get_display, pl_pu);
+  s7_define_typed_function(sc, "gdk_drag_context_get_formats", lg_gdk_drag_context_get_formats, 1, 0, 0, H_gdk_drag_context_get_formats, pl_pu);
+  s7_define_typed_function(sc, "gdk_drop_read_async", lg_gdk_drop_read_async, 6, 0, 0, H_gdk_drop_read_async, pl_tuuiut);
+  s7_define_typed_function(sc, "gdk_drop_read_finish", lg_gdk_drop_read_finish, 3, 1, 0, H_gdk_drop_read_finish, pl_pu);
+  s7_define_typed_function(sc, "gdk_drag_begin", lg_gdk_drag_begin, 6, 0, 0, H_gdk_drag_begin, pl_puuugi);
+  s7_define_typed_function(sc, "gdk_monitor_is_valid", lg_gdk_monitor_is_valid, 1, 0, 0, H_gdk_monitor_is_valid, pl_bu);
+  s7_define_typed_function(sc, "gdk_seat_get_master_pointers", lg_gdk_seat_get_master_pointers, 2, 0, 0, H_gdk_seat_get_master_pointers, pl_pug);
+  s7_define_typed_function(sc, "gtk_drag_begin_with_coordinates", lg_gtk_drag_begin_with_coordinates, 6, 0, 0, H_gtk_drag_begin_with_coordinates, pl_puuugi);
+  s7_define_typed_function(sc, "gtk_drag_source_set_icon_surface", lg_gtk_drag_source_set_icon_surface, 2, 0, 0, H_gtk_drag_source_set_icon_surface, pl_tu);
+  s7_define_typed_function(sc, "gtk_entry_set_icon_from_texture", lg_gtk_entry_set_icon_from_texture, 3, 0, 0, H_gtk_entry_set_icon_from_texture, pl_tugu);
+  s7_define_typed_function(sc, "gtk_entry_get_icon_texture", lg_gtk_entry_get_icon_texture, 2, 0, 0, H_gtk_entry_get_icon_texture, pl_pug);
+  s7_define_typed_function(sc, "gtk_entry_set_icon_drag_source", lg_gtk_entry_set_icon_drag_source, 4, 0, 0, H_gtk_entry_set_icon_drag_source, pl_tugug);
+  s7_define_typed_function(sc, "gtk_header_bar_get_show_title_buttons", lg_gtk_header_bar_get_show_title_buttons, 1, 0, 0, H_gtk_header_bar_get_show_title_buttons, pl_bu);
+  s7_define_typed_function(sc, "gtk_header_bar_set_show_title_buttons", lg_gtk_header_bar_set_show_title_buttons, 2, 0, 0, H_gtk_header_bar_set_show_title_buttons, pl_tub);
+  s7_define_typed_function(sc, "gtk_icon_theme_get_for_display", lg_gtk_icon_theme_get_for_display, 1, 0, 0, H_gtk_icon_theme_get_for_display, pl_pu);
+  s7_define_typed_function(sc, "gtk_icon_theme_set_display", lg_gtk_icon_theme_set_display, 2, 0, 0, H_gtk_icon_theme_set_display, pl_tu);
+  s7_define_typed_function(sc, "gtk_icon_info_load_texture", lg_gtk_icon_info_load_texture, 1, 0, 0, H_gtk_icon_info_load_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_image_new_from_texture", lg_gtk_image_new_from_texture, 1, 0, 0, H_gtk_image_new_from_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_image_new_from_icon_name", lg_gtk_image_new_from_icon_name, 1, 0, 0, H_gtk_image_new_from_icon_name, pl_ps);
+  s7_define_typed_function(sc, "gtk_image_new_from_gicon", lg_gtk_image_new_from_gicon, 1, 0, 0, H_gtk_image_new_from_gicon, pl_pu);
+  s7_define_typed_function(sc, "gtk_image_set_from_texture", lg_gtk_image_set_from_texture, 2, 0, 0, H_gtk_image_set_from_texture, pl_tu);
+  s7_define_typed_function(sc, "gtk_image_set_from_icon_name", lg_gtk_image_set_from_icon_name, 2, 0, 0, H_gtk_image_set_from_icon_name, pl_tus);
+  s7_define_typed_function(sc, "gtk_image_set_from_gicon", lg_gtk_image_set_from_gicon, 2, 0, 0, H_gtk_image_set_from_gicon, pl_tu);
+  s7_define_typed_function(sc, "gtk_image_set_icon_size", lg_gtk_image_set_icon_size, 2, 0, 0, H_gtk_image_set_icon_size, pl_tug);
+  s7_define_typed_function(sc, "gtk_image_get_surface", lg_gtk_image_get_surface, 1, 0, 0, H_gtk_image_get_surface, pl_pu);
+  s7_define_typed_function(sc, "gtk_image_get_texture", lg_gtk_image_get_texture, 1, 0, 0, H_gtk_image_get_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_image_get_icon_size", lg_gtk_image_get_icon_size, 1, 0, 0, H_gtk_image_get_icon_size, pl_gu);
+  s7_define_typed_function(sc, "gtk_image_get_icon_name", lg_gtk_image_get_icon_name, 1, 0, 0, H_gtk_image_get_icon_name, pl_su);
+  s7_define_typed_function(sc, "gtk_image_get_gicon", lg_gtk_image_get_gicon, 1, 0, 0, H_gtk_image_get_gicon, pl_pu);
+  s7_define_typed_function(sc, "gtk_invisible_new_for_display", lg_gtk_invisible_new_for_display, 1, 0, 0, H_gtk_invisible_new_for_display, pl_pu);
+  s7_define_typed_function(sc, "gtk_invisible_set_display", lg_gtk_invisible_set_display, 2, 0, 0, H_gtk_invisible_set_display, pl_tu);
+  s7_define_typed_function(sc, "GtkInvisible*", lg_GtkInvisible*, 0, 0, 0, H_GtkInvisible*, pl_p);
+  s7_define_typed_function(sc, "gtk_menu_set_display", lg_gtk_menu_set_display, 2, 0, 0, H_gtk_menu_set_display, pl_tu);
+  s7_define_typed_function(sc, "gtk_render_icon", lg_gtk_render_icon, 5, 0, 0, H_gtk_render_icon, pl_tuuur);
+  s7_define_typed_function(sc, "gtk_content_formats_add_text_targets", lg_gtk_content_formats_add_text_targets, 1, 0, 0, H_gtk_content_formats_add_text_targets, pl_pu);
+  s7_define_typed_function(sc, "gtk_content_formats_add_image_targets", lg_gtk_content_formats_add_image_targets, 2, 0, 0, H_gtk_content_formats_add_image_targets, pl_pub);
+  s7_define_typed_function(sc, "gtk_content_formats_add_uri_targets", lg_gtk_content_formats_add_uri_targets, 1, 0, 0, H_gtk_content_formats_add_uri_targets, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_set", lg_gtk_selection_data_set, 5, 0, 0, H_gtk_selection_data_set, pl_tutisi);
+  s7_define_typed_function(sc, "gtk_selection_data_set_text", lg_gtk_selection_data_set_text, 3, 0, 0, H_gtk_selection_data_set_text, pl_busi);
+  s7_define_typed_function(sc, "gtk_selection_data_get_text", lg_gtk_selection_data_get_text, 1, 0, 0, H_gtk_selection_data_get_text, pl_su);
+  s7_define_typed_function(sc, "gtk_selection_data_set_pixbuf", lg_gtk_selection_data_set_pixbuf, 2, 0, 0, H_gtk_selection_data_set_pixbuf, pl_bu);
+  s7_define_typed_function(sc, "gtk_selection_data_get_surface", lg_gtk_selection_data_get_surface, 1, 0, 0, H_gtk_selection_data_get_surface, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_set_surface", lg_gtk_selection_data_set_surface, 2, 0, 0, H_gtk_selection_data_set_surface, pl_bu);
+  s7_define_typed_function(sc, "gtk_selection_data_get_pixbuf", lg_gtk_selection_data_get_pixbuf, 1, 0, 0, H_gtk_selection_data_get_pixbuf, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_set_texture", lg_gtk_selection_data_set_texture, 2, 0, 0, H_gtk_selection_data_set_texture, pl_bu);
+  s7_define_typed_function(sc, "gtk_selection_data_get_texture", lg_gtk_selection_data_get_texture, 1, 0, 0, H_gtk_selection_data_get_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_set_uris", lg_gtk_selection_data_set_uris, 2, 0, 0, H_gtk_selection_data_set_uris, pl_bu);
+  s7_define_typed_function(sc, "gtk_selection_data_get_uris", lg_gtk_selection_data_get_uris, 1, 0, 0, H_gtk_selection_data_get_uris, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_get_targets", lg_gtk_selection_data_get_targets, 1, 2, 0, H_gtk_selection_data_get_targets, pl_pu);
+  s7_define_typed_function(sc, "gtk_selection_data_targets_include_text", lg_gtk_selection_data_targets_include_text, 1, 0, 0, H_gtk_selection_data_targets_include_text, pl_bu);
+  s7_define_typed_function(sc, "gtk_selection_data_targets_include_uri", lg_gtk_selection_data_targets_include_uri, 1, 0, 0, H_gtk_selection_data_targets_include_uri, pl_bu);
+  s7_define_typed_function(sc, "gtk_targets_include_text", lg_gtk_targets_include_text, 2, 0, 0, H_gtk_targets_include_text, pl_bui);
+  s7_define_typed_function(sc, "gtk_targets_include_image", lg_gtk_targets_include_image, 3, 0, 0, H_gtk_targets_include_image, pl_buib);
+  s7_define_typed_function(sc, "gtk_targets_include_uri", lg_gtk_targets_include_uri, 2, 0, 0, H_gtk_targets_include_uri, pl_bui);
+  s7_define_typed_function(sc, "gtk_settings_get_for_display", lg_gtk_settings_get_for_display, 1, 0, 0, H_gtk_settings_get_for_display, pl_pu);
+  s7_define_typed_function(sc, "gtk_style_context_add_provider_for_display", lg_gtk_style_context_add_provider_for_display, 3, 0, 0, H_gtk_style_context_add_provider_for_display, pl_tuui);
+  s7_define_typed_function(sc, "gtk_style_context_remove_provider_for_display", lg_gtk_style_context_remove_provider_for_display, 2, 0, 0, H_gtk_style_context_remove_provider_for_display, pl_tu);
+  s7_define_typed_function(sc, "gtk_style_context_set_display", lg_gtk_style_context_set_display, 2, 0, 0, H_gtk_style_context_set_display, pl_tu);
+  s7_define_typed_function(sc, "gtk_style_context_get_display", lg_gtk_style_context_get_display, 1, 0, 0, H_gtk_style_context_get_display, pl_pu);
+  s7_define_typed_function(sc, "gtk_style_context_reset_widgets", lg_gtk_style_context_reset_widgets, 1, 0, 0, H_gtk_style_context_reset_widgets, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_buffer_insert_texture", lg_gtk_text_buffer_insert_texture, 3, 0, 0, H_gtk_text_buffer_insert_texture, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_buffer_add_selection_clipboard", lg_gtk_text_buffer_add_selection_clipboard, 2, 0, 0, H_gtk_text_buffer_add_selection_clipboard, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_buffer_remove_selection_clipboard", lg_gtk_text_buffer_remove_selection_clipboard, 2, 0, 0, H_gtk_text_buffer_remove_selection_clipboard, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_buffer_cut_clipboard", lg_gtk_text_buffer_cut_clipboard, 3, 0, 0, H_gtk_text_buffer_cut_clipboard, pl_tuub);
+  s7_define_typed_function(sc, "gtk_text_buffer_copy_clipboard", lg_gtk_text_buffer_copy_clipboard, 2, 0, 0, H_gtk_text_buffer_copy_clipboard, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_buffer_paste_clipboard", lg_gtk_text_buffer_paste_clipboard, 2, 0, 0, H_gtk_text_buffer_paste_clipboard, pl_tu);
+  s7_define_typed_function(sc, "override_location", lg_override_location, 1, 0, 0, H_override_location, pl_pb);
+  s7_define_typed_function(sc, "gtk_tool_palette_get_drag_target_item", lg_gtk_tool_palette_get_drag_target_item, 0, 0, 0, H_gtk_tool_palette_get_drag_target_item, pl_s);
+  s7_define_typed_function(sc, "gtk_tool_palette_get_drag_target_group", lg_gtk_tool_palette_get_drag_target_group, 0, 0, 0, H_gtk_tool_palette_get_drag_target_group, pl_s);
+  s7_define_typed_function(sc, "gtk_tooltip_set_icon", lg_gtk_tooltip_set_icon, 2, 0, 0, H_gtk_tooltip_set_icon, pl_tu);
+  s7_define_typed_function(sc, "gtk_tooltip_set_icon_from_icon_name", lg_gtk_tooltip_set_icon_from_icon_name, 2, 0, 0, H_gtk_tooltip_set_icon_from_icon_name, pl_tus);
+  s7_define_typed_function(sc, "gtk_tooltip_set_icon_from_gicon", lg_gtk_tooltip_set_icon_from_gicon, 2, 0, 0, H_gtk_tooltip_set_icon_from_gicon, pl_tu);
+  s7_define_typed_function(sc, "gtk_tree_view_enable_model_drag_source", lg_gtk_tree_view_enable_model_drag_source, 4, 0, 0, H_gtk_tree_view_enable_model_drag_source, pl_tugug);
+  s7_define_typed_function(sc, "gtk_tree_view_enable_model_drag_dest", lg_gtk_tree_view_enable_model_drag_dest, 3, 0, 0, H_gtk_tree_view_enable_model_drag_dest, pl_tuug);
+  s7_define_typed_function(sc, "gtk_widget_get_width", lg_gtk_widget_get_width, 1, 0, 0, H_gtk_widget_get_width, pl_iu);
+  s7_define_typed_function(sc, "gtk_widget_get_height", lg_gtk_widget_get_height, 1, 0, 0, H_gtk_widget_get_height, pl_iu);
+  s7_define_typed_function(sc, "gtk_widget_get_clipboard", lg_gtk_widget_get_clipboard, 1, 0, 0, H_gtk_widget_get_clipboard, pl_pu);
+  s7_define_typed_function(sc, "gtk_widget_get_primary_clipboard", lg_gtk_widget_get_primary_clipboard, 1, 0, 0, H_gtk_widget_get_primary_clipboard, pl_pu);
+  s7_define_typed_function(sc, "gtk_widget_contains", lg_gtk_widget_contains, 3, 0, 0, H_gtk_widget_contains, pl_bur);
+  s7_define_typed_function(sc, "gtk_widget_pick", lg_gtk_widget_pick, 3, 0, 0, H_gtk_widget_pick, pl_pur);
+  s7_define_typed_function(sc, "gtk_widget_set_cursor", lg_gtk_widget_set_cursor, 2, 0, 0, H_gtk_widget_set_cursor, pl_tu);
+  s7_define_typed_function(sc, "gtk_widget_set_cursor_from_name", lg_gtk_widget_set_cursor_from_name, 2, 0, 0, H_gtk_widget_set_cursor_from_name, pl_tus);
+  s7_define_typed_function(sc, "gtk_widget_get_cursor", lg_gtk_widget_get_cursor, 1, 0, 0, H_gtk_widget_get_cursor, pl_pu);
+  s7_define_typed_function(sc, "gtk_window_set_display", lg_gtk_window_set_display, 2, 0, 0, H_gtk_window_set_display, pl_tu);
+  s7_define_typed_function(sc, "gtk_window_set_icon", lg_gtk_window_set_icon, 2, 0, 0, H_gtk_window_set_icon, pl_tu);
+  s7_define_typed_function(sc, "gtk_window_get_icon", lg_gtk_window_get_icon, 1, 0, 0, H_gtk_window_get_icon, pl_pu);
+  s7_define_typed_function(sc, "gtk_window_set_default_icon", lg_gtk_window_set_default_icon, 1, 0, 0, H_gtk_window_set_default_icon, pl_tu);
+  s7_define_typed_function(sc, "gtk_window_fullscreen_on_monitor", lg_gtk_window_fullscreen_on_monitor, 2, 0, 0, H_gtk_window_fullscreen_on_monitor, pl_tu);
+  s7_define_typed_function(sc, "gtk_text_iter_get_texture", lg_gtk_text_iter_get_texture, 1, 0, 0, H_gtk_text_iter_get_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_icon_view_enable_model_drag_source", lg_gtk_icon_view_enable_model_drag_source, 4, 0, 0, H_gtk_icon_view_enable_model_drag_source, pl_tugug);
+  s7_define_typed_function(sc, "gtk_icon_view_enable_model_drag_dest", lg_gtk_icon_view_enable_model_drag_dest, 3, 0, 0, H_gtk_icon_view_enable_model_drag_dest, pl_tuug);
+  s7_define_typed_function(sc, "gtk_about_dialog_get_logo", lg_gtk_about_dialog_get_logo, 1, 0, 0, H_gtk_about_dialog_get_logo, pl_pu);
+  s7_define_typed_function(sc, "gtk_about_dialog_set_logo", lg_gtk_about_dialog_set_logo, 2, 0, 0, H_gtk_about_dialog_set_logo, pl_tu);
+  s7_define_typed_function(sc, "gtk_button_new_from_icon_name", lg_gtk_button_new_from_icon_name, 1, 0, 0, H_gtk_button_new_from_icon_name, pl_ps);
+  s7_define_typed_function(sc, "gtk_cell_view_new_with_texture", lg_gtk_cell_view_new_with_texture, 1, 0, 0, H_gtk_cell_view_new_with_texture, pl_pu);
+  s7_define_typed_function(sc, "gtk_drag_finish", lg_gtk_drag_finish, 3, 0, 0, H_gtk_drag_finish, pl_tubi);
+  s7_define_typed_function(sc, "gtk_drag_set_icon_pixbuf", lg_gtk_drag_set_icon_pixbuf, 4, 0, 0, H_gtk_drag_set_icon_pixbuf, pl_tuui);
+  s7_define_typed_function(sc, "gtk_drag_dest_set", lg_gtk_drag_dest_set, 4, 0, 0, H_gtk_drag_dest_set, pl_tugug);
+  s7_define_typed_function(sc, "gtk_drag_dest_find_target", lg_gtk_drag_dest_find_target, 3, 0, 0, H_gtk_drag_dest_find_target, pl_su);
+  s7_define_typed_function(sc, "gtk_drag_dest_get_target_list", lg_gtk_drag_dest_get_target_list, 1, 0, 0, H_gtk_drag_dest_get_target_list, pl_pu);
+  s7_define_typed_function(sc, "gtk_drag_dest_set_target_list", lg_gtk_drag_dest_set_target_list, 2, 0, 0, H_gtk_drag_dest_set_target_list, pl_tu);
+  s7_define_typed_function(sc, "gtk_drag_source_set", lg_gtk_drag_source_set, 4, 0, 0, H_gtk_drag_source_set, pl_tugug);
+  s7_define_typed_function(sc, "gtk_drag_source_get_target_list", lg_gtk_drag_source_get_target_list, 1, 0, 0, H_gtk_drag_source_get_target_list, pl_pu);
+  s7_define_typed_function(sc, "gtk_drag_source_set_target_list", lg_gtk_drag_source_set_target_list, 2, 0, 0, H_gtk_drag_source_set_target_list, pl_tu);
+  s7_define_typed_function(sc, "gtk_scale_button_new", lg_gtk_scale_button_new, 4, 0, 0, H_gtk_scale_button_new, pl_prrru);
 #endif
 
   s7_define_typed_function(sc, "cairo_create", lg_cairo_create, 1, 0, 0, H_cairo_create, pl_pu);
@@ -52327,8 +51917,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GDK_KEYMAP", lg_GDK_KEYMAP, 1, 0, 0, "(GDK_KEYMAP obj) casts obj to GDK_KEYMAP", pl_bpt);
   s7_define_typed_function(sc, "GDK_WINDOW", lg_GDK_WINDOW, 1, 0, 0, "(GDK_WINDOW obj) casts obj to GDK_WINDOW", pl_bpt);
   s7_define_typed_function(sc, "GDK_PIXBUF", lg_GDK_PIXBUF, 1, 0, 0, "(GDK_PIXBUF obj) casts obj to GDK_PIXBUF", pl_bpt);
-  s7_define_typed_function(sc, "GDK_PIXBUF_ANIMATION", lg_GDK_PIXBUF_ANIMATION, 1, 0, 0, "(GDK_PIXBUF_ANIMATION obj) casts obj to GDK_PIXBUF_ANIMATION", pl_bpt);
-  s7_define_typed_function(sc, "GDK_PIXBUF_ANIMATION_ITER", lg_GDK_PIXBUF_ANIMATION_ITER, 1, 0, 0, "(GDK_PIXBUF_ANIMATION_ITER obj) casts obj to GDK_PIXBUF_ANIMATION_ITER", pl_bpt);
   s7_define_typed_function(sc, "GTK_ACCEL_GROUP", lg_GTK_ACCEL_GROUP, 1, 0, 0, "(GTK_ACCEL_GROUP obj) casts obj to GTK_ACCEL_GROUP", pl_bpt);
   s7_define_typed_function(sc, "GTK_ACCEL_LABEL", lg_GTK_ACCEL_LABEL, 1, 0, 0, "(GTK_ACCEL_LABEL obj) casts obj to GTK_ACCEL_LABEL", pl_bpt);
   s7_define_typed_function(sc, "GTK_ACCESSIBLE", lg_GTK_ACCESSIBLE, 1, 0, 0, "(GTK_ACCESSIBLE obj) casts obj to GTK_ACCESSIBLE", pl_bpt);
@@ -52406,7 +51994,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "PANGO_FONT_MAP", lg_PANGO_FONT_MAP, 1, 0, 0, "(PANGO_FONT_MAP obj) casts obj to PANGO_FONT_MAP", pl_bpt);
   s7_define_typed_function(sc, "PANGO_LAYOUT", lg_PANGO_LAYOUT, 1, 0, 0, "(PANGO_LAYOUT obj) casts obj to PANGO_LAYOUT", pl_bpt);
   s7_define_typed_function(sc, "G_OBJECT", lg_G_OBJECT, 1, 0, 0, "(G_OBJECT obj) casts obj to G_OBJECT", pl_bpt);
-  s7_define_typed_function(sc, "GDK_SCREEN", lg_GDK_SCREEN, 1, 0, 0, "(GDK_SCREEN obj) casts obj to GDK_SCREEN", pl_bpt);
   s7_define_typed_function(sc, "GDK_DISPLAY_OBJECT", lg_GDK_DISPLAY_OBJECT, 1, 0, 0, "(GDK_DISPLAY_OBJECT obj) casts obj to GDK_DISPLAY_OBJECT", pl_bpt);
   s7_define_typed_function(sc, "GDK_EVENT", lg_GDK_EVENT, 1, 0, 0, "(GDK_EVENT obj) casts obj to GDK_EVENT", pl_bpt);
   s7_define_typed_function(sc, "GDK_EVENT_ANY", lg_GDK_EVENT_ANY, 1, 0, 0, "(GDK_EVENT_ANY obj) casts obj to GDK_EVENT_ANY", pl_bpt);
@@ -52439,7 +52026,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GTK_TOGGLE_TOOL_BUTTON", lg_GTK_TOGGLE_TOOL_BUTTON, 1, 0, 0, "(GTK_TOGGLE_TOOL_BUTTON obj) casts obj to GTK_TOGGLE_TOOL_BUTTON", pl_bpt);
   s7_define_typed_function(sc, "GTK_FILE_FILTER", lg_GTK_FILE_FILTER, 1, 0, 0, "(GTK_FILE_FILTER obj) casts obj to GTK_FILE_FILTER", pl_bpt);
   s7_define_typed_function(sc, "GTK_CELL_LAYOUT", lg_GTK_CELL_LAYOUT, 1, 0, 0, "(GTK_CELL_LAYOUT obj) casts obj to GTK_CELL_LAYOUT", pl_bpt);
-  s7_define_typed_function(sc, "GTK_CLIPBOARD", lg_GTK_CLIPBOARD, 1, 0, 0, "(GTK_CLIPBOARD obj) casts obj to GTK_CLIPBOARD", pl_bpt);
   s7_define_typed_function(sc, "GTK_FILE_CHOOSER", lg_GTK_FILE_CHOOSER, 1, 0, 0, "(GTK_FILE_CHOOSER obj) casts obj to GTK_FILE_CHOOSER", pl_bpt);
   s7_define_typed_function(sc, "GTK_ICON_THEME", lg_GTK_ICON_THEME, 1, 0, 0, "(GTK_ICON_THEME obj) casts obj to GTK_ICON_THEME", pl_bpt);
   s7_define_typed_function(sc, "GTK_TOOL_BUTTON", lg_GTK_TOOL_BUTTON, 1, 0, 0, "(GTK_TOOL_BUTTON obj) casts obj to GTK_TOOL_BUTTON", pl_bpt);
@@ -52563,6 +52149,14 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GTK_CENTER_BOX", lg_GTK_CENTER_BOX, 1, 0, 0, "(GTK_CENTER_BOX obj) casts obj to GTK_CENTER_BOX", pl_bpt);
   s7_define_typed_function(sc, "GTK_EMOJI_CHOOSER", lg_GTK_EMOJI_CHOOSER, 1, 0, 0, "(GTK_EMOJI_CHOOSER obj) casts obj to GTK_EMOJI_CHOOSER", pl_bpt);
   s7_define_typed_function(sc, "GTK_EVENT_CONTROLLER_SCROLL", lg_GTK_EVENT_CONTROLLER_SCROLL, 1, 0, 0, "(GTK_EVENT_CONTROLLER_SCROLL obj) casts obj to GTK_EVENT_CONTROLLER_SCROLL", pl_bpt);
+  s7_define_typed_function(sc, "GTK_EVENT_CONTROLLER_MOTION", lg_GTK_EVENT_CONTROLLER_MOTION, 1, 0, 0, "(GTK_EVENT_CONTROLLER_MOTION obj) casts obj to GTK_EVENT_CONTROLLER_MOTION", pl_bpt);
+  s7_define_typed_function(sc, "GDK_TEXTURE", lg_GDK_TEXTURE, 1, 0, 0, "(GDK_TEXTURE obj) casts obj to GDK_TEXTURE", pl_bpt);
+  s7_define_typed_function(sc, "GDK_EVENT", lg_GDK_EVENT, 1, 0, 0, "(GDK_EVENT obj) casts obj to GDK_EVENT", pl_bpt);
+  s7_define_typed_function(sc, "GDK_APP_LAUNCH_CONTEXT", lg_GDK_APP_LAUNCH_CONTEXT, 1, 0, 0, "(GDK_APP_LAUNCH_CONTEXT obj) casts obj to GDK_APP_LAUNCH_CONTEXT", pl_bpt);
+  s7_define_typed_function(sc, "GDK_CLIPBOARD", lg_GDK_CLIPBOARD, 1, 0, 0, "(GDK_CLIPBOARD obj) casts obj to GDK_CLIPBOARD", pl_bpt);
+  s7_define_typed_function(sc, "GDK_CONTENT_PROVIDER", lg_GDK_CONTENT_PROVIDER, 1, 0, 0, "(GDK_CONTENT_PROVIDER obj) casts obj to GDK_CONTENT_PROVIDER", pl_bpt);
+  s7_define_typed_function(sc, "GDK_CONTENT_SERIALIZER", lg_GDK_CONTENT_SERIALIZER, 1, 0, 0, "(GDK_CONTENT_SERIALIZER obj) casts obj to GDK_CONTENT_SERIALIZER", pl_bpt);
+  s7_define_typed_function(sc, "GDK_CONTENT_DESERIALIZER", lg_GDK_CONTENT_DESERIALIZER, 1, 0, 0, "(GDK_CONTENT_DESERIALIZER obj) casts obj to GDK_CONTENT_DESERIALIZER", pl_bpt);
 #endif
 
   s7_define_function(sc, "g_object_get", lg_g_object_get, 3, 0, 0, NULL);
@@ -52578,8 +52172,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GDK_IS_KEYMAP", lg_GDK_IS_KEYMAP, 1, 0, 0, "(GDK_IS_KEYMAP obj): #t if obj is a GdkKeymap*", pl_bt);
   s7_define_typed_function(sc, "GDK_IS_WINDOW", lg_GDK_IS_WINDOW, 1, 0, 0, "(GDK_IS_WINDOW obj): #t if obj is a GdkWindow*", pl_bt);
   s7_define_typed_function(sc, "GDK_IS_PIXBUF", lg_GDK_IS_PIXBUF, 1, 0, 0, "(GDK_IS_PIXBUF obj): #t if obj is a GdkPixbuf*", pl_bt);
-  s7_define_typed_function(sc, "GDK_IS_PIXBUF_ANIMATION", lg_GDK_IS_PIXBUF_ANIMATION, 1, 0, 0, "(GDK_IS_PIXBUF_ANIMATION obj): #t if obj is a GdkPixbufAnimation*", pl_bt);
-  s7_define_typed_function(sc, "GDK_IS_PIXBUF_ANIMATION_ITER", lg_GDK_IS_PIXBUF_ANIMATION_ITER, 1, 0, 0, "(GDK_IS_PIXBUF_ANIMATION_ITER obj): #t if obj is a GdkPixbufAnimationIter*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_ACCEL_GROUP", lg_GTK_IS_ACCEL_GROUP, 1, 0, 0, "(GTK_IS_ACCEL_GROUP obj): #t if obj is a GtkAccelGroup*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_ACCEL_LABEL", lg_GTK_IS_ACCEL_LABEL, 1, 0, 0, "(GTK_IS_ACCEL_LABEL obj): #t if obj is a GtkAccelLabel*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_ACCESSIBLE", lg_GTK_IS_ACCESSIBLE, 1, 0, 0, "(GTK_IS_ACCESSIBLE obj): #t if obj is a GtkAccessible*", pl_bt);
@@ -52657,7 +52249,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "PANGO_IS_FONT_MAP", lg_PANGO_IS_FONT_MAP, 1, 0, 0, "(PANGO_IS_FONT_MAP obj): #t if obj is a PangoFontMap*", pl_bt);
   s7_define_typed_function(sc, "PANGO_IS_LAYOUT", lg_PANGO_IS_LAYOUT, 1, 0, 0, "(PANGO_IS_LAYOUT obj): #t if obj is a PangoLayout*", pl_bt);
   s7_define_typed_function(sc, "G_IS_OBJECT", lg_G_IS_OBJECT, 1, 0, 0, "(G_IS_OBJECT obj): #t if obj is a GObject*", pl_bt);
-  s7_define_typed_function(sc, "GDK_IS_SCREEN", lg_GDK_IS_SCREEN, 1, 0, 0, "(GDK_IS_SCREEN obj): #t if obj is a GdkScreen*", pl_bt);
   s7_define_typed_function(sc, "GDK_IS_DISPLAY", lg_GDK_IS_DISPLAY, 1, 0, 0, "(GDK_IS_DISPLAY obj): #t if obj is a GdkDisplay*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_FILE_CHOOSER_DIALOG", lg_GTK_IS_FILE_CHOOSER_DIALOG, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_DIALOG obj): #t if obj is a GtkFileChooserDialog*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_FILE_CHOOSER_WIDGET", lg_GTK_IS_FILE_CHOOSER_WIDGET, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_WIDGET obj): #t if obj is a GtkFileChooserWidget*", pl_bt);
@@ -52672,7 +52263,6 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GTK_IS_TOGGLE_TOOL_BUTTON", lg_GTK_IS_TOGGLE_TOOL_BUTTON, 1, 0, 0, "(GTK_IS_TOGGLE_TOOL_BUTTON obj): #t if obj is a GtkToggleToolButton*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_FILE_FILTER", lg_GTK_IS_FILE_FILTER, 1, 0, 0, "(GTK_IS_FILE_FILTER obj): #t if obj is a GtkFileFilter*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_CELL_LAYOUT", lg_GTK_IS_CELL_LAYOUT, 1, 0, 0, "(GTK_IS_CELL_LAYOUT obj): #t if obj is a GtkCellLayout*", pl_bt);
-  s7_define_typed_function(sc, "GTK_IS_CLIPBOARD", lg_GTK_IS_CLIPBOARD, 1, 0, 0, "(GTK_IS_CLIPBOARD obj): #t if obj is a GtkClipboard*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_FILE_CHOOSER", lg_GTK_IS_FILE_CHOOSER, 1, 0, 0, "(GTK_IS_FILE_CHOOSER obj): #t if obj is a GtkFileChooser*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_ICON_THEME", lg_GTK_IS_ICON_THEME, 1, 0, 0, "(GTK_IS_ICON_THEME obj): #t if obj is a GtkIconTheme*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_TOOL_BUTTON", lg_GTK_IS_TOOL_BUTTON, 1, 0, 0, "(GTK_IS_TOOL_BUTTON obj): #t if obj is a GtkToolButton*", pl_bt);
@@ -52795,6 +52385,14 @@ static void define_functions(s7_scheme *sc)
   s7_define_typed_function(sc, "GTK_IS_CENTER_BOX", lg_GTK_IS_CENTER_BOX, 1, 0, 0, "(GTK_IS_CENTER_BOX obj): #t if obj is a GtkCenterBox*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_EMOJI_CHOOSER", lg_GTK_IS_EMOJI_CHOOSER, 1, 0, 0, "(GTK_IS_EMOJI_CHOOSER obj): #t if obj is a GtkEmojiChooser*", pl_bt);
   s7_define_typed_function(sc, "GTK_IS_EVENT_CONTROLLER_SCROLL", lg_GTK_IS_EVENT_CONTROLLER_SCROLL, 1, 0, 0, "(GTK_IS_EVENT_CONTROLLER_SCROLL obj): #t if obj is a GtkEventControllerScroll*", pl_bt);
+  s7_define_typed_function(sc, "GTK_IS_EVENT_CONTROLLER_MOTION", lg_GTK_IS_EVENT_CONTROLLER_MOTION, 1, 0, 0, "(GTK_IS_EVENT_CONTROLLER_MOTION obj): #t if obj is a GtkEventControllerMotion*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_TEXTURE", lg_GDK_IS_TEXTURE, 1, 0, 0, "(GDK_IS_TEXTURE obj): #t if obj is a GdkTexture*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_EVENT", lg_GDK_IS_EVENT, 1, 0, 0, "(GDK_IS_EVENT obj): #t if obj is a GdkEvent*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_APP_LAUNCH_CONTEXT", lg_GDK_IS_APP_LAUNCH_CONTEXT, 1, 0, 0, "(GDK_IS_APP_LAUNCH_CONTEXT obj): #t if obj is a GdkAppLaunchContext*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_CLIPBOARD", lg_GDK_IS_CLIPBOARD, 1, 0, 0, "(GDK_IS_CLIPBOARD obj): #t if obj is a GdkClipboard*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_CONTENT_PROVIDER", lg_GDK_IS_CONTENT_PROVIDER, 1, 0, 0, "(GDK_IS_CONTENT_PROVIDER obj): #t if obj is a GdkContentProvider*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_CONTENT_SERIALIZER", lg_GDK_IS_CONTENT_SERIALIZER, 1, 0, 0, "(GDK_IS_CONTENT_SERIALIZER obj): #t if obj is a GdkContentSerializer*", pl_bt);
+  s7_define_typed_function(sc, "GDK_IS_CONTENT_DESERIALIZER", lg_GDK_IS_CONTENT_DESERIALIZER, 1, 0, 0, "(GDK_IS_CONTENT_DESERIALIZER obj): #t if obj is a GdkContentDeserializer*", pl_bt);
 #endif
 
 }
@@ -52830,84 +52428,6 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "G_SIGNAL_MATCH_FUNC"), s7_make_integer(sc, G_SIGNAL_MATCH_FUNC));
   s7_define(sc, cur_env, s7_make_symbol(sc, "G_SIGNAL_MATCH_DATA"), s7_make_integer(sc, G_SIGNAL_MATCH_DATA));
   s7_define(sc, cur_env, s7_make_symbol(sc, "G_SIGNAL_MATCH_UNBLOCKED"), s7_make_integer(sc, G_SIGNAL_MATCH_UNBLOCKED));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_X_CURSOR"), s7_make_integer(sc, GDK_X_CURSOR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ARROW"), s7_make_integer(sc, GDK_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BASED_ARROW_DOWN"), s7_make_integer(sc, GDK_BASED_ARROW_DOWN));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BASED_ARROW_UP"), s7_make_integer(sc, GDK_BASED_ARROW_UP));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOAT"), s7_make_integer(sc, GDK_BOAT));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOGOSITY"), s7_make_integer(sc, GDK_BOGOSITY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOTTOM_LEFT_CORNER"), s7_make_integer(sc, GDK_BOTTOM_LEFT_CORNER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOTTOM_RIGHT_CORNER"), s7_make_integer(sc, GDK_BOTTOM_RIGHT_CORNER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOTTOM_SIDE"), s7_make_integer(sc, GDK_BOTTOM_SIDE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOTTOM_TEE"), s7_make_integer(sc, GDK_BOTTOM_TEE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BOX_SPIRAL"), s7_make_integer(sc, GDK_BOX_SPIRAL));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CENTER_PTR"), s7_make_integer(sc, GDK_CENTER_PTR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CIRCLE"), s7_make_integer(sc, GDK_CIRCLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CLOCK"), s7_make_integer(sc, GDK_CLOCK));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_COFFEE_MUG"), s7_make_integer(sc, GDK_COFFEE_MUG));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSS"), s7_make_integer(sc, GDK_CROSS));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSS_REVERSE"), s7_make_integer(sc, GDK_CROSS_REVERSE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSSHAIR"), s7_make_integer(sc, GDK_CROSSHAIR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DIAMOND_CROSS"), s7_make_integer(sc, GDK_DIAMOND_CROSS));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DOT"), s7_make_integer(sc, GDK_DOT));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DOTBOX"), s7_make_integer(sc, GDK_DOTBOX));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DOUBLE_ARROW"), s7_make_integer(sc, GDK_DOUBLE_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAFT_LARGE"), s7_make_integer(sc, GDK_DRAFT_LARGE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAFT_SMALL"), s7_make_integer(sc, GDK_DRAFT_SMALL));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAPED_BOX"), s7_make_integer(sc, GDK_DRAPED_BOX));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_EXCHANGE"), s7_make_integer(sc, GDK_EXCHANGE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_FLEUR"), s7_make_integer(sc, GDK_FLEUR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_GOBBLER"), s7_make_integer(sc, GDK_GOBBLER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_GUMBY"), s7_make_integer(sc, GDK_GUMBY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_HAND1"), s7_make_integer(sc, GDK_HAND1));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_HAND2"), s7_make_integer(sc, GDK_HAND2));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_HEART"), s7_make_integer(sc, GDK_HEART));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ICON"), s7_make_integer(sc, GDK_ICON));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_IRON_CROSS"), s7_make_integer(sc, GDK_IRON_CROSS));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LEFT_PTR"), s7_make_integer(sc, GDK_LEFT_PTR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LEFT_SIDE"), s7_make_integer(sc, GDK_LEFT_SIDE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LEFT_TEE"), s7_make_integer(sc, GDK_LEFT_TEE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LEFTBUTTON"), s7_make_integer(sc, GDK_LEFTBUTTON));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LL_ANGLE"), s7_make_integer(sc, GDK_LL_ANGLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LR_ANGLE"), s7_make_integer(sc, GDK_LR_ANGLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_MAN"), s7_make_integer(sc, GDK_MAN));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_MIDDLEBUTTON"), s7_make_integer(sc, GDK_MIDDLEBUTTON));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_MOUSE"), s7_make_integer(sc, GDK_MOUSE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PENCIL"), s7_make_integer(sc, GDK_PENCIL));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PIRATE"), s7_make_integer(sc, GDK_PIRATE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PLUS"), s7_make_integer(sc, GDK_PLUS));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_QUESTION_ARROW"), s7_make_integer(sc, GDK_QUESTION_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_RIGHT_PTR"), s7_make_integer(sc, GDK_RIGHT_PTR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_RIGHT_SIDE"), s7_make_integer(sc, GDK_RIGHT_SIDE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_RIGHT_TEE"), s7_make_integer(sc, GDK_RIGHT_TEE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_RIGHTBUTTON"), s7_make_integer(sc, GDK_RIGHTBUTTON));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_RTL_LOGO"), s7_make_integer(sc, GDK_RTL_LOGO));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SAILBOAT"), s7_make_integer(sc, GDK_SAILBOAT));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_DOWN_ARROW"), s7_make_integer(sc, GDK_SB_DOWN_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_H_DOUBLE_ARROW"), s7_make_integer(sc, GDK_SB_H_DOUBLE_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_LEFT_ARROW"), s7_make_integer(sc, GDK_SB_LEFT_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_RIGHT_ARROW"), s7_make_integer(sc, GDK_SB_RIGHT_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_UP_ARROW"), s7_make_integer(sc, GDK_SB_UP_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SB_V_DOUBLE_ARROW"), s7_make_integer(sc, GDK_SB_V_DOUBLE_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SHUTTLE"), s7_make_integer(sc, GDK_SHUTTLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SIZING"), s7_make_integer(sc, GDK_SIZING));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SPIDER"), s7_make_integer(sc, GDK_SPIDER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SPRAYCAN"), s7_make_integer(sc, GDK_SPRAYCAN));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_STAR"), s7_make_integer(sc, GDK_STAR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TARGET"), s7_make_integer(sc, GDK_TARGET));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TCROSS"), s7_make_integer(sc, GDK_TCROSS));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TOP_LEFT_ARROW"), s7_make_integer(sc, GDK_TOP_LEFT_ARROW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TOP_LEFT_CORNER"), s7_make_integer(sc, GDK_TOP_LEFT_CORNER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TOP_RIGHT_CORNER"), s7_make_integer(sc, GDK_TOP_RIGHT_CORNER));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TOP_SIDE"), s7_make_integer(sc, GDK_TOP_SIDE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TOP_TEE"), s7_make_integer(sc, GDK_TOP_TEE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TREK"), s7_make_integer(sc, GDK_TREK));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_UL_ANGLE"), s7_make_integer(sc, GDK_UL_ANGLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_UMBRELLA"), s7_make_integer(sc, GDK_UMBRELLA));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_UR_ANGLE"), s7_make_integer(sc, GDK_UR_ANGLE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WATCH"), s7_make_integer(sc, GDK_WATCH));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_XTERM"), s7_make_integer(sc, GDK_XTERM));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LAST_CURSOR "), s7_make_integer(sc, GDK_LAST_CURSOR ));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ACTION_DEFAULT"), s7_make_integer(sc, GDK_ACTION_DEFAULT));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ACTION_COPY"), s7_make_integer(sc, GDK_ACTION_COPY));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ACTION_MOVE"), s7_make_integer(sc, GDK_ACTION_MOVE));
@@ -52931,24 +52451,13 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CONFIGURE"), s7_make_integer(sc, GDK_CONFIGURE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_MAP"), s7_make_integer(sc, GDK_MAP));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_UNMAP"), s7_make_integer(sc, GDK_UNMAP));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROPERTY_NOTIFY"), s7_make_integer(sc, GDK_PROPERTY_NOTIFY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_CLEAR"), s7_make_integer(sc, GDK_SELECTION_CLEAR));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_REQUEST"), s7_make_integer(sc, GDK_SELECTION_REQUEST));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_NOTIFY"), s7_make_integer(sc, GDK_SELECTION_NOTIFY));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROXIMITY_IN"), s7_make_integer(sc, GDK_PROXIMITY_IN));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROXIMITY_OUT"), s7_make_integer(sc, GDK_PROXIMITY_OUT));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAG_ENTER"), s7_make_integer(sc, GDK_DRAG_ENTER));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAG_LEAVE"), s7_make_integer(sc, GDK_DRAG_LEAVE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAG_MOTION"), s7_make_integer(sc, GDK_DRAG_MOTION));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DRAG_STATUS"), s7_make_integer(sc, GDK_DRAG_STATUS));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DROP_START"), s7_make_integer(sc, GDK_DROP_START));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DROP_FINISHED"), s7_make_integer(sc, GDK_DROP_FINISHED));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CLIENT_EVENT"), s7_make_integer(sc, GDK_CLIENT_EVENT));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_VISIBILITY_NOTIFY"), s7_make_integer(sc, GDK_VISIBILITY_NOTIFY));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SCROLL"), s7_make_integer(sc, GDK_SCROLL));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WINDOW_STATE"), s7_make_integer(sc, GDK_WINDOW_STATE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SETTING"), s7_make_integer(sc, GDK_SETTING));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_OWNER_CHANGE"), s7_make_integer(sc, GDK_OWNER_CHANGE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_GRAB_BROKEN"), s7_make_integer(sc, GDK_GRAB_BROKEN));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_EXPOSURE_MASK"), s7_make_integer(sc, GDK_EXPOSURE_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_POINTER_MOTION_MASK"), s7_make_integer(sc, GDK_POINTER_MOTION_MASK));
@@ -52965,12 +52474,10 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_FOCUS_CHANGE_MASK"), s7_make_integer(sc, GDK_FOCUS_CHANGE_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_STRUCTURE_MASK"), s7_make_integer(sc, GDK_STRUCTURE_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROPERTY_CHANGE_MASK"), s7_make_integer(sc, GDK_PROPERTY_CHANGE_MASK));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_VISIBILITY_NOTIFY_MASK"), s7_make_integer(sc, GDK_VISIBILITY_NOTIFY_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROXIMITY_IN_MASK"), s7_make_integer(sc, GDK_PROXIMITY_IN_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROXIMITY_OUT_MASK"), s7_make_integer(sc, GDK_PROXIMITY_OUT_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SUBSTRUCTURE_MASK"), s7_make_integer(sc, GDK_SUBSTRUCTURE_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SCROLL_MASK"), s7_make_integer(sc, GDK_SCROLL_MASK));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_ALL_EVENTS_MASK"), s7_make_integer(sc, GDK_ALL_EVENTS_MASK));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SCROLL_UP"), s7_make_integer(sc, GDK_SCROLL_UP));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SCROLL_DOWN"), s7_make_integer(sc, GDK_SCROLL_DOWN));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SCROLL_LEFT"), s7_make_integer(sc, GDK_SCROLL_LEFT));
@@ -52984,18 +52491,10 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSSING_NORMAL"), s7_make_integer(sc, GDK_CROSSING_NORMAL));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSSING_GRAB"), s7_make_integer(sc, GDK_CROSSING_GRAB));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CROSSING_UNGRAB"), s7_make_integer(sc, GDK_CROSSING_UNGRAB));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROPERTY_NEW_VALUE"), s7_make_integer(sc, GDK_PROPERTY_NEW_VALUE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROPERTY_DELETE"), s7_make_integer(sc, GDK_PROPERTY_DELETE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WINDOW_STATE_WITHDRAWN"), s7_make_integer(sc, GDK_WINDOW_STATE_WITHDRAWN));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WINDOW_STATE_ICONIFIED"), s7_make_integer(sc, GDK_WINDOW_STATE_ICONIFIED));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WINDOW_STATE_MAXIMIZED"), s7_make_integer(sc, GDK_WINDOW_STATE_MAXIMIZED));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_WINDOW_STATE_STICKY"), s7_make_integer(sc, GDK_WINDOW_STATE_STICKY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SETTING_ACTION_NEW"), s7_make_integer(sc, GDK_SETTING_ACTION_NEW));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SETTING_ACTION_CHANGED"), s7_make_integer(sc, GDK_SETTING_ACTION_CHANGED));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SETTING_ACTION_DELETED"), s7_make_integer(sc, GDK_SETTING_ACTION_DELETED));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROP_MODE_REPLACE"), s7_make_integer(sc, GDK_PROP_MODE_REPLACE));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROP_MODE_PREPEND"), s7_make_integer(sc, GDK_PROP_MODE_PREPEND));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PROP_MODE_APPEND"), s7_make_integer(sc, GDK_PROP_MODE_APPEND));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_CURRENT_TIME"), s7_make_integer(sc, GDK_CURRENT_TIME));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_PARENT_RELATIVE"), s7_make_integer(sc, GDK_PARENT_RELATIVE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_LSB_FIRST"), s7_make_integer(sc, GDK_LSB_FIRST));
@@ -53214,8 +52713,6 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_SORT_ASCENDING"), s7_make_integer(sc, GTK_SORT_ASCENDING));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_SORT_DESCENDING"), s7_make_integer(sc, GTK_SORT_DESCENDING));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_IMAGE_EMPTY"), s7_make_integer(sc, GTK_IMAGE_EMPTY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_IMAGE_PIXBUF"), s7_make_integer(sc, GTK_IMAGE_PIXBUF));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_IMAGE_ANIMATION"), s7_make_integer(sc, GTK_IMAGE_ANIMATION));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_MAX_COMPOSE_LEN"), s7_make_integer(sc, GTK_MAX_COMPOSE_LEN));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_PRIORITY_RESIZE"), s7_make_integer(sc, GTK_PRIORITY_RESIZE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_MESSAGE_INFO"), s7_make_integer(sc, GTK_MESSAGE_INFO));
@@ -53528,7 +53025,6 @@ static void define_integers(s7_scheme *sc)
 #if GTK_CHECK_VERSION(2, 16, 0)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ENTRY_ICON_PRIMARY"), s7_make_integer(sc, GTK_ENTRY_ICON_PRIMARY));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ENTRY_ICON_SECONDARY"), s7_make_integer(sc, GTK_ENTRY_ICON_SECONDARY));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_BLANK_CURSOR "), s7_make_integer(sc, GDK_BLANK_CURSOR ));
 #endif
 
 #if GTK_CHECK_VERSION(2, 18, 0)
@@ -53785,10 +53281,6 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_TEXT_SEARCH_CASE_INSENSITIVE"), s7_make_integer(sc, GTK_TEXT_SEARCH_CASE_INSENSITIVE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_SCROLL_MINIMUM"), s7_make_integer(sc, GTK_SCROLL_MINIMUM));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_SCROLL_NATURAL"), s7_make_integer(sc, GTK_SCROLL_NATURAL));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_TARGET_SAME_APP"), s7_make_integer(sc, GTK_TARGET_SAME_APP));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_TARGET_SAME_WIDGET"), s7_make_integer(sc, GTK_TARGET_SAME_WIDGET));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_TARGET_OTHER_APP"), s7_make_integer(sc, GTK_TARGET_OTHER_APP));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_TARGET_OTHER_WIDGET"), s7_make_integer(sc, GTK_TARGET_OTHER_WIDGET));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ALIGN_FILL"), s7_make_integer(sc, GTK_ALIGN_FILL));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ALIGN_START"), s7_make_integer(sc, GTK_ALIGN_START));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ALIGN_END"), s7_make_integer(sc, GTK_ALIGN_END));
@@ -54043,6 +53535,16 @@ static void define_integers(s7_scheme *sc)
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_EVENT_CONTROLLER_SCROLL_DISCRETE"), s7_make_integer(sc, GTK_EVENT_CONTROLLER_SCROLL_DISCRETE));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_EVENT_CONTROLLER_SCROLL_KINETIC"), s7_make_integer(sc, GTK_EVENT_CONTROLLER_SCROLL_KINETIC));
   s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES"), s7_make_integer(sc, GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DEVICE_TYPE_MASTER"), s7_make_integer(sc, GDK_DEVICE_TYPE_MASTER));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DEVICE_TYPE_SLAVE"), s7_make_integer(sc, GDK_DEVICE_TYPE_SLAVE));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_DEVICE_TYPE_FLOATING"), s7_make_integer(sc, GDK_DEVICE_TYPE_FLOATING));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SEAT_CAPABILITY_TABLET_PAD"), s7_make_integer(sc, GDK_SEAT_CAPABILITY_TABLET_PAD));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ICON_SIZE_INHERIT"), s7_make_integer(sc, GTK_ICON_SIZE_INHERIT));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ICON_SIZE_NORMAL"), s7_make_integer(sc, GTK_ICON_SIZE_NORMAL));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_ICON_SIZE_LARGE"), s7_make_integer(sc, GTK_ICON_SIZE_LARGE));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_STATE_FLAG_FOCUS_VISIBLE"), s7_make_integer(sc, GTK_STATE_FLAG_FOCUS_VISIBLE));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_IMAGE_SURFACE"), s7_make_integer(sc, GTK_IMAGE_SURFACE));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "GTK_IMAGE_TEXTURE"), s7_make_integer(sc, GTK_IMAGE_TEXTURE));
 #endif
 
   s7_define(sc, cur_env, s7_make_symbol(sc, "CAIRO_STATUS_SUCCESS"), s7_make_integer(sc, CAIRO_STATUS_SUCCESS));
@@ -54221,24 +53723,36 @@ static void define_atoms(s7_scheme *sc)
   cur_env = s7_curlet(sc);
   gdkatom_symbol = s7_make_symbol(sc, "GdkAtom");
 
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_PRIMARY"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_PRIMARY, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_SECONDARY"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_SECONDARY, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_CLIPBOARD"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_CLIPBOARD, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TARGET_BITMAP"), s7_make_c_pointer_with_type(sc, GDK_TARGET_BITMAP, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TARGET_DRAWABLE"), s7_make_c_pointer_with_type(sc, GDK_TARGET_DRAWABLE, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_TARGET_STRING"), s7_make_c_pointer_with_type(sc, GDK_TARGET_STRING, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_ATOM"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_ATOM, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_BITMAP"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_BITMAP, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_DRAWABLE"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_DRAWABLE, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_INTEGER"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_INTEGER, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_WINDOW"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_WINDOW, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_SELECTION_TYPE_STRING"), s7_make_c_pointer_with_type(sc, GDK_SELECTION_TYPE_STRING, gdkatom_symbol, lg_false));
-  s7_define(sc, cur_env, s7_make_symbol(sc, "GDK_NONE"), s7_make_c_pointer_with_type(sc, GDK_NONE, gdkatom_symbol, lg_false));
 }
 
 
 static void define_symbols(s7_scheme *sc)
 {
+  GtkContentFormats__sym = s7_make_symbol(sc, "GtkContentFormats_");
+  GtkStyleProvider__sym = s7_make_symbol(sc, "GtkStyleProvider_");
+  GdkDisplay_gtk_invisible_get_display_sym = s7_make_symbol(sc, "GdkDisplay_gtk_invisible_get_display");
+  GtkInvisible__sym = s7_make_symbol(sc, "GtkInvisible_");
+  GValue_sym = s7_make_symbol(sc, "GValue");
+  GBytes__sym = s7_make_symbol(sc, "GBytes_");
+  GdkContentDeserializeFunc_sym = s7_make_symbol(sc, "GdkContentDeserializeFunc");
+  GdkContentDeserializer__sym = s7_make_symbol(sc, "GdkContentDeserializer_");
+  GdkContentSerializeFunc_sym = s7_make_symbol(sc, "GdkContentSerializeFunc");
+  GdkContentSerializer__sym = s7_make_symbol(sc, "GdkContentSerializer_");
+  GOutputStream__sym = s7_make_symbol(sc, "GOutputStream_");
+  GdkContentFormatsBuilder__sym = s7_make_symbol(sc, "GdkContentFormatsBuilder_");
+  GdkContentFormatsBuilder_sym = s7_make_symbol(sc, "GdkContentFormatsBuilder");
+  GString__sym = s7_make_symbol(sc, "GString_");
+  va_list_sym = s7_make_symbol(sc, "va_list");
+  GdkTexture__sym = s7_make_symbol(sc, "GdkTexture_");
+  har___sym = s7_make_symbol(sc, "har__");
+  GInputStream__sym = s7_make_symbol(sc, "GInputStream_");
+  GAsyncResult__sym = s7_make_symbol(sc, "GAsyncResult_");
+  GAsyncReadyCallback_sym = s7_make_symbol(sc, "GAsyncReadyCallback");
+  GCancellable__sym = s7_make_symbol(sc, "GCancellable_");
+  GdkContentProvider__sym = s7_make_symbol(sc, "GdkContentProvider_");
+  GdkContentFormats__sym = s7_make_symbol(sc, "GdkContentFormats_");
+  GdkClipboard__sym = s7_make_symbol(sc, "GdkClipboard_");
+  GdkAppLaunchContext__sym = s7_make_symbol(sc, "GdkAppLaunchContext_");
   GtkEventControllerScroll__sym = s7_make_symbol(sc, "GtkEventControllerScroll_");
   GtkSnapshot__sym = s7_make_symbol(sc, "GtkSnapshot_");
   GdkEventScroll__sym = s7_make_symbol(sc, "GdkEventScroll_");
@@ -54296,10 +53810,9 @@ static void define_symbols(s7_scheme *sc)
   GtkFontChooser__sym = s7_make_symbol(sc, "GtkFontChooser_");
   GtkOverlay__sym = s7_make_symbol(sc, "GtkOverlay_");
   GtkWidgetPath__sym = s7_make_symbol(sc, "GtkWidgetPath_");
-  GdkScreen___sym = s7_make_symbol(sc, "GdkScreen__");
   GtkToolShell__sym = s7_make_symbol(sc, "GtkToolShell_");
   GtkWindowGroup__sym = s7_make_symbol(sc, "GtkWindowGroup_");
-  GtkInvisible__sym = s7_make_symbol(sc, "GtkInvisible_");
+  GIcon__sym = s7_make_symbol(sc, "GIcon_");
   GtkOrientable__sym = s7_make_symbol(sc, "GtkOrientable_");
   GtkCellArea__sym = s7_make_symbol(sc, "GtkCellArea_");
   GtkBorder__sym = s7_make_symbol(sc, "GtkBorder_");
@@ -54327,7 +53840,6 @@ static void define_symbols(s7_scheme *sc)
   GtkSpinner__sym = s7_make_symbol(sc, "GtkSpinner_");
   GtkEntryBuffer__sym = s7_make_symbol(sc, "GtkEntryBuffer_");
   GtkInfoBar__sym = s7_make_symbol(sc, "GtkInfoBar_");
-  GIcon__sym = s7_make_symbol(sc, "GIcon_");
   GFile__sym = s7_make_symbol(sc, "GFile_");
   GtkScaleButton__sym = s7_make_symbol(sc, "GtkScaleButton_");
   GtkCalendarDetailFunc_sym = s7_make_symbol(sc, "GtkCalendarDetailFunc");
@@ -54354,8 +53866,6 @@ static void define_symbols(s7_scheme *sc)
   GtkPrintContext__sym = s7_make_symbol(sc, "GtkPrintContext_");
   cairo_surface_t__sym = s7_make_symbol(sc, "cairo_surface_t_");
   GtkRecentData__sym = s7_make_symbol(sc, "GtkRecentData_");
-  GtkTextBufferDeserializeFunc_sym = s7_make_symbol(sc, "GtkTextBufferDeserializeFunc");
-  GtkTextBufferSerializeFunc_sym = s7_make_symbol(sc, "GtkTextBufferSerializeFunc");
   GtkRecentChooserMenu__sym = s7_make_symbol(sc, "GtkRecentChooserMenu_");
   GtkRecentManager__sym = s7_make_symbol(sc, "GtkRecentManager_");
   GtkRecentFilter__sym = s7_make_symbol(sc, "GtkRecentFilter_");
@@ -54366,13 +53876,11 @@ static void define_symbols(s7_scheme *sc)
   GtkAssistant__sym = s7_make_symbol(sc, "GtkAssistant_");
   GDestroyNotify_sym = s7_make_symbol(sc, "GDestroyNotify");
   GtkTreeViewSearchPositionFunc_sym = s7_make_symbol(sc, "GtkTreeViewSearchPositionFunc");
-  GtkClipboardRichTextReceivedFunc_sym = s7_make_symbol(sc, "GtkClipboardRichTextReceivedFunc");
   GtkMenuBar__sym = s7_make_symbol(sc, "GtkMenuBar_");
   GValue__sym = s7_make_symbol(sc, "GValue_");
   GLogFunc_sym = s7_make_symbol(sc, "GLogFunc");
   PangoMatrix__sym = s7_make_symbol(sc, "PangoMatrix_");
   PangoRenderer__sym = s7_make_symbol(sc, "PangoRenderer_");
-  GtkClipboardImageReceivedFunc_sym = s7_make_symbol(sc, "GtkClipboardImageReceivedFunc");
   GtkMenuToolButton__sym = s7_make_symbol(sc, "GtkMenuToolButton_");
   GtkFileChooserButton__sym = s7_make_symbol(sc, "GtkFileChooserButton_");
   PangoScriptIter__sym = s7_make_symbol(sc, "PangoScriptIter_");
@@ -54382,7 +53890,6 @@ static void define_symbols(s7_scheme *sc)
   GtkTreeViewRowSeparatorFunc_sym = s7_make_symbol(sc, "GtkTreeViewRowSeparatorFunc");
   GtkCellView__sym = s7_make_symbol(sc, "GtkCellView_");
   GtkAccelMap__sym = s7_make_symbol(sc, "GtkAccelMap_");
-  GtkClipboardTargetsReceivedFunc_sym = s7_make_symbol(sc, "GtkClipboardTargetsReceivedFunc");
   GtkToolButton__sym = s7_make_symbol(sc, "GtkToolButton_");
   GtkIconInfo__sym = s7_make_symbol(sc, "GtkIconInfo_");
   gchar___sym = s7_make_symbol(sc, "gchar__");
@@ -54402,7 +53909,7 @@ static void define_symbols(s7_scheme *sc)
   GtkComboBox__sym = s7_make_symbol(sc, "GtkComboBox_");
   GtkTreeModelFilter__sym = s7_make_symbol(sc, "GtkTreeModelFilter_");
   GtkToolItem__sym = s7_make_symbol(sc, "GtkToolItem_");
-  GdkScreen__sym = s7_make_symbol(sc, "GdkScreen_");
+  GdkDisplay__sym = s7_make_symbol(sc, "GdkDisplay_");
   PangoLayoutRun__sym = s7_make_symbol(sc, "PangoLayoutRun_");
   PangoLayoutIter__sym = s7_make_symbol(sc, "PangoLayoutIter_");
   PangoLayoutLine__sym = s7_make_symbol(sc, "PangoLayoutLine_");
@@ -54427,6 +53934,7 @@ static void define_symbols(s7_scheme *sc)
   PangoAttribute__sym = s7_make_symbol(sc, "PangoAttribute_");
   PangoColor__sym = s7_make_symbol(sc, "PangoColor_");
   GtkWindow__sym = s7_make_symbol(sc, "GtkWindow_");
+  PangoContext__sym = s7_make_symbol(sc, "PangoContext_");
   AtkObject__sym = s7_make_symbol(sc, "AtkObject_");
   GtkViewport__sym = s7_make_symbol(sc, "GtkViewport_");
   GtkTreeViewSearchEqualFunc_sym = s7_make_symbol(sc, "GtkTreeViewSearchEqualFunc");
@@ -54486,16 +53994,10 @@ static void define_symbols(s7_scheme *sc)
   PangoLayout__sym = s7_make_symbol(sc, "PangoLayout_");
   GtkEntry__sym = s7_make_symbol(sc, "GtkEntry_");
   GtkEditable__sym = s7_make_symbol(sc, "GtkEditable_");
-  GtkTargetList__sym = s7_make_symbol(sc, "GtkTargetList_");
   etc_sym = s7_make_symbol(sc, "etc");
   GtkDialog__sym = s7_make_symbol(sc, "GtkDialog_");
   GtkCallback_sym = s7_make_symbol(sc, "GtkCallback");
   GtkContainer__sym = s7_make_symbol(sc, "GtkContainer_");
-  GtkClipboardTextReceivedFunc_sym = s7_make_symbol(sc, "GtkClipboardTextReceivedFunc");
-  GtkClipboardReceivedFunc_sym = s7_make_symbol(sc, "GtkClipboardReceivedFunc");
-  GtkClipboardClearFunc_sym = s7_make_symbol(sc, "GtkClipboardClearFunc");
-  GtkClipboardGetFunc_sym = s7_make_symbol(sc, "GtkClipboardGetFunc");
-  GtkTargetEntry__sym = s7_make_symbol(sc, "GtkTargetEntry_");
   GtkCheckMenuItem__sym = s7_make_symbol(sc, "GtkCheckMenuItem_");
   GtkCellRendererToggle__sym = s7_make_symbol(sc, "GtkCellRendererToggle_");
   GtkCellRendererText__sym = s7_make_symbol(sc, "GtkCellRendererText_");
@@ -54515,24 +54017,19 @@ static void define_symbols(s7_scheme *sc)
   GSList__sym = s7_make_symbol(sc, "GSList_");
   GObject__sym = s7_make_symbol(sc, "GObject_");
   GtkAccelGroup__sym = s7_make_symbol(sc, "GtkAccelGroup_");
-  GTimeVal__sym = s7_make_symbol(sc, "GTimeVal_");
-  GdkPixbufAnimationIter__sym = s7_make_symbol(sc, "GdkPixbufAnimationIter_");
-  GdkPixbufAnimation__sym = s7_make_symbol(sc, "GdkPixbufAnimation_");
   char___sym = s7_make_symbol(sc, "char__");
   GdkPixbufDestroyNotify_sym = s7_make_symbol(sc, "GdkPixbufDestroyNotify");
   GError__sym = s7_make_symbol(sc, "GError_");
+  guchar__sym = s7_make_symbol(sc, "guchar_");
+  GdkCursor__sym = s7_make_symbol(sc, "GdkCursor_");
   GdkGeometry__sym = s7_make_symbol(sc, "GdkGeometry_");
+  GList__sym = s7_make_symbol(sc, "GList_");
   GdkFilterFunc_sym = s7_make_symbol(sc, "GdkFilterFunc");
-  guchar__sym = s7_make_symbol(sc, "guchar_");
-  PangoContext__sym = s7_make_symbol(sc, "PangoContext_");
   GdkKeymapKey__sym = s7_make_symbol(sc, "GdkKeymapKey_");
   GdkKeymap__sym = s7_make_symbol(sc, "GdkKeymap_");
   GdkRectangle__sym = s7_make_symbol(sc, "GdkRectangle_");
   GdkEventFunc_sym = s7_make_symbol(sc, "GdkEventFunc");
-  GList__sym = s7_make_symbol(sc, "GList_");
   GdkDragContext__sym = s7_make_symbol(sc, "GdkDragContext_");
-  GdkDisplay__sym = s7_make_symbol(sc, "GdkDisplay_");
-  GdkCursor__sym = s7_make_symbol(sc, "GdkCursor_");
   GtkDestroyNotify_sym = s7_make_symbol(sc, "GtkDestroyNotify");
   GSignalEmissionHook_sym = s7_make_symbol(sc, "GSignalEmissionHook");
   GSignalInvocationHint__sym = s7_make_symbol(sc, "GSignalInvocationHint_");
@@ -54658,84 +54155,6 @@ static enummer_t enum_info[] = {
         {"G_SIGNAL_MATCH_FUNC", "GSignalMatchType", G_SIGNAL_MATCH_FUNC},
         {"G_SIGNAL_MATCH_DATA", "GSignalMatchType", G_SIGNAL_MATCH_DATA},
         {"G_SIGNAL_MATCH_UNBLOCKED", "GSignalMatchType", G_SIGNAL_MATCH_UNBLOCKED},
-        {"GDK_X_CURSOR", "GdkCursorType", GDK_X_CURSOR},
-        {"GDK_ARROW", "GdkCursorType", GDK_ARROW},
-        {"GDK_BASED_ARROW_DOWN", "GdkCursorType", GDK_BASED_ARROW_DOWN},
-        {"GDK_BASED_ARROW_UP", "GdkCursorType", GDK_BASED_ARROW_UP},
-        {"GDK_BOAT", "GdkCursorType", GDK_BOAT},
-        {"GDK_BOGOSITY", "GdkCursorType", GDK_BOGOSITY},
-        {"GDK_BOTTOM_LEFT_CORNER", "GdkCursorType", GDK_BOTTOM_LEFT_CORNER},
-        {"GDK_BOTTOM_RIGHT_CORNER", "GdkCursorType", GDK_BOTTOM_RIGHT_CORNER},
-        {"GDK_BOTTOM_SIDE", "GdkCursorType", GDK_BOTTOM_SIDE},
-        {"GDK_BOTTOM_TEE", "GdkCursorType", GDK_BOTTOM_TEE},
-        {"GDK_BOX_SPIRAL", "GdkCursorType", GDK_BOX_SPIRAL},
-        {"GDK_CENTER_PTR", "GdkCursorType", GDK_CENTER_PTR},
-        {"GDK_CIRCLE", "GdkCursorType", GDK_CIRCLE},
-        {"GDK_CLOCK", "GdkCursorType", GDK_CLOCK},
-        {"GDK_COFFEE_MUG", "GdkCursorType", GDK_COFFEE_MUG},
-        {"GDK_CROSS", "GdkCursorType", GDK_CROSS},
-        {"GDK_CROSS_REVERSE", "GdkCursorType", GDK_CROSS_REVERSE},
-        {"GDK_CROSSHAIR", "GdkCursorType", GDK_CROSSHAIR},
-        {"GDK_DIAMOND_CROSS", "GdkCursorType", GDK_DIAMOND_CROSS},
-        {"GDK_DOT", "GdkCursorType", GDK_DOT},
-        {"GDK_DOTBOX", "GdkCursorType", GDK_DOTBOX},
-        {"GDK_DOUBLE_ARROW", "GdkCursorType", GDK_DOUBLE_ARROW},
-        {"GDK_DRAFT_LARGE", "GdkCursorType", GDK_DRAFT_LARGE},
-        {"GDK_DRAFT_SMALL", "GdkCursorType", GDK_DRAFT_SMALL},
-        {"GDK_DRAPED_BOX", "GdkCursorType", GDK_DRAPED_BOX},
-        {"GDK_EXCHANGE", "GdkCursorType", GDK_EXCHANGE},
-        {"GDK_FLEUR", "GdkCursorType", GDK_FLEUR},
-        {"GDK_GOBBLER", "GdkCursorType", GDK_GOBBLER},
-        {"GDK_GUMBY", "GdkCursorType", GDK_GUMBY},
-        {"GDK_HAND1", "GdkCursorType", GDK_HAND1},
-        {"GDK_HAND2", "GdkCursorType", GDK_HAND2},
-        {"GDK_HEART", "GdkCursorType", GDK_HEART},
-        {"GDK_ICON", "GdkCursorType", GDK_ICON},
-        {"GDK_IRON_CROSS", "GdkCursorType", GDK_IRON_CROSS},
-        {"GDK_LEFT_PTR", "GdkCursorType", GDK_LEFT_PTR},
-        {"GDK_LEFT_SIDE", "GdkCursorType", GDK_LEFT_SIDE},
-        {"GDK_LEFT_TEE", "GdkCursorType", GDK_LEFT_TEE},
-        {"GDK_LEFTBUTTON", "GdkCursorType", GDK_LEFTBUTTON},
-        {"GDK_LL_ANGLE", "GdkCursorType", GDK_LL_ANGLE},
-        {"GDK_LR_ANGLE", "GdkCursorType", GDK_LR_ANGLE},
-        {"GDK_MAN", "GdkCursorType", GDK_MAN},
-        {"GDK_MIDDLEBUTTON", "GdkCursorType", GDK_MIDDLEBUTTON},
-        {"GDK_MOUSE", "GdkCursorType", GDK_MOUSE},
-        {"GDK_PENCIL", "GdkCursorType", GDK_PENCIL},
-        {"GDK_PIRATE", "GdkCursorType", GDK_PIRATE},
-        {"GDK_PLUS", "GdkCursorType", GDK_PLUS},
-        {"GDK_QUESTION_ARROW", "GdkCursorType", GDK_QUESTION_ARROW},
-        {"GDK_RIGHT_PTR", "GdkCursorType", GDK_RIGHT_PTR},
-        {"GDK_RIGHT_SIDE", "GdkCursorType", GDK_RIGHT_SIDE},
-        {"GDK_RIGHT_TEE", "GdkCursorType", GDK_RIGHT_TEE},
-        {"GDK_RIGHTBUTTON", "GdkCursorType", GDK_RIGHTBUTTON},
-        {"GDK_RTL_LOGO", "GdkCursorType", GDK_RTL_LOGO},
-        {"GDK_SAILBOAT", "GdkCursorType", GDK_SAILBOAT},
-        {"GDK_SB_DOWN_ARROW", "GdkCursorType", GDK_SB_DOWN_ARROW},
-        {"GDK_SB_H_DOUBLE_ARROW", "GdkCursorType", GDK_SB_H_DOUBLE_ARROW},
-        {"GDK_SB_LEFT_ARROW", "GdkCursorType", GDK_SB_LEFT_ARROW},
-        {"GDK_SB_RIGHT_ARROW", "GdkCursorType", GDK_SB_RIGHT_ARROW},
-        {"GDK_SB_UP_ARROW", "GdkCursorType", GDK_SB_UP_ARROW},
-        {"GDK_SB_V_DOUBLE_ARROW", "GdkCursorType", GDK_SB_V_DOUBLE_ARROW},
-        {"GDK_SHUTTLE", "GdkCursorType", GDK_SHUTTLE},
-        {"GDK_SIZING", "GdkCursorType", GDK_SIZING},
-        {"GDK_SPIDER", "GdkCursorType", GDK_SPIDER},
-        {"GDK_SPRAYCAN", "GdkCursorType", GDK_SPRAYCAN},
-        {"GDK_STAR", "GdkCursorType", GDK_STAR},
-        {"GDK_TARGET", "GdkCursorType", GDK_TARGET},
-        {"GDK_TCROSS", "GdkCursorType", GDK_TCROSS},
-        {"GDK_TOP_LEFT_ARROW", "GdkCursorType", GDK_TOP_LEFT_ARROW},
-        {"GDK_TOP_LEFT_CORNER", "GdkCursorType", GDK_TOP_LEFT_CORNER},
-        {"GDK_TOP_RIGHT_CORNER", "GdkCursorType", GDK_TOP_RIGHT_CORNER},
-        {"GDK_TOP_SIDE", "GdkCursorType", GDK_TOP_SIDE},
-        {"GDK_TOP_TEE", "GdkCursorType", GDK_TOP_TEE},
-        {"GDK_TREK", "GdkCursorType", GDK_TREK},
-        {"GDK_UL_ANGLE", "GdkCursorType", GDK_UL_ANGLE},
-        {"GDK_UMBRELLA", "GdkCursorType", GDK_UMBRELLA},
-        {"GDK_UR_ANGLE", "GdkCursorType", GDK_UR_ANGLE},
-        {"GDK_WATCH", "GdkCursorType", GDK_WATCH},
-        {"GDK_XTERM", "GdkCursorType", GDK_XTERM},
-        {"GDK_LAST_CURSOR ", "GdkCursorType", GDK_LAST_CURSOR },
         {"GDK_ACTION_DEFAULT", "GdkDragAction", GDK_ACTION_DEFAULT},
         {"GDK_ACTION_COPY", "GdkDragAction", GDK_ACTION_COPY},
         {"GDK_ACTION_MOVE", "GdkDragAction", GDK_ACTION_MOVE},
@@ -54757,24 +54176,13 @@ static enummer_t enum_info[] = {
         {"GDK_CONFIGURE", "GdkEventType", GDK_CONFIGURE},
         {"GDK_MAP", "GdkEventType", GDK_MAP},
         {"GDK_UNMAP", "GdkEventType", GDK_UNMAP},
-        {"GDK_PROPERTY_NOTIFY", "GdkEventType", GDK_PROPERTY_NOTIFY},
-        {"GDK_SELECTION_CLEAR", "GdkEventType", GDK_SELECTION_CLEAR},
-        {"GDK_SELECTION_REQUEST", "GdkEventType", GDK_SELECTION_REQUEST},
-        {"GDK_SELECTION_NOTIFY", "GdkEventType", GDK_SELECTION_NOTIFY},
         {"GDK_PROXIMITY_IN", "GdkEventType", GDK_PROXIMITY_IN},
         {"GDK_PROXIMITY_OUT", "GdkEventType", GDK_PROXIMITY_OUT},
         {"GDK_DRAG_ENTER", "GdkEventType", GDK_DRAG_ENTER},
         {"GDK_DRAG_LEAVE", "GdkEventType", GDK_DRAG_LEAVE},
         {"GDK_DRAG_MOTION", "GdkEventType", GDK_DRAG_MOTION},
-        {"GDK_DRAG_STATUS", "GdkEventType", GDK_DRAG_STATUS},
         {"GDK_DROP_START", "GdkEventType", GDK_DROP_START},
-        {"GDK_DROP_FINISHED", "GdkEventType", GDK_DROP_FINISHED},
-        {"GDK_CLIENT_EVENT", "GdkEventType", GDK_CLIENT_EVENT},
-        {"GDK_VISIBILITY_NOTIFY", "GdkEventType", GDK_VISIBILITY_NOTIFY},
         {"GDK_SCROLL", "GdkEventType", GDK_SCROLL},
-        {"GDK_WINDOW_STATE", "GdkEventType", GDK_WINDOW_STATE},
-        {"GDK_SETTING", "GdkEventType", GDK_SETTING},
-        {"GDK_OWNER_CHANGE", "GdkEventType", GDK_OWNER_CHANGE},
         {"GDK_GRAB_BROKEN", "GdkEventType", GDK_GRAB_BROKEN},
         {"GDK_EXPOSURE_MASK", "GdkEventMask", GDK_EXPOSURE_MASK},
         {"GDK_POINTER_MOTION_MASK", "GdkEventMask", GDK_POINTER_MOTION_MASK},
@@ -54791,12 +54199,10 @@ static enummer_t enum_info[] = {
         {"GDK_FOCUS_CHANGE_MASK", "GdkEventMask", GDK_FOCUS_CHANGE_MASK},
         {"GDK_STRUCTURE_MASK", "GdkEventMask", GDK_STRUCTURE_MASK},
         {"GDK_PROPERTY_CHANGE_MASK", "GdkEventMask", GDK_PROPERTY_CHANGE_MASK},
-        {"GDK_VISIBILITY_NOTIFY_MASK", "GdkEventMask", GDK_VISIBILITY_NOTIFY_MASK},
         {"GDK_PROXIMITY_IN_MASK", "GdkEventMask", GDK_PROXIMITY_IN_MASK},
         {"GDK_PROXIMITY_OUT_MASK", "GdkEventMask", GDK_PROXIMITY_OUT_MASK},
         {"GDK_SUBSTRUCTURE_MASK", "GdkEventMask", GDK_SUBSTRUCTURE_MASK},
         {"GDK_SCROLL_MASK", "GdkEventMask", GDK_SCROLL_MASK},
-        {"GDK_ALL_EVENTS_MASK", "GdkEventMask", GDK_ALL_EVENTS_MASK},
         {"GDK_SCROLL_UP", "GdkScrollDirection", GDK_SCROLL_UP},
         {"GDK_SCROLL_DOWN", "GdkScrollDirection", GDK_SCROLL_DOWN},
         {"GDK_SCROLL_LEFT", "GdkScrollDirection", GDK_SCROLL_LEFT},
@@ -54810,18 +54216,10 @@ static enummer_t enum_info[] = {
         {"GDK_CROSSING_NORMAL", "GdkCrossingMode", GDK_CROSSING_NORMAL},
         {"GDK_CROSSING_GRAB", "GdkNotifyType", GDK_CROSSING_GRAB},
         {"GDK_CROSSING_UNGRAB", "GdkNotifyType", GDK_CROSSING_UNGRAB},
-        {"GDK_PROPERTY_NEW_VALUE", "GdkPropertyState", GDK_PROPERTY_NEW_VALUE},
-        {"GDK_PROPERTY_DELETE", "GdkPropertyState", GDK_PROPERTY_DELETE},
         {"GDK_WINDOW_STATE_WITHDRAWN", "GdkWindowState", GDK_WINDOW_STATE_WITHDRAWN},
         {"GDK_WINDOW_STATE_ICONIFIED", "GdkWindowState", GDK_WINDOW_STATE_ICONIFIED},
         {"GDK_WINDOW_STATE_MAXIMIZED", "GdkWindowState", GDK_WINDOW_STATE_MAXIMIZED},
         {"GDK_WINDOW_STATE_STICKY", "GdkWindowState", GDK_WINDOW_STATE_STICKY},
-        {"GDK_SETTING_ACTION_NEW", "GdkSettingAction", GDK_SETTING_ACTION_NEW},
-        {"GDK_SETTING_ACTION_CHANGED", "GdkSettingAction", GDK_SETTING_ACTION_CHANGED},
-        {"GDK_SETTING_ACTION_DELETED", "GdkSettingAction", GDK_SETTING_ACTION_DELETED},
-        {"GDK_PROP_MODE_REPLACE", "GdkPropMode", GDK_PROP_MODE_REPLACE},
-        {"GDK_PROP_MODE_PREPEND", "GdkPropMode", GDK_PROP_MODE_PREPEND},
-        {"GDK_PROP_MODE_APPEND", "GdkPropMode", GDK_PROP_MODE_APPEND},
         {"GDK_LSB_FIRST", "GdkByteOrder", GDK_LSB_FIRST},
         {"GDK_MSB_FIRST", "GdkByteOrder", GDK_MSB_FIRST},
         {"GDK_SHIFT_MASK", "GdkModifierType", GDK_SHIFT_MASK},
@@ -55038,8 +54436,6 @@ static enummer_t enum_info[] = {
         {"GTK_SORT_ASCENDING", "GtkSortType", GTK_SORT_ASCENDING},
         {"GTK_SORT_DESCENDING", "GtkSortType", GTK_SORT_DESCENDING},
         {"GTK_IMAGE_EMPTY", "GtkImageType", GTK_IMAGE_EMPTY},
-        {"GTK_IMAGE_PIXBUF", "GtkImageType", GTK_IMAGE_PIXBUF},
-        {"GTK_IMAGE_ANIMATION", "GtkImageType", GTK_IMAGE_ANIMATION},
         {"GTK_MESSAGE_INFO", "GtkMessageType", GTK_MESSAGE_INFO},
         {"GTK_MESSAGE_WARNING", "GtkMessageType", GTK_MESSAGE_WARNING},
         {"GTK_MESSAGE_QUESTION", "GtkMessageType", GTK_MESSAGE_QUESTION},
@@ -55451,7 +54847,6 @@ static enummer_t enum_info[] = {
 #if GTK_CHECK_VERSION(2, 16, 0)
         {"GTK_ENTRY_ICON_PRIMARY", "GtkEntryIconPosition", GTK_ENTRY_ICON_PRIMARY},
         {"GTK_ENTRY_ICON_SECONDARY", "GtkEntryIconPosition", GTK_ENTRY_ICON_SECONDARY},
-        {"GDK_BLANK_CURSOR ", "GdkCursorType", GDK_BLANK_CURSOR },
 #endif
 #if GTK_CHECK_VERSION(2, 18, 0)
         {"PANGO_WEIGHT_THIN", "PangoWeight", PANGO_WEIGHT_THIN},
@@ -55465,10 +54860,6 @@ static enummer_t enum_info[] = {
         {"GTK_TEXT_SEARCH_CASE_INSENSITIVE", "GtkTextSearchFlags", GTK_TEXT_SEARCH_CASE_INSENSITIVE},
         {"GTK_SCROLL_MINIMUM", "GtkScrollablePolicy", GTK_SCROLL_MINIMUM},
         {"GTK_SCROLL_NATURAL", "GtkScrollablePolicy", GTK_SCROLL_NATURAL},
-        {"GTK_TARGET_SAME_APP", "GtkTargetFlags", GTK_TARGET_SAME_APP},
-        {"GTK_TARGET_SAME_WIDGET", "GtkTargetFlags", GTK_TARGET_SAME_WIDGET},
-        {"GTK_TARGET_OTHER_APP", "GtkTargetFlags", GTK_TARGET_OTHER_APP},
-        {"GTK_TARGET_OTHER_WIDGET", "GtkTargetFlags", GTK_TARGET_OTHER_WIDGET},
         {"GTK_ALIGN_FILL", "GtkAlign", GTK_ALIGN_FILL},
         {"GTK_ALIGN_START", "GtkAlign", GTK_ALIGN_START},
         {"GTK_ALIGN_END", "GtkAlign", GTK_ALIGN_END},
@@ -55711,6 +55102,16 @@ static enummer_t enum_info[] = {
         {"GTK_EVENT_CONTROLLER_SCROLL_DISCRETE", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_DISCRETE},
         {"GTK_EVENT_CONTROLLER_SCROLL_KINETIC", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_KINETIC},
         {"GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES},
+        {"GDK_DEVICE_TYPE_MASTER", "GdkDeviceType", GDK_DEVICE_TYPE_MASTER},
+        {"GDK_DEVICE_TYPE_SLAVE", "GdkDeviceType", GDK_DEVICE_TYPE_SLAVE},
+        {"GDK_DEVICE_TYPE_FLOATING", "GdkDeviceType", GDK_DEVICE_TYPE_FLOATING},
+        {"GDK_SEAT_CAPABILITY_TABLET_PAD", "GdkSeatCapabilities", GDK_SEAT_CAPABILITY_TABLET_PAD},
+        {"GTK_ICON_SIZE_INHERIT", "GtkIconSize", GTK_ICON_SIZE_INHERIT},
+        {"GTK_ICON_SIZE_NORMAL", "GtkIconSize", GTK_ICON_SIZE_NORMAL},
+        {"GTK_ICON_SIZE_LARGE", "GtkIconSize", GTK_ICON_SIZE_LARGE},
+        {"GTK_STATE_FLAG_FOCUS_VISIBLE", "GtkStateFlags", GTK_STATE_FLAG_FOCUS_VISIBLE},
+        {"GTK_IMAGE_SURFACE", "GtkImageType", GTK_IMAGE_SURFACE},
+        {"GTK_IMAGE_TEXTURE", "GtkImageType", GTK_IMAGE_TEXTURE},
 #endif
         {NULL, NULL, 0}};
 
@@ -55852,7 +55253,7 @@ void libgtk_s7_init(s7_scheme *sc)
       s7_provide(sc, "gtk2");
     #endif
   #endif
-  s7_define(sc, cur_env, s7_make_symbol(sc, "libgtk-version"), s7_make_string(sc, "28-Nov-17"));
+  s7_define(sc, cur_env, s7_make_symbol(sc, "libgtk-version"), s7_make_string(sc, "01-Jan-18"));
 }
 /* gcc -c libgtk_s7.c -o libgtk_s7.o -I. -fPIC `pkg-config --libs gtk+-3.0 --cflags` -lm -ldl */
 /* gcc libgtk_s7.o -shared -o libgtk_s7.so */
diff --git a/makefile.in b/makefile.in
index 999e962..4cfe26f 100644
--- a/makefile.in
+++ b/makefile.in
@@ -72,7 +72,7 @@ O_FILES = snd-io.o snd-utils.o snd-listener.o snd-completion.o snd-menu.o snd-ax
 
 MOTIF_O_FILES = snd-gxbitmaps.o snd-gxcolormaps.o snd-motif.o xm.o
 
-GTK_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gmain.o snd-gmix.o snd-genv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gfile.o snd-gprefs.o xg.o
+GTK_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gmain.o snd-gmix.o snd-genv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gfile.o snd-gprefs.o
 # xg.o is optional, and the functionality can be loaded at run-time (libxg.so or libgtk_s7.so), but there's no obvious reason to wait (core sizes are nearly the same, etc)
 
 NO_GUI_O_FILES = snd-nogui.o
diff --git a/marks.fs b/marks.fs
index 4be0058..2dc2813 100644
--- a/marks.fs
+++ b/marks.fs
@@ -1,8 +1,10 @@
 \ marks.fs -- marks.scm|rb -> marks.fs
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Tue Dec 27 19:22:06 CET 2005
-\ Changed: Wed Nov 21 19:52:34 CET 2012
+\ Created: 05/12/27 19:22:06
+\ Changed: 17/12/02 07:56:15
+\
+\ @(#)marks.fs	1.28 12/2/17
 
 \ Commentary:
 \
@@ -118,13 +120,12 @@ the channel's edit history."
 \ --- Mark Properties ---
 hide
 : mark-writeit { mp mhome msamp io -- }
-	io "\t%S 0 find-sound to snd\n"
-	    #( mhome 0 array-ref file-name ) io-write-format
+	io "\t%S 0 find-sound to snd\n" #( mhome car file-name ) io-write-format
 	io "\tsnd sound? if\n" io-write
-	io "    %d snd %d find-mark to mk\n"
-	    #( msamp mhome 1 array-ref ) io-write-format
+	io "\t\t%d snd %d find-mark to mk\n"
+	    #( msamp mhome cadr ) io-write-format
 	io "\t\tmk mark? if\n" io-write
-	io "\t\t\tmk %S set-mark-properties\n" #( mp ) io-write-format
+	io "\t\t\tmk %S set-mark-properties drop\n" #( mp ) io-write-format
 	io "\t\tthen\n" io-write
 	io "\tthen\n" io-write
 ;
@@ -166,20 +167,23 @@ previous
 	doc" A mark-click-hook function that describes a \
 mark and its properties.\n\
 mark-click-hook <'> mark-click-info add-hook!."
-	"      mark id: %s\n" #( id ) string-format
+	id mark-name { name }
+	id undef mark-sample { samp }
+	id mark-home car { snd }
+	id mark-sync { syn }
+	id mark-properties { props }
+	"\n   mark id: %s\n\n" #( id ) string-format
 	    make-string-output-port { prt }
-	id mark-name empty? unless
-		prt "         name: %s\n" #( id mark-name ) port-puts-format
+	name empty? unless
+		prt "      name: %s\n" #( name ) port-puts-format
 	then
-	prt "       sample: %s (%.3f secs)\n"
-	    #( id undef mark-sample dup id mark-home 0 array-ref srate f/ )
-	    port-puts-format
-	id mark-sync if
-		prt "         sync: %s\n" #( id mark-sync ) port-puts-format
+	prt "    sample: %s (%.3f secs)\n"
+	    #( samp samp snd srate f/ ) port-puts-format
+	syn if
+		prt "      sync: %s\n" #( syn ) port-puts-format
 	then
-	id mark-properties { props }
 	props empty? unless
-		prt "   properties: %s" #( props ) port-puts-format
+		prt "properties: %s" #( props ) port-puts-format
 	then
 	"Mark Info" prt port->string info-dialog drop
 	#t
@@ -191,12 +195,12 @@ mark-click-hook <'> mark-click-info add-hook!."
 : marks->string { snd -- str }
 	"\nrequire marks\n" make-string-output-port { prt }
 	prt "let: ( -- )\n" port-puts
-	prt "\t#f { mr }\n" port-puts
+	prt "\t#f { mk }\n" port-puts
 	snd marks each { chan-marks }
 		prt "\n\t\\ channel %d\n" #( i ) port-puts-format
 		chan-marks each { m }
 			m nil? ?leave
-			"\t%s #f %d %S %d add-mark to mk\n"
+			prt "\t%s #f %d %S %d add-mark to mk\n"
 			    #( m undef mark-sample
 			       j ( chn )
 			       m mark-name length 0= if
@@ -207,7 +211,7 @@ mark-click-hook <'> mark-click-info add-hook!."
 			       m mark-sync ) port-puts-format
 			m mark-properties { props }
 			props if
-				"\tmk %S set-mark-properties\n"
+				prt "\tmk %S set-mark-properties drop\n"
 				    #( props ) port-puts-format
 			then
 		end-each
@@ -217,7 +221,7 @@ mark-click-hook <'> mark-click-info add-hook!."
 ;
 
 0 [if]
-	output-comment-hook lambda: <{ str }>
+	output-comment-hook lambda: <{ str -- str' }>
 		selected-sound marks->string
 	; add-hook!
 
diff --git a/mix.fs b/mix.fs
index c08eebb..b2fa8a2 100644
--- a/mix.fs
+++ b/mix.fs
@@ -2,9 +2,9 @@
 
 \ Translator: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/10/11 18:23:12
-\ Changed: 14/04/27 16:13:40
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)mix.fs	1.35 4/27/14
+\ @(#)mix.fs	1.36 12/2/17
 
 \ Commentary:
 \
diff --git a/peak-phases.scm b/peak-phases.scm
index bd8da17..9742b9f 100644
--- a/peak-phases.scm
+++ b/peak-phases.scm
@@ -1477,21 +1477,21 @@
 (vector 512 34.212551772691 #r(0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1)
 
       ;; from (try-all :all 512 513 1.0491155462743 0.38189660798029) = 28.3830
-	23.369940 #(0.000000 0.415708 1.659873 1.362841 1.822750 1.151056 0.748517 1.255030 0.515656 0.111140 0.651725 1.902492 1.506733 0.075567 1.260956 0.899986 1.489090 0.669724 0.338710 0.881469 0.065059 1.754784 0.300449 1.455475 1.193120 1.738573 0.868023 0.695100 1.142852 0.331838 0.197827 0.570473 1.787288 1.700490 0.116701 1.302476 1.156327 1.741160 0.829129 0.626358 1.300497 0.348506 0.110259 0.798130 1.878202 1.619890 0.214476 1.382661 1.224979 1.686071 0.955395 0.817621 1.188196 0.537730 0.420731 0.859654 0.095836 0.022759 0.534012 1.656649 1.574745 0.089476 1.162116 1.099064 1.615056 0.732736 0.632992 1.112695 0.314672 0.213440 0.790203 -0.019422 1.871607 0.541854 1.712293 1.556987 0.215772 1.363926 1.235283 1.782353 0.939392 0.844122 1.349509 0.570349 0.458544 1.014926 0.359410 0.154686 0.737003 0.108352 1.879148 0.435392 1.720805 1.631493 0.139005 1.342639 1.406057 1.834781 0.994059 1.103299 1.580160 0.777917 0.802298 1.357627 0.599464 0.466724 1.097533 0.348059 0.293201 0.825998 0.085491 0.103060 0.600284 1.787113 1.835369 0.387978 1.603210 1.589906 0.152271 1.504907 1.377904 1.938027 1.294325 1.142792 1.814202 1.098532 1.001121 1.662203 0.983630 0.848344 1.440664 0.782519 0.719989 1.310164 0.534294 0.580001 1.151979 0.445418 0.436638 0.921402 0.291456 0.329408 0.888057 0.148262 0.217740 0.816089 0.081157 0.079129 0.639759 0.007654 0.016949 0.618407 1.949528 1.953266 0.571223 1.806684 1.880485 0.402537 1.720665 1.830398 0.369560 1.812737 1.720863 0.358060 1.772221 1.584685 0.319412 1.547914 1.622643 0.347798 1.521475 1.694234 0.378534 1.689263 1.676372 0.327879 1.822263 1.622147 0.304361 1.795625 1.625648 0.348040 1.644219 1.659801 0.325845 1.641357 1.655671 0.306008 1.783786 1.726752 0.476493 1.800142 1.829475 0.641199 1.788071 1.919945 0.632414 1.920893 0.007730 0.605421 0.067130 0.146306 0.782004 0.237907 0.259936 0.889527 0.237143 0.332823 1.003298 0.276457 0.360939 1.141217 0.512195 0.553769 1.367271 0.736655 0.762005 1.478785 0.913141 0.973819 1.678750 1.043855 1.093449 1.812946 1.272466 1.175188 -0.008636 1.403091 1.310375 0.049887 1.532871 1.641452 0.347374 1.639098 1.904952 0.574088 0.052874 0.216991 0.921846 0.325658 0.229463 1.014489 0.605231 0.615083 1.356821 0.706906 0.740514 1.571121 0.980359 1.372285 1.973239 1.262027 1.369130 0.062576 1.683383 1.738537 0.466985 1.886456 -0.166118 0.694384 0.253080 0.388445 1.148752 0.408513 0.564554 1.443265 0.908561 1.019246 1.754271 1.185820 1.288902 0.090122 1.668917 1.731703 0.555234 0.012166 0.016077 0.789372 0.292356 0.376617 1.291092 0.658102 0.697887 1.424247 1.010105 1.257235 0.113179 1.542462 1.660516 0.434989 1.871113 0.193436 0.875480 0.483044 0.537914 1.438614 0.760559 0.898617 1.682658 1.254622 1.494706 0.313334 1.790500 1.833638 0.664273 0.037012 0.382220 1.093979 0.906935 0.865788 1.812266 1.193650 1.240064 0.121877 1.600319 1.886147 0.784193 0.337457 0.334851 1.392019 0.582803 0.926632 1.757501 1.298081 1.515724 0.356783 1.956297 -0.069262 0.848925 0.311728 0.591740 1.359670 1.072897 1.280716 0.103536 1.592788 1.714235 0.753067 0.267995 0.499149 1.228922 0.676387 1.072838 1.904994 1.543667 1.496490 0.420685 -0.097703 0.292021 0.977116 0.717174 0.802311 1.667165 1.361864 1.482756 0.377439 1.886993 0.204413 1.138389 0.736987 0.952960 1.851841 1.380980 1.579616 0.470926 -0.009306 0.210493 1.206500 0.797472 0.945708 1.851092 1.426183 1.602020 0.580024 0.194331 0.438116 1.374302 0.838779 1.186662 0.129907 1.792108 0.004920 0.910733 0.413681 0.692177 1.630692 1.283970 1.502744 0.444180 -0.041315 0.384250 1.210804 0.784091 1.021520 -0.077348 1.589330 1.862774 0.702469 0.421161 0.605415 1.602280 1.162649 1.496679 0.613169 0.155724 0.425522 1.179066 0.909636 1.310902 0.212453 1.952271 0.008387 1.026950 0.667494 0.883138 0.047366 1.591343 1.949841 0.981064 0.371874 0.861284 1.728340 1.501879 1.725201 0.558988 0.189664 0.487184 1.441999 1.234666 1.428055 0.494527 0.037156 0.448578 1.523787 1.198398 1.500277 0.347702 0.044322 0.349455 1.337452 0.959215 1.372988 0.315614 -0.155819 0.246986 1.302760 0.970045 1.305918 0.287169 0.100540 0.308064 1.315743 0.993041 1.424410 0.432695 0.070337 0.525386 1.374121 1.083533 1.388778 0.358893 0.299435 0.377260 1.485674 1.072049 1.386865 0.524928 0.224450 0.557326 1.661045 1.142342 1.692565 0.692752 0.405661 0.704619 1.785973 1.642033 1.926347 0.852363 0.615155 0.980845 -0.008538 1.728547 0.126428 1.163736 0.823507 1.270717 0.281281 -0.006297 0.408839 1.478923 1.172459 1.548238 0.552830 0.334290 0.849005 1.837681 1.622512 0.008053 1.042424 0.818584 1.157027 0.317440 0.107025 0.460277 1.536710 1.319400 1.800590 0.827201 0.491325 1.012172 0.080808)
+	23.299772 #(0.000000 0.386867 1.653764 1.366490 1.818957 1.170179 0.746011 1.244621 0.518713 0.125019 0.674384 1.904498 1.527512 0.082612 1.261964 0.908804 1.478919 0.659339 0.335306 0.893817 0.039604 1.753664 0.304702 1.455181 1.210349 1.722942 0.874204 0.692842 1.152493 0.333639 0.198413 0.574585 1.793774 1.692528 0.109057 1.300872 1.135949 1.738729 0.846005 0.611687 1.284908 0.353267 0.121224 0.785181 1.889524 1.643643 0.216178 1.390272 1.233329 1.684259 0.950760 0.838494 1.194686 0.536472 0.419880 0.848288 0.083689 0.018461 0.519133 1.642975 1.581227 0.082761 1.150942 1.105620 1.623148 0.727690 0.644645 1.116583 0.315144 0.219333 0.778983 -0.016249 1.868083 0.556306 1.733202 1.543639 0.230380 1.363258 1.229727 1.786609 0.917892 0.835861 1.337995 0.568455 0.464500 0.990659 0.357160 0.168560 0.728465 0.103760 1.869474 0.409622 1.729520 1.619029 0.155254 1.343230 1.406880 1.858807 0.997910 1.114858 1.581186 0.789136 0.801304 1.349932 0.575992 0.486203 1.072693 0.321756 0.304712 0.800152 0.061413 0.116895 0.582393 1.796183 1.832116 0.365832 1.602908 1.574644 0.159250 1.473171 1.367437 1.968767 1.313038 1.150495 1.813524 1.112722 0.997630 1.661252 0.976659 0.856130 1.451091 0.773899 0.705576 1.299185 0.528052 0.590311 1.133330 0.446161 0.467437 0.919881 0.293853 0.333210 0.887788 0.158282 0.213417 0.810749 0.088227 0.078554 0.641800 0.003392 0.024152 0.638942 1.945375 1.952353 0.567979 1.796186 1.868957 0.384160 1.714646 1.816815 0.359319 1.818367 1.704104 0.358628 1.775122 1.590345 0.316125 1.531330 1.611076 0.337439 1.505010 1.691221 0.378415 1.692246 1.679451 0.315028 1.838293 1.606981 0.284923 1.796870 1.613093 0.352021 1.621512 1.652141 0.312857 1.649903 1.644687 0.294116 1.777931 1.734554 0.475733 1.794350 1.831162 0.650501 1.743148 1.931773 0.635291 1.918172 -0.001249 0.603514 0.080947 0.147011 0.779708 0.246631 0.262703 0.882902 0.234058 0.327815 0.981935 0.282108 0.365100 1.126390 0.492709 0.546011 1.345411 0.752725 0.746311 1.482065 0.891452 0.977980 1.688653 1.038449 1.081657 1.824187 1.278595 1.149128 -0.020212 1.410878 1.306096 0.045200 1.506784 1.625233 0.323214 1.618253 1.925909 0.564542 0.057351 0.209289 0.932613 0.313158 0.243212 1.022397 0.619542 0.601466 1.359007 0.701112 0.739557 1.544056 0.938554 1.379866 1.977760 1.246572 1.386381 0.074300 1.688348 1.724083 0.495575 1.891252 -0.176740 0.666892 0.261792 0.401468 1.148564 0.411462 0.558164 1.438744 0.911699 1.019795 1.756921 1.181318 1.287771 0.079913 1.667824 1.732414 0.552403 0.001263 -0.029263 0.786376 0.305290 0.378021 1.294591 0.650345 0.692059 1.408668 1.020546 1.240107 0.127517 1.538393 1.651668 0.428778 1.851409 0.190968 0.874054 0.503894 0.524635 1.439819 0.740797 0.916046 1.664650 1.208531 1.493462 0.317220 1.794286 1.832534 0.667649 0.017192 0.378171 1.075960 0.899445 0.868669 1.818976 1.206372 1.234105 0.106640 1.585783 1.861491 0.768682 0.359215 0.329113 1.403666 0.580395 0.915306 1.747020 1.299636 1.499519 0.340156 1.965786 -0.065730 0.835157 0.287537 0.578570 1.345174 1.104840 1.297683 0.095494 1.580614 1.708048 0.732690 0.274559 0.521891 1.238159 0.648070 1.073873 1.920384 1.546034 1.498094 0.405171 -0.111723 0.279392 0.970776 0.681472 0.769716 1.640223 1.373362 1.456565 0.385381 1.882042 0.193384 1.127427 0.715098 0.973386 1.825854 1.389692 1.547269 0.466093 -0.005414 0.227318 1.208511 0.787993 0.956667 1.843825 1.433072 1.606493 0.570030 0.186871 0.454028 1.374845 0.840830 1.168267 0.122427 1.795252 0.012255 0.917339 0.420088 0.673910 1.628085 1.263288 1.504285 0.442148 -0.051930 0.380624 1.228797 0.807609 1.018720 -0.090053 1.578068 1.853101 0.684012 0.422285 0.620785 1.595449 1.134028 1.494760 0.647234 0.154948 0.429315 1.185286 0.917558 1.305853 0.209447 1.994428 -0.004619 1.001745 0.653040 0.855336 0.049797 1.586575 1.968552 0.987600 0.390944 0.867073 1.741306 1.509980 1.734500 0.537146 0.198797 0.487062 1.478397 1.227608 1.415524 0.494855 0.045893 0.451984 1.506378 1.205682 1.494139 0.349113 0.034369 0.344985 1.338910 0.960686 1.352588 0.302967 -0.183583 0.252702 1.311297 0.969424 1.268810 0.290973 0.110504 0.284687 1.315580 0.995060 1.453911 0.440530 0.047797 0.544504 1.383593 1.093896 1.395029 0.362279 0.297416 0.364840 1.455226 1.084062 1.386386 0.527002 0.204593 0.574567 1.665239 1.129179 1.676427 0.680383 0.414686 0.694543 1.767090 1.642062 1.924606 0.855396 0.604481 0.968244 -0.000461 1.745841 0.146160 1.168327 0.845103 1.276116 0.302137 0.006226 0.391359 1.497794 1.162035 1.543555 0.559514 0.335102 0.856044 1.838771 1.627771 0.011137 1.042457 0.828655 1.164141 0.331256 0.101556 0.485853 1.528598 1.297688 1.796647 0.829820 0.501243 1.019665 0.104593)
 	)
 
 ;;; 1024 all -------------------------------------------------------------------------------- (32)
 (vector 1024 54.490282136658 #r(0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0)
 
        ;; from (try-all :all 1024 1025 0.0030465754082342 1.0966230312279) = 39.6408 -- starting point for next
-	33.253383 #(0.000000 0.240929 0.597315 0.985935 1.357642 1.686190 0.062821 0.467612 0.798934 1.190456 1.588971 1.934015 0.310402 0.741754 1.041486 1.451743 1.822164 0.238030 0.534848 0.933898 1.322431 1.742044 0.086252 0.531375 0.895655 1.303977 1.648198 0.097334 0.472783 0.866870 1.275185 1.743183 0.212078 0.587306 1.023374 1.380033 1.860846 0.242852 0.623235 1.111100 1.507567 1.950407 0.357920 0.820408 1.253926 1.723968 0.108057 0.578779 1.045274 1.441460 1.903307 0.332545 0.774133 1.264908 1.719532 0.132098 0.578560 1.044456 1.437115 1.932492 0.419872 0.891460 1.331982 1.854978 0.337640 0.850700 1.281003 1.764450 0.261103 0.692238 1.232592 1.732951 0.171526 0.635128 1.171887 1.640711 0.133085 0.618942 1.090035 1.600171 0.103489 0.583772 1.121169 1.649655 0.153356 0.703810 1.187674 1.704394 0.268327 0.777807 1.312118 1.815180 0.288617 0.838214 1.357979 1.897785 0.438356 0.978284 1.490788 0.052486 0.606692 1.165768 1.697839 0.262641 0.808533 1.332249 1.856546 0.435425 0.992854 1.555644 0.120919 0.623669 1.248236 1.812497 0.392913 0.958834 1.511277 0.126416 0.731674 1.268458 1.833620 0.407843 1.051110 1.586402 0.180488 0.807291 1.383415 0.000430 0.568637 1.194213 1.807488 0.399935 0.986469 1.624386 0.212763 0.786378 1.396791 -0.008243 0.597846 1.236167 1.855409 0.540332 1.145531 1.754200 0.423903 1.023359 1.616066 0.265069 0.890414 1.535203 0.162852 0.853917 1.494156 0.130418 0.775799 1.396286 0.040009 0.665554 1.358619 -0.034717 0.680347 1.328204 0.010779 0.730414 1.362877 0.015044 0.680333 1.349111 -0.013443 0.661526 1.350213 0.016722 0.677556 1.404627 0.070985 0.780573 1.491194 0.160739 0.842066 1.547613 0.210756 0.945997 1.648271 0.320150 1.047856 1.743968 0.473076 1.239021 1.962026 0.634123 1.337159 0.013422 0.751754 1.492247 0.231732 0.988297 1.680346 0.445932 1.144599 1.869411 0.538133 1.289524 0.082667 0.841719 1.603013 0.336141 1.032764 1.822900 0.563222 1.354273 0.093917 0.795538 1.569984 0.362301 1.105564 1.892931 0.651404 1.407704 0.162444 0.932150 1.739724 0.468863 1.317345 0.055538 0.847547 1.631648 0.434658 1.259681 0.032910 0.789900 1.573734 0.342491 1.155108 0.004172 0.800296 1.572571 0.403478 1.191136 -0.005815 0.853367 1.641554 0.461111 1.262596 0.070183 0.913553 1.739055 0.559982 1.385365 0.201013 1.056170 1.899081 0.717674 1.580160 0.420131 1.228087 0.028207 0.893882 1.776944 0.619720 1.500173 0.311862 1.173218 0.040934 0.908922 1.783633 0.666236 1.483551 0.343502 1.201892 0.067221 0.978099 1.823319 0.672547 1.550646 0.435798 1.312779 0.216096 1.106751 0.005908 0.852308 1.754948 0.654657 1.574681 0.454582 1.354833 0.267612 1.152940 0.045695 0.937380 1.836033 0.738302 1.707864 0.631197 1.517023 0.414148 1.337523 0.309383 1.212263 0.144626 1.077510 -0.015612 0.929566 1.854651 0.823527 1.721246 0.672168 1.619956 0.549134 1.480167 0.465708 1.429280 0.364855 1.320225 0.262021 1.243303 0.190604 1.143715 0.139446 1.079850 0.028985 0.985142 0.003035 0.934659 1.890444 0.930791 1.887622 0.826155 1.837561 0.891059 1.829966 0.758729 1.789905 0.797208 1.791940 0.760464 1.778160 0.798945 1.792553 0.752868 1.766959 0.787939 1.795337 0.812211 1.813540 0.823690 1.863601 0.867719 1.877485 0.926692 -0.028081 0.955379 0.031144 1.049886 0.072524 1.100109 0.118524 1.148704 0.191164 1.272299 0.276188 1.345540 0.375842 1.418553 0.471289 1.593087 0.576626 1.639590 0.771481 1.790150 0.813479 1.897990 0.980440 0.052897 1.115056 0.184914 1.262889 0.333005 1.423327 0.526508 1.599166 0.678463 1.715678 0.866475 1.950658 1.038408 0.168124 1.250854 0.334569 1.451035 0.495002 1.605585 0.743842 1.850352 0.981526 0.060427 1.200045 0.318237 1.362234 0.523475 1.667707 0.798301 1.896634 1.033023 0.143940 1.287181 0.424999 1.601511 0.704269 1.817565 1.015863 0.155096 1.257838 0.409704 1.572371 0.770302 1.891696 1.063191 0.218679 1.352730 0.496488 1.670559 0.830781 0.017680 1.184096 0.317002 1.509123 0.659514 1.855885 1.036106 0.234331 1.426914 0.585743 1.748383 0.954458 0.109757 1.306192 0.568369 1.739004 0.921345 0.118296 1.346585 0.551540 1.738885 0.936046 0.129292 1.387271 0.611286 1.786150 1.018150 0.220822 1.466460 0.691546 1.911377 1.121056 0.364336 1.634295 0.875994 0.070610 1.283549 0.555593 1.769321 1.015470 0.276173 1.511183 0.759760 0.024587 1.273489 0.496575 1.728382 1.023642 0.258247 1.515983 0.793829 0.038835 1.306513 0.606829 1.884771 1.134454 0.424195 1.685506 1.006334 0.293650 1.548714 0.818023 0.155805 1.443443 0.696119 -0.020236 1.267627 0.606555 1.874388 1.193557 0.521586 1.778555 1.097947 0.392920 1.709086 1.055267 0.317865 1.609919 0.956176 0.276536 1.586474 0.932298 0.282559 1.581773 0.924228 0.292925 1.576894 0.937134 0.262810 1.578790 0.969988 0.294445 1.616882 0.999022 0.319255 1.662526 1.010019 0.429559 1.760364 1.066629 0.417595 1.801719 1.183344 0.580396 1.936522 1.271518 0.654772 0.044702 1.400649 0.750511 0.173406 1.565845 0.959965 0.312900 1.685615 1.098353 0.467548 1.831149 1.285839 0.666118 0.065972 1.471485 0.900679 0.273364 1.709969 1.099439 0.539330 1.937877 1.345357 0.741413 0.164639 1.578518 1.017129 0.439558 1.852644 1.285302 0.712821 0.122395 1.621009 1.024739 0.478404 1.884097 1.343903 0.738998 0.268696 1.675767 1.135246 0.581061 0.019401 1.496914 0.919899 0.407796 1.881367 1.366938 0.807017 0.269866 1.731636 1.184942 0.693112 0.174596 1.608445 1.113524 0.624934 0.085852 1.558360 1.055236 0.567192 0.013074 1.523597 0.980558 0.498027 0.025514 1.514834 1.028590 0.496877 0.026642 1.534908 1.048098 0.575002 0.067206 1.577998 1.104060 0.662523 0.164005 1.655982 1.195481 0.758089 0.249450 1.793089 1.304492 0.841732 0.404626 1.909446 1.507746 0.988275 0.529837 0.098463 1.631656 1.238253 0.748080 0.329461 1.878754 1.433194 1.007631 0.582851 0.122755 1.631874 1.247485 0.789126 0.391634 1.985413 1.527284 1.176382 0.714163 0.298181 1.854101 1.406208 1.025277 0.619755 0.197847 1.817564 1.403569 1.000586 0.630861 0.198461 1.816224 1.369204 1.001327 0.643947 0.279633 1.858198 1.452176 1.101103 0.665637 0.380457 1.942976 1.543804 1.177120 0.811546 0.437611 0.105268 1.746751 1.341745 1.023440 0.591940 0.261477 1.908741 1.517524 1.179146 0.818156 0.505045 0.185505 1.823073 1.504479 1.145774 0.825220 0.437242 0.172082 1.812521 1.436882 1.141830 0.777203 0.466211 0.119405 1.869216 1.517618 1.227999 0.899221 0.540146 0.253412 1.911836 1.645807 1.345877 1.042438 0.720557 0.412053 0.121207 1.810948 1.578447 1.213885 0.940506 0.624340 0.414272 0.054161 1.821116 1.474102 1.226824 0.956104 0.690420 0.437931 0.161169 1.858970 1.602230 1.363972 1.068772 0.873077 0.556865 0.357628 0.057717 1.773786 1.503884 1.311991 1.022027 0.805581 0.566180 0.264997 0.111499 1.772111 1.582168 1.356579 1.102210 0.904252 0.692221 0.413703 0.170142 0.019355 1.735667 1.554221 1.364471 1.128820 0.920180 0.709854 0.492443 0.306893 0.067541 1.847610 1.741236 1.469597 1.276389 1.105713 0.902180 0.695102 0.497391 0.289161 0.135248 -0.015464 1.749881 1.587713 1.415423 1.267625 1.008551 0.927989 0.720006 0.539334 0.412205 0.229024 0.081546 1.967956 1.755820 1.621504 1.416533 1.305857 1.077437 0.964541 0.817387 0.682350 0.550642 0.431672 0.268970 0.163132 -0.020923 1.872520 1.713823 1.628832 1.460944 1.436214 1.205751 1.110993 1.010114 0.883903 0.716169 0.653257 0.511407 0.380428 0.298685 0.157339 0.037215 1.960638 1.874834 1.774606 1.663152 1.626445 1.501635 1.440327 1.401945 1.264735 1.178046 1.081729 1.029441 0.869850 0.823014 0.740101 0.751188 0.638791 0.531585 0.521517 0.433998 0.416063 0.219020 0.260106 0.183491 0.124658 0.015413 -0.003141 0.000202 1.946498 1.867111 1.796212 1.765277 1.767538 1.718542 1.651316 1.606768 1.602003 1.590779 1.520243 1.537536 1.464822 1.449312 1.413131 1.450106 1.460195 1.387263 1.398981 1.417910 1.406721 1.350999 1.385357 1.353168 1.312487 1.345554 1.368651 1.365895 1.385924 1.398116 1.375916 1.435121 1.461591 1.428856 1.439729 1.477806 1.436124 1.471751 1.505366 1.540468 1.576634 1.567654 1.661305 1.693140 1.731313 1.817727 1.816425 1.919320 1.879221 1.955299 -1.799328 0.052556 0.116928 0.160967 0.234479 0.316435 0.335348 0.436829 0.459333 0.496191 0.607699 0.673970 0.717801 0.794467 0.874053 0.939572 1.035900 1.043844 1.172861 1.291836 1.409235 1.445748 1.605997 1.659344 1.768687 1.854249 1.973917 0.038995 0.169462 0.252320 0.349600 0.469095 0.581058 0.746970 0.792282 0.954036 1.067332 1.206695 1.311137 1.449313 1.601347 1.687454 1.826739 1.970404 0.113502 0.216982 0.309558 0.445796 0.627967 0.762963 0.887075 1.065034 1.159270 1.354985 1.493067 1.623055 1.797009 -0.025699 0.172360 0.379813 0.505184 0.645033 0.844677 1.032065 1.225670 1.428498 1.564679 1.778395 1.943259 0.051378 0.300326 0.468669 0.642682 0.822312 1.059441 1.226400 1.361468 1.594759 1.736688 -0.033778 0.199360 0.372287 0.568663 0.823605 1.013402 1.257213 1.461751 1.651505 1.871080 0.138802 0.372219 0.579513 0.830436 1.089446 1.311512 1.561194 1.790327 -1.738548 0.204217 0.513166 0.705788 0.959191 1.147108 1.377459 1.706703 1.881643 0.193868 0.448381 0.702396 0.971348 1.189802 1.491417 1.749291 0.029835 0.308097 0.548967 0.795908 1.081320 1.360391 1.595969 1.906422 0.208484 0.460406 0.814339 1.118917 1.402433 1.694035 -0.001768 0.316885 0.613933 0.928861 1.198117 1.551526 1.853221 0.133760 0.487928 0.743887 1.070261 1.404384 1.669346 -0.012415 0.332058 0.708720 1.033353 1.365416 1.704144 0.095010)
+	33.132681 #(0.000000 0.217173 0.607027 0.972479 1.361857 1.687294 0.065420 0.468776 0.805816 1.190933 1.587423 1.927190 0.311095 0.728793 1.033496 1.437723 1.820386 0.240748 0.532565 0.946649 1.316451 1.735610 0.088752 0.514729 0.892769 1.302221 1.662633 0.107560 0.472262 0.870073 1.265298 1.741173 0.217231 0.600703 1.029604 1.377822 1.868069 0.241744 0.638097 1.108864 1.520613 1.949212 0.366898 0.824030 1.259529 1.731809 0.114270 0.573320 1.054606 1.440788 1.890393 0.338920 0.765035 1.257461 1.716957 0.136832 0.580013 1.043068 1.452323 1.940260 0.423137 0.900971 1.335233 1.848703 0.334501 0.855625 1.287757 1.763078 0.254645 0.691898 1.236975 1.740605 0.181843 0.648400 1.169385 1.630882 0.132572 0.616728 1.078352 1.602714 0.095075 0.573601 1.137904 1.645831 0.167694 0.689158 1.181072 1.699043 0.250090 0.769291 1.304475 1.816781 0.284733 0.847365 1.363820 1.895563 0.430585 0.972112 1.502425 0.045881 0.590882 1.174707 1.708632 0.275623 0.803960 1.345031 1.872767 0.428263 1.000004 1.554567 0.116393 0.619840 1.242735 1.804041 0.396790 0.960488 1.526716 0.138387 0.728692 1.273553 1.837797 0.406678 1.055083 1.581417 0.182720 0.802473 1.387787 -0.004316 0.571240 1.194250 1.795349 0.418162 0.971289 1.636503 0.209621 0.779815 1.389535 -0.012509 0.592628 1.240061 1.849547 0.532501 1.152349 1.759325 0.417762 1.016873 1.620885 0.261878 0.887607 1.540907 0.163403 0.847857 1.474219 0.119894 0.759041 1.401047 0.022316 0.667742 1.354864 -0.030960 0.677724 1.332019 0.013328 0.738833 1.385059 0.021089 0.672462 1.340080 -0.019770 0.669426 1.342604 0.004321 0.677481 1.396961 0.064852 0.784036 1.494869 0.162156 0.855287 1.542368 0.215132 0.944947 1.657055 0.317404 1.041807 1.733414 0.471294 1.240410 1.964805 0.646462 1.346437 0.016605 0.750291 1.491847 0.228574 0.990834 1.687725 0.446756 1.139807 1.863507 0.555633 1.283757 0.076035 0.866005 1.612183 0.327478 1.025663 1.811903 0.571516 1.349960 0.086188 0.780700 1.558746 0.362536 1.102309 1.889951 0.636161 1.399344 0.153056 0.936218 1.726788 0.468172 1.321029 0.044833 0.849848 1.623735 0.431622 1.251172 0.028407 0.792082 1.594580 0.363160 1.164028 -0.002558 0.786911 1.583355 0.396460 1.201689 -0.018551 0.844837 1.651868 0.464919 1.271856 0.074754 0.901578 1.744813 0.552207 1.383832 0.203951 1.058388 1.895941 0.718167 1.580958 0.402302 1.242864 0.034856 0.906800 1.766410 0.614782 1.490320 0.310934 1.180735 0.038240 0.892410 1.787874 0.659208 1.472267 0.336657 1.200042 0.061040 0.964933 1.805165 0.677552 1.553972 0.450708 1.307928 0.208048 1.089980 -0.012248 0.838756 1.763054 0.656871 1.574445 0.435437 1.365052 0.261561 1.146952 0.042157 0.933900 1.843753 0.737101 1.700565 0.626502 1.511064 0.411606 1.335500 0.318892 1.212979 0.140221 1.077795 -0.001641 0.936143 1.849935 0.818203 1.718975 0.680155 1.627401 0.548163 1.481074 0.457562 1.418668 0.361092 1.313891 0.261207 1.234041 0.183285 1.143454 0.130673 1.081824 0.029268 0.995954 0.021219 0.939780 1.908949 0.929247 1.898605 0.835145 1.828550 0.883223 1.823005 0.755077 1.798940 0.816641 1.798603 0.763744 1.777608 0.799508 1.798622 0.748861 1.767910 0.796149 1.787085 0.815590 1.812121 0.825872 1.855520 0.842734 1.870862 0.930186 -0.034522 0.952913 0.037668 1.059909 0.054142 1.105845 0.121581 1.140553 0.185698 1.283340 0.280216 1.352715 0.392116 1.413164 0.470780 1.584886 0.572491 1.641652 0.763528 1.798444 0.797445 1.903266 0.985584 0.042680 1.114216 0.188541 1.275594 0.318258 1.419639 0.523028 1.601146 0.659159 1.721399 0.859814 1.949698 1.034878 0.175517 1.260624 0.320703 1.436700 0.487888 1.615524 0.750283 1.855626 0.978693 0.058101 1.209343 0.308456 1.365058 0.527790 1.679994 0.800647 1.893562 1.025780 0.141530 1.286314 0.418661 1.600224 0.694209 1.815647 1.010339 0.161372 1.245108 0.397009 1.573078 0.767827 1.870076 1.034877 0.212492 1.363802 0.494957 1.669825 0.837885 0.024935 1.179215 0.314314 1.506583 0.652466 1.857694 1.052276 0.233879 1.415386 0.580418 1.746834 0.951381 0.113279 1.302374 0.544072 1.735515 0.922423 0.117696 1.341274 0.559648 1.738761 0.936570 0.117819 1.381955 0.633726 1.773057 1.009718 0.216348 1.461726 0.703615 1.922882 1.125463 0.370605 1.626911 0.870283 0.063549 1.270573 0.559087 1.759925 1.012664 0.272613 1.520665 0.768575 0.032132 1.262772 0.496254 1.728017 1.033265 0.267618 1.518734 0.800093 0.034761 1.319003 0.608969 1.870840 1.134745 0.429233 1.690176 1.017171 0.272815 1.541043 0.809350 0.156783 1.429771 0.681995 -0.015377 1.273310 0.615916 1.873520 1.200922 0.521669 1.776415 1.096919 0.391668 1.722264 1.049700 0.315892 1.605611 0.964686 0.272476 1.590767 0.940951 0.291914 1.578703 0.912805 0.285130 1.600025 0.932389 0.256990 1.592115 0.963937 0.288728 1.629409 0.984639 0.314683 1.653757 1.019805 0.433464 1.755035 1.068713 0.423034 1.802745 1.184472 0.576487 1.936994 1.280830 0.643226 0.049738 1.411068 0.759759 0.170659 1.562774 0.945182 0.314646 1.680014 1.085013 0.476476 1.836262 1.284555 0.666081 0.081852 1.472447 0.908178 0.272428 1.717592 1.089459 0.537212 1.923418 1.331039 0.738774 0.164906 1.571112 1.016992 0.443621 1.859672 1.299048 0.705188 0.118010 1.624083 1.017725 0.482789 1.865392 1.350327 0.752786 0.263784 1.658933 1.136258 0.560417 0.031765 1.489447 0.915179 0.399324 1.872572 1.362615 0.820841 0.264564 1.716215 1.200921 0.689350 0.189526 1.606884 1.118779 0.626826 0.083059 1.556372 1.058792 0.578071 0.021263 1.531528 0.983403 0.493391 0.025754 1.496399 1.026999 0.496643 0.019379 1.537266 1.068818 0.587303 0.061484 1.587159 1.106855 0.653453 0.164893 1.651293 1.191590 0.748916 0.259453 1.788464 1.310978 0.845774 0.419730 1.897029 1.503241 0.991529 0.535623 0.088784 1.624889 1.246329 0.758244 0.336737 1.873338 1.448656 1.000596 0.578027 0.129362 1.641791 1.259482 0.777603 0.398547 1.972538 1.517006 1.185867 0.696162 0.306629 1.852632 1.403764 1.035587 0.602872 0.202884 1.812309 1.398952 1.004340 0.634126 0.188372 1.837102 1.371768 1.011818 0.637624 0.287477 1.863350 1.459094 1.106345 0.668554 0.376924 1.950394 1.547916 1.185062 0.811421 0.445688 0.102494 1.748268 1.351713 1.022849 0.588509 0.272636 1.905016 1.513783 1.187514 0.816796 0.509700 0.176554 1.822648 1.508395 1.150531 0.825257 0.443409 0.170893 1.809424 1.445474 1.125434 0.782356 0.465314 0.118242 1.873926 1.515244 1.224422 0.892594 0.537731 0.257117 1.901138 1.645819 1.353377 1.052170 0.720351 0.401833 0.121486 1.810730 1.573373 1.212655 0.950796 0.625980 0.408298 0.046379 1.823981 1.469551 1.219974 0.945915 0.681348 0.436847 0.166787 1.847914 1.609890 1.353371 1.067480 0.879105 0.543117 0.356610 0.049285 1.788126 1.505143 1.301796 1.024068 0.798500 0.568852 0.249826 0.114192 1.760796 1.576227 1.359100 1.089203 0.896278 0.681306 0.411689 0.163179 0.012711 1.738873 1.549394 1.361625 1.128262 0.925643 0.708291 0.489038 0.314693 0.060323 1.844133 1.735673 1.483099 1.273076 1.103540 0.898161 0.695303 0.495661 0.298537 0.134826 -0.007350 1.751023 1.576817 1.412651 1.279772 0.997856 0.926411 0.728591 0.534777 0.420745 0.227057 0.074797 1.974146 1.753151 1.607375 1.413108 1.303424 1.070484 0.965524 0.817504 0.693866 0.535210 0.428228 0.255698 0.172450 -0.017926 1.872765 1.717717 1.636361 1.448256 1.446299 1.205281 1.115259 1.011116 0.897247 0.722493 0.662199 0.506317 0.386310 0.309670 0.145302 0.039676 1.959689 1.872008 1.770980 1.659838 1.625200 1.511496 1.433505 1.404463 1.258209 1.185437 1.072846 1.035546 0.874627 0.821587 0.741612 0.759819 0.648468 0.549314 0.517860 0.426372 0.428520 0.212821 0.254847 0.178375 0.125677 0.020239 -0.013980 -0.003252 1.950166 1.877076 1.804781 1.769723 1.767179 1.723024 1.638628 1.610236 1.619883 1.586691 1.520128 1.541362 1.462210 1.450955 1.421112 1.465086 1.447826 1.390620 1.404570 1.424133 1.400644 1.352164 1.398124 1.361696 1.313237 1.353677 1.364205 1.366321 1.385662 1.403004 1.366910 1.448189 1.459881 1.427059 1.433170 1.476735 1.429395 1.476242 1.500230 1.538894 1.588534 1.562998 1.659556 1.696925 1.737446 1.802759 1.809306 1.945211 1.864851 1.957566 -1.802263 0.054332 0.120735 0.153154 0.226812 0.324481 0.329983 0.439982 0.451511 0.498138 0.606000 0.661499 0.711943 0.792461 0.876919 0.930106 1.025684 1.034519 1.180714 1.286239 1.413699 1.430751 1.610752 1.644060 1.757511 1.845280 1.981240 0.046093 0.173740 0.257154 0.350407 0.459975 0.582308 0.757029 0.788514 0.928238 1.065315 1.202573 1.298704 1.441530 1.607786 1.670801 1.833086 1.978745 0.097800 0.212682 0.316098 0.435766 0.608084 0.755657 0.887240 1.061527 1.155438 1.347271 1.490831 1.607881 1.793881 -0.030738 0.174605 0.379814 0.509738 0.650740 0.855248 1.036000 1.230512 1.433013 1.570054 1.787900 1.944747 0.062432 0.291328 0.488339 0.634671 0.820973 1.057029 1.232998 1.357918 1.589879 1.737277 -0.040720 0.188791 0.365692 0.566726 0.814926 1.024932 1.262492 1.470933 1.659843 1.864302 0.124747 0.368000 0.575053 0.826411 1.094912 1.307502 1.553491 1.816900 -1.762686 0.196350 0.504623 0.710276 0.958657 1.153223 1.369048 1.711833 1.905100 0.179244 0.461195 0.703802 0.966810 1.196126 1.494768 1.737383 0.044103 0.298907 0.541580 0.795336 1.077912 1.356484 1.597433 1.905323 0.201517 0.457611 0.803201 1.118796 1.402951 1.704974 -0.014581 0.302903 0.612812 0.940448 1.199233 1.547568 1.862740 0.115820 0.492284 0.744439 1.062467 1.418499 1.676941 -0.005658 0.338294 0.695279 1.040270 1.377303 1.702710 0.113121)
        )
 
 ;;; 2048 all -------------------------------------------------------------------------------- (45.254)
 (vector 2048 89.570060996356 #r(0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0)
 
        ;; from (try-all :all 2048 2049 1.0476749041086 0.34832901677121) = 55.7655 start for next
-	49.451143 #(0.000000 0.430045 1.593565 1.328220 1.781664 0.946992 0.650985 1.051161 0.281151 0.023745 0.432919 1.630757 1.317829 1.816250 0.940351 0.684103 1.169917 0.273737 0.040999 0.538244 1.584830 1.360777 1.847875 0.986942 0.775438 1.207398 0.312515 0.073776 0.586616 1.693125 1.453212 1.892883 1.061981 0.854006 1.266909 0.413239 0.223262 0.663768 1.772022 1.536396 0.020275 1.151367 0.897291 1.400675 0.527501 0.291827 0.799933 1.872038 1.686771 0.116110 1.248462 1.028144 1.503143 0.617228 0.412498 0.871270 0.035251 1.770650 0.259190 1.418200 1.168921 1.616609 0.827678 0.565930 1.036778 0.188479 -0.004878 0.431711 1.587991 1.380839 1.785619 1.002568 0.727437 1.219999 0.365022 0.113285 0.659343 1.801219 1.554782 0.048183 1.163325 0.963954 1.460129 0.583151 0.413184 0.864052 1.980590 1.786602 0.228194 1.421150 1.230779 1.679748 0.812785 0.624948 1.101178 0.226590 0.047540 0.522995 1.656663 1.485526 1.929983 1.092510 0.866804 1.370241 0.506083 0.309340 0.830234 1.948821 1.710528 0.241530 1.361116 1.174290 1.680613 0.778576 0.601608 1.110854 0.219341 0.069714 0.501931 1.696322 1.536215 0.004824 1.121414 0.926728 1.423605 0.581585 0.365761 0.881491 0.027577 1.848575 0.344597 1.490347 1.310509 1.776868 0.906029 0.764442 1.227013 0.349024 0.156879 0.721959 1.834273 1.645135 0.154054 1.287835 1.129196 1.591616 0.786148 0.607572 1.024675 0.198252 0.036913 0.547197 1.692476 1.472683 0.006251 1.161909 0.978091 1.469202 0.641450 0.460973 0.916681 0.115860 1.941272 0.467248 1.616994 1.407024 1.910876 1.100595 0.910214 1.442413 0.564987 0.419966 0.907055 0.070915 1.883862 0.353864 1.526269 1.395856 1.864619 1.081048 0.900886 1.341458 0.570681 0.333029 0.838193 0.057136 1.921805 0.418439 1.574805 1.379954 1.898418 1.049518 0.900016 1.383197 0.524872 0.390397 0.913972 0.051386 1.949368 0.433620 1.524748 1.395549 1.924968 1.096320 0.932402 1.427720 0.612187 0.450610 0.960307 0.092876 0.012776 0.488144 1.638899 1.502494 0.032701 1.183358 1.059122 1.568051 0.740931 0.523404 1.083713 0.276932 0.110219 0.642191 1.820764 1.627078 0.175715 1.337347 1.156446 1.738958 0.865535 0.717137 1.254537 0.410071 0.256259 0.731622 1.962883 1.803393 0.360075 1.539059 1.336243 1.847602 1.056745 0.914444 1.418407 0.611306 0.479918 0.988094 0.177467 0.054902 0.521461 1.740144 1.607225 0.124027 1.314070 1.158044 1.700851 0.894277 0.681870 1.250810 0.492454 0.274707 0.839262 -0.016269 1.890693 0.420809 1.579207 1.442571 1.969519 1.122578 1.050728 1.567824 0.742727 0.590740 1.095897 0.310019 0.178493 0.690374 1.867533 1.741247 0.239243 1.470012 1.321175 1.880237 1.042244 0.929799 1.488518 0.680557 0.523864 1.022207 0.252800 0.132569 0.686723 1.870714 1.710890 0.278140 1.430262 1.335873 1.888137 1.057165 0.927303 1.464898 0.680946 0.569873 1.069207 0.290718 0.172051 0.697127 1.907403 1.759999 0.305648 1.506613 1.410761 1.900226 1.084461 1.017883 1.578075 0.720064 0.630349 1.178396 0.384043 0.229632 0.768782 -0.010454 1.892220 0.446912 1.613546 1.450134 0.065654 1.312027 1.135244 1.700766 0.878052 0.752694 1.303611 0.554557 0.386477 0.960741 0.148889 0.056492 0.593672 1.788042 1.680764 0.247799 1.418676 1.311247 1.869555 1.118471 1.006013 1.520698 0.795121 0.647391 1.183067 0.405616 0.278673 0.846708 0.139511 1.945113 0.505878 1.752384 1.584865 0.134639 1.351878 1.264205 1.816878 1.037524 0.961023 1.488579 0.712342 0.640024 1.145499 0.397557 0.311209 0.833005 0.084886 1.965853 0.466514 1.780581 1.650462 0.153286 1.401885 1.315216 1.907201 1.128002 1.001025 1.552429 0.787160 0.682124 1.254449 0.480255 0.352655 0.896265 0.160802 0.037052 0.615008 1.836683 1.717962 0.336307 1.555039 1.426812 -0.029670 1.258692 1.112077 1.703999 0.934065 0.829543 1.435495 0.656942 0.507601 1.146807 0.367542 0.233238 0.837718 0.038379 1.955923 0.498846 1.786528 1.677115 0.261105 1.488787 1.374498 1.953579 1.175014 1.076797 1.639580 0.884800 0.768030 1.353917 0.610732 0.515716 1.066313 0.364401 0.251848 0.817354 0.080658 1.979892 0.555487 1.803106 1.690356 0.244638 1.497243 1.464204 0.034492 1.266426 1.209192 1.786298 0.996949 0.934025 1.495096 0.780590 0.638501 1.227889 0.499961 0.385746 1.016153 0.253718 0.131229 0.769955 -0.002627 1.951368 0.511185 1.742214 1.657261 0.238131 1.458905 1.426272 0.006296 1.243666 1.201430 1.782341 1.037457 0.947685 1.519112 0.769455 0.718130 1.268517 0.566321 0.468534 1.078956 0.326887 0.220193 0.886733 0.088829 0.038277 0.584290 1.855430 1.781770 0.336688 1.622937 1.564407 0.148865 1.390745 1.340499 1.958109 1.196579 1.110065 1.721188 0.936782 0.930971 1.477279 0.778587 0.695640 1.296596 0.552396 0.466344 1.078029 0.363618 0.237095 0.871644 0.123754 0.038960 0.650008 1.955223 1.855875 0.457590 1.688087 1.682939 0.268189 1.529791 1.467804 0.082434 1.319177 1.267166 1.854967 1.139717 1.071871 1.684717 0.949230 0.917774 1.543819 0.801330 0.749680 1.316364 0.654124 0.531817 1.173701 0.460267 0.387605 0.967826 0.209713 0.162476 0.780083 0.040410 -0.015824 0.632639 1.899307 1.833258 0.462995 1.757530 1.696922 0.324556 1.554853 1.499491 0.104805 1.370079 1.347036 1.947530 1.222392 1.212424 1.782201 1.030319 1.016054 1.674117 0.911012 0.883228 1.488338 0.760309 0.735085 1.304568 0.618924 0.560174 1.152593 0.429537 0.401398 1.056977 0.329961 0.312434 0.913590 0.194370 0.140476 0.760371 0.042885 -0.023031 0.661599 1.905377 1.878584 0.484637 1.801922 1.719901 0.367807 1.616176 1.577400 0.207580 1.493442 1.459992 0.078207 1.379616 1.315654 1.976616 1.254658 1.222450 1.889400 1.134103 1.128718 1.746470 1.010816 0.972552 1.652558 0.938099 0.894835 1.484979 0.838786 0.803163 1.385470 0.667788 0.685141 1.283045 0.593847 0.552322 1.153941 0.533884 0.453741 1.057667 0.379801 0.376934 0.980807 0.287384 0.261123 0.890020 0.172043 0.157794 0.799334 0.118604 0.059531 0.702240 -0.025802 -0.004520 0.628553 1.926168 1.907642 0.524952 1.821613 1.830149 0.411691 1.738921 1.764036 0.337540 1.677833 1.648837 0.308391 1.621283 1.587224 0.237489 1.543241 1.489427 0.147057 1.456637 1.375057 0.076932 1.398317 1.350882 -0.013796 1.315861 1.305203 1.927826 1.231946 1.249538 1.867468 1.180023 1.203594 1.823844 1.154302 1.133905 1.755037 1.064122 1.020364 1.742549 1.041629 1.013927 1.658220 1.024006 0.945239 1.609572 0.955238 0.895168 1.565677 0.889749 0.918266 1.557122 0.889145 0.884219 1.500540 0.880605 0.790226 1.464427 0.808297 0.812698 1.418585 0.752757 0.763431 1.420835 0.715575 0.723085 1.401498 0.730442 0.671791 1.413183 0.641974 0.648625 1.357559 0.685054 0.655374 1.261976 0.658078 0.614773 1.298415 0.613506 0.594305 1.272101 0.604687 0.606023 1.254943 0.596483 0.605503 1.269715 0.590029 0.604757 1.240999 0.562972 0.570760 1.247416 0.553359 0.578434 1.244897 0.548467 0.581728 1.243314 0.568297 0.591088 1.308217 0.593855 0.590959 1.286121 0.572999 0.617886 1.272250 0.566809 0.614874 1.247791 0.599261 0.637391 1.292580 0.618948 0.684242 1.295137 0.669809 0.649228 1.328088 0.689952 0.670505 1.347319 0.692499 0.746664 1.377145 0.765626 0.744365 1.421828 0.782731 0.780173 1.425449 0.793040 0.801602 1.480605 0.836653 0.831763 1.517288 0.901392 0.871482 1.544986 0.885303 0.894142 1.635061 0.950010 0.965066 1.686397 0.991241 1.018216 1.677173 1.010627 1.096183 1.783045 1.108969 1.075363 1.796940 1.147139 1.165403 1.816221 1.236886 1.210149 1.929265 1.298612 1.252995 -0.035948 1.335536 1.367570 0.032687 1.447360 1.420657 0.125876 1.485518 1.503233 0.175585 1.553093 1.567560 0.269791 1.597525 1.655209 0.304150 1.682577 1.706403 0.420147 1.758523 1.818037 0.487356 1.816301 1.859561 0.539710 1.945073 -0.112004 0.668087 0.022966 0.076088 0.766339 0.123384 0.195409 0.867100 0.216889 0.255040 0.985263 0.299916 0.390376 1.022623 0.447023 0.431024 1.151250 0.561314 0.544179 1.271030 0.628881 0.679953 1.368235 0.742836 0.787200 1.476549 0.820304 0.855520 1.599632 0.960499 0.978059 1.676154 1.081772 1.126927 1.849920 1.210478 1.213452 1.958477 1.302566 1.314967 0.085769 1.445758 1.477106 0.177602 1.573446 1.631078 0.363680 1.688943 1.731954 0.456535 1.812417 1.870388 0.548582 1.945429 1.980395 0.751837 0.076758 0.162862 0.827430 0.211541 0.303348 0.953667 0.355642 0.406786 1.119124 0.513148 0.532476 1.305994 0.656734 0.715376 1.454270 0.773501 0.874352 1.546210 0.967670 0.998253 1.731555 1.090416 1.223234 1.893705 1.280487 1.355944 0.033074 1.424468 1.441049 0.218495 1.621239 1.668444 0.340769 1.747259 1.834307 0.567091 1.947044 0.016309 0.700977 0.128469 0.155473 0.891125 0.272058 0.336785 1.092902 0.488338 0.521626 1.272805 0.673847 0.688758 1.425618 0.819845 0.926866 1.655115 1.069066 1.091942 1.821390 1.219309 1.261198 0.015310 1.413586 1.476043 0.217471 1.596169 1.649404 0.399248 1.780220 1.842669 0.626531 -0.010858 0.070855 0.790901 0.189195 0.282401 1.002980 0.438399 0.485334 1.219425 0.607298 0.679757 1.465144 0.849244 0.910513 1.635409 1.028913 1.136989 1.852385 1.273022 1.318314 0.054182 1.466263 1.531339 0.289886 1.694915 1.761565 0.471863 1.927078 -0.014095 0.743607 0.162133 0.209426 0.994635 0.366704 0.458245 1.178762 0.638706 0.690777 1.457663 0.836100 0.908741 1.694380 1.067416 1.183513 1.897798 1.331642 1.402646 0.148367 1.648693 1.674735 0.389415 1.816945 1.892380 0.643269 0.075996 0.185973 0.921927 0.271297 0.415656 1.136035 0.582089 0.642354 1.395838 0.828246 0.923796 1.681194 1.140078 1.203337 1.973976 1.391339 1.452685 0.157228 1.639347 1.724048 0.453229 1.879300 0.017717 0.711543 0.192826 0.204552 1.008335 0.425179 0.533826 1.299679 0.711328 0.802324 1.527127 0.959592 1.058004 1.859609 1.299120 1.376015 0.145024 1.530782 1.658054 0.422426 1.841202 1.940521 0.699317 0.119213 0.242547 0.997928 0.487589 0.492699 1.262635 0.731940 0.820364 1.559970 1.041112 1.137066 1.914243 1.335253 1.408893 0.213857 1.642002 1.724606 0.484009 1.936938 0.027609 0.787726 0.225320 0.382081 1.117389 0.560684 0.651619 1.463828 0.838256 0.979420 1.748841 1.212759 1.315482 0.089361 1.507158 1.626898 0.423306 1.824174 1.931390 0.736928 0.149435 0.288500 1.029745 0.533868 0.622288 1.352462 0.793031 0.974482 1.731513 1.166191 1.230760 0.026795 1.514897 1.598265 0.426812 1.842597 1.939104 0.694494 0.192369 0.294874 1.086801 0.531035 0.644420 1.418077 0.850895 1.001335 1.790854 1.212598 1.363836 0.136813 1.557753 1.704422 0.494706 1.946897 0.020752 0.818375 0.316555 0.431885 1.198363 0.650256 0.776298 1.537142 0.954099 1.139916 1.979268 1.384865 1.494887 0.240268 1.738861 1.911039 0.664159 0.108913 0.238048 1.053061 0.512572 0.603130 1.424722 0.871433 0.976950 1.801785 1.254511 1.390613 0.153510 1.626065 1.777196 0.545832 0.009714 0.101402 0.953838 0.386099 0.557695 1.327331 0.781060 0.933666 1.706387 1.228028 1.337439 0.125927 1.550595 1.738490 0.514132 0.054311 0.116268 0.901602 0.377517 0.571618 1.345736 0.819742 0.961841 1.763061 1.226915 1.344493 0.127921 1.575104 1.759113 0.593454 0.055122 0.177759 0.984707 0.432198 0.622309 1.385473 0.892958 1.017207 1.820231 1.272274 1.420689 0.245102 1.738878 1.845365 0.634672 0.151803 0.265382 1.099466 0.560230 0.756686 1.526537 1.024642 1.150627 1.950707 1.437426 1.585792 0.428103 1.863963 0.044476 0.830268 0.315213 0.471185 1.264890 0.769846 0.902629 1.716047 1.194394 1.349212 0.159479 1.648667 1.796606 0.586880 0.104764 0.283144 1.109269 0.553946 0.662557 1.519564 0.978755 1.212641 1.959587 1.479679 1.650054 0.413728 1.953182 0.141353 0.902268 0.433622 0.551905 1.398064 0.828867 1.005809 1.859811 1.329161 1.485508 0.312258 1.817862 0.001968 0.797183 0.286677 0.480907 1.323501 0.759440 0.936644 1.793714 1.263884 1.372662 0.214529 1.718107 1.917373 0.725492 0.282053 0.401501 1.215013 0.689205 0.889973 1.740057 1.232936 1.421475 0.200682 1.739815 1.890890 0.754028 0.206376 0.352443 1.190487 0.689752 0.823046 1.674947 1.198597 1.370956 0.225432 1.709178 1.892369 0.730105 0.256397 0.424650 1.253212 0.718804 0.891213 1.782952 1.245757 1.376305 0.268814 1.787134 1.921794 0.790508 0.287280 0.418901 1.328172 0.810684 0.982140 1.837023 1.333782 1.550154 0.368158 1.894333 0.028411 0.874067 0.415123 0.592145 1.375948 0.933378 1.075271 1.960867 1.421386 1.639480 0.499972 0.010941 0.175815 1.061887 0.553752 0.715057 1.608203 1.098475 1.262936 0.159917 1.628250 1.853863 0.618307 0.165463 0.390645 1.256597 0.723600 0.976430 1.782682 1.323213 1.475782 0.380438 1.858339 0.066800 0.878672 0.420011 0.593888 1.469572 0.998904 1.168444 0.050671 1.555934 1.741356 0.576562 0.118822 0.303250 1.211263 0.691695 0.900562 1.757187 1.283883 1.468021 0.313390 1.830224 0.070723 0.940639 0.413817 0.608718 1.461958 1.041076 1.214460 0.096532 1.578685 1.812997 0.627089 0.183844 0.391512 1.256579 0.796222 0.973568 1.884789 1.345548 1.560426 0.445427 1.910164 0.147791 1.020244 0.588711 0.760359 1.636893 1.164750 1.378982 0.198776 1.784068 -0.021857 0.848357 0.370439 0.583486 1.460387 1.021665 1.203627 0.044752 1.592660 1.800917 0.699972 0.247161 0.375674 1.299328 0.843866 1.014314 1.889421 1.471879 1.635406 0.536405 0.082408 0.289301 1.151168 0.703365 0.913219 1.802372 1.356541 1.530386 0.462303 1.959391 0.190010 1.033028 0.568630 0.826931 1.710573 1.245944 1.471816 0.310597 1.881290 0.141644 0.970045 0.507624 0.745312 1.595292 1.171996 1.386882 0.246631 1.804919 0.064477 0.905521 0.465158 0.676028 1.575796 1.105307 1.367860 0.226205 1.745633 0.006813 0.885385 0.446327 0.691450 1.577455 1.063467 1.330282 0.189975 1.765827 1.988337 0.882490 0.440207 0.692577 1.538755 1.153281 1.326140 0.208645 1.756072 -0.020595 0.926227 0.464573 0.693253 1.577635 1.110935 1.331862 0.228573 1.805005 0.037889 0.909931 0.505164 0.736843 1.619467 1.229279 1.393247 0.324017 1.875789 0.114190 0.982335 0.547089 0.767128 1.667160 1.281147 1.489699 0.425437 1.938070 0.203557 1.076643 0.637358 0.879070 1.806242 1.329561 1.608667 0.498874 0.122493 0.290720 1.232267 0.733731 0.974449 1.915615 1.530051 1.759259 0.630002 0.192884 0.428036 1.350900 0.931066 1.152946 0.066819 1.649721 1.891161 0.779644 0.341735 0.611572 1.476705 1.081818 1.332407 0.240168 1.811432 0.051607 0.974488 0.579199 0.811538 1.700455 1.226787 1.513748 0.430317 -0.012718 0.229617 1.211891 0.735826 1.038085 1.891370 1.500902 1.763157 0.659943 0.189937 0.485730 1.398006 0.986537 1.252424 0.152233 1.730818 1.992419 0.883621 0.440155 0.707971 1.635295 1.262523 1.469350 0.410787 -0.005833 0.269483 1.209988 0.723781 1.034295 1.950814 1.534496 1.763287 0.685605 0.311809 0.550181 1.450557 1.053861 1.385028 0.239250 1.842046 0.076568 1.019247 0.598484 0.871036 1.745992 1.381722 1.656745 0.540812 0.134448 0.414250 1.356027 0.928509 1.189391 0.160287 1.773930 0.028960 0.928210 0.529649 0.738339 1.746553 1.287830 1.582545 0.526618 0.145683 0.379633 1.271778 0.891109 1.162791 0.098132 1.732937 1.971566 0.904855 0.501815 0.747864 1.670602 1.266705 1.573198 0.484522 0.117007 0.358293 1.327720 0.972186 1.213626 0.191256 1.747160 -0.006789 0.968311 0.555425 0.825508 1.786205 1.388854 1.634196 0.642272 0.172438 0.489374 1.385002 1.026144 1.282077 0.204454 1.854247 0.111913 1.066399 0.649238 0.976991 1.885157 1.508008 1.790349 0.720897 0.310515 0.611183 1.596950 1.179000 1.442825 0.406151 -0.010434 0.311522 1.255366 0.876616 1.131539 0.108421 1.702741 0.012373 0.928546 0.576615 0.847020 1.789221 1.376972 1.679332 0.668633 0.281950 0.534972 1.485082 1.099946 1.451475 0.388446 0.013605 0.313139 1.208028 0.886749 1.128330 0.056870 1.730534 0.019856 0.961197 0.553087 0.866741 1.845062 1.448658 1.735774 0.627987 0.285122 0.618374 1.535395 1.162477 1.512573 0.446737 0.106987 0.376658 1.332426 0.979940 1.266163 0.223050 1.795136 0.135009 1.091514 0.693853 1.038596 1.989813 1.627591 1.911552 0.838581 0.537264 0.759097 1.770474 1.371823 1.668664 0.620282 0.262393 0.569674 1.549215 1.189497 1.450503 0.483993 0.110007 0.391345 1.350360 0.990383 1.269496 0.255984 1.907728 0.227740 1.211822 0.811488 1.116563 0.161779 1.751560 0.096213 1.035154 0.711523 0.965753 1.944504 1.621560 1.885802 0.861667 0.521076 0.827373 1.775485 1.409162 1.705875 0.657866 0.353102 0.647033 1.654947 1.246006 1.561590 0.598935 0.171451 0.504589 1.535290 1.120767 1.450889 0.422336 0.110976 0.386651 1.342805 1.008649 1.352500 0.328789 1.951992 0.260730 1.274918 0.951784 1.253178 0.226065 1.854537 0.202105 1.192620 0.828453 1.148946 0.144865 1.795615 0.128444 1.078054 0.739937 1.035099 0.041068 1.694753 0.036215 0.944316 0.687784 0.966399 1.946101 1.644988 1.963796 0.902377 0.587659 0.914674 1.942819 1.517801 1.843691 0.915241 0.521066 0.874903 1.852688 1.479441 1.822207 0.797653 0.493229 0.783599 1.826390 1.468938 1.817319 0.801140 0.465879 0.774534 1.773206 1.418680 1.755508 0.737117 0.397943 0.720267 1.732549 1.438165 1.745990 0.731416 0.437154 0.746755 1.796581 1.454160 1.774106 0.731487 0.435077 0.746802 1.781651 1.478818 1.762117 0.807720 0.490804 0.785210 1.822168 1.490218 1.833419 0.810256 0.502552 0.833648 1.867313 1.503563 1.853678 0.817247 0.521438 0.854911 1.904629 1.496040 1.848105 0.879279 0.580901 0.928695 1.880314 1.586222 1.908603 0.891892 0.602183 0.878334 1.949169 1.612289 1.980013 0.986057 0.655185 0.963974 -0.034283 1.681734 0.038141 1.062743 0.659073 1.066055 0.085737 1.771153 0.117798 1.146011 0.782895 1.163231 0.151745 1.823041 0.212292 1.232321 0.959232 1.303447 0.291659 1.939379 0.323028 1.335516 1.050420 1.369862 0.391653 0.065846 0.430612 1.498937 1.129664 1.504492 0.550917 0.254337 0.580771 1.609176 1.343867 1.699264 0.632621 0.352937 0.711415 1.718510 1.447006 1.781294 0.804926 0.567159 0.864605 1.896032 1.553805 1.960596 1.016742 0.655246 0.997523 0.055761 1.770399 0.072479 1.172064 0.873751 1.242858 0.212574 1.906933 0.335610 1.293669 0.996859 1.327551 0.414103 0.141747 0.411702 1.504215 1.260554 1.541461 0.588473 0.333360 0.645585 1.674068 1.395353 1.805551 0.823704 0.525872 0.862510 1.888404 1.616354 1.954388 0.984424 0.705944 1.070606 0.124697 1.813811 0.253766 1.256269 0.943425 1.288381 0.323472 0.008063 0.452764 1.464048 1.192122 1.510939 0.611015 0.264609 0.682921 1.725656 1.389127 1.860594 0.886238 0.587067 0.931187 -0.005536 1.691851 0.060693 1.143428 0.848869 1.247189 0.281583 1.936854 0.304278 1.432033 1.119666 1.466823 0.526527 0.245121 0.613729 1.703294 1.408627 1.819921 0.849723 0.555010 0.952214 -0.841896 1.712575 0.072303 1.104407 0.836345 1.228210 0.259281 0.056707 0.369028 1.415577 1.152153 1.553682 0.612597 0.353131 0.719530 1.758652 1.525799 1.888444 0.943431 0.665829 1.032690 0.081316 1.843216 0.227203 1.280088 1.039723 1.438679 0.461440 0.190214 0.619195 1.677886 1.385826 1.763887 0.855622 0.601279 0.997806 0.028488 1.829205 0.148167 1.204394 0.975723 1.367934 0.430063 0.168369 0.556637 1.637454 1.397771 1.746535 0.858387 0.631969 0.954118 0.027288)
+	49.193990 #(0.000000 0.403402 1.574421 1.330413 1.772571 0.972385 0.635888 1.070041 0.298876 0.001055 0.420507 1.630210 1.326857 1.801390 0.949923 0.661182 1.176680 0.277471 0.048113 0.534087 1.608168 1.330258 1.860828 0.988041 0.756673 1.204506 0.298812 0.068368 0.586948 1.661869 1.454509 1.910645 1.064037 0.861370 1.266045 0.389337 0.214355 0.658585 1.782851 1.531678 0.017540 1.137042 0.891163 1.409288 0.514386 0.291882 0.802033 1.853063 1.675698 0.133704 1.229704 1.033285 1.499027 0.607841 0.414480 0.869196 0.027939 1.780947 0.249207 1.388911 1.187076 1.613062 0.805070 0.566958 1.047848 0.180273 -0.015482 0.402227 1.589833 1.381934 1.773638 0.997943 0.731044 1.214010 0.376811 0.105136 0.653079 1.796798 1.541753 0.037607 1.160047 0.955025 1.456188 0.585213 0.392911 0.850441 1.967129 1.773433 0.256021 1.398587 1.228043 1.673846 0.803409 0.615220 1.085006 0.235831 0.035110 0.520211 1.635399 1.468665 1.934441 1.075872 0.892620 1.396250 0.489320 0.301830 0.852962 1.940463 1.698977 0.251233 1.350436 1.183483 1.670975 0.746002 0.589686 1.122369 0.220044 0.062058 0.498535 1.720645 1.514114 -0.004051 1.124480 0.947289 1.435590 0.591361 0.375361 0.870376 0.048213 1.853931 0.329612 1.491191 1.303404 1.766054 0.914361 0.775878 1.225838 0.342345 0.146212 0.734463 1.854896 1.671751 0.177074 1.306921 1.127169 1.578542 0.769630 0.597706 1.033732 0.206133 0.030261 0.532701 1.697100 1.488964 0.004353 1.154727 0.974021 1.434609 0.626102 0.466263 0.920410 0.126088 1.933259 0.450991 1.611387 1.399252 1.903040 1.095617 0.920610 1.432065 0.557180 0.412014 0.901526 0.038180 1.883696 0.348896 1.524706 1.402140 1.864435 1.063509 0.886500 1.356817 0.555490 0.349628 0.847903 0.056770 1.916998 0.424019 1.565402 1.384826 1.908363 1.045017 0.911107 1.374616 0.531948 0.385235 0.916316 0.076885 1.953630 0.429259 1.532123 1.403051 1.935926 1.079493 0.961566 1.429629 0.597456 0.453375 0.962813 0.085888 0.019830 0.497451 1.658156 1.505971 0.040460 1.159124 1.064921 1.581591 0.749504 0.546718 1.112637 0.262291 0.107710 0.654698 1.816980 1.627056 0.186345 1.333800 1.144227 1.732398 0.870638 0.728308 1.244302 0.419522 0.257648 0.748414 1.967784 1.813291 0.358994 1.520952 1.344497 1.870174 1.044684 0.924126 1.409275 0.608794 0.503913 0.987460 0.169454 0.059337 0.508019 1.730253 1.620842 0.114017 1.322548 1.137494 1.681748 0.897246 0.678218 1.265272 0.494796 0.268152 0.809623 -0.014763 1.885590 0.417258 1.579258 1.445705 1.972622 1.110324 1.036143 1.565096 0.732740 0.580406 1.084396 0.300668 0.163754 0.672222 1.861164 1.727785 0.255852 1.475400 1.321571 1.885574 1.034348 0.937273 1.476933 0.666718 0.514895 1.014043 0.271382 0.115882 0.695744 1.878998 1.693825 0.288902 1.425929 1.328151 1.889041 1.037753 0.931838 1.454431 0.660601 0.572929 1.086135 0.281715 0.190502 0.674390 1.903854 1.773696 0.308339 1.516382 1.397851 1.907924 1.072447 1.021446 1.558269 0.712397 0.638290 1.159681 0.364263 0.250285 0.791126 0.003709 1.909584 0.453202 1.647023 1.453041 0.102045 1.327326 1.106704 1.692198 0.901094 0.766821 1.285370 0.564785 0.365780 0.955489 0.152043 0.070632 0.580338 1.793623 1.685712 0.264983 1.444435 1.322927 1.880432 1.118018 1.013539 1.536934 0.780941 0.654444 1.224343 0.429404 0.289156 0.846942 0.119764 1.952255 0.473484 1.755671 1.594044 0.136715 1.381698 1.256459 1.831000 1.027870 0.968356 1.482848 0.705758 0.669610 1.150272 0.391089 0.310302 0.824945 0.082530 1.970216 0.461018 1.775354 1.637624 0.173911 1.412674 1.310911 1.919269 1.120617 0.998853 1.563288 0.802974 0.678686 1.258221 0.479284 0.352437 0.886373 0.166400 0.044262 0.592459 1.827965 1.717019 0.316315 1.549848 1.419410 -0.037394 1.253699 1.122094 1.698496 0.950132 0.838461 1.441963 0.694356 0.510921 1.145457 0.357789 0.235646 0.822745 0.031239 1.953323 0.488360 1.775401 1.672263 0.260905 1.487398 1.353322 1.965826 1.185114 1.096622 1.647200 0.893402 0.768486 1.349259 0.626520 0.512047 1.088744 0.372142 0.254572 0.825505 0.073726 0.002932 0.542046 1.787439 1.703298 0.243329 1.504422 1.491460 0.032794 1.259635 1.200184 1.791145 1.001660 0.958439 1.502249 0.783862 0.638180 1.258222 0.540363 0.371989 1.011954 0.268894 0.141237 0.743442 0.010185 1.944864 0.488067 1.726348 1.653027 0.258386 1.443845 1.431485 0.017840 1.240413 1.229274 1.772518 1.038969 0.947063 1.507174 0.787722 0.736245 1.271701 0.555075 0.450852 1.062909 0.333287 0.238429 0.870311 0.094805 0.019690 0.575868 1.857253 1.784293 0.336675 1.618213 1.566906 0.123513 1.403919 1.351661 1.957248 1.184383 1.106923 1.714572 0.946949 0.914876 1.469126 0.796154 0.679853 1.307634 0.563948 0.455095 1.073572 0.373960 0.236151 0.872690 0.118482 0.001308 0.649114 1.937318 1.837164 0.471525 1.678577 1.678691 0.288610 1.523981 1.454863 0.063452 1.335510 1.273017 1.864641 1.147745 1.076788 1.693584 0.950432 0.918360 1.513523 0.817788 0.743588 1.317159 0.656401 0.511773 1.148330 0.476965 0.387585 0.996061 0.207423 0.150741 0.803167 0.036854 -0.013026 0.623933 1.904817 1.834612 0.466854 1.778211 1.688330 0.345774 1.548935 1.524949 0.119812 1.369107 1.342653 1.927474 1.211052 1.209095 1.777503 1.022583 1.024589 1.669935 0.900601 0.918466 1.489107 0.769147 0.734245 1.311456 0.591553 0.545337 1.178188 0.407264 0.436907 1.058270 0.322172 0.302746 0.919581 0.197486 0.134388 0.773180 0.050719 -0.017724 0.643560 1.914735 1.869999 0.481105 1.796219 1.721839 0.358356 1.617170 1.587958 0.230190 1.496498 1.470597 0.067903 1.367693 1.330789 1.990006 1.258655 1.233773 1.893181 1.132002 1.150597 1.738806 1.013138 0.997179 1.659525 0.918339 0.902589 1.508013 0.814026 0.805683 1.378267 0.658383 0.698660 1.293305 0.552807 0.558740 1.155750 0.524368 0.447822 1.057410 0.387956 0.384040 0.974445 0.282711 0.266984 0.913618 0.173289 0.164950 0.819480 0.114969 0.045394 0.738573 -0.036138 0.022868 0.625873 1.934331 1.881085 0.533459 1.810410 1.818999 0.401481 1.741345 1.761985 0.355296 1.674108 1.672053 0.281691 1.623250 1.582948 0.229724 1.528026 1.479776 0.145924 1.463290 1.399411 0.087600 1.396618 1.355086 -0.026880 1.338833 1.277145 1.923912 1.241458 1.257253 1.895800 1.182393 1.219282 1.806110 1.165545 1.107580 1.770113 1.069438 1.007651 1.771538 1.061140 1.038453 1.640778 1.038821 0.964781 1.627647 0.974578 0.897728 1.575248 0.900011 0.903234 1.571309 0.910773 0.869278 1.478861 0.907729 0.779419 1.462327 0.813962 0.811309 1.411970 0.756365 0.752033 1.419165 0.719634 0.702965 1.399488 0.705607 0.682308 1.405039 0.650693 0.657550 1.352092 0.700628 0.652354 1.271081 0.657621 0.624603 1.280066 0.606215 0.617397 1.259666 0.607693 0.641931 1.229721 0.589695 0.609657 1.269216 0.595140 0.586587 1.245554 0.565877 0.571197 1.250622 0.571046 0.597936 1.249791 0.550412 0.587485 1.242845 0.557235 0.566776 1.275423 0.613773 0.571705 1.271405 0.580399 0.622078 1.259959 0.569634 0.618886 1.278667 0.610214 0.641136 1.300599 0.638952 0.699861 1.318163 0.666856 0.634026 1.314334 0.685299 0.650411 1.317001 0.723881 0.726207 1.384555 0.761348 0.740706 1.405596 0.756128 0.769236 1.406003 0.787381 0.797255 1.464616 0.851852 0.847834 1.521213 0.907968 0.863629 1.536331 0.896484 0.897305 1.647414 0.955569 0.957284 1.688883 1.011270 1.021636 1.670172 1.011430 1.069171 1.771611 1.106276 1.076404 1.777418 1.156016 1.162907 1.827262 1.238828 1.215191 1.928723 1.298220 1.258464 -0.029579 1.341911 1.344372 0.039909 1.439398 1.415855 0.128622 1.483419 1.523163 0.205091 1.544275 1.569697 0.292666 1.591494 1.659571 0.309116 1.696865 1.688308 0.435081 1.753538 1.807236 0.485361 1.822133 1.877662 0.523436 1.934033 -0.118899 0.685446 0.016388 0.042602 0.720082 0.128316 0.181947 0.847526 0.225978 0.244727 0.983940 0.304914 0.391407 0.988208 0.439136 0.437830 1.135301 0.524154 0.538194 1.274399 0.607434 0.655353 1.379347 0.763344 0.768244 1.481571 0.824124 0.870913 1.592414 0.962283 1.001172 1.665293 1.078385 1.152075 1.825969 1.219431 1.238914 1.946350 1.301919 1.309735 0.098607 1.447539 1.480945 0.180357 1.557953 1.645647 0.356814 1.670073 1.747931 0.436412 1.813599 1.868516 0.564561 1.947597 1.996271 0.781189 0.079051 0.156177 0.842715 0.196867 0.275633 0.955998 0.344887 0.407283 1.107692 0.532981 0.540751 1.286932 0.680111 0.711159 1.451723 0.781242 0.882619 1.539263 0.968138 1.005745 1.739949 1.095701 1.233158 1.892258 1.296431 1.356354 0.021789 1.423747 1.454934 0.216580 1.611957 1.673348 0.346072 1.749185 1.833237 0.575287 1.941618 0.023513 0.690425 0.141938 0.163923 0.882457 0.248916 0.335402 1.112522 0.482167 0.501852 1.254240 0.670427 0.708933 1.432169 0.818827 0.920560 1.658063 1.029530 1.098728 1.811773 1.187976 1.260799 0.001052 1.418597 1.463045 0.216712 1.600023 1.639800 0.407773 1.782708 1.863115 0.627368 -0.008823 0.069710 0.787205 0.200886 0.267369 0.996445 0.438471 0.490707 1.222051 0.619193 0.719352 1.463688 0.821720 0.917394 1.639104 1.017082 1.134203 1.860237 1.287537 1.291898 0.065152 1.464188 1.537774 0.259868 1.708532 1.782285 0.454301 1.933263 -0.001451 0.719510 0.137267 0.216820 0.999367 0.389186 0.462258 1.165365 0.609525 0.699105 1.449341 0.804334 0.880671 1.660332 1.074898 1.177621 1.921972 1.346101 1.436101 0.146860 1.662298 1.689844 0.394113 1.815128 1.879223 0.644316 0.081007 0.207763 0.937309 0.263519 0.397244 1.114812 0.594325 0.654006 1.396645 0.835815 0.933427 1.674686 1.129808 1.173092 1.991764 1.384199 1.425155 0.174269 1.636219 1.728152 0.469522 1.873654 0.009249 0.705313 0.203017 0.207627 1.019562 0.430223 0.534578 1.325122 0.736698 0.805890 1.544371 0.994993 1.082052 1.872366 1.300363 1.387013 0.147942 1.544372 1.638736 0.427715 1.831179 1.954162 0.674164 0.120674 0.246266 1.021931 0.471186 0.500766 1.263892 0.732065 0.795304 1.580297 1.023081 1.132340 1.903653 1.343835 1.420325 0.243000 1.651333 1.744471 0.495125 1.939958 0.047156 0.807403 0.227518 0.395447 1.113125 0.551804 0.668537 1.481752 0.828936 0.954295 1.752997 1.217916 1.339596 0.079019 1.505780 1.603990 0.425090 1.832130 1.930546 0.751521 0.167161 0.266727 1.038149 0.539963 0.602260 1.346242 0.789757 0.975581 1.746795 1.168498 1.226421 0.024320 1.516798 1.596219 0.424164 1.840191 1.954927 0.708612 0.202030 0.313221 1.100295 0.529771 0.635984 1.431617 0.849833 1.002506 1.813706 1.210257 1.374887 0.138555 1.537911 1.674468 0.484097 1.935056 0.033899 0.827068 0.300422 0.445160 1.190158 0.632594 0.754889 1.524887 0.929746 1.125816 1.976111 1.394432 1.491090 0.230412 1.767386 1.898611 0.674758 0.116741 0.241506 1.035762 0.527800 0.602634 1.409587 0.859332 0.975493 1.785493 1.286753 1.374478 0.156230 1.617047 1.793799 0.523652 0.003819 0.101227 0.947649 0.403822 0.560126 1.352291 0.778920 0.905156 1.682044 1.223768 1.327137 0.120179 1.561057 1.731901 0.497113 0.055835 0.114401 0.899623 0.360262 0.568978 1.370527 0.800547 0.972772 1.745901 1.224957 1.327309 0.154320 1.574857 1.753368 0.560849 0.065334 0.163137 0.991605 0.437296 0.621521 1.379381 0.904275 1.027317 1.824447 1.291163 1.423373 0.256093 1.728125 1.842377 0.656073 0.188622 0.250290 1.095683 0.570620 0.739192 1.551883 1.008878 1.155597 1.951881 1.453773 1.577395 0.421775 1.868583 0.046510 0.820426 0.316103 0.444047 1.254945 0.776900 0.903177 1.710724 1.195764 1.340923 0.153331 1.636060 1.795526 0.603644 0.086718 0.283527 1.108245 0.554608 0.671895 1.524950 0.965556 1.205536 1.951210 1.482201 1.661635 0.426888 1.941179 0.135483 0.882861 0.449291 0.566443 1.400047 0.827514 1.006228 1.886254 1.340917 1.492518 0.339077 1.814099 -0.014561 0.800423 0.293156 0.485693 1.317757 0.756170 0.955617 1.765637 1.275055 1.382524 0.233952 1.724729 1.932703 0.697959 0.284580 0.386269 1.215994 0.693958 0.871112 1.726880 1.228990 1.410515 0.238881 1.764498 1.872037 0.736922 0.198305 0.367173 1.204366 0.716060 0.805849 1.680642 1.192058 1.372880 0.202366 1.732258 1.913975 0.748035 0.242300 0.428991 1.229385 0.718413 0.923523 1.808367 1.241537 1.408436 0.271814 1.786360 1.951939 0.800163 0.288048 0.429506 1.316337 0.805805 0.975258 1.851820 1.326937 1.569160 0.362227 1.868539 0.034029 0.855127 0.429454 0.601760 1.386103 0.940649 1.070068 1.961970 1.459489 1.644799 0.505927 0.032266 0.182252 1.070947 0.568534 0.713016 1.612514 1.099905 1.248100 0.144885 1.649466 1.845690 0.607491 0.172473 0.368577 1.256826 0.696450 1.000022 1.783364 1.356855 1.482300 0.389455 1.855899 0.059381 0.871393 0.437859 0.626669 1.472290 0.986938 1.160649 0.044710 1.555710 1.726383 0.582184 0.113169 0.308196 1.204593 0.676411 0.904069 1.749963 1.284785 1.471654 0.320366 1.822050 0.071750 0.938392 0.440404 0.639345 1.464275 1.036762 1.209704 0.108042 1.577217 1.805613 0.638997 0.202317 0.394149 1.259270 0.794097 0.985343 1.860820 1.332740 1.564546 0.445216 1.936667 0.162630 1.018010 0.562036 0.759351 1.640140 1.174788 1.393150 0.193194 1.761434 -0.028342 0.843967 0.369422 0.574613 1.461200 1.025160 1.188192 0.062228 1.595974 1.807095 0.703772 0.248813 0.390651 1.288903 0.837748 1.009827 1.873606 1.490212 1.643478 0.536725 0.084376 0.285011 1.136722 0.696384 0.935730 1.801819 1.346746 1.540146 0.444178 1.926354 0.189217 1.008903 0.565661 0.823151 1.711982 1.255646 1.454300 0.334455 1.868663 0.159807 0.963781 0.517653 0.773811 1.577528 1.197894 1.400802 0.235517 1.833551 0.074426 0.904162 0.460295 0.686788 1.555042 1.120389 1.355179 0.224048 1.762951 0.005734 0.892651 0.453945 0.669302 1.565048 1.058581 1.297366 0.187243 1.763504 0.000110 0.886517 0.448473 0.665436 1.527009 1.144416 1.345976 0.208029 1.739543 0.009151 0.901911 0.455317 0.709002 1.563681 1.107969 1.338138 0.256075 1.779942 0.039898 0.909000 0.513147 0.727884 1.623469 1.210117 1.391918 0.312905 1.873965 0.110255 0.992809 0.559566 0.752488 1.673640 1.304061 1.494387 0.435113 1.937074 0.224882 1.074645 0.648592 0.865055 1.812572 1.303535 1.622839 0.492541 0.116126 0.296747 1.254116 0.736056 0.961823 1.909516 1.558690 1.767869 0.635807 0.181390 0.414262 1.351123 0.918536 1.159840 0.070110 1.682032 1.902872 0.768501 0.332623 0.579829 1.476151 1.100300 1.318383 0.230337 1.797775 0.060935 0.962739 0.564230 0.826290 1.716563 1.212238 1.541220 0.420744 -0.006198 0.212694 1.218296 0.752793 1.053668 1.898346 1.501560 1.764852 0.678508 0.166357 0.474779 1.408914 0.994480 1.261537 0.138824 1.704420 1.986765 0.890687 0.458767 0.718736 1.641178 1.235724 1.462959 0.400540 -0.010464 0.276093 1.197639 0.735190 1.029685 1.955275 1.535808 1.742875 0.702104 0.299573 0.559280 1.427673 1.057290 1.397463 0.250431 1.854239 0.059571 0.998282 0.593036 0.891174 1.741297 1.374460 1.655027 0.545510 0.159152 0.423954 1.354722 0.927302 1.181824 0.145064 1.763555 0.010391 0.926282 0.555133 0.789947 1.759257 1.298170 1.567590 0.536611 0.167085 0.375766 1.266103 0.883634 1.180887 0.109860 1.743087 1.987714 0.932282 0.510436 0.761363 1.682208 1.292257 1.560546 0.499992 0.115851 0.351137 1.331142 0.944044 1.220637 0.171199 1.742392 -0.015950 0.975379 0.558244 0.818563 1.778201 1.409720 1.626752 0.647674 0.174252 0.471319 1.372319 1.019171 1.271589 0.221916 1.867633 0.121099 1.066181 0.640547 0.959274 1.867046 1.470797 1.806259 0.709898 0.317787 0.595577 1.597788 1.179295 1.436662 0.382302 -0.020367 0.312913 1.249850 0.849863 1.128202 0.111011 1.707414 -0.002964 0.936579 0.584336 0.870256 1.780731 1.373714 1.672293 0.668929 0.273433 0.522378 1.475846 1.101979 1.456318 0.398345 0.020877 0.322284 1.223011 0.885807 1.139509 0.059658 1.706266 0.029106 0.975006 0.556237 0.824447 1.833962 1.444581 1.763718 0.639587 0.313527 0.621067 1.517273 1.183716 1.485567 0.462900 0.102210 0.361914 1.350611 0.981852 1.270975 0.219789 1.781735 0.102555 1.089699 0.684207 1.049353 -0.002526 1.636375 1.921655 0.829742 0.525888 0.745584 1.770626 1.344649 1.676198 0.621313 0.272114 0.551429 1.565678 1.162460 1.427687 0.450626 0.116540 0.390805 1.349355 0.967931 1.277240 0.247068 1.910440 0.209640 1.222241 0.799924 1.134098 0.167242 1.733575 0.097298 1.023861 0.687973 0.964127 1.910580 1.617110 1.882856 0.866813 0.526777 0.834891 1.797358 1.398134 1.710706 0.656757 0.347411 0.683191 1.642158 1.237614 1.552571 0.583248 0.183488 0.490582 1.537740 1.137122 1.449122 0.425814 0.087226 0.368226 1.301188 1.004447 1.367258 0.314846 1.937355 0.276100 1.274513 0.973625 1.262770 0.214149 1.872248 0.204072 1.206791 0.791981 1.140932 0.162755 1.816744 0.126021 1.095725 0.753332 1.057845 0.011636 1.711281 0.067861 0.916518 0.705294 0.966825 1.942922 1.658590 1.945892 0.929035 0.583970 0.913502 1.954910 1.513113 1.824745 0.894604 0.525570 0.864331 1.864252 1.469809 1.804679 0.807244 0.498844 0.778173 1.853237 1.476679 1.825117 0.812980 0.452850 0.776851 1.753419 1.426853 1.754429 0.702696 0.402091 0.733995 1.738373 1.408308 1.727135 0.738964 0.430716 0.736497 1.815923 1.431531 1.770930 0.740697 0.433743 0.778886 1.776614 1.457225 1.786693 0.807346 0.494220 0.801908 1.821476 1.486942 1.858075 0.805178 0.515453 0.835662 1.845272 1.517505 1.846042 0.845971 0.529488 0.889168 1.910676 1.499950 1.842179 0.884092 0.598629 0.936179 1.838265 1.594044 1.893181 0.910607 0.583899 0.896185 1.931174 1.628094 0.006721 0.995160 0.691700 0.988878 -0.039370 1.680353 0.031789 1.070689 0.670388 1.054758 0.103573 1.766511 0.092587 1.154420 0.783691 1.154727 0.163916 1.814135 0.214809 1.221017 0.976663 1.307480 0.311152 1.934208 0.341307 1.322250 1.043696 1.361225 0.390297 0.045618 0.422148 1.496187 1.150619 1.503691 0.539823 0.263869 0.568527 1.611124 1.350344 1.682127 0.646320 0.327642 0.723254 1.733235 1.446253 1.790972 0.804170 0.582608 0.867096 1.892819 1.546123 1.958018 1.030413 0.656261 0.994540 0.048458 1.765593 0.069591 1.156448 0.892195 1.238716 0.212402 1.872719 0.328822 1.310546 0.973843 1.316021 0.431408 0.160610 0.459116 1.526037 1.237244 1.544646 0.558182 0.324657 0.653998 1.655175 1.414974 1.820009 0.817181 0.506548 0.863124 1.881679 1.629736 1.971921 0.989514 0.687969 1.059799 0.135906 1.822122 0.241246 1.246607 0.952261 1.278783 0.322455 -0.006648 0.448647 1.460353 1.188541 1.505351 0.595776 0.268532 0.663185 1.725498 1.396316 1.882172 0.877225 0.593175 0.944548 -0.018528 1.686100 0.066178 1.162242 0.849813 1.219211 0.262944 1.914885 0.303351 1.437204 1.119358 1.443318 0.531438 0.231945 0.607793 1.714496 1.425412 1.803754 0.857340 0.529455 0.976736 -0.836695 1.685686 0.076458 1.081337 0.848491 1.207041 0.247790 0.070477 0.361858 1.410140 1.141008 1.560406 0.629451 0.358661 0.693566 1.773974 1.520055 1.872909 0.935495 0.672684 1.018100 0.090872 1.845243 0.220697 1.270124 1.048852 1.456499 0.438818 0.183275 0.598271 1.683438 1.372068 1.783626 0.873952 0.597897 1.024790 0.021030 1.827915 0.173186 1.231152 0.980653 1.361007 0.426898 0.167824 0.568818 1.648082 1.407691 1.762695 0.888747 0.626133 0.997402 0.019603)
        )
 
 
@@ -2410,28 +2410,28 @@
 ;;; 256 odd --------------------------------------------------------------------------------
 (vector 256 22.546259712247 #r(0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1)
       
-	16.335743 #(0.000000 0.456070 1.650982 -0.125771 1.559784 -0.588351 1.709302 -0.191266 1.629153 0.538933 0.127733 0.109840 1.652969 1.691568 0.764321 1.272937 0.090768 0.493216 0.625131 -0.180761 0.952579 0.143380 1.409704 1.673990 0.713461 1.663498 0.283239 0.491461 0.574099 -0.012865 -0.018662 0.811214 1.948978 1.435116 1.649496 1.324371 1.262733 1.802190 0.002798 0.034356 1.400055 1.047735 0.755151 0.908574 0.939705 0.872409 1.151152 0.013754 1.112069 0.936469 0.089947 1.193308 1.807825 0.083218 0.181560 0.017098 -0.039938 1.658107 0.155742 0.540020 0.035072 1.252686 1.631740 0.635387 0.042512 0.254214 0.228103 1.256465 1.730172 0.241081 1.097391 0.600414 0.597291 -0.072082 0.484832 0.544784 0.738234 -0.075856 -0.028708 0.888234 1.762536 -0.264504 0.465106 1.455550 -0.128582 1.521565 0.569550 0.150717 0.004265 0.954485 0.302727 0.142663 1.746035 0.240881 1.722577 0.107687 0.181551 0.483616 1.644505 -0.001100 1.152835 1.282881 1.444824 1.593966 0.215703 0.274295 1.351920 -0.057753 0.166694 0.913831 0.986385 0.889533 1.230138 1.368056 1.641188 0.213777 1.656106 1.836322 1.341558 1.704783 0.610284 1.370300 0.988471 1.460455 0.584988 1.046010 0.550309 0.877321 0.100448 1.366208 1.573166 1.631481 0.604586 0.764482 0.246695 0.786110 1.883872 1.657733 0.732498 1.773273 0.444036 0.299943 0.280772 1.345419 1.359069 1.770899 1.273630 1.182517 0.173807 0.398834 1.477539 1.421426 1.208614 1.859799 1.063722 -0.064902 1.124792 1.693867 0.235903 0.158096 1.586679 0.548187 1.332012 1.109289 0.584632 1.717401 1.264674 0.063614 0.953128 0.239035 1.185790 0.662926 0.277544 0.274156 1.362697 0.582838 1.875040 -0.127623 -0.423444 1.549989 0.877649 0.671389 0.575496 1.880176 0.941985 0.002707 -0.086243 0.737589 0.367442 -0.366122 0.769792 -0.058493 1.121113 0.014352 0.646738 0.134676 0.563357 0.740528 1.185474 -0.460059 0.223090 0.465147 1.273644 1.477754 1.211889 0.431762 0.092599 0.458110 1.850279 1.196709 1.138047 1.804160 0.359714 0.982530 0.124937 0.938802 1.445599 0.793603 1.529407 1.414228 0.748094 0.978910 0.737526 -0.512477 0.741923 1.620046 0.619747 0.050292 -0.133600 -0.044924 1.490493 0.477786 0.775993 1.741564 1.040547 1.022871 0.102887 0.686210 1.136564 1.210292 0.512052 1.580506 1.606241 -0.137686 0.444030 1.265327 1.165388 1.692822 1.822218 1.906747 1.590752 0.693401 0.211407 -0.170214 0.759283 0.686399)
+	16.289874 #(0.000000 0.462326 1.659916 -0.128549 1.564294 -0.605434 1.705265 -0.191584 1.653523 0.519338 0.161069 0.130469 1.641645 1.700628 0.747087 1.298900 0.083406 0.481497 0.595950 -0.168433 0.943293 0.128602 1.426023 1.657471 0.716818 1.652245 0.278018 0.501654 0.573596 -0.052550 -0.015452 0.807444 1.942233 1.418719 1.634457 1.316028 1.259744 1.812974 0.011529 0.039074 1.397193 1.066792 0.750803 0.927470 0.947131 0.878204 1.169555 0.004185 1.106533 0.964704 0.078915 1.213605 1.829790 0.073085 0.167442 0.037992 -0.024818 1.647199 0.121969 0.526405 0.038653 1.249618 1.640945 0.645096 0.049183 0.261638 0.231218 1.240454 1.714785 0.237012 1.074030 0.614811 0.599207 -0.076392 0.476692 0.539091 0.747140 -0.056785 -0.016250 0.892118 1.779112 -0.255774 0.447605 1.468133 -0.130385 1.500349 0.572255 0.173502 0.008022 0.963255 0.311388 0.140659 1.722019 0.263642 1.721758 0.111950 0.188453 0.496607 1.619854 -0.030422 1.152500 1.301889 1.447899 1.595917 0.196952 0.272842 1.324120 -0.080552 0.142590 0.908007 0.966789 0.883115 1.256864 1.381782 1.655597 0.219447 1.650651 1.852289 1.310419 1.718758 0.604128 1.386491 1.019377 1.459482 0.597119 1.057320 0.534825 0.884208 0.073749 1.362088 1.553308 1.638136 0.593930 0.759941 0.215071 0.797517 1.883907 1.671510 0.722022 1.784651 0.446749 0.272815 0.261847 1.353417 1.337214 1.766200 1.279250 1.180469 0.161270 0.415791 1.470299 1.414667 1.196099 1.867011 1.049418 -0.076711 1.097316 1.680734 0.218547 0.155395 1.588745 0.570741 1.332372 1.089112 0.567625 1.714104 1.243210 0.068229 0.926789 0.298214 1.175765 0.647078 0.306445 0.271878 1.367813 0.559187 1.882352 -0.141655 -0.424354 1.539246 0.877887 0.642923 0.593610 1.879663 0.946530 -0.023812 -0.112957 0.747594 0.363104 -0.379283 0.770738 -0.047317 1.136336 0.028335 0.646746 0.148009 0.549161 0.740845 1.179171 -0.476892 0.199381 0.432902 1.279666 1.469346 1.202572 0.444997 0.072755 0.445013 1.833871 1.190650 1.150484 1.810494 0.348333 0.982363 0.125006 0.949733 1.454588 0.812573 1.531823 1.388558 0.751132 0.958616 0.753174 -0.519431 0.742541 1.597885 0.620613 0.036680 -0.152405 -0.045326 1.481291 0.468765 0.769942 1.743684 1.031611 1.030088 0.084240 0.693146 1.141461 1.209946 0.466305 1.587682 1.601016 -0.155266 0.465228 1.268919 1.159997 1.709173 1.830998 1.893894 1.605793 0.682775 0.203765 -0.173269 0.731321 0.668619)
       )
 
 ;;; 512 odd --------------------------------------------------------------------------------
 (vector 512 35.541 #r(0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0)
 
       ;; from (try-all :odd 512 513 0.0057812032540294  1.0142361702487) = 28.7291 start for next
-	23.572216 #(0.000000 1.401363 0.707949 -0.016536 1.301612 0.609854 -0.051680 1.285338 0.674937 0.044414 1.445954 0.840390 0.179691 1.562576 0.889485 0.276838 1.617695 1.001862 0.364001 1.783297 1.201580 0.587416 0.021575 1.362507 0.746726 0.175804 1.600424 1.038984 0.464562 1.922925 1.371790 0.799800 0.179248 1.636805 1.040231 0.488188 -0.079052 1.399834 0.870272 0.367998 1.885500 1.344718 0.857383 0.320386 1.814277 1.283381 0.719727 0.233249 1.713010 1.219576 0.708502 0.220288 1.741626 1.244312 0.742977 0.281037 1.818989 1.350617 0.939290 0.504641 0.026040 1.597340 1.129956 0.703093 0.237272 1.750883 1.286049 0.826577 0.404376 -0.002326 1.638619 1.241301 0.780947 0.379726 1.953570 1.561779 1.178278 0.777433 0.313883 1.909197 1.551827 1.227903 0.863320 0.487776 0.080506 1.713404 1.377807 1.021547 0.639664 0.263482 -0.027506 1.646736 1.295108 0.942482 0.568771 0.240250 1.934065 1.635577 1.364396 1.035085 0.686631 0.365957 0.082574 1.778836 1.479037 1.137550 0.883353 0.636120 0.393302 0.076683 1.812330 1.535244 1.255990 0.990113 0.713070 0.472267 0.227757 1.955245 1.724915 1.459728 1.214398 0.956189 0.737249 0.561078 0.344357 0.115127 1.893522 1.706350 1.524826 1.305947 1.047588 0.864845 0.706455 0.489697 0.306658 0.170476 -0.000315 1.725166 1.562127 1.479141 1.293016 1.113549 0.979498 0.832541 0.617384 0.513260 0.421837 0.280733 0.115643 -0.048468 1.790461 1.642599 1.536178 1.475671 1.413177 1.303387 1.118110 1.010747 0.978236 0.892326 0.748132 0.667255 0.589367 0.520162 0.437770 0.352250 0.309418 0.258479 0.170021 0.072409 0.038598 -0.036185 1.911089 1.952540 1.949241 1.847453 1.823285 1.826149 1.777595 1.738801 1.744864 1.734064 1.686196 1.693788 1.705207 1.683502 1.699499 1.721339 1.711516 1.716352 1.750601 1.783195 1.792564 1.866991 1.911309 1.902852 -0.050893 0.032770 0.097745 0.118998 0.159901 0.202599 0.270644 0.354208 0.447521 0.529624 0.583580 0.721562 0.781782 0.822248 0.914147 1.041640 1.182826 1.261879 1.324533 1.423279 1.553517 1.687516 1.811237 1.960010 0.102313 0.224371 0.403895 0.501867 0.613227 0.811787 0.966599 1.139883 1.259162 1.410406 1.593557 1.783842 1.953190 0.110001 0.265082 0.490288 0.674253 0.869624 1.052371 1.246288 1.445523 1.713745 1.909105 0.130564 0.323314 0.568901 0.776527 1.033489 1.192158 1.528774 1.733624 0.007571 0.200110 0.515527 0.676274 0.986074 1.191405 1.503724 1.773130 0.091548 0.341871 0.627231 0.943924 1.199455 1.460953 1.722246 0.049433 0.337380 0.721920 1.006013 1.357775 1.611831 -0.006369 0.245449 0.639703 0.956629 1.282908 1.632170 1.925674 0.368027 0.628456 1.075788 1.339507 1.732475 0.074660 0.451448 0.838519 1.221516 1.590163 0.075168 0.388041 0.855369 1.096859 1.599073 1.955153 0.415911 0.806411 1.188338 1.616778 -0.014666 0.517564 0.869931 1.392533 1.727041 0.233199 0.623896 1.104391 1.522002 0.026632 0.433049 0.956772 1.402679 1.821357 0.309108 0.736593 1.343779 1.756237 0.318651 0.693398 1.236961 1.732207 0.266333 0.784302 1.323523 1.725244 0.287736 0.807614 1.316335 1.937304 0.408192 0.943777 1.465347 -0.002026 0.528002 1.166287 1.617280 0.322485 0.718136 1.385152 1.937504 0.504793 1.066450 1.749817 0.186342 0.813446 1.469527 -0.008611 0.591791 1.221139 1.788103 0.346294 1.007581 1.683032 0.235265 0.930978 1.590994 0.138614 0.823439 1.411809 0.099241 0.704557 1.371595 0.029006 0.638823 1.333494 -0.041441 0.671587 1.404324 -0.011521 0.689301 1.390405 0.000026 0.772046 1.445159 0.155853 0.917221 1.584863 0.238205 0.992589 1.651991 0.366987 1.115154 1.836911 0.662058 1.315764 0.123317 0.815550 1.593307 0.338610 1.032565 1.786488 0.552527 1.426243 0.047807 0.894112 1.681279 0.351482 1.252616 1.951371 0.747123 1.591624 0.370067 1.204883 -0.014752 0.849054 1.555814 0.465866 1.255245 0.095762 0.815865 1.769838 0.543540 1.428045 0.205561 1.124159 1.874641 0.783882 1.568278 0.459347 1.351416 0.180114 1.050938 -0.008019 0.870364 1.727118 0.615998 1.501524 0.426428 1.243731 0.161284 1.068519 0.038490 0.860439 1.783963 0.725134 1.728695 0.558984 1.544981 0.472190 1.411956 0.289564 1.278277 0.261260 1.102708 0.119910 1.046894 0.042362 0.990987 1.895784 0.999204 1.944106 0.981095 1.888246 0.875889 1.881105 0.914114 1.907765 0.934167 1.871703 0.922675 1.878203 0.894263 1.924985 0.935181 -0.038732 0.996396 0.036535 1.047831 0.136142 1.217996 0.271456 1.325089 0.417135 1.401707 0.454163 1.537624 0.600242 1.723818 0.803882 1.909771 0.927304 0.018368 1.122082 0.262598 1.337286 0.387925 1.535227 0.569902 1.755096 0.887483 0.026503 1.135610 0.288176 1.415706 0.532336 1.657205 0.797442 0.025250 1.140152 0.324037 1.458698 0.663472 1.757265 1.022215 0.201794 1.332166 0.539679 1.791404 0.982710 0.259590 1.470348 0.752424)
+	23.543834 #(0.000000 1.399505 0.700824 -0.021986 1.301629 0.609444 -0.054122 1.281498 0.678901 0.039662 1.439331 0.840612 0.173885 1.564048 0.890321 0.267562 1.612780 0.991340 0.354268 1.769476 1.196500 0.591361 0.019993 1.368814 0.748950 0.166605 1.600023 1.033422 0.462371 1.916994 1.375058 0.795400 0.179455 1.631683 1.044013 0.485823 -0.077697 1.406881 0.873323 0.379041 1.900776 1.352026 0.856732 0.317669 1.815854 1.271650 0.711332 0.233055 1.705458 1.221250 0.717747 0.221353 1.740324 1.237153 0.742565 0.285815 1.818412 1.350972 0.932450 0.506641 0.033880 1.600520 1.136635 0.710374 0.230715 1.747313 1.283290 0.832303 0.413919 -0.004987 1.635116 1.232082 0.772472 0.375001 1.945500 1.558237 1.175379 0.768235 0.323965 1.912985 1.547081 1.218910 0.854028 0.480445 0.076665 1.703009 1.374836 1.026140 0.635092 0.270441 -0.031713 1.648536 1.294716 0.938402 0.563097 0.236022 1.918294 1.634223 1.362443 1.042751 0.687877 0.376110 0.092769 1.778059 1.470422 1.142369 0.878677 0.646600 0.401591 0.087670 1.815401 1.546668 1.265069 0.996295 0.716447 0.479073 0.223217 1.963176 1.724275 1.469400 1.231052 0.967946 0.742583 0.561920 0.342010 0.101711 1.882519 1.696008 1.522713 1.300593 1.053827 0.870945 0.709088 0.492229 0.303316 0.178437 -0.005409 1.728183 1.558814 1.478988 1.307358 1.114460 0.981990 0.840356 0.624948 0.514114 0.424108 0.279507 0.118194 -0.046305 1.788738 1.639538 1.536169 1.474964 1.409750 1.301247 1.112329 1.016842 0.976416 0.894601 0.750012 0.663771 0.591097 0.517345 0.427286 0.346418 0.322105 0.252996 0.163145 0.072309 0.037283 -0.033136 1.903951 1.947413 1.958472 1.847381 1.820761 1.821755 1.763402 1.731965 1.750006 1.742534 1.690964 1.684267 1.702023 1.675352 1.698938 1.720585 1.714953 1.709260 1.736613 1.781948 1.785626 1.861263 1.915421 1.903004 -0.054380 0.027146 0.092845 0.115875 0.166880 0.204285 0.264994 0.356421 0.443441 0.522910 0.585967 0.712027 0.776662 0.808856 0.915519 1.041791 1.183110 1.269231 1.324936 1.417090 1.546524 1.685817 1.804988 1.955419 0.089493 0.225809 0.408487 0.507727 0.605888 0.816482 0.973680 1.146003 1.265073 1.406607 1.595315 1.784955 1.944157 0.110758 0.264309 0.484894 0.673603 0.870330 1.055329 1.256990 1.443001 1.706299 1.917043 0.135386 0.325162 0.578439 0.778748 1.030765 1.195613 1.536614 1.728756 0.017534 0.197284 0.516565 0.672222 0.990424 1.193606 1.513039 1.765930 0.096090 0.340450 0.626924 0.945057 1.200724 1.470738 1.721257 0.060573 0.334117 0.721917 1.003223 1.368872 1.618488 -0.004373 0.249633 0.636183 0.954412 1.297347 1.630392 1.923575 0.367921 0.635812 1.078837 1.331828 1.716375 0.071146 0.444491 0.843619 1.222450 1.592092 0.087261 0.383514 0.859004 1.095906 1.610388 1.957801 0.413257 0.807764 1.180327 1.619330 -0.027262 0.518803 0.870865 1.384976 1.722013 0.229230 0.614933 1.112025 1.517406 0.026098 0.433882 0.952084 1.400216 1.813073 0.315769 0.731352 1.345664 1.757465 0.308431 0.693675 1.234408 1.729222 0.270013 0.780953 1.317925 1.720626 0.279221 0.797295 1.310174 1.937746 0.403555 0.935277 1.477156 -0.010526 0.534122 1.168821 1.605330 0.331126 0.714365 1.377079 1.946162 0.508272 1.068459 1.754038 0.182274 0.816117 1.469638 -0.009941 0.590063 1.229837 1.782190 0.350493 1.012281 1.671002 0.240499 0.940210 1.581114 0.140426 0.830498 1.407304 0.101340 0.706262 1.378259 0.022743 0.656899 1.331795 -0.048234 0.667042 1.413843 -0.012820 0.680500 1.401491 0.002891 0.775876 1.446820 0.157619 0.918642 1.584069 0.236653 0.995297 1.646196 0.377228 1.110651 1.846065 0.661409 1.328085 0.121238 0.825157 1.604882 0.326253 1.034532 1.790154 0.551996 1.419114 0.047755 0.889903 1.683768 0.361213 1.251254 1.942436 0.757410 1.595110 0.362459 1.199366 -0.009650 0.856886 1.557941 0.465074 1.242663 0.100533 0.813149 1.772631 0.546753 1.426465 0.206774 1.127242 1.874475 0.780357 1.563380 0.460767 1.348786 0.187563 1.043474 0.000389 0.859275 1.728101 0.622186 1.508303 0.433268 1.231918 0.164691 1.066840 0.047194 0.851393 1.781763 0.717894 1.740516 0.553158 1.551919 0.465029 1.419084 0.276529 1.286867 0.258620 1.100346 0.113834 1.049671 0.039293 0.986792 1.902050 0.986504 1.935989 0.984667 1.870813 0.871984 1.889744 0.916720 1.908661 0.938108 1.859659 0.922528 1.878694 0.888537 1.920115 0.936960 -0.043635 0.995797 0.036469 1.039098 0.136934 1.216958 0.283475 1.314550 0.418392 1.401602 0.447191 1.529278 0.606890 1.726145 0.792752 1.907179 0.949306 0.008750 1.129112 0.253229 1.323655 0.386609 1.527972 0.586817 1.749053 0.888757 0.035020 1.140422 0.278043 1.415922 0.531386 1.669038 0.812350 0.017010 1.138549 0.326727 1.450645 0.666960 1.761690 1.028696 0.207601 1.324085 0.548067 1.784095 0.997054 0.266229 1.476335 0.747167)
       )
 
 ;;; 1024 odd --------------------------------------------------------------------------------
 (vector 1024 52.508 #r(0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0)
 
        ;; pp:
-	33.873839 #(0.000000 1.351648 0.669011 1.986632 1.251147 0.553701 1.839593 1.194033 0.488472 1.801655 1.178630 0.462436 1.828851 1.146291 0.476343 1.761204 1.096947 0.468188 1.782149 1.099721 0.423766 1.794544 1.137788 0.481520 1.851245 1.181784 0.581512 1.906777 1.266310 0.625918 1.936562 1.332505 0.708564 0.073764 1.457845 0.797786 0.159233 1.508153 0.927131 0.278545 1.671673 1.071458 0.413485 1.826436 1.222870 0.554897 1.935267 1.344568 0.769659 0.160020 1.560124 0.988659 0.381959 1.763727 1.188788 0.601738 1.965440 1.415579 0.807119 0.209316 1.646571 1.023134 0.444043 1.875852 1.285365 0.708140 0.114049 1.598065 1.029093 0.434574 1.871242 1.283075 0.717425 0.180661 1.604457 1.069283 0.518899 1.943050 1.347678 0.852453 0.283356 1.758865 1.207020 0.640004 0.114749 1.587775 1.078421 0.526417 1.981383 1.481614 0.900811 0.372118 1.806530 1.287687 0.792649 0.261551 1.774379 1.218584 0.743189 0.257978 1.718819 1.234011 0.717035 0.188768 1.677928 1.145523 0.644824 0.166058 1.709828 1.190960 0.676818 0.195929 1.674571 1.201611 0.720424 0.262547 1.786502 1.319398 0.802467 0.284523 1.828331 1.382455 0.896265 0.440864 1.962296 1.488036 1.031123 0.584614 0.147280 1.706249 1.242282 0.735322 0.310517 1.853544 1.429002 0.990773 0.512526 0.071411 1.628081 1.176109 0.778889 0.341389 1.890842 1.478341 1.039169 0.566515 0.152292 1.719253 1.303953 0.882407 0.452630 0.035573 1.634017 1.195864 0.782882 0.378876 1.987157 1.563447 1.163865 0.791094 0.399941 1.974175 1.553831 1.169591 0.765263 0.378195 0.014955 1.593085 1.237650 0.851189 0.458107 0.078937 1.707588 1.299821 0.926150 0.561443 0.242139 1.861928 1.465679 1.049840 0.707485 0.368751 0.017511 1.656651 1.254635 0.886990 0.564310 0.223500 1.856482 1.458687 1.138835 0.885049 0.522013 0.174238 1.836485 1.453924 1.133277 0.801977 0.491335 0.158232 1.819181 1.461950 1.161641 0.815868 0.526911 0.238744 1.887836 1.575953 1.263503 0.965918 0.644642 0.334289 0.018284 1.719107 1.437389 1.131992 0.837415 0.542270 0.248063 1.963557 1.646165 1.333216 1.073639 0.806753 0.491451 0.206940 1.908331 1.629592 1.354771 1.107829 0.820168 0.574147 0.295629 0.030867 1.768131 1.518898 1.247786 0.968942 0.716691 0.457720 0.216788 1.940203 1.680253 1.464800 1.248196 0.968923 0.702155 0.469314 0.217555 1.943152 1.732905 1.544598 1.308891 1.025165 0.795853 0.612599 0.393434 0.166722 1.933921 1.685877 1.497208 1.287769 1.069756 0.843986 0.638634 0.435543 0.232924 0.031396 1.804238 1.602377 1.444024 1.244216 1.014050 0.862107 0.640870 0.447879 0.288079 0.122276 1.920486 1.706604 1.546467 1.357930 1.172936 1.008174 0.843166 0.657805 0.474386 0.333371 0.147882 1.972744 1.820611 1.676595 1.541849 1.334747 1.199174 1.057996 0.896817 0.718147 0.579298 0.445676 0.303735 0.126339 0.019536 1.912459 1.754484 1.588565 1.517665 1.338790 1.179379 1.078377 0.969446 0.847126 0.707347 0.591113 0.490970 0.374086 0.206375 0.116405 0.012277 1.891079 1.795462 1.700807 1.592038 1.514159 1.410043 1.277414 1.225258 1.108152 1.025735 0.925384 0.789769 0.747388 0.679811 0.587350 0.510734 0.417708 0.341352 0.269208 0.164958 0.091831 0.046069 1.951596 1.916553 1.874974 1.807378 1.711243 1.627238 1.613428 1.561897 1.486982 1.443651 1.397041 1.343836 1.305706 1.251888 1.189718 1.147554 1.120246 1.074373 1.022853 1.021305 1.004807 0.936441 0.903403 0.904908 0.874442 0.858432 0.835330 0.812674 0.792901 0.758009 0.792277 0.799437 0.750902 0.712134 0.780913 0.769941 0.719617 0.739711 0.741786 0.721863 0.756210 0.748095 0.704118 0.735432 0.794326 0.798697 0.779991 0.818946 0.814976 0.832448 0.865569 0.893136 0.971132 0.955364 0.964294 1.012544 1.084743 1.125982 1.100405 1.183415 1.252618 1.261542 1.283950 1.361309 1.426650 1.464479 1.478657 1.544201 1.635690 1.705156 1.684799 1.765201 1.862859 1.950375 0.000573 0.075054 0.142630 0.180191 0.229315 0.369967 0.480520 0.506572 0.545236 0.676650 0.796143 0.845698 0.908050 1.022874 1.154595 1.217552 1.295823 1.406660 1.512700 1.596480 1.683792 1.836623 1.931756 0.055594 0.200574 0.259872 0.396779 0.492757 0.612828 0.749724 0.859903 1.034036 1.108964 1.174695 1.389103 1.518322 1.630241 1.764476 1.908376 0.082192 0.205709 0.324053 0.461972 0.616356 0.751118 0.888923 1.076928 1.205660 1.375225 1.527975 1.719213 1.888122 0.041001 0.177093 0.356372 0.539257 0.704171 0.861132 1.053696 1.230421 1.407512 1.567859 1.774746 1.944057 0.098873 0.297806 0.460458 0.673915 0.885917 1.104659 1.293230 1.460621 1.678725 1.846930 0.076826 0.292377 0.492208 0.681777 0.949623 1.130511 1.332265 1.557557 1.757605 0.002803 0.195869 0.396423 0.661916 0.893867 1.112597 1.347881 1.599355 1.839215 0.086253 0.301334 0.525536 0.766987 1.054362 1.310197 1.503619 1.752825 -0.010506 0.292967 0.517115 0.793301 1.022014 1.265154 1.545056 1.832047 0.109857 0.336522 0.618031 0.873531 1.167357 1.446273 1.714855 0.011336 0.287690 0.553107 0.846855 1.123304 1.402152 1.739427 0.013010 0.347454 0.562395 0.874131 1.195718 1.503221 1.806762 0.089206 0.437268 0.705067 1.025691 1.282231 1.635796 1.956216 0.305501 0.607636 0.928971 1.262472 1.580450 1.910397 0.213154 0.568610 0.852886 1.215423 1.544558 1.942719 0.205367 0.562292 0.875072 1.246401 1.576179 1.962349 0.296528 0.656576 1.042086 1.371389 1.755598 0.123754 0.432838 0.773266 1.204579 1.570228 1.930783 0.268915 0.662109 1.013766 1.446289 1.786312 0.170730 0.520593 0.901953 1.308994 1.710853 0.080736 0.474399 0.853773 1.304338 1.676671 0.064122 0.415960 0.875087 1.234376 1.706064 0.088737 0.505319 0.900955 1.310127 1.778988 0.151381 0.570563 0.988192 1.459400 1.861175 0.240093 0.711309 1.072074 1.539993 1.981422 0.469681 0.838240 1.302945 1.725936 0.180747 0.640788 1.070021 1.548416 -0.009328 0.423453 0.865216 1.368232 1.791454 0.242369 0.716110 1.164389 1.658182 0.128262 0.568477 1.096265 1.489975 0.026835 0.488504 0.919316 1.487844 1.878162 0.419618 0.895792 1.320015 1.829083 0.366064 0.824179 1.350010 1.829655 0.343289 0.791632 1.379112 1.817733 0.358050 0.856600 1.372125 1.858414 0.350023 0.880693 1.411566 1.893718 0.446041 0.929473 1.476964 1.990641 0.510077 1.080673 1.593319 0.126772 0.667939 1.186927 1.764615 0.313227 0.821497 1.366237 1.873743 0.461483 0.994824 1.537378 0.111402 0.649495 1.205651 1.765202 0.292677 0.904434 1.431533 0.033194 0.585507 1.158749 1.700127 0.338488 0.859527 1.386193 0.071223 0.597555 1.217199 1.775978 0.383525 0.918677 1.521420 0.130967 0.710106 1.300020 1.943809 0.514925 1.114456 1.701943 0.318511 0.871372 1.524183 0.123018 0.726773 1.331457 1.960395 0.586969 1.218714 1.862109 0.444804 1.076870 1.704182 0.343536 0.966783 1.597867 0.235606 0.847522 1.527359 0.109042 0.774737 1.398143 0.045781 0.700019 1.350783 0.030447 0.677880 1.344296 1.914913 0.670927 1.248361 1.962293 0.640085 1.258704 1.964976 0.621262 1.275470 -0.030446 0.637150 1.301988 1.978550 0.681293 1.349318 0.040360 0.720549 1.431691 0.088886 0.783112 1.505161 0.210803 0.824372 1.591151 0.229744 0.967711 1.657604 0.367711 1.115026 1.767822 0.527169 1.215341 1.929479 0.668026 1.386254 0.123006 0.827153 1.561836 0.268872 0.970386 1.696177 0.441981 1.214680 1.875011 0.698128 1.407522 0.149381 0.931681 1.604940 0.363483 1.100166 1.863809 0.614244 1.345775 0.142343 0.868453 1.648198 0.381920 1.163415 1.917222 0.705661 1.449907 0.218155 0.964728 1.783530 0.604205 1.347967 0.064819 0.868114 1.685083 0.411305 1.232880 -0.006091 0.842779 1.592676 0.452348 1.218575 1.958244 0.795106 1.591751 0.390283 1.195634 -0.010409 0.833459 1.604520 0.452062 1.250329 0.045751 0.877597 1.706650 0.502641 1.345135 0.138237 1.015136 1.803475 0.677856 1.488439 0.313756 1.153850 -1.847771 0.784012 1.669929 0.506904 1.382881 0.270318 1.055688 1.917852 0.791357 1.644789 0.487758 1.315234 0.227029 1.054177 1.923548 0.771604 1.617252 0.566567 1.403380 0.272675 1.140871 0.034879 0.864869 1.783316 0.656896 1.549261 0.355443 1.287959 0.182121 1.075760 1.972038 0.881707 1.805106 0.712819 1.640588 0.484168 1.420678 0.284586 1.234371 0.163265 1.019766 1.931610 0.839096 1.734218 0.696685 1.597458 0.535108 1.449938 0.382774 1.321059 0.234780 1.158202 0.100800 1.042652 1.959922 0.890012 1.804461 0.767812 1.708097 0.656941 1.625390 0.567507 1.563677 0.523715 1.459737 0.422335 1.384569 0.340663 1.310137 0.233727 1.228840 0.158159 1.143398 0.137275 1.074737 0.070032 1.025106 -0.014377 1.041509 -0.006391 0.975108 -0.009085 0.926454 1.938130 0.956219 1.882529 0.942576 1.934954 0.871183 1.892917 0.855672 1.910724 0.888853 1.918818 0.937543 1.957824 0.984058 -0.036834 1.008909 0.036843 1.090322 0.071711 1.120105 0.154489 1.155046 0.220677 1.265264 0.301858 1.352822 0.369101 1.422461 0.483564 1.549016 0.472926 1.521878 0.619615 1.632673 0.713972 1.777098 0.828764 1.876300 0.917926 -0.041205 1.044589 0.109648 1.175698 0.262161 1.349835 0.440994 1.484696 0.588807 1.690301 0.764707 1.823408 0.930049 -1.620009 1.041845 0.151645 1.240820 0.402452 1.487287 0.512454 1.678099 0.796083 1.877911 0.910801 0.064403 1.168609 0.262901 1.338086 0.518916 1.519865 0.719686 1.799193 0.941809 0.054798 1.232851 0.359948 1.382539 0.565060 1.667240 0.829106 -0.017137 1.115646 0.245443 1.357585 0.529352 1.741738 0.846098 -0.020247 1.139206 0.247193 1.493388 0.579586 1.752843 0.887489 0.072464 1.228038 0.407459 1.514243 0.758603 1.925084 1.104027 0.279024 1.478380 0.680247 1.824590 1.010051 0.284551 1.505225)
+	33.807201 #(0.000000 1.364142 0.675113 1.983577 1.254294 0.552329 1.836743 1.192409 0.484634 1.801533 1.172566 0.466483 1.828751 1.135181 0.472840 1.760159 1.095778 0.457855 1.784750 1.097435 0.425212 1.789789 1.135510 0.477321 1.851375 1.178611 0.580958 1.895610 1.262044 0.621204 1.940570 1.336164 0.716678 0.079611 1.459665 0.794577 0.160789 1.506831 0.918691 0.277786 1.674486 1.073116 0.407339 1.834209 1.226386 0.561498 1.936202 1.346414 0.761610 0.161533 1.567155 0.988407 0.385930 1.759693 1.189891 0.596762 1.964884 1.408838 0.805682 0.208528 1.638408 1.022041 0.449073 1.877688 1.290483 0.710597 0.118907 1.604347 1.036344 0.437007 1.870216 1.279646 0.714185 0.181876 1.603225 1.060701 0.516902 1.943455 1.352162 0.854959 0.278554 1.759323 1.206344 0.648705 0.112478 1.593480 1.081783 0.535465 1.983045 1.480521 0.898870 0.368148 1.804509 1.288994 0.794865 0.261963 1.767905 1.218193 0.742589 0.253127 1.714849 1.235497 0.715457 0.184149 1.674275 1.146285 0.645897 0.166841 1.710680 1.198433 0.677299 0.186226 1.674915 1.199136 0.721300 0.262563 1.790743 1.314432 0.809315 0.288571 1.828209 1.387199 0.896357 0.437605 1.960099 1.483803 1.028106 0.584458 0.146819 1.709447 1.230858 0.733909 0.306513 1.850441 1.427304 0.992892 0.510099 0.065866 1.631296 1.178126 0.777301 0.345046 1.900495 1.476859 1.038599 0.572586 0.149186 1.721605 1.305591 0.886100 0.457098 0.037433 1.638899 1.197425 0.790088 0.377839 1.989780 1.558203 1.156485 0.781870 0.404317 1.973835 1.554358 1.170233 0.771615 0.374277 0.018493 1.594123 1.242513 0.854619 0.461795 0.081110 1.709280 1.301002 0.923569 0.562176 0.240831 1.868645 1.467942 1.043506 0.700191 0.373186 0.020901 1.660798 1.253399 0.883421 0.565536 0.228833 1.855303 1.456208 1.135323 0.876583 0.521252 0.177034 1.833435 1.455770 1.125916 0.805724 0.491845 0.160671 1.828987 1.465590 1.155785 0.817746 0.521332 0.235426 1.887966 1.575223 1.257205 0.969169 0.641354 0.337266 0.021962 1.715940 1.432962 1.130802 0.833072 0.542765 0.257276 1.961983 1.645176 1.332410 1.073812 0.812059 0.494499 0.209301 1.908095 1.631186 1.353093 1.111512 0.827999 0.575490 0.300653 0.031163 1.773109 1.512681 1.250107 0.966897 0.721390 0.462299 0.215499 1.939259 1.677678 1.457396 1.248037 0.965584 0.701309 0.468425 0.220869 1.947613 1.740789 1.544693 1.309081 1.029906 0.793064 0.610826 0.390206 0.164853 1.929700 1.691873 1.499022 1.289892 1.071540 0.841105 0.632207 0.426445 0.234765 0.030096 1.800259 1.605596 1.441473 1.246927 1.017050 0.863186 0.644309 0.447349 0.290887 0.123873 1.918826 1.712423 1.551871 1.363485 1.174755 1.008922 0.834264 0.655134 0.468710 0.329933 0.142069 1.972940 1.818013 1.673571 1.540238 1.342087 1.205880 1.061367 0.897784 0.719658 0.579367 0.442314 0.296625 0.129827 0.017638 1.911483 1.754803 1.591958 1.513209 1.336162 1.182556 1.082715 0.960545 0.847392 0.701142 0.585862 0.484740 0.370327 0.206932 0.117826 0.013386 1.890380 1.793457 1.704658 1.586803 1.511827 1.409979 1.273336 1.222449 1.111527 1.023000 0.924913 0.792137 0.742634 0.678038 0.578023 0.516957 0.424087 0.345217 0.272108 0.159530 0.094246 0.043689 1.948288 1.921275 1.871901 1.801095 1.715747 1.629669 1.611307 1.562035 1.484941 1.444552 1.396826 1.342300 1.308525 1.259733 1.187530 1.141791 1.123593 1.081080 1.019739 1.021993 1.004057 0.941054 0.899743 0.899757 0.869793 0.851618 0.834755 0.804474 0.792500 0.765680 0.792527 0.797054 0.745563 0.712647 0.780858 0.773019 0.716983 0.739835 0.744593 0.725716 0.753125 0.739631 0.700381 0.740051 0.796021 0.797779 0.773341 0.815539 0.818404 0.839560 0.861041 0.896510 0.975994 0.961304 0.961600 1.010461 1.085676 1.119417 1.102104 1.186440 1.253285 1.264452 1.276904 1.352625 1.428826 1.470120 1.480053 1.545121 1.643816 1.703297 1.684862 1.768694 1.862439 1.944457 0.006758 0.079527 0.149665 0.178903 0.225964 0.370916 0.477795 0.511178 0.548206 0.672042 0.792219 0.842319 0.905728 1.025895 1.158540 1.211987 1.295255 1.402468 1.514037 1.591998 1.690262 1.832834 1.926728 0.063512 0.198714 0.262129 0.396070 0.490506 0.616295 0.752364 0.863755 1.033368 1.102982 1.183924 1.392415 1.517478 1.634591 1.766292 1.906988 0.084784 0.205199 0.325843 0.466764 0.624717 0.761767 0.890311 1.082167 1.196327 1.369408 1.529028 1.716948 1.888984 0.035238 0.174108 0.353212 0.538144 0.707038 0.863433 1.051814 1.230131 1.410797 1.569966 1.776113 1.943480 0.099064 0.295267 0.460289 0.674408 0.891305 1.105514 1.293793 1.464341 1.675349 1.851695 0.076190 0.293742 0.486290 0.684082 0.952904 1.128080 1.330015 1.557054 1.757259 -0.000160 0.192871 0.402308 0.664868 0.894446 1.116479 1.353592 1.598826 1.836131 0.080652 0.297534 0.527974 0.765866 1.057519 1.308261 1.502691 1.750665 -0.004866 0.289087 0.518195 0.789721 1.023266 1.265193 1.548023 1.836315 0.113253 0.337725 0.619232 0.873943 1.165135 1.439196 1.712255 0.017596 0.281853 0.557727 0.844713 1.122423 1.402075 1.732865 0.011167 0.341737 0.563808 0.879213 1.198923 1.499889 1.805064 0.086808 0.436206 0.707039 1.025966 1.290207 1.644101 1.962475 0.304593 0.612903 0.928215 1.263726 1.582130 1.907083 0.221768 0.575600 0.856485 1.216670 1.542706 1.941964 0.203742 0.564046 0.870370 1.245288 1.573141 1.960601 0.289011 0.653033 1.041331 1.370599 1.754559 0.124181 0.426777 0.768538 1.199117 1.567754 1.930155 0.269838 0.659090 1.012819 1.447503 1.794922 0.162749 0.518626 0.905358 1.303064 1.709632 0.089012 0.482385 0.858049 1.296207 1.676969 0.062655 0.425077 0.874674 1.232563 1.702537 0.090740 0.504071 0.906185 1.309105 1.780201 0.147011 0.568476 0.990269 1.453814 1.864334 0.242282 0.714175 1.072219 1.535826 1.979966 0.468443 0.836885 1.305549 1.728427 0.180916 0.639670 1.073029 1.553181 -0.013990 0.422336 0.867137 1.362744 1.782288 0.240301 0.715703 1.155397 1.655084 0.129248 0.566924 1.094135 1.490246 0.018046 0.492444 0.915165 1.490795 1.877542 0.415843 0.897385 1.317431 1.829075 0.364171 0.808186 1.356320 1.821870 0.342919 0.787957 1.373223 1.814983 0.358066 0.850998 1.366152 1.856595 0.355262 0.880172 1.414365 1.890741 0.441154 0.931104 1.471844 1.988022 0.515346 1.079368 1.596651 0.122556 0.664854 1.186099 1.760906 0.307243 0.819982 1.367234 1.871831 0.466685 0.994866 1.536088 0.118594 0.640521 1.207741 1.770347 0.284239 0.901822 1.425460 0.032668 0.581952 1.160019 1.693478 0.342805 0.854242 1.390962 0.072136 0.591534 1.214554 1.769960 0.381022 0.911387 1.525435 0.130168 0.709749 1.304380 1.944143 0.512838 1.116298 1.701519 0.319478 0.870758 1.527435 0.133727 0.729695 1.337227 1.962810 0.585600 1.215358 1.861923 0.453889 1.079368 1.708606 0.341804 0.970869 1.590377 0.245121 0.844160 1.524942 0.109206 0.769494 1.401830 0.043767 0.697198 1.348548 0.030318 0.682970 1.343183 1.914450 0.671342 1.249942 1.963139 0.647820 1.254756 1.968937 0.616436 1.279137 -0.029384 0.635615 1.302204 1.978592 0.687906 1.345327 0.046217 0.716075 1.431101 0.083754 0.787286 1.507245 0.211682 0.828351 1.585830 0.236341 0.960573 1.643088 0.370235 1.112464 1.766554 0.531174 1.209737 1.927741 0.669593 1.392110 0.116911 0.837259 1.566247 0.260629 0.977443 1.692982 0.446387 1.215331 1.872659 0.704760 1.415722 0.153617 0.930927 1.600729 0.362462 1.106049 1.868684 0.610565 1.344107 0.141591 0.861464 1.648732 0.381553 1.158301 1.918480 0.712617 1.445393 0.216297 0.965357 1.782848 0.594341 1.346741 0.074197 0.864382 1.691699 0.410247 1.233141 -0.004147 0.841003 1.591546 0.457770 1.215653 1.954201 0.801638 1.587249 0.395877 1.200874 -0.010640 0.833424 1.602919 0.453105 1.251358 0.046499 0.873036 1.708851 0.495477 1.345559 0.133497 1.020585 1.804492 0.669347 1.473663 0.305578 1.154572 -1.854652 0.779343 1.663216 0.514170 1.380322 0.272202 1.056906 1.921665 0.795442 1.648164 0.491956 1.316913 0.220141 1.060149 1.917795 0.771623 1.611339 0.567911 1.404698 0.270716 1.137148 0.034888 0.863030 1.782767 0.652700 1.541481 0.355583 1.288636 0.183521 1.069037 1.972003 0.883088 1.803269 0.714866 1.637207 0.490856 1.422715 0.290341 1.237152 0.160309 1.021480 1.929743 0.839606 1.744676 0.699515 1.607392 0.534060 1.441879 0.390403 1.319232 0.231115 1.163302 0.094795 1.038485 1.961654 0.890703 1.805967 0.766100 1.710181 0.653018 1.626373 0.564645 1.563912 0.521212 1.455550 0.422007 1.383186 0.347200 1.309652 0.227292 1.226388 0.159001 1.144739 0.144679 1.073533 0.064753 1.025375 -0.010642 1.041892 -0.004919 0.976692 -0.012333 0.933242 1.935626 0.960595 1.891870 0.940076 1.930117 0.869449 1.891019 0.849805 1.910019 0.887879 1.913739 0.939523 1.953445 0.989130 -0.034537 1.005728 0.036075 1.090591 0.067074 1.125818 0.158382 1.155301 0.225366 1.267224 0.306773 1.350335 0.366526 1.436229 0.475969 1.543457 0.477220 1.518721 0.621278 1.631869 0.705848 1.771754 0.835906 1.875550 0.914503 -0.041325 1.041952 0.115262 1.170309 0.261849 1.348972 0.441300 1.480514 0.585036 1.693141 0.766205 1.825257 0.935409 -1.636490 1.040667 0.161590 1.239848 0.402403 1.483900 0.512738 1.678468 0.794899 1.874475 0.918188 0.062839 1.171276 0.256973 1.341711 0.518613 1.522865 0.715619 1.798978 0.942901 0.051817 1.229116 0.358913 1.377242 0.564138 1.671838 0.826468 -0.019171 1.110194 0.244180 1.363911 0.535253 1.745156 0.846222 -0.021966 1.141211 0.256711 1.494572 0.580680 1.751231 0.889159 0.070102 1.224402 0.406286 1.517793 0.755202 1.924435 1.101743 0.284905 1.482753 0.682407 1.824435 1.017306 0.289082 1.515064)
        ) 
 
 ;;; 2048 odd --------------------------------------------------------------------------------
 (vector 2048 83.108 #r(0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0)
 
        ;; pp:
-	48.587082 #(0.000000 1.164604 0.299271 1.382233 0.541651 1.674077 0.821244 1.929375 1.074187 0.215931 1.355522 0.494292 1.623382 0.734535 1.922069 1.067896 0.162529 1.325592 0.482878 1.610938 0.772631 1.918401 1.076934 0.214117 1.334663 0.519682 1.656660 0.809783 1.969845 1.132973 0.315622 1.466453 0.614670 1.762704 0.905682 0.085522 1.276508 0.385491 1.556813 0.756688 1.910563 1.113144 0.286257 1.426198 0.571432 1.738130 0.950328 0.086892 1.274909 0.435678 1.622325 0.806903 1.936986 1.159897 0.319056 1.527270 0.702352 1.885677 1.082295 0.241633 1.424402 0.602905 1.780952 0.951776 0.177951 1.366321 0.550543 1.727450 0.956309 0.147010 1.299386 0.514347 1.729712 0.942735 0.143990 1.313699 0.526611 1.713670 0.955068 0.119616 1.320186 0.520346 1.746753 0.943439 0.146981 1.362740 0.550682 1.791548 0.994638 0.184571 1.429566 0.641499 1.858334 1.055931 0.301745 1.471575 0.720396 1.900605 1.158930 0.369340 1.579950 0.821559 0.020541 1.260000 0.498112 1.697556 0.933432 0.157136 1.438477 0.627491 1.863812 1.098967 0.308768 1.547219 0.806907 0.015758 1.275431 0.495768 1.758263 0.967735 0.239118 1.460193 0.704898 1.981748 1.180724 0.442085 1.696263 0.942949 0.192518 1.452978 0.666632 1.936009 1.193717 0.450469 1.713467 0.944094 0.207480 1.447858 0.726397 1.970183 1.211939 0.515555 1.767401 1.008078 0.289033 1.535797 0.835841 0.078383 1.371818 0.614723 1.907631 1.154692 0.412679 1.648062 0.944300 0.265777 1.503791 0.786485 0.042778 1.342137 0.645516 1.882314 1.180852 0.449953 1.721250 1.019195 0.334589 1.580258 0.905547 0.186173 1.465365 0.748685 0.045673 1.350082 0.637238 1.913135 1.190167 0.498708 1.750468 1.030890 0.379395 1.676330 0.999559 0.274773 1.590721 0.885634 0.192808 1.486600 0.825847 0.072419 1.409799 0.703651 0.046400 1.299620 0.643349 1.925145 1.241907 0.583185 1.884265 1.222586 0.506720 1.828923 1.176108 0.470443 1.759502 1.105128 0.437356 1.730895 1.090145 0.379084 1.720679 1.059929 0.375013 1.680883 1.062202 0.398034 1.682006 0.997304 0.345119 1.665137 1.036351 0.362866 1.702316 1.037708 0.381003 1.696884 1.041126 0.377498 1.741236 1.085596 0.425237 1.755675 1.054172 0.428030 1.779845 1.146451 0.510435 1.863617 1.184672 0.551998 1.885493 1.218882 0.588308 -0.019055 1.290479 0.649933 0.038457 1.394368 0.765319 0.117712 1.470436 0.837158 0.198307 1.561482 0.943309 0.305037 1.667540 1.059894 0.419741 1.764078 1.152030 0.539682 1.905767 1.265550 0.646398 0.015560 1.408950 0.792605 0.155342 1.551300 0.923932 0.313689 1.700421 1.060515 0.461173 1.846829 1.219810 0.606430 1.981895 1.369326 0.807868 0.183839 1.588940 0.941186 0.345032 1.761077 1.152237 0.557777 1.964476 1.337615 0.723554 0.121347 1.528818 0.947552 0.326059 1.748811 1.117733 0.560514 1.961477 1.357688 0.792694 0.183820 1.601232 1.012084 0.441567 1.846475 1.252436 0.651971 0.089330 1.513489 0.936247 0.317265 1.747419 1.131649 0.574921 0.032715 1.444248 0.852774 0.283512 1.734910 1.135185 0.578133 -0.001027 1.431188 0.874663 0.305488 1.727386 1.179086 0.611397 0.031276 1.479514 0.953146 0.349956 1.801351 1.230925 0.684928 0.116348 1.566719 0.999470 0.441356 1.903752 1.324625 0.783441 0.256142 1.690924 1.146765 0.612102 0.024958 1.503449 0.959582 0.372769 1.839832 1.323446 0.798459 0.267619 1.690587 1.132025 0.618585 0.089251 1.568249 0.986086 0.472354 1.938733 1.400691 0.858913 0.349213 1.798305 1.299338 0.742709 0.255441 1.746827 1.206657 0.676712 0.144543 1.598184 1.091270 0.581704 0.079481 1.544840 1.011464 0.527938 0.001968 1.438302 0.944477 0.429729 1.985459 1.423952 0.935176 0.428073 1.912499 1.413772 0.876727 0.382228 1.880040 1.387066 0.874761 0.363534 1.893527 1.380768 0.881444 0.363877 1.839908 1.385526 0.880145 0.377102 1.890329 1.387416 0.939745 0.450256 1.962002 1.471262 0.948068 0.499925 -0.015015 1.529365 1.026703 0.529565 0.052201 1.608212 1.095715 0.601587 0.140282 1.652534 1.204060 0.721870 0.236955 1.738985 1.294722 0.837476 0.342744 1.882634 1.405489 0.937642 0.477786 0.027609 1.556716 1.098944 0.610267 0.144508 1.660940 1.226040 0.766253 0.337446 1.850992 1.409469 0.923383 0.481470 0.039212 1.587988 1.146189 0.659354 0.216332 1.779567 1.304114 0.878362 0.418980 1.980552 1.563452 1.081128 0.647903 0.221223 1.792109 1.346793 0.897401 0.452308 0.030396 1.574514 1.127738 0.707923 0.286534 1.855599 1.424132 0.997467 0.538089 0.127380 1.671648 1.261847 0.850184 0.415428 1.987474 1.524880 1.136087 0.746653 0.330662 1.871388 1.466199 1.052210 0.664163 0.215349 1.808724 1.398696 0.984385 0.571329 0.151262 1.753609 1.322394 0.898703 0.525971 0.112800 1.716602 1.293334 0.934858 0.515632 0.102515 1.710061 1.297912 0.890980 0.503522 0.115989 1.714028 1.302798 0.913481 0.494859 0.143041 1.768061 1.339224 0.948513 0.550355 0.204652 1.798541 1.393988 1.023994 0.631605 0.237256 1.864133 1.492299 1.107416 0.732908 0.368910 1.966702 1.597583 1.227038 0.871832 0.499776 0.110205 1.733438 1.329798 0.991045 0.613591 0.250315 1.880135 1.504110 1.143677 0.777248 0.403512 0.064915 1.703997 1.382078 0.994687 0.613574 0.271951 1.898406 1.565306 1.201372 0.864945 0.519219 0.126884 1.825084 1.433324 1.074577 0.721891 0.396821 0.054613 1.706511 1.383428 0.997424 0.643830 0.333500 1.980330 1.630134 1.298865 0.937038 0.625984 0.306523 1.969623 1.634035 1.297304 0.966389 0.625596 0.297267 1.962353 1.650503 1.355726 1.021372 0.677320 0.319408 0.024104 1.683514 1.359553 1.017814 0.734175 0.408085 0.057635 1.761336 1.431049 1.116017 0.835375 0.501751 0.189561 1.882566 1.567978 1.257752 0.969093 0.631798 0.337838 0.026332 1.739060 1.427838 1.110367 0.794038 0.528077 0.203440 1.928534 1.599900 1.326907 1.019833 0.728632 0.446245 0.133809 1.801763 1.524744 1.260191 0.954789 0.667599 0.385865 0.083533 1.797074 1.525909 1.255450 0.981316 0.647539 0.344314 0.093537 1.837153 1.561609 1.299772 0.991522 0.701295 0.455280 0.147703 1.878904 1.600766 1.366963 1.078356 0.817581 0.552969 0.271221 0.001392 1.741241 1.480243 1.193718 0.952922 0.680842 0.410532 0.181538 1.892787 1.613951 1.390448 1.150074 0.878646 0.601746 0.344263 0.082191 1.857692 1.634258 1.318093 1.118680 0.887953 0.608359 0.353034 0.093105 1.861599 1.622194 1.411811 1.128496 0.910620 0.677502 0.457040 0.180580 1.940143 1.716392 1.463236 1.223267 1.013899 0.788111 0.552335 0.285609 0.062854 1.875673 1.607328 1.392314 1.171786 0.955184 0.733281 0.508558 0.264917 0.066704 1.828686 1.566520 1.373181 1.165665 0.954081 0.748929 0.534792 0.326578 0.110629 1.870771 1.697116 1.477149 1.243871 1.044849 0.833496 0.631590 0.461279 0.226697 0.006236 1.810445 1.614380 1.453927 1.198270 0.984595 0.818895 0.609357 0.452462 0.228413 0.011003 1.829884 1.658494 1.450540 1.265552 1.079815 0.886778 0.719233 0.500692 0.333961 0.163299 1.957725 1.801004 1.581775 1.409336 1.250532 1.023789 0.878826 0.701715 0.504943 0.334253 0.153870 -0.002580 1.826523 1.641962 1.475954 1.313058 1.139238 0.975181 0.822058 0.602789 0.472863 0.322256 0.157861 1.977871 1.818976 1.660086 1.501072 1.342376 1.167417 1.028253 0.880209 0.714602 0.586867 0.416636 0.267501 0.123504 1.953767 1.788203 1.666730 1.485744 1.340966 1.214186 1.079362 0.922167 0.771510 0.636685 0.481823 0.378581 0.250135 0.072966 1.910229 1.784323 1.672909 1.530097 1.391103 1.298430 1.120296 1.002114 0.891685 0.740946 0.625016 0.505337 0.390727 0.210657 0.089447 0.004139 1.845103 1.733956 1.633015 1.493700 1.371405 1.300220 1.174141 1.028139 0.946359 0.829480 0.707966 0.606500 0.480812 0.383795 0.263907 0.154503 0.037657 1.929045 1.812096 1.711255 1.622460 1.504673 1.389276 1.313090 1.194057 1.116530 0.998145 0.883345 0.823378 0.731032 0.603363 0.523247 0.426177 0.331017 0.280012 0.170352 0.075836 1.971958 1.900865 1.826186 1.737389 1.667214 1.578678 1.479059 1.406010 1.326819 1.284580 1.166985 1.049564 1.014301 0.943419 0.868900 0.786648 0.715003 0.633568 0.565659 0.494146 0.416526 0.362617 0.299114 0.229544 0.145844 0.111394 0.054002 1.973327 1.912483 1.841942 1.804094 1.755122 1.649780 1.603457 1.567635 1.479370 1.424361 1.406255 1.322182 1.281750 1.235767 1.182757 1.124453 1.068656 1.044022 1.012526 0.949218 0.926402 0.863438 0.827967 0.802552 0.765551 0.701218 0.667446 0.609512 0.593187 0.538969 0.516811 0.468273 0.434142 0.418957 0.389244 0.335440 0.300633 0.304288 0.248909 0.213581 0.223725 0.206545 0.170980 0.119081 0.124959 0.131090 0.065415 0.079898 0.044332 -0.007640 0.010322 0.039221 1.964922 1.936241 1.942865 1.938426 1.955540 1.952435 1.935790 1.909391 1.904936 1.916715 1.923966 1.890737 1.881734 1.880080 1.891599 1.869986 1.870485 1.894861 1.931278 1.921197 1.936389 1.884506 1.900785 1.913948 1.918568 1.937765 1.968993 1.946232 1.962390 1.983626 0.014642 0.038047 0.033309 0.043047 0.087452 0.087628 0.104395 0.137525 0.122848 0.179606 0.181354 0.209760 0.266291 0.280460 0.290377 0.301170 0.324061 0.363228 0.378663 0.454306 0.471198 0.501538 0.531103 0.566967 0.619782 0.631682 0.678291 0.710887 0.769666 0.826002 0.867609 0.873714 0.912803 0.967766 1.009030 1.076368 1.116491 1.176853 1.212339 1.269380 1.307461 1.368702 1.449957 1.473230 1.521403 1.579528 1.643945 1.739719 1.775481 1.792175 1.888458 1.941628 0.014548 0.064200 0.131447 0.176503 0.212281 0.328185 0.378451 0.430004 0.540490 0.617183 0.679750 0.747245 0.790514 0.863396 0.961919 1.040531 1.101550 1.194205 1.286855 1.334176 1.434439 1.525367 1.607629 1.697160 1.753498 1.833106 1.916572 0.046587 0.126607 0.206640 0.311775 0.414494 0.505958 0.557182 0.654853 0.771202 0.869387 0.947719 1.042725 1.169688 1.262473 1.338057 1.430531 1.544531 1.676074 1.759845 1.866442 1.983815 0.098336 0.201200 0.309697 0.421211 0.520301 0.639428 0.758944 0.820850 0.979931 1.097085 1.187132 1.301192 1.433019 1.557997 1.673183 1.790453 1.901775 0.049739 0.157129 0.302056 0.403123 0.529814 0.653431 0.809686 0.930430 1.053556 1.201985 1.355340 1.449186 1.573945 1.755874 1.892173 0.005388 0.131609 0.270591 0.438764 0.573749 0.693172 0.861667 0.998398 1.128620 1.283836 1.423195 1.565083 1.741571 1.850125 0.034806 0.155274 0.333911 0.480497 0.648192 0.798579 0.938650 1.082764 1.255746 1.434584 1.585933 1.743713 1.884832 0.066115 0.194966 0.392066 0.580392 0.709491 0.876143 1.065762 1.238271 1.396970 1.570554 1.730751 1.909651 0.058405 0.240924 0.442892 0.594074 0.786557 0.974588 1.119335 1.277940 1.483948 1.657802 1.869336 0.057659 0.219181 0.388995 0.615398 0.794126 0.984536 1.157091 1.361656 1.552313 1.760339 1.941592 0.137523 0.340438 0.512292 0.718738 0.927497 1.095224 1.315409 1.532078 1.722711 1.919196 0.120441 0.315035 0.489903 0.719612 0.927466 1.162043 1.365887 1.553880 1.804041 1.972820 0.218395 0.409097 0.616776 0.838827 1.088138 1.270288 1.513415 1.722225 1.915021 0.153769 0.361809 0.580733 0.835163 1.066480 1.295449 1.493432 1.754379 1.966577 0.197319 0.424428 0.640039 0.903188 1.080127 1.346554 1.597806 1.808924 0.054333 0.307860 0.517684 0.794298 0.995111 1.267698 1.485365 1.733433 1.951915 0.222162 0.474770 0.701010 0.960408 1.229818 1.438347 1.729138 1.985260 0.233659 0.508400 0.726795 1.011761 1.261007 1.482248 1.738862 0.019582 0.293709 0.543826 0.784217 1.054541 1.338215 1.596125 1.886016 0.117438 0.409908 0.656134 0.931218 1.204691 1.467771 1.734662 0.022394 0.297875 0.575201 0.853609 1.132931 1.380746 1.689221 1.951738 0.221607 0.532411 0.797175 1.092691 1.357384 1.661959 1.963122 0.227308 0.523980 0.800387 1.098463 1.424925 1.689623 1.978018 0.268554 0.558597 0.863542 1.149923 1.487187 1.740572 0.041261 0.349229 0.680837 0.999691 1.247012 1.573572 1.839623 0.140954 0.508769 0.783713 1.084591 1.414863 1.713264 0.026094 0.333922 0.686151 0.912802 1.295168 1.581990 1.945223 0.228925 0.566605 0.890417 1.196130 1.532794 1.813995 0.174418 0.525670 0.796239 1.157934 1.455494 1.814778 0.116316 0.464806 0.809036 1.109792 1.439255 1.811803 0.094206 0.449342 0.783087 1.156099 1.489543 1.820875 0.159475 0.501414 0.806933 1.188466 1.538110 1.884782 0.210537 0.534248 0.909254 1.252675 1.621468 1.985445 0.302858 0.679235 1.033863 1.370710 1.716151 0.084481 0.453741 0.757166 1.145074 1.522693 1.898504 0.236072 0.614391 0.950219 1.342753 1.713673 0.078584 0.445226 0.785094 1.165306 1.525606 1.922582 0.230450 0.651626 1.029717 1.393276 1.757441 0.152387 0.538669 0.918989 1.287178 1.683529 0.037922 0.433683 0.830916 1.219136 1.591931 1.979426 0.367948 0.770385 1.153815 1.537015 1.936867 0.333191 0.715611 1.067949 1.508162 1.870794 0.275524 0.680941 1.077974 1.485110 1.893031 0.275231 0.676147 1.122936 1.484278 1.853780 0.316277 0.706910 1.132835 1.521893 1.930387 0.354651 0.728855 1.171696 1.577548 -0.007356 0.377756 0.822766 1.208984 1.664072 0.072059 0.521534 0.924835 1.330312 1.763409 0.189960 0.618514 1.053094 1.474085 1.903536 0.342426 0.757063 1.186363 1.640367 0.045729 0.486238 0.910190 1.348124 1.763972 0.226090 0.645863 1.135214 1.536944 1.962647 0.425005 0.854055 1.294697 1.768212 0.195204 0.616274 1.083125 1.506460 1.976751 0.443277 0.891334 1.335033 1.802618 0.227953 0.676593 1.133943 1.609075 0.056743 0.538147 0.997350 1.453897 1.929386 0.358895 0.838514 1.280666 1.783000 0.238709 0.687849 1.160197 1.613943 0.088628 0.566043 1.065769 1.510319 1.993743 0.417703 0.951154 1.399322 1.899352 0.364325 0.840032 1.316566 1.769661 0.256807 0.768813 1.249845 1.771226 0.244294 0.700673 1.175236 1.664730 0.169045 0.649573 1.153576 1.627003 0.132411 0.618326 1.115897 1.620061 0.121668 0.624890 1.093967 1.600473 0.085633 0.615038 1.089012 1.579297 0.105560 0.625660 1.129548 1.609805 0.147269 0.632003 1.151683 1.676869 0.162647 0.674085 1.205108 1.706719 0.226663 0.784178 1.256809 1.807044 0.310572 0.821950 1.346930 1.874794 0.377855 0.901813 1.397983 1.953019 0.482048 0.985764 1.544537 0.054790 0.601166 1.122589 1.631451 0.212983 0.733396 1.261016 1.778265 0.351838 0.852508 1.422790 1.943350 0.480782 1.028961 1.566040 0.105339 0.653195 1.233676 1.763142 0.300018 0.829328 1.391620 1.985402 0.509466 1.041938 1.614465 0.097210 0.685912 1.280405 1.821914 0.393307 0.934130 1.503407 0.026232 0.625311 1.176303 1.749392 0.310256 0.877165 1.446083 0.002177 0.543636 1.135559 1.687275 0.272284 0.852293 1.405660 -0.002775 0.563824 1.106515 1.707688 0.298834 0.874757 1.467319 0.008984 0.600421 1.190190 1.773789 0.356492 0.939530 1.540133 0.059504 0.713790 1.258716 1.875935 0.460669 1.052962 1.636939 0.182588 0.823403 1.420030 0.006732 0.637959 1.224000 1.808927 0.411112 1.009064 1.612230 0.214368 0.808764 1.412914 0.040508 0.594375 1.228343 1.846690 0.427514 1.066197 1.672463 0.294971 0.886766 1.529117 0.113380 0.722438 1.343866 1.970560 0.586705 1.220151 1.804117 0.435117 1.064250 1.689393 0.331087 0.945027 1.586280 0.175582 0.811742 1.430884 0.078027 0.674121 1.328088 1.966493 0.595505 1.243433 1.855582 0.534735 1.153874 1.756738 0.424637 1.025182 1.692267 0.332991 0.977971 1.615031 0.255457 0.903590 1.538793 0.220076 0.831474 1.465917 0.149082 0.793440 1.479708 0.112414 0.739617 1.402921 0.055274 0.726902 1.330833 0.026754 0.704025 1.347354 0.001447 0.691517 1.341299 1.969298 0.674406 1.338838 0.004095 0.691344 1.351574 0.005056 0.669798 1.358297 0.028029 0.685511 1.344994 0.035814 0.732925 1.388722 0.056004 0.738534 1.429913 0.127222 0.775583 1.450125 0.122122 0.831767 1.515437 0.183911 0.903624 1.595723 0.258974 0.980799 1.646907 0.320684 1.003244 1.680977 0.426368 1.111716 1.833600 0.512288 1.209492 1.913923 0.622350 1.317790 -0.013826 0.690433 1.420975 0.129071 0.833014 1.514335 0.244415 0.956689 1.651375 0.362553 1.102202 1.784539 0.514559 1.250938 1.900405 0.630709 1.364493 0.069476 0.825868 1.499696 0.249666 0.957073 1.683736 0.429330 1.167299 1.852454 0.573938 1.277043 0.011726 0.789267 1.528414 0.201021 0.944038 1.712941 0.442474 1.199383 1.849405 0.632109 1.329951 0.094035 0.844726 1.556677 0.332597 1.030251 1.813448 0.563070 1.313631 0.038390 0.808921 1.544565 0.286036 1.025522 1.775471 0.543726 1.259251 0.027136 0.808933 1.509439 0.276059 1.096334 1.842017 0.567893 1.372402 0.092238 0.850970 1.630405 0.400929 1.161617 1.906725 0.686952 1.394756 0.200542 0.994858 1.772220 0.548049 1.314448 0.069846 0.835438 1.646790 0.398041 1.161875 1.992706 0.711952 1.496370 0.272651 1.055241 1.878181 0.657132 1.405242 0.214951 1.038834 1.752757 0.569955 1.380746 0.143147 0.909159 1.730280 0.514320 1.292583 0.100112 0.886643 1.677987 0.488246 1.303137 0.081713 0.871641 1.685287 0.520164 1.321287 0.057814 0.908937 1.724897 0.539551 1.315871 0.091639 0.933172 1.781908 0.538919 1.362828 0.169914 0.995350 1.803898 0.653161 1.431482 0.266433 1.102079 1.896598 0.742676 1.556955 0.357152 1.153588 0.027411 0.805897 1.637782 0.495267 1.321788 0.142794 0.979474 1.807529 0.656222 1.470086 0.312190 1.134768 1.978437 0.806476 1.653895 0.502001 1.337598 0.169971 0.993009 1.855395 0.708640 1.542498 0.376004 1.222416 0.027723 0.911240 1.722686 0.628742 1.482595 0.307229 1.152381 0.031022 0.859586 1.716547 0.589224 1.459261 0.293384 1.153404 0.023881 0.888590 1.741994 0.590633 1.434897 0.292700 1.170422 0.061463 0.877536 1.791682 0.643811 1.521074 0.381051 1.282327 0.142040 1.016941 1.908009 0.780385 1.685289 0.545542 1.426842 0.260262 1.166191 0.059322 0.932911 1.771440 0.693033 1.600026 0.448605 1.338460 0.245879 1.140050 0.019287 0.912862 1.758224 0.691629 1.576979 0.449570 1.372368 0.251210 1.163258 0.061959 0.983436 1.872213 0.779985 1.657925 0.584230 1.501728 0.367381 1.265568 0.207567 1.106559 -0.007861 0.893945 1.793582 0.753529 1.639134 0.557745 1.451373 0.365881 1.279236 0.191659 1.087795 0.042794 0.994030 1.873012 0.808602 1.745202 0.639925 1.570338 0.524380 1.419288 0.365412 1.311240 0.237720 1.182875 0.063379 1.001665 1.965298 0.926160 1.855154 0.738896 1.728013 0.618387 1.571678 0.510615 1.420826 0.368454 1.307629 0.266513 1.215538 0.110208 1.051808 0.041993 0.934481 1.916109 0.865784 1.796634 0.759357 1.746836 0.661695 1.618056 0.595101 1.546134 0.498947 1.484771 0.452208 1.399261 0.352742 1.331331 0.301362 1.235791 0.195417 1.185526 0.153086 1.113630 0.072905 1.066434 0.016199 0.979835 1.940994 0.921875 1.898451 0.843695 1.878054 0.858220 1.805548 0.784838 1.748540 0.693769 1.726559 0.715732 1.648311 0.637056 1.639764 0.619450 1.601245 0.597734 1.595511 0.590444 1.541222 0.522191 1.530423 0.494264 1.517778 0.480972 1.484863 0.502951 1.499625 0.481728 1.496329 0.485805 1.523533 0.479715 1.482976 0.480339 1.536191 0.516706 1.507574 0.556511 1.563995 0.604631 1.595150 0.599226 1.625079 0.582163 1.634727 0.607040 1.639832 0.689803 1.676309 0.697721 1.720352 0.753586 1.758922 0.813960 1.817570 0.854663 1.878694 0.948287 1.954426 0.996940 -0.764288 1.003945 0.047877 1.105066 0.098818 1.192060 0.195885 1.279948 0.288199 1.340859 0.400848 1.479235)
+	48.440861 #(0.000000 1.166677 0.303300 1.383578 0.540087 1.671739 0.820385 1.930085 1.073367 0.212481 1.354898 0.499986 1.624152 0.734669 1.922998 1.067909 0.165728 1.326150 0.481666 1.609145 0.769585 1.918272 1.075119 0.212182 1.339989 0.519647 1.660924 0.811002 1.970204 1.134967 0.310529 1.469460 0.616259 1.764067 0.908854 0.086641 1.274727 0.383361 1.556192 0.757713 1.913046 1.116246 0.284849 1.426950 0.573269 1.742169 0.949253 0.085863 1.277368 0.432421 1.620645 0.807257 1.934705 1.159891 0.317508 1.529270 0.702022 1.884352 1.086654 0.239097 1.426699 0.600202 1.779349 0.950217 0.175834 1.363184 0.553935 1.730602 0.957927 0.145937 1.297604 0.511289 1.728736 0.943493 0.143700 1.309757 0.528521 1.709702 0.957203 0.119987 1.319567 0.517483 1.746004 0.943571 0.142813 1.365751 0.553159 1.786189 0.993000 0.185220 1.431138 0.642168 1.857404 1.053583 0.302185 1.472502 0.722455 1.900111 1.158010 0.366340 1.582632 0.823365 0.021209 1.261109 0.495050 1.697850 0.933672 0.158143 1.437519 0.626535 1.863798 1.097451 0.307621 1.545592 0.805679 0.013257 1.278740 0.497331 1.756202 0.969388 0.238956 1.461040 0.704091 1.985075 1.179273 0.441127 1.698591 0.943598 0.194205 1.451589 0.667235 1.933843 1.190080 0.451557 1.712915 0.942642 0.205057 1.445265 0.729609 1.968702 1.209669 0.513148 1.766881 1.009391 0.292014 1.537573 0.833027 0.077253 1.369435 0.612242 1.904399 1.150670 0.409684 1.651954 0.941795 0.262250 1.504782 0.786762 0.043708 1.344514 0.646012 1.881767 1.182381 0.448428 1.722428 1.020418 0.331856 1.583427 0.901814 0.186224 1.465585 0.750330 0.046577 1.348911 0.635484 1.913358 1.187409 0.501609 1.749492 1.027917 0.378108 1.676982 0.994765 0.274923 1.591202 0.884676 0.198857 1.489394 0.828151 0.074336 1.409933 0.700217 0.045106 1.298849 0.643460 1.926519 1.244494 0.585903 1.885876 1.222768 0.506500 1.829484 1.176622 0.471530 1.762510 1.106195 0.437799 1.733750 1.089695 0.378966 1.719670 1.061635 0.372820 1.682787 1.063035 0.399634 1.679921 0.997220 0.343238 1.664154 1.035566 0.361904 1.697663 1.040273 0.382856 1.696721 1.040064 0.376939 1.742049 1.086079 0.424366 1.753871 1.055124 0.427213 1.781870 1.144577 0.505810 1.858525 1.184719 0.555227 1.885098 1.221434 0.589076 -0.021157 1.291884 0.650433 0.035552 1.394547 0.763375 0.115594 1.472058 0.840256 0.200811 1.566615 0.946996 0.310280 1.667456 1.055467 0.419724 1.764202 1.147843 0.537859 1.905667 1.267824 0.645591 0.015943 1.409377 0.794287 0.158115 1.550491 0.926791 0.309691 1.699665 1.055743 0.459094 1.844926 1.220540 0.602967 1.984320 1.371506 0.804176 0.179421 1.584079 0.944141 0.349994 1.762365 1.157413 0.558484 1.966348 1.335839 0.723291 0.121908 1.526812 0.947922 0.329068 1.748747 1.117848 0.560407 1.959291 1.360752 0.794444 0.182936 1.599049 1.014607 0.442516 1.848404 1.255063 0.653452 0.086259 1.512777 0.932853 0.319130 1.749264 1.132585 0.574786 0.032915 1.443541 0.849920 0.286454 1.735380 1.140041 0.581475 0.000141 1.433385 0.874438 0.307496 1.727845 1.182095 0.608867 0.030632 1.478771 0.952287 0.346992 1.803799 1.230733 0.687127 0.117745 1.566716 1.000311 0.441030 1.902399 1.326748 0.780310 0.253399 1.693504 1.149092 0.610110 0.027085 1.500735 0.957738 0.374956 1.837578 1.323165 0.797878 0.269270 1.690229 1.132707 0.618681 0.089433 1.568637 0.989109 0.468807 1.936865 1.397746 0.858168 0.350395 1.800953 1.297245 0.742257 0.252791 1.748223 1.210626 0.675439 0.144549 1.600058 1.088706 0.578909 0.080411 1.542734 1.010971 0.525317 0.003065 1.436783 0.940512 0.430244 1.984220 1.423574 0.933619 0.429525 1.915123 1.414454 0.876114 0.381790 1.877904 1.386136 0.871395 0.365728 1.894450 1.381209 0.878519 0.364300 1.839804 1.379835 0.878369 0.376460 1.888498 1.386829 0.940281 0.452665 1.961333 1.470103 0.950468 0.498020 -0.014195 1.530105 1.026940 0.531523 0.051369 1.604646 1.093845 0.602015 0.140982 1.650675 1.201988 0.720732 0.237404 1.741139 1.295144 0.836264 0.343639 1.886209 1.404544 0.933189 0.477384 0.024844 1.556392 1.098985 0.611513 0.144644 1.661236 1.225258 0.764822 0.339085 1.852954 1.409406 0.924060 0.477910 0.034741 1.587741 1.145965 0.660661 0.220165 1.780755 1.305983 0.878564 0.419878 1.975892 1.559953 1.079754 0.647900 0.220923 1.789550 1.348992 0.895156 0.449459 0.030966 1.573079 1.125150 0.713492 0.286745 1.856753 1.425168 0.995854 0.537163 0.124677 1.670280 1.259302 0.849633 0.417404 1.990882 1.525079 1.135552 0.742149 0.330440 1.871980 1.471922 1.053074 0.664780 0.216305 1.805559 1.395603 0.984384 0.571339 0.150416 1.754569 1.321164 0.900639 0.523644 0.113898 1.716705 1.295838 0.931932 0.517248 0.099996 1.706907 1.299725 0.890259 0.507047 0.116893 1.712974 1.302098 0.913922 0.502154 0.142309 1.767743 1.340128 0.949452 0.551508 0.204042 1.799222 1.391522 1.020944 0.634366 0.241486 1.863100 1.489679 1.108783 0.736706 0.367374 1.967102 1.597193 1.226608 0.874759 0.494520 0.111071 1.735538 1.331716 0.991419 0.614697 0.250091 1.882711 1.503505 1.146013 0.776745 0.406082 0.064917 1.704310 1.386888 0.997465 0.611276 0.270502 1.895546 1.563501 1.200654 0.866598 0.518378 0.130522 1.820438 1.431927 1.079496 0.723847 0.399232 0.050658 1.706516 1.382904 0.997761 0.643890 0.330874 1.979712 1.630538 1.298066 0.934308 0.628064 0.308635 1.964958 1.634692 1.297182 0.965595 0.626304 0.299651 1.962627 1.652640 1.350232 1.025828 0.677246 0.320389 0.024262 1.685204 1.359565 1.018133 0.734525 0.408370 0.057075 1.761915 1.433867 1.114488 0.832309 0.502807 0.187929 1.880920 1.565992 1.260327 0.971782 0.633236 0.339368 0.026642 1.737305 1.425940 1.109968 0.791978 0.525580 0.206786 1.927034 1.598137 1.325707 1.019526 0.724889 0.446458 0.130333 1.803046 1.530207 1.261958 0.956295 0.668188 0.382413 0.081863 1.799264 1.526013 1.251288 0.978811 0.645794 0.344531 0.091420 1.838340 1.562903 1.300926 0.993456 0.697963 0.455720 0.146962 1.878816 1.600939 1.367223 1.079962 0.816511 0.556442 0.271481 -0.001200 1.741300 1.479383 1.196187 0.956311 0.683874 0.412780 0.184541 1.891704 1.611098 1.389404 1.148268 0.878891 0.603240 0.341262 0.080372 1.859630 1.631424 1.316521 1.114973 0.888971 0.610369 0.353448 0.095020 1.862190 1.621065 1.410138 1.128569 0.910134 0.678497 0.458622 0.180998 1.942084 1.713517 1.465412 1.221672 1.014252 0.787490 0.546288 0.286448 0.059215 1.879355 1.608671 1.392679 1.168848 0.954486 0.734594 0.505989 0.267089 0.066022 1.830517 1.570160 1.373105 1.165960 0.958474 0.745972 0.531315 0.324410 0.109237 1.870956 1.697394 1.477739 1.244130 1.046117 0.835182 0.634056 0.463297 0.227917 0.004552 1.809079 1.616074 1.451001 1.194379 0.985845 0.820457 0.604687 0.453915 0.230778 0.010241 1.830158 1.657972 1.447791 1.265673 1.078313 0.887751 0.718755 0.497398 0.334189 0.158216 1.958261 1.803962 1.580322 1.409764 1.250996 1.020353 0.877569 0.701819 0.503878 0.330963 0.155828 -0.004494 1.825082 1.637363 1.478665 1.314441 1.142931 0.981390 0.823969 0.603913 0.474378 0.319996 0.153525 1.979023 1.817297 1.661152 1.498327 1.340982 1.166801 1.028501 0.882980 0.714216 0.587894 0.414402 0.270591 0.120969 1.955941 1.787376 1.668458 1.487620 1.341772 1.210822 1.078772 0.922201 0.772971 0.637672 0.486912 0.375702 0.250965 0.070758 1.912632 1.786231 1.672643 1.531432 1.394214 1.298809 1.119445 1.000817 0.893120 0.739056 0.624672 0.505967 0.390312 0.213286 0.092045 0.004639 1.845622 1.732048 1.630620 1.489559 1.374287 1.300575 1.175002 1.027138 0.945780 0.827976 0.707325 0.609825 0.484997 0.381699 0.260360 0.152786 0.035890 1.928839 1.811665 1.711213 1.618190 1.503798 1.386999 1.313346 1.190890 1.114951 0.996366 0.888074 0.820583 0.732793 0.605191 0.523299 0.426216 0.327898 0.279093 0.171712 0.072650 1.971599 1.897979 1.820522 1.736375 1.664804 1.578844 1.479489 1.407695 1.328096 1.285134 1.165058 1.052108 1.014182 0.941998 0.872409 0.788336 0.717887 0.633117 0.566962 0.496297 0.417723 0.359801 0.297968 0.227186 0.143212 0.110141 0.056509 1.971603 1.911728 1.841726 1.804266 1.755530 1.652110 1.601007 1.567180 1.478433 1.423649 1.408496 1.320938 1.278885 1.239326 1.184941 1.124918 1.070158 1.048929 1.010980 0.947109 0.925841 0.859963 0.828911 0.801857 0.760553 0.702759 0.667944 0.612393 0.597089 0.537183 0.517846 0.469876 0.435094 0.415774 0.390514 0.338970 0.296481 0.307068 0.250256 0.216557 0.231136 0.207191 0.173287 0.120345 0.125729 0.131999 0.067129 0.078481 0.043777 -0.007503 0.008440 0.041067 1.967749 1.936696 1.941074 1.939901 1.956299 1.953237 1.934733 1.907111 1.903020 1.916201 1.924214 1.886237 1.882969 1.882269 1.893971 1.869803 1.874413 1.896512 1.932675 1.922339 1.935149 1.885092 1.901243 1.915876 1.919397 1.935866 1.966164 1.947373 1.961936 1.986213 0.013738 0.039069 0.033933 0.045905 0.085563 0.088269 0.103986 0.138799 0.123409 0.179635 0.183919 0.207668 0.265177 0.273454 0.291176 0.301317 0.322299 0.360884 0.382231 0.452383 0.473796 0.500142 0.526837 0.565457 0.621086 0.631883 0.679514 0.711739 0.770914 0.827935 0.865734 0.875114 0.912711 0.969438 1.011609 1.073618 1.115037 1.177936 1.212091 1.268898 1.307640 1.369622 1.449142 1.473012 1.517904 1.578947 1.643274 1.739366 1.774074 1.793191 1.890187 1.943942 0.014511 0.065851 0.130565 0.177749 0.211052 0.328886 0.377276 0.425953 0.541324 0.615318 0.678256 0.747859 0.793762 0.860690 0.964076 1.045998 1.106453 1.195855 1.284210 1.333222 1.438121 1.529799 1.610229 1.695222 1.751416 1.833261 1.914482 0.045399 0.123009 0.208942 0.306303 0.416725 0.505769 0.557007 0.652440 0.773672 0.871376 0.948087 1.044106 1.169622 1.261777 1.340833 1.432641 1.547525 1.672760 1.761180 1.869760 1.983715 0.097497 0.200003 0.307820 0.421244 0.522702 0.641612 0.756079 0.822673 0.978351 1.097194 1.186778 1.300094 1.434261 1.557338 1.672359 1.788829 1.903462 0.049292 0.160321 0.302844 0.401477 0.531012 0.653986 0.809452 0.929242 1.054525 1.201008 1.354311 1.448841 1.576825 1.754099 1.893518 0.005454 0.132515 0.269950 0.440055 0.573059 0.694492 0.859942 0.996234 1.130180 1.286257 1.425795 1.566790 1.742708 1.852580 0.036001 0.158458 0.334473 0.484804 0.648230 0.799893 0.935934 1.084555 1.254484 1.438756 1.587639 1.744273 1.883505 0.069124 0.194535 0.391483 0.576693 0.708094 0.874044 1.064695 1.239675 1.397729 1.570118 1.728220 1.911770 0.057998 0.242184 0.441196 0.592889 0.786092 0.973270 1.120555 1.278862 1.483942 1.656081 1.869599 0.060126 0.220416 0.392539 0.617807 0.793925 0.983094 1.154054 1.360372 1.548808 1.762739 1.944219 0.135991 0.340502 0.509425 0.715914 0.925630 1.094319 1.315655 1.530226 1.721996 1.916919 0.119449 0.315838 0.489794 0.718746 0.931744 1.160597 1.369842 1.555573 1.803654 1.974709 0.218450 0.409389 0.622683 0.837304 1.087640 1.269691 1.511365 1.717145 1.915472 0.153622 0.361279 0.581809 0.831577 1.065899 1.294147 1.491611 1.754800 1.963983 0.194331 0.423266 0.641105 0.905746 1.079021 1.349621 1.595065 1.808483 0.051437 0.304998 0.522710 0.791517 0.997150 1.268272 1.484701 1.735145 1.953492 0.224374 0.472039 0.700489 0.962413 1.227196 1.436175 1.732612 1.986157 0.233374 0.511645 0.724856 1.006889 1.261406 1.479317 1.738763 0.015018 0.293652 0.544060 0.783194 1.049940 1.334356 1.597132 1.884915 0.116144 0.407952 0.655098 0.934475 1.203977 1.470158 1.734466 0.021507 0.299847 0.574329 0.854575 1.133294 1.378519 1.691597 1.949419 0.223771 0.531325 0.799232 1.092956 1.356357 1.661985 1.962701 0.227211 0.521885 0.804200 1.100362 1.422682 1.690005 1.980499 0.269029 0.558070 0.860270 1.144847 1.486403 1.742330 0.045615 0.350472 0.683688 1.002092 1.250129 1.573602 1.836737 0.141047 0.509187 0.784330 1.083480 1.413786 1.712836 0.025033 0.335420 0.680826 0.914375 1.293843 1.583251 1.947420 0.229253 0.564323 0.892944 1.191672 1.532158 1.813873 0.173205 0.525221 0.793819 1.160640 1.454620 1.814804 0.121488 0.465413 0.806723 1.108266 1.438579 1.812867 0.096087 0.451078 0.783599 1.151779 1.492017 1.819757 0.159666 0.501859 0.810260 1.188495 1.536837 1.884079 0.208972 0.535366 0.906536 1.251003 1.618849 1.988211 0.303094 0.680020 1.030974 1.364115 1.716547 0.084761 0.452540 0.754497 1.143303 1.524222 1.899677 0.233427 0.612343 0.950729 1.343976 1.712577 0.077702 0.443919 0.785367 1.164705 1.525317 1.920704 0.231559 0.650099 1.029537 1.395581 1.755513 0.152404 0.540871 0.918818 1.284992 1.679205 0.039302 0.431666 0.829377 1.220832 1.592402 1.978317 0.367456 0.769458 1.155807 1.536839 1.941056 0.331519 0.716955 1.067037 1.507890 1.871311 0.274965 0.682417 1.077954 1.485062 1.893290 0.276059 0.676110 1.121911 1.479134 1.854333 0.313859 0.705038 1.133161 1.524553 1.924434 0.353511 0.729333 1.171388 1.582535 -0.011939 0.375159 0.827180 1.211505 1.662939 0.076452 0.518735 0.922405 1.330730 1.763082 0.186444 0.618302 1.054355 1.472689 1.908276 0.342575 0.756872 1.185316 1.641176 0.043738 0.488972 0.911107 1.347850 1.757336 0.227821 0.644258 1.134032 1.539309 1.961120 0.426614 0.850622 1.299194 1.768191 0.196910 0.617335 1.085005 1.504833 1.978811 0.443881 0.893122 1.336094 1.802839 0.227109 0.677062 1.136925 1.608413 0.055940 0.537200 0.998663 1.452160 1.930206 0.356537 0.837268 1.284826 1.776189 0.237393 0.685896 1.159977 1.617364 0.090132 0.567382 1.065855 1.511033 1.994963 0.421026 0.953073 1.400408 1.897164 0.364092 0.841380 1.315490 1.769241 0.257158 0.768313 1.251460 1.767382 0.243683 0.704113 1.174416 1.664632 0.168029 0.651899 1.149612 1.630230 0.131384 0.619814 1.114540 1.622458 0.122874 0.626299 1.094590 1.598573 0.083510 0.614256 1.087849 1.584856 0.106403 0.626100 1.128450 1.611809 0.146752 0.630125 1.150369 1.677910 0.163147 0.671741 1.207025 1.704864 0.230414 0.782042 1.257249 1.805772 0.310334 0.820407 1.344190 1.874163 0.375651 0.898803 1.400155 1.954054 0.481477 0.984936 1.546456 0.051904 0.600097 1.127591 1.631048 0.209400 0.734849 1.261283 1.777143 0.349027 0.853014 1.422646 1.943953 0.478144 1.027085 1.568085 0.105833 0.655019 1.234134 1.764008 0.298884 0.833532 1.388596 1.984683 0.508554 1.042108 1.611467 0.094904 0.688659 1.277276 1.819804 0.394553 0.936998 1.505170 0.025738 0.626884 1.176794 1.748665 0.311064 0.877970 1.447900 0.003331 0.542725 1.134801 1.687317 0.271830 0.850699 1.408344 -0.003648 0.562225 1.105301 1.705305 0.299504 0.873882 1.470736 0.009023 0.597564 1.191235 1.773459 0.356008 0.935585 1.539926 0.063318 0.715216 1.257275 1.874460 0.461080 1.054581 1.635914 0.181373 0.821301 1.418311 0.008058 0.636610 1.222004 1.809867 0.412347 1.010095 1.609602 0.213264 0.806597 1.416339 0.041598 0.593382 1.228350 1.843186 0.427865 1.066375 1.675399 0.293871 0.888172 1.528525 0.114609 0.721244 1.345110 1.969812 0.585961 1.218291 1.804763 0.438733 1.062254 1.692721 0.326055 0.942128 1.584778 0.174877 0.811485 1.432641 0.078034 0.678527 1.326068 1.968833 0.597746 1.243399 1.855829 0.534007 1.153750 1.758411 0.424048 1.025660 1.692489 0.328085 0.979173 1.614488 0.258282 0.903585 1.538025 0.220781 0.834767 1.465463 0.149212 0.792549 1.478728 0.115609 0.739825 1.402040 0.055039 0.728920 1.332996 0.023625 0.704446 1.351918 -0.001142 0.690175 1.341718 1.973909 0.673744 1.337746 0.009131 0.689654 1.351301 0.000356 0.673411 1.354537 0.030079 0.683844 1.342349 0.036649 0.734133 1.391040 0.056325 0.738255 1.427216 0.131094 0.772026 1.449852 0.121300 0.834024 1.515842 0.185369 0.904247 1.597807 0.257034 0.982249 1.648827 0.323134 1.003118 1.679959 0.428396 1.112456 1.835229 0.514437 1.209163 1.913549 0.622556 1.314966 -0.015395 0.689295 1.421196 0.128085 0.832279 1.514039 0.248659 0.955740 1.650447 0.361867 1.102952 1.785726 0.516932 1.248975 1.899920 0.630541 1.364804 0.069454 0.823726 1.498788 0.249298 0.953313 1.681883 0.427401 1.164113 1.849382 0.574386 1.275928 0.013412 0.789116 1.528548 0.199282 0.940444 1.713067 0.443217 1.197593 1.851806 0.633910 1.329213 0.095547 0.845591 1.552104 0.326149 1.030520 1.816486 0.560702 1.315356 0.036745 0.808846 1.545206 0.282656 1.024478 1.777105 0.541883 1.256450 0.027230 0.807039 1.510542 0.278374 1.094357 1.844642 0.565970 1.373861 0.096040 0.851468 1.631039 0.397939 1.158425 1.903462 0.687135 1.394673 0.195555 0.993586 1.769418 0.544258 1.313431 0.071841 0.835294 1.644885 0.395546 1.161456 1.990446 0.708938 1.499503 0.271243 1.054079 1.878805 0.659129 1.407458 0.212837 1.040241 1.756264 0.570322 1.379894 0.142870 0.911582 1.729085 0.514916 1.294185 0.099570 0.888691 1.679182 0.487504 1.301557 0.078621 0.870363 1.684169 0.520974 1.318615 0.056138 0.913965 1.723763 0.540905 1.314156 0.093355 0.933654 1.779947 0.539765 1.363072 0.167923 0.995418 1.803496 0.650591 1.430245 0.265711 1.102379 1.899134 0.745585 1.560261 0.355892 1.154667 0.030105 0.809123 1.633462 0.492336 1.321502 0.138888 0.978988 1.805425 0.652222 1.471313 0.311540 1.138819 1.979735 0.806576 1.651080 0.501708 1.337146 0.171730 0.993840 1.855565 0.707758 1.541932 0.373136 1.221639 0.029492 0.913412 1.721887 0.631550 1.482332 0.304253 1.154006 0.031330 0.860015 1.714918 0.590694 1.457171 0.290495 1.157203 0.017988 0.885443 1.738898 0.585906 1.436315 0.288443 1.172322 0.058447 0.877937 1.793604 0.645338 1.523803 0.378122 1.279210 0.143233 1.014958 1.909578 0.782125 1.683944 0.544721 1.423254 0.259936 1.163284 0.058975 0.937388 1.769720 0.695388 1.600181 0.452934 1.335942 0.244447 1.143889 0.017558 0.909436 1.758149 0.689566 1.579332 0.450667 1.372292 0.251425 1.164274 0.059548 0.985154 1.872348 0.778470 1.657978 0.585003 1.500443 0.369633 1.264702 0.204913 1.103903 -0.006997 0.891398 1.797890 0.753883 1.639428 0.555888 1.449705 0.366943 1.275458 0.191315 1.090054 0.048919 0.997346 1.870278 0.808909 1.743398 0.635918 1.570176 0.520661 1.423004 0.364086 1.310244 0.238214 1.184336 0.065001 1.003926 1.963983 0.924394 1.857407 0.744443 1.726713 0.618632 1.570741 0.511697 1.420378 0.371329 1.306641 0.265352 1.211438 0.111350 1.050632 0.042200 0.933403 1.912850 0.863485 1.792856 0.760255 1.745424 0.663318 1.618361 0.592471 1.542787 0.502537 1.483297 0.452593 1.401569 0.352803 1.335461 0.299454 1.239232 0.195022 1.183291 0.153298 1.113235 0.074032 1.068069 0.018046 0.981381 1.940654 0.923797 1.895824 0.841413 1.876575 0.857102 1.803101 0.783251 1.748938 0.693361 1.720728 0.712641 1.647363 0.641848 1.636060 0.619009 1.602990 0.595414 1.595524 0.589995 1.540299 0.522249 1.527233 0.491378 1.513030 0.480173 1.481967 0.502063 1.498098 0.474857 1.496300 0.483889 1.521546 0.479098 1.482683 0.480855 1.537279 0.515153 1.508524 0.558683 1.565975 0.605874 1.596984 0.594628 1.626648 0.583923 1.632378 0.605864 1.640720 0.690229 1.673651 0.698487 1.718793 0.756128 1.761542 0.815306 1.814831 0.848832 1.877616 0.949032 1.956851 1.001150 -0.761620 0.998126 0.051465 1.104025 0.095056 1.190916 0.192268 1.281736 0.289295 1.339903 0.400683 1.483565)
        )
 ))
 
diff --git a/poly.rb b/poly.rb
index 4a6186e..a84fdd4 100644
--- a/poly.rb
+++ b/poly.rb
@@ -2,7 +2,7 @@
 
 # Translator: Michael Scholz <mi-scholz at users.sourceforge.net>
 # Created: 05/04/09 23:55:07
-# Changed: 14/11/21 05:06:17
+# Changed: 17/11/30 22:57:04
 
 # class Complex
 #  to_f
@@ -53,7 +53,10 @@ require "mix"
 include Math
 
 class Complex
-  attr_writer :real, :imag
+  # XXX: attr_writer :real, :imag
+  #      Doesn't work any longer.
+  #      Complex objects are now frozen objects.
+  #      (Thu Nov 30 21:29:10 CET 2017)
   with_silence do
     def to_f
       self.real.to_f
@@ -267,7 +270,8 @@ class Poly < Vec
 
   def roots
     rts = poly()
-    if (deg = self.length - 1).zero?
+    deg = self.length - 1
+    if deg.zero?
       rts
     else
       if self[0].zero?
@@ -544,7 +548,9 @@ class Poly < Vec
       (a.real.abs < Poly_roots_epsilon2) ? 0.0 : a.real.to_f
     else
       if a.real.abs < Poly_roots_epsilon2
-        a.real = 0.0
+        # XXX: a.real = 0.0
+        #      Doesn't work any longer (see above, class Complex).
+        a = Complex(0.0, a.imag)
       end
       a
     end
diff --git a/popup.fs b/popup.fs
index a81bb00..2c174b7 100644
--- a/popup.fs
+++ b/popup.fs
@@ -2,9 +2,9 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 05/12/23 00:28:28
-\ Changed: 14/11/11 00:07:54
+\ Changed: 17/12/16 05:22:17
 \
-\ @(#)popup.fs	1.42 11/11/14
+\ @(#)popup.fs	1.50 12/16/17
 
 \ selection-popup-menu
 \ graph-popup-menu
@@ -78,7 +78,7 @@ hide
 		\ edhist sends a proc to set TOP to edhist-widgets
 		popdown-labels #( top ) run-proc drop
 	else
-	\ else arrays of #( name proc ) lists
+		\ else arrays of #( name proc ) lists
 		popdown-labels each { poplab }
 			poplab 0 array-ref FxmPushButtonWidgetClass top
 			    #( FXmNbackground highlight-color )
@@ -150,7 +150,7 @@ hide
 	then
 ;
 
-: make-popdown-entry { label parent func collector with-one -- values }
+: make-popdown-entry { label parent func collector with-one -- }
 	#f { widget }
 	#() { children }
 	with-one if
@@ -206,7 +206,7 @@ hide
 			then
 		then { class }
 		typ 'cascade = if
-			entry length 4 = if	\ fft menu
+			entry length 4 = if	\ fft/edhist menu
 				label
 				    entry 2 array-ref ( labels )
 				    menu
@@ -224,13 +224,14 @@ hide
 			label class menu
 			    #( FXmNbackground highlight-color )
 			    undef FXtCreateManagedWidget { wid }
-			entry 2 array-ref if	\ cb: 3 args or #f
-				wid FXmNactivateCallback
-				    entry 2 array-ref
+			entry 2 array-ref { cb }	\ cb: 3 args or #f
+			cb if
+				wid FXmNactivateCallback cb
 				    undef FXtAddCallback drop
 			then
-			entry 3 array-ref if	\ func: 1 arg or #f
-				entry 3 array-ref #( wid ) run-proc drop
+			entry 3 array-ref { prc }	\ func: 1 arg or #f
+			prc if
+				prc #( wid ) run-proc drop
 			then
 		then
 	end-each
@@ -332,6 +333,10 @@ hide
 	0.0 scale-selection-by
 ;
 
+: sel-norm <{ w c info -- val }>
+	1.0 scale-selection-to
+;
+
 : sel-crop <{ w c info -- val }>
 	selection-members each ( sel )
 		as-one-edit-thunk "" as-one-edit drop
@@ -368,28 +373,21 @@ hide
 	#f
 ;
 
-: sel-info <{ w c info -- val }>
-	#f #f selection-position { beg }
-	#f #f selection-framples { len }
-	"    start: %d, %.3f\n" #( beg beg #f srate f/ ) string-format ( str )
-	"      end: %d, %.3f\n" #( beg len + dup #f srate f/ ) string-format $+
-	" duration: %d, %.3f\n" #( len len #f srate f/ ) string-format $+
-	"    chans: %d\n" #( selection-chans ) string-format $+
-	"   maxamp: %.3f\n" #( #f #f selection-maxamp ) string-format $+ { str }
-	"Selection Info" str info-dialog
-;
-
 \ choice 2 == selection
 : sel-appcnt <{ w c info -- val }>
-	#f 2 0 undef apply-controls
+	\ (apply-controls :optional snd (choice 0) (beg 0) (dur len))
+	\ choice: 0 snd
+	\         1 chn
+	\         2 sel
+	selected-sound 2 undef undef apply-controls
 ;
 
 : sel-rescnt <{ w c info -- val }>
-	#f reset-controls
+	selected-sound reset-controls
 ;
 
 : sel-unsel <{ w c info -- val }>
-	#f #t set-selection-member?
+	#f #t #f set-selection-member?
 ;
 
 : sel-rev <{ w c info -- val }>
@@ -404,6 +402,19 @@ hide
 	-1.0 scale-selection-by
 ;
 
+: sel-info <{ w c info -- val }>
+	selected-sound { snd }
+	snd selected-channel { chn }
+	snd chn selection-position { beg }
+	snd chn selection-framples { len }
+	"    start: %d, %.3f\n" #( beg beg #f srate f/ ) string-format ( str )
+	"      end: %d, %.3f\n" #( beg len + dup #f srate f/ ) string-format $+
+	" duration: %d, %.3f\n" #( len len #f srate f/ ) string-format $+
+	"    chans: %d\n" #( selection-chans ) string-format $+
+	"   maxamp: %.3f\n" #( #f #f selection-maxamp ) string-format $+ { str }
+	"Selection info" str info-dialog
+;
+
 let: ( -- menu )
 	#a( :stopping #f
 	    :stopping1 #f
@@ -416,25 +427,26 @@ let: ( -- menu )
 	   #( "Play"             #f         vars sel-play-cb #f )
 	   #( "Loop play"        #f         vars sel-loop-cb #f )
 	   #( "Delete"           #f         <'> sel-del      #f )
-	   #( "Zero"             #f         <'> sel-zero     #f )
+	   #( "-> 0.0"           #f         <'> sel-zero     #f )
+	   #( "-> 1.0"           #f         <'> sel-norm     #f )
 	   #( "Crop"             #f         <'> sel-crop     #f )
 	   #( "Save as"          #f         <'> sel-save-as  #f )
-	   #( "Copy->New"        #f         <'> sel-copy     #f )
-	   #( "Cut->New"         #f         <'> sel-cut      #f )
+	   #( "Copy -> new"      #f         <'> sel-copy     #f )
+	   #( "Cut -> new"       #f         <'> sel-cut      #f )
 	   #( "Snap marks"       #f         <'> sel-marks    #f )
-	   #( "Selection Info"   #f         <'> sel-info     #f )
 	   #( "Apply controls"   #f         <'> sel-appcnt   #f )
 	   #( "Reset controls"   #f         <'> sel-rescnt   #f )
 	   #( "Unselect"         #f         <'> sel-unsel    #f )
 	   #( "Reverse"          #f         <'> sel-rev      #f )
 	   #( "Mix"              #f         <'> sel-mix      #f )
 	   #( "Invert"           #f         <'> sel-invert   #f )
+	   #( "Info"             #f         <'> sel-info     #f )
 	) make-popup-menu
 ;let constant selection-popup-menu
 
 \ --- time domain popup ---
-#f value graph-popup-snd
-#f value graph-popup-chn
+: graph-popup-snd ( -- snd ) #f snd-snd ;
+: graph-popup-chn ( -- chn ) #f snd-chn ;
 
 : stop-playing-cb { vars -- prc; snd self -- val }
 	1 proc-create ( prc )
@@ -582,15 +594,19 @@ let: ( -- menu )
 ;
 
 : punsel-cb <{ w c info -- val }>
-	#f #t set-selection-member?
+	#f #t #f set-selection-member?
 ;
 
 : papcnt-cb <{ w c info -- val }>
-	#f 0 0 undef apply-controls
+	\ (apply-controls :optional snd (choice 0) (beg 0) (dur len))
+	\ choice: 0 snd
+	\         1 chn
+	\         2 sel
+	graph-popup-snd 0 undef undef apply-controls
 ;
 
 : precnt-cb <{ w c info -- val }>
-	#f reset-controls
+	graph-popup-snd reset-controls
 ;
 
 : print-props { props -- str }
@@ -610,44 +626,6 @@ let: ( -- menu )
 	( str )
 ;
 
-: pinfo-cb <{ w c info -- val }>
-	graph-popup-snd { snd }
-	graph-popup-chn { chn }
-	snd chn #f framples { frms }
-	snd srate { sr }
-	"   chans: %d, srate: %d\n" #( snd channels sr ) string-format ( str )
-	"  format: %s [%s]\n"
-	    #( snd sample-type mus-sample-type-name
-	       snd header-type mus-header-type-name ) string-format $+
-	"  length: %.3f  (%d frames)\n" #( frms sr f/ frms ) string-format $+
-	snd #t #f maxamp each { mx }
-		"%6s %c: %.3f\n" #( "maxamp" [char] A i + mx ) string-format $+
-	end-each
-	snd comment empty? unless
-		" comment: %S\n" #( snd comment ) string-format $+
-	then
-	snd file-name mus-sound-loop-info { loops }
-	loops nil? unless
-		"    loop: %s\n" #( loops ) string-format $+
-	then
-	snd header-type mus-soundfont = if
-		"  sounds: %s\n" #( snd soundfont-info ) string-format $+
-	then
-	snd sound-properties { props }
-	props nil? unless
-		"properties:\n" $+
-		props print-props $+
-	then
-	snd channels 0 ?do
-		snd i channel-properties to props
-		props nil? unless
-			"chan %d properties:\n" #( i ) string-format $+
-			props print-props $+
-		then
-	loop { str }
-	snd file-name " info" $+ str info-dialog
-;
-
 : paddmrk-cb <{ w c info -- val }>
 	graph-popup-snd graph-popup-chn #f cursor ( samp )
 	    graph-popup-snd graph-popup-chn #f ( name ) 0 ( sync ) add-mark
@@ -688,6 +666,48 @@ let: ( -- menu )
 	[char] j 4 graph-popup-snd graph-popup-chn key \ C-j
 ;
 
+: pnorm-cb <{ w c info -- val }>
+	1.0 graph-popup-snd graph-popup-chn scale-to
+;
+
+: pinfo-cb <{ w c info -- val }>
+	graph-popup-snd { snd }
+	graph-popup-chn { chn }
+	snd chn #f framples { frms }
+	snd srate { sr }
+	"   chans: %d, srate: %d\n" #( snd channels sr ) string-format ( str )
+	"  format: %s [%s]\n"
+	    #( snd sample-type mus-sample-type-name
+	       snd header-type mus-header-type-name ) string-format $+
+	"  length: %.3f  (%d framples)\n" #( frms sr f/ frms ) string-format $+
+	snd #t #f maxamp each { mx }
+		"%6s %c: %.3f\n" #( "maxamp" [char] A i + mx ) string-format $+
+	end-each
+	snd comment empty? unless
+		" comment: %s\n" #( snd comment ) string-format $+
+	then
+	snd file-name mus-sound-loop-info { loops }
+	loops nil? unless
+		"    loop: %s\n" #( loops ) string-format $+
+	then
+	snd header-type mus-soundfont = if
+		"  sounds: %s\n" #( snd soundfont-info ) string-format $+
+	then
+	snd sound-properties { props }
+	props nil? unless
+		"properties:\n" $+
+		props print-props $+
+	then
+	snd channels 0 ?do
+		snd i channel-properties to props
+		props nil? unless
+			"chan %d properties:\n" #( i ) string-format $+
+			props print-props $+
+		then
+	loop { str }
+	snd file-name " info" $+ str info-dialog
+;
+
 : exit-cb <{ w c info -- val }>
 	0 snd-exit
 ;
@@ -718,12 +738,13 @@ let: ( -- menu )
 	   #( "Unselect"         #f         <'> punsel-cb   #f )
 	   #( "Apply controls"   #f         <'> papcnt-cb   #f )
 	   #( "Reset controls"   #f         <'> precnt-cb   #f )
-	   #( "Info"             #f         <'> pinfo-cb    #f )
 	   #( "Add mark"         #f         <'> paddmrk-cb  #f )
 	   #( "Delete mark"      #f         <'> pdelmrk-cb  #f )
 	   #( "Delete all marks" #f         <'> pdelamrk-cb #f )
 	   #( "To next mark"     #f         <'> pnextmrk-cb #f )
 	   #( "To last mark"     #f         <'> plastmrk-cb #f )
+	   #( "-> 1.0"           #f         <'> pnorm-cb    #f )
+	   #( "Info"             #f         <'> pinfo-cb    #f )
 	   #( "sep"              'separator #f              #f )
 	   #( "Exit"             #f         <'> exit-cb     #f )
 	) make-popup-menu
@@ -869,7 +890,8 @@ let: ( -- menu )
 	end-each
 ;
 
-#( 16 64 256 512 1024 4096 16384 65536 262144 1048576 ) constant fft-siz-sizes
+#( 32 64 128 256 512 1024 2048 4096 8192 16384 65536 262144 1048576 )
+    constant fft-siz-sizes
 
 : siz-lst-cb { val -- prc; w c i self -- val }
 	3 proc-create ( prc )
@@ -900,12 +922,6 @@ let: ( -- menu )
    blackman2-window 
    blackman3-window
    blackman4-window
-   blackman5-window
-   blackman6-window
-   blackman7-window
-   blackman8-window
-   blackman9-window
-   blackman10-window
    exponential-window
    riemann-window
    kaiser-window
@@ -920,7 +936,19 @@ let: ( -- menu )
    ultraspherical-window
    bartlett-hann-window
    bohman-window
-   flat-top-window ) constant fft-win-windows
+   flat-top-window
+   blackman5-window
+   blackman6-window
+   blackman7-window
+   blackman8-window
+   blackman9-window
+   blackman10-window
+   rv2-window
+   rv3-window
+   rv4-window
+   mlt-sine-window
+   papoulis-window
+   sinc-window ) constant fft-win-windows
 
 : win-lst-cb { val -- prc; w c i self -- val }
 	3 proc-create ( prc )
@@ -939,12 +967,6 @@ let: ( -- menu )
 	   "Blackman2"
 	   "Blackman3"
 	   "Blackman4"
-	   "Blackman5"
-	   "Blackman6"
-	   "Blackman7"
-	   "Blackman8"
-	   "Blackman9"
-	   "Blackman10"
 	   "Exponential"
 	   "Riemann"
 	   "Kaiser"
@@ -959,7 +981,19 @@ let: ( -- menu )
 	   "Ultraspherical"
 	   "Bartlett-Hann"
 	   "Bohman"
-	   "Flat-top" ) map
+	   "Flat-top"
+	   "Blackman5"
+	   "Blackman6"
+	   "Blackman7"
+	   "Blackman8"
+	   "Blackman9"
+	   "Blackman10"
+	   "Rife-Vincent2"
+	   "Rife-Vincent3"
+	   "Rife-Vincent4"
+	   "MLT Sine"
+	   "Papoulis"
+	   "Sinc" ) map
 		#( *key* fft-win-windows i array-ref win-lst-cb )
 	end-map
 ;
@@ -973,9 +1007,9 @@ let: ( -- menu )
 
 #( fourier-transform
    wavelet-transform
+   walsh-transform
    autocorrelation
    cepstrum
-   walsh-transform
    haar-transform ) value fft-trn-transform
 
 : trn-lst-cb { val -- prc; w c i self -- val }
@@ -986,7 +1020,7 @@ let: ( -- menu )
 ;
 
 : trn-labs ( -- ary )
-	#( "Fourier" "Wavelet" "Autocorrelate" "Cepstrum" "Walsh" "Haar" ) map
+	#( "Fourier" "Wavelet" "Walsh" "Autocorrelate" "Cepstrum" "Haar" ) map
 		#( *key* fft-trn-transform i array-ref trn-lst-cb )
 	end-map ( ary )
 ;
@@ -1015,8 +1049,8 @@ let: ( -- menu )
 	   "doub16"
 	   "doub18"
 	   "doub20"
-	   "battle_lemarie"
-	   "burt_adelson"
+	   "battle-lemarie"
+	   "burt-adelson"
 	   "beylkin"
 	   "coif2"
 	   "coif4"
@@ -1025,7 +1059,35 @@ let: ( -- menu )
 	   "sym3"
 	   "sym4"
 	   "sym5"
-	   "sym6" ) map
+	   "sym6"
+	   "doub22"
+	   "doub24"
+	   "doub26"
+	   "doub28"
+	   "doub30"
+	   "doub32"
+	   "doub34"
+	   "doub36"
+	   "doub38"
+	   "doub40"
+	   "doub42"
+	   "doub44"
+	   "doub46"
+	   "doub48"
+	   "doub50"
+	   "doub52"
+	   "doub54"
+	   "doub56"
+	   "doub58"
+	   "doub60"
+	   "doub62"
+	   "doub64"
+	   "doub66"
+	   "doub68"
+	   "doub70"
+	   "doub72"
+	   "doub74"
+	   "doub76" ) map
 		#( *key* i typ-lst-cb )
 	end-map
 ;
@@ -1095,20 +1157,6 @@ let: ( -- menu )
 ;
 
 : popup-install { snd chn xe ye info -- }
-	snd to graph-popup-snd
-	chn to graph-popup-chn
-	snd channel-style channels-combined = if
-		#t			\ flag
-		snd channels 0 ?do
-			ye snd i undef axis-info 14 array-ref < if
-				i 1- to graph-popup-chn
-				not	\ toggle flag
-				leave
-			then
-		loop ( flag ) if
-			snd channels 1- to graph-popup-chn
-		then
-	then
 	snd chn transform-graph? if
 		snd chn transform-graph axis-info
 	else
@@ -1172,8 +1220,37 @@ let: ( -- menu )
 \ --- edit history popup ---
 #() value edhist-funcs
 #() value edhist-widgets
-#f  value edhist-snd
-#f  value edhist-chn
+: edhist-snd ( -- snd ) #f snd-snd ;
+: edhist-chn ( -- chn ) #f snd-chn ;
+
+: edhist-funcs-index { key -- idx|-1 }
+	-1 ( idx )
+	edhist-funcs each
+		( val ) car key equal? if
+			drop			\ drop -1
+			i			\ set to current index
+			leave
+		then
+	end-each ( idx )
+;
+
+: edhist-funcs-ref { key -- val|#f }
+	key edhist-funcs-index { idx }
+	idx 0>= if
+		edhist-funcs idx array-ref cadr	\ => proc
+	else
+		#f
+	then
+;
+
+: edhist-funcs-set! { key val -- }
+	key edhist-funcs-index { idx }
+	idx 0>= if
+		edhist-funcs idx #( key val ) array-set!
+	else
+		edhist-funcs #( key val ) array-push to edhist-funcs
+	then
+;
 
 : edhist-clear-edits <{ w c info -- #f }>
 	#() to edhist-funcs
@@ -1181,83 +1258,81 @@ let: ( -- menu )
 ;
 
 : edhist-save-edits <{ w c info -- val }>
-	edhist-funcs #( edhist-snd edhist-chn )
-	    array-assoc-ref { old-proc }
-	edhist-snd edhist-chn edits { cur-edits }
-	edhist-snd edhist-chn cur-edits 0 array-ref
-	    1+ 0 cur-edits each
-		+
-	end-each edit-list->function { proc }
-	edhist-save-hook #( proc ) run-hook drop
-	old-proc proc? if
-		edhist-funcs
-		    #( edhist-snd edhist-chn )
-		    proc
-		    array-assoc-set!
-	else
-		edhist-funcs
-		    #( #( edhist-snd edhist-chn ) proc )
-		    array-push
-	then to edhist-funcs
+	edhist-snd { snd }
+	edhist-chn { chn }
+	#( snd chn ) edhist-funcs-ref { old-prc }
+	snd chn edits { cur-edits }
+	0 ( sum )
+	cur-edits each ( val )
+		+ ( sum += val )
+	end-each { sum }
+	snd chn cur-edits car 1+ sum edit-list->function { prc }
+	edhist-save-hook #( prc ) run-hook drop
+	#( snd chn ) prc edhist-funcs-set!
+	#f
 ;
 
 : edhist-reapply-edits <{ w c info -- val }>
-	edhist-funcs #( edhist-snd edhist-chn ) array-assoc-ref
-	    #( edhist-snd edhist-chn ) run-proc
+	#( edhist-snd edhist-chn ) edhist-funcs-ref { prc }
+	prc proc? if
+		prc #( edhist-snd edhist-chn ) run-proc
+	else
+		#f
+	then
 ;
 
-: edhist-set-wid <{ widget -- }>
-	edhist-widgets widget array-push to edhist-widgets
+: edhist-set-wid <{ w -- }>
+	edhist-widgets w array-push to edhist-widgets
 ;
 
-: edhist-apply <{ w c info -- }>
+: edhist-apply <{ w c info -- val }>
+	\ context (c) is index (i) from edhist-apply-edits, see below
 	edhist-funcs c range? if
-		edhist-funcs c array-ref 1 array-ref ( proc )
-		    #( edhist-snd edhist-chn ) run-proc drop
+		edhist-funcs c array-ref cadr ( prc )
+		#( edhist-snd edhist-chn ) run-proc
+	else
+		#f
 	then
 ;
 
-: edhist-apply-edits <{ lst -- }>
-	edhist-widgets 0 array-ref { parent }
-	edhist-widgets 1 nil array-subarray { wids }
-	edhist-funcs each 0 array-ref { label }
+: edhist-apply-edits <{ dummy -- val }>
+	edhist-widgets car { parent }
+	edhist-widgets cdr { wids }
+	edhist-funcs each car { label }
 		nil { button }
 		wids nil? if
 			"wid" FxmPushButtonWidgetClass parent
 			    #( FXmNbackground highlight-color )
 			    undef FXtCreateManagedWidget to button
-			edhist-widgets #( button )
-			    array-append to edhist-widgets
+			edhist-widgets button array-push to edhist-widgets
+			\ index (i) is context (c) in edhist-apply, see above
 			button FXmNactivateCallback
 			    <'> edhist-apply i FXtAddCallback drop
 		else
-			wids 0 array-ref to button
-			wids 1 nil array-subarray to wids
+			wids car to button
+			wids cdr to wids
 			button FXtManageChild drop
 		then
-		label array? if
-			\ label: #(snd chn)
+		label array? if		\ label: #( snd chn )
 			button  "%s[%s]"
-			    #( label 0 array-ref short-file-name
-			       label 1 array-ref )
-			    string-format change-label
-		else
-			\ label: "file-name[chn]"
-			button label change-label
-		then
-		button #( FXmNuserData i ) FXtVaSetValues drop
+			    #( label car short-file-name
+			       label cadr ) string-format
+		else			\ label: "file-name[chn]"
+			button label
+		then change-label
 	end-each
 	wids each ( w )
 		FXtUnmanageChild drop
 	end-each
+	#f
 ;
 
 : edhist-close-hook-cb <{ snd -- }>
+	snd short-file-name { name }
 	snd channels 0 ?do
-		edhist-funcs #( snd i ) array-assoc { old-val }
+		#( snd i ) edhist-funcs-ref { old-val }
 		old-val array? if
-			old-val 0 "%s[%d]"
-			    #( snd short-file-name i ) string-format array-set!
+			old-val 0 "%s[%d]" #( name i ) string-format array-set!
 		then
 	loop
 ;
@@ -1269,67 +1344,53 @@ let: ( -- menu )
 	   #( "sep"     'separator #f                       #f )
 	   #( "Save"    #f         <'> edhist-save-edits    #f )
 	   #( "Reapply" #f         <'> edhist-reapply-edits #f )
-	   #( "Apply" 'cascade     <'> edhist-set-wid <'> edhist-apply-edits )
+	   #( "Apply"   'cascade   <'> edhist-set-wid <'> edhist-apply-edits )
 	   #( "Clear"   #f         <'> edhist-clear-edits   #f )
 	   #( "sep"     'separator #f                       #f )
 	   #( "Help"    #f         <'> edhist-help-edits    #f )
 	) make-popup-menu
 ;let constant edit-history-menu
 
-: edhist-popup-cb { snd chn -- prc; w self -- val }
-	1 proc-create ( prc )
-	chn , snd ,
-  does> { w self -- val }
-	self       @ { chn }
-	self cell+ @ { snd }
-	w FXtName    { name }
+: edhist-popup-cb <{ w -- val }>
+	edhist-snd { snd }
+	edhist-chn { chn }
+	w FXtName { name }
 	name "Clear" string=
 	name "Apply" string= || if
 		w edhist-funcs empty? not set-sensitive
-		#f
-		exit
-	then
-	name "Save" string= if
-		w 0 snd chn edits each ( eds )
-			+
-		end-each 0> set-sensitive
-		#f
-		exit
-	then
-	name "Reapply" string= if
-		w edhist-funcs #( snd chn )
-		    array-assoc-ref set-sensitive
+	else
+		name "Save" string= if
+			snd chn edits { eds }
+			0 ( sum )
+			eds each ( val )
+				+ ( sum += val )
+			end-each { sum }
+			w sum 0> set-sensitive
+		else
+			name "Reapply" string= if
+				#( snd chn ) edhist-funcs-ref { prc }
+				w prc word? set-sensitive
+			then
+		then
 	then
 	#f
 ;
 
-: edhist-popup-handler-cb { snd chn -- prc; w c i self -- val }
-	3 proc-create ( prc )
-	chn , snd ,
-  does> { w c info self -- val }
-	self @ { chn }
-	self cell+ @ { snd }
+: edhist-popup-handler-cb <{ w c info -- val }>
 	info Fevent { ev }
 	FButtonPress ev Ftype = if
-		snd to edhist-snd
-		chn to edhist-chn
-		edit-history-menu snd chn edhist-popup-cb for-each-child
+		edit-history-menu <'> edhist-popup-cb for-each-child
 		edit-history-menu info popup-post-it
 	then
 	#f
 ;  
 
-: popup-handler-cb { snd chn -- prc; w c i self -- val }
-	3 proc-create ( prc )
-	chn , snd ,
-  does> { w c info self -- val }
-	self       @ { chn }
-	self cell+ @ { snd }
-	info Fevent  { ev }
+: popup-handler-cb <{ w c info -- val }>
+	info Fevent { ev }
 	ev Fx_root w 0 0 FXtTranslateCoords 0 array-ref - { xe }
-	ev Fy        { ye }
+	ev Fy { ye }
 	FButtonPress ev Ftype = if
-		snd chn xe ye info popup-install
+		edhist-snd edhist-chn xe ye info popup-install
 	then
 	#f
 ;
@@ -1422,8 +1483,7 @@ let: ( -- menu )
 					top-one FXtUnmanageChild drop
 				then
 				len 1 > if
-					top-two-cascade
-					    FXtManageChild drop
+					top-two-cascade FXtManageChild drop
 					top-two FXtManageChild drop
 				then
 				top-one FWidget?
@@ -1446,18 +1506,18 @@ let: ( -- menu )
 		main-widgets 4 array-ref
 	then { parent }
 	"listener-popup" parent
-	#( #( "Listener" 'label   #f  #f )
-	   #( "sep"    'separator #f  #f )
-	   #( "Play"   'cascade   <'> list-play-cb <'> identity-cb #t )
-	   #( "Help"   #f         <'> list-help-cb #f )
-	   #( "Open"   #f         <'> popen-cb #f )
-	   #( "Clear listener" #f <'> list-clear-cb #f )
+	#( #( "Listener" 'label   #f                     #f )
+	   #( "sep"    'separator #f                     #f )
+	   #( "Play"   'cascade   <'> list-play-cb       <'> identity-cb #t )
+	   #( "Help"   #f         <'> list-help-cb       #f )
+	   #( "Open"   #f         <'> popen-cb           #f )
+	   #( "Clear listener" #f <'> list-clear-cb      #f )
 	   #( "Close"  'cascade   <'> close-sound-extend <'> identity-cb #t )
-	   #( "Save"   'cascade   <'> save-sound <'> edited-cb #t )
-	   #( "Revert" 'cascade   <'> revert-sound <'> edited-cb #t )
-	   #( "Focus"  'cascade   <'> list-focus-cb <'> focused-cb  #f )
-	   #( "sep"    'separator #f #f )
-	   #( "Exit"   #f         <'> exit-cb #f )
+	   #( "Save"   'cascade   <'> save-sound         <'> edited-cb #t )
+	   #( "Revert" 'cascade   <'> revert-sound       <'> edited-cb #t )
+	   #( "Focus"  'cascade   <'> list-focus-cb      <'> focused-cb  #f )
+	   #( "sep"    'separator #f                     #f )
+	   #( "Exit"   #f         <'> exit-cb            #f )
 	) make-popup-menu { menu }
 	parent FXmNpopupHandlerCallback <'> listener-popup-cb menu
 	    FXtAddCallback drop
@@ -1468,13 +1528,13 @@ let: ( -- menu )
 : add-popup <{ snd -- }>
 	snd channels 0 ?do
 		popups #( snd i ) array-member? unless
-			popups #( snd i ) array-push drop
+			popups #( snd i ) array-push to popups
 			snd i channel-widgets 7 array-ref ( chn-edhist )
 			    FXmNpopupHandlerCallback
-			    snd i edhist-popup-handler-cb
-			    undef FXtAddCallback drop
+			    <'> edhist-popup-handler-cb undef
+			    FXtAddCallback drop
 			snd i channel-widgets 0 array-ref ( chn-grf )
-			FXmNpopupHandlerCallback snd i popup-handler-cb
+			FXmNpopupHandlerCallback <'> popup-handler-cb
 			    undef FXtAddCallback drop
 		then
 	loop
diff --git a/repl.scm b/repl.scm
index 54ed1df..21a1a95 100644
--- a/repl.scm
+++ b/repl.scm
@@ -420,6 +420,7 @@
 	    
 	    ;; to enable mouse click coords (in xterm anyway), (format *stderr* "~C[?9h" #\escape)
 	    ;;    disable: (format *stderr* "~C[?9l" #\escape)
+	    ;;    this is X10_MOUSE -- probably better to use SET_ANY_EVENT_MOUSE 1003
 	    ;; while enabled, mouse selection instead sends coords to repl (so it's annoying)
 	    ;;    also it's sticky!  exit repl does not clear this flag so mouse is effectively dead
 	    ;; upon click, we get ESC [ M b x y (b = button info, x/y are coords starting at 32=0 -- 6 chars received)
diff --git a/rgb.fs b/rgb.fs
index a35f8a2..88e8eb0 100644
--- a/rgb.fs
+++ b/rgb.fs
@@ -1,8 +1,10 @@
 \ rgb.fs -- rgb.scm|rb --> rgb.fs
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Fri Aug 18 16:57:43 CEST 2006
-\ Changed: Fri Mar 23 22:50:07 CET 2012
+\ Created: 06/08/18 16:57:43
+\ Changed: 17/12/02 02:59:12
+\
+\ @(#)rgb.fs	1.10 12/2/17
 
 \ Commentary:
 \
diff --git a/rubber.fs b/rubber.fs
index 6af645d..8581dca 100644
--- a/rubber.fs
+++ b/rubber.fs
@@ -2,9 +2,9 @@
 
 \ Translator: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 06/01/06 05:32:57
-\ Changed: 14/04/28 03:52:17
+\ Changed: 17/12/02 03:19:40
 \
-\ @(#)rubber.fs	1.15 4/28/14
+\ @(#)rubber.fs	1.16 12/2/17
 
 \ original comments are taken from rubber.scm [ms]
 \
diff --git a/s7.c b/s7.c
index 791c138..3fab933 100644
--- a/s7.c
+++ b/s7.c
@@ -465,7 +465,9 @@ typedef struct {
   bool needs_free;
   FILE *file;
   char *filename;
-  int32_t filename_length, gc_loc; /* gc_loc uses -1 as unset flag -- kinda ugly */
+  int32_t filename_length;
+  uint32_t gc_loc;
+  bool needs_unprotect;
   void *next;
   s7_pointer (*input_function)(s7_scheme *sc, s7_read_t read_choice, s7_pointer port);
   void (*output_function)(s7_scheme *sc, unsigned char c, s7_pointer port);
@@ -835,7 +837,10 @@ typedef struct s7_cell {
       s7_pointer unused_slots, unused_nxt;
       int64_t unused_id;
       /* these two fields are for some special case objects like #<unspecified> */
-      const char *name;
+      union {
+	const char *name;
+	char *unknown_name;
+      } nm;
       int32_t len;
     } unq;
 
@@ -959,6 +964,9 @@ struct s7_scheme {
   uint32_t *gpofl;
   uint32_t protected_objects_size, protected_setters_size, protected_setters_loc;
   int32_t gpofl_loc;
+#if DEBUGGING
+  int *protected_lines;
+#endif
 
   s7_pointer nil;                     /* empty list */
   s7_pointer T;                       /* #t */
@@ -994,7 +1002,7 @@ struct s7_scheme {
   uint32_t gensym_counter, f_class, add_class, multiply_class, subtract_class, equal_class;
   int32_t format_column;
   uint64_t capture_let_counter;
-  bool short_print, is_autoloading;
+  bool short_print, is_autoloading, in_with_let;
   int64_t let_number;
   double default_rationalize_error, morally_equal_float_epsilon, hash_table_float_epsilon;
   s7_int default_hash_table_length, initial_string_port_length, print_length, objstr_max_len, history_size, true_history_size;
@@ -1039,14 +1047,14 @@ struct s7_scheme {
 
   void (*begin_hook)(s7_scheme *sc, bool *val);
 
-  int32_t no_values, current_line, s7_call_line, safety;
+  int32_t current_line, s7_call_line, safety;
   const char *current_file, *s7_call_file, *s7_call_name;
 
   shared_info *circle_info;
   format_data **fdats;
   int32_t num_fdats;
   s7_pointer elist_1, elist_2, elist_3, elist_4, elist_5, plist_1, plist_2, plist_3, qlist_2;
-  gc_list *strings, *strings1, *vectors, *input_ports, *output_ports, *continuations, *c_objects, *hash_tables, *gensyms, *optlists;
+  gc_list *strings, *strings1, *vectors, *input_ports, *output_ports, *continuations, *c_objects, *hash_tables, *gensyms, *optlists, *unknowns;
   s7_pointer *setters;
   uint32_t setters_size, setters_loc;
   char ***string_lists;
@@ -1153,7 +1161,8 @@ struct s7_scheme {
              let_star_symbol, key_rest_symbol, key_allow_other_keys_symbol, key_readable_symbol, value_symbol, type_symbol, 
              baffled_symbol, __func___symbol, set_symbol, body_symbol, class_name_symbol, feed_to_symbol, format_error_symbol, 
              wrong_number_of_args_symbol, read_error_symbol, string_read_error_symbol, syntax_error_symbol, division_by_zero_symbol, 
-             no_catch_symbol, io_error_symbol, invalid_escape_function_symbol, wrong_type_arg_symbol, out_of_range_symbol, missing_method_symbol;
+             no_catch_symbol, io_error_symbol, invalid_escape_function_symbol, wrong_type_arg_symbol, out_of_range_symbol, 
+             missing_method_symbol, unbound_variable_symbol;
 
   /* optimizer symbols */
   s7_pointer and_ap_symbol, and_az_symbol, and_p_symbol, and_safe_aa_symbol, and_safe_p_symbol, 
@@ -1497,8 +1506,6 @@ static s7_scheme *cur_sc = NULL;
 	{								\
 	  if (((typeflag(p) & T_IMMUTABLE) != 0) && ((typeflag(p) != (f))))						\
 	    {fprintf(stderr, "%s[%d]: set immutable %p type %d to %" PRId64 "\n", __func__, __LINE__, p, unchecked_type(p), (int64_t)(f)); abort();} \
-	  if (((typeflag(p) & T_LINE_NUMBER) != 0) && (((typeflag(p)) & 0xff) == T_PAIR) && (((f) & T_LINE_NUMBER) == 0)) \
-            fprintf(stderr, "%d unsets line_number\n", __LINE__); \
 	}								\
       typeflag(p) = f;							\
     } while (0)
@@ -1971,11 +1978,7 @@ static s7_scheme *cur_sc = NULL;
 
 #define T_LOCAL_SYMBOL                T_COPY_ARGS
 #define is_local_symbol(p)            ((typeflag(_NFre(p)) & T_LOCAL_SYMBOL) != 0)
-#if (!DEBUGGING)
 #define set_local_symbol(p)           typeflag(_TPair(p)) |= T_LOCAL_SYMBOL
-#else
-#define set_local_symbol(p) do {if (is_keyword(car(p))) fprintf(stderr, "local key %s\n", symbol_name(car(p))); typeflag(_TPair(p)) |= T_LOCAL_SYMBOL;} while (0)
-#endif
 
 #define T_GENSYM                      (1 << (TYPE_BITS + 21))
 #define is_gensym(p)                  ((typeflag(_TSym(p)) & T_GENSYM) != 0)
@@ -2029,12 +2032,13 @@ static s7_scheme *cur_sc = NULL;
 #define T_DEFINER                     (1LL << (TYPE_BITS + 26))
 #define is_definer(p)                 ((typeflag(_NFre(p)) & T_DEFINER) != 0)
 
+#define UNUSED_BITS                   0x7ffffff800000000
 
 #define T_GC_MARK                     0x8000000000000000
 #define is_marked(p)                  ((typeflag(p) &  T_GC_MARK) != 0)
 #define set_mark(p)                   typeflag(_NFre(p)) |= T_GC_MARK
 #define clear_mark(p)                 typeflag(p) &= (~T_GC_MARK)
-/* using bit 23 for this makes a big difference in the GC */
+/* using the sign bit, bit 23 (or 55) == 31 (or 63) for this makes a big difference in the GC */
 
 static int64_t not_heap = -1;
 #define heap_location(p)              (p)->hloc
@@ -2043,6 +2047,7 @@ static int64_t not_heap = -1;
 #define unheap(p)                     (p)->hloc = not_heap--
 
 #define is_eof(p)                     ((_NFre(p)) == sc->eof_object)
+#define is_undefined(p)               (type(p) == T_UNDEFINED)
 #define is_true(Sc, p)                ((_NFre(p)) != Sc->F)
 #define is_false(Sc, p)               ((_NFre(p)) == Sc->F)
 
@@ -2425,7 +2430,8 @@ static int64_t not_heap = -1;
 #define dox_slot2_unchecked(p)        _TLet(p)->object.envr.edat.dox.dox2
 #define dox_set_slot2_unchecked(p, S) _TLet(p)->object.envr.edat.dox.dox2 = (S)
 
-#define unique_name(p)                (p)->object.unq.name
+#define unique_name(p)                (p)->object.unq.nm.name
+#define unknown_name(p)               (p)->object.unq.nm.unknown_name
 #define unique_name_length(p)         (p)->object.unq.len
 #define is_unspecified(p)             (type(p) == T_UNSPECIFIED)
 #define unique_car(p)                 (p)->object.unq.unused_slots
@@ -2504,7 +2510,7 @@ static int64_t not_heap = -1;
 #define port_data_size(p)             (_TPrt(p))->object.prt.size
 #define port_position(p)              (_TPrt(p))->object.prt.point
 #define port_needs_free(p)            port_port(p)->needs_free
-#define port_output_function(p)       port_port(p)->output_function
+#define port_output_function(p)       port_port(p)->output_function /* these two are for function ports */
 #define port_input_function(p)        port_port(p)->input_function
 #define port_original_input_string(p) port_port(p)->orig_str
 #define port_read_character(p)        port_port(p)->read_character
@@ -2517,6 +2523,7 @@ static int64_t not_heap = -1;
 #define port_read_name(p)             port_port(p)->read_name
 #define port_read_sharp(p)            port_port(p)->read_sharp
 #define port_gc_loc(p)                port_port(p)->gc_loc
+#define port_needs_unprotect(p)       port_port(p)->needs_unprotect
 
 #define is_c_function(f)              (type(f) >= T_C_FUNCTION)
 #define is_c_function_star(f)         (type(f) == T_C_FUNCTION_STAR)
@@ -2790,7 +2797,7 @@ static s7_int s7_int_max = 0, s7_int_min = 0;
 
 /* --------------------------------------------------------------------------------
  * local versions of some standard C library functions
- * timing tests involving these are very hard to interpret -- pervasive inconsistency!
+ * timing tests involving these are very hard to interpret
  */
 
 static inline int32_t safe_strlen(const char *str)
@@ -2813,7 +2820,6 @@ static char *copy_string_with_length(const char *str, int32_t len)
   return(newstr);
 }
 
-
 static char *copy_string(const char *str)
 {
   return(copy_string_with_length(str, safe_strlen(str)));
@@ -2839,7 +2845,6 @@ static bool safe_strcmp(const char *s1, const char *s2)
   return(local_strcmp(s1, s2));
 }
 
-
 static bool local_strncmp(const char *s1, const char *s2, uint32_t n)
 {
 #if S7_ALIGNED
@@ -2928,6 +2933,7 @@ static s7_pointer unbound_variable(s7_scheme *sc, s7_pointer sym);
 static void free_hash_table(s7_pointer table);
 void s7_show_let(s7_scheme *sc);
 static s7_pointer g_cdr(s7_scheme *sc, s7_pointer args);
+static s7_pointer s7_length(s7_scheme *sc, s7_pointer lst);
 static void annotate_args(s7_scheme *sc, s7_pointer args, s7_pointer e);
 static void annotate_arg(s7_scheme *sc, s7_pointer arg, s7_pointer e);
 static bool float_optimize(s7_scheme *sc, s7_pointer expr);
@@ -3048,7 +3054,7 @@ enum {OP_NO_OP, OP_GC_PROTECT,
       OP_DEFINE_BACRO, OP_DEFINE_BACRO_STAR,
       OP_GET_OUTPUT_STRING, OP_GET_OUTPUT_STRING_1,
       OP_SORT, OP_SORT1, OP_SORT2, OP_SORT3, OP_SORT_PAIR_END, OP_SORT_VECTOR_END, OP_SORT_STRING_END,
-      OP_EVAL_STRING_1, OP_EVAL_STRING_2,
+      OP_EVAL_STRING, 
       OP_MEMBER_IF, OP_ASSOC_IF, OP_MEMBER_IF1, OP_ASSOC_IF1,
 
       OP_QUOTE_UNCHECKED, OP_LAMBDA_UNCHECKED, OP_LET_UNCHECKED, OP_CASE_UNCHECKED, OP_WHEN_UNCHECKED, OP_UNLESS_UNCHECKED,
@@ -3109,7 +3115,7 @@ enum {OP_NO_OP, OP_GC_PROTECT,
       OP_DO_NO_VARS, OP_DO_NO_VARS_NO_OPT, OP_DO_NO_VARS_NO_OPT_1,
 
       OP_SAFE_C_P_1, OP_SAFE_C_PP_1, OP_SAFE_C_PP_3, OP_SAFE_C_PP_5, OP_SAFE_C_PP_6,
-      OP_EVAL_ARGS_P_2, OP_EVAL_ARGS_P_2_MV, OP_EVAL_ARGS_P_3, OP_EVAL_ARGS_P_4, OP_EVAL_ARGS_P_3_MV,
+      OP_EVAL_ARGS_P_2, OP_EVAL_ARGS_P_2_MV, OP_EVAL_ARGS_P_3, OP_EVAL_ARGS_P_4, OP_EVAL_ARGS_P_3_MV, OP_EVAL_ARGS_P_4_MV,
       OP_EVAL_ARGS_AAP_1, OP_EVAL_ARGS_AAP_MV, OP_EVAL_MACRO_MV, OP_MACROEXPAND_1, OP_APPLY_LAMBDA,
       OP_SAFE_CLOSURE_P_1, OP_CLOSURE_P_1, OP_SAFE_CLOSURE_AP_1, OP_SAFE_CLOSURE_PA_1, 
       OP_SAFE_C_ZZ_1, OP_SAFE_C_ZA_1, OP_INCREMENT_SZ_1, OP_SAFE_C_SZ_SZ,
@@ -3276,7 +3282,7 @@ static const char *op_names[OP_MAX_DEFINED_1] = {
       "define_bacro", "define_bacro*",
       "get_output_string", "get_output_string_1",
       "sort", "sort1", "sort2", "sort3", "sort_pair_end", "sort_vector_end", "sort_string_end",
-      "eval_string_1", "eval_string_2",
+      "eval_string", 
       "member_if", "assoc_if", "member_if1", "assoc_if1",
 
       "quote_unchecked", "lambda_unchecked", "let_unchecked", "case_unchecked", "when_unchecked", "unless_unchecked",
@@ -3338,7 +3344,7 @@ static const char *op_names[OP_MAX_DEFINED_1] = {
       "do_no_vars", "do_no_vars_no_opt", "do_no_vars_no_opt_1",
 
       "safe_c_p_1", "safe_c_pp_1", "safe_c_pp_3", "safe_c_pp_5", "safe_c_pp_6",
-      "eval_args_p_2", "eval_args_p_2_mv", "eval_args_p_3", "eval_args_p_4", "eval_args_p_3_mv",
+      "eval_args_p_2", "eval_args_p_2_mv", "eval_args_p_3", "eval_args_p_4", "eval_args_p_3_mv", "eval_args_p_4_mv",
       "eval_args_aap_1", "eval_args_aap_mv", "eval_macro_mv", "macroexpand_1", "apply_lambda",
       "safe_closure_p_1", "closure_p_1", "safe_closure_ap_1", "safe_closure_pa_1", 
       "safe_c_zz_1", "safe_c_za_1", "increment_sz_1", "safe_c_sz_sz",
@@ -3503,10 +3509,11 @@ s7_pointer s7_method(s7_scheme *sc, s7_pointer obj, s7_pointer method)
 /* if a method is shadowing a built-in like abs, it should expect the same args as abs and
  *   behave the same -- no multiple values etc.
  */
-#define check_method(Sc, Obj, Method, Args)     \
-  {                                             \
+#define check_method(Sc, Obj, Method, Args)		\
+  {							\
     s7_pointer func; 	                        \
-    if ((has_methods(Obj)) && ((func = find_method(Sc, find_let(Sc, Obj), Method)) != Sc->undefined)) \
+    if ((has_methods(Obj)) &&				\
+	((func = find_method(Sc, find_let(Sc, Obj), Method)) != Sc->undefined)) \
       return(s7_apply_function(Sc, func, Args)); \
   }
 
@@ -3589,18 +3596,10 @@ static s7_pointer immutable_object_error(s7_scheme *sc, s7_pointer info) {return
   do {									\
     if (has_methods(Obj))						\
       return(find_and_apply_method(Sc, find_let(Sc, Obj), Method, Args)); \
+    if (type(Obj) != Type)						\
+      return(wrong_type_argument(Sc, Method, Num, Obj, Type));		\
     if (is_immutable(Obj))						\
       return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, Method, Obj))); \
-    return(wrong_type_argument(Sc, Method, Num, Obj, Type));		\
-  } while (0)
-
-#define mutable_method_or_bust_with_type(Sc, Obj, Method, Args, Type, Num)	\
-  do {									\
-    if (has_methods(Obj))						\
-      return(find_and_apply_method(Sc, find_let(Sc, Obj), Method, Args)); \
-    if (is_immutable(Obj))						\
-      return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, Method, Obj))); \
-    return(wrong_type_argument_with_type(Sc, Method, Num, Obj, Type));		\
   } while (0)
 
 #define method_or_bust_one_arg(Sc, Obj, Method, Args, Type)		\
@@ -3742,57 +3741,39 @@ static s7_pointer set_plist_3(s7_scheme *sc, s7_pointer x1, s7_pointer x2, s7_po
 } 
 
 
-
 /* -------------------------------- constants -------------------------------- */
 
-s7_pointer s7_f(s7_scheme *sc)
-{
-  return(sc->F);
-}
-
-
-s7_pointer s7_t(s7_scheme *sc)
-{
-  return(sc->T);
-}
-
-
-s7_pointer s7_nil(s7_scheme *sc)
-{
-  return(sc->nil);
-}
-
-
-bool s7_is_null(s7_scheme *sc, s7_pointer p)
-{
-  return(is_null(p));
-}
+/* #f and #t */
+s7_pointer s7_f(s7_scheme *sc) {return(sc->F);}
+s7_pointer s7_t(s7_scheme *sc) {return(sc->T);}
 
+/* () */
+s7_pointer s7_nil(s7_scheme *sc) {return(sc->nil);}
+bool s7_is_null(s7_scheme *sc, s7_pointer p) {return(is_null(p));}
 static bool is_null_b(s7_pointer p) {return(type(p) == T_NIL);}
 
+/* #<undefined> and #<unspecified> */
+s7_pointer s7_undefined(s7_scheme *sc) {return(sc->undefined);}
+s7_pointer s7_unspecified(s7_scheme *sc) {return(sc->unspecified);}
+bool s7_is_unspecified(s7_scheme *sc, s7_pointer val) {return(is_unspecified(val));}
 
-s7_pointer s7_undefined(s7_scheme *sc)
-{
-  return(sc->undefined);
-}
-
-
-s7_pointer s7_unspecified(s7_scheme *sc)
+static s7_pointer g_is_undefined(s7_scheme *sc, s7_pointer args)
 {
-  return(sc->unspecified);
+  #define H_is_undefined "(undefined? val) returns #t if val is #<undefined> or its reader equivalent"
+  #define Q_is_undefined pl_bt
+  check_boolean_method(sc, is_undefined, sc->is_undefined_symbol, args);
 }
 
-
-bool s7_is_unspecified(s7_scheme *sc, s7_pointer val)
+static s7_pointer g_is_unspecified(s7_scheme *sc, s7_pointer args)
 {
-  return(is_unspecified(val));
+  #define H_is_unspecified "(unspecified? val) returns #t if val is #<unspecified>"
+  #define Q_is_unspecified pl_bt
+  check_boolean_method(sc, is_unspecified, sc->is_unspecified_symbol, args);
 }
 
 
-s7_pointer s7_eof_object(s7_scheme *sc)          /* returns #<eof> -- not equivalent to "eof-object?" */
-{
-  return(sc->eof_object);
-}
+/* #<eof> */
+s7_pointer s7_eof_object(s7_scheme *sc) {return(sc->eof_object);}
 
 
 static s7_pointer g_not(s7_scheme *sc, s7_pointer args)
@@ -3875,7 +3856,6 @@ static s7_pointer g_is_immutable(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- GC -------------------------------- */
 
 /* in most code, pairs, lets, and slots dominate the heap -- each about 25% to 40% of the
@@ -3884,6 +3864,19 @@ static s7_pointer g_is_immutable(s7_scheme *sc, s7_pointer args)
  *   case) to manage them in the sweep process by tracking lets.  
  */
 
+#if DEBUGGING
+static uint32_t s7_gc_protect_2(s7_scheme *sc, s7_pointer x, int line)
+{
+  uint32_t loc;
+  loc = s7_gc_protect(sc, x);
+  sc->protected_lines[loc] = line;
+  return(loc);
+}
+#define s7_gc_protect_1(Sc, X) s7_gc_protect_2(Sc, X, __LINE__)
+#else
+#define s7_gc_protect_1(Sc, X) s7_gc_protect(Sc, X)
+#endif
+
 uint32_t s7_gc_protect(s7_scheme *sc, s7_pointer x)
 {
   uint32_t loc;
@@ -3897,6 +3890,22 @@ uint32_t s7_gc_protect(s7_scheme *sc, s7_pointer x)
       vector_length(sc->protected_objects) = new_size;
       sc->protected_objects_size = new_size;
       sc->gpofl = (uint32_t *)realloc(sc->gpofl, new_size * sizeof(uint32_t));
+#if DEBUGGING
+      sc->protected_lines = (int *)realloc(sc->protected_lines, new_size * sizeof(int));
+      for (i = size; i < new_size; i++) sc->protected_lines[i] = -1;
+      {
+	int *protected_count;
+	protected_count = (int *)calloc(85000, sizeof(int));
+	for (i = 0; i < size; i++)
+	  if ((sc->protected_lines[i] >= 0) &&
+	      (vector_element(sc->protected_objects, i) != sc->gc_nil))
+	    protected_count[sc->protected_lines[i]]++;
+	for (i = 0; i < 85000; i++)
+	  if (protected_count[i] > 0)
+	    fprintf(stderr, "line[%d]: %d\n", i, protected_count[i]);
+	free(protected_count);
+      }
+#endif
       for (i = size; i < new_size; i++)
 	{
 	  vector_element(sc->protected_objects, i) = sc->gc_nil;
@@ -3910,6 +3919,7 @@ uint32_t s7_gc_protect(s7_scheme *sc, s7_pointer x)
     fprintf(stderr, "sc->gpofl loc: %u (%d)\n", loc, sc->protected_objects_size);
   if (vector_element(sc->protected_objects, loc) != sc->gc_nil)
     fprintf(stderr, "protected object at %u about to be clobbered? %s\n", loc, DISPLAY(vector_element(sc->protected_objects, loc)));
+  sc->protected_lines[loc] = 1;
 #endif
   vector_element(sc->protected_objects, loc) = x;
   return(loc);
@@ -3918,7 +3928,6 @@ uint32_t s7_gc_protect(s7_scheme *sc, s7_pointer x)
 void s7_gc_unprotect(s7_scheme *sc, s7_pointer x)
 {
   uint32_t i;
-
   for (i = 0; i < sc->protected_objects_size; i++)
     if (vector_element(sc->protected_objects, i) == x)
       {
@@ -3928,7 +3937,6 @@ void s7_gc_unprotect(s7_scheme *sc, s7_pointer x)
       }
 }
 
-
 void s7_gc_unprotect_at(s7_scheme *sc, uint32_t loc)
 {
   if (loc < sc->protected_objects_size)
@@ -3939,7 +3947,6 @@ void s7_gc_unprotect_at(s7_scheme *sc, uint32_t loc)
     }
 }
 
-
 s7_pointer s7_gc_protected_at(s7_scheme *sc, uint32_t loc)
 {
   s7_pointer obj;
@@ -3947,7 +3954,6 @@ s7_pointer s7_gc_protected_at(s7_scheme *sc, uint32_t loc)
   obj = sc->unspecified;
   if (loc < sc->protected_objects_size)
     obj = vector_element(sc->protected_objects, loc);
-
   if (obj == sc->gc_nil)
     return(sc->unspecified);
 
@@ -3969,18 +3975,19 @@ static void mark_slot(s7_pointer p)
     S7_MARK(slot_setter(p));
 
   /* if (is_gensym(slot_symbol(p))) */ /* (let () (apply define (gensym) (list 32)) (gc) (gc) (curlet)) */
-    set_mark(slot_symbol(p));
+  set_mark(slot_symbol(p));
 }
 
 static void mark_symbol(s7_pointer p)
 {
   /* if (is_gensym(p)) */
-    set_mark(p);
+  set_mark(p);
 }
 
 static void mark_noop(s7_pointer p) {}
 
-/* ports can be alloc'd and freed at a frightening pace, so I think I'll make a special free_list for them. */
+
+/* ports can be alloc'd and freed at a blistering pace, so I think I'll make a special free-list for them. */
 
 static port_t *alloc_port(s7_scheme *sc)
 {
@@ -3994,15 +4001,12 @@ static port_t *alloc_port(s7_scheme *sc)
   return((port_t *)calloc(1, sizeof(port_t)));
 }
 
-
 static void free_port(s7_scheme *sc, port_t *p)
 {
   p->next = (void *)(sc->port_heap);
   sc->port_heap = p;
 }
 
-static void close_output_port(s7_scheme *sc, s7_pointer p);
-static void free_optlist(s7_scheme *sc, s7_pointer p);
 
 #define STRING_LISTS 256
 #define STRING_LIST_INIT_SIZE 2
@@ -4039,7 +4043,7 @@ static char *alloc_string(s7_scheme *sc, int32_t len)
   if ((len < STRING_LISTS) &&
       (sc->string_locs[len] > 0))
     return(sc->string_lists[len][--sc->string_locs[len]]);
-  return((char *)malloc((len + 1) * sizeof(char)));
+  return((char *)malloc((len + 2) * sizeof(char)));
 }
 
 static void string_to_free_list(s7_scheme *sc, char *value, int32_t len)
@@ -4062,6 +4066,8 @@ static void string_to_free_list(s7_scheme *sc, char *value, int32_t len)
     }
 }
 
+static void close_output_port(s7_scheme *sc, s7_pointer p);
+static void free_optlist(s7_scheme *sc, s7_pointer p);
 
 static void sweep(s7_scheme *sc)
 {
@@ -4129,6 +4135,19 @@ static void sweep(s7_scheme *sc)
       if (j == 0) mark_function[T_SYMBOL] = mark_noop;
     }
 
+  gp = sc->unknowns;
+  if (gp->loc > 0)
+    {
+      for (i = 0, j = 0; i < gp->loc; i++)
+	{
+	  s1 = gp->list[i];
+	  if (is_free_and_clear(s1))
+	    free(unknown_name(s1));
+	  else gp->list[j++] = s1;
+	}
+      gp->loc = j;
+    }
+
   gp = sc->c_objects;
   if (gp->loc > 0)
     {
@@ -4211,6 +4230,26 @@ static void sweep(s7_scheme *sc)
 	  s1 = gp->list[i];
 	  if (is_free_and_clear(s1))
 	    {
+	      if (!port_is_closed(s1))
+		{
+		  if (is_file_port(s1))
+		    {
+		      if (port_file(s1))
+			{
+			  fclose(port_file(s1));
+			  port_file(s1) = NULL;
+			}
+		    }
+		  else
+		    {
+		      if ((is_string_port(s1)) &&
+			  (port_needs_unprotect(s1)))
+			{
+			  s7_gc_unprotect_at(sc, port_gc_loc(s1));
+			  port_needs_unprotect(s1) = false;
+			}
+		    }
+		}
 	      if (port_needs_free(s1))
 		{
 		  if (port_data(s1))
@@ -4357,21 +4396,22 @@ static void add_gensym(s7_scheme *sc, s7_pointer p)
 }
 
 
-#define add_c_object(sc, p)     {add_to_gc_list(sc->c_objects, p);}
-#define add_optlist(sc, p)      {add_to_gc_list(sc->optlists, p);}
-#define add_hash_table(sc, p)   {add_to_gc_list(sc->hash_tables, p);}
-#define add_string(sc, p)       {add_to_gc_list(sc->strings, p);}
-#define add_string1(sc, p)      {add_to_gc_list(sc->strings1, p);}
-#define add_vector(sc, p)       {add_to_gc_list(sc->vectors, p);}
-#define add_input_port(sc, p)   {add_to_gc_list(sc->input_ports, p);}
-#define add_output_port(sc, p)  {add_to_gc_list(sc->output_ports, p);}
-#define add_continuation(sc, p) {add_to_gc_list(sc->continuations, p);}
+#define add_c_object(sc, p)     add_to_gc_list(sc->c_objects, p)
+#define add_optlist(sc, p)      add_to_gc_list(sc->optlists, p)
+#define add_hash_table(sc, p)   add_to_gc_list(sc->hash_tables, p)
+#define add_string(sc, p)       add_to_gc_list(sc->strings, p)
+#define add_string1(sc, p)      add_to_gc_list(sc->strings1, p)
+#define add_vector(sc, p)       add_to_gc_list(sc->vectors, p)
+#define add_input_port(sc, p)   add_to_gc_list(sc->input_ports, p)
+#define add_output_port(sc, p)  add_to_gc_list(sc->output_ports, p)
+#define add_continuation(sc, p) add_to_gc_list(sc->continuations, p)
+#define add_unknown(sc, p)      add_to_gc_list(sc->unknowns, p)
 
 #if WITH_GMP
-#define add_bigint(sc, p)    {add_to_gc_list(sc->bigints, p);}
-#define add_bigratio(sc, p)  {add_to_gc_list(sc->bigratios, p);}
-#define add_bigreal(sc, p)   {add_to_gc_list(sc->bigreals, p);}
-#define add_bignumber(sc, p) {add_to_gc_list(sc->bignumbers, p);}
+#define add_bigint(sc, p)       add_to_gc_list(sc->bigints, p)
+#define add_bigratio(sc, p)     add_to_gc_list(sc->bigratios, p)
+#define add_bigreal(sc, p)      add_to_gc_list(sc->bigreals, p)
+#define add_bignumber(sc, p)    add_to_gc_list(sc->bignumbers, p)
 #endif
 
 
@@ -4381,6 +4421,7 @@ static void init_gc_caches(s7_scheme *sc)
   sc->strings = make_gc_list();
   sc->strings1 = make_gc_list();
   sc->gensyms = make_gc_list();
+  sc->unknowns = make_gc_list();
   sc->vectors = make_gc_list();
   sc->hash_tables = make_gc_list();
   sc->input_ports = make_gc_list();
@@ -4465,7 +4506,6 @@ static void mark_let(s7_pointer env)
 
 static void mark_owlet(s7_scheme *sc)
 {
-  /* s7_pointer p; */
   /* sc->error_type and friends are slots in owlet */
   mark_slot(sc->error_type);
   slot_set_value(sc->error_data, sc->F);
@@ -4473,7 +4513,6 @@ static void mark_owlet(s7_scheme *sc)
   /* error_data is normally a permanent list with impermanent contents, so we have to traverse it explicitly
    *   mark_owlet is not called very often
    */
-  /* for (p = sc->error_data; is_pair(p); p = cdr(p)) S7_MARK(car(p)); */
   mark_slot(sc->error_code);
   /* can sc->code be garbage at EVAL: when sc->cur_code is set? or freed later by hand? */
   mark_slot(sc->error_line);
@@ -4696,7 +4735,7 @@ static void mark_input_port(s7_pointer p)
 static void init_mark_functions(void)
 {
   mark_function[T_FREE]                = mark_noop;
-  mark_function[T_UNDEFINED]           = mark_noop;
+  mark_function[T_UNDEFINED]           = just_mark;
   mark_function[T_EOF_OBJECT]          = mark_noop;
   mark_function[T_UNSPECIFIED]         = mark_noop;
   mark_function[T_NIL]                 = mark_noop;
@@ -4748,7 +4787,6 @@ static void init_mark_functions(void)
   mark_function[T_SLOT]                = mark_slot;
 }
 
-
 static void mark_op_stack(s7_scheme *sc)
 {
   s7_pointer *p, *tp;
@@ -4804,6 +4842,8 @@ static void unmark_permanent_objects(s7_scheme *sc)
 #if DEBUGGING
 static int32_t last_gc_line = 0;
 static const char *last_gc_func = NULL;
+static char *describe_type_bits(s7_scheme *sc, s7_pointer obj);
+static bool has_odd_bits(s7_scheme *sc, s7_pointer obj);
 #endif
 
 #define GC_STATS 1
@@ -4814,7 +4854,6 @@ static const char *last_gc_func = NULL;
 #define show_stack_stats(Sc) ((Sc->gc_stats & STACK_STATS) != 0)
 #define show_heap_stats(Sc) ((Sc->gc_stats & HEAP_STATS) != 0)
 
-
 static int32_t gc(s7_scheme *sc)
 {
   s7_cell **old_free_heap_top;
@@ -4829,6 +4868,8 @@ static int32_t gc(s7_scheme *sc)
         if (!is_free_and_clear(p))		\
           {								\
 	    p->debugger_bits = 0; p->gc_line = last_gc_line; p->gc_func = last_gc_func;	\
+	    if (has_odd_bits(sc, p)) \
+	      fprintf(stderr, "odd bits: %s\n", describe_type_bits(sc, p)); \
             clear_type(p);	\
             (*fp++) = p;\
           }}
@@ -5000,6 +5041,10 @@ static int32_t gc(s7_scheme *sc)
 	      {
 #if DEBUGGING
 		p->debugger_bits = 0;
+		p->gc_line = last_gc_line; 
+		p->gc_func = last_gc_func;
+		if (has_odd_bits(sc, p))
+		  fprintf(stderr, "odd bits: %s\n", describe_type_bits(sc, p));
 #endif
 		clear_type(p); /* (this is needed -- otherwise we try to free some objects twice) */
 		(*fp++) = p;
@@ -5099,31 +5144,9 @@ int64_t s7_gc_freed(s7_scheme *sc) {return(sc->gc_freed);}
    *   to check it repeatedly after the first such check.
    */
 #else
-/* DEBUGGING */
-static bool for_any_other_reason(s7_scheme *sc, int32_t line)
-{
-#if 0
-  static int32_t ctr = 0;
-  if ((sc->default_rng) &&
-      (!sc->gc_off) &&
-      (ctr > GC_TRIGGER_SIZE))
-    {
-      s7_double x;
-      x = next_random(sc->default_rng);
-      if (x > .999)
-	{
-	  ctr = 0;
-	  return(true);
-	}
-    }
-  ctr++;
-#endif
-  return(false);
-}
-
 #define new_cell(Sc, Obj, Type)			\
   do {						\
-    if ((Sc->free_heap_top <= Sc->free_heap_trigger) || (for_any_other_reason(Sc, __LINE__))) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc);} \
+    if (Sc->free_heap_top <= Sc->free_heap_trigger) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc);} \
     Obj = (*(--(Sc->free_heap_top))); \
     Obj->alloc_line = __LINE__; Obj->alloc_func = __func__; Obj->debugger_bits = 0;	\
     set_type(Obj, Type);	      \
@@ -5137,6 +5160,7 @@ static bool for_any_other_reason(s7_scheme *sc, int32_t line)
     } while (0)
 #endif
 
+/* static s7_pointer describe_memory_usage(s7_scheme *sc); */
 
 static void resize_heap_to(s7_scheme *sc, int64_t size)
 {
@@ -5192,7 +5216,16 @@ static void resize_heap_to(s7_scheme *sc, int64_t size)
 
   if (show_heap_stats(sc))
     {
-      fprintf(stderr, "heap grows to %" PRId64 "\n", sc->heap_size);
+      fprintf(stderr, "heap grows to %" PRId64 " (old free/size: %" PRId64 "/%" PRId64 ")\n", sc->heap_size, old_free, old_size);
+#if 0
+      {
+	s7_pointer old_out;
+	old_out = sc->output_port;
+	sc->output_port = sc->standard_error;
+	describe_memory_usage(sc);
+	sc->output_port = old_out;
+      }
+#endif
 #if DEBUGGING
       if (sc->heap_size > 50000000) /* maybe a max-heap-size? */
 	{
@@ -5313,7 +5346,6 @@ static void free_cell(s7_scheme *sc, s7_pointer p)
 
 static void free_vlist(s7_scheme *sc, s7_pointer lst)
 {
-  /* this is perhaps unsafe (testing...) */
   if (is_pair(lst))
     {
       s7_pointer p, np;
@@ -5442,7 +5474,6 @@ static void s7_remove_from_heap(s7_scheme *sc, s7_pointer x)
 }
 
 
-
 /* -------------------------------- stacks -------------------------------- */
 
 #define OP_STACK_INITIAL_SIZE 32
@@ -5660,22 +5691,15 @@ static void stack_reset(s7_scheme *sc)
   push_stack_op(sc, OP_BARRIER);
 }
 
-#if DEBUGGING
-#define resize_stack(Sc) resize_stack_1(Sc, __func__, __LINE__)
-static void resize_stack_1(s7_scheme *sc, const char *func, int line)
-#else
 static void resize_stack(s7_scheme *sc)
-#endif
 {
-  uint32_t i, new_size, loc;  /* int64_ts?? sc->stack_size also is an uint32_t */
+  uint64_t i, loc;
+  uint32_t new_size;
 
   loc = s7_stack_top(sc);
   new_size = sc->stack_size * 2;
 
-  /* how can we trap infinite recursion?  Is a warning in order here?
-   *   I think I'll add 'max-stack-size
-   *   size currently reaches 8192 in s7test
-   */
+  /* how can we trap infinite recursion?  Is a warning in order here? I think I'll add 'max-stack-size */
   if (new_size > sc->max_stack_size)
     s7_error(sc, s7_make_symbol(sc, "stack-too-big"), set_elist_1(sc, s7_make_string_wrapper(sc, "stack has grown past (*s7* 'max-stack-size)")));
 
@@ -5694,10 +5718,14 @@ static void resize_stack(s7_scheme *sc)
 
   if (show_stack_stats(sc))
     {
-#if DEBUGGING
-      fprintf(stderr, "%s[%d]: stack grows to %u, %s\n", func, line, new_size, DISPLAY_80(sc->code));
-#else
       fprintf(stderr, "stack grows to %u, %s\n", new_size, DISPLAY_80(sc->code));
+#if 0
+      for (i = 0; i < loc; i += 4)
+	{
+	  opcode_t op;
+	  op = (opcode_t)sc->stack_start[i + 3];
+	  fprintf(stderr, "  %s\n", op_names[op]);
+	}
 #endif
       s7_show_let(sc);
     }
@@ -5710,6 +5738,11 @@ static void resize_stack(s7_scheme *sc)
       resize_stack(Sc); \
     }
 
+s7_pointer s7_gc_protect_via_stack(s7_scheme *sc, s7_pointer x) 
+{
+  push_stack(sc, OP_GC_PROTECT, sc->args, sc->code); 
+  return(x);
+}
 
 
 /* -------------------------------- symbols -------------------------------- */
@@ -5755,7 +5788,7 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, uint32_t len, uint
   x = (s7_pointer)base;
   str = (s7_pointer)(base + sizeof(s7_cell));
   p = (s7_pointer)(base + 2 * sizeof(s7_cell));
-  val = (unsigned char *)(base + 3 * sizeof(s7_cell));
+  val = (unsigned char *)(base + 3 * sizeof(s7_cell) + sizeof(symbol_info_t));
   memcpy((void *)val, (void *)name, len);
   val[len] = '\0';
 
@@ -5770,7 +5803,7 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, uint32_t len, uint
   typeflag(x) = T_SYMBOL;
   symbol_set_name_cell(x, str);
   set_global_slot(x, sc->undefined);                       /* was sc->nil */
-  symbol_info(x) = (symbol_info_t *)(base + 3 * sizeof(s7_cell) + len + 1);
+  symbol_info(x) = (symbol_info_t *)(base + 3 * sizeof(s7_cell));
   set_initial_slot(x, sc->undefined);
   symbol_set_local(x, 0LL, sc->nil);
   symbol_set_tag(x, 0);
@@ -5794,7 +5827,7 @@ static s7_pointer new_symbol(s7_scheme *sc, const char *name, uint32_t len, uint
 	    {
 	      char *kstr;
 	      uint32_t klen;
-	      klen = symbol_name_length(x) - 1;           /* can't use tmpbuf_* here (or not safely I think) because name is already using tmpbuf */
+	      klen = symbol_name_length(x) - 1;            /* can't use tmpbuf_* here (or not safely I think) because name is already using tmpbuf */
 	      kstr = (char *)malloc((klen + 1) * sizeof(char));
 	      memcpy((void *)kstr, (void *)name, klen);
 	      kstr[klen] = 0;
@@ -6259,7 +6292,6 @@ static s7_pointer add_symbol_to_list(s7_scheme *sc, s7_pointer sym)
 #define symbol_is_in_list(Sc, Sym) (symbol_tag(Sym) == Sc->syms_tag)
 
 
-
 /* -------------------------------- environments -------------------------------- */
 
 #define new_frame(Sc, Old_Env, New_Env)		      \
@@ -6383,7 +6415,7 @@ static s7_pointer reuse_as_slot(s7_pointer slot, s7_pointer symbol, s7_pointer v
 #if DEBUGGING
   slot->debugger_bits = 0;
 #endif
-  set_type(slot, T_SLOT); /* debugger "unsets line_number" here can be ignored */
+  set_type(slot, T_SLOT);
   slot_set_symbol(slot, symbol);
   slot_set_value(slot, _NFre(value));
   return(slot);
@@ -6469,9 +6501,6 @@ static s7_pointer find_let(s7_scheme *sc, s7_pointer obj)
   if (is_let(obj)) return(obj);
   switch (type(obj))
     {
-    case T_LET:
-      return(obj);
-
     case T_MACRO:   case T_MACRO_STAR:
     case T_BACRO:   case T_BACRO_STAR:
     case T_CLOSURE: case T_CLOSURE_STAR:
@@ -6481,7 +6510,8 @@ static s7_pointer find_let(s7_scheme *sc, s7_pointer obj)
       return(c_object_let(obj));
 
     case T_C_POINTER:
-      if (is_let(raw_pointer_info(obj)))
+      if ((is_let(raw_pointer_info(obj))) &&
+	  (raw_pointer_info(obj) != sc->rootlet))
 	return(raw_pointer_info(obj));
     }
   return(sc->nil);
@@ -6627,7 +6657,7 @@ static void remove_let_from_heap(s7_scheme *sc, s7_pointer lt)
 	      
 	      len = hash_table_entries(val);
 	      iterator = s7_make_iterator(sc, val);
-	      gc_iter = s7_gc_protect(sc, iterator);
+	      gc_iter = s7_gc_protect_1(sc, iterator);
 	      p = cons(sc, sc->F, sc->F);
 	      iterator_current(iterator) = p;
 	      set_mark_seq(iterator);
@@ -6883,26 +6913,22 @@ static s7_pointer g_openlet(s7_scheme *sc, s7_pointer args)
 {
   #define H_openlet "(openlet e) tells the built-in generic functions that the let 'e might have an over-riding method."
   #define Q_openlet pcl_e
-  s7_pointer e;
+  s7_pointer e, elet, func;
 
   e = car(args);
-  check_method(sc, e, sc->openlet_symbol, args);
-
-  if (e == sc->rootlet)
+  elet = find_let(sc, e);
+  if ((elet == sc->rootlet) || (elet == sc->nil))
     s7_error(sc, sc->error_symbol, set_elist_1(sc, s7_make_string(sc, "can't openlet rootlet")));
-    
-  if ((is_let(e)) ||
-      (has_closure_let(e)) ||
-      ((is_c_object(e)) && (c_object_let(e) != sc->nil)) ||
-      ((is_c_pointer(e)) && (is_let(raw_pointer_info(e)))))
-    {
-      set_has_methods(e);
-      return(e);
-    }
+  if (!is_let(elet))
+    return(simple_wrong_type_argument_with_type(sc, sc->openlet_symbol, e, a_let_string));
 
-  return(simple_wrong_type_argument_with_type(sc, sc->openlet_symbol, e, a_let_string));
-}
+  if ((has_methods(e)) &&
+      ((func = find_method(sc, elet, sc->openlet_symbol)) != sc->undefined))
+    return(s7_apply_function(sc, func, args));
 
+  set_has_methods(e);
+  return(e);
+}
 
 
 /* -------------------------------- coverlet -------------------------------- */
@@ -6932,7 +6958,6 @@ static s7_pointer g_coverlet(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- varlet -------------------------------- */
 static void append_let(s7_scheme *sc, s7_pointer new_e, s7_pointer old_e)
 {
@@ -7207,7 +7232,7 @@ static s7_pointer sublet_1(s7_scheme *sc, s7_pointer e, s7_pointer bindings, s7_
 	    return(wrong_type_argument_with_type(sc, caller, position_of(x, bindings), sym, a_non_constant_symbol_string));
 	  if ((is_slot(global_slot(sym))) &&
 	      (is_syntax(slot_value(global_slot(sym)))))
-	    return(wrong_type_argument_with_type(sc, sc->sublet_symbol, 2, sym, s7_make_string_wrapper(sc, "a non-syntactic name")));
+	    return(wrong_type_argument_with_type(sc, caller, 2, sym, s7_make_string_wrapper(sc, "a non-syntactic name")));
 
 	  /* here we know new_e is a let and is not rootlet */
 	  make_slot_1(sc, new_e, sym, val);
@@ -7275,6 +7300,8 @@ static s7_pointer g_simple_inlet(s7_scheme *sc, s7_pointer args)
     {
       s7_pointer symbol, slot;
       symbol = car(x);
+      if (is_keyword(symbol))                 /* (inlet ':allow-other-keys 3) */
+	symbol = keyword_symbol(symbol);
       new_cell(sc, slot, T_SLOT);
       slot_set_symbol(slot, symbol);
       slot_set_value(slot, cadr(x));
@@ -7291,7 +7318,8 @@ static bool is_proper_quote(s7_scheme *sc, s7_pointer p)
 {
   return((is_pair(p)) &&
 	 (car(p) == sc->quote_symbol) &&
-	 (is_pair(cdr(p))));
+	 (is_pair(cdr(p))) &&
+	 (is_null(cddr(p))));
 }
 
 static s7_pointer inlet_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
@@ -7304,11 +7332,14 @@ static s7_pointer inlet_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_po
       for (p = cdr(expr); is_pair(p); p = cddr(p))
 	{
 	  s7_pointer sym;
-	  if (!is_proper_quote(sc, car(p)))
+	  if (!is_proper_quote(sc, car(p)))             /* 'abs etc, but tricky: ':abs */
 	    return(f);
 	  sym = cadar(p);
 	  if ((!is_symbol(sym)) ||
-	      (is_possibly_constant(sym)) ||
+	      (is_possibly_constant(sym)) ||            /* define-constant etc */
+	      (is_syntactic(sym))  ||                   /* (inlet 'if 3) */
+	      ((is_slot(global_slot(sym))) &&
+	       (is_syntactic(slot_value(global_slot(sym))))) ||
 	      (sym == sc->let_ref_fallback_symbol) ||
 	      (sym == sc->let_set_fallback_symbol))
 	    return(f);
@@ -7319,7 +7350,6 @@ static s7_pointer inlet_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_po
 }
 
 
-
 /* -------------------------------- let->list -------------------------------- */
 s7_pointer s7_let_to_list(s7_scheme *sc, s7_pointer env)
 {
@@ -7636,7 +7666,7 @@ static s7_pointer let_set_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7
 
   if (env == sc->rootlet)
     {
-      if (is_constant_symbol(sc, symbol))  /* (let-set! (rootlet) :rest #f) */
+      if (is_constant_symbol(sc, symbol))  /* (let-set! (rootlet) 'pi #f) */
 	return(wrong_type_argument_with_type(sc, sc->let_set_symbol, 2, symbol, a_non_constant_symbol_string));
       y = global_slot(symbol);
       if (is_slot(y))
@@ -7647,7 +7677,7 @@ static s7_pointer let_set_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7
 	  return(slot_value(y));
 	}
 
-      if (!err) err = s7_make_permanent_string("let-set! ~A is not defined in ~A");
+      if (!err) err = s7_make_permanent_string("let-set!: ~A is not defined in ~A");
       return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, err, symbol, env)));
     }
 
@@ -7666,6 +7696,8 @@ static s7_pointer let_set_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7
       if (has_let_set_fallback(env))
 	apply_known_method(sc, env, sc->let_set_fallback_symbol, sc->w = list_3(sc, env, symbol, value));
     }
+#if 0 
+  /* why this? (let-ref (inlet 'a 1) 'lambda) -> lambda, but surely (let-set! (inlet 'a 1) 'lambda #f) should not clobber lambda! */
   else
     {
       y = global_slot(symbol);
@@ -7677,8 +7709,9 @@ static s7_pointer let_set_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7
 	  return(slot_value(y));
 	}
     }
+#endif
 
-  if (!err) err = s7_make_permanent_string("let-set! ~A is not defined in ~A");
+  if (!err) err = s7_make_permanent_string("let-set!: ~A is not defined in ~A");
   return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, err, symbol, env)));
   /* not sure about this -- what's the most useful choice? */
 }
@@ -7755,7 +7788,7 @@ static s7_pointer g_lint_let_set_1(s7_scheme *sc, s7_pointer lt1, s7_pointer sym
 	  else slot_set_value(y, val);
 	  return(slot_value(y));
 	}
-      if (!err) err = s7_make_permanent_string("let-set! ~A is not defined in ~A");
+      if (!err) err = s7_make_permanent_string("let-set!: ~A is not defined in ~A");
       return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, err, sym, lt)));
     }
 
@@ -7785,7 +7818,7 @@ static s7_pointer g_lint_let_set_1(s7_scheme *sc, s7_pointer lt1, s7_pointer sym
 	  return(slot_value(y));
 	}
     }
-  if (!err) err = s7_make_permanent_string("let-set! ~A is not defined in ~A");
+  if (!err) err = s7_make_permanent_string("let-set!: ~A is not defined in ~A");
   return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_3(sc, err, sym, lt)));
 }
 
@@ -8010,7 +8043,6 @@ static s7_pointer g_set_outlet(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 static s7_pointer find_symbol(s7_scheme *sc, s7_pointer symbol)
 {
   s7_pointer x;
@@ -8639,7 +8671,6 @@ static bool is_defined_b_p(s7_pointer p)
 static bool is_defined_b_pp(s7_pointer p, s7_pointer e) {return(g_is_defined(cur_sc, set_plist_2(cur_sc, p, e)) != cur_sc->F);}
 
 
-
 void s7_define(s7_scheme *sc, s7_pointer envir, s7_pointer symbol, s7_pointer value)
 {
   s7_pointer x;
@@ -8774,7 +8805,7 @@ static s7_pointer g_string_to_keyword(s7_scheme *sc, s7_pointer args)
     method_or_bust_one_arg(sc, str, sc->string_to_keyword_symbol, args, T_STRING);
   if ((string_length(str) == 0) ||
       (string_value(str)[0] == '\0'))
-    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "a non-null string"), str)));
+    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "string->keyword wants a non-null string"), str)));
   return(s7_make_keyword(sc, string_value(str)));
 }
 
@@ -8874,16 +8905,21 @@ static s7_pointer g_c_pointer(s7_scheme *sc, s7_pointer args)
   #define H_c_pointer "(c-pointer int type info) returns a c-pointer object. The type and info args are optional, defaulting to #f."
   #define Q_c_pointer s7_make_signature(sc, 4, sc->is_c_pointer_symbol, sc->is_integer_symbol, sc->T, sc->T)
 
-  s7_pointer arg;
+  s7_pointer arg, type, info;
   intptr_t p;
 
+  type = sc->F;
+  info = sc->F;
   arg = car(args);
   if (!s7_is_integer(arg))
     method_or_bust(sc, arg, sc->c_pointer_symbol, list_1(sc, arg), T_INTEGER, 1);
   p = (intptr_t)s7_integer(arg);             /* (c-pointer (bignum "1234")) */
   if (is_pair(cdr(args)))
-    return(s7_make_c_pointer_with_type(sc, (void *)p, cadr(args), (is_pair(cddr(args))) ? caddr(args) : sc->F));
-  return(s7_make_c_pointer_with_type(sc, (void *)p, sc->F, sc->F));
+    {
+      type = cadr(args);
+      if (is_pair(cddr(args))) info = caddr(args);
+    }
+  return(s7_make_c_pointer_with_type(sc, (void *)p, type, info));
 }
 
 
@@ -8980,7 +9016,6 @@ static s7_pointer copy_counter(s7_scheme *sc, s7_pointer obj)
   return(nobj);
 }
 
-
 static s7_pointer copy_stack(s7_scheme *sc, s7_pointer old_v, int64_t top)
 {
   #define CC_INITIAL_STACK_SIZE 256 /* 128 is too small here */
@@ -9082,8 +9117,7 @@ static s7_pointer make_baffle(s7_scheme *sc)
 
 static bool find_baffle(s7_scheme *sc, int32_t key)
 {
-  /* search backwards through sc->envir for sc->baffle_symbol with key as value
-   */
+  /* search backwards through sc->envir for sc->baffle_symbol with key as value */
   s7_pointer x, y;
   for (x = sc->envir; is_let(x); x = outlet(x))
     for (y = let_slots(x); is_slot(y); y = next_slot(y))
@@ -9098,11 +9132,9 @@ static bool find_baffle(s7_scheme *sc, int32_t key)
   return(false);
 }
 
-
 static int32_t find_any_baffle(s7_scheme *sc)
 {
-  /* search backwards through sc->envir for any sc->baffle_symbol
-   */
+  /* search backwards through sc->envir for any sc->baffle_symbol */
   if (sc->baffle_ctr > 0)
     {
       s7_pointer x, y;
@@ -9152,9 +9184,9 @@ static void let_temp_done(s7_scheme *sc, s7_pointer args, s7_pointer code)
   eval(sc, OP_LET_TEMP_DONE);
 }
 
-
 static bool check_for_dynamic_winds(s7_scheme *sc, s7_pointer c)
 {
+  /* called only from call_with_current_continuation */
   int64_t i, s_base = 0, c_base = -1;
   opcode_t op;
 
@@ -9260,12 +9292,11 @@ static bool call_with_current_continuation(s7_scheme *sc)
   if ((continuation_key(c) >= 0) &&
       (!(find_baffle(sc, continuation_key(c))))) /* should this raise an error? */
     return(false);
-
+  
   if (!check_for_dynamic_winds(sc, c)) /* if OP_BARRIER on stack deeper than continuation top(?), but can this happen? (it doesn't in s7test) */
     return(true);
 
-  /* we push_stack sc->code before calling an embedded eval above, so sc->code should still be c here, etc
-   */
+  /* we push_stack sc->code before calling an embedded eval above, so sc->code should still be c here, etc */
   sc->stack = copy_stack(sc, continuation_stack(c), continuation_stack_top(c));
   sc->stack_size = continuation_stack_size(c);
   sc->stack_start = vector_elements(sc->stack);
@@ -9293,6 +9324,34 @@ static bool call_with_current_continuation(s7_scheme *sc)
   return(true);
 }
 
+static s7_pointer g_call_cc(s7_scheme *sc, s7_pointer args)
+{
+  #define H_call_cc "(call-with-current-continuation (lambda (continuer)...)) is always a mistake!"
+  #define Q_call_cc s7_make_signature(sc, 2, sc->values_symbol, sc->is_procedure_symbol)
+  /* I think the intent is that sc->values_symbol as the proc-sig return type indicates multiple values are possible (otherwise use #t). */
+
+  s7_pointer p;
+  p = car(args);                             /* this is the procedure passed to call/cc */
+  if (!is_t_procedure(p))                    /* this includes continuations */
+    {
+      check_two_methods(sc, p, sc->call_cc_symbol, sc->call_with_current_continuation_symbol, args);
+      return(simple_wrong_type_argument_with_type(sc, sc->call_cc_symbol, p, a_procedure_string));
+    }
+  if (!s7_is_aritable(sc, p, 1))
+    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "call/cc procedure, ~A, should take one argument"), p)));
+
+  sc->w = s7_make_continuation(sc);
+  push_stack(sc, OP_APPLY, list_1(sc, sc->w), p);
+  sc->w = sc->nil;
+
+  return(sc->nil);
+}
+
+/* we can't naively optimize call/cc to call-with-exit if the continuation is only
+ *   used as a function in the call/cc body because it might (for example) be wrapped
+ *   in a lambda form that is being exported.  See b-func in s7test for an example.
+ */
+
 
 static void call_with_exit(s7_scheme *sc)
 {
@@ -9336,7 +9395,7 @@ static void call_with_exit(s7_scheme *sc)
 	  }
 	  break;
 
-	case OP_EVAL_STRING_2:
+	case OP_EVAL_STRING:
 	  s7_close_input_port(sc, sc->input_port);
 	  pop_input_port(sc);
 	  break;
@@ -9359,8 +9418,8 @@ static void call_with_exit(s7_scheme *sc)
 	    s7_pointer x;
 	    x = stack_code(sc->stack, i);                /* "code" = port that we opened */
 	    s7_close_output_port(sc, x);
-	    x = stack_args(sc->stack, i);                /* "args" = port that we shadowed, if not #f */
-	    if (x != sc->F)
+	    x = stack_args(sc->stack, i);                /* "args" = port that we shadowed, if not #<gc-nil> */
+	    if (x != sc->gc_nil)
 	      sc->output_port = x;
 	  }
 	  break;
@@ -9403,39 +9462,9 @@ static void call_with_exit(s7_scheme *sc)
     }
 }
 
-
-static s7_pointer g_call_cc(s7_scheme *sc, s7_pointer args)
-{
-  #define H_call_cc "(call-with-current-continuation func) is always a mistake!"
-  #define Q_call_cc s7_make_signature(sc, 2, sc->values_symbol, sc->is_procedure_symbol)
-  /* I think the intent is that sc->values_symbol as the proc-sig return type indicates multiple values are possible (otherwise use #t). */
-
-  s7_pointer p;
-  p = car(args);                             /* this is the procedure passed to call/cc */
-  if (!is_t_procedure(p))                    /* this includes continuations */
-    {
-      check_two_methods(sc, p, sc->call_cc_symbol, sc->call_with_current_continuation_symbol, args);
-      return(simple_wrong_type_argument_with_type(sc, sc->call_cc_symbol, p, a_procedure_string));
-    }
-  if (!s7_is_aritable(sc, p, 1))
-    return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "call/cc procedure, ~A, should take one argument"), p)));
-
-  sc->w = s7_make_continuation(sc);
-  push_stack(sc, OP_APPLY, list_1(sc, sc->w), p);
-  sc->w = sc->nil;
-
-  return(sc->nil);
-}
-
-/* we can't naively optimize call/cc to call-with-exit if the continuation is only
- *   used as a function in the call/cc body because it might (for example) be wrapped
- *   in a lambda form that is being exported.  See b-func in s7test for an example.
- */
-
-
 static s7_pointer g_call_with_exit(s7_scheme *sc, s7_pointer args)
 {
-  #define H_call_with_exit "(call-with-exit func) is call/cc without the ability to jump back into a previous computation."
+  #define H_call_with_exit "(call-with-exit (lambda (exiter) ...)) is call/cc without the ability to jump back into a previous computation."
   #define Q_call_with_exit s7_make_signature(sc, 2, sc->values_symbol, sc->is_procedure_symbol)
 
   s7_pointer p, x;
@@ -9463,14 +9492,12 @@ static s7_pointer g_call_with_exit(s7_scheme *sc, s7_pointer args)
    *   deactivates itself.  Otherwise the block returns, we pop to OP_DEACTIVATE_GOTO,
    *   and it finds the goto in sc->args.
    * Even worse:
-   *
        (let ((cc #f))
          (call-with-exit
            (lambda (c3)
              (call/cc (lambda (ret) (set! cc ret)))
              (c3)))
          (cc))
-   *
    * where we jump back into a call-with-exit body via call/cc, the goto has to be
    * re-established.
    *
@@ -9481,7 +9508,6 @@ static s7_pointer g_call_with_exit(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- numbers -------------------------------- */
 
 #if WITH_GMP
@@ -10981,7 +11007,6 @@ static s7_pointer g_number_to_string_temp(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 #define CTABLE_SIZE 256
 static bool *exponent_table, *slashify_table, *char_ok_in_a_name, *white_space, *number_table, *symbol_slashify_table;
 static int32_t *digits;
@@ -11182,6 +11207,24 @@ static bool is_abnormal(s7_pointer x)
     }
 }
 
+static s7_pointer make_unknown(s7_scheme *sc, const char* name)
+{
+  s7_pointer p;
+  char *newstr;
+  int32_t len;
+  new_cell(sc, p, T_UNDEFINED | T_IMMUTABLE);
+  len = safe_strlen(name);
+  newstr = (char *)malloc((len + 2) * sizeof(char));
+  newstr[0] = '#';
+  if (len > 0)
+    memcpy((void *)(newstr + 1), (void *)name, len);
+  newstr[len + 1] = '\0';
+  unique_name_length(p) = len + 1;
+  unknown_name(p) = newstr;
+  add_unknown(sc, p);
+  return(p);
+}
+
 static s7_pointer unknown_sharp_constant(s7_scheme *sc, char *name)
 {
   /* check *read-error-hook* */
@@ -11192,7 +11235,8 @@ static s7_pointer unknown_sharp_constant(s7_scheme *sc, char *name)
       if (result != sc->unspecified)
 	return(result);
     }
-  return(sc->nil);
+  /* old: return(sc->nil); */
+  return(make_unknown(sc, name));
 }
 
 #define SYMBOL_OK true
@@ -11259,7 +11303,12 @@ static s7_pointer make_sharp_constant(s7_scheme *sc, char *name, int32_t radix,
 	sym = make_symbol(sc, (char *)(name + 1));
 	if ((symbol_info(sym)) && (is_slot(initial_slot(sym))))
 	  return(slot_value(initial_slot(sym)));
-	return(s7_error(sc, sc->syntax_error_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "#~A is undefined"), s7_make_string_wrapper(sc, name))));
+
+	/* here we should not necessarily raise an error that *_... is undefined.  reader-cond, for example, needs to
+	 *    read undefined #_ vals that it will eventually discard. 
+	 * old: return(s7_error(sc, sc->syntax_error_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "#~A is undefined"), s7_make_string_wrapper(sc, name))));
+	 */
+	return(make_unknown(sc, name));    /* (define x (with-input-from-string "(#_asdf 1 2)" read)) (type-of (car x)) -> undefined? */
       }
 
 
@@ -12865,7 +12914,6 @@ static s7_pointer g_log(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- sin -------------------------------- */
 static s7_pointer g_sin(s7_scheme *sc, s7_pointer args)
 {
@@ -13792,7 +13840,6 @@ static s7_pointer g_lcm(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- gcd -------------------------------- */
 static s7_pointer g_gcd(s7_scheme *sc, s7_pointer args)
 {
@@ -13842,7 +13889,6 @@ static s7_pointer g_gcd(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 static s7_pointer s7_truncate(s7_scheme *sc, s7_pointer caller, s7_double xf)   /* can't use "truncate" -- it's in unistd.h */
 {
   if ((xf > s7_int_max) ||
@@ -14808,7 +14854,6 @@ static int32_t reduce_fraction(s7_scheme *sc, s7_int *numer, s7_int *denom)
 }
 
 
-
 /* ---------------------------------------- add ---------------------------------------- */
 
 static s7_pointer g_add(s7_scheme *sc, s7_pointer args)
@@ -17068,7 +17113,6 @@ static s7_double divide_d_dddd(s7_double x1, s7_double x2, s7_double x3, s7_doub
 static s7_pointer divide_p_ii(s7_int x, s7_int y) {return(s7_make_ratio(cur_sc, x, y));} /* make-ratio checks for y==0 */
 
 
-
 /* ---------------------------------------- max/min ---------------------------------------- */
 
 static bool is_real_via_method_1(s7_scheme *sc, s7_pointer p)
@@ -17680,7 +17724,6 @@ static s7_pointer g_equal_length_ic(s7_scheme *sc, s7_pointer args)
     case T_NIL:          return(make_boolean(sc, ilen == 0));
     case T_STRING:       return(make_boolean(sc, string_length(val) == ilen));
     case T_HASH_TABLE:   return(make_boolean(sc, (hash_table_mask(val) + 1) == ilen));
-    case T_ITERATOR:     return(make_boolean(sc, iterator_length(val) == ilen));
     case T_C_OBJECT:     return(make_boolean(sc, c_object_length_to_int(sc, val) == ilen));
     case T_LET:          return(make_boolean(sc, let_length(sc, val) == ilen));
     case T_INT_VECTOR:
@@ -17688,7 +17731,14 @@ static s7_pointer g_equal_length_ic(s7_scheme *sc, s7_pointer args)
     case T_VECTOR:       return(make_boolean(sc, vector_length(val) == ilen));
     case T_CLOSURE:
     case T_CLOSURE_STAR: if (has_methods(val)) return(make_boolean(sc, closure_length(sc, val) == ilen));
-    default:             return(simple_wrong_type_argument_with_type(sc, sc->length_symbol, val, a_sequence_string));
+    case T_ITERATOR:
+      {
+	s7_pointer len;
+	len = s7_length(sc, iterator_sequence(val));
+	return(make_boolean(sc, (is_integer(len)) && (integer(len) == ilen)));
+      }
+    default:             
+      return(simple_wrong_type_argument_with_type(sc, sc->length_symbol, val, a_sequence_string));
       /* here we already lost because we checked for the length above */
     }
   return(sc->F);
@@ -18583,7 +18633,6 @@ static s7_pointer g_less_length_ic(s7_scheme *sc, s7_pointer args)
     case T_NIL:          return(make_boolean(sc, ilen > 0));
     case T_STRING:       return(make_boolean(sc, string_length(val) < ilen));
     case T_HASH_TABLE:   return(make_boolean(sc, (hash_table_mask(val) + 1) < ilen)); /* was <=? -- changed 15-Dec-15, then again 6-Jan-17: mask is len-1 */
-    case T_ITERATOR:     return(make_boolean(sc, iterator_length(val) < ilen));
     case T_C_OBJECT:     return(make_boolean(sc, c_object_length_to_int(sc, val) < ilen));
     case T_LET:          return(make_boolean(sc, let_length(sc, val) < ilen));  /* this works because let_length handles the length method itself! */
     case T_INT_VECTOR:
@@ -18591,7 +18640,14 @@ static s7_pointer g_less_length_ic(s7_scheme *sc, s7_pointer args)
     case T_VECTOR:       return(make_boolean(sc, vector_length(val) < ilen));
     case T_CLOSURE:
     case T_CLOSURE_STAR: if (has_methods(val)) return(make_boolean(sc, closure_length(sc, val) < ilen));
-    default:             return(simple_wrong_type_argument_with_type(sc, sc->length_symbol, val, a_sequence_string)); /* no check method here because we checked above */
+    case T_ITERATOR:
+      {
+	s7_pointer len;
+	len = s7_length(sc, iterator_sequence(val));
+	return(make_boolean(sc, (is_integer(len)) && (integer(len) < ilen)));
+      }
+    default:             
+      return(simple_wrong_type_argument_with_type(sc, sc->length_symbol, val, a_sequence_string)); /* no check method here because we checked above */
     }
   return(sc->F);
 }
@@ -19506,7 +19562,6 @@ static bool is_odd_b(s7_pointer p)
 static bool is_odd_i(s7_int i1) {return((i1 & 1) == 1);}
 
 
-
 /* ---------------------------------------- zero? ---------------------------------------- */
 
 static s7_pointer g_is_zero(s7_scheme *sc, s7_pointer args)
@@ -19653,7 +19708,8 @@ s7_pointer s7_make_ulong_long(s7_scheme *sc, uint64_t n)
 static s7_pointer g_exact_to_inexact(s7_scheme *sc, s7_pointer args)
 {
   #define H_exact_to_inexact "(exact->inexact num) converts num to an inexact number; (exact->inexact 3/2) = 1.5"
-  #define Q_exact_to_inexact pcl_r
+  #define Q_exact_to_inexact s7_make_signature(sc, 2, sc->is_number_symbol, sc->is_number_symbol)
+  /* arg can be complex -> itself! */
   return(exact_to_inexact(sc, car(args)));
 }
 
@@ -20327,7 +20383,6 @@ static s7_pointer random_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_p
 #endif /* gmp */
 
 
-
 /* -------------------------------- characters -------------------------------- */
 
 #define NUM_CHARS 256
@@ -20419,7 +20474,12 @@ static s7_pointer g_is_char_alphabetic(s7_scheme *sc, s7_pointer args)
   /* isalpha returns #t for (integer->char 226) and others in that range */
 }
 
-static bool is_char_alphabetic_b(s7_pointer c) {return((s7_is_character(c)) && (is_char_alphabetic(c)));}
+static bool is_char_alphabetic_b(s7_pointer c) 
+{
+  if (!s7_is_character(c))
+    simple_wrong_type_argument(cur_sc, cur_sc->is_char_alphabetic_symbol, c, T_CHARACTER);
+  return(is_char_alphabetic(c));
+}
 static bool is_char_alphabetic_c(s7_pointer c) {return(is_char_alphabetic(c));}
 
 
@@ -20435,7 +20495,12 @@ static s7_pointer g_is_char_numeric(s7_scheme *sc, s7_pointer args)
   return(make_boolean(sc, is_char_numeric(arg)));
 }
 
-static bool is_char_numeric_b(s7_pointer c) {return((s7_is_character(c)) && (is_char_numeric(c)));}
+static bool is_char_numeric_b(s7_pointer c) 
+{
+  if (!s7_is_character(c))
+    simple_wrong_type_argument(cur_sc, cur_sc->is_char_numeric_symbol, c, T_CHARACTER);
+  return(is_char_numeric(c));
+}
 static bool is_char_numeric_c(s7_pointer c) {return(is_char_numeric(c));}
 
 
@@ -20451,7 +20516,12 @@ static s7_pointer g_is_char_whitespace(s7_scheme *sc, s7_pointer args)
   return(make_boolean(sc, is_char_whitespace(arg)));
 }
 
-static bool is_char_whitespace_b(s7_pointer c) {return((s7_is_character(c)) && (is_char_whitespace(c)));}
+static bool is_char_whitespace_b(s7_pointer c) 
+{
+  if (!s7_is_character(c))
+    simple_wrong_type_argument(cur_sc, cur_sc->is_char_whitespace_symbol, c, T_CHARACTER);
+  return(is_char_whitespace(c));
+}
 static bool is_char_whitespace_c(s7_pointer c) {return(is_char_whitespace(c));}
 
 
@@ -20510,13 +20580,11 @@ s7_pointer s7_make_character(s7_scheme *sc, uint32_t c)
   return(chars[c]);
 }
 
-
 bool s7_is_character(s7_pointer p)
 {
   return(type(p) == T_CHARACTER);
 }
 
-
 char s7_character(s7_pointer p)
 {
   return(character(p));
@@ -20886,7 +20954,6 @@ static bool char_ci_eq_b(s7_pointer p1, s7_pointer p2)
 #endif /* not pure s7 */
 
 
-
 static s7_pointer g_char_position(s7_scheme *sc, s7_pointer args)
 {
   #define H_char_position "(char-position char-or-str str (start 0)) returns the position of the first occurrence of char in str, or #f"
@@ -21068,6 +21135,7 @@ s7_pointer s7_make_string_with_length(s7_scheme *sc, const char *str, int32_t le
   if (len != 0)                                  /* memcpy can segfault if string_value(x) is NULL */
     memcpy((void *)string_value(x), (void *)str, len);
   string_value(x)[len] = 0;
+  string_value(x)[len + 1] = 0;
   string_length(x) = len;
   string_hash(x) = 0;
   string_needs_free(x) = true;
@@ -21092,7 +21160,7 @@ static s7_pointer make_string_uncopied_with_length(s7_scheme *sc, char *str, int
 static s7_pointer make_string_wrapper_with_length(s7_scheme *sc, const char *str, int32_t len)
 {
   s7_pointer x;
-  new_cell(sc, x, T_STRING | T_IMMUTABLE | T_SAFE_PROCEDURE);
+  new_cell(sc, x, (len > 0) ? (T_STRING | T_IMMUTABLE | T_SAFE_PROCEDURE) : T_STRING);
   string_value(x) = (char *)str;
   string_length(x) = len;
   string_hash(x) = 0;
@@ -21111,10 +21179,11 @@ static s7_pointer make_empty_string(s7_scheme *sc, int32_t len, char fill)
 {
   s7_pointer x;
   new_cell(sc, x, T_STRING);
-  string_value(x) = alloc_string(sc, len);
-  if (fill != 0)
+  string_value(x) = alloc_string(sc, len); /* returns char* of len+2 -- terminated_string_read_white_space needs the second #\null */
+  if ((fill != 0) && (len > 0))
     memset((void *)(string_value(x)), fill, len);
   string_value(x)[len] = 0;
+  string_value(x)[len + 1] = 0;
   string_hash(x) = 0;
   string_length(x) = len;
   string_needs_free(x) = true;
@@ -21491,7 +21560,6 @@ static s7_pointer string_set_p_pip_direct(s7_pointer p1, s7_int i1, s7_pointer p
 static s7_pointer string_set_unchecked(s7_pointer p1, s7_int i1, s7_pointer p2) {string_value(p1)[i1] = s7_character(p2); return(p2);}
 
 
-
 /* ---------------- byte-vectors ---------------- */
 
 static s7_pointer g_byte_vector_ref(s7_scheme *sc, s7_pointer args)
@@ -21542,7 +21610,13 @@ static s7_pointer g_byte_vector_set(s7_scheme *sc, s7_pointer args)
   s7_pointer v;
   v = car(args);
   if (!is_mutable_byte_vector(v))
-    mutable_method_or_bust_with_type(sc, v, sc->byte_vector_set_symbol, args, a_byte_vector_string, 1);
+    {
+      if (has_methods(v))
+	return(find_and_apply_method(sc, find_let(sc, v), sc->byte_vector_set_symbol, args));
+      if (!is_byte_vector(v))
+	simple_wrong_type_argument_with_type(sc, sc->byte_vector_set_symbol, v, a_byte_vector_string);
+      return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->byte_vector_set_symbol, v)));
+    }
   return(g_string_set_2(sc, v, args, sc->byte_vector_set_symbol));
 }
 
@@ -21589,7 +21663,6 @@ static s7_pointer byte_vector_set_p_pip_direct(s7_pointer p1, s7_int i1, s7_poin
 }
 
 
-
 /* -------------------------------- string-append -------------------------------- */
 static s7_pointer g_string_append_1(s7_scheme *sc, s7_pointer args, bool use_temp)
 {
@@ -21692,14 +21765,6 @@ static s7_pointer start_and_end(s7_scheme *sc, s7_pointer caller, s7_pointer fal
   s7_pointer pstart, pend, p;
   s7_int index;
 
-#if DEBUGGING
-  if (is_null(start_and_end_args))
-    {
-      fprintf(stderr, "start_and_end_args is null\n");
-      return(sc->gc_nil);
-    }
-#endif
-
   pstart = car(start_and_end_args);
   if (!s7_is_integer(pstart))
     {
@@ -22455,6 +22520,9 @@ static s7_pointer g_string_to_list(s7_scheme *sc, s7_pointer args)
     {
       if (end == 0) return(sc->nil);
     }
+  if ((end - start) > sc->max_list_length)
+    return(out_of_range(sc, sc->string_to_list_symbol, small_int(1), car(args), its_too_large_string));
+
   if ((start == 0) && (end == string_length(str)))
     return(s7_string_to_list(sc, string_value(str), string_length(str)));
 
@@ -22505,7 +22573,8 @@ static s7_pointer g_make_byte_vector(s7_scheme *sc, s7_pointer args)
   if (is_null(cdr(args)))
     {
       str = g_make_string(sc, args);
-      if (is_string(str))
+      if ((is_string(str)) &&
+	  (string_length(str) > 0))
 	memclr((void *)(string_value(str)), string_length(str));
     }
   else
@@ -22580,6 +22649,7 @@ static s7_pointer byte_vector_to_list(s7_scheme *sc, const char *str, int32_t le
   int32_t i;
   s7_pointer p;
   if (len == 0) return(sc->nil);
+  /* like s7_string_to_list, so no max list length check? */
   sc->w = sc->nil;
   for (i = len - 1; i >= 0; i--)
     sc->w = cons(sc, small_int((uint32_t)((unsigned char)(str[i]))), sc->w); /* extra cast is not redundant! */
@@ -22589,16 +22659,7 @@ static s7_pointer byte_vector_to_list(s7_scheme *sc, const char *str, int32_t le
 }
 
 
-
-/* -------------------------------- ports --------------------------------
- *
- * originally nil served as stdin and friends, but that made it impossible to catch an error
- *   like (read-line (current-output-port)) when the latter was stdout.  So we now have
- *   the built-in constant ports *stdin*, *stdout*, and *stderr*.  Some way is needed to
- *   refer to these directly so that (read-line *stdin*) for example can insist on reading
- *   from the terminal, or whatever stdin is.
- */
-
+/* -------------------------------- ports -------------------------------- */
 static s7_pointer g_is_port_closed(s7_scheme *sc, s7_pointer args)
 {
   #define H_is_port_closed "(port-closed? p) returns #t if the port p is closed."
@@ -22608,6 +22669,7 @@ static s7_pointer g_is_port_closed(s7_scheme *sc, s7_pointer args)
   x = car(args);
   if ((is_input_port(x)) || (is_output_port(x)))
     return(make_boolean(sc, port_is_closed(x)));
+  /* if (x == sc->F) return(sc->F); */ /* not sure about this -- current-output-port can be #f */
 
   method_or_bust_with_type_one_arg(sc, x, sc->is_port_closed_symbol, args, s7_make_string_wrapper(sc, "a port"));
 }
@@ -22631,11 +22693,8 @@ static s7_pointer c_port_line_number(s7_scheme *sc, s7_pointer x)
 static s7_pointer g_port_line_number(s7_scheme *sc, s7_pointer args)
 {
   #define H_port_line_number "(port-line-number input-file-port) returns the current read line number of port"
-  #define Q_port_line_number s7_make_signature(sc, 2, sc->is_integer_symbol, s7_make_signature(sc, 2, sc->is_input_port_symbol, sc->is_null_symbol))
-
-  if ((is_null(args)) || (is_null(car(args))))
-    return(c_port_line_number(sc, sc->input_port));
-  return(c_port_line_number(sc, car(args)));
+  #define Q_port_line_number s7_make_signature(sc, 2, sc->is_integer_symbol, sc->is_input_port_symbol)
+  return(c_port_line_number(sc, (is_null(args)) ? sc->input_port : car(args)));
 }
 
 int32_t s7_port_line_number(s7_pointer p)
@@ -22700,21 +22759,13 @@ static s7_pointer g_port_filename(s7_scheme *sc, s7_pointer args)
 {
   #define H_port_filename "(port-filename file-port) returns the filename associated with port"
   #define Q_port_filename s7_make_signature(sc, 2, sc->is_string_symbol, s7_make_signature(sc, 2, sc->is_input_port_symbol, sc->is_output_port_symbol))
-
-  if (is_null(args))
-    return(c_port_filename(sc, sc->input_port));
-  return(c_port_filename(sc, car(args)));
+  return(c_port_filename(sc, (is_null(args)) ? sc->input_port : car(args)));
 }
 
 
-bool s7_is_input_port(s7_scheme *sc, s7_pointer p)
-{
-  return(is_input_port(p));
-}
-
+bool s7_is_input_port(s7_scheme *sc, s7_pointer p) {return(is_input_port(p));}
 static bool is_input_port_b(s7_pointer p) {return(is_input_port(p));}
 
-
 static s7_pointer g_is_input_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_is_input_port "(input-port? p) returns #t if p is an input port"
@@ -22723,14 +22774,9 @@ static s7_pointer g_is_input_port(s7_scheme *sc, s7_pointer args)
 }
 
 
-bool s7_is_output_port(s7_scheme *sc, s7_pointer p)
-{
-  return(is_output_port(p));
-}
-
+bool s7_is_output_port(s7_scheme *sc, s7_pointer p) {return(is_output_port(p));}
 static bool is_output_port_b(s7_pointer p) {return(is_output_port(p));}
 
-
 static s7_pointer g_is_output_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_is_output_port "(output-port? p) returns #t if p is an output port"
@@ -22739,11 +22785,7 @@ static s7_pointer g_is_output_port(s7_scheme *sc, s7_pointer args)
 }
 
 
-s7_pointer s7_current_input_port(s7_scheme *sc)
-{
-  return(sc->input_port);
-}
-
+s7_pointer s7_current_input_port(s7_scheme *sc) {return(sc->input_port);}
 
 static s7_pointer g_current_input_port(s7_scheme *sc, s7_pointer args)
 {
@@ -22752,7 +22794,6 @@ static s7_pointer g_current_input_port(s7_scheme *sc, s7_pointer args)
   return(sc->input_port);
 }
 
-#if (!WITH_PURE_S7)
 static s7_pointer g_set_current_input_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_set_current_input_port "(set-current-input-port port) sets the current-input port to port and returns the previous value of the input port"
@@ -22771,7 +22812,6 @@ static s7_pointer g_set_current_input_port(s7_scheme *sc, s7_pointer args)
     }
   return(old_port);
 }
-#endif
 
 s7_pointer s7_set_current_input_port(s7_scheme *sc, s7_pointer port)
 {
@@ -22782,11 +22822,7 @@ s7_pointer s7_set_current_input_port(s7_scheme *sc, s7_pointer port)
 }
 
 
-s7_pointer s7_current_output_port(s7_scheme *sc)
-{
-  return(sc->output_port);
-}
-
+s7_pointer s7_current_output_port(s7_scheme *sc) {return(sc->output_port);}
 
 s7_pointer s7_set_current_output_port(s7_scheme *sc, s7_pointer port)
 {
@@ -22804,7 +22840,6 @@ static s7_pointer g_current_output_port(s7_scheme *sc, s7_pointer args)
   return(sc->output_port);
 }
 
-#if (!WITH_PURE_S7)
 static s7_pointer g_set_current_output_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_set_current_output_port "(set-current-output-port port) sets the current-output port to port and returns the previous value of the output port"
@@ -22824,13 +22859,9 @@ static s7_pointer g_set_current_output_port(s7_scheme *sc, s7_pointer args)
     }
   return(old_port);
 }
-#endif
 
-s7_pointer s7_current_error_port(s7_scheme *sc)
-{
-  return(sc->error_port);
-}
 
+s7_pointer s7_current_error_port(s7_scheme *sc) {return(sc->error_port);}
 
 s7_pointer s7_set_current_error_port(s7_scheme *sc, s7_pointer port)
 {
@@ -22840,7 +22871,6 @@ s7_pointer s7_set_current_error_port(s7_scheme *sc, s7_pointer port)
   return(old_port);
 }
 
-
 static s7_pointer g_current_error_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_current_error_port "(current-error-port) returns the current error port"
@@ -22848,7 +22878,6 @@ static s7_pointer g_current_error_port(s7_scheme *sc, s7_pointer args)
   return(sc->error_port);
 }
 
-
 static s7_pointer g_set_current_error_port(s7_scheme *sc, s7_pointer args)
 {
   #define H_set_current_error_port "(set-current-error-port port) sets the current-error port to port and returns the previous value of the error port"
@@ -22918,8 +22947,13 @@ void s7_close_input_port(s7_scheme *sc, s7_pointer p)
 #endif
   if ((is_immutable_port(p)) ||
       ((is_input_port(p)) && (port_is_closed(p))))
-    return;
-
+    {
+#if DEBUGGING
+      if (port_needs_free(p))
+	fprintf(stderr, "closed input needs free\n");
+#endif
+      return;
+    }
   if (port_filename(p))
     {
       free(port_filename(p));
@@ -22937,8 +22971,11 @@ void s7_close_input_port(s7_scheme *sc, s7_pointer p)
   else
     {
       if ((is_string_port(p)) &&
-	  (port_gc_loc(p) != -1))
-	s7_gc_unprotect_at(sc, port_gc_loc(p));
+	  (port_needs_unprotect(p)))
+	{
+	  s7_gc_unprotect_at(sc, port_gc_loc(p));
+	  port_needs_unprotect(p) = false;
+	}
     }
   if (port_needs_free(p))
     {
@@ -22957,9 +22994,9 @@ void s7_close_input_port(s7_scheme *sc, s7_pointer p)
   port_write_string(p) = closed_port_write_string;
   port_display(p) = closed_port_display;
   port_is_closed(p) = true;
+  port_position(p) = 0;
 }
 
-
 static s7_pointer g_close_input_port(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer pt;
@@ -23068,7 +23105,6 @@ void s7_close_output_port(s7_scheme *sc, s7_pointer p)
   close_output_port(sc, p);
 }
 
-
 static s7_pointer g_close_output_port(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer pt;
@@ -23123,7 +23159,6 @@ static int32_t closed_port_read_char(s7_scheme *sc, s7_pointer port)
 }
 
 
-
 /* -------- read line functions -------- */
 
 static s7_pointer output_read_line(s7_scheme *sc, s7_pointer port, bool with_eol, bool copied)
@@ -23294,7 +23329,6 @@ static void closed_port_write_char(s7_scheme *sc, int32_t c, s7_pointer port)
 }
 
 
-
 /* -------- write string functions -------- */
 
 static void input_write_string(s7_scheme *sc, const char *str, int32_t len, s7_pointer port)
@@ -23355,13 +23389,6 @@ static void string_write_string(s7_scheme *sc, const char *str, int32_t len, s7_
 }
 
 
-static s7_pointer write_string_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
-{
-  check_for_substring_temp(sc, expr);
-  return(f);
-}
-
-
 static void file_display(s7_scheme *sc, const char *s, s7_pointer port)
 {
   if (s)
@@ -23528,6 +23555,7 @@ static int32_t terminated_string_read_white_space(s7_scheme *sc, s7_pointer pt)
   const unsigned char *str;
   unsigned char c;
   /* here we know we have null termination and white_space[#\null] is false. */
+
   str = (const unsigned char *)(port_data(pt) + port_position(pt));
 
   while (white_space[c = *str++]) /* (let ((ÿa 1)) ÿa) -- 255 is not -1 = EOF */
@@ -23746,7 +23774,7 @@ static s7_pointer read_file(s7_scheme *sc, FILE *fp, const char *name, int64_t m
   uint32_t port_loc;
 
   new_cell(sc, port, T_INPUT_PORT);
-  port_loc = s7_gc_protect(sc, port);
+  port_loc = s7_gc_protect_1(sc, port);
   port_port(port) = alloc_port(sc);
   port_is_closed(port) = false;
   port_original_input_string(port) = sc->nil;
@@ -23767,8 +23795,7 @@ static s7_pointer read_file(s7_scheme *sc, FILE *fp, const char *name, int64_t m
   size = ftell(fp);
   rewind(fp);
 
-  /* pseudo files (under /proc for example) have size=0, but we can read them, so don't assume a 0 length file is empty
-   */
+  /* pseudo files (under /proc for example) have size=0, but we can read them, so don't assume a 0 length file is empty */
 
   if ((size > 0) &&                          /* if (size != 0) we get (open-input-file "/dev/tty") -> (open "/dev/tty") read 0 bytes of an expected -1? */
       ((max_size < 0) || (size < max_size))) /* load uses max_size = -1 */
@@ -23795,7 +23822,7 @@ static s7_pointer read_file(s7_scheme *sc, FILE *fp, const char *name, int64_t m
       port_data_size(port) = size;
       port_position(port) = 0;
       port_needs_free(port) = true;
-      port_gc_loc(port) = -1;
+      port_needs_unprotect(port) = false;
       port_read_character(port) = string_read_char;
       port_read_line(port) = string_read_line;
       port_display(port) = input_display;
@@ -23808,6 +23835,9 @@ static s7_pointer read_file(s7_scheme *sc, FILE *fp, const char *name, int64_t m
     {
       port_file(port) = fp;
       port_type(port) = FILE_PORT;
+      port_data(port) = NULL;
+      port_data_size(port) = 0;
+      port_position(port) = 0;
       port_needs_free(port) = false;
       port_read_character(port) = file_read_char;
       port_read_line(port) = file_read_line;
@@ -23825,6 +23855,9 @@ static s7_pointer read_file(s7_scheme *sc, FILE *fp, const char *name, int64_t m
   port_file(port) = fp;
   port_type(port) = FILE_PORT;
   port_needs_free(port) = false;
+  port_data(port) = NULL;
+  port_data_size(port) = 0;
+  port_position(port) = 0;
   port_read_character(port) = file_read_char;
   port_read_line(port) = file_read_line;
   port_display(port) = input_display;
@@ -24090,7 +24123,7 @@ static s7_pointer open_input_string(s7_scheme *sc, const char *input_string, uin
   port_file_number(x) = 0; /* uint32_t */
   port_line_number(x) = 0;
   port_needs_free(x) = false;
-  port_gc_loc(x) = -1;
+  port_needs_unprotect(x) = false;
   port_read_character(x) = string_read_char;
   port_read_line(x) = string_read_line;
   port_display(x) = input_display;
@@ -24113,7 +24146,8 @@ static s7_pointer open_and_protect_input_string(s7_scheme *sc, s7_pointer str)
 {
   s7_pointer p;
   p = open_input_string(sc, string_value(str), string_length(str));
-  port_gc_loc(p) = s7_gc_protect(sc, str);
+  port_gc_loc(p) = s7_gc_protect_1(sc, str);
+  port_needs_unprotect(p) = true;
   return(p);
 }
 
@@ -25194,7 +25228,7 @@ static s7_pointer g_autoloader(s7_scheme *sc, s7_pointer args)
 /* ---------------- require ---------------- */
 static s7_pointer g_require(s7_scheme *sc, s7_pointer args)
 {
-  #define H_require "(require . symbols) loads each file associated with each symbol if it has not been loaded already.\
+  #define H_require "(require symbol . symbols) loads each file associated with each symbol if it has not been loaded already.\
 The symbols refer to the argument to \"provide\".  (require lint.scm)"
   #define Q_require s7_make_circular_signature(sc, 1, 2, sc->T, sc->is_symbol_symbol)
 
@@ -25390,12 +25424,13 @@ static s7_pointer g_eval_string(s7_scheme *sc, s7_pointer args)
   push_input_port(sc, port);
 
   sc->temp3 = sc->args;
-  push_stack(sc, OP_EVAL_STRING_1, args, sc->code); 
+  push_stack(sc, OP_EVAL_STRING, args, sc->code); 
   push_stack_op_let(sc, OP_READ_INTERNAL);
 
   return(sc->F);
 }
 
+
 static s7_pointer eval_string_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops)
 {
   check_for_substring_temp(sc, expr);
@@ -25442,7 +25477,6 @@ static s7_pointer g_call_with_input_string(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- call-with-input-file -------------------------------- */
 
 static s7_pointer g_call_with_input_file(s7_scheme *sc, s7_pointer args)
@@ -25521,7 +25555,6 @@ static s7_pointer g_with_input_from_file(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- iterators -------------------------------- */
 
 static s7_pointer g_is_iterator(s7_scheme *sc, s7_pointer args)
@@ -26029,7 +26062,6 @@ static s7_pointer g_iterator_sequence(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------------------------------------------------------- */
 
 #define INITIAL_SHARED_INFO_SIZE 8
@@ -26858,8 +26890,8 @@ static char *multivector_indices_to_string(s7_scheme *sc, s7_int index, s7_point
 
 
 static int32_t multivector_to_port(s7_scheme *sc, s7_pointer vec, s7_pointer port,
-			       int32_t out_len, int32_t flat_ref, int32_t dimension, int32_t dimensions, bool *last,
-			       use_write_t use_write, shared_info *ci)
+				   int32_t out_len, int32_t flat_ref, int32_t dimension, int32_t dimensions, bool *last,
+				   use_write_t use_write, shared_info *ci)
 {
   int32_t i;
 
@@ -27140,11 +27172,9 @@ static void int_or_float_vector_to_port(s7_scheme *sc, s7_pointer vect, s7_point
   if (len == 0)
     {
       if (vector_rank(vect) > 1)
-	{
-	  plen = snprintf(buf, 32, "#%c%uD()", (is_int_vector(vect)) ? 'i' : 'r', vector_ndims(vect));
-	  port_write_string(port)(sc, buf, plen, port);
-	}
-      else port_write_string(port)(sc, "#()", 3, port);
+	plen = snprintf(buf, 32, "#%c%uD()", (is_int_vector(vect)) ? 'i' : 'r', vector_ndims(vect));
+      else plen = snprintf(buf, 32, "#%c()", (is_int_vector(vect)) ? 'i' : 'r');
+      port_write_string(port)(sc, buf, plen, port);
       return;
     }
 
@@ -27577,7 +27607,7 @@ static void hash_table_to_port(s7_scheme *sc, s7_pointer hash, s7_pointer port,
     }
 
   iterator = s7_make_iterator(sc, hash);
-  gc_iter = s7_gc_protect(sc, iterator);
+  gc_iter = s7_gc_protect_1(sc, iterator);
   p = cons(sc, sc->F, sc->F);
   iterator_current(iterator) = p;
   set_mark_seq(iterator);
@@ -27726,7 +27756,7 @@ static void let_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_writ
 	      for (x = let_slots(obj); is_slot(x); x = next_slot(x))
 		{
 		  port_write_string(port)(sc, "(cons ", 6, port);
-		  symbol_to_port(sc, slot_symbol(x), port, use_write, NULL);
+		  symbol_to_port(sc, slot_symbol(x), port, USE_READABLE_WRITE, NULL);
 		  port_write_character(port)(sc, ' ', port);
 		  object_to_port_with_circle_check(sc, slot_value(x), port, use_write, ci);
 		  port_write_character(port)(sc, ')', port);
@@ -28012,7 +28042,7 @@ static void write_closure_readably(s7_scheme *sc, s7_pointer obj, s7_pointer por
   arglist = closure_args(obj);
   pe = closure_let(obj);               /* perhaps check for documentation? */
 
-  gc_loc = s7_gc_protect(sc, sc->nil);
+  gc_loc = s7_gc_protect_1(sc, sc->nil);
   collect_locals(sc, body, pe, arglist, gc_loc);   /* collect locals used only here */
   if (s7_is_dilambda(obj))
     {
@@ -28110,14 +28140,14 @@ static char *describe_type_bits(s7_scheme *sc, s7_pointer obj)
   full_typ = typeflag(obj);
 
   /* if debugging all of these bits are being watched, so we need to access them directly */
-  snprintf(buf, 512, "type: %d (%s), flags: #x%" PRIx64 "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+  snprintf(buf, 512, "type: %d (%s), flags: #x%" PRIx64 "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
 	   typ,
 	   type_name(sc, obj, NO_ARTICLE),
 	   full_typ,
 	   /* bit 0 (the first 8 bits are easy...) */
-	   ((full_typ & T_KEYWORD) != 0) ?        " keyword" : "",
+	   ((full_typ & T_KEYWORD) != 0) ?        ((is_symbol(obj)) ? " keyword" : " ?0?") : "",
 	   /* bit 1 */
-	   ((full_typ & T_SYNTACTIC) != 0) ?      " syntactic" : "",
+	   ((full_typ & T_SYNTACTIC) != 0) ?      (((is_pair(obj)) || (is_syntax(obj))) ? " syntactic" : " ?1?") : "",
 	   /* bit 2 */
 	   ((full_typ & T_SIMPLE_ARG_DEFAULTS) != 0) ? ((is_pair(obj)) ? " simple-args|in-use" : " ?2?") : "",
 
@@ -28146,7 +28176,7 @@ static char *describe_type_bits(s7_scheme *sc, s7_pointer obj)
 	   ((full_typ & T_LINE_NUMBER) != 0) ?    ((is_pair(obj)) ? " line-number" : 
 						   ((is_input_port(obj)) ? " loader-port" : 
 						    ((is_let(obj)) ? " with-let" : 
-						     ((is_c_function(obj)) ? " simple-defaults" : 
+						     ((is_any_procedure(obj)) ? " simple-defaults" : 
 						      (((is_symbol(obj)) || (is_slot(obj))) ? " has-setter" :
 						       " ?10?"))))) : "",
 	   /* bit 11 */
@@ -28187,9 +28217,10 @@ static char *describe_type_bits(s7_scheme *sc, s7_pointer obj)
 						   ((is_slot(obj)) ? " safe-stepper" : 
 						    ((is_c_function(obj)) ? " maybe-safe" :
 						     ((is_number(obj)) ? " print-name" :
-						      " ?19?")))) : "",
+						      ((is_pair(obj)) ? " direct_x_opt" :
+						       " ?19?"))))) : "",
 	   /* bit 20 */
-	   ((full_typ & T_COPY_ARGS) != 0) ?      ((is_pair(obj))? " local-symbol" : 
+	   ((full_typ & T_COPY_ARGS) != 0) ?      ((is_pair(obj)) ? " local-symbol" : 
 						   (((is_any_macro(obj)) || (is_any_closure(obj))) ? " copy-args" :
 						    "?20?")) : "",
 	   /* bit 21 */
@@ -28207,11 +28238,59 @@ static char *describe_type_bits(s7_scheme *sc, s7_pointer obj)
 	   ((full_typ & T_SYMCONS) != 0) ?        ((is_symbol(obj)) ? " possibly-constant" : 
 						   ((is_procedure(obj)) ? " has-let-arg" :
 						    " ?24?")) : "",
+	   /* bit 25 */
+	   ((full_typ & T_S7_LET_FIELD) != 0) ?   " s7-let-field" : "",
+	   /* bit 26 */
+	   ((full_typ & T_DEFINER) != 0) ?        " definer" : "",
+
+	   ((full_typ & UNUSED_BITS) != 0) ?      " unused bits set?" : "",
+	   
 	   /* bit 55 */
 	   (((full_typ & T_GC_MARK) != 0) && (in_heap(obj))) ? " gc-marked" : "");
   return(buf);
 }
 
+#if DEBUGGING
+static bool has_odd_bits(s7_scheme *sc, s7_pointer obj)
+{
+  uint64_t full_typ;
+  full_typ = typeflag(obj);
+
+  if ((full_typ & UNUSED_BITS) != 0) return(true);
+  if (((full_typ & T_KEYWORD) != 0) && (!is_symbol(obj))) return(true);
+  if (((full_typ & T_SYNTACTIC) != 0) && (!is_syntax(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_SIMPLE_ARG_DEFAULTS) != 0) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_OPTIMIZED) != 0) && (!is_c_function(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_SAFE_CLOSURE) != 0) && (!is_any_closure(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_EXPANSION) != 0) && (!is_symbol(obj)) && (!is_macro(obj))) return(true);
+  if (((full_typ & T_MULTIPLE_VALUE) != 0) && (!is_symbol(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_GLOBAL) != 0) && (!is_pair(obj)) && (!is_symbol(obj))) return(true);
+  if (((full_typ & T_ITER_OK) != 0) && (!is_iterator(obj))) return(true);
+  if (((full_typ & T_S7_LET_FIELD) != 0) && (!is_symbol(obj))) return(true);
+  if (((full_typ & T_DEFINER) != 0) && (!is_symbol(obj))) return(true);
+  if (((full_typ & T_SYMCONS) != 0) && (!is_symbol(obj)) && (!is_procedure(obj))) return(true);
+  if (((full_typ & T_OVERLAY) != 0) && (!is_symbol(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_COPY_ARGS) != 0) && (!is_pair(obj)) && (!is_any_macro(obj)) && (!is_any_closure(obj))) return(true);
+  if (((full_typ & T_UNSAFE) != 0) && (!is_symbol(obj)) && (!is_slot(obj)) && (!is_pair(obj))) return(true);
+  if (((full_typ & T_SAFE_STEPPER) != 0) && 
+      (!is_let(obj)) && (!is_slot(obj)) && (!is_c_function(obj)) && (!is_number(obj)) && (!is_pair(obj)))
+    return(true);
+  if (((full_typ & T_SETTER) != 0) && 
+      (!is_symbol(obj)) && (!is_pair(obj)) && (!is_closure(obj)) && (!is_hash_table(obj)) && (!is_let(obj))) 
+    return(true);
+  if (((full_typ & T_LINE_NUMBER) != 0) && 
+      (!is_pair(obj)) && (!is_input_port(obj)) && (!is_let(obj)) && (!is_any_procedure(obj)) && (!is_symbol(obj)) && (!is_slot(obj)))
+    return(true);
+  if (((full_typ & T_MUTABLE) != 0) &&
+      (!is_number(obj)) && (!is_string(obj)) && (!is_symbol(obj)) && (!is_let(obj)) && (!is_iterator(obj)) &&
+      (!is_slot(obj)) && (!is_let(obj)) && (!is_pair(obj)) && (!is_any_closure(obj)))
+    return(true);
+  if (((full_typ & T_GENSYM) != 0) &&
+      (!is_let(obj)) && (!is_symbol(obj)) && (!is_string(obj)) && (!is_hash_table(obj)) && (!is_pair(obj)))
+    return(true);
+  return(false);
+}
+#endif
 
 void s7_show_let(s7_scheme *sc) /* debugging convenience */
 {
@@ -28461,21 +28540,31 @@ static s7_pointer check_ref11(s7_pointer p, const char *func, int32_t line)
 
 static s7_pointer check_sym(s7_scheme *sc, s7_pointer sym)
 {
-  if (!is_slot(local_slot(sym)))
-    fprintf(stderr, "%s local_slot: %s\n", DISPLAY(sym), DISPLAY(local_slot(sym)));
+  uint8_t typ;
+  typ = unchecked_type(local_slot(sym)); /* this is checking local_slot lookups, so local_slot should be a slot! */
+  if (typ == T_FREE)
+    fprintf(stderr, "%s is local, but local slot is free\n", DISPLAY(sym));
   else
     {
-      s7_pointer local_val, search_val;
-      local_val = slot_value(local_slot(sym));
-      search_val = find_symbol_checked(sc, sym);
-      if (local_val != search_val)
+      if (typ != T_SLOT)
+	fprintf(stderr, "%s local_slot: %s\n", DISPLAY(sym), DISPLAY(local_slot(sym)));
+      else
 	{
-	  fprintf(stderr, "local %s: %p %p ", symbol_name(sym), local_val, search_val);
-	  fprintf(stderr, "%s ", DISPLAY_80(local_val));
-	  fprintf(stderr, "%s", DISPLAY_80(search_val));
-	  fprintf(stderr, "\n");
+	  s7_pointer local_val, search_val;
+	  local_val = slot_value(local_slot(sym));
+	  search_val = find_symbol_checked(sc, sym);
+	  if (local_val != search_val)
+	    {
+	      fprintf(stderr, "local %s: %p %p ", symbol_name(sym), local_val, search_val);
+	      fprintf(stderr, "%s ", DISPLAY_80(local_val));
+	      fprintf(stderr, "%s", DISPLAY_80(search_val));
+	      fprintf(stderr, "\n");
+	      /* (let () (define (f x) x) (define* (f (y (f 1))) (+ y 1)) (f)) -> local y: 0x7f1082849098 0x7f1082849120 1 2 
+	       *   which depends on (+ ... 1)!
+	       */
+	    }
+	  return(local_val);
 	}
-      return(local_val);
     }
   return(sc->nil);
 }
@@ -28883,9 +28972,7 @@ static void print_debugging_state(s7_scheme *sc, s7_pointer obj, s7_pointer port
   tmpbuf_free(str, len);
 }
 
-#if DEBUGGING
 static s7_pointer g_is_local_symbol(s7_scheme *sc, s7_pointer p) {return(make_boolean(sc, is_local_symbol(p)));} /* was car(p)?? */
-#endif
 
 static s7_pointer check_null_sym(s7_scheme *sc, s7_pointer p, s7_pointer sym, int32_t line, const char *func)
 {
@@ -28896,24 +28983,6 @@ static s7_pointer check_null_sym(s7_scheme *sc, s7_pointer p, s7_pointer sym, in
     }
   return(p);
 }
-
-#if 0
-/* these are bits usable on (say) let code without colliding with other pair-wise uses */
-/*    we need has_all_x = T_SETTER currently
- *    T_MUTABLE and T_SAFE_STEPPER are let_ref|set fallback bits 
- *    T_IMMUTABLE is hard to predict, 
- *    maybe T_SAFE_STEPPER for unsafe_locals
- */
-static void check_pair_bits(s7_scheme *sc, s7_pointer p)
-{
-  /* if ((typeflag(p) & T_MUTABLE) != 0) fprintf(stderr, "mutable: %s\n", DISPLAY_80(p)); */ /* now no_opt flag */
-  if ((typeflag(p) & T_IMMUTABLE) != 0) fprintf(stderr, "immutable: %s\n", DISPLAY_80(p));
-  if ((typeflag(p) & T_GENSYM) != 0) fprintf(stderr, "gensym: %s\n", DISPLAY_80(p));
-  if ((typeflag(p) & T_SETTER) != 0) fprintf(stderr, "setter: %s\n", DISPLAY_80(p));
-  if ((typeflag(p) & T_COPY_ARGS) != 0) fprintf(stderr, "copy_args: %s\n", DISPLAY_80(p));
-  if ((typeflag(p) & T_SAFE_STEPPER) != 0) fprintf(stderr, "safe_stepper: %s\n", DISPLAY_80(p));
-}
-#endif
 #endif
 
 static void iterator_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_write_t use_write, shared_info *ci)
@@ -29202,9 +29271,8 @@ static void c_object_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use
 
 static void slot_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_write_t use_write, shared_info *ci)
 {
-  if (use_write != USE_READABLE_WRITE)
-    port_write_character(port)(sc, '\'', port);
-  symbol_to_port(sc, slot_symbol(obj), port, use_write, ci);
+  /* the slot symbol might need (symbol...) in which case we don't want the preceding quote */
+  symbol_to_port(sc, slot_symbol(obj), port, USE_READABLE_WRITE, ci);
   port_write_character(port)(sc, ' ', port);
   object_to_port_with_circle_check(sc, slot_value(obj), port, use_write, ci);
 }
@@ -29472,6 +29540,7 @@ static s7_pointer g_newline(s7_scheme *sc, s7_pointer args)
       if (port == sc->F) return(newline_char);
       method_or_bust_with_type_one_arg(sc, port, sc->newline_symbol, args, an_output_port_string);
     }
+  /* shouldn't we check for closed output port? */
   s7_newline(sc, port);
   return(newline_char);
   /* return(sc->unspecified) until 28-Sep-17, but for example (display c) returns c */
@@ -29607,13 +29676,12 @@ static s7_pointer g_call_with_output_string(s7_scheme *sc, s7_pointer args)
     return(wrong_type_argument_with_type(sc, sc->call_with_output_string_symbol, 1, proc, a_normal_procedure_string));
 
   port = s7_open_output_string(sc);
-  push_stack(sc, OP_GET_OUTPUT_STRING_1, sc->F, port); /* args checked in call_with_exit */
+  push_stack(sc, OP_GET_OUTPUT_STRING_1, sc->gc_nil, port); /* args checked in call_with_exit */
   push_stack(sc, OP_APPLY, list_1(sc, port), proc);
   return(sc->F);
 }
 
 
-
 /* -------------------------------- call-with-output-file -------------------------------- */
 static s7_pointer g_call_with_output_file(s7_scheme *sc, s7_pointer args)
 {
@@ -29633,13 +29701,12 @@ static s7_pointer g_call_with_output_file(s7_scheme *sc, s7_pointer args)
     return(wrong_type_argument_with_type(sc, sc->call_with_output_file_symbol, 2, proc, a_normal_procedure_string));
 
   port = s7_open_output_file(sc, string_value(file), "w");
-  push_stack(sc, OP_UNWIND_OUTPUT, sc->F, port);
+  push_stack(sc, OP_UNWIND_OUTPUT, sc->gc_nil, port);
   push_stack(sc, OP_APPLY, list_1(sc, port), proc);
   return(sc->F);
 }
 
 
-
 /* -------------------------------- with-output-to-string -------------------------------- */
 static s7_pointer g_with_output_to_string(s7_scheme *sc, s7_pointer args)
 {
@@ -29651,9 +29718,13 @@ static s7_pointer g_with_output_to_string(s7_scheme *sc, s7_pointer args)
   if (!is_thunk(sc, p))
     method_or_bust_with_type(sc, p, sc->with_output_to_string_symbol, args, a_thunk_string, 1);
 
+  if ((is_continuation(p)) || (is_goto(p)))
+    return(wrong_type_argument_with_type(sc, sc->with_output_to_string_symbol, 1, p, a_normal_procedure_string));
+
   old_output_port = sc->output_port;
   sc->output_port = s7_open_output_string(sc);
   push_stack(sc, OP_GET_OUTPUT_STRING_1, old_output_port, sc->output_port);
+  push_stack(sc, OP_BARRIER, sc->nil, sc->nil); /* block call/cc backup? */
   push_stack(sc, OP_APPLY, sc->nil, p);
   return(sc->F);
 }
@@ -29678,15 +29749,18 @@ static s7_pointer g_with_output_to_file(s7_scheme *sc, s7_pointer args)
   if (!is_thunk(sc, proc))
     method_or_bust_with_type(sc, proc, sc->with_output_to_file_symbol, args, a_thunk_string, 2);
 
+  if ((is_continuation(proc)) || (is_goto(proc)))
+    return(wrong_type_argument_with_type(sc, sc->with_output_to_file_symbol, 1, proc, a_normal_procedure_string));
+
   old_output_port = sc->output_port;
   sc->output_port = s7_open_output_file(sc, string_value(file), "w");
   push_stack(sc, OP_UNWIND_OUTPUT, old_output_port, sc->output_port);
+  push_stack(sc, OP_BARRIER, sc->nil, sc->nil);
   push_stack(sc, OP_APPLY, sc->nil, proc);
   return(sc->F);
 }
 
 
-
 /* -------------------------------- format -------------------------------- */
 
 static s7_pointer format_error_1(s7_scheme *sc, s7_pointer msg, const char *str, s7_pointer args, format_data *fdat)
@@ -30573,7 +30647,12 @@ static s7_pointer g_format_1(s7_scheme *sc, s7_pointer args)
 
   if (is_string(pt))
     return(format_to_port_1(sc, sc->F, string_value(pt), cdr(args), NULL, true, true, string_length(pt), pt));
-  if (is_null(pt)) pt = sc->output_port;     /* () -> (current-output-port) */
+  if (is_null(pt)) 
+    {
+      pt = sc->output_port;                  /* () -> (current-output-port) */
+      if (pt == sc->F)                       /*   otherwise () -> #f so we get a returned string, which is confusing */
+	return(pt);                          /*   but this means some error checks are skipped? */
+    }
 
   if (!((s7_is_boolean(pt)) ||               /* #f or #t */
 	((is_output_port(pt)) &&             /* (current-output-port) or call-with-open-file arg, etc */
@@ -30815,7 +30894,6 @@ static s7_pointer g_file_mtime(s7_scheme *sc, s7_pointer args)
 #endif
 
 
-
 /* -------------------------------- lists -------------------------------- */
 
 s7_pointer s7_cons(s7_scheme *sc, s7_pointer a, s7_pointer b)
@@ -31267,7 +31345,6 @@ s7_pointer s7_apply_n_9(s7_scheme *sc, s7_pointer args,
 /* -------------------------------------------------------------------------------- */
 
 
-
 s7_pointer s7_list_ref(s7_scheme *sc, s7_pointer lst, int32_t num)
 {
   int32_t i;
@@ -31597,8 +31674,7 @@ static s7_pointer reverse_in_place(s7_scheme *sc, s7_pointer term, s7_pointer li
   while (is_not_null(p))
     {
       q = cdr(p);
-      if ((!is_pair(q)) &&
-	  (is_not_null(q)))
+      if (!is_list(q))
 	return(sc->nil); /* improper list? */
       set_cdr(p, result);
       result = p;
@@ -31830,7 +31906,6 @@ bool s7_is_proper_list(s7_scheme *sc, s7_pointer lst)
   return(true);
 }
 
-
 static s7_pointer g_is_list(s7_scheme *sc, s7_pointer args)
 {
   #define H_is_list "(list? obj) returns #t if obj is a pair or null"
@@ -31850,10 +31925,9 @@ static s7_pointer make_list(s7_scheme *sc, int32_t len, s7_pointer init)
     case 2: return(cons_unchecked(sc, init, cons(sc, init, sc->nil)));
     case 3: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil))));
     case 4: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil)))));
-    case 5: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init,
-		    cons_unchecked(sc, init, cons(sc, init, sc->nil))))));
-    case 6: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init,
-		    cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil)))))));
+    case 5: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil))))));
+    case 6: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init, 
+                    cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil)))))));
     case 7: return(cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init,
 		    cons_unchecked(sc, init, cons_unchecked(sc, init, cons_unchecked(sc, init, cons(sc, init, sc->nil))))))));
     default:
@@ -31867,7 +31941,6 @@ static s7_pointer make_list(s7_scheme *sc, int32_t len, s7_pointer init)
 	    while (len >= (sc->free_heap_top - sc->free_heap))
 	      resize_heap(sc);
 	  }
-
 	sc->v = sc->nil;
 	for (i = 0; i < len; i++)
 	  sc->v = cons_unchecked(sc, init, sc->v);
@@ -31965,7 +32038,6 @@ static s7_pointer g_list_ref(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 /* -------------------------------- list-set! -------------------------------- */
 static s7_pointer g_list_set_1(s7_scheme *sc, s7_pointer lst, s7_pointer args, int32_t arg_num)
 {
@@ -32248,12 +32320,10 @@ static s7_pointer g_set_car(s7_scheme *sc, s7_pointer args)
   s7_pointer p;
 
   p = car(args);
-  if (is_mutable_pair(p)) /* this is currently 2.5x slower than is_pair */
-    {
-      set_car(p, cadr(args));
-      return(car(p));
-    }
-  mutable_method_or_bust(sc, p, sc->set_car_symbol, args, T_PAIR, 1);
+  if (!is_mutable_pair(p)) /* this is currently 2.5x slower than is_pair */
+    mutable_method_or_bust(sc, p, sc->set_car_symbol, args, T_PAIR, 1);
+  set_car(p, cadr(args));
+  return(car(p));
 }
 
 static s7_pointer set_car_p_pp(s7_pointer p1, s7_pointer p2)
@@ -32296,6 +32366,11 @@ static s7_pointer g_set_cdr(s7_scheme *sc, s7_pointer args)
   if (!is_mutable_pair(p))
     mutable_method_or_bust(sc, p, sc->set_cdr_symbol, args, T_PAIR, 1);
 
+#if DEBUGGING
+  if (not_in_heap(p))
+    fprintf(stderr, "unheap set-cdr! %s\n", DISPLAY(p));
+#endif
+
   set_cdr(p, cadr(args));
   return(cdr(p));
 }
@@ -32304,6 +32379,10 @@ static s7_pointer set_cdr_p_pp(s7_pointer p1, s7_pointer p2)
 {
   if (!is_mutable_pair(p1))
     simple_wrong_type_argument(cur_sc, cur_sc->set_cdr_symbol, p1, T_PAIR);
+#if DEBUGGING
+  if (not_in_heap(p1)) 
+    fprintf(stderr, "unheap opt set-cdr! %s\n", s7_object_to_c_string(cur_sc, p1));
+#endif
   set_cdr(p1, p2);
   return(p2);
 }
@@ -32914,19 +32993,20 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
 
   if (eq_func)
     {
-      /* now maybe there's a simple case */
-      if (s7_list_length(sc, x) > 0)
+      /* here we know x is a pair, but need to protect against circular lists */
+      if (s7_list_length(sc, x) != 0)
 	{
+	  /* now maybe there's a simple case */
 	  if ((is_safe_procedure(eq_func)) &&
 	      (is_c_function(eq_func)))
 	    {
 	      s7_function func;
-
+	      
 	      func = c_function_call(eq_func);
 	      if (func == g_is_eq) return(s7_assq(sc, car(args), x));
 	      if (func == g_is_eqv) return(g_assv(sc, args));
 	      set_car(sc->t2_1, car(args));
-
+	      
 	      for (; is_pair(x); x = cdr(x))
 		{
 		  if (is_pair(car(x)))
@@ -32934,14 +33014,13 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
 		      set_car(sc->t2_2, caar(x));
 		      if (is_true(sc, func(sc, sc->t2_1)))
 			return(car(x));
-		      /* I wonder if the assoc equality function should get the cons, not just caar?
-		       */
+		      /* I wonder if the assoc equality function should get the cons, not just caar? */
 		    }
 		  else return(wrong_type_argument_with_type(sc, sc->assoc_symbol, 2, cadr(args), an_association_list_string));
 		}
 	      return(sc->F);
 	    }
-
+	  
 	  if ((is_closure(eq_func)) &&
 	      (is_pair(closure_args(eq_func))) &&
 	      (is_pair(cdr(closure_args(eq_func))))) /* not dotted arg list */
@@ -32951,14 +33030,14 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
 	      if (is_null(cdr(body)))
 		{
 		  s7_function func;
-
+		  
 		  new_frame_with_two_slots(sc, sc->envir, sc->envir, car(closure_args(eq_func)), car(args), cadr(closure_args(eq_func)), sc->F);
 		  func = s7_bool_optimize(sc, body);
 		  if (func)
 		    {
 		      s7_pointer b;
 		      b = next_slot(let_slots(sc->envir));
-
+		      
 		      if (func == opt_bool_any)
 			{
 			  opt_info *o;
@@ -32981,9 +33060,12 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
       y = cons(sc, args, sc->nil);
       set_opt_fast(y, x);
       set_opt_slow(y, x);
-      push_stack(sc, OP_ASSOC_IF, y, eq_func);
-      push_stack(sc, OP_APPLY, list_2(sc, car(args), caar(x)), eq_func);
-      return(sc->unspecified);
+      push_stack(sc, OP_EVAL_DONE, sc->args, sc->code);
+      push_stack(sc, OP_ASSOC_IF, cons(sc, y, sc->nil), eq_func);
+      sc->args = list_2(sc, car(args), caar(x));
+      sc->code = eq_func;
+      eval(sc, OP_APPLY);
+      return(sc->value);
     }
 
   x = cadr(args);
@@ -33044,7 +33126,6 @@ If 'func' is a function of 2 arguments, it is used for the comparison instead of
 static s7_pointer assoc_p_pp(s7_pointer p1, s7_pointer p2) {return(g_assoc(cur_sc, set_plist_2(cur_sc, p1, p2)));}
 
 
-
 /* ---------------- member, memv, memq ---------------- */
 
 s7_pointer s7_memq(s7_scheme *sc, s7_pointer obj, s7_pointer x)
@@ -33377,7 +33458,7 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
    * here as in assoc, sort, and make-hash-table we accept macros, but I can't think of a good reason to do so.
    */
 
-  s7_pointer x, y, obj, eq_func = NULL;
+  s7_pointer x, obj, eq_func = NULL;
   x = cadr(args);
 
   if ((!is_pair(x)) && (!is_null(x)))
@@ -33398,7 +33479,7 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
   if (is_null(x)) return(sc->F);
   if (eq_func)
     {
-      s7_pointer slow;
+      s7_pointer y, slow;
 	  
       /* now maybe there's a simple case */
       if ((is_safe_procedure(eq_func)) &&
@@ -33474,11 +33555,11 @@ member uses equal?  If 'func' is a function of 2 arguments, it is used for the c
 		}
 	    }
 	}
-
+      
       y = cons(sc, args, sc->nil); /* this could probably be handled with a counter cell (cdr here is unused) */
       set_opt_fast(y, x);
       set_opt_slow(y, x);
-      push_stack(sc, OP_MEMBER_IF, y, eq_func);
+      push_stack(sc, OP_MEMBER_IF, cons(sc, y, sc->nil), eq_func);
       if (needs_copied_args(eq_func))
 	push_stack(sc, OP_APPLY, list_2(sc, car(args), car(x)), eq_func);
       else
@@ -33560,11 +33641,11 @@ static s7_pointer member_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_p
 	}
       else
 	{
-	  if ((optimize_op(expr) == HOP_SAFE_C_SQ) ||
-	      ((is_h_safe_c_c(expr)) &&
-	       (is_symbol(cadr(expr))) &&
-	       (is_proper_quote(sc, caddr(expr))) &&
-	       (is_pair(cadr(caddr(expr))))))
+	  if (((optimize_op(expr) == HOP_SAFE_C_SQ) || /* watch out for (member x '3) etc */
+	       (is_h_safe_c_c(expr))) &&
+	      (is_symbol(cadr(expr))) &&
+	      (is_proper_quote(sc, caddr(expr))) &&
+	      (is_pair(cadr(caddr(expr)))))
 	    {
 	      set_optimize_op(expr, HOP_SAFE_C_C);
 	      return(member_sq);                    /* (member q '(quote lambda case)) */
@@ -33576,7 +33657,6 @@ static s7_pointer member_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_p
       (is_symbol(cadddr(expr))) &&
       (cadddr(expr) == sc->is_eq_symbol))
     return(memq_chooser(sc, f, 2, expr, ops));
-
   return(f);
 }
 
@@ -34467,6 +34547,9 @@ static s7_pointer g_vector_to_list(s7_scheme *sc, s7_pointer args)
       if (p != sc->gc_nil) return(p);
       if (start == end) return(sc->nil);
     }
+  if ((end - start) > sc->max_list_length)
+    return(out_of_range(sc, sc->vector_to_list_symbol, small_int(1), car(args), its_too_large_string));
+
   if ((start == 0) && (end == vector_length(vec)))
     return(s7_vector_to_list(sc, vec));
 
@@ -34960,7 +35043,6 @@ static s7_pointer g_vector_ref_2_direct(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 static s7_pointer g_vector_set(s7_scheme *sc, s7_pointer args)
 {
   #define H_vector_set "(vector-set! v i ... value) sets the i-th element of vector v to value."
@@ -35424,7 +35506,6 @@ static s7_pointer s7_multivector_error(s7_scheme *sc, const char *message, s7_po
 static s7_pointer g_multivector(s7_scheme *sc, s7_int dims, s7_pointer data)
 {
   /* get the dimension bounds from data, make the new vector, fill it from data
-   *
    * dims needs to be s7_int so we can at least give correct error messages.
    * also should we let an empty vector have any number of dimensions? currently ndims is an int.
    */
@@ -35467,7 +35548,7 @@ static s7_pointer g_multivector(s7_scheme *sc, s7_int dims, s7_pointer data)
     }
 
   vec = g_make_vector(sc, set_plist_1(sc, sc->w = safe_reverse_in_place(sc, sc->w)));
-  vec_loc = s7_gc_protect(sc, vec);
+  vec_loc = s7_gc_protect_1(sc, vec);
   sc->w = sc->nil;
 
   /* now fill the vector checking that all the lists match */
@@ -36017,7 +36098,6 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
   s7_int len = 0, n, k;
   int32_t (*sort_func)(const void *v1, const void *v2);
   s7_pointer *elements;
-  uint32_t gc_loc = 0;
 
   /* both the intermediate vector (if any) and the current args pointer need GC protection,
    *   but it is a real bother to unprotect args at every return statement, so I'll use temp3
@@ -36241,7 +36321,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	  s7_pointer vec, p;
 
 	  vec = g_vector(sc, data);
-	  gc_loc = s7_gc_protect(sc, vec);
+	  push_stack_no_let_no_code(sc, OP_GC_PROTECT, vec);
 	  elements = s7_vector_elements(vec);
 
 	  sc->v = vec;
@@ -36249,7 +36329,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	  for (p = data, i = 0; i < len; i++, p = cdr(p))
 	    set_car(p, elements[i]);
 
-	  s7_gc_unprotect_at(sc, gc_loc);
+	  sc->stack_end -= 4; /* not pop_stack! */
 	  return(data);
 	}
 
@@ -36287,7 +36367,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 #endif
 
 	vec = make_vector_1(sc, len, NOT_FILLED, T_VECTOR);
-	gc_loc = s7_gc_protect(sc, vec);
+	push_stack_no_let_no_code(sc, OP_GC_PROTECT, vec);	   
 	elements = s7_vector_elements(vec);
 	chrs = (unsigned char *)string_value(data);
 
@@ -36317,13 +36397,13 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 		for (i = 0; i < len; i++)
 		  chrs[i] = character(elements[i]);
 	      }
-	    s7_gc_unprotect_at(sc, gc_loc);
+	    sc->stack_end -= 4; /* not pop_stack! */
 	    return(data);
 	  }
 
+	sc->stack_end -= 4; /* not pop_stack! */
 	push_stack(sc, OP_SORT_STRING_END, cons(sc, data, lessp), sc->code);
 	set_car(args, vec);
-	s7_gc_unprotect_at(sc, gc_loc);
       }
       break;
 
@@ -36366,7 +36446,7 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	 *   at any time during that loop, and the GC mark process expects the vector to have an s7_pointer
 	 *   at every element.
 	 */
-	gc_loc = s7_gc_protect(sc, vec);
+	push_stack_no_let_no_code(sc, OP_GC_PROTECT, vec);
 	elements = s7_vector_elements(vec);
 
 	for (i = 0; i < len; i++)
@@ -36380,13 +36460,12 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
 	    for (i = 0; i < len; i++)
 	      vector_setter(data)(sc, data, i, elements[i]);
 
-	    s7_gc_unprotect_at(sc, gc_loc);
+	    sc->stack_end -= 4;
 	    return(data);
 	  }
-
-	push_stack(sc, OP_SORT_VECTOR_END, cons(sc, data, lessp), sc->code); /* save and gc protect the original homogeneous vector and func */
+	sc->stack_end -= 4;
 	set_car(args, vec);
-	s7_gc_unprotect_at(sc, gc_loc);
+	push_stack(sc, OP_SORT_VECTOR_END, cons(sc, data, lessp), sc->code); /* save and gc protect the original homogeneous vector and func */
       }
       break;
 
@@ -36458,21 +36537,23 @@ static s7_pointer g_sort(s7_scheme *sc, s7_pointer args)
   k = ((int32_t)(n / 2)) + 1;
 
   lx = s7_make_vector(sc, (sc->safety == NO_SAFETY) ? 4 : 6);
-  gc_loc = s7_gc_protect(sc, lx);
-  sc->v = lx;
-
-  vector_element(lx, 0) = make_mutable_integer(sc, n);
-  vector_element(lx, 1) = make_mutable_integer(sc, k);
-  vector_element(lx, 2) = make_mutable_integer(sc, 0);
-  vector_element(lx, 3) = make_mutable_integer(sc, 0);
-  if (sc->safety > NO_SAFETY)
-    {
-      vector_element(lx, 4) = make_mutable_integer(sc, 0);
-      vector_element(lx, 5) = make_integer(sc, n * n);
-    }
-  push_stack(sc, OP_SORT, args, lx);
-  s7_gc_unprotect_at(sc, gc_loc);
-
+  {
+    uint32_t gc_loc;
+    gc_loc = s7_gc_protect_1(sc, lx);
+    sc->v = lx;
+    
+    vector_element(lx, 0) = make_mutable_integer(sc, n);
+    vector_element(lx, 1) = make_mutable_integer(sc, k);
+    vector_element(lx, 2) = make_mutable_integer(sc, 0);
+    vector_element(lx, 3) = make_mutable_integer(sc, 0);
+    if (sc->safety > NO_SAFETY)
+      {
+	vector_element(lx, 4) = make_mutable_integer(sc, 0);
+	vector_element(lx, 5) = make_integer(sc, n * n);
+      }
+    push_stack(sc, OP_SORT, args, lx);
+    s7_gc_unprotect_at(sc, gc_loc);
+  }
   return(sc->F);
   /* if the comparison function waffles, sort! can hang: (sort! '(1 2 3) (lambda (a b) (= a b)))
    * set 'safety to 1 to add a check for this loop, but the "safe" procedures are direct, so unchecked.
@@ -36543,7 +36624,6 @@ static s7_pointer vector_into_string(s7_pointer vect, s7_pointer dest)
 }
 
 
-
 /* -------- hash tables -------- */
 
 static hash_entry_t *hash_free_list = NULL;
@@ -37020,8 +37100,7 @@ static hash_entry_t *hash_float_1(s7_scheme *sc, s7_pointer table, uint32_t loc,
 
 static hash_entry_t *hash_float(s7_scheme *sc, s7_pointer table, s7_pointer key)
 {
-  /* give the equality check some room. also inf == inf and nan == nan
-   */
+  /* give the equality check some room. also inf == inf and nan == nan */
   if (type(key) == T_REAL)
     {
       s7_double keyval;
@@ -37835,15 +37914,14 @@ That is, (hash-table '(\"hi\" . 3) (\"ho\" . 32)) returns a new hash-table with
 
   /* this accepts repeated keys: (hash-table '(a . 1) '(a . 1)) */
   for (len = 0, x = args; is_pair(x); x = cdr(x), len++)
-    if ((!is_pair(car(x))) &&
-	(!is_null(car(x))))
+    if (!is_list(car(x)))
       return(wrong_type_argument(sc, sc->hash_table_symbol, position_of(x, args), car(x), T_PAIR));
 
   ht = s7_make_hash_table(sc, (len > sc->default_hash_table_length) ? len : sc->default_hash_table_length);
   if (len > 0)
     {
       uint32_t ht_loc;
-      ht_loc = s7_gc_protect(sc, ht); /* hash_table_set can cons, so we need to protect this */
+      ht_loc = s7_gc_protect_1(sc, ht); /* hash_table_set can cons, so we need to protect this */
       for (x = args; is_pair(x); x = cdr(x))
 	if (is_pair(car(x)))
 	  s7_hash_table_set(sc, ht, caar(x), cdar(x));
@@ -37873,7 +37951,7 @@ That is, (hash-table* 'a 1 'b 2) returns a new hash-table with the two key/value
     {
       uint32_t ht_loc;
       s7_pointer x, y;
-      ht_loc = s7_gc_protect(sc, ht); /* hash_table_set can cons, so we need to protect this */
+      ht_loc = s7_gc_protect_1(sc, ht); /* hash_table_set can cons, so we need to protect this */
 
       for (x = args, y = cdr(args); is_pair(x); x = cddr(x), y = unchecked_cdr(cdr(y)))
 	s7_hash_table_set(sc, ht, car(x), car(y));
@@ -38048,7 +38126,7 @@ static s7_pointer hash_table_reverse(s7_scheme *sc, s7_pointer old_hash)
 
   len = hash_table_mask(old_hash) + 1;
   new_hash = s7_make_hash_table(sc, len);
-  gc_loc = s7_gc_protect(sc, new_hash);
+  gc_loc = s7_gc_protect_1(sc, new_hash);
 
   /* I don't think the original hash functions can make any sense in general, so ignore them */
   old_lists = hash_table_elements(old_hash);
@@ -38063,7 +38141,6 @@ static s7_pointer hash_table_reverse(s7_scheme *sc, s7_pointer old_hash)
 }
 
 
-
 /* -------------------------------- functions -------------------------------- */
 
 bool s7_is_function(s7_pointer p)
@@ -38362,7 +38439,7 @@ static s7_pointer s7_macroexpand(s7_scheme *sc, s7_pointer mac, s7_pointer args)
 {
   push_stack(sc, OP_EVAL_DONE, sc->args, sc->code);
   sc->code = mac;
-  sc->args = copy_list(sc, args);
+  sc->args = copy_list_with_arglist_error(sc, args);
   new_frame(sc, closure_let(sc->code), sc->envir);
   eval(sc, OP_APPLY_LAMBDA);
   return(sc->value);
@@ -38381,7 +38458,7 @@ s7_pointer s7_make_function_star(s7_scheme *sc, const char *name, s7_function fn
   tmpbuf_malloc(internal_arglist, len);
   snprintf(internal_arglist, len, "'(%s)", arglist);
   local_args = s7_eval_c_string(sc, internal_arglist);
-  gc_loc = s7_gc_protect(sc, local_args);
+  gc_loc = s7_gc_protect_1(sc, local_args);
   tmpbuf_free(internal_arglist, len);
   n_args = safe_list_length(sc, local_args);  /* currently rest arg not supported, and we don't notice :allow-other-keys etc */
 
@@ -38459,9 +38536,9 @@ void s7_define_typed_function_star(s7_scheme *sc, const char *name, s7_function
 
 
 /* -------------------------------- documentation -------------------------------- */
-static s7_pointer get_doc(s7_scheme *sc, s7_pointer x)
+static s7_pointer funclet_entry(s7_scheme *sc, s7_pointer x, s7_pointer sym)
 {
-  check_closure_for(sc, x, sc->local_documentation_symbol);
+  check_closure_for(sc, x, sym);
   return(NULL);
 }
 
@@ -38480,7 +38557,7 @@ const char *s7_documentation(s7_scheme *sc, s7_pointer x)
       (is_c_macro(x)))
     return((char *)c_function_documentation(x));
 
-  val = get_doc(sc, x);
+  val = funclet_entry(sc, x, sc->local_documentation_symbol);
   if ((val) && (is_string(val)))
     return(string_value(val));
 
@@ -38501,6 +38578,20 @@ static s7_pointer g_documentation(s7_scheme *sc, s7_pointer args)
 	return(s7_make_string(sc, symbol_help(p)));
       p = s7_symbol_value(sc, p);
     }
+
+  /* (documentation func) should act like (documentation abs) -- available without (openlet (funclet func)) or (openlet func)
+   *   so we check that case ahead of time here, rather than going through check_method which does not
+   *   call find_let unless has_methods(func).  Adding T_HAS_METHODS to all closures causes other troubles.
+   */
+  if (has_closure_let(p))
+    {
+      s7_pointer func;
+      func = funclet_entry(sc, p, sc->documentation_symbol);
+      if (func)
+	return(s7_apply_function(sc, func, args));
+    }
+
+  /* it would be neat if this would worK (define x (let ((+documentation+ "hio")) (vector 1 2 3))) (documentation x) */
 #if DISABLE_DEPRECATED
   check_method(sc, p, sc->documentation_symbol, args);
 #else
@@ -38588,8 +38679,14 @@ static s7_pointer g_signature(s7_scheme *sc, s7_pointer args)
     case T_MACRO:   case T_MACRO_STAR:
     case T_BACRO:   case T_BACRO_STAR:
     case T_CLOSURE: case T_CLOSURE_STAR:
-      check_closure_for(sc, p, sc->local_signature_symbol); /* this examines funclet */
-      return(sc->F);
+      {
+	s7_pointer func;
+	func = funclet_entry(sc, p, sc->local_signature_symbol);
+	if (func) return(func);
+	func = funclet_entry(sc, p, sc->signature_symbol);
+	if (func) return(s7_apply_function(sc, func, args));
+	return(sc->F);
+      }
 
     case T_HASH_TABLE:   return(sc->hash_table_signature);
     case T_VECTOR:       return(sc->vector_signature);
@@ -38916,7 +39013,8 @@ s7_pointer s7_c_object_let(s7_pointer obj)
 
 s7_pointer s7_c_object_set_let(s7_pointer obj, s7_pointer e)
 {
-  if (!is_immutable(obj))
+  if ((!is_immutable(obj)) &&
+      (is_let(e)))
     c_object_set_let(obj, e);
   return(e);
 }
@@ -38967,7 +39065,6 @@ static s7_pointer c_object_type_to_let(s7_scheme *sc, s7_pointer cobj)
 }
 
 
-
 /* -------- dilambda -------- */
 
 s7_pointer s7_dilambda(s7_scheme *sc,
@@ -39035,6 +39132,8 @@ static s7_pointer c_set_setter(s7_scheme *sc, s7_pointer p, s7_pointer setter)
     case T_BACRO:   case T_BACRO_STAR:
     case T_CLOSURE: case T_CLOSURE_STAR:
       closure_set_setter(p, setter);
+      if (setter == sc->F) 
+	closure_set_no_setter(p);
       break;
 
     case T_C_FUNCTION:
@@ -39085,12 +39184,6 @@ s7_pointer s7_setter(s7_scheme *sc, s7_pointer obj)
   return(closure_setter(obj));
 }
 
-static s7_pointer funclet_setter(s7_scheme *sc, s7_pointer fnc)
-{
-  check_closure_for(sc, fnc, sc->local_setter_symbol);
-  return(sc->F);
-}
-
 static s7_pointer g_setter(s7_scheme *sc, s7_pointer args)
 {
   #define H_setter "(setter obj) returns the setter associated with obj, or #f"
@@ -39103,16 +39196,30 @@ static s7_pointer g_setter(s7_scheme *sc, s7_pointer args)
     case T_MACRO:   case T_MACRO_STAR:
     case T_BACRO:   case T_BACRO_STAR:
     case T_CLOSURE: case T_CLOSURE_STAR:
-      if ((!is_procedure(closure_setter(p))) &&
-	  (!closure_no_setter(p)))
+      if (is_any_procedure(closure_setter(p)))                /* setter already known */
+	return(closure_setter(p));
+      if (!closure_no_setter(p))
 	{
 	  s7_pointer f;
-	  f = funclet_setter(sc, p);
-	  if (is_procedure(f))
-	    closure_set_setter(p, f);
-	  else closure_set_no_setter(p);
+	  f = funclet_entry(sc, p, sc->local_setter_symbol); /* look for +setter+, save value as closure_setter(p) */
+	  if (f)
+	    {
+	      if (f == sc->F)
+		{
+		  closure_set_no_setter(p);
+		  return(sc->F);
+		}
+	      if (!is_any_procedure(f))
+		return(s7_wrong_type_arg_error(sc, "setter", 0, p, "a procedure or a reasonable facsimile thereof"));
+	      closure_set_setter(p, f);
+	      return(f);
+	    }
+	  f = funclet_entry(sc, p, sc->setter_symbol);       /* look for setter */
+	  if (f)
+	    return(s7_apply_function(sc, f, args));
+	  closure_set_no_setter(p);
 	}
-      return(closure_setter(p));
+      return(sc->F);
 
     case T_C_FUNCTION:
     case T_C_FUNCTION_STAR:
@@ -39383,8 +39490,7 @@ static s7_pointer g_arity(s7_scheme *sc, s7_pointer args)
 
 static bool closure_is_aritable(s7_scheme *sc, s7_pointer x, s7_pointer x_args, int32_t args)
 {
-  /* x_args is unprocessed -- it is exactly the list as used in the closure definition
-   */
+  /* x_args is unprocessed -- it is exactly the list as used in the closure definition */
   int32_t len;
 
   if (args == 0)
@@ -39513,7 +39619,6 @@ static s7_pointer g_is_sequence(s7_scheme *sc, s7_pointer args)
 static bool is_sequence_b(s7_pointer p) {return(is_simple_sequence(p));}
 
 
-
 /* -------------------------------- symbol-setter ------------------------------------------------ */
 
 static uint32_t protect_setter(s7_scheme *sc, s7_pointer acc)
@@ -39713,7 +39818,6 @@ static s7_pointer bind_symbol_with_setter(s7_scheme *sc, opcode_t op, s7_pointer
 }
 
 
-
 /* -------------------------------- hooks -------------------------------- */
 
 s7_pointer s7_hook_functions(s7_scheme *sc, s7_pointer hook)
@@ -39730,7 +39834,6 @@ s7_pointer s7_hook_set_functions(s7_scheme *sc, s7_pointer hook, s7_pointer func
 }
 
 
-
 /* -------------------------------- eq etc -------------------------------- */
 
 bool s7_is_eq(s7_pointer obj1, s7_pointer obj2)
@@ -39783,7 +39886,6 @@ static s7_pointer g_is_eqv(s7_scheme *sc, s7_pointer args)
 }
 
 
-
 static bool floats_are_morally_equal(s7_scheme *sc, s7_double x, s7_double y)
 {
   if (x == y) return(true);
@@ -40053,9 +40155,9 @@ static bool let_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *
 
   for (ex = x; (is_let(ex)) && (ex != sc->rootlet); ex = outlet(ex))
     for (px = let_slots(ex); is_slot(px); px = next_slot(px))
-      if (symbol_tag(slot_symbol(px)) == 0)                /* unshadowed */
+      if (symbol_tag(slot_symbol(px)) == 0)                  /* unshadowed */
 	{
-	  symbol_set_tag(slot_symbol(px), sc->syms_tag);      /* values don't match */
+	  symbol_set_tag(slot_symbol(px), sc->syms_tag);     /* values don't match */
 	  if (((!morally) && (!slots_match(sc, px, y, nci))) ||
 	      ((morally) && (!slots_morally_match(sc, px, y, nci))))
 	    return(false);
@@ -40757,11 +40859,11 @@ static s7_pointer pair_length(s7_scheme *sc, s7_pointer a)
   return(real_infinity);
 }
 
-static s7_pointer nil_length(s7_scheme *sc, s7_pointer lst) {return(small_int(0));}
-static s7_pointer v_length(s7_scheme *sc, s7_pointer v) {return(make_integer(sc, vector_length(v)));}
-static s7_pointer str_length(s7_scheme *sc, s7_pointer v) {return(make_integer(sc, string_length(v)));}
-static s7_pointer iter_length(s7_scheme *sc, s7_pointer lst) {return(make_integer(sc, iterator_length(lst)));} /* in several cases, this is incorrect */
-static s7_pointer h_length(s7_scheme *sc, s7_pointer lst) {return(make_integer(sc, hash_table_mask(lst) + 1));}
+static s7_pointer nil_length(s7_scheme *sc, s7_pointer lst)  {return(small_int(0));}
+static s7_pointer v_length(s7_scheme *sc, s7_pointer v)      {return(make_integer(sc, vector_length(v)));}
+static s7_pointer str_length(s7_scheme *sc, s7_pointer v)    {return(make_integer(sc, string_length(v)));}
+static s7_pointer h_length(s7_scheme *sc, s7_pointer lst)    {return(make_integer(sc, hash_table_mask(lst) + 1));}
+static s7_pointer iter_length(s7_scheme *sc, s7_pointer lst) {return(s7_length(sc, iterator_sequence(lst)));}
 
 static s7_pointer c_obj_length(s7_scheme *sc, s7_pointer lst)
 {
@@ -40808,7 +40910,6 @@ static void init_length_functions(void)
   length_functions[T_INPUT_PORT]   = io_length;
 }
 
-
 static s7_pointer s7_length(s7_scheme *sc, s7_pointer lst)
 {
   return((*length_functions[unchecked_type(lst)])(sc, lst));
@@ -40981,7 +41082,7 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 	    uint32_t gc_loc;
 	    s7_pointer new_hash;
 	    new_hash = s7_make_hash_table(sc, hash_table_mask(source) + 1);
-	    gc_loc = s7_gc_protect(sc, new_hash);
+	    gc_loc = s7_gc_protect_1(sc, new_hash);
 	    hash_table_checker(new_hash) = hash_table_checker(source);
 	    if (hash_chosen(source)) hash_set_chosen(new_hash);
 	    hash_table_mapper(new_hash) = hash_table_mapper(source);
@@ -41235,8 +41336,8 @@ s7_pointer s7_copy(s7_scheme *sc, s7_pointer args)
 
 	    mi = make_mutable_integer(sc, start);
 	    mj = make_mutable_integer(sc, end);
-	    gc_loc1 = s7_gc_protect(sc, mi);
-	    gc_loc2 = s7_gc_protect(sc, mj);
+	    gc_loc1 = s7_gc_protect_1(sc, mi);
+	    gc_loc2 = s7_gc_protect_1(sc, mj);
 	    ref = c_object_ref(sc, source);
 	    set = c_object_set(sc, dest);
 
@@ -41723,7 +41824,11 @@ static s7_pointer g_reverse_in_place(s7_scheme *sc, s7_pointer args)
 
     default:
       if (is_immutable(p))
-	return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->reverseb_symbol, p)));
+	{
+	  if (is_simple_sequence(p))
+	    return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->reverseb_symbol, p)));
+	  return(simple_wrong_type_argument_with_type(sc, sc->reverseb_symbol, p, a_sequence_string));
+	}
       if ((is_simple_sequence(p)) &&
 	  (!has_methods(p)))
 	return(simple_wrong_type_argument_with_type(sc, sc->reverseb_symbol, p, s7_make_string_wrapper(sc, "a vector, string, or list")));
@@ -41991,13 +42096,12 @@ static s7_pointer string_append(s7_scheme *sc, s7_pointer args)
 static s7_pointer hash_table_append(s7_scheme *sc, s7_pointer args)
 {
   s7_pointer new_hash, p;
-  uint32_t gc_loc;
   new_hash = s7_make_hash_table(sc, sc->default_hash_table_length);
-  gc_loc = s7_gc_protect(sc, new_hash);
+  push_stack(sc, OP_GC_PROTECT, args, new_hash);
   for (p = args; is_pair(p); p = cdr(p))
     s7_copy(sc, set_plist_2(sc, car(p), new_hash));
   set_plist_2(sc, sc->nil, sc->nil);
-  s7_gc_unprotect_at(sc, gc_loc);
+  sc->stack_end -= 4;
   return(new_hash);
 }
 
@@ -42191,7 +42295,7 @@ static s7_pointer object_to_list(s7_scheme *sc, s7_pointer obj)
 	result = make_list(sc, len, sc->nil);
 	sc->temp8 = result;
 	z = list_1(sc, sc->F);
-	gc_z = s7_gc_protect(sc, z);
+	gc_z = s7_gc_protect_1(sc, z);
 
 	set_car(sc->z2_1, sc->x);
 	set_car(sc->z2_2, sc->z);
@@ -42211,7 +42315,6 @@ static s7_pointer object_to_list(s7_scheme *sc, s7_pointer obj)
 }
 
 
-
 /* -------------------------------- object->let -------------------------------- */
 
 static s7_pointer stack_entries(s7_scheme *sc, s7_pointer stack, int64_t top);
@@ -42233,7 +42336,7 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
       return(s7_inlet(sc, s7_list(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_unspecified_symbol)));
 
     case T_UNDEFINED:
-      return(s7_inlet(sc, s7_list(sc, 4, sc->value_symbol, obj, sc->type_symbol, obj)));
+      return(s7_inlet(sc, s7_list(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_undefined_symbol)));
 
     case T_SYNTAX:
       return(s7_inlet(sc, s7_list(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_syntax_symbol)));
@@ -42315,7 +42418,7 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
 	s7_pointer let;
 	uint32_t gc_loc;
 	let = s7_inlet(sc, s7_list(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_continuation_symbol));
-	gc_loc = s7_gc_protect(sc, let);
+	gc_loc = s7_gc_protect_1(sc, let);
 	s7_varlet(sc, let, s7_make_symbol(sc, "stack"), stack_entries(sc, continuation_stack(obj), continuation_stack_top(obj)));
 	s7_gc_unprotect_at(sc, gc_loc);
 	return(let);
@@ -42450,7 +42553,7 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
 	    if (func != sc->undefined)
 	      {
 		uint32_t gc_loc;
-		gc_loc = s7_gc_protect(sc, let);
+		gc_loc = s7_gc_protect_1(sc, let);
 		s7_apply_function(sc, func, list_2(sc, obj, let));
 		s7_gc_unprotect_at(sc, gc_loc);
 	      }
@@ -42476,7 +42579,7 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
 	    if (func != sc->undefined)
 	      {
 		uint32_t gc_loc;
-		gc_loc = s7_gc_protect(sc, let);
+		gc_loc = s7_gc_protect_1(sc, let);
 		s7_apply_function(sc, func, list_2(sc, obj, let));
 		s7_gc_unprotect_at(sc, gc_loc);
 	      }
@@ -42488,21 +42591,21 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
     case T_OUTPUT_PORT:
       {
 	s7_pointer let;
-	uint32_t gc_loc;
 	let = s7_inlet(sc, s7_list(sc, 8, sc->value_symbol, obj,
 				   sc->type_symbol, (is_input_port(obj)) ? sc->is_input_port_symbol : sc->is_output_port_symbol,
 				   s7_make_symbol(sc, "port-type"), 
 				     (is_string_port(obj)) ? sc->string_symbol : 
 				       ((is_file_port(obj)) ? s7_make_symbol(sc, "file") : s7_make_symbol(sc, "function")),
 				   s7_make_symbol(sc, "closed"), s7_make_boolean(sc, port_is_closed(obj))));
-	gc_loc = s7_gc_protect(sc, let);
+	push_stack_no_let_no_code(sc, OP_GC_PROTECT, let);
 	if (is_file_port(obj))
 	  {
 	    s7_varlet(sc, let, s7_make_symbol(sc, "file"), g_port_filename(sc, set_plist_1(sc, obj)));
 	    if (is_input_port(obj))
 	      s7_varlet(sc, let, s7_make_symbol(sc, "line"), g_port_line_number(sc, set_plist_1(sc, obj)));
 	  }
-	if ((port_data(obj)) &&  /* file port might not have a data buffer */
+	if ((is_string_port(obj)) && /* file port might not have a data buffer */
+	    (port_data(obj)) &&  
 	    (port_data_size(obj) > 0))
 	  {
 	    s7_varlet(sc, let, sc->length_symbol, s7_make_integer(sc, port_data_size(obj)));
@@ -42510,9 +42613,10 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
 	    /* I think port_data need not be null-terminated, but s7_make_string assumes it is:
 	     *   both valgrind and lib*san complain about the uninitialized data during strlen.
 	     */
-	    s7_varlet(sc, let, s7_make_symbol(sc, "data"), s7_make_string_with_length(sc, (const char *)port_data(obj), port_position(obj)));
+	    if (port_position(obj) < sc->max_string_length)
+	      s7_varlet(sc, let, s7_make_symbol(sc, "data"), s7_make_string_with_length(sc, (const char *)port_data(obj), port_position(obj)));
 	  }
-	s7_gc_unprotect_at(sc, gc_loc);
+	sc->stack_end -= 4;
 	return(let);
       }
 
@@ -42529,7 +42633,7 @@ static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
 	let = s7_inlet(sc, s7_list(sc, 6, sc->value_symbol, obj,
 				   sc->type_symbol, (is_t_procedure(obj)) ? sc->is_procedure_symbol : sc->is_macro_symbol,
 				   s7_make_symbol(sc, "arity"), s7_arity(sc, obj)));
-	gc_loc = s7_gc_protect(sc, let);
+	gc_loc = s7_gc_protect_1(sc, let);
 
 	sig = signature(sc, obj);
 	if (is_pair(sig))
@@ -42829,7 +42933,7 @@ static char *stacktrace_1(s7_scheme *sc, int32_t frames_max, int32_t code_cols,
   int64_t loc, top, frames = 0;
   uint32_t gc_syms;
 
-  gc_syms = s7_gc_protect(sc, sc->nil);
+  gc_syms = s7_gc_protect_1(sc, sc->nil);
   str = NULL;
   top = (sc->stack_end - sc->stack_start) / 4; /* (*s7* 'stack_top), not s7_stack_top! */
 
@@ -42852,8 +42956,7 @@ static char *stacktrace_1(s7_scheme *sc, int32_t frames_max, int32_t code_cols,
 	  free(errstr);
 	}
 
-      /* now if OP_ERROR_HOOK_QUIT is in the stack, jump past it!
-       */
+      /* now if OP_ERROR_HOOK_QUIT is in the stack, jump past it! */
       loc = stacktrace_find_error_hook_quit(sc);
       if (loc > 0) top = (loc + 1) / 4;
     }
@@ -43016,7 +43119,6 @@ s7_pointer s7_history(s7_scheme *sc)
 }
 
 
-
 /* -------- error handlers -------- */
 
 static const char *make_type_name(s7_scheme *sc, const char *name, int32_t article)
@@ -43078,7 +43180,7 @@ static const char *type_name_from_type(s7_scheme *sc, int32_t typ, int32_t artic
   static const char *dynamic_winds[2] =  {"dynamic-wind",       "a dynamic-wind"};
   static const char *hash_tables[2] =    {"hash-table",         "a hash-table"};
   static const char *iterators[2] =      {"iterator",           "an iterator"};
-  static const char *environments[2] =   {"environment",        "an environment"};
+  static const char *lets[2] =           {"let",                "a let"};
   static const char *integers[2] =       {"integer",            "an integer"};
   static const char *big_integers[2] =   {"big integer",        "a big integer"};
   static const char *ratios[2] =         {"ratio",              "a ratio"};
@@ -43131,7 +43233,7 @@ static const char *type_name_from_type(s7_scheme *sc, int32_t typ, int32_t artic
     case T_DYNAMIC_WIND:    return(dynamic_winds[article]);
     case T_HASH_TABLE:      return(hash_tables[article]);
     case T_ITERATOR:        return(iterators[article]);
-    case T_LET:             return(environments[article]);
+    case T_LET:             return(lets[article]);
     case T_COUNTER:         return(counters[article]);
     case T_OPTLIST:         return(optlists[article]);
     case T_BAFFLE:          return(baffles[article]);
@@ -43485,7 +43587,6 @@ static s7_pointer g_catch(s7_scheme *sc, s7_pointer args)
   return(sc->F);
 }
 
-/* s7_catch(sc, tag, body, error): return(g_catch(sc, list(sc, 3, tag, body, error))) */
 
 /* error reporting info -- save filename and line number */
 
@@ -43578,7 +43679,7 @@ It has the additional local variables: error-type, error-data, error-code, error
     }
 
   e = let_copy(sc, sc->owlet);
-  gc_loc = s7_gc_protect(sc, e);
+  gc_loc = s7_gc_protect_1(sc, e);
 
   for (x = let_slots(e); is_slot(x); x = next_slot(x))
     {
@@ -43948,8 +44049,8 @@ static bool catch_out_function(s7_scheme *sc, int32_t i, s7_pointer type, s7_poi
   s7_pointer x;
   x = stack_code(sc->stack, i);                /* "code" = port that we opened */
   s7_close_output_port(sc, x);
-  x = stack_args(sc->stack, i);                /* "args" = port that we shadowed, if not #f */
-  if (x != sc->F)
+  x = stack_args(sc->stack, i);                /* "args" = port that we shadowed, if not #<gc-nil> */
+  if (x != sc->gc_nil)
     sc->output_port = x;
   return(false);
 }
@@ -44013,8 +44114,7 @@ static void init_catchers(void)
   catchers[OP_UNWIND_OUTPUT] =       catch_out_function;
   catchers[OP_UNWIND_INPUT] =        catch_in_function;
   catchers[OP_READ_DONE] =           catch_read_function;      /* perhaps an error during (read) */
-  catchers[OP_EVAL_STRING_1] =       catch_eval_function;      /* perhaps an error happened before we could push the OP_EVAL_STRING_2 */
-  catchers[OP_EVAL_STRING_2] =       catch_eval_function;
+  catchers[OP_EVAL_STRING] =         catch_eval_function; 
   catchers[OP_BARRIER] =             catch_barrier_function;
   catchers[OP_DEACTIVATE_GOTO] =     catch_goto_function;
   catchers[OP_ERROR_HOOK_QUIT] =     catch_hook_function;
@@ -44082,7 +44182,6 @@ s7_pointer s7_error(s7_scheme *sc, s7_pointer type, s7_pointer info)
    *   call its error-handler, else if *error-hook* is bound, call it,
    *   else send out the error info ourselves.
    */
-  sc->no_values = 0;
   sc->format_depth = -1;
   sc->gc_off = false;            /* this is in case we were triggered from the sort function -- clumsy! */
 
@@ -44701,7 +44800,6 @@ static void improper_arglist_error(s7_scheme *sc)
 }
 
 
-
 /* -------------------------------- leftovers -------------------------------- */
 
 
@@ -45030,10 +45128,6 @@ s7_pointer s7_eval(s7_scheme *sc, s7_pointer code, s7_pointer e)
 	fprintf(stderr, "bad environment arg to %s: %p\n", __func__, e);
     }
 
-#if DEBUGGING
-  _NFre(code);
-#endif
-
   store_jump_info(sc);
   set_jump_info(sc, EVAL_SET_JUMP);
   if (jump_loc != NO_JUMP)
@@ -45124,7 +45218,7 @@ s7_pointer s7_call(s7_scheme *sc, s7_pointer func, s7_pointer args)
       if (jump_loc != ERROR_JUMP)
 	eval(sc, sc->cur_op);
 
-      if ((jump_loc == CATCH_JUMP) &&        /* we're returning (back to eval) from an error in catch */
+      if ((jump_loc == CATCH_JUMP) &&                /* we're returning (back to eval) from an error in catch */
 	  (sc->stack_end == sc->stack_start))
 	push_stack_op(sc, OP_ERROR_QUIT);
     }
@@ -45321,7 +45415,6 @@ static s7_pointer s7_version_p(void) {return(s7_make_string(cur_sc, "s7 " S7_VER
 void s7_quit(s7_scheme *sc)
 {
   sc->longjmp_ok = false;
-
   pop_input_port(sc);
   stack_reset(sc);
   push_stack_op_let(sc, OP_EVAL_DONE);
@@ -46179,7 +46272,6 @@ static s7_pointer all_x_c_c_opssq(s7_scheme *sc, s7_pointer arg)
 }
 
 
-
 /* p_pd (oscil o (oscil o1 x)) s_opssq
  * d_pd for (oscil o1 x)?     
  * p_dd for (* .1 (tap d x))   c_opssq
@@ -46758,7 +46850,7 @@ static s7_function all_x_eval(s7_scheme *sc, s7_pointer holder, s7_pointer e, sa
 	    case HOP_SAFE_C_S:
 	      {
 		bool is_local;
-		is_local = (is_local_symbol(cdr(arg)) || (is_immutable(cadr(arg))));
+		is_local = (is_local_symbol(cdr(arg)) || ((is_immutable(cadr(arg))) && (!is_keyword(cadr(arg)))));
 		if (car(arg) == sc->cdr_symbol) return((is_local) ? local_x_cdr_s : all_x_cdr_s);
 		if (car(arg) == sc->car_symbol) return((is_local) ? local_x_car_s : all_x_car_s);
 		if (car(arg) == sc->cadr_symbol) return((is_local) ? local_x_cadr_s : all_x_cadr_s);
@@ -47132,6 +47224,7 @@ static bool return_false(s7_scheme *sc, s7_pointer expr, const char *func, int32
 /* all_x fallback for all optimizers */
 static s7_function all_x_optimize(s7_scheme *sc, s7_pointer expr)
 {
+  /* fprintf(stderr, "all_x: %s\n", DISPLAY(expr)); */
   if ((is_optimized(car(expr))) &&
       (is_all_x_safe(sc, car(expr))))
     {
@@ -52839,7 +52932,6 @@ static bool opt_cell_cond(s7_scheme *sc, s7_pointer car_x)
   s7_pointer p, last_clause = NULL;
   opt_info *top;
   int32_t branches = 0, max_blen = 0, start_pc;
-  
   top = alloc_opo(sc, car_x);
   start_pc = sc->pc;
   for (p = cdr(car_x); is_pair(p); p = cdr(p), branches++)
@@ -53184,7 +53276,8 @@ static bool opt_cell_if(s7_scheme *sc, s7_pointer car_x, int32_t len)
       opt_info *next;
       next = sc->opts[sc->pc];
       if ((is_pair(cadr(car_x))) &&
-	  (caadr(car_x) == sc->not_symbol))
+	  (caadr(car_x) == sc->not_symbol) &&
+	  (is_pair(cdadr(car_x)))) /* (if (not)... */
 	{
 	  if ((bool_optimize(sc, cdadr(car_x))) &&
 	      (cell_optimize(sc, cddr(car_x))))
@@ -53410,13 +53503,19 @@ static s7_pointer opt_let_temporarily(void *p)
 
 static bool opt_cell_let_temporarily(s7_scheme *sc, s7_pointer car_x, int32_t len)
 {
-  if ((len > 2) &&
-      (is_pair(cadr(car_x))) &&
-      (is_pair(caadr(car_x))) &&
-      (is_null(cdadr(car_x))) &&        /* just one var for now */
-      (is_symbol(caaadr(car_x))) &&
-      (!is_immutable(caaadr(car_x))) &&
-      (!is_syntactic(caaadr(car_x))))
+  s7_pointer vars;
+  if (len <= 2)
+    return(false);
+
+  vars = cadr(car_x);
+  if ((is_pair(vars)) &&
+      (is_pair(car(vars))) &&
+      (is_null(cdr(vars))) &&        /* just one var for now */
+      (is_symbol(caar(vars))) &&     /*   and var is (sym val) */
+      (is_pair(cdar(vars))) &&
+      (is_null(cddar(vars))) &&
+      (!is_immutable(caar(vars))) &&
+      (!is_syntactic(caar(vars))))
     {
       s7_pointer p;
       opt_info *opc;
@@ -54166,7 +54265,7 @@ static bool p_syntax(s7_scheme *sc, s7_pointer car_x, int32_t len)
   switch (op)
     {
     case OP_QUOTE:
-      if (is_pair(cdr(car_x)))
+      if ((is_pair(cdr(car_x))) && (is_null(cddr(car_x))))
 	return(opt_cell_quote(sc, car_x));
       break;
       
@@ -54402,6 +54501,7 @@ static bool opt_bool_call_1_1(void *p)       {return(opt_call_1_1(p) != cur_sc->
 
 static bool funcall_optimize(s7_scheme *sc, s7_pointer car_x, s7_pointer s_func)
 {
+  /* fprintf(stderr, "funcall opt %s\n", DISPLAY(car_x)); */
   if (sc->safety > CLM_OPTIMIZATION_SAFETY)
     return(false);
 
@@ -54411,6 +54511,9 @@ static bool funcall_optimize(s7_scheme *sc, s7_pointer car_x, s7_pointer s_func)
       int32_t i;
       s7_pointer p;
 
+      if (!s7_is_aritable(sc, s_func, (int32_t)s7_list_length(sc, cdr(car_x))))
+	return(return_false(sc, car_x, __func__, __LINE__));
+
       opc = alloc_opo(sc, car_x);
       for (i = 0, p = cdr(car_x); is_pair(p); i++, p = cdr(p))
 	if (!cell_optimize(sc, p))
@@ -54433,10 +54536,8 @@ static bool funcall_optimize(s7_scheme *sc, s7_pointer car_x, s7_pointer s_func)
 	  s7_pointer olst;
 	  olst = closure_optlist(s_func);
 	  if (optlist_num_args(olst) != opc->v1.i)
-	    {
-	      /* fprintf(stderr, "wrong argnum: %" PRId64 " %d\n", opc->v1.i, optlist_num_args(olst)); */
-	      return(return_false(sc, car_x, __func__, __LINE__));
-	    }
+	    return(return_false(sc, car_x, __func__, __LINE__));
+
 	  opc->v3.i = optlist_num_exprs(olst);
 	  opc->v4.i = optlist_pc(olst);
 	  opc->v5.i = sc->pc - 1;
@@ -54474,6 +54575,12 @@ static bool funcall_optimize(s7_scheme *sc, s7_pointer car_x, s7_pointer s_func)
 	      optlist_set_pc(op, start);                          /* loaded at this position below */
 
 	      sc->envir = closure_let(s_func);
+	      /* since this is a safe function, the closure_let reflects the previous call in its slot values
+	       *    normally we can't make any optimizations based on that
+	       */
+	      for (p = let_slots(sc->envir); is_slot(p); p = next_slot(p))
+		slot_set_value(p, sc->gc_nil);
+
 	      for (p = closure_body(s_func); is_pair(p); p = cdr(p))
 		if (!cell_optimize(sc, p))
 		  break;
@@ -54634,8 +54741,8 @@ static bool float_optimize(s7_scheme *sc, s7_pointer expr)
 	{
 	  if (is_macro(s_func))
 	    {
-	      if (!pair_no_opt(expr))
-		return(float_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))));
+ 	      if (!pair_no_opt(expr))
+ 		return(float_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))));
 	    }
 	  else
 	    {
@@ -54725,8 +54832,8 @@ static bool int_optimize(s7_scheme *sc, s7_pointer expr)
 	{
 	  if (is_macro(s_func))
 	    {
-	      if (!pair_no_opt(expr))
-		return(int_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))));
+ 	      if (!pair_no_opt(expr))
+ 		return(int_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))));
 	    }
 	  else
 	    {
@@ -54915,14 +55022,7 @@ static bool cell_optimize(s7_scheme *sc, s7_pointer expr)
       else
 	{
 	  if (is_macro(s_func))
-	    {
-	      if (!pair_no_opt(expr))
-		{
-		  if (cell_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))))
-		    return(true);
-		  set_pair_no_opt(expr);
-		}
-	    }
+	    return(return_false(sc, car_x, __func__, __LINE__)); /* macroexpand+cell_optimize here restarts the optimize process */
 	  else
 	    {
 	      if ((!pair_no_opt(car_x)) &&
@@ -55024,15 +55124,7 @@ static bool bool_optimize_nw(s7_scheme *sc, s7_pointer expr)
       else
 	{
 	  if (is_macro(s_func))
-	    {
-#if 0
-	      if (!pair_no_opt(expr))
-		{
-		  return(bool_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr)))));
-		}
-#endif
-	    }
-#if 1
+	    return(false);
 	  else
 	    {
 	      if ((!pair_no_opt(car_x)) &&
@@ -55053,7 +55145,6 @@ static bool bool_optimize_nw(s7_scheme *sc, s7_pointer expr)
 		  set_pair_no_opt(car_x);
 		}
 	    }
-#endif
 	}
     }
   return(return_false(sc, car_x, __func__, __LINE__));
@@ -55592,8 +55683,6 @@ static s7_pointer g_map_closure(s7_scheme *sc, s7_pointer args)
   f = car(args);
   body = closure_body(f);
 
-  /* fprintf(stderr, "f: %p, args: %s, body: %s %s\n", f, DISPLAY(args), DISPLAY(body), DISPLAY(closure_let(f))); */
-
   if ((is_pair(seq)) &&
       (!pair_no_opt(body)) &&
       (is_optimized(car(body)))) /* for index.scm? */
@@ -55842,6 +55931,7 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
   int64_t top;
   s7_pointer x;
   top = s7_stack_top(sc) - 1; /* stack_end - stack_start: if this is negative, we're in big trouble */
+  /* fprintf(stderr, "splice %s %s\n", op_names[stack_op(sc->stack, top)], DISPLAY(sc->args)); */
 
   switch (stack_op(sc->stack, top))
     {
@@ -55870,7 +55960,6 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
       
     case OP_C_AP_1:
     case OP_EVAL_ARGS_P_2:
-    case OP_EVAL_ARGS_P_4:
       vector_element(sc->stack, top) = (s7_pointer)OP_EVAL_ARGS_P_2_MV;
       return(args);
       
@@ -55878,6 +55967,10 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
       vector_element(sc->stack, top) = (s7_pointer)OP_EVAL_ARGS_P_3_MV;
       return(args);
       
+    case OP_EVAL_ARGS_P_4:
+      vector_element(sc->stack, top) = (s7_pointer)OP_EVAL_ARGS_P_4_MV;
+      return(args);
+      
     case OP_C_P_1:
     case OP_SAFE_C_P_1:
     case OP_NOT_P_1:
@@ -55926,44 +56019,40 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
       stack_code(sc->stack, top) = car(x);
       return(cadr(x));
       
-      /* look for errors here rather than glomming up the set! and let code */
+      /* look for errors here rather than glomming up the set! and let code. */
     case OP_SET_SAFE:
     case OP_SET1:                                             /* (set! var (values 1 2 3)) */
-      set_multiple_value(args);
-      eval_error(sc, "can't set! some variable to ~S", args);
+      eval_error(sc, "can't set! some variable to ~S", cons(sc, sc->values_symbol, args));
       
     case OP_SET_PAIR_P_1:
-      set_multiple_value(args);
-      eval_error(sc, "too many values to set! ~S", args);
+      eval_error(sc, "too many values to set! ~S", cons(sc, sc->values_symbol, args));
       
     case OP_LET1:                                             /* (let ((var (values 1 2 3))) ...) */
     case OP_LET_ONE_1:
     case OP_LET_Z_1:
-      set_multiple_value(args);
-      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->let_symbol, args);
+      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->let_symbol, cons(sc, sc->values_symbol, args)); 
       /* "some variable" is ugly, but the actual name is tricky to find at this point --
        *   it's in main_stack_args, but finding the right one is a mess.  It isn't sc->code.
        */
       
     case OP_LET_STAR1:
-      set_multiple_value(args);
-      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->let_star_symbol, args);
+      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->let_star_symbol, cons(sc, sc->values_symbol, args));
       
     case OP_LETREC1:
-      set_multiple_value(args);
-      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->letrec_symbol, args);
+      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->letrec_symbol, cons(sc, sc->values_symbol, args));
 
     case OP_LETREC_STAR1:
-      set_multiple_value(args);
-      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->letrec_star_symbol, args);
+      eval_error_with_caller(sc, "~A: can't bind some variable to ~S", sc->letrec_star_symbol, cons(sc, sc->values_symbol, args));
       
       /* handle 'and' and 'or' specially */
+    case OP_AND_P1:
     case OP_AND1:
       for (x = args; is_not_null(cdr(x)); x = cdr(x))
 	if (car(x) == sc->F)
 	  return(sc->F);
       return(car(x));
       
+    case OP_OR_P1:
     case OP_OR1:
       for (x = args; is_not_null(cdr(x)); x = cdr(x))
 	if (car(x) != sc->F)
@@ -55973,7 +56062,11 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
     case OP_BARRIER:
       pop_stack(sc);
       return(splice_in_values(sc, args));
-      
+
+    case OP_GC_PROTECT:
+      sc->stack_end -= 4;
+      return(splice_in_values(sc, args));
+
     case OP_BEGIN1:
       /* here we have a values call with nothing to splice into.  So flush it...
        *   otherwise the multiple-values bit gets set in some innocent list and never unset:
@@ -55984,6 +56077,9 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
        */
       return(args);
       
+    case OP_DEACTIVATE_GOTO:  /* (+ (call-with-exit (lambda (ret) (values 1 2 3)))) */
+      call_exit_active(stack_args(sc->stack, top)) = false;
+
     case OP_CATCH:
     case OP_CATCH_1:
     case OP_CATCH_2:
@@ -56003,10 +56099,15 @@ static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
       return(car(x));              /* sc->value from OP_READ_LIST point of view */
       
     default:
+      /* fprintf(stderr, "splice on: %s\n", op_names[stack_op(sc->stack, top)]); */
       break;
     }
 
-  /* let it meander back up the call chain until someone knows where to splice it */
+  /* let it meander back up the call chain until someone knows where to splice it
+   *   the is_immutable check protects against setting the multiple value bit on (say) sc->hash_table_signature
+   */
+  if (is_immutable(args))
+    args = copy_list(sc, args);
   set_multiple_value(args);
   return(args);
 }
@@ -56041,9 +56142,6 @@ static s7_pointer g_list_values(s7_scheme *sc, s7_pointer args)
 
   s7_pointer x, y, px;
 
-  if (sc->no_values == 0)
-    return(args);
-
   for (x = args; is_pair(x); x = cdr(x))
     if (car(x) == sc->no_value)
       break;
@@ -56051,11 +56149,7 @@ static s7_pointer g_list_values(s7_scheme *sc, s7_pointer args)
   if (is_null(x))
     return(args);
 
-  /* this is not maximally efficient, but it's not important:
-   *   we've hit the rare special case where (apply-values ())) needs to be ignored
-   *   in the splicing process (i.e. the arglist acts as if the thing never happened)
-   *   (list-values (apply-values ())) -> (), also (list-values (apply-values)) -> ()
-   */
+  /* splice out #<no-values>, (list-values (apply-values ())) -> () etc */
   px = sc->nil;
   for (x = args, y = args; is_pair(y); y = cdr(y))
     if (car(y) != sc->no_value)
@@ -56070,7 +56164,6 @@ static s7_pointer g_list_values(s7_scheme *sc, s7_pointer args)
     set_cdr(x, cdr(y));
   else
     {
-      sc->no_values--;
       if (is_null(px))
 	return(sc->nil);
       set_cdr(px, sc->nil);
@@ -56078,7 +56171,6 @@ static s7_pointer g_list_values(s7_scheme *sc, s7_pointer args)
   return(args);
 }
 
-
 static s7_pointer g_apply_values(s7_scheme *sc, s7_pointer args)
 {
   #define H_apply_values "(apply-values var) applies values to var.  This is an internal function."
@@ -56086,10 +56178,8 @@ static s7_pointer g_apply_values(s7_scheme *sc, s7_pointer args)
   s7_pointer x;
 
   if (is_null(args))
-    {
-      sc->no_values++;
-      return(sc->no_value);
-    }
+    return(sc->no_value);
+
   if (is_null(cdr(args)))
     x = car(args);
   else x = apply_list_star(sc, args);
@@ -56097,14 +56187,11 @@ static s7_pointer g_apply_values(s7_scheme *sc, s7_pointer args)
   if (!s7_is_proper_list(sc, x))
     return(apply_list_error(sc, args));
   if (is_null(x))
-    {
-      sc->no_values++;
-      return(sc->no_value);
-    }
+    return(sc->no_value);
+
   return(g_values(sc, x));
 }
 
-
 /* (apply values ...) replaces (unquote_splicing ...)
  *
  * (define-macro (hi a) `(+ 1 ,a) == (list '+ 1 a)
@@ -56142,14 +56229,13 @@ static bool is_simple_code(s7_scheme *sc, s7_pointer form)
 }
 
 
-static s7_pointer g_quasiquote_1(s7_scheme *sc, s7_pointer form)
+static s7_pointer g_quasiquote_1(s7_scheme *sc, s7_pointer form, bool check_cycles)
 {
   #define H_quasiquote "(quasiquote arg) is the same as `arg.  If arg is a list, it can contain \
 comma (\"unquote\") and comma-atsign (\"apply values\") to pre-evaluate portions of the list. \
 unquoted expressions are evaluated and plugged into the list, apply-values evaluates the expression \
 and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -> (1 2 3 4)."
 
-  /* fprintf(stderr, "g_quasiquote_1: form: %s %s\n", DISPLAY(form), type_name(sc, form, NO_ARTICLE)); */
   if (!is_pair(form))
     {
       if ((is_symbol(form)) &&
@@ -56161,6 +56247,8 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 
   if (car(form) == sc->unquote_symbol)
     {
+      if (!is_pair(cdr(form)))
+	eval_error(sc, (is_null(cdr(form))) ? "unquote: no argument, ~S" : "unquote: stray dot, ~S", form);  /* (unquote) or (unquote . 1) */
       if (is_not_null(cddr(form)))
 	eval_error(sc, "unquote: too many arguments, ~S", form);
       return(cadr(form));
@@ -56168,16 +56256,14 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 
   /* it's a list, so return the list with each element handled as above.
    *    we try to support dotted lists which makes the code much messier.
-   *
    * if no element of the list is a list or unquote, just return the original quoted 
    */
-  if ((cyclic_sequences(sc, form, false) == sc->T) ||
+  if (((check_cycles) && (cyclic_sequences(sc, form, false) == sc->T)) ||
       (is_simple_code(sc, form))) 
     return(list_2(sc, sc->quote_symbol, form));
 
   {
     int32_t len, i;
-    uint32_t loc;
     s7_pointer orig, bq, old_scw;
     bool dotted = false;
 
@@ -56193,7 +56279,7 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 	dotted = true;
       }
     old_scw = sc->w;
-    loc = s7_gc_protect(sc, old_scw);
+    push_stack_no_let_no_code(sc, OP_GC_PROTECT, sc->w);
 
     sc->w = sc->nil;
     for (i = 0; i <= len; i++)
@@ -56214,12 +56300,18 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 		 *     This now becomes (1 unquote (apply-values ('(2 3)))) -> (append (list-values 1) (apply-values ('(2 3)))) -> error
 		 * `(1 . (,@'(2 3))) works in both cases, and `(1 . (,(+ 1 1)))
 		 */
-		set_car(bq, g_quasiquote_1(sc, car(orig)));
+		if (!is_pair(cddr(orig)))
+		  {
+		    sc->w = old_scw;
+		    sc->stack_end -= 4;
+		    eval_error(sc, "unquote: no argument, ~S", form);
+		  }
+		set_car(bq, g_quasiquote_1(sc, car(orig), false));
 		set_cdr(bq, sc->nil);
 		sc->w = list_3(sc, sc->append_symbol, sc->w, caddr(orig));
 		break;
 	      }
-	    else set_car(bq, g_quasiquote_1(sc, car(orig)));
+	    else set_car(bq, g_quasiquote_1(sc, car(orig), false));
 	  }
       }
     else
@@ -56227,16 +56319,16 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 	/* `(1 2 . 3) */
 	len--;
 	for (orig = form, bq = cdr(sc->w), i = 0; i < len; i++, orig = cdr(orig), bq = cdr(bq))
-	  set_car(bq, g_quasiquote_1(sc, car(orig)));
-	set_car(bq, g_quasiquote_1(sc, car(orig)));
+	  set_car(bq, g_quasiquote_1(sc, car(orig), false));
+	set_car(bq, g_quasiquote_1(sc, car(orig), false));
 
-	sc->w = list_3(sc, sc->append_symbol, sc->w, g_quasiquote_1(sc, cdr(orig)));
+	sc->w = list_3(sc, sc->append_symbol, sc->w, g_quasiquote_1(sc, cdr(orig), false));
 	/* quasiquote might quote a symbol in cdr(orig), so it's not completely pointless */
       }
 
     bq = sc->w;
     sc->w = old_scw;
-    s7_gc_unprotect_at(sc, loc);
+    sc->stack_end -= 4;
     return(bq);
   }
 }
@@ -56244,12 +56336,15 @@ and splices the resultant list into the outer list. `(1 ,(+ 1 1) ,@(list 3 4)) -
 
 static s7_pointer g_quasiquote(s7_scheme *sc, s7_pointer args)
 {
-  /* this is for explicit quasiquote support, not the backquote stuff in macros */
-  return(g_quasiquote_1(sc, car(args)));
+  /* this is for explicit quasiquote support, not the backquote stuff in macros
+   *   but it is problematic.  g_quasiquote_1 above expands (for example) `(+ ,x) into (list (quote +) x),
+   *   so (multiple-value-bind (quote) quasiquote `(+ ,x)) expands to ((lambda (quote) (list '+ x)) quasiquote)
+   *   which is an infinite loop.  Guile says syntax error (because it thinks "quote" can't be a parameter name, I think).
+   */
+  return(g_quasiquote_1(sc, car(args), true));
 }
 
 
-
 /* ---------------- reader funcs for eval ---------------- */
 
 static void back_up_stack(s7_scheme *sc)
@@ -56522,7 +56617,6 @@ static token_t read_dot(s7_scheme *sc, s7_pointer pt)
   if (c != EOF)
     {
       backchar(c, pt);
-
       if ((!char_ok_in_a_name[c]) && (c != 0))
 	return(TOKEN_DOT);
     }
@@ -56883,19 +56977,7 @@ static s7_pointer read_expression(s7_scheme *sc)
 	  return(sc->value);
 
 	case TOKEN_SHARP_CONST:
-	  sc->value = port_read_sharp(sc->input_port)(sc, sc->input_port);
-
-	  /* here we need the following character and form
-	   *   strbuf[0] == '#', false above = # case, not an atom
-	   */
-	  if (is_null(sc->value))
-	    {
-	      return(read_error(sc, "undefined # expression"));
-	      /* a read error here seems draconian -- this unknown constant doesn't otherwise get in our way
-	       *   but how to alert the caller to the problem without stopping the read?
-	       */
-	    }
-	  return(sc->value);
+	  return(port_read_sharp(sc->input_port)(sc, sc->input_port));
 
 	case TOKEN_DOT:                                             /* (catch #t (lambda () (+ 1 . . )) (lambda args 'hiho)) */
 	  back_up_stack(sc);
@@ -56912,7 +56994,6 @@ static s7_pointer read_expression(s7_scheme *sc)
 }
 
 
-
 /* ---------------- *unbound-variable-hook* ---------------- */
 
 static s7_pointer loaded_library(s7_scheme *sc, const char *file)
@@ -56935,8 +57016,7 @@ static s7_pointer find_closure_let(s7_scheme *sc, s7_pointer cur_env)
 
 static s7_pointer unbound_variable(s7_scheme *sc, s7_pointer sym)
 {
-  /* this always occurs in a context where we're trying to find anything, so I'll move a couple of those checks here
-   */
+  /* this always occurs in a context where we're trying to find anything, so I'll move a couple of those checks here */
   if (has_let_ref_fallback(sc->envir)) /* an experiment -- see s7test (with-let *db* (+ int32_t (length str))) */
     apply_known_method(sc, sc->envir, sc->let_ref_fallback_symbol, sc->w = list_2(sc, sc->envir, sym));
   /* but if the thing we want to hit this fallback happens to exist at a higher level, oops... */
@@ -56963,8 +57043,7 @@ static s7_pointer unbound_variable(s7_scheme *sc, s7_pointer sym)
   if (safe_strcmp(symbol_name(sym), "|#"))
     return(read_error(sc, "unmatched |#"));
 
-  /* check *autoload*, autoload_names, then *unbound-variable-hook*
-   */
+  /* check *autoload*, autoload_names, then *unbound-variable-hook* */
   if ((sc->autoload_names) ||
       (is_hash_table(sc->autoload_table)) ||
       (hook_has_functions(sc->unbound_variable_hook)))
@@ -57082,7 +57161,7 @@ static s7_pointer unbound_variable(s7_scheme *sc, s7_pointer sym)
 	  (result != sc->unspecified))
 	return(result);
     }
-  eval_error(sc, "~A: unbound variable", sym);
+  eval_error_any(sc, sc->unbound_variable_symbol, "~A: unbound variable", sym);
 }
 
 
@@ -57133,7 +57212,7 @@ static s7_pointer assign_internal_syntax(s7_scheme *sc, const char *name, opcode
 
   x = alloc_pointer();
   unheap(x);
-  set_type(x, T_SYMBOL);
+  set_type(x, T_SYMBOL); /* see below */
   symbol_set_name_cell(x, str);
   symbol_info(x) = (symbol_info_t *)calloc(1, sizeof(symbol_info_t));
   symbol_set_local(x, 0LL, sc->nil);
@@ -57463,14 +57542,12 @@ static s7_pointer is_eq_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_po
 }
 
 
-static s7_pointer not_is_pair_s, not_is_symbol_s, not_is_null_s, not_is_number_s;
-static s7_pointer not_is_zero_s, not_is_eq_sq, not_is_eq_ss;
+static s7_pointer not_is_pair_s, not_is_symbol_s, not_is_null_s, not_is_number_s, not_is_eq_sq, not_is_eq_ss;
 
 static s7_pointer g_not_is_pair_s(s7_scheme *sc, s7_pointer args)   {check_boolean_not_method(sc, is_pair,         sc->is_pair_symbol, args);}
 static s7_pointer g_not_is_null_s(s7_scheme *sc, s7_pointer args)   {check_boolean_not_method(sc, is_null,         sc->is_null_symbol, args);}
 static s7_pointer g_not_is_symbol_s(s7_scheme *sc, s7_pointer args) {check_boolean_not_method(sc, is_symbol,       sc->is_symbol_symbol, args);}
 static s7_pointer g_not_is_number_s(s7_scheme *sc, s7_pointer args) {check_boolean_not_method(sc, s7_is_number,    sc->is_number_symbol, args);}
-static s7_pointer g_not_is_zero_s(s7_scheme *sc, s7_pointer args)   {check_boolean_not_method(sc, s7_is_zero,      sc->is_zero_symbol, args);}
 
 /* eq? does not check for methods */
 static s7_pointer g_not_is_eq_sq(s7_scheme *sc, s7_pointer args)
@@ -57526,6 +57603,7 @@ static s7_pointer not_chooser(s7_scheme *sc, s7_pointer g, int32_t args, s7_poin
 	      set_optimize_op(expr, HOP_SAFE_C_C);
 	      return(not_is_symbol_s);
 	    }
+
 	  /* g_is_number is c_function_call(slot_value(global_slot(sc->is_number_symbol)))
 	   *   so if this is changed (via openlet??) the latter is perhaps better??
 	   * but user might have (#_number? e), so we can't change later and catch this.
@@ -57535,12 +57613,6 @@ static s7_pointer not_chooser(s7_scheme *sc, s7_pointer g, int32_t args, s7_poin
 	      set_optimize_op(expr, HOP_SAFE_C_C);
 	      return(not_is_number_s);
 	    }
-
-	  if (f == g_is_zero)
-	    {
-	      set_optimize_op(expr, HOP_SAFE_C_C);
-	      return(not_is_zero_s);
-	    }
 	}
       if ((optimize_op(cadr(expr)) == HOP_SAFE_C_SQ) &&
 	  (c_callee(cadr(expr)) == g_is_eq))
@@ -58126,7 +58198,9 @@ static void check_for_substring_temp(s7_scheme *sc, s7_pointer expr)
 {
   s7_pointer p, np = NULL, ap = NULL, sp = NULL, arg;
   int32_t pairs = 0;
-  /* a bit tricky -- accept temp only if there's just one inner expression and it calls substring */
+  /* a bit tricky -- accept temp only if there's just one inner expression and it calls substring 
+   *   and don't use this for arg if arg is returned: (reverse! (write-string (symbol->string x)))
+   */
   for (p = cdr(expr); is_pair(p); p = cdr(p))
     {
       arg = car(p);
@@ -58287,8 +58361,8 @@ static s7_pointer g_or_3(s7_scheme *sc, s7_pointer args)
 static s7_pointer and_n, and_2, and_sc, and_3;
 static s7_pointer g_and_n(s7_scheme *sc, s7_pointer args)
 {
-  s7_pointer p, x = sc->T;
-
+  s7_pointer p, x;
+  x = sc->T;
   for (p = args; is_pair(p); p = cdr(p))
     {
       x = c_call(p)(sc, car(p));
@@ -58622,7 +58696,6 @@ static void init_choosers(s7_scheme *sc)
   not_is_null_s = make_function_with_class(sc, f, "not", g_not_is_null_s, 1, 0, false, "not opt");
   not_is_symbol_s = make_function_with_class(sc, f, "not", g_not_is_symbol_s, 1, 0, false, "not opt");
   not_is_number_s = make_function_with_class(sc, f, "not", g_not_is_number_s, 1, 0, false, "not opt");
-  not_is_zero_s = make_function_with_class(sc, f, "not", g_not_is_zero_s, 1, 0, false, "not opt");
   not_is_eq_ss = make_function_with_class(sc, f, "not", g_not_is_eq_ss, 1, 0, false, "not opt");
   not_is_eq_sq = make_function_with_class(sc, f, "not", g_not_is_eq_sq, 1, 0, false, "not opt");
   not_is_pair_car_s = make_function_with_class(sc, f, "not", g_not_is_pair_car_s, 1, 0, false, "not opt");
@@ -58666,9 +58739,6 @@ static void init_choosers(s7_scheme *sc)
   read_line_uncopied = s7_make_function(sc, "read-line", g_read_line_uncopied, 1, 1, false, "read-line opt");
   s7_function_set_class(read_line_uncopied, slot_value(global_slot(sc->read_line_symbol)));
 
-  /* write-string */
-  set_function_chooser(sc, sc->write_string_symbol, write_string_chooser);
-
   /* eval-string */
   set_function_chooser(sc, sc->eval_string_symbol, eval_string_chooser);
   
@@ -58709,6 +58779,7 @@ static void init_choosers(s7_scheme *sc)
 
 static opt_t optimize_thunk(s7_scheme *sc, s7_pointer expr, s7_pointer func, int32_t hop)
 {
+  /* fprintf(stderr, "opt 0: %s %d\n", DISPLAY(expr), hop); */
   if (is_possibly_constant(car(expr)))
     hop = 1;
 
@@ -59070,22 +59141,34 @@ static bool is_lambda(s7_scheme *sc, s7_pointer sym)
   /* symbol_id==0 means it has never been rebound (T_GLOBAL might not be set for initial stuff) */
 }
 
+static bool arg_findable(s7_scheme *sc, s7_pointer arg1, s7_pointer e)
+{
+  if (pair_symbol_is_safe(sc, arg1, e)) return(true); /* includes global_slot check */
+  return((!sc->in_with_let) &&
+	 (is_slot(find_symbol(sc, arg1))));
+}
 
-static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer func, int32_t hop, int32_t pairs, int32_t symbols, int32_t quotes, int32_t bad_pairs, s7_pointer e)
+static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer func, 
+				   int32_t hop, int32_t pairs, int32_t symbols, int32_t quotes, int32_t bad_pairs, s7_pointer e)
 {
   s7_pointer arg1;
   /* very often, expr is already optimized, quoted stuff is counted under "bad_pairs"! as well as quotes */
-  /* fprintf(stderr, "opt 1: %s, hop: %d, pairs: %d, symbols: %d, quotes: %d, bad: %d\n", DISPLAY_80(expr), hop, pairs, symbols, quotes, bad_pairs); */
+  /* fprintf(stderr, "opt 1 arg: %s, hop: %d, pairs: %d, symbols: %d, quotes: %d, bad: %d\n", DISPLAY_80(expr), hop, pairs, symbols, quotes, bad_pairs); */
 
-  arg1 = cadr(expr);
-  if ((bad_pairs == quotes) &&
-      (is_possibly_constant(car(expr))))
-    hop = 1;
+  if (quotes > 0)
+    {
+      if (direct_memq(sc->quote_symbol, e))
+	return(OPT_OOPS);
+      if ((bad_pairs == quotes) &&
+	  (is_possibly_constant(car(expr))))
+	hop = 1;
+    }
 
+  arg1 = cadr(expr);
+  /* need in_with_let -> search only rootlet not find_symbol */
   if ((symbols == 1) &&
       (!is_keyword(arg1)) &&
-      (!pair_symbol_is_safe(sc, arg1, e)) &&
-      (!is_slot(find_symbol(sc, arg1))))
+      (!arg_findable(sc, arg1, e)))
     {
       /* wrap the bad arg in a check symbol lookup */
       if (s7_is_aritable(sc, func, 1))
@@ -59219,12 +59302,12 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
 		{
 		  annotate_arg(sc, cdr(expr), e);
 		  set_arglist_length(expr, small_int(1));
-                 if (func_is_safe)
-                   {
-                     set_safe_optimize_op(expr, hop + OP_SAFE_C_A);
-                     choose_c_function(sc, expr, func, 1);
-                     return(OPT_T);
-                   }
+		  if (func_is_safe)
+		    {
+		      set_safe_optimize_op(expr, hop + OP_SAFE_C_A);
+		      choose_c_function(sc, expr, func, 1);
+		      return(OPT_T);
+		    }
 		  set_unsafe_optimize_op(expr, hop + OP_C_A);
 		  choose_c_function(sc, expr, func, 1);
 		  return(OPT_F);
@@ -59236,14 +59319,16 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
 		      s7_pointer lambda_expr;
 		      lambda_expr = arg1;
 		      if ((is_pair(lambda_expr)) &&
-			  (is_lambda(sc, car(lambda_expr))) && /* check for stuff like (define (f) (eval (lambda 2))) */
+			  (is_lambda(sc, car(lambda_expr))) &&     /* check for stuff like (define (f) (eval (lambda 2))) */
 			  (is_pair(cdr(lambda_expr))) &&
 			  (is_pair(cddr(lambda_expr))))
 			{
 			  if ((c_function_call(func) == g_call_with_exit) &&
 			      (is_pair(cadr(lambda_expr))) &&
 			      (is_null(cdadr(lambda_expr))) &&
-			      (is_symbol(caadr(lambda_expr))))
+			      (is_symbol(caadr(lambda_expr))) &&
+			      (!direct_memq(car(lambda_expr), e)) && /* (let ((lambda #f)) (call-with-exit (lambda ...))) */
+			      (s7_is_proper_list(sc, cddr(lambda_expr))))
 			    {
 			      set_unsafe_optimize_op(expr, hop + OP_CALL_WITH_EXIT);
 			      choose_c_function(sc, expr, func, 1);
@@ -59251,7 +59336,7 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
 			      return(OPT_F);
 			    }
 			}
-		      set_unsafe_optimize_op(expr, hop + ((is_optimized(arg1)) ? OP_C_Z : OP_C_P));
+		      set_unsafe_optimize_op(expr, hop + ((is_safely_optimized(arg1)) ? OP_C_Z : OP_C_P));
 		      choose_c_function(sc, expr, func, 1);
 		      return(OPT_F);
 		    }
@@ -59266,8 +59351,8 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
 	}
       
       if (func_is_safe)
-	set_unsafe_optimize_op(expr, hop + ((is_optimized(arg1)) ? OP_SAFE_C_Z : ((car(expr) == sc->not_symbol) ? OP_NOT_P : OP_SAFE_C_P)));
-      else set_unsafe_optimize_op(expr, hop + ((is_optimized(arg1)) ? OP_C_Z : OP_C_P));
+	set_unsafe_optimize_op(expr, hop + ((is_safely_optimized(arg1)) ? OP_SAFE_C_Z : ((car(expr) == sc->not_symbol) ? OP_NOT_P : OP_SAFE_C_P)));
+      else set_unsafe_optimize_op(expr, hop + ((is_safely_optimized(arg1)) ? OP_C_Z : OP_C_P));
       choose_c_function(sc, expr, func, 1);
       return(OPT_F);
 
@@ -59396,14 +59481,6 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
   if (is_closure_star(func))
     {
       bool safe_case;
-#if 0
-      fprintf(stderr, "%s: %d %d %d %d %d\n", DISPLAY(expr), 
-	      has_simple_arg_defaults(closure_body(func)), 
-	      is_null(closure_args(func)), 
-	      is_safe_closure(func),
-	      arglist_has_rest(sc, closure_args(func)), 
-	      all_x_count(sc, expr));
-#endif
       if ((!has_simple_arg_defaults(closure_body(func))) ||
 	  (is_null(closure_args(func))))
 	return(OPT_F);
@@ -59469,6 +59546,7 @@ static opt_t optimize_func_one_arg(s7_scheme *sc, s7_pointer expr, s7_pointer fu
       return(OPT_T);
     }
   /* unknown_* is set later */
+
   return((is_optimized(expr)) ? OPT_T : OPT_F);
 }
 
@@ -59546,18 +59624,21 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 
   /* fprintf(stderr, "opt 2: %s, hop: %d, pairs: %d, symbols: %d, quotes: %d, bad: %d\n", DISPLAY_80(expr), hop, pairs, symbols, quotes, bad_pairs); */
 
+  if (quotes > 0)
+    {
+      if (direct_memq(sc->quote_symbol, e))
+	return(OPT_OOPS);
+      if ((bad_pairs == quotes) &&
+	  (is_possibly_constant(car(expr))))
+	hop = 1;
+    }
+
   arg1 = cadr(expr);
   arg2 = caddr(expr);
-  if ((bad_pairs == quotes) &&
-      (is_possibly_constant(car(expr))))
-    hop = 1;
-
   if (((is_symbol(arg1)) &&
-       (!pair_symbol_is_safe(sc, arg1, e)) &&
-       (!is_slot(find_symbol(sc, arg1)))) ||
+       (!arg_findable(sc, arg1, e))) ||
       ((is_symbol(arg2)) &&
-       (!pair_symbol_is_safe(sc, arg2, e)) &&
-       (!is_slot(find_symbol(sc, arg2)))))
+       (!arg_findable(sc, arg2, e))))
     {
       /* wrap bad args */
       if ((is_all_x_safe(sc, arg1)) &&
@@ -59858,7 +59939,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 	      set_optimized(expr);
 	      if (is_symbol(arg1))
 		{
-		  if ((bad_pairs == 0) || (is_optimized(arg2))) /* bad_pair && h_optimized happens a lot */
+		  if ((bad_pairs == 0) || (is_safely_optimized(arg2))) /* bad_pair && h_optimized happens a lot */
 		    {
 		      set_optimize_op(expr, hop + OP_SAFE_C_SZ);
 		      choose_c_function(sc, expr, func, 2);
@@ -59875,7 +59956,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 		}
 
 	      /* arg2 is a symbol */
-	      if ((bad_pairs == 0) || (is_optimized(arg1)))
+	      if ((bad_pairs == 0) || (is_safely_optimized(arg1)))
 		{
 		  set_optimize_op(expr, hop + OP_SAFE_C_ZS);
 		  choose_c_function(sc, expr, func, 2);
@@ -59895,7 +59976,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 	      set_optimized(expr);
 	      if (is_pair(arg1))
 		{
-		  if ((bad_pairs == 0) || (is_optimized(arg2)))
+		  if ((bad_pairs == 0) || (is_safely_optimized(arg2)))
 		    {
 		      set_optimize_op(expr, hop + OP_SAFE_C_ZC);
 		      choose_c_function(sc, expr, func, 2);
@@ -59911,7 +59992,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 		}
 	      else
 		{
-		  if ((bad_pairs == 0) || (is_optimized(arg1)))
+		  if ((bad_pairs == 0) || (is_safely_optimized(arg1)))
 		    {
 		      set_optimize_op(expr, hop + OP_SAFE_C_CZ);
 		      choose_c_function(sc, expr, func, 2);
@@ -59939,7 +60020,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 	       */
 	      if (car(arg2) == sc->quote_symbol)
 		{
-		  if (!is_pair(cdr(arg2)))
+		  if ((!is_pair(cdr(arg2))) || (!is_null(cddr(arg2))))
 		    return(OPT_OOPS);
 		  set_safe_optimize_op(expr, hop + OP_SAFE_C_opSq_Q);
 		  set_opt_con1(cdr(expr), cadadr(expr));
@@ -59958,7 +60039,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 		  set_unsafely_optimized(expr);
 		  if (is_all_x_safe(sc, arg1))
 		    {
-		      set_optimize_op(expr, hop + ((is_optimized(arg2)) ? OP_SAFE_C_AZ : OP_SAFE_C_AP));
+		      set_optimize_op(expr, hop + ((is_safely_optimized(arg2)) ? OP_SAFE_C_AZ : OP_SAFE_C_AP));
 		      annotate_arg(sc, cdr(expr), e);
 		    }
 		  else set_optimize_op(expr, hop + OP_SAFE_C_PP);
@@ -59973,7 +60054,7 @@ static opt_t optimize_func_two_args(s7_scheme *sc, s7_pointer expr, s7_pointer f
 			set_optimize_op(expr, hop + OP_SAFE_C_QP);
 		      else 
 			{
-			  set_optimize_op(expr, hop + ((is_optimized(arg1)) ? OP_SAFE_C_ZQ : OP_SAFE_C_PQ));
+			  set_optimize_op(expr, hop + ((is_safely_optimized(arg1)) ? OP_SAFE_C_ZQ : OP_SAFE_C_PQ));
 			  set_opt_con2(cdr(expr), cadr(caddr(expr)));
 			}
 		      set_unsafely_optimized(expr);
@@ -60207,19 +60288,20 @@ static opt_t optimize_func_three_args(s7_scheme *sc, s7_pointer expr, s7_pointer
 {
   s7_pointer arg1, arg2, arg3;
 
+  if ((quotes > 0) &&
+      (direct_memq(sc->quote_symbol, e)))
+    return(OPT_OOPS);
+
   arg1 = cadr(expr);
   arg2 = caddr(expr);
   arg3 = cadddr(expr);
 
   if (((is_symbol(arg1)) &&
-       (!pair_symbol_is_safe(sc, arg1, e)) &&
-       (!is_slot(find_symbol(sc, arg1)))) ||
+       (!arg_findable(sc, arg1, e))) ||
       ((is_symbol(arg2)) &&
-       (!pair_symbol_is_safe(sc, arg2, e)) &&
-       (!is_slot(find_symbol(sc, arg2)))) ||
+       (!arg_findable(sc, arg2, e))) ||
       ((is_symbol(arg3)) &&
-       (!pair_symbol_is_safe(sc, arg3, e)) &&
-       (!is_slot(find_symbol(sc, arg3)))))
+       (!arg_findable(sc, arg3, e))))
     {
       /* wrap bad args */
       if ((is_all_x_safe(sc, arg1)) &&
@@ -60653,8 +60735,7 @@ static bool symbols_are_safe(s7_scheme *sc, s7_pointer args, s7_pointer e)
       s7_pointer arg;
       arg = car(p);
       if ((is_symbol(arg)) &&
-	  (!pair_symbol_is_safe(sc, arg, e)) &&
-	  (!is_slot(find_symbol(sc, arg))))
+	  (!arg_findable(sc, arg, e)))
 	return(false);
     }
   return(true);
@@ -60665,9 +60746,14 @@ static opt_t optimize_func_many_args(s7_scheme *sc, s7_pointer expr, s7_pointer
   bool func_is_closure;
 
   if (bad_pairs > quotes) return(OPT_F);
-  if ((bad_pairs == quotes) &&
-      (is_possibly_constant(car(expr))))
-    hop = 1;
+  if (quotes > 0)
+    {
+      if (direct_memq(sc->quote_symbol, e))
+	return(OPT_OOPS);
+      if ((bad_pairs == quotes) &&
+	  (is_possibly_constant(car(expr))))
+	hop = 1;
+    }
 
   if ((is_c_function(func)) &&
       (c_function_required_args(func) <= (uint32_t)args) &&
@@ -60809,6 +60895,7 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
   opcode_t op;
   s7_pointer p, body, vars;
   bool body_export_ok = true;
+  /* fprintf(stderr, "optimize_syntax %s %d %s\n", DISPLAY(expr), hop, DISPLAY(e)); */
 
   op = (opcode_t)syntax_opcode(func);
   sc->w = e;
@@ -60818,7 +60905,7 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
     {
     case OP_QUOTE:
     case OP_MACROEXPAND:
-      return(OPT_F);
+      return(((is_pair(body)) && (is_null(cdr(body)))) ? OPT_F : OPT_OOPS);
 
     case OP_LET:
     case OP_LETREC:
@@ -60842,6 +60929,7 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
 		return(OPT_OOPS);
 	    }
 	}
+      if (!is_pair(body)) return(OPT_OOPS);
       for (p = vars; is_pair(p); p = cdr(p))
 	{
 	  s7_pointer var;
@@ -60885,6 +60973,7 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
 		return(OPT_OOPS);
 	    }
 	}
+      if (!is_pair(body)) return(OPT_OOPS);
       for (p = vars; is_pair(p); p = cdr(p))
 	{
 	  s7_pointer var;
@@ -60927,6 +61016,7 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
 	    }
 	}
       /* e = cons(sc, sc->nil, e); */ /* !? currently let-temporarily does not make a new let, so it is like begin? */
+      body_export_ok = export_ok;     /* (list x (let-temporarily () (define x 0))) just as in begin */
       break;
 
     case OP_DO:
@@ -61065,17 +61155,28 @@ static opt_t optimize_syntax(s7_scheme *sc, s7_pointer expr, s7_pointer func, in
       break;
 
     case OP_WITH_LET:
-      if (sc->safety > NO_SAFETY)
-	hop = 0;
-      e = sc->nil;
       /* we can't trust anything here, so hop ought to be off.  For example,
-       *    (define (hi)
-       *      (let ((e (sublet (curlet)
-       *                 (cons 'abs (lambda (a) (- a 1))))))
-       *        (with-let e (abs -1))))
-       * returns 1 if hop is 1, but -2 outside the function body.
+       *   (define (hi)
+       *     (let ((e (sublet (curlet)
+       *                (cons :abs (lambda (a) (- a 1))))))
+       *       (with-let e (abs -1))))
+       * returns 1 if hop is 1, but -2 otherwise
        */
-      break;
+      {
+	bool old_with_let;
+	old_with_let = sc->in_with_let;
+	sc->in_with_let = true;
+	for (p = body; is_pair(p); p = cdr(p))
+	  if ((is_pair(car(p))) && 
+	      (!is_checked(car(p))) &&
+	      (optimize_expression(sc, car(p), 0, sc->nil, body_export_ok) == OPT_OOPS))
+	    {
+	      sc->in_with_let = old_with_let;
+	      return(OPT_OOPS);
+	    }
+	sc->in_with_let = old_with_let;
+	return(OPT_F);
+      }
 
     case OP_CASE:
       if ((is_pair(cadr(expr))) &&
@@ -61291,6 +61392,7 @@ static opt_t optimize_expression(s7_scheme *sc, s7_pointer expr, int32_t hop, s7
 #if DEBUGGING
   if (is_checked(expr)) {fprintf(stderr, "%s is checked\n", DISPLAY(expr)); abort();}
 #endif
+  /* fprintf(stderr, "optimize_expression %s %d %s\n", DISPLAY(expr), hop, DISPLAY(e)); */
   set_checked(expr);
   car_expr = car(expr);
 
@@ -61308,22 +61410,25 @@ static opt_t optimize_expression(s7_scheme *sc, s7_pointer expr, int32_t hop, s7
       if (is_slot(func))
 	{
 	  func = slot_value(func);
-	  if (is_syntax(func))   /* 12-8-16 was is_syntactic, but that is only appropriate above -- here we have the value */
+	  if (is_syntax(func))                           /* 12-8-16 was is_syntactic, but that is only appropriate above -- here we have the value */
 	    {
 	      if (!is_pair(cdr(expr)))
 		return(OPT_OOPS);
 	      return(optimize_syntax(sc, expr, func, hop, e, export_ok));  /* e can be extended via set-cdr! here */
 	    }
+	  if (is_any_macro(func)) return(OPT_F);
+
 	  /* we miss implicit indexing here because at this time, the data are not set */
 	  if ((is_t_procedure(func)) ||
 	      /* (is_c_function(func)) || */
-	      (is_safe_procedure(func))) /* built-in applicable objects like vectors */
+	      (is_safe_procedure(func)))                 /* built-in applicable objects like vectors */
 	    {
 	      int32_t pairs = 0, symbols = 0, args = 0, bad_pairs = 0, quotes = 0, orig_hop;
 	      s7_pointer p;
 
 	      orig_hop = hop;
-	      if ((!is_immutable(car_expr)) &&     /* can't depend on opt1 here because it might not be global, or might be redefined locally */
+	      if ((hop != 0) &&
+		  (!is_immutable(car_expr)) &&           /* can't depend on opt1 here because it might not be global, or might be redefined locally */
 		  ((is_any_closure(func)) ||
 		   ((!is_global(car_expr)) &&
 		    ((!is_slot(global_slot(car_expr))) ||
@@ -61405,7 +61510,6 @@ static opt_t optimize_expression(s7_scheme *sc, s7_pointer expr, int32_t hop, s7
 		}
 	      if (is_null(p))                    /* if not null, dotted list of args? */
 		{
-		  /* fprintf(stderr, "%d %s\n", args, DISPLAY_80(expr)); */
 		  switch (args)
 		    {
 		    case 0:  return(optimize_thunk(sc, expr, func, hop));
@@ -61443,7 +61547,7 @@ static opt_t optimize_expression(s7_scheme *sc, s7_pointer expr, int32_t hop, s7
       {
 	/* else maybe it's something like a let variable binding: (sqrtfreq (sqrt frequency)) */
 	s7_pointer p;
-	int32_t len = 0, pairs = 0, symbols = 0, quotes = 0;
+	int32_t len = 0, pairs = 0, symbols = 0;
 
 	for (p = cdr(expr); is_pair(p); p = cdr(p), len++)
 	  {
@@ -61452,8 +61556,6 @@ static opt_t optimize_expression(s7_scheme *sc, s7_pointer expr, int32_t hop, s7
 	    if (is_pair(car_p))
 	      {
 		pairs++;
-		if ((hop != 0) && (car(car_p) == sc->quote_symbol))
-		  quotes++;
 		if ((!is_checked(car_p)) &&
 		    (optimize_expression(sc, car_p, hop, e, false) == OPT_OOPS))
 		  return(OPT_OOPS);
@@ -61646,12 +61748,17 @@ static opt_t optimize(s7_scheme *sc, s7_pointer code, int32_t hop, s7_pointer e)
 	  (!is_checked(car(x))))
 	{
 	  if (optimize_expression(sc, car(x), hop, e, true) == OPT_OOPS)
-	    return(OPT_OOPS);
+	    {
+	      s7_pointer p;
+	      for (p = cdr(x); is_pair(p); p = cdr(p));
+	      if (!is_null(p))
+		eval_error_no_return(sc, sc->syntax_error_symbol, "stray dot in function body: ~S", code);
+	      return(OPT_OOPS);
+	    }
 	}
     }
   handle_optimizer_fixups(sc);
-  if ((!is_null(x)) &&
-      (!is_pair(x)))
+  if (!is_list(x))
     eval_error_no_return(sc, sc->syntax_error_symbol, "stray dot in function body: ~S", code);
   return(OPT_F);
 }
@@ -61676,7 +61783,7 @@ static s7_pointer check_lambda_args(s7_scheme *sc, s7_pointer args, int32_t *ari
   s7_pointer x;
   int32_t i;
 
-  if ((!is_pair(args)) && (!is_null(args)))
+  if (!is_list(args))
     {
       if (is_constant(sc, args))                       /* (lambda :a ...) */
 	eval_error(sc, "lambda parameter '~S is a constant", args); /* not ~A here, (lambda #\null do) for example */
@@ -61916,13 +62023,9 @@ static inline void set_all_locals(s7_scheme *sc, s7_pointer tree, slist *args)
     {
       s7_pointer cp;
       cp = car(p);
-      if (is_symbol(cp))
+      if (is_symbol(cp)) /* local_slot even if a slot at this point can't be depended on -- it may be freed at any time even for immutable symbols */
 	{
-	  if ((memq_sym(sc, cp, args)) || 
-	      ((is_immutable(cp)) &&                         /* immutable (by itself) would work except for tricky cases like with-let (no local_slot! -- changed) */
-	       (unchecked_type(local_slot(cp)) == T_SLOT) && /* local_slot might be a free cell (so debugging free cell check is annoying) */
-	       ((is_number(slot_value(local_slot(cp)))) ||
-		(is_sequence(slot_value(local_slot(cp)))))))
+	  if (memq_sym(sc, cp, args))
 	    set_local_symbol(p);
 	}
       else 
@@ -61960,6 +62063,8 @@ static body_t form_is_safe(s7_scheme *sc, s7_pointer func, s7_pointer x, slist *
 	  return(UNSAFE_BODY);
 	  
 	case OP_QUOTE:
+	  if ((!is_pair(cdr(x))) || (!is_null(cddr(x))))  /* (quote . 1) or (quote 1 2) etc */
+	    return(UNSAFE_BODY);
 	  return(VERY_SAFE_BODY);
 	  
 	case OP_IF:
@@ -62077,8 +62182,7 @@ static body_t form_is_safe(s7_scheme *sc, s7_pointer func, s7_pointer x, slist *
 
 	case OP_WITH_LET:
 	  if (!is_pair(cddr(x))) return(UNSAFE_BODY);
-	  if (is_pair(cadr(x)))
-	    return(UNSAFE_BODY);
+	  if (is_pair(cadr(x))) return(UNSAFE_BODY);
 	  return(min_body(body_is_safe(sc, sc->F, cddr(x), main_args, at_end), SAFE_BODY));
 	  /* shadowing can happen in with-let -- symbols are global so local_slots are shadowable */
 	  break;
@@ -62909,20 +63013,13 @@ static s7_pointer check_let(s7_scheme *sc)
 
   /* we accept these (other schemes complain, but I can't see why -- a no-op is the user's business!):
    *   (let () (define (hi) (+ 1 2)))
-   *   (let () (begin (define x 3)))
-   *   (let () 3 (begin (define x 3)))
-   *   (let () (define x 3))
    *   (let () (if #t (define (x) 3)))
-   *
-   * similar cases:
    *   (case 0 ((0) (define (x) 3) (x)))
    *   (cond (0 (define (x) 3) (x)))
    *   (and (define (x) x) 1)
    *   (begin (define (x y) y) (x (define (x y) y)))
    *   (if (define (x) 1) 2 3)
    *   (do () ((define (x) 1) (define (y) 2)))
-   *
-   * but we can get some humorous results:
    *   (let ((x (lambda () 3))) (if (define (x) 4) (x) 0)) -> 4
    */
 
@@ -62932,10 +63029,8 @@ static s7_pointer check_let(s7_scheme *sc)
     {
       if (!s7_is_list(sc, cadr(sc->code)))      /* (let hi #t) */
 	eval_error(sc, "let variable list is messed up: ~A", sc->code);
-      if (is_null(cddr(sc->code)))              /* (let hi () ) */
-	eval_error(sc, "named let has no body: ~A", sc->code);
-      if (!is_pair(cddr(sc->code)))             /* (let hi () . =>) */
-	eval_error(sc, "named let stray dot? ~A", sc->code);
+      if (!is_pair(cddr(sc->code)))             /* (let hi () . =>) or (let hi () ) */
+	eval_error(sc, (is_null(cddr(sc->code))) ? "named let has no body: ~A" : "named let stray dot? ~A", sc->code);
       if (is_constant_symbol(sc, car(sc->code)))
 	return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "can't bind an immutable object: ~S"), sc->code)));
       set_local(car(sc->code));
@@ -62981,7 +63076,10 @@ static s7_pointer check_let(s7_scheme *sc)
   /* (let ('1) quote) -> 1 */
 
   if (is_not_null(x))                  /* (let* ((a 1) . b) a) */
-    eval_error(sc, "let var list improper?: ~A", sc->code);
+    eval_error(sc, "let variable list improper?: ~A", sc->code);
+
+  if (!s7_is_proper_list(sc, cdr(sc->code)))
+    eval_error(sc, "stray dot in let body: ~S", cdr(sc->code));
 
   if ((is_overlaid(sc->code)) &&
       (has_opt_back(sc->code)))
@@ -63082,10 +63180,11 @@ static s7_pointer check_let_star(s7_scheme *sc)
   s7_pointer vars;
   bool named_let;
 
+  /* sc->code is cdr of let form (no let*) */
   if (!is_pair(sc->code))                           /* (let* . 1) */
     eval_error(sc, "let* variable list is messed up: ~A", sc->code);
-  if (!is_pair(cdr(sc->code)))                      /* (let*) */
-    eval_error(sc, "let* variable list is messed up: ~A", sc->code);
+  if (!is_pair(cdr(sc->code)))                      /* (let* ()) */
+    eval_error(sc, "let* has no body: ~A", sc->code);
 
   named_let = (is_symbol(car(sc->code)));
 
@@ -63093,21 +63192,17 @@ static s7_pointer check_let_star(s7_scheme *sc)
     {
       if (!s7_is_list(sc, cadr(sc->code)))          /* (let* hi #t) */
 	eval_error(sc, "let* variable list is messed up: ~A", sc->code);
-      if (is_null(cddr(sc->code)))                  /* (let* hi () ) */
-	eval_error(sc, "named let* has no body: ~A", sc->code);
-      if (!is_pair(cddr(sc->code)))                 /* (let* hi () . =>) */
-	eval_error(sc, "named let* stray dot? ~A", sc->code);
+      if (!is_pair(cddr(sc->code)))                 /* (let* hi () . =>) or (let* hi () ) */
+	eval_error(sc, (is_null(cddr(sc->code))) ? "named let* has no body: ~A" : "named let* stray dot? ~A", sc->code);
       if (is_constant_symbol(sc, car(sc->code)))
 	return(s7_error(sc, sc->wrong_type_arg_symbol,	set_elist_2(sc, s7_make_string_wrapper(sc, "can't bind an immutable object: ~S"), sc->code)));
       set_local(car(sc->code));
-      if ((!is_null(cadr(sc->code))) &&
-	  (!is_pair(cadr(sc->code))))               /* (let* hi x ... ) */
+      if (!is_list(cadr(sc->code)))                 /* (let* hi x ... ) */
 	eval_error(sc, "named let* variable declaration value is missing: ~A", sc->code);
     }
   else
     {
-      if ((!is_null(car(sc->code))) &&
-	  (!is_pair(car(sc->code))))                /* (let* x ... ) */
+      if (!is_list(car(sc->code)))                  /* (let* x ... ) */
 	eval_error(sc, "let* variable declaration value is missing: ~A", sc->code);
     }
 
@@ -63119,11 +63214,8 @@ static s7_pointer check_let_star(s7_scheme *sc)
       if (!is_pair(var_and_val))                    /* (let* (3) ... */
 	eval_error(sc, "let* variable list is messed up? ~A", var_and_val);
 
-      if (is_null(cdr(var_and_val)))                /* (let* ((x)) ...) */
-	eval_error(sc, "let* variable declaration, but no value?: ~A", var_and_val);
-
       if (!(is_pair(cdr(var_and_val))))             /* (let* ((x . 1))...) */
-	eval_error(sc, "let* variable declaration is not a proper list?: ~A", var_and_val);
+	eval_error(sc, (is_null(cdr(var_and_val))) ? "let* variable declaration, but no value?: ~A" : "let* variable declaration is not a proper list?: ~A", var_and_val);
 
       if (!is_null(cddr(var_and_val)))              /* (let* ((c 1 2)) ...) */
 	eval_error(sc, "let* variable declaration has more than one value?: ~A", var_and_val);
@@ -63142,6 +63234,9 @@ static s7_pointer check_let_star(s7_scheme *sc)
   if (!is_null(vars))
     eval_error(sc, "let* variable list is not a proper list?: ~A", vars);
 
+  if (!s7_is_proper_list(sc, cdr(sc->code)))
+    eval_error(sc, "stray dot in let* body: ~S", cdr(sc->code));
+
   if ((is_overlaid(sc->code)) &&
       (has_opt_back(sc->code)))
     {
@@ -63217,16 +63312,17 @@ static s7_pointer check_let_star(s7_scheme *sc)
   return(sc->code);
 }
 
-
 static s7_pointer check_letrec(s7_scheme *sc, bool letrec)
 {
   s7_pointer x, caller;
   caller = (letrec) ? sc->letrec_symbol : sc->letrec_star_symbol;
   if ((!is_pair(sc->code)) ||                 /* (letrec . 1) */
-      (!is_pair(cdr(sc->code))) ||            /* (letrec) */
       (!is_list(car(sc->code))))              /* (letrec 1 ...) */
     eval_error_with_caller(sc, "~A: variable list is messed up: ~A", caller, sc->code);
 
+  if (!is_pair(cdr(sc->code)))               /* (letrec ()) */
+    eval_error_with_caller(sc, "~A has no body: ~A", caller, sc->code);
+
   clear_symbol_list(sc);
   for (x = car(sc->code); is_not_null(x); x = cdr(x))
     {
@@ -63261,6 +63357,9 @@ static s7_pointer check_letrec(s7_scheme *sc, bool letrec)
       set_local(y);
     }
 
+  if (!s7_is_proper_list(sc, cdr(sc->code)))
+    eval_error_with_caller(sc, "stray dot in ~A body: ~S", caller, cdr(sc->code));
+
   if ((is_overlaid(sc->code)) &&
       (has_opt_back(sc->code)))
     pair_set_syntax_symbol(sc->code, (letrec) ? sc->letrec_unchecked_symbol : sc->letrec_star_unchecked_symbol);
@@ -63303,6 +63402,9 @@ static s7_pointer check_let_temporarily(s7_scheme *sc)
 	eval_error(sc, "let-temporarily: variable declaration has more than one value?: ~A", carx);
     }
   
+  if (!s7_is_proper_list(sc, cdr(sc->code)))
+    eval_error(sc, "stray dot in let-temporarily body: ~S", cdr(sc->code));
+
   if ((is_overlaid(sc->code)) &&
       (has_opt_back(sc->code)))
     pair_set_syntax_symbol(sc->code, sc->let_temporarily_unchecked_symbol);
@@ -63967,7 +64069,7 @@ static int32_t expansion_ex(s7_scheme *sc)
    * second, figuring out that we're quoted is not easy -- we have to march all the
    * way to the bottom of the stack looking for op_read_quote or op_read_vector
    *    #(((hi)) 2) or '(((hi)))
-   * or op_read_list with args not equal (quote) or (macroexapand)
+   * or op_read_list with args not equal (quote) or (macroexpand)
    *    '(hi 3) or (macroexpand (hi 3) or (quote (hi 3))
    * and those are only the problems I noticed!
    *
@@ -64050,6 +64152,8 @@ static s7_pointer check_with_let(s7_scheme *sc)
   if ((!is_pair(cddr(sc->code))) &&
       (!is_null(cddr(sc->code))))
     eval_error(sc, "with-let body has stray dot? ~A", sc->code);
+  if (!s7_is_proper_list(sc, cdr(sc->code)))
+    eval_error(sc, "stray dot in with-let body: ~S", cdr(sc->code));
 
   if ((is_overlaid(sc->code)) &&
       (has_opt_back(sc->code)))
@@ -65102,8 +65206,7 @@ static int32_t set_pair_ex(s7_scheme *sc)
       /* sc->code = cons(sc, sc->let_set_function, s7_append(sc, car(sc->code), cdr(sc->code))); */
       {
 	s7_pointer settee, key;
-	/* code: ((gen 'input) input) from (set! (gen 'input) input)
-	 */
+	/* code: ((gen 'input) input) from (set! (gen 'input) input) */
 	
 	if (is_null(cdr(sc->code)))
 	  s7_wrong_number_of_args_error(sc, "no value for let-set!: ~S", sc->code);
@@ -65112,7 +65215,7 @@ static int32_t set_pair_ex(s7_scheme *sc)
 	
 	settee = car(sc->code);
 	if (is_null(cdr(settee)))
-	  s7_wrong_number_of_args_error(sc, "no identifier for let-set!: ~S", sc->code);
+	  s7_wrong_number_of_args_error(sc, "no symbol (variable name) for let-set!: ~S", sc->code);
 	if (is_immutable(cx))
 	  immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->let_set_symbol, cx));
 	
@@ -65248,6 +65351,9 @@ static int32_t set_pair_ex(s7_scheme *sc)
       {
 	s7_pointer setter;
 	setter = closure_setter(cx);
+	if ((setter == sc->F) &&
+	    (!closure_no_setter(cx)))
+	  setter = g_setter(sc, cons(sc, cx, sc->nil));
 	if (is_t_procedure(setter))          /* appears to be caar_code */
 	  {
 	    /* (set! (o g) ...), here cx = o, sc->code = ((o g) ...) */
@@ -65387,6 +65493,8 @@ static bool do_is_safe(s7_scheme *sc, s7_pointer body, s7_pointer steppers, s7_p
 		      {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);}
 
 		    case OP_QUOTE:
+		      if ((!is_pair(cdr(expr))) || (!is_null(cddr(expr))))  /* (quote . 1) or (quote 1 2) etc */
+			{if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);}
 		      break;
 
 		    case OP_LET:
@@ -65401,6 +65509,8 @@ static bool do_is_safe(s7_scheme *sc, s7_pointer body, s7_pointer steppers, s7_p
 			  {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);}
 			if (!s7_is_list(sc, cadr(expr)))
 			  {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);}
+			if (!is_pair(cddr(expr)))
+			  {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);}
 
 			for (vars = cadr(expr); is_pair(vars); vars = cdr(vars))
 			  {
@@ -65549,7 +65659,7 @@ static bool do_is_safe(s7_scheme *sc, s7_pointer body, s7_pointer steppers, s7_p
 		} /* is_syntactic(x=car(expr)) */
 	      else
 		{
-		  /* is a macro, we'll eventually expand it (if *_optimize), but that requires a symbol lookup here and s7_macroexpand */
+		  /* if a macro, we'll eventually expand it (if *_optimize), but that requires a symbol lookup here and s7_macroexpand */
 		  if ((!is_optimized(expr)) ||
 		      (!do_is_safe(sc, cdr(expr), steppers, var_list, has_set)))
 		    {if (DO_PRINT) fprintf(stderr, "%d, opt: %d\n", __LINE__, is_optimized(expr)); return(false);}
@@ -65640,7 +65750,7 @@ static s7_pointer check_do(s7_scheme *sc)
   if ((!is_pair(sc->code)) ||                             /* (do . 1) */
       ((!is_pair(car(sc->code))) &&                       /* (do 123) */
        (is_not_null(car(sc->code)))))                     /* (do () ...) is ok */
-    eval_error(sc, "do: var list is not a list: ~S", sc->code);
+    eval_error(sc, "do: variable list is not a list: ~S", sc->code);
 
   if (!is_pair(cdr(sc->code)))                            /* (do () . 1) */
     eval_error(sc, "do body is messed up: ~A", sc->code);
@@ -65757,12 +65867,12 @@ static s7_pointer check_do(s7_scheme *sc)
        * also cdr as step to is_null as end
        * also do body is optimized expr: vector_set_3 via hop_safe_c_sss for example or (vset v i (vref w i))
        */
+
       if ((is_pair(end)) && (is_pair(car(end))) &&
 	  (is_pair(vars)) && (is_null(cdr(vars))) &&
 	  (is_pair(body)))
 	{
-	  /* loop has one step variable, and normal-looking end test
-	   */
+	  /* loop has one step variable, and normal-looking end test */
 	  s7_pointer v;
 	  v = car(vars);
 	  if ((is_pair(car(body))) &&
@@ -65783,8 +65893,7 @@ static s7_pointer check_do(s7_scheme *sc)
 		     (opt_cfunc(step_expr) == subtract_cs1) || (opt_cfunc(step_expr) == subtract_cl1))) ||
 		   ((optimize_op(step_expr) == HOP_SAFE_C_CS) && (car(v) == caddr(step_expr)))))
 		{
-		  /* step var is (var const|symbol (op var const)|(op const var))
-		   */
+		  /* step var is (var const|symbol (op var const)|(op const var)) */
 		  end = car(end);
 
 		  if ((is_optimized(end)) &&
@@ -65845,8 +65954,7 @@ static s7_pointer check_do(s7_scheme *sc)
 			  /* 5 bench, -60 gen, 653 all, 1423 snd-test */
 			}
 
-		      /* now look for the very common dotimes case
-		       */
+		      /* now look for the very common dotimes case */
 		      if ((((s7_is_integer(caddr(step_expr))) &&
 			    (s7_integer(caddr(step_expr)) == 1)) ||
 			   ((s7_is_integer(cadr(step_expr))) &&
@@ -66640,6 +66748,7 @@ static int32_t do_let(s7_scheme *sc, s7_pointer step_slot, s7_pointer scc, bool
   let_code = caddr(scc);
   let_body = cddr(let_code);
   body_len = s7_list_length(sc, let_body);
+  if (body_len <= 0) return(fall_through);
   let_star = (symbol_syntax_op(car(let_code)) == OP_LET_STAR);
   let_vars = cadr(let_code);
   set_safe_stepper(step_slot);
@@ -67175,8 +67284,6 @@ static int32_t unknown_ex(s7_scheme *sc, s7_pointer f)
   
   code = sc->code;
   hop = (is_constant_symbol(sc, car(code))) ? 1 : 0;
-  /* fprintf(stderr, "%s: local: %d, hop: %d\n", DISPLAY(code), is_local_symbol(code), hop); */
-
   switch (type(f))
     {
     case T_CLOSURE:
@@ -67234,8 +67341,6 @@ static int32_t unknown_g_ex(s7_scheme *sc, s7_pointer f)
 
   code = sc->code;
   hop = (is_constant_symbol(sc, car(code))) ? 1 : 0;
-  /* fprintf(stderr, "unknown_g_ex: %s, local: %d, hop: %d\n", DISPLAY_80(sc->code), is_local_symbol(sc->code), hop); */
-
   sym_case = is_symbol(cadr(code));
   if ((sym_case) &&
       (!is_slot(find_symbol(sc, cadr(code)))))
@@ -67632,7 +67737,6 @@ static int32_t unknown_aa_ex(s7_scheme *sc, s7_pointer f)
 {
   s7_pointer code;
   int32_t hop;
-  /* fprintf(stderr, "unknown_aa: %d %s %s\n", type(f), DISPLAY(f), DISPLAY(sc->code)); */
   
   code = sc->code;
   hop = (is_constant_symbol(sc, car(code))) ? 1 : 0;
@@ -67751,8 +67855,9 @@ static void unwind_output_ex(s7_scheme *sc)
       (!port_is_closed(sc->code)))
     s7_close_output_port(sc, sc->code); /* may call fflush */
   
-  if ((is_output_port(sc->args)) &&
-      (!port_is_closed(sc->args)))
+  if (((is_output_port(sc->args)) &&
+       (!port_is_closed(sc->args))) ||
+      (sc->args == sc->F))
     sc->output_port = sc->args;
   
   if ((is_file) &&
@@ -67762,8 +67867,8 @@ static void unwind_output_ex(s7_scheme *sc)
 
 static void unwind_input_ex(s7_scheme *sc)
 {
-  if ((is_input_port(sc->code)) &&
-      (!port_is_closed(sc->code)))
+  /* sc->code is an input port */
+  if (!port_is_closed(sc->code))
     s7_close_input_port(sc, sc->code);
   
   if ((is_input_port(sc->args)) &&
@@ -67855,28 +67960,6 @@ static int32_t read_s_ex(s7_scheme *sc)
   return(goto_START);
 }
 		  
-static void eval_string_1_ex(s7_scheme *sc)
-{
-  if ((sc->tok != TOKEN_EOF) &&
-      (port_position(sc->input_port) < port_data_size(sc->input_port))) /* ran past end somehow? */
-    {
-      unsigned char c;
-      while (white_space[c = port_data(sc->input_port)[port_position(sc->input_port)++]])
-	if (c == '\n')
-	  port_line_number(sc->input_port)++;
-
-      if (c != 0)
-	{
-	  backchar(c, sc->input_port);
-	  push_stack_no_args(sc, OP_EVAL_STRING_1, sc->value);
-	  push_stack_op_let(sc, OP_READ_INTERNAL);
-	}
-      else push_stack_op_let(sc, OP_EVAL_STRING_2);
-    }
-  else push_stack_op_let(sc, OP_EVAL_STRING_2);
-  sc->code = sc->value;
-}
-
 static int32_t string_a_ex(s7_scheme *sc)
 {
   s7_int index;
@@ -68107,7 +68190,6 @@ static void apply_c_any_args_function(s7_scheme *sc)                /* --------
 static void apply_c_macro(s7_scheme *sc)  	                    /* -------- C-based macro -------- */
 {
   int32_t len;
-  /* fprintf(stderr, "apply_c_macro: args: %s %s\n", DISPLAY(sc->args), type_name(sc, car(sc->args), NO_ARTICLE)); */
   len = safe_list_length(sc, sc->args);
   
   if (len < (int32_t)c_macro_required_args(sc->code))
@@ -68130,10 +68212,19 @@ static void apply_c_macro(s7_scheme *sc)  	                    /* -------- C-bas
 static void apply_syntax(s7_scheme *sc)                            /* -------- syntactic keyword as applicable object -------- */
 {                                                                  /* current reader-cond macro uses this via (map quote ...) */
   int32_t len;                                                     /*    ((apply lambda '((x) (+ x 1))) 4) */
-  if (is_pair(sc->args))
+  if (is_pair(sc->args))                                           /* this is ((pars) . body) */
     {
       len = s7_list_length(sc, sc->args);
-      if (len == 0) eval_error_no_return(sc, sc->syntax_error_symbol, "attempt to evaluate a circular list: ~A", sc->args);
+      if (len == 0) 
+	eval_error_no_return(sc, sc->syntax_error_symbol, "attempt to evaluate a circular list: ~S", sc->args);
+      if (is_pair(car(sc->args)))                                  /* this is the arglist */
+	{
+	  int32_t alen;
+	  alen = s7_list_length(sc, car(sc->args));                /* (apply lambda (signature +)...) */
+	  if (alen == 0) 
+	    s7_error(sc, sc->syntax_error_symbol, 
+		     set_elist_3(sc, s7_make_string_wrapper(sc, "apply ~S involves a circular list: ~S"), sc->code, sc->args));
+	}
     }
   else len = 0;
   
@@ -68201,11 +68292,6 @@ static int32_t apply_pair(s7_scheme *sc)                              /* -------
       /* car of values can be anything, so conjure up a new expression, and apply again */
       sc->x = multiple_value(sc->code);                             /* ((values + 1 2) 3) */
       sc->code = car(sc->x);
-#if 0
-      /* this can't happen? */
-      if (!s7_is_proper_list(sc, cdr(sc->x)))
-	s7_error(sc, sc->syntax_error_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "values arglist is a dotted list: ~A"), sc->x));
-#endif
       sc->args = s7_append(sc, cdr(sc->x), sc->args);
       sc->x = sc->nil;
       return(goto_APPLY);
@@ -68253,6 +68339,7 @@ static void apply_lambda(s7_scheme *sc)                            /* -------- n
 {             /* load up the current args into the ((args) (lambda)) layout [via the current environment] */
   s7_pointer x, z, e;
   uint64_t id;
+  /* fprintf(stderr, "apply_lambda: %s\n", DISPLAY(sc->code)); */
   e = sc->envir;
   id = let_id(e);
   for (x = closure_args(sc->code), z = _TLst(sc->args); is_pair(x); x = cdr(x)) /* closure_args can be a symbol, for example */
@@ -68459,7 +68546,7 @@ static s7_pointer lambda_star_set_args(s7_scheme *sc)
 				    set_elist_3(sc, s7_make_string_wrapper(sc, "~A: not a key/value pair: ~S"), closure_name(sc, code), lx)));
 		  /* errors not caught?
 		   *    ((lambda* (a :allow-other-keys) a) :a 1 :a 2)
-		   *    ((lambda* (:allow-other-keys ) #f) :b :a :a :b)
+		   *    ((lambda* (:allow-other-keys) #f) :b :a :a :b)
 		   */
 		  lx = cddr(lx);
 		}
@@ -68544,6 +68631,8 @@ static int32_t apply_lambda_star(s7_scheme *sc) 	                  /* -------- d
    *   cause any arg to be set at any point in the arg list.
    *
    * the frame-making step below could be precalculated, but where to store it?
+   * Since normally arg order isn't specified, (eq? (exit)) might exit or raise an error (it exits in s7, Guile, sbcl)
+   *   s7 can't check arity first: (eq? (values (exit)...))
    */
   s7_pointer z, top, nxt;
   top = NULL;
@@ -68632,23 +68721,15 @@ static int32_t define1_ex(s7_scheme *sc)
 {	  
   /* sc->code is the symbol being defined, sc->value is its value
    *   if sc->value is a closure, car is of the form ((args...) body...)
-   *   so the doc string if any is (cadr (car value))
-   *   and the arg list gives the number of optional args up to the dot
-   */
-  
-  /* it's not possible to expand and replace macros at this point without evaluating
+   * it's not possible to expand and replace macros at this point without evaluating
    *   the body.  Just as examples, say we have a macro "mac",
    *   (define (hi) (call/cc (lambda (mac) (mac 1))))
    *   (define (hi) (quote (mac 1))) or macroexpand etc
-   *   (define (hi mac) (mac 1)) assuming mac here is a function passed as an arg,
-   * etc...
-   */
-  
-  /* the immutable constant check needs to wait until we have the actual new value because
+   *   (define (hi mac) (mac 1)) assuming mac here is a function passed as an arg, etc...
+   * the immutable constant check needs to wait until we have the actual new value because
    *   we want to ignore the rebinding (not raise an error) if it is the existing value.
    *   This happens when we reload a file that calls define-constant.
    */
-  /* sc->code is a symbol at this point */
   if (is_constant_symbol(sc, sc->code))                                  /* (define pi 3) or (define (pi a) a) */
     {
       s7_pointer x;
@@ -68656,12 +68737,6 @@ static int32_t define1_ex(s7_scheme *sc)
       if (is_slot(global_slot(sc->code)))
 	x = global_slot(sc->code); 
       else x = find_symbol(sc, sc->code);  /* local_slot can be free even if sc->code is immutable (local constant now defunct) */
-      if (!is_slot(x))
-	{
-	  if ((is_slot(local_slot(sc->code))) &&
-	      (type(sc->value) == unchecked_type(slot_value(local_slot(sc->code)))))
-	    x = local_slot(sc->code);
-	}
       if (!((is_slot(x)) &&
 	    (type(sc->value) == unchecked_type(slot_value(x))) &&
 	    (s7_is_morally_equal(sc, sc->value, slot_value(x)))))    /* if value is unchanged, just ignore this (re)definition */
@@ -68758,16 +68833,14 @@ static void define2_ex(s7_scheme *sc)
 
 static void profile(s7_scheme *sc, s7_pointer expr)
 {
-  /* I tried using SIGPROF and a tick counter below (in addition to the line counter), but the added info
-   *   did not seem very useful.
-   */
+  /* I tried using SIGPROF and a tick counter below (in addition to the line counter), but the added info did not seem very useful. */
   if ((sc->free_heap_top - sc->free_heap) < 32)
     gc(sc);
 
   if (is_null(sc->profile_info))
     {
       sc->profile_info = s7_make_hash_table(sc, 65536);
-      s7_gc_protect(sc, sc->profile_info);
+      s7_gc_protect_1(sc, sc->profile_info);
     }
   if ((is_pair(expr)) &&
       (profile_location(expr) > 0))
@@ -68833,7 +68906,7 @@ static s7_pointer g_profile_filename(s7_scheme *sc, s7_pointer args)
 #else
 #define new_cell(Sc, Obj, Type)			\
   do {						\
-    if ((Sc->free_heap_top <= Sc->free_heap_trigger) || (for_any_other_reason(sc, __LINE__))) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc); if ((Sc->begin_hook) && (call_begin_hook(Sc))) return(Sc->F);} \
+    if (Sc->free_heap_top <= Sc->free_heap_trigger) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc); if ((Sc->begin_hook) && (call_begin_hook(Sc))) return(Sc->F);} \
     Obj = (*(--(Sc->free_heap_top))); \
     Obj->alloc_line = __LINE__;	Obj->alloc_func = __func__; Obj->debugger_bits = 0;	\
     set_type(Obj, Type);	      \
@@ -68859,6 +68932,8 @@ static s7_pointer check_for_cyclic_code(s7_scheme *sc, s7_pointer code)
   static s7_pointer profile_at_start = NULL;
 #endif
 
+#define SHOW_EVAL_OPS 0
+
 static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 {
   sc->cur_op = first_op;
@@ -68876,7 +68951,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
       pop_stack(sc);
       
     START_WITHOUT_POP_STACK:
-      /* fprintf(stderr, "%s (%d) %s\n", op_names[sc->cur_op], (int)(sc->cur_op), DISPLAY_80(sc->code)); */
+#if SHOW_EVAL_OPS
+      fprintf(stderr, "%s (%d), code: %s\n", op_names[sc->cur_op], (int)(sc->cur_op), DISPLAY_80(sc->code));
+#endif
 
 #if WITH_PROFILE
       profile_at_start = sc->code;
@@ -68910,15 +68987,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  switch (sc->tok)
 	    {
 	    case TOKEN_EOF:
-	      {
-		/* (eval-string "'a ; b") gets here with 'a -> a, so we need to squelch the pending eval.
-		 *   another approach would read-ahead in eval_string_1_ex, but this seems less messy.
-		 */
-		int64_t top;
-		top = s7_stack_top(sc) - 1;
-		if (stack_op(sc->stack, top) == OP_EVAL_STRING_1)
-		  vector_element(sc->stack, top) = (s7_pointer)OP_EVAL_STRING_2;
-	      }
 	      break;
 	      
 	    case TOKEN_RIGHT_PAREN:
@@ -69402,80 +69470,90 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  /* -------------------------------- MEMBER -------------------------------- */
 	case OP_MEMBER_IF:
 	case OP_MEMBER_IF1:
-	  /* code=func, args = (list original args) with opt_fast->position in cadr (the list), value = result of comparison
-	   */
-	  if (sc->value != sc->F)                      /* previous comparison was not #f -- return list */
-	    {
-	      sc->value = opt_fast(sc->args);
-	      goto START;
-	    }
-	  if (!is_pair(cdr(opt_fast(sc->args))))           /* no more args -- return #f */
-	    {
-	      sc->value = sc->F;
-	      goto START;
-	    }
-	  set_opt_fast(sc->args, cdr(opt_fast(sc->args)));     /* cdr down arg list */
-	  
-	  if (sc->cur_op == OP_MEMBER_IF1)
-	    {
-	      /* circular list check */
-	      if (opt_fast(sc->args) == opt_slow(sc->args))
-		{
-		  sc->value = sc->F;
-		  goto START;
-		}
-	      set_opt_slow(sc->args, cdr(opt_slow(sc->args)));  /* cdr down the slow list (check for circular list) */
-	      push_stack(sc, OP_MEMBER_IF, sc->args, sc->code);
-	    }
-	  else push_stack(sc, OP_MEMBER_IF1, sc->args, sc->code);
-
-	  if (needs_copied_args(sc->code))
-	    sc->args = list_2(sc, caar(sc->args), car(opt_fast(sc->args)));
-	  else sc->args = set_plist_2(sc, caar(sc->args), car(opt_fast(sc->args)));
-	  goto APPLY;
+	  {
+	    s7_pointer orig_args;
+	    orig_args = car(sc->args);
+	    /* code=func, args = (list (list original args)) with opt_fast->position in cadr (the list), 
+	     *   the extra indirection (list (list...)) is needed because call/cc copies arg lists
+	     * value = result of comparison
+	     */
+	    if (sc->value != sc->F)                      /* previous comparison was not #f -- return list */
+	      {
+		sc->value = opt_fast(orig_args);
+		goto START;
+	      }
+	    if (!is_pair(cdr(opt_fast(orig_args))))      /* no more args -- return #f */
+	      {
+		sc->value = sc->F;
+		goto START;
+	      }
+	    set_opt_fast(orig_args, cdr(opt_fast(orig_args))); /* cdr down arg list */
+	    
+	    if (sc->cur_op == OP_MEMBER_IF1)
+	      {
+		/* circular list check */
+		if (opt_fast(orig_args) == opt_slow(orig_args))
+		  {
+		    sc->value = sc->F;
+		    goto START;
+		  }
+		set_opt_slow(orig_args, cdr(opt_slow(orig_args))); /* cdr down the slow list (check for circular list) */
+		push_stack(sc, OP_MEMBER_IF, sc->args, sc->code);
+	      }
+	    else push_stack(sc, OP_MEMBER_IF1, sc->args, sc->code);
+	    
+	    if (needs_copied_args(sc->code))
+	      sc->args = list_2(sc, caar(orig_args), car(opt_fast(orig_args)));
+	    else sc->args = set_plist_2(sc, caar(orig_args), car(opt_fast(orig_args)));
+	    goto APPLY;
+	  }
 	  
 	  
 	  /* -------------------------------- ASSOC -------------------------------- */
 	case OP_ASSOC_IF:
 	case OP_ASSOC_IF1:
-	  /* code=func, args=(list args) with f/opt_fast=list, value=result of comparison
-	   *   (assoc 3 '((1 . a) (2 . b) (3 . c) (4 . d)) =)
-	   */
-	  if (sc->value != sc->F)            /* previous comparison was not #f -- return (car list) */
-	    {
-	      sc->value = car(opt_fast(sc->args));
-	      goto START;
-	    }
-	  if (!is_pair(cdr(opt_fast(sc->args))))     /* (assoc 3 '((1 . 2) . 3) =) or nil */
-	    {
-	      sc->value = sc->F;
-	      goto START;
-	    }
-	  set_opt_fast(sc->args, cdr(opt_fast(sc->args)));  /* cdr down arg list */
+	  {
+	    s7_pointer orig_args;
+	    orig_args = car(sc->args);
+	    /* code=func, args=(list (list args)) with f/opt_fast=list, value=result of comparison
+	     *   (assoc 3 '((1 . a) (2 . b) (3 . c) (4 . d)) =)
+	     */
+	    if (sc->value != sc->F)            /* previous comparison was not #f -- return (car list) */
+	      {
+		sc->value = car(opt_fast(orig_args));
+		goto START;
+	      }
+	    if (!is_pair(cdr(opt_fast(orig_args))))             /* (assoc 3 '((1 . 2) . 3) =) or nil */
+	      {
+		sc->value = sc->F;
+		goto START;
+	      }
+	    set_opt_fast(orig_args, cdr(opt_fast(orig_args)));  /* cdr down arg list */
 	  
-	  if (sc->cur_op == OP_ASSOC_IF1)
-	    {
-	      /* circular list check */
-	      if (opt_fast(sc->args) == opt_slow(sc->args))
-		{
-		  sc->value = sc->F;
-		  goto START;
-		}
-	      set_opt_slow(sc->args, cdr(opt_slow(sc->args)));  /* cdr down the slow list */
-	      push_stack(sc, OP_ASSOC_IF, sc->args, sc->code);
-	    }
-	  else push_stack(sc, OP_ASSOC_IF1, sc->args, sc->code);
+	    if (sc->cur_op == OP_ASSOC_IF1)
+	      {
+		/* circular list check */
+		if (opt_fast(orig_args) == opt_slow(orig_args))
+		  {
+		    sc->value = sc->F;
+		    goto START;
+		  }
+		set_opt_slow(orig_args, cdr(opt_slow(orig_args))); /* cdr down the slow list */
+		push_stack(sc, OP_ASSOC_IF, sc->args, sc->code);
+	      }
+	    else push_stack(sc, OP_ASSOC_IF1, sc->args, sc->code);
 	  
-	  if (!is_pair(car(opt_fast(sc->args))))     /* (assoc 1 '((2 . 2) 3) =) -- we access caaadr below */
-	    eval_type_error(sc, "assoc: second arg is not an alist: ~S", sc->args);
-	  /* not sure about this -- we could simply skip the entry both here and in g_assoc
-	   *   (assoc 1 '((2 . 2) 3)) -> #f
-	   *   (assoc 1 '((2 . 2) 3) =) -> error currently
-	   */
-	  if (needs_copied_args(sc->code))
-	    sc->args = list_2(sc, caar(sc->args), caar(opt_fast(sc->args)));
-	  else sc->args = set_plist_2(sc, caar(sc->args), caar(opt_fast(sc->args)));
-	  goto APPLY;
+	    if (!is_pair(car(opt_fast(orig_args))))     /* (assoc 1 '((2 . 2) 3) =) -- we access caaadr below */
+	      eval_type_error(sc, "assoc: second arg is not an alist: ~S", orig_args);
+	    /* not sure about this -- we could simply skip the entry both here and in g_assoc
+	     *   (assoc 1 '((2 . 2) 3)) -> #f
+	     *   (assoc 1 '((2 . 2) 3) =) -> error currently
+	     */
+	    if (needs_copied_args(sc->code))
+	      sc->args = list_2(sc, caar(orig_args), caar(opt_fast(orig_args)));
+	    else sc->args = set_plist_2(sc, caar(orig_args), caar(opt_fast(orig_args)));
+	    goto APPLY;
+	  }
 	  
 	  
 	  /* -------------------------------- DO -------------------------------- */
@@ -69660,8 +69738,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    /* body might not be safe in this case, but the step and end exprs are easy
 	     *   "not safe" merely means we hit something that the optimizer can't specialize
-	     */
-	    /* simple_do: set up local env, check end (c_c?), goto simple_do_ex
+	     *
+	     * simple_do: set up local env, check end (c_c?), goto simple_do_ex
 	     *   if latter gets s7_optimize, run locally, else goto simple_do_step.
 	     *   but is not 1 expr body, etc -- just goto simple_do_step,
 	     */
@@ -69739,10 +69817,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		goto DO_END_CLAUSES;
 	      }
 	    push_stack(sc, OP_SIMPLE_DO_STEP, sc->args, code);
-#if DEBUGGING
-	    if (sc->cur_op != OP_SIMPLE_DO_STEP)
-	      fprintf(stderr, "simple_do_step: %s\n", op_names[sc->cur_op]);
-#endif
 	    sc->code = _TPair(opt_pair2(code));
 	    goto BEGIN1;
 	  }
@@ -69934,7 +70008,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	       *   every previous reference gets changed as a side-effect.  In the current code, we're "binding"
 	       *   the value in the sense that on each step, a new value is assigned to the step variable.
 	       *   In the "direct" case, (let ((v #(0 0 0))) (do ((i 0 (+ i 1))) ((= i 3) v) (set! (v i) i))
-	       *   would return #(3 3 3).
+	       *   would return #(3 3 3).  But here we can use copy: (set! (v i) (copy i)). 
 	       *
 	       * if sc->capture_let_counter changes, would it be sufficient to simply make a new slot?
 	       *   I think not; the closure retains the current env chain, not the slots, so we need a new env.
@@ -69966,7 +70040,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      if (op == sc->safe_dotimes_symbol) goto SAFE_DOTIMES;
 	      if (op == sc->dotimes_p_symbol)    goto DOTIMES_P;
 	      if (op == sc->safe_do_symbol)	 goto SAFE_DO;
-
 	      if (op == sc->do_no_vars_symbol)   goto DO_NO_VARS;
 	      goto SIMPLE_DO;
 	    }
@@ -70151,8 +70224,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      /* fprintf(stderr, "    %s %s\n", opt_names[optimize_op(sc->code)], DISPLAY_80(sc->code)); */
 
 	    OPT_EVAL:
-	     /* fprintf(stderr, "opt_eval: %s %s\n", opt_names[optimize_op(sc->code)], DISPLAY_80(sc->code)); */
-
+#if SHOW_EVAL_OPS
+	     fprintf(stderr, "opt_eval: %s %s\n", opt_names[optimize_op(sc->code)], DISPLAY_80(sc->code));
+#endif
 #if WITH_PROFILE
 	      if (sc->code != profile_at_start)
 		profile(sc, sc->code);
@@ -71935,21 +72009,33 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		case OP_C_FA: /* op_c_fs was not faster if all_x_s below */
 		  if (!c_function_is_ok(sc, code)) break;
 		case HOP_C_FA:
-		  sc->code = cdadr(code);
-		  make_closure_with_let(sc, sc->value, car(sc->code), cdr(sc->code), sc->envir, CLOSURE_ARITY_NOT_SET);
-		  /* sc->value=new closure cell, car=args, cdr=body */
-		  sc->args = list_2(sc, sc->value, c_call(cddr(code))(sc, caddr(code)));
-		  sc->value = c_call(code)(sc, sc->args);
-		  goto START;
+		  {
+		    s7_pointer f;
+		    int32_t tx;
+		    tx = next_tx(sc);
+		    sc->code = cdadr(code);
+		    make_closure_with_let(sc, f, car(sc->code), cdr(sc->code), sc->envir, CLOSURE_ARITY_NOT_SET);
+		    sc->t_temps[tx] = f;
+		    /* f=new closure cell, car=args, cdr=body, can't use sc->value here because c_call below may clobber it */
+		    sc->args = list_2(sc, f, c_call(cddr(code))(sc, caddr(code)));
+		    sc->value = c_call(code)(sc, sc->args);
+		    goto START;
+		  }
 
 		case OP_C_FA_1: 
 		  if (!c_function_is_ok(sc, code)) break;
 		case HOP_C_FA_1:
-		  sc->code = cdadr(code);
-		  make_closure_with_let(sc, sc->value, car(sc->code), cdr(sc->code), sc->envir, CLOSURE_ARITY_NOT_SET);
-		  sc->value = c_call(code)(sc, set_plist_2(sc, sc->value, c_call(cddr(code))(sc, caddr(code))));
-		  set_plist_2(sc, sc->nil, sc->nil); /* hooboy -- GC protects plists */
-		  goto START;
+		  {
+		    s7_pointer f;
+		    int32_t tx;
+		    tx = next_tx(sc);
+		    sc->code = cdadr(code);
+		    make_closure_with_let(sc, f, car(sc->code), cdr(sc->code), sc->envir, CLOSURE_ARITY_NOT_SET);
+		    sc->t_temps[tx] = f;
+		    sc->value = c_call(code)(sc, set_plist_2(sc, f, c_call(cddr(code))(sc, caddr(code))));
+		    set_plist_2(sc, sc->nil, sc->nil); /* hooboy -- GC protects plists */
+		    goto START;
+		  }
 
 		case OP_C_AA:
 		  if (!c_function_is_ok(sc, code)) break;
@@ -72105,8 +72191,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 
 
 		  /* -------------------------------------------------------------------------------- */
-		  /* unknown* fallback on these
-		   */
+		  /* unknown* fallback on these */
 		case OP_S:
 		case HOP_S:
 		  sc->code = find_symbol_unchecked(sc, car(code));
@@ -72467,7 +72552,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  
 		  
 		  /* -------------------------------------------------------------------------------- */
-		  
 		case OP_SAFE_CLOSURE_STAR_A:
 		  if (!closure_star_is_ok(sc, code, MATCH_SAFE_CLOSURE_STAR, 1)) {if (unknown_a_ex(sc, sc->last_function) == goto_OPT_EVAL) goto OPT_EVAL; break;}		  
 		case HOP_SAFE_CLOSURE_STAR_A:
@@ -73149,28 +73233,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      /* there is a problem with this -- if the caller still insists on goto OPT_EVAL, for example,
 	       *   we get here over and over.  (let ((x (list (car y))))...) where list is redefined away.
 	       */
-#if 0
-	      if ((is_optimized(code)) &&
-		  (is_symbol(car(code))))
-		{
-		  s7_pointer val;
-		  val = find_symbol_unchecked(sc, car(code));
-		  if (val)
-		    fprintf(stderr, "opt trail: %s %s %s\n", opt_names[optimize_op(code)], type_name(sc, val, NO_ARTICLE), DISPLAY_80(code)); 
-		}
-#endif
-	      /* gg/ss -> ss etc
-	       * have a translation table, only c_c looks like trouble -- needs to be unwound
-	       *
-	       * some things are never opt'd?
-	       *   (* (expt (polywave osc fm) k) norm) ??? this is tgen...
-	       *   (fm-violin (* i 0.001) 0.01 440 0.001) tall
-	       *   clm defins are using car(body)=string as documentation!
-	       *   all list-values, define 
-	       * lg:
-	       *  trail: safe_c_aa c-function (fnc (car lst) (cdr lst))
-	       *  trail: safe_closure_all_x function (f args form env)
-	       */
 	      clear_all_optimizations(sc, code);
 	      /* and fall into the normal evaluator */
 	    }
@@ -73313,6 +73375,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  {
 	    s7_pointer x;
 	    sc->code = pop_op_stack(sc);
+	    /* fprintf(stderr, "code: %s, args: %s, value: %s\n", DISPLAY(sc->code), DISPLAY(sc->args), DISPLAY(sc->value)); */
 	    new_cell(sc, x, T_PAIR);
 	    set_car(x, sc->value);
 	    set_cdr(x, sc->args);
@@ -73322,7 +73385,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    goto APPLY;
 	  }
 	  
-	  /* tricky cases here all involve values (i.e. multiple-values) */
+	  /* tricky cases involve multiple values */
 	case OP_EVAL_ARGS_P_2:
 	  set_car(sc->t2_1, sc->args);
 	  set_car(sc->t2_2, sc->value);
@@ -73344,8 +73407,12 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 	  
 	case OP_EVAL_ARGS_P_3_MV:      /* (define (hi a) (+ (values 1 2) a)) */
-	  sc->w = sc->value;
-	  sc->args = cons(sc, find_symbol_unchecked(sc, caddr(sc->code)), sc->w);
+	  sc->args = s7_append(sc, sc->value, list_1(sc, find_symbol_unchecked(sc, caddr(sc->code))));
+	  sc->code = c_function_base(opt_cfunc(sc->code));
+	  goto APPLY;
+	  
+	case OP_EVAL_ARGS_P_4_MV:
+	  sc->args = s7_append(sc, sc->value, list_1(sc, sc->args));
 	  sc->code = c_function_base(opt_cfunc(sc->code));
 	  goto APPLY;
 	  
@@ -73476,11 +73543,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	case OP_EVAL_ARGS3:  /* sc->value is the next-to-last arg, and we know the last arg is not a list (so values can't mess us up!) */
 	  {
 	    s7_pointer x, y, val;
-	    
 	    val = sc->code;
 	    if (is_symbol(val))
 	      val = find_symbol_checked(sc, val);
-	    
 	    new_cell(sc, x, T_PAIR);
 	    new_cell_no_check(sc, y, T_PAIR);
 	    set_car(x, sc->value);
@@ -73728,7 +73793,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  goto BEGIN1;
 	  
 	case OP_MACROEXPAND_1:
-	  sc->args = _TLst(cdar(sc->code));
+	  sc->args = copy_list(sc, cdar(sc->code));
 	  sc->code = sc->value;
 	  goto MACROEXPAND;
 	  
@@ -73741,9 +73806,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    eval_error(sc, "macroexpand argument is not a macro call: ~A", sc->code);
 	  if (!is_null(cdr(sc->code)))
 	    eval_error(sc, "macroexpand: too many arguments: ~A", sc->code);
-	  if (!s7_is_proper_list(sc, car(sc->code)))
-	    eval_error(sc, "macroexpand: improper arg list: ~A", car(sc->code));
-	  /* this seems to happen when it should not? */
+
+	  if ((is_pair(cdar(sc->code))) &&
+	      (is_pair(cadar(sc->code))) &&
+	      (!s7_is_proper_list(sc, cadar(sc->code))))
+	    eval_error(sc, "macroexpand: improper arg list: ~A", sc->code);
 	  
 	  if (is_pair(caar(sc->code)))                            /* (macroexpand ((symbol->value 'mac) (+ 1 2))) */
 	    {
@@ -73752,7 +73819,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      goto EVAL;
 	    }
 
-	  sc->args = _TLst(cdar(sc->code));
+	  sc->args = copy_list(sc, cdar(sc->code));               /* apply_lambda reuses args as slots, and these have not been copied yet */
 	  if (!is_symbol(caar(sc->code)))
 	    eval_error(sc, "macroexpand argument is not a macro call: ~A", sc->code);
 	  sc->code = find_symbol_checked(sc, caar(sc->code));
@@ -73864,19 +73931,14 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 	  
 
-	case OP_EVAL_STRING_2:
+	case OP_EVAL_STRING:
 	  s7_close_input_port(sc, sc->input_port);
 	  pop_input_port(sc);
-	  if (is_multiple_value(sc->value))
-	    sc->value = splice_in_values(sc, multiple_value(sc->value));
-	  break;
-	  
-	case OP_EVAL_STRING_1:
-	  eval_string_1_ex(sc);
+	  sc->code = sc->value;
 	  goto EVAL;
 	  
 	  	  
-	  /* -------------------------------- SET! -------------------------------- */
+	  /* -------------------------------- set! -------------------------------- */
 	case OP_SET_PAIR_P:
 	  /* ([set!] (car a) (cadr a)) */
 	  /* here the pair can't generate multiple values, or if it does, it's an error (caught below)
@@ -74321,7 +74383,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 		  }
 		else
 		  {
-		    if (is_syntax(slot_value(lx)))
+		    if (is_syntactic_symbol(slot_symbol(lx)))
 		      eval_error(sc, "can't set! ~A", sc->code);
 		  }
 		slot_set_value(lx, sc->value);
@@ -74403,7 +74465,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  return(s7_error(sc, sc->error_symbol, set_elist_2(sc, s7_make_string_wrapper(sc, "can't set ~S"), sc->args)));	  
 	  
 	  
-	  /* -------------------------------- IF -------------------------------- */
+	  /* -------------------------------- if -------------------------------- */
 	case OP_IF:
 	  check_if(sc);
 	  
@@ -74798,7 +74860,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  sc->value = c_call(sc->code)(sc, list_2(sc, sc->args, sc->value));
 	  break;
 
-	  /* -------------------------------- LET -------------------------------- */
+	  /* -------------------------------- let -------------------------------- */
 	case OP_LET_NO_VARS:
 	  new_frame(sc, sc->envir, sc->envir);
 	  sc->code = _TPair(cdr(sc->code));         /* ignore the () */
@@ -75230,7 +75292,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  }
 	  
 	  
-	  /* -------------------------------- LET* -------------------------------- */
+	  /* -------------------------------- let* -------------------------------- */
 	case OP_LET_STAR_ALL_X:
 	  {
 	    s7_pointer p, e = NULL;
@@ -75372,7 +75434,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  goto BEGIN1;
 	  
 	  
-	  /* -------------------------------- LETREC -------------------------------- */
+	  /* -------------------------------- letrec -------------------------------- */
 	case OP_LETREC:
 	  check_letrec(sc, true);
 	  
@@ -75430,7 +75492,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	    }
 	  
 	  
-	  /* -------------------------------- LETREC* -------------------------------- */
+	  /* -------------------------------- letrec* -------------------------------- */
 	case OP_LETREC_STAR:
 	  check_letrec(sc, false);
 	  
@@ -75488,7 +75550,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  }
 
 
-	  /* -------------------------------- LET-TEMPORARILY -------------------------------- */
+	  /* -------------------------------- let-temporarily -------------------------------- */
 	case OP_LET_TEMPORARILY:
 	  check_let_temporarily(sc);
 	  
@@ -75585,7 +75647,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 
 	  
-	  /* -------------------------------- COND -------------------------------- */
+	  /* -------------------------------- cond -------------------------------- */
 	case OP_COND:
 	  check_cond(sc);
 	  
@@ -75750,7 +75812,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 
 	  
-	  /* -------------------------------- AND -------------------------------- */
+	  /* -------------------------------- and -------------------------------- */
 	case OP_AND:
 	  check_and(sc);
 	  if (is_null(sc->code))
@@ -75800,8 +75862,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	AND_P:
 	case OP_AND_P:
-	  if (c_callee(sc->code)) /* all c_callee's are set via all_x_eval which can return nil */
-	    {
+	  if (has_all_x(sc->code)) /* all c_callee's are set via all_x_eval which can return nil, but it is not cleared when type is */
+	    {                      /*   so, if (c_callee(sc->code)) here and in OR_P is not safe */
 	      sc->value = c_call(sc->code)(sc, car(sc->code));
 	      if (is_false(sc, sc->value))
 		goto START;
@@ -75856,7 +75918,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break; /* goto START; */
 
 	  
-	  /* -------------------------------- OR -------------------------------- */
+	  /* -------------------------------- or -------------------------------- */
 	case OP_OR:
 	  check_or(sc);
 	  if (is_null(sc->code))
@@ -75900,7 +75962,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	OR_P:
 	case OP_OR_P:
-	  if (c_callee(sc->code))
+	  if (has_all_x(sc->code))
 	    {
 	      sc->value = c_call(sc->code)(sc, car(sc->code));
 	      if (is_true(sc, sc->value))
@@ -75954,7 +76016,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	   *   13
 	   *   (+ 10 (or (or #f (values 1 2)) #f))
 	   *   11
-	   *
 	   * The tail recursion is more important.  This behavior matches that of "begin" -- if the
 	   * values statement is last, it splices into the next outer arglist.
 	   */
@@ -76005,7 +76066,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  else 
 	    {
 	      if (is_pair(sc->value))
-		annotate_expansion(sc->value);
+		/* annotate_expansion(sc->value); */
+		sc->value = copy_body(sc, sc->value);
+	      /* TODO: can the copy be avoided? */
 	    }
 	  break;
 	  
@@ -76121,8 +76184,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		sc->code = _TLst(cdar(x));
 		if (is_null(sc->code))  /* sc->value is already the selector */
-		  goto START;
-		
+		  {
+		    if (is_multiple_value(sc->value))
+		      sc->value = splice_in_values(sc, sc->value);
+		    goto START;
+		  }
 		if (is_null(cdr(sc->code)))
 		  {
 		    sc->code = car(sc->code);
@@ -76330,8 +76396,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      {
 		sc->code = _TLst(cdar(x));
 		if (is_null(sc->code))  /* sc->value is already the selector */
-		  goto START;
-
+		  {
+		    if (is_multiple_value(sc->value))
+		      sc->value = splice_in_values(sc, sc->value);
+		    goto START;
+		  }
 	      ELSE_CASE_2:
 		if (is_null(cdr(sc->code)))
 		  {
@@ -76500,6 +76569,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  activate_let(sc, sc->value);
 	  goto BEGIN1;
 	  
+	  /* -------------------------------- with-baffle -------------------------------- */
 	case OP_WITH_BAFFLE:
 	  if (!s7_is_proper_list(sc, sc->code))
 	    eval_error(sc, "with-baffle: unexpected dot? ~A", sc->code);
@@ -76522,8 +76592,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	  /* -------------------------------- the reader -------------------------------- */
 	POP_READ_LIST:
-	  /* push-stack OP_READ_LIST is always no_code and op is always OP_READ_LIST (and not used), sc->envir is apparently not needed here
-	   */
+	  /* push-stack OP_READ_LIST is always no_code and op is always OP_READ_LIST (and not used), sc->envir is apparently not needed here */
 	  sc->stack_end -= 4;
 	  sc->args = sc->stack_end[2];
 	  
@@ -76715,8 +76784,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	      
 	    case TOKEN_SHARP_CONST:
 	      sc->value = port_read_sharp(sc->input_port)(sc, sc->input_port);
-	      if (is_null(sc->value))
-		return(read_error(sc, "undefined # expression"));
 	      if (sc->value == sc->no_value)
 		{
 		  /* (set! *#readers* (cons (cons #\; (lambda (s) (read) (values))) *#readers*))
@@ -76754,30 +76821,42 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  break;
 	  
 	case OP_READ_DOT:
-	  if (token(sc) != TOKEN_RIGHT_PAREN)
-	    {
-	      back_up_stack(sc);
-	      read_error(sc, "stray dot?");            /* (+ 1 . 2 3) or (list . ) */
-	    }
-	  /* args = previously read stuff, value = thing just after the dot and before the ')':
-	   *   (list 1 2 . 3)
-	   *   value: 3, args: (2 1 list)
-	   *   '(1 . 2)
-	   *   value: 2, args: (1)
-	   *
-	   * but we also get here in a lambda arg list:
-	   *   (lambda (a b . c) #f)
-	   *   value: c, args: (b a)
-	   *
-	   * so we have to leave any error checks until later, I guess
-	   *   -- in eval_args1, if we end with non-pair-not-nil then
-	   *      something is fishy
-	   */
-	  sc->value = reverse_in_place(sc, sc->value, sc->args);
-	  pair_set_dotted(sc->value);
-	  if (main_stack_op(sc) == OP_READ_LIST) goto POP_READ_LIST;
+	  {
+	    token_t c;
+	    c = token(sc);
+	    if (c != TOKEN_RIGHT_PAREN) /* '(1 . (2) 3) -> '(1 2 3), Guile says "missing close paren" */
+	      {
+		if (is_pair(sc->value))
+		  {
+		    s7_pointer p;
+		    for (p = sc->value; is_pair(p); p = cdr(p))
+		      sc->args = cons(sc, car(p), sc->args);
+		    sc->tok = c;
+		    goto READ_TOK;
+		  }
+		back_up_stack(sc);
+		read_error(sc, "stray dot?");            /* (+ 1 . 2 3) or (list . ) */
+	      }
+	    /* args = previously read stuff, value = thing just after the dot and before the ')':
+	     *   (list 1 2 . 3)
+	     *   value: 3, args: (2 1 list)
+	     *   '(1 . 2)
+	     *   value: 2, args: (1)
+	     *
+	     * but we also get here in a lambda arg list:
+	     *   (lambda (a b . c) #f)
+	     *   value: c, args: (b a)
+	     *
+	     * so we have to leave any error checks until later, I guess
+	     *   -- in eval_args1, if we end with non-pair-not-nil then
+	     *      something is fishy
+	     */
+	    sc->value = reverse_in_place(sc, sc->value, sc->args);
+	    pair_set_dotted(sc->value);
+	    if (main_stack_op(sc) == OP_READ_LIST) goto POP_READ_LIST;
+	  }
 	  break;
-	  
+
 	case OP_READ_QUOTE:
 	  /* can't check for sc->value = sc->nil here because we want ''() to be different from '() */
 	  if ((sc->safety > IMMUTABLE_VECTOR_SAFETY) &&
@@ -76791,7 +76870,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 	  
 	case OP_READ_QUASIQUOTE:
 	  /* this was pushed when the backquote was seen, then eventually we popped back to it */
-	  sc->value = g_quasiquote_1(sc, sc->value);
+	  sc->value = g_quasiquote_1(sc, sc->value, false);
 	  /* doing quasiquote at read time means there are minor inconsistencies in
 	   *    various combinations or quote/' and quasiquote/`.  A quoted ` will expand
 	   *    but quoted quasiquote will not (` can't be redefined, but quasiquote can).
@@ -76888,7 +76967,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 #else
 #define new_cell(Sc, Obj, Type)			\
   do {									\
-    if ((Sc->free_heap_top <= Sc->free_heap_trigger) || (for_any_other_reason(sc, __LINE__))) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc);} \
+    if (Sc->free_heap_top <= Sc->free_heap_trigger) {last_gc_line = __LINE__; last_gc_func = __func__; try_to_call_gc(Sc);} \
     Obj = (*(--(Sc->free_heap_top)));					\
     Obj->alloc_line = __LINE__;	Obj->alloc_func = __func__; Obj->debugger_bits = 0;		\
     set_type(Obj, Type);						\
@@ -76901,8 +76980,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
 static s7_pointer pl_bt, pl_p, pl_bc, pcl_bc, pcl_bs, pl_bn, pl_sf, pcl_bt, pcl_e, pcl_i, pcl_r, pcl_n, pcl_s, pcl_v, pcl_f, pcl_c, pl_tl;
 
 
-
-
 /* -------------------------------- multiprecision arithmetic -------------------------------- */
 
 #if WITH_GMP
@@ -77975,7 +78052,7 @@ void s7_vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj)
       /* we'll be calling new_cell below, hence the GC, so make sure the elements are markable,
        *   and the vector itself is GC protected (we can be called within make-vector).
        */
-      gc_loc = s7_gc_protect(sc, vec);
+      gc_loc = s7_gc_protect_1(sc, vec);
       vector_fill(sc, vec, sc->nil);
 
       switch (type(obj))
@@ -81173,7 +81250,6 @@ static void s7_gmp_init(s7_scheme *sc)
 /* WITH_GMP */
 
 
-
 /* -------------------------------- *s7* environment -------------------------------- */
 
 static s7_pointer s7_let_field(s7_scheme *sc, const char *name)
@@ -81255,6 +81331,9 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
 #endif
 
+  n = snprintf(buf, 1024, "rootlet size: %" PRId64 "\n", sc->rootlet_entries);
+  port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
+
   n = snprintf(buf, 1024, "heap: %" PRId64 " (%" PRId64 " bytes)", sc->heap_size, (s7_int)(sc->heap_size * (sizeof(s7_pointer) + sizeof(s7_cell))));
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
 
@@ -81272,7 +81351,7 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
 	    port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
 	  }
 	
-	if (ts[i] > 100)
+	if (ts[i] > 50)
 	  n = snprintf(buf, 1024, " (%s): %d", type_name_from_type(sc, i, NO_ARTICLE), ts[i]);
 	else n = snprintf(buf, 1024, " %d", ts[i]);
 	port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
@@ -81282,18 +81361,28 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
   }
   n = snprintf(buf, 1024, "permanent cells: %d (%" PRId64 " bytes)\n", permanent_cells, (s7_int)(permanent_cells * sizeof(s7_cell)));
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
+
   n = snprintf(buf, 1024, "gc protected size: %u, unused: %d\n", sc->protected_objects_size, sc->gpofl_loc);
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
       
-  for (i = 0; i < SYMBOL_TABLE_SIZE; i++)
-    for (x = vector_element(sc->symbol_table, i); is_not_null(x); x = cdr(x))
-      syms++;
-  n = snprintf(buf, 1024, "symbol table: %d (%d symbols, %" PRId64 " bytes)\n", SYMBOL_TABLE_SIZE, syms, 
-	       (s7_int)(SYMBOL_TABLE_SIZE * sizeof(s7_pointer) + syms * 3 * sizeof(s7_cell)));
-  port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
-
+  {
+    int32_t gens = 0, keys = 0;
+    for (i = 0; i < SYMBOL_TABLE_SIZE; i++)
+      for (x = vector_element(sc->symbol_table, i); is_not_null(x); x = cdr(x))
+	{
+	  syms++;
+	  if (is_gensym(car(x))) gens++;
+	  if (is_keyword(car(x))) keys++;
+	}
+    n = snprintf(buf, 1024, "symbol table: %d (%d symbols, %" PRId64 " bytes, gensyms: %d, keywords: %d)\n", 
+		 SYMBOL_TABLE_SIZE, syms, 
+		 (s7_int)(SYMBOL_TABLE_SIZE * sizeof(s7_pointer) + syms * 3 * sizeof(s7_cell)),
+		 gens, keys);
+    port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
+  }
   n = snprintf(buf, 1024, "stack: %u (%" PRId64 " bytes, current top: %ld)\n", sc->stack_size, (s7_int)(sc->stack_size * sizeof(s7_pointer)), (long int)s7_stack_top(sc));
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
+
   n = snprintf(buf, 1024, "c_functions: %d (%d bytes)\n", c_functions, (int)(c_functions * sizeof(c_proc_t)));
   port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
 
@@ -81337,7 +81426,7 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
 	    else len += vector_length(v);
 	  }
       }
-    n = snprintf(buf, 1024, "vectors: %u (%" PRId64 " %" PRId64 " %" PRId64 ")\n", sc->vectors->loc, len, flen, ilen);
+    n = snprintf(buf, 1024, "vectors: %u (size: %" PRId64 ", float: %" PRId64 ", int: %" PRId64 ")\n", sc->vectors->loc, len, flen, ilen);
     port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
   }
   {
@@ -81354,12 +81443,11 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
 	      len += port_data_size(v);
 	  }
       }
-    n = snprintf(buf, 1024, "input ports: %d (%" PRId64 " %" PRId64 ")\n", sc->input_ports->loc, len, flen);
+    n = snprintf(buf, 1024, "input ports: %d (bytes (free): %" PRId64 ", (in use): %" PRId64 ")\n", sc->input_ports->loc, len, flen - len);
     port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
   }
   {
-    int32_t fs;
-    uint32_t cc_stacks;
+    uint32_t fs, cc_stacks;
     port_t *p;
     for (fs = 0, p = sc->port_heap; p; p = (port_t *)(p->next), fs++);
     gp = sc->continuations;
@@ -81367,10 +81455,10 @@ static s7_pointer describe_memory_usage(s7_scheme *sc)
       if (is_continuation(gp->list[i]))
 	cc_stacks += continuation_stack_size(gp->list[i]);
 
-    n = snprintf(buf, 1024, "output ports: %u, free port: %d\ncontinuations: %u (total stack: %u), c_objects: %u, gensyms: %u, setters: %u, optlists: %u\n",
-	    sc->output_ports->loc, fs, 
-	    gp->loc, cc_stacks,
-	    sc->c_objects->loc, sc->gensyms->loc, sc->setters_loc, sc->optlists->loc);
+    n = snprintf(buf, 1024, "output ports: %u, free port: %u (%lu bytes)\ncontinuations: %u (total stack: %u), c_objects: %u, gensyms: %u, setters: %u, optlists: %u, unknowns: %u\n",
+		 sc->output_ports->loc, fs, fs * sizeof(port_t),
+		 gp->loc, cc_stacks,
+		 sc->c_objects->loc, sc->gensyms->loc, sc->setters_loc, sc->optlists->loc, sc->unknowns->loc);
     port_write_string(sc->output_port)(sc, buf, n, sc->output_port);
   }
   return(sc->F);
@@ -81849,10 +81937,9 @@ char *s7_decode_bt(void)
 #endif
 
 
-
 /* -------------------------------- initialization -------------------------------- */
 
-static s7_pointer make_unique_object(const char* name, uint64_t typ)
+static s7_pointer make_unique(const char* name, uint64_t typ)
 {
   s7_pointer p;
   p = alloc_pointer();
@@ -81916,6 +82003,7 @@ s7_scheme *s7_init(void)
   sc->tmpbuf = (char *)calloc(TMPBUF_SIZE, sizeof(char));
   sc->print_width = sc->max_string_length;
   sc->short_print = false;
+  sc->in_with_let = false;
 
   sc->initial_string_port_length = 128;
   sc->format_depth = -1;
@@ -81926,14 +82014,18 @@ s7_scheme *s7_init(void)
   sc->read_line_buf = NULL;
   sc->read_line_buf_size = 0;
 
-  sc->nil =         make_unique_object("()",             T_NIL);
-  sc->gc_nil =      make_unique_object("#<nil>",         T_NIL);        /* ?? perhaps a unique type for this? */
-  sc->T =           make_unique_object("#t",             T_BOOLEAN);
-  sc->F =           make_unique_object("#f",             T_BOOLEAN);
-  sc->eof_object =  make_unique_object("#<eof>",         T_EOF_OBJECT);
-  sc->undefined =   make_unique_object("#<undefined>",   T_UNDEFINED);
-  sc->unspecified = make_unique_object("#<unspecified>", T_UNSPECIFIED);
-  sc->no_value =    make_unique_object("#<unspecified>", T_UNSPECIFIED);
+  sc->nil =         make_unique("()",             T_NIL);
+  sc->gc_nil =      make_unique("#<gc-nil>",      T_NIL);        /* ?? perhaps a unique type for this? */
+  sc->T =           make_unique("#t",             T_BOOLEAN);
+  sc->F =           make_unique("#f",             T_BOOLEAN);
+  sc->eof_object =  make_unique("#<eof>",         T_EOF_OBJECT);
+  sc->undefined =   make_unique("#<undefined>",   T_UNDEFINED);
+  sc->unspecified = make_unique("#<unspecified>", T_UNSPECIFIED);
+#if DEBUGGING
+  sc->no_value =    make_unique("#<no-value>",    T_UNSPECIFIED);
+#else
+  sc->no_value =    make_unique("#<unspecified>", T_UNSPECIFIED);
+#endif
 
   unique_car(sc->nil) = sc->unspecified;
   unique_cdr(sc->nil) = sc->unspecified;
@@ -82072,6 +82164,9 @@ s7_scheme *s7_init(void)
       vector_element(sc->protected_setters, i) = sc->gc_nil;
       sc->gpofl[i] = i;
     }
+#if DEBUGGING
+  sc->protected_lines = (int *)calloc(INITIAL_PROTECTED_OBJECTS_SIZE, sizeof(int));
+#endif
 
   sc->stack = s7_make_vector(sc, INITIAL_STACK_SIZE);
   sc->stack_start = vector_elements(sc->stack);
@@ -82147,7 +82242,6 @@ s7_scheme *s7_init(void)
   sc->file_names = NULL;
   sc->file_names_size = 0;
   sc->file_names_top = -1;
-  sc->no_values = 0;
   sc->s7_call_line = 0;
   sc->s7_call_file = NULL;
   sc->s7_call_name = NULL;
@@ -82513,6 +82607,7 @@ s7_scheme *s7_init(void)
   sc->read_error_symbol =           make_symbol(sc, "read-error");
   sc->string_read_error_symbol =    make_symbol(sc, "string-read-error");
   sc->syntax_error_symbol =         make_symbol(sc, "syntax-error");
+  sc->unbound_variable_symbol =     make_symbol(sc, "unbound-variable");
   sc->wrong_type_arg_symbol =       make_symbol(sc, "wrong-type-arg");
   sc->wrong_number_of_args_symbol = make_symbol(sc, "wrong-number-of-args");
   sc->format_error_symbol =         make_symbol(sc, "format-error");
@@ -82613,10 +82708,10 @@ s7_scheme *s7_init(void)
   sc->is_proper_list_symbol =        defun("proper-list?",      is_proper_list,         1, 0, false);
   sc->is_sequence_symbol =           defun("sequence?",	        is_sequence,		1, 0, false);
   sc->is_null_symbol =               defun("null?",		is_null,		1, 0, false); symbol_type(sc->is_null_symbol) = T_NIL;
+  sc->is_undefined_symbol =          defun("undefined?",        is_undefined,           1, 0, false); symbol_type(sc->is_undefined_symbol) = T_UNDEFINED;
+  sc->is_unspecified_symbol =        defun("unspecified?",      is_unspecified,         1, 0, false); symbol_type(sc->is_unspecified_symbol) = T_UNSPECIFIED;
 
   /* these are for signatures */
-  sc->is_unspecified_symbol = s7_make_symbol(sc, "unspecified?");
-  sc->is_undefined_symbol = s7_make_symbol(sc, "undefined?");
   sc->is_integer_or_real_at_end_symbol = s7_make_symbol(sc, "integer:real?");
   sc->is_integer_or_any_at_end_symbol =  s7_make_symbol(sc, "integer:any?");
 
@@ -83131,7 +83226,7 @@ s7_scheme *s7_init(void)
   s7_autoload(sc, make_symbol(sc, "libgdbm.scm"),     s7_make_permanent_string("libgdbm.scm"));
   s7_autoload(sc, make_symbol(sc, "libutf8proc.scm"), s7_make_permanent_string("libutf8proc.scm"));
 
-  sc->require_symbol = s7_define_macro(sc, "require", g_require, 0, 0, true, H_require);
+  sc->require_symbol = s7_define_macro(sc, "require", g_require, 1, 0, true, H_require);
   sc->stacktrace_defaults = s7_list(sc, 5, small_int(3), small_int(45), small_int(80), small_int(45), sc->T);
 
   /* -------- *#readers* -------- */
@@ -83139,7 +83234,10 @@ s7_scheme *s7_init(void)
   sc->sharp_readers = global_slot(sym);
   s7_symbol_set_setter(sc, sym, s7_make_function(sc, "(set *#readers*)", g_sharp_readers_set, 2, 0, false, "*#readers* setter"));
 
-  /* sigh... I don't like these! */
+  /* sigh... I don't like these! perhaps positive|negative-infinity|nan? to parallel most-positive-fixnum etc 
+   *    "real" below should be "float" since we're trying to say these things are not "exact" = rational
+   *    or maybe #<inf> and #<nan> using (- ...) for the negative cases
+   */
   s7_define_constant(sc, "nan.0", real_NaN);
   s7_define_constant(sc, "-nan.0", real_NaN);
   s7_define_constant(sc, "inf.0", real_infinity);
@@ -83246,7 +83344,13 @@ s7_scheme *s7_init(void)
   set_setter(sc->set_car_symbol);
   set_setter(sc->set_cdr_symbol);
 
-#if (!WITH_PURE_S7)
+#if (WITH_PURE_S7)
+  /* we need to be able at least to set (current-output-port) to #f */
+  c_function_set_setter(slot_value(global_slot(sc->current_input_port_symbol)), 
+			s7_make_function(sc, "(set *stdin*)", g_set_current_input_port, 1, 0, false, "*stdin* setter"));
+  c_function_set_setter(slot_value(global_slot(sc->current_output_port_symbol)), 
+			s7_make_function(sc, "(set *stdout*)", g_set_current_output_port, 1, 0, false, "*stdout* setter"));
+#else
   set_setter(s7_make_symbol(sc, "set-current-input-port"));
   set_setter(s7_make_symbol(sc, "set-current-output-port"));
   s7_function_set_setter(sc, "current-input-port",  "set-current-input-port");
@@ -83735,62 +83839,62 @@ s7_scheme *s7_init(void)
   s7_eval_c_string(sc, "(define-macro (call-with-values producer consumer) (list consumer (list producer)))");   
   /* (call-with-values (lambda () (values 1 2 3)) +) */
 
-  s7_eval_c_string(sc, "(define-macro (multiple-value-bind vars expression . body)                            \n\
+  s7_eval_c_string(sc, "(define-macro (multiple-value-bind vars expression . body)                        \n\
                           (list (cons 'lambda (cons vars body)) expression))");
 
-  s7_eval_c_string(sc, "(define-macro (cond-expand . clauses)                                                 \n\
-                          (letrec ((traverse (lambda (tree)                                                   \n\
-		                               (if (pair? tree)                                               \n\
-			                            (cons (traverse (car tree))                               \n\
-				                          (case (cdr tree) ((())) (else => traverse)))        \n\
-			                            (if (memq tree '(and or not else)) tree                   \n\
-			                                (and (symbol? tree) (provided? tree)))))))            \n\
-                            (cons 'cond (map (lambda (clause)                                                 \n\
-		                               (cons (traverse (car clause))                                  \n\
-			                             (case (cdr clause) ((()) '(#f)) (else))))                \n\
+  s7_eval_c_string(sc, "(define-macro (cond-expand . clauses)                                             \n\
+                          (letrec ((traverse (lambda (tree)                                               \n\
+		                               (if (pair? tree)                                           \n\
+			                            (cons (traverse (car tree))                           \n\
+				                          (case (cdr tree) ((())) (else => traverse)))    \n\
+			                            (if (memq tree '(and or not else)) tree               \n\
+			                                (and (symbol? tree) (provided? tree)))))))        \n\
+                            (cons 'cond (map (lambda (clause)                                             \n\
+		                               (cons (traverse (car clause))                              \n\
+			                             (case (cdr clause) ((()) '(#f)) (else))))            \n\
 		                             clauses))))");
 #endif
 
-  s7_eval_c_string(sc, "(define-expansion (reader-cond . clauses)                                             \n\
-                          (call-with-exit                                                                     \n\
-                            (lambda (return)                                                                  \n\
-                              (for-each                                                                       \n\
-                                (lambda (clause)                                                              \n\
-	                          (let ((val (eval (car clause))))                                            \n\
-                                    (when val                                                                 \n\
-                                      (return (cond ((null? (cdr clause)) val)                                \n\
-                                                    ((eq? (cadr clause) '=>) ((eval (caddr clause)) val))     \n\
-                                                    ((null? (cddr clause)) (cadr clause))                     \n\
-                                                    (else (apply values (map quote (cdr clause)))))))))       \n\
-                                clauses)                                                                      \n\
+  s7_eval_c_string(sc, "(define-expansion (reader-cond . clauses)                                         \n\
+                          (call-with-exit                                                                 \n\
+                            (lambda (return)                                                              \n\
+                              (for-each                                                                   \n\
+                                (lambda (clause)                                                          \n\
+	                          (let ((val (eval (car clause))))                                        \n\
+                                    (when val                                                             \n\
+                                      (return (cond ((null? (cdr clause)) val)                            \n\
+                                                    ((eq? (cadr clause) '=>) ((eval (caddr clause)) val)) \n\
+                                                    ((null? (cddr clause)) (cadr clause))                 \n\
+                                                    (else (apply values (map quote (cdr clause)))))))))   \n\
+                                clauses)                                                                  \n\
                               (values))))"); /* this is not redundant */
 
-  s7_eval_c_string(sc, "(define make-hook                                                                     \n\
-                          (let ((+signature+ '(procedure?))                                                   \n\
+  s7_eval_c_string(sc, "(define make-hook                                                                 \n\
+                          (let ((+signature+ '(procedure?))                                               \n\
                                 (+documentation+ \"(make-hook . pars) returns a new hook (a function) that passes the parameters to its function list.\")) \n\
-                            (lambda hook-args                                                                 \n\
-                              (let ((body ()))                                                                \n\
-                                (apply lambda* hook-args                                                      \n\
-                                  (copy '(let ((result #<unspecified>))                                       \n\
-                                           (let ((hook (curlet)))                                             \n\
-                                             (for-each (lambda (hook-function) (hook-function hook)) body)    \n\
-                                             result))                                                         \n\
-                                        :readable)                                                            \n\
+                            (lambda hook-args                                                             \n\
+                              (let ((body ()))                                                            \n\
+                                (apply lambda* hook-args                                                  \n\
+                                  (copy '(let ((result #<unspecified>))                                   \n\
+                                           (let ((hook (curlet)))                                         \n\
+                                             (for-each (lambda (hook-function) (hook-function hook)) body)\n\
+                                             result))                                                     \n\
+                                        :readable)                                                        \n\
                                   ())))))");
 
-  s7_eval_c_string(sc, "(define hook-functions                                                                \n\
-                          (let ((+signature+ '(#t procedure?))                                             \n\
+  s7_eval_c_string(sc, "(define hook-functions                                                            \n\
+                          (let ((+signature+ '(#t procedure?))                                            \n\
                                 (+documentation+ \"(hook-functions hook) gets or sets the list of functions associated with the hook\")) \n\
-                            (dilambda                                                                         \n\
-                              (lambda (hook)                                                                  \n\
-                                ((funclet hook) 'body))                                                       \n\
-                              (lambda (hook lst)                                                              \n\
-                                (if (do ((p lst (cdr p)))                                                     \n\
-                                        ((not (and (pair? p)                                                  \n\
-                                                   (procedure? (car p))                                       \n\
-                                                   (aritable? (car p) 1)))                                    \n\
-                                         (null? p)))                                                          \n\
-                                    (set! ((funclet hook) 'body) lst)                                         \n\
+                            (dilambda                                                                     \n\
+                              (lambda (hook)                                                              \n\
+                                ((funclet hook) 'body))                                                   \n\
+                              (lambda (hook lst)                                                          \n\
+                                (if (do ((p lst (cdr p)))                                                 \n\
+                                        ((not (and (pair? p)                                              \n\
+                                                   (procedure? (car p))                                   \n\
+                                                   (aritable? (car p) 1)))                                \n\
+                                         (null? p)))                                                      \n\
+                                    (set! ((funclet hook) 'body) lst)                                     \n\
                                     (error 'wrong-type-arg \"hook-functions must be a list of functions, each accepting one argument: ~S\" lst))))))");
 
 
@@ -83835,18 +83939,18 @@ s7_scheme *s7_init(void)
   sc->procedure_signature_symbol = s7_make_symbol(sc, "procedure-signature");
   sc->procedure_setter_symbol = s7_make_symbol(sc, "procedure-setter");
 
-  s7_eval_c_string(sc, "(begin                                                    \n\
-                          (define global-environment         rootlet)             \n\
-                          (define current-environment        curlet)              \n\
-                          (define make-procedure-with-setter dilambda)            \n\
-                          (define procedure-with-setter?     dilambda?)           \n\
-                          (define make-random-state          random-state)        \n\
-                          (define make-complex               complex)             \n\
-                          (define make-keyword               string->keyword)     \n\
-                          (define symbol-access              symbol-setter)       \n\
-                          (define procedure-setter           setter)              \n\
-                          (define procedure-signature        signature)           \n\
-                          (define procedure-documentation    documentation)       \n\
+  s7_eval_c_string(sc, "(begin                                                \n\
+                          (define global-environment         rootlet)         \n\
+                          (define current-environment        curlet)          \n\
+                          (define make-procedure-with-setter dilambda)        \n\
+                          (define procedure-with-setter?     dilambda?)       \n\
+                          (define make-random-state          random-state)    \n\
+                          (define make-complex               complex)         \n\
+                          (define make-keyword               string->keyword) \n\
+                          (define symbol-access              symbol-setter)   \n\
+                          (define procedure-setter           setter)          \n\
+                          (define procedure-signature        signature)       \n\
+                          (define procedure-documentation    documentation)   \n\
                           (define (procedure-arity obj) (let ((c (arity obj))) (list (car c) (- (cdr c) (car c)) (> (cdr c) 100000)))))");
 #endif
 #if DEBUGGING
@@ -83929,8 +84033,11 @@ int main(int argc, char **argv)
  *
  * if profile, use line/file num to get at hashed count? and use that to annotate pp output via [count]-symbol pre-rewrite
  *   (profile-count file line)?
- * perhaps include sc->envir in history? 
- *   backwards compatible if a separate circle used, but under what name? (*s7* 'history-annotated)? 
+ * lint no-gmp (< int most-negative-fixnum) etc?
+ * with-let signature? (i.e. guarantee types etc) or local safety/optimize setting == -1? (let-temporarily (((*s7* 'safety) -1)) (with-let...))?
+ *   or maybe opt/unopt choice made at call-time (if in loop??)
+ *   need non-numeric safety choices = bits -- maybe (*s7* 'speed|optimize)?
+ * macroexpand before s7_optimize? or restart if macro encountered?
  *
  * musglyphs gtk version is broken (probably cairo_t confusion -- make/free-cairo are obsolete for example)
  *   the problem is less obvious:
@@ -83959,28 +84066,28 @@ int main(int argc, char **argv)
  *
  * --------------------------------------------------------------
  *
- *           12  |  13  |  14  |  15  ||  16  ||  17  |  18
- * tmac          |      |      |      || 9052 ||  264 |
- * tref          |      |      | 2372 || 2125 || 1036 |
- * index    44.3 | 3291 | 1725 | 1276 || 1255 || 1168 |
- * tauto     265 |   89 |  9   |  8.4 || 2993 || 1457 |
- * teq           |      |      | 6612 || 2777 || 1931 |
- * s7test   1721 | 1358 |  995 | 1194 || 2926 || 2110 |
- * tlet     5318 | 3701 | 3712 | 3700 || 4006 || 2467 |
- * lint          |      |      |      || 4041 || 2702 |
- * lg            |      |      |      || 211  || 133  |
- * tform         |      |      | 6816 || 3714 || 2762 |
- * tcopy         |      |      | 13.6 || 3183 || 2974 |
- * tmap          |      |      |  9.3 || 5279 || 3445 |
- * tfft          |      | 15.5 | 16.4 || 17.3 || 3966 |
- * tsort         |      |      |      || 8584 || 4111 |
- * titer         |      |      |      || 5971 || 4646 |
- * bench         |      |      |      || 7012 || 5093 |
- * thash         |      |      | 50.7 || 8778 || 7697 |
- * tgen          |   71 | 70.6 | 38.0 || 12.6 || 11.9 |
- * tall       90 |   43 | 14.5 | 12.7 || 17.9 || 18.8 |
- * calls     359 |  275 | 54   | 34.7 || 43.7 || 40.4 |
- *                                    || 139  || 85.9 |
+ *           12  |  13  |  14  |  15  ||  16  ||  17  | 18.0
+ * tmac          |      |      |      || 9052 ||  264 |  264
+ * tref          |      |      | 2372 || 2125 || 1036 | 1036
+ * index    44.3 | 3291 | 1725 | 1276 || 1255 || 1168 | 1165
+ * tauto     265 |   89 |  9   |  8.4 || 2993 || 1457 | 1475
+ * teq           |      |      | 6612 || 2777 || 1931 | 1913
+ * s7test   1721 | 1358 |  995 | 1194 || 2926 || 2110 | 2129
+ * tlet     5318 | 3701 | 3712 | 3700 || 4006 || 2467 | 2467
+ * lint          |      |      |      || 4041 || 2702 | 2696 2744?
+ * lg            |      |      |      || 211  || 133  | 133.4
+ * tform         |      |      | 6816 || 3714 || 2762 | 2751
+ * tcopy         |      |      | 13.6 || 3183 || 2974 | 2965
+ * tmap          |      |      |  9.3 || 5279 || 3445 | 3445
+ * tfft          |      | 15.5 | 16.4 || 17.3 || 3966 | 3966
+ * tsort         |      |      |      || 8584 || 4111 | 4111
+ * titer         |      |      |      || 5971 || 4646 | 4646
+ * bench         |      |      |      || 7012 || 5093 | 5143
+ * thash         |      |      | 50.7 || 8778 || 7697 | 7694
+ * tgen          |   71 | 70.6 | 38.0 || 12.6 || 11.9 | 12.1
+ * tall       90 |   43 | 14.5 | 12.7 || 17.9 || 18.8 | 18.9
+ * calls     359 |  275 | 54   | 34.7 || 43.7 || 40.4 | 42.0
+ *                                    || 139  || 85.9 | 86.5
  * 
  * --------------------------------------------------------------
  */
diff --git a/s7.h b/s7.h
index d8e89a1..34c7eb1 100644
--- a/s7.h
+++ b/s7.h
@@ -2,7 +2,7 @@
 #define S7_H
 
 #define S7_VERSION "5.12"
-#define S7_DATE "3-Oct-17"
+#define S7_DATE "11-Dec-17"
 
 #include <stdint.h>           /* for int64_t */
 
@@ -126,6 +126,8 @@ uint32_t s7_gc_protect(s7_scheme *sc, s7_pointer x);
 void s7_gc_unprotect(s7_scheme *sc, s7_pointer x);
 void s7_gc_unprotect_at(s7_scheme *sc, uint32_t loc);
 s7_pointer s7_gc_protected_at(s7_scheme *sc, uint32_t loc);
+s7_pointer s7_gc_protect_via_stack(s7_scheme *sc, s7_pointer x);
+
 s7_pointer s7_gc_on(s7_scheme *sc, bool on);
 void s7_gc_stats(s7_scheme *sc, bool on);
 int64_t s7_heap_size(s7_scheme *sc);
@@ -429,7 +431,6 @@ bool s7_for_each_symbol(s7_scheme *sc, bool (*symbol_func)(const char *symbol_na
 
 s7_pointer s7_dynamic_wind(s7_scheme *sc, s7_pointer init, s7_pointer body, s7_pointer finish);
 
-
 void s7_define(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7_pointer value);
 bool s7_is_defined(s7_scheme *sc, const char *name);
 s7_pointer s7_define_variable(s7_scheme *sc, const char *name, s7_pointer value);
@@ -883,6 +884,7 @@ void s7_define_function_with_setter(s7_scheme *sc, const char *name, s7_function
  * 
  *        s7 changes
  *
+ * 11-Dec:    s7_gc_protect_via_stack
  * 3-Oct:     renamed procedure-signature -> signature, procedure-documentation -> documentation, and procedure-setter -> setter.
  * 18-Sep:    s7_immutable, s7_is_immutable. define-constant follows lexical scope now.
  *            s7_symbol_access -> s7_symbol_setter, symbol-access -> symbol-setter.
diff --git a/s7.html b/s7.html
index 0eb7808..a54948a 100644
--- a/s7.html
+++ b/s7.html
@@ -4127,6 +4127,17 @@ in the procedure's local environment:
 > (documentation func)
 <em class="gray">"helpful info"</em>
 </pre>
+<p>Since documentation is a method, a function's documentation can be computed at run-time:
+</p>
+<pre class="indented">
+(define func
+  (let ((documentation (lambda (f) (format #f "this is func's funclet: ~S" (funclet f)))))
+    (lambda (x)
+      (+ x 1))))
+
+> (documentation func)
+<em class="gray">"this is func's funclet: (inlet 'x ())"</em>
+</pre>
 
 <p>
 <b>arity</b> takes any object and returns either #f if it is not applicable,
@@ -4974,7 +4985,7 @@ which allows you to stop at some point, then evaluate arbitrary expressions in t
 
 
 <div class="indented">
-<p>The s7-built-in catch tags are 'wrong-type-arg, 'syntax-error, 'read-error, 
+<p>The s7-built-in catch tags are 'wrong-type-arg, 'syntax-error, 'read-error, 'unbound-variable,
 'out-of-memory, 'wrong-number-of-args, 'format-error, 'out-of-range, 'division-by-zero, 'io-error, and 'bignum-error.  
 </p>
 </div>
@@ -6197,7 +6208,7 @@ same kind of name (or +pi+ to show it is a constant?).
 get-output-string should be current-output-string. write-char behaves like display, not write.
 provided? should be feature? or *features* should be *provisions*.
 list-ref, list-set!, and list-tail actually only apply to pairs.
-And let-temporarily should be templet.
+And let-temporarily should be templet, or maybe set-temporarily.
 </p>
 
 <p>
diff --git a/s7test.scm b/s7test.scm
index c09cfd8..c42d850 100644
--- a/s7test.scm
+++ b/s7test.scm
@@ -401,7 +401,7 @@
 (if (symbol-setter 'val) (set! (symbol-setter 'val) #f)) ; might get here from snd-test
 
 (define _ht_ (make-hash-table))
-
+(define _undef_ (car (with-input-from-string "(#_asdf 1 2)" read)))
 
 
 ;;; --------------------------------------------------------------------------------
@@ -631,12 +631,10 @@ static s7_pointer g_block_copy(s7_scheme *sc, s7_pointer args)
       new_g = s7_cadr(args);
       if (s7_c_object_type(new_g) != g_block_type) /* fall back on the float-vector code using a wrapper */
         {
-          int gc_loc;
           s7_pointer v;
 	  v = s7_make_float_vector_wrapper(sc, len, g->data, 1, NULL, false);
-          gc_loc = s7_gc_protect(sc, v);
-          new_g = s7_copy(sc, s7_append(sc, s7_list(sc, 1, v), s7_cdr(args)));
-          s7_gc_unprotect_at(sc, gc_loc);
+	  s7_gc_protect_via_stack(sc, v);
+          new_g = s7_copy(sc, s7_cons(sc, v, s7_cdr(args)));
           return(new_g);
         }
       if (s7_is_pair(s7_cddr(args)))
@@ -931,7 +929,7 @@ void block_init(s7_scheme *sc)
   s7_define_safe_function(sc, \"block?\", g_is_block, 1, 0, false, g_is_block_help);
   s7_define_function_star(sc, \"blocks\", g_blocks, \"(frequency 4) (scaler 1)\", \"test for function*\");
   g_block_methods = s7_eval_c_string(sc, \"(openlet (inlet 'float-vector? (lambda (p) #t) \
-						           'object->let (lambda (p e) (varlet e :empty (zero? (length p)))) \
+						           'empty (lambda (p) (zero? (length p))) \
                                                            'subsequence subblock \
 						           'append block-append \
 						           'reverse! block-reverse!))\");
@@ -1012,6 +1010,7 @@ void block_init(s7_scheme *sc)
 	   (not (provided? 'gmp)))
   (system (string-append "gcc -o ffitest ffitest.c -g3 -Wall s7.o " asan-flags " -lm -I. -ldl"))
   (system "ffitest"))
+
 #|
 (when with-block
 ;(define eval seval)           ; finished ok
@@ -1246,6 +1245,8 @@ void block_init(s7_scheme *sc)
 (test (eq? #<unspecified> #<unspecified>) #t)
 (test (eq? #<eof> #<undefined>) #f)
 (test (eq? #<eof> ()) #f)
+(test (eq? #<undefined> _undef_) #f)
+(test (eq? _undef_ _undef_) #t)
 
 (test (let () (define-macro (hi a) `(+ 1 ,a)) (eq? hi hi)) #t)
 (test (let () (define (hi a) (+ 1 a)) (eq? hi hi)) #t)
@@ -1332,6 +1333,7 @@ void block_init(s7_scheme *sc)
 
   )
 
+;;; c-pointer
 (test (c-pointer? 0) #f)
 (test (c-pointer? _null_) #t)
 (if with-block
@@ -1341,14 +1343,16 @@ void block_init(s7_scheme *sc)
 (for-each
  (lambda (arg)
    (test (c-pointer? arg) #f)
-   (test (c-object? arg) #f))
- (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+   (test (c-object? arg) #f)
+   (test (c-pointer arg) 'error))
+ (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ _undef_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (test (c-pointer?) 'error)
 (test (c-object?) 'error)
 (test (c-pointer? _c_obj_ 2 3) 'error)
 (test (c-object? _c_obj_ 2) 'error)
+(test (c-pointer 1 2 3 4) 'error)
 (when with-bignums
   (test (c-pointer? (c-pointer (bignum "12341234"))) #t)
   (test (c-pointer (bignum "1.4")) 'error))
@@ -1362,6 +1366,7 @@ void block_init(s7_scheme *sc)
   (openlet ptr)
   (test (object->string ptr) "I am pointer 1 of type 'abc!"))
 
+(test (openlet (c-pointer #b101 (setter car) (rootlet))) 'error)
 
 (when with-block
   (test (pair? (*s7* 'c-types)) #t))
@@ -1383,7 +1388,7 @@ void block_init(s7_scheme *sc)
      (if (not (eq? x y))
 	 (format #t ";(eq? x y) of ~A ~A -> #f?~%" x y))))
  ;; actually I hear that #f is ok here for numbers
- (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3/4 #\f (lambda (a) (+ a 1)) :hi (if #f #f) #<eof> #<undefined>))
 ;; this used to include 3.14 and 1+i but that means the (eq? x x) case differs from the (eq? 3.14 3.14) case
 
@@ -1566,6 +1571,8 @@ void block_init(s7_scheme *sc)
 (test (let ((x (lambda* (hi (a 1)) (+ 1 a)))) (eqv? x x)) #t)
 (test (eqv? else else) #t)
 (test (let ((p (lambda (x) x))) (eqv? p p)) #t)
+(test (eqv? #<undefined> _undef_) #f)
+(test (eqv? _undef_ _undef_) #t)
 
 (when with-bignums
   (test (eqv? (bignum "1+i") (bignum "1+i")) #t)
@@ -1691,6 +1698,8 @@ void block_init(s7_scheme *sc)
 (test (equal? if :if) #f)
 (test (equal? (list 'abs 'cons) '(abs cons)) #t)
 (test (equal? '(1) '(list 1)) #f)
+(test (equal? #<undefined> _undef_) #f)
+(test (equal? _undef_ _undef_) #t)
 
 (test (equal? (values) #<unspecified>) #t)
 (test (equal? (list (values)) (list #<unspecified>)) #t)
@@ -1924,6 +1933,8 @@ void block_init(s7_scheme *sc)
 (test (morally-equal? #<eof> #<unspecified>) #f)
 (test (morally-equal? (values) #<unspecified>) #t)
 (test (morally-equal? #<unspecified> (values)) #t)
+(test (morally-equal? #<undefined> _undef_) #f)
+(test (morally-equal? _undef_ _undef_) #t)
 (test (let () (define-macro (hi a) `(+ 1 ,a)) (morally-equal? hi hi)) #t)
 (test (let () (define (hi a) (+ 1 a)) (morally-equal? hi hi)) #t)
 (test (let ((x (lambda* (hi (a 1)) (+ 1 a)))) (morally-equal? x x)) #t)
@@ -2852,6 +2863,7 @@ void block_init(s7_scheme *sc)
 (test (type-of 1+i) 'complex?)
 (test (type-of #<unspecified>) 'unspecified?)
 (test (type-of #<undefined>) 'undefined?)
+(test (type-of _undef_) 'undefined?)
 (test (type-of #<eof>) 'eof-object?)
 (test (type-of (hash-table)) 'hash-table?)
 (test (type-of #(1)) 'vector?)
@@ -2975,7 +2987,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (boolean? arg)
        (format #t ";(boolean? ~A) -> #t?~%" arg)))
- (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) :hi (if #f #f) #<eof> #<undefined>))
 
 (test (recompose 12 boolean? #f) #t)
@@ -3014,7 +3026,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (not arg)
        (format #t ";(not ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) :hi #<eof> #<undefined> (if #f #f)))
 
 (test (recompose 12 not #f) #f)
@@ -3135,7 +3147,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (symbol? arg)
        (format #t ";(symbol? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>))
 
 (test (symbol?) 'error)
@@ -3188,7 +3200,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (syntax? arg)
        (format #t ";(syntax? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) (list 1 2) '#t '3 (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote 1/0 (log 0) 
+ (list "hi" (integer->char 65) (list 1 2) '#t '3 (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>))
 (test (syntax?) 'error)
 (test (syntax? 'hi 'ho) 'error)
@@ -3239,7 +3251,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (procedure? arg)
        (format #t ";(procedure? ~A) -> #t?~%" arg)))
- (list "hi" _ht_ _null_ :hi (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f #() (if #f #f)))
+ (list "hi" _ht_ _undef_ _null_ :hi (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f #() (if #f #f)))
 
 (test (procedure?) 'error)
 (test (procedure? abs car) 'error)
@@ -3305,7 +3317,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (if (char? arg)
        (format #t ";(char? ~A) -> #t?~%" arg)))
- (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #f #t (if #f #f) :hi (lambda (a) (+ a 1))))
 
 (test (char? begin) #f)
@@ -3331,23 +3343,23 @@ void block_init(s7_scheme *sc)
 (test (char? #\xff) #t)
 ;; any larger number is a reader error
 
-;(test (eval-string "(char? #\xbdca2cbec)") 'error) ; this can overflow internally!
-(test (eval-string "(char? #\\xbdca2cbec)") 'error)
-(test (eval-string "(char? #\\100)") 'error)
-(test (eval-string "(char? #\\x-65)") 'error)
-(test (eval-string "(char? #\\x6.5)") 'error)
-(test (eval-string "(char? #\\x6/5)") 'error)
-(test (eval-string "(char? #\\x6/3)") 'error)
-(test (eval-string "(char? #\\x6+i)") 'error)
-(test (eval-string "(char? #\\x6asd)") 'error)
-(test (eval-string "(char? #\\x6#)") 'error)
-(test (eval-string "(char? #\\x#b0)") 'error)
-(test (eval-string "(char? #\\x#b0") 'error)
-(test (eval-string "(char? #\\x-0") 'error)
-(test (eval-string "(char? #\\x1.4)") 'error)
-(test (eval-string "(char? #\\x#b0)") 'error)
-(test (eval-string "(char? #\\x-0)") 'error)
-(test (eval-string "(char? #\\x1.4)") 'error)
+(test (eval-string "(char? #\xbdca2cbec)") #f)
+(test (eval-string "(char? #\\xbdca2cbec)") #f)
+(test (eval-string "(char? #\\100)") #f)
+(test (eval-string "(char? #\\x-65)") #f)
+(test (eval-string "(char? #\\x6.5)") #f)
+(test (eval-string "(char? #\\x6/5)") #f)
+(test (eval-string "(char? #\\x6/3)") #f)
+(test (eval-string "(char? #\\x6+i)") #f)
+(test (eval-string "(char? #\\x6asd)") #f)
+(test (eval-string "(char? #\\x6#)") #f)
+(test (eval-string "(char? #\\x#b0)") #f)
+(test (eval-string "(char? #\\x#b0") 'error) ; missing )
+(test (eval-string "(char? #\\x-0)") #f)
+(test (eval-string "(char? #\\x1.4)") #f)
+(test (eval-string "(char? #\\x#b0)") #f)
+(test (eval-string "(char? #\\x-0)") #f)
+(test (eval-string "(char? #\\x1.4)") #f)
 
 (test (char=? #\x6a #\j) #t)
 
@@ -3652,7 +3664,7 @@ void block_init(s7_scheme *sc)
      (for-each
       (lambda (arg)
 	(test (op arg) 'error))
-      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	    3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
    (list char-upper-case? char-lower-case? char-upcase char-downcase char-numeric? char-whitespace? char-alphabetic?))
 
@@ -3708,7 +3720,7 @@ void block_init(s7_scheme *sc)
      (for-each
       (lambda (arg)
 	(test (op #\a arg) 'error))
-      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	    3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
    (list char=? char<? char<=? char>? char>=? char-ci=? char-ci<? char-ci<=? char-ci>? char-ci>=?))
 
@@ -3717,7 +3729,7 @@ void block_init(s7_scheme *sc)
      (for-each
       (lambda (arg)
 	(test (op arg #\a) 'error))
-      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+      (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	    3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
    (list char=? char<? char<=? char>? char>=? char-ci=? char-ci<? char-ci<=? char-ci>? char-ci>=?))
 
@@ -4120,13 +4132,13 @@ void block_init(s7_scheme *sc)
 (for-each
  (lambda (arg)
    (test (char->integer arg) 'error))
- (list -1 1 0 123456789 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list -1 1 0 123456789 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (integer->char arg) 'error))
- (list -1 257 123456789 -123456789 #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list -1 257 123456789 -123456789 #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi most-positive-fixnum 1/0 (if #f #f) (lambda (a) (+ a 1))))
 
 (test (#\a) 'error)
@@ -4154,7 +4166,7 @@ void block_init(s7_scheme *sc)
 (for-each
  (lambda (arg)
    (test (string? arg) #f))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (string?) 'error)
@@ -4227,7 +4239,7 @@ void block_init(s7_scheme *sc)
  (lambda (arg)
    (test (string=? "hi" arg) 'error)
    (test (string=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4305,7 +4317,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string<? "hi" arg) 'error)
    (test (string<? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4356,7 +4368,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string>? "hi" arg) 'error)
    (test (string>? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4405,7 +4417,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string<=? "hi" arg) 'error)
    (test (string<=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4457,7 +4469,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string>=? "hi" arg) 'error)
    (test (string>=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4495,7 +4507,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-ci=? "hi" arg) 'error)
    (test (string-ci=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4571,7 +4583,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-ci<? "hi" arg) 'error)
    (test (string-ci<? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4617,7 +4629,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-ci>? "hi" arg) 'error)
    (test (string-ci>? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4661,7 +4673,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-ci<=? "hi" arg) 'error)
    (test (string-ci<=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4707,7 +4719,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-ci>=? "hi" arg) 'error)
    (test (string-ci>=? arg "hi") 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4763,7 +4775,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (string-length arg) 'error))
- (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 ;;; a couple more string constant cases
@@ -4781,7 +4793,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (string #\a arg) 'error)
    (test (string #\a #\null arg) 'error)
    (test (string arg) 'error))
- (list () (list 1) '(1 . 2) "a" #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list () (list 1) '(1 . 2) "a" #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (string) "")
@@ -4821,19 +4833,19 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (make-string 3 arg) 'error))
- (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (make-string arg #\a) 'error))
- (list #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (make-string arg) 'error))
- (list #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -4867,13 +4879,13 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (string-ref arg 0) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (string-ref "hiho" arg) 'error))
- (list #\a -1 123 4 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a -1 123 4 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test ("hi" 1) #\i)
@@ -4919,7 +4931,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (string-copy arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (length (string-copy (string #\null))) 1)
@@ -4973,19 +4985,19 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (string-set! arg 0 #\a) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (string-set! "hiho" arg #\a) 'error))
- (list #\a -1 123 4 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a -1 123 4 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (string-set! "hiho" 0 arg) 'error))
- (list 1 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list 1 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (equal? (let ((str "hiho")) (string-set! str 2 #\null) str) "hi") #f)
@@ -5027,13 +5039,13 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (let ((hiho "hiho")) (string-fill! hiho arg) hiho) 'error))
- (list 1 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list 1 "hi" () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (string-fill! arg #\a) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((str "1234567890")) (string-fill! str #\a 0) str) "aaaaaaaaaa")
@@ -5088,7 +5100,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string-downcase arg) 'error)
    (test (string-upcase arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 ;;; for r7rs, these need to be unicode-aware
@@ -5174,20 +5186,20 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (substring "hiho" arg 0) 'error))
- (list "hi" #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (substring "0123" arg) 'error)
    (test (substring "hiho" 1 arg) 'error))
- (list "hi" #\a -1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a -1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (substring arg 1 2) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (define (substring? pattern target) ; taken from net somewhere (umich?) with changes for s7 (which now has string-position, so this is unneeded)
@@ -5307,7 +5319,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (string-append "hiho" arg) 'error)
    (test (string-append arg "hi") 'error)
    (test (string-append "a" "b" arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -5418,7 +5430,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (string->list arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((x (cons #\a #\b))) (set-cdr! x x) (list->string x)) 'error)
@@ -5428,7 +5440,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (list->string arg) 'error))
- (list "hi" #\a 1 ''foo '(1 . 2) (cons #\a #\b) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a 1 ''foo '(1 . 2) (cons #\a #\b) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (let ((str (list->string '(#\x #\space #\null #\x))))
@@ -5539,7 +5551,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string->list "012345" arg) 'error)
    (test (string->list "012345" 1 arg) 'error))
- (list #\a "hi" () (list 1) '(1 . 2) 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a "hi" () (list 1) '(1 . 2) 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (string->list "12345" 0) '(#\1 #\2 #\3 #\4 #\5))
@@ -5574,7 +5586,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (char-position #\a arg) 'error)
    (test (string-position "a" "abc" arg) 'error)
    (test (char-position #\a "abc" arg) 'error))
- (list () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 -1 most-negative-fixnum 1.0+1.0i :hi (if #f #f) (lambda (a) (+ a 1))))
 (test (char-position #\a "abc" most-positive-fixnum) #f)
 (test (char-position "a" "abc" most-positive-fixnum) #f)
@@ -5729,14 +5741,14 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (symbol->string arg) 'error))
- (list #\a 1 "hi" () (list 1) '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 "hi" () (list 1) '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (arg)
    (test (string->symbol arg) 'error)
    (test (symbol arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
@@ -5829,7 +5841,7 @@ i" (lambda (p) (eval (read p)))) pi)
      (set! sym arg)
      (test (symbol->value 'sym) arg)
      (test (symbol->dynamic-value 'sym) arg))
-   (list #\a 1 () (list 1) '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+   (list #\a 1 () (list 1) '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
 	 3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1)))))
 
 (for-each
@@ -5838,7 +5850,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (symbol->value 'abs arg) 'error)
    (test (symbol->dynamic-value arg) 'error)
    (test (symbol->dynamic-value 'abs arg) 'error))
- (list #\a 1 () (list 1) "hi" '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) "hi" '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1))))
   
 (test (symbol->value) 'error)
@@ -6039,7 +6051,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (string->byte-vector arg) 'error)
    (test (byte-vector? arg) #f))
- (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1))))
 
 (test (string->byte-vector #x010203) 'error)
@@ -6058,7 +6070,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (make-byte-vector arg) 'error)
    (test (make-byte-vector 1 arg) 'error))
- (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1))))
 
 
@@ -6070,7 +6082,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (byte-vector arg) 'error))
- (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1)  '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1))))
 
 (test (map append #u8(0 1 2)) '(0 1 2))
@@ -6137,7 +6149,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (byte-vector-set! #u8(0 1 2) 0 arg) 'error)
    (test (let ((v #u8(0 1 2))) (v arg)) 'error)
    (test (let ((v #u8(0 1 2))) (set! (v arg) 0)) 'error))
- (list #\a () (list 1) "str" "" '(1 . 2) #f (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () (list 1) "str" "" '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (if #f #f) #<eof> (lambda (a) (+ a 1))))
 
 (test (let ((v #u8(0 1 2))) (v 1)) 1)
@@ -6232,7 +6244,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (if (not (equal? (car (cons arg ())) arg))
        (format #t ";(car '(~A)) returned ~A?~%" arg (car (cons arg ()))))
    (test (car arg) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (reinvert 12 car (lambda (a) (cons a ())) '(1)) '(1))
@@ -6270,7 +6282,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (if (not (equal? (cdr (cons () arg)) arg))
        (format #t ";(cdr '(() ~A) -> ~A?~%" arg (cdr (cons () arg))))
    (test (cdr arg) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (let* ((a (list 1 2 3))
@@ -6945,7 +6957,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (reverse! arg) 'error))
- (list (integer->char 65) #f 'a-symbol abs _ht_ _null_ quasiquote macroexpand 1/0 (log 0) 
+ (list (integer->char 65) #f 'a-symbol abs _ht_ _undef_ _null_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((str "1234")) (reverse! str) str) "4321")
@@ -7273,7 +7285,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (if (pair? arg)
        (format #t ";(pair? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -7285,7 +7297,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (pair-line-number arg) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 ;;; pair-filename
@@ -7295,7 +7307,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (pair-filename arg) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -7342,7 +7354,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (if (list? arg)
        (format #t ";(list? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -7391,7 +7403,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (if (proper-list? arg)
        (format #t ";(list? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -7441,7 +7453,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (if (null? arg)
        (format #t ";(null? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t (if #f #f) :hi #<eof> #<undefined> (values) (lambda (a) (+ a 1))))
 
 
@@ -7566,7 +7578,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (list-ref (list 1 arg) 1) arg))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((x '(1 . 2))) (set-cdr! x x) (list-ref x 0)) 1)
@@ -7690,7 +7702,7 @@ i" (lambda (p) (eval (read p)))) pi)
      (test (list-ref (list 1 2) arg) 'error)
      (test ((list 1 2) arg) 'error)
      (test (lst arg) 'error))
-   (list "hi" (integer->char 65) #f '(1 2) () 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" (integer->char 65) #f '(1 2) () 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
 
 
@@ -7725,7 +7737,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (let ((x (list 1 2))) (list-set! x 0 arg) (list-ref x 0)) arg))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 32) L) '((1 2 3) 32))
@@ -7815,7 +7827,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (list-set! (list 1 2) arg arg) 'error)
    (test (list-set! arg 1 2) 'error)
    (test (list-set! (list 1 2) arg 1) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -7914,7 +7926,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (list-tail (list 1 2) arg) 'error)
    (test (list-tail arg 0) 'error))
  (list "hi" -1 3 most-negative-fixnum most-positive-fixnum 
-       (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+       (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f #t (if #f #f) #<eof> #() #(1 2 3) (lambda (a) (+ a 1))))
 
 
@@ -8611,7 +8623,7 @@ i" (lambda (p) (eval (read p)))) pi)
 	    (format #t ";(~A ~A) returned ~A?~%" op arg result))
 	(test (op arg () arg) 'error)
 	(test (op arg) 'error)))
-    (list () "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+    (list () "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	  3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
  (list cons car cdr set-car! set-cdr! caar cadr cdar cddr caaar caadr cadar cdaar caddr cdddr cdadr cddar 
        caaaar caaadr caadar cadaar caaddr cadddr cadadr caddar cdaaar cdaadr cdadar cddaar cdaddr cddddr cddadr cdddar
@@ -8631,7 +8643,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (let ((result (catch #t (lambda () (op #f arg)) (lambda args 'error))))
 	(if (not (eq? result 'error))
 	    (format #t ";(~A #f ~A) returned ~A?~%" op arg result))))
-    (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+    (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	  3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
  (list assq assv assoc memq memv member))
 
@@ -8727,7 +8739,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (append arg) arg)
    (test (append () arg) arg)
    (test (append () () () arg) arg))
- (list "hi" #\a #f 'a-symbol _ht_ _null_ (make-vector 3) abs 1 3.14 3/4 1.0+1.0i #t #<unspecified> #<eof> () #() (list 1 2) (cons 1 2) #(0) (lambda (a) (+ a 1))))
+ (list "hi" #\a #f 'a-symbol _ht_ _undef_ _null_ (make-vector 3) abs 1 3.14 3/4 1.0+1.0i #t #<unspecified> #<eof> () #() (list 1 2) (cons 1 2) #(0) (lambda (a) (+ a 1))))
 (test (append not) not)
 
 (test (let ((l0 (list 0))
@@ -8895,7 +8907,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector? arg) #f))
- (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _undef_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (vector?) 'error)
@@ -8948,7 +8960,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector-ref (make-vector 1 arg) 0) arg))
- (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 
 (test (make-vector) 'error)
@@ -8968,11 +8980,11 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (make-vector arg) 'error)
    (test (make-vector (list 2 arg)) 'error))
- (list #\a () -1 #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () -1 #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 
 (test (eval-string "#2147483649D()") 'error)
-(test (eval-string "#-9223372036854775808D()") 'error)
+(test (type-of (eval-string "#-9223372036854775808D()")) 'undefined?)
 (test (eval-string "#922D()") 'error)
 
 
@@ -8996,7 +9008,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (make-shared-vector arg) 'error)
    (test (make-shared-vector #(1 2 3) arg) 'error))
- (list #\a () -1 #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a () -1 #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 
 (let ((v #2d((1 2) (3 4))))
@@ -9069,7 +9081,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (test (float-vector arg) 'error)
    (if (int-vector? arg) (format *stderr* ";~A is an int-vector?~%" arg))
    (test (int-vector arg) 'error))
- (list #\a () #f "hi" 'a-symbol abs _ht_ _null_ quasiquote macroexpand #() #t (vector 1 2 3) (lambda (a) (+ a 1))))
+ (list #\a () #f "hi" 'a-symbol abs _ht_ _undef_ _null_ quasiquote macroexpand #() #t (vector 1 2 3) (lambda (a) (+ a 1))))
  
 
 ;;; make-float-vector
@@ -9090,7 +9102,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (make-float-vector arg) 'error)
    (test (make-float-vector 3 arg) 'error))
- (list #\a () #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
+ (list #\a () #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 (test (equal? (vector) (float-vector)) #t)
 (test (float-vector? (make-float-vector 3 0)) #t)
 (test (float-vector? (make-float-vector 3 1/2)) #t)
@@ -9113,7 +9125,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (make-int-vector arg) 'error)
    (test (make-int-vector 3 arg) 'error))
- (list #\a () #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i 1/2 pi #t (vector 1 2 3) (lambda (a) (+ a 1))))
+ (list #\a () #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i 1/2 pi #t (vector 1 2 3) (lambda (a) (+ a 1))))
 (test (equal? (vector) (int-vector)) #t)
 
 (test (catch #t
@@ -9149,7 +9161,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (float-vector-ref arg 0) 'error)
    (test (float-vector-ref (float-vector 1.0) arg) 'error))
- (list #\a () #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
+ (list #\a () #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 (let ((v (make-float-vector (list 2 3) 1.0))
       (v1 (make-float-vector 3)))
   (set! (v 1 1) 2.0)
@@ -9178,7 +9190,7 @@ i" (lambda (p) (eval (read p)))) pi)
      (test (float-vector-set! v1 arg) 'error)
      (test (float-vector-set! v1 0 arg) 'error)
      (test (float-vector-set! v 0 arg 1.0) 'error))
-   (list #\a () #f "hi" 1+i 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand #t (vector 1 2 3) (lambda (a) (+ a 1))))
+   (list #\a () #f "hi" 1+i 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand #t (vector 1 2 3) (lambda (a) (+ a 1))))
   (test (float-vector-ref v) 'error)
   (test (float-vector-set! v) 'error)
   (test (float-vector-ref v1 0 1) 'error)
@@ -9268,7 +9280,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (int-vector-ref arg 0) 'error)
    (test (int-vector-ref (int-vector 1) arg) 'error))
- (list #\a () #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
+ (list #\a () #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 (let ((v (make-int-vector (list 2 3) 1))
       (v1 (make-int-vector 3)))
   (set! (v 1 1) 2)
@@ -9297,7 +9309,7 @@ i" (lambda (p) (eval (read p)))) pi)
      (test (int-vector-set! v1 arg) 'error)
      (test (int-vector-set! v1 0 arg) 'error)
      (test (int-vector-set! v 0 arg 1) 'error))
-   (list #\a () #f "hi" 1+i 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand #t (vector 1 2 3) (lambda (a) (+ a 1))))
+   (list #\a () #f "hi" 1+i 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand #t (vector 1 2 3) (lambda (a) (+ a 1))))
   (test (int-vector-ref v) 'error)
   (test (int-vector-set! v) 'error)
   (test (int-vector-ref v1 0 1) 'error)
@@ -9395,7 +9407,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector-ref (vector arg) 0) arg))
- (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
        3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1))))
 (test (vector 1 . 2) 'error)
 (test (apply vector (cons 1 2)) 'error)
@@ -9446,7 +9458,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector->list arg) 'error))
- (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol "hi" abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a 1 () (list 1) '(1 . 2) #f 'a-symbol "hi" abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (let ((x (cons #\a #\b))) (set-cdr! x x) (list->vector x)) 'error)
@@ -9458,7 +9470,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (list->vector arg) 'error))
- (list "hi" #\a 1 '(1 . 2) (cons #\a #\b) 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a 1 '(1 . 2) (cons #\a #\b) 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (vector->list #(1 2 3 4) 0) '(1 2 3 4))
@@ -9494,7 +9506,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (vector->list #(0 1 2 3 4 5) arg) 'error)
    (test (vector->list #(0 1 2 3 4 5) 1 arg) 'error))
- (list #\a "hi" () (list 1) '(1 . 2) 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list #\a "hi" () (list 1) '(1 . 2) 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -9523,7 +9535,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector-length arg) 'error))
- (list "hi" #\a 1 () '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a 1 () '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 
@@ -9579,8 +9591,8 @@ i" (lambda (p) (eval (read p)))) pi)
 (test (#2d((1 2) (3 4))) 'error)
 (test (apply (make-vector '(1 2))) 'error)
 
-(test (eval-string "#2/3d(1 2)") 'error)
-(test (eval-string "#2.1d(1 2)") 'error)
+(test (type-of (eval-string "#2/3d(1 2)")) 'undefined?)
+(test (type-of (eval-string "#2.1d(1 2)")) 'undefined?)
 (test (eval-string "#(1 2 . 3)") 'error)
 (test (#(#(#(#t))) 0 0 0) #t)
 (test (let ((v (make-vector 3 0 #t))) (v 0 0)) 'error)
@@ -9600,7 +9612,7 @@ i" (lambda (p) (eval (read p)))) pi)
      (test (vector-ref v arg) 'error)
      (test (vector-ref v arg 0) 'error)
      (test (vector-ref #2d((1 2) (3 4)) 0 arg) 'error))
-   (list "hi" () #() #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" () #() #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #t (lambda (a) (+ a 1)) (make-hash-table))))
 
 
@@ -9755,7 +9767,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (lambda (arg)
      (vector-set! v 1 arg)
      (test (vector-ref v 1) arg))
-   (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+   (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
 	 3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1)))))
 (test (let ((v (vector 1 2 3))) (vector-set! v 1 0) v) #(1 0 3))
 (test (let ((v (vector #f))) (vector-set! v 0 (vector)) v) #(#()))
@@ -9780,20 +9792,20 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector-set! arg 0 0) 'error))
- (list "hi" () #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" () #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t (lambda (a) (+ a 1)) (make-hash-table)))
 
 (let ((v (vector 1 2 3)))
   (for-each
    (lambda (arg)
      (test (vector-set! v arg 0) 'error))
-   (list "hi" () #() #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" () #() #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #t (make-vector 3) (lambda (a) (+ a 1)))))
 
 (for-each
  (lambda (arg)
    (test (vector-set! arg 0 0) 'error))
- (list "hi" () #\a 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" () #\a 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (let ((v #(#(0 1) #(2 3))))
@@ -9909,7 +9921,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (lambda (arg)
      (vector-fill! v arg)
      (test (vector-ref v 1) arg))
-   (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+   (list #\a 1 () (list 1) '(1 . 2) #f "hi" 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
 	 3.14 3/4 1.0+1.0i #t (vector 1 2 3) (lambda (a) (+ a 1)))))
 
 (test (let ((str "hi") (v (make-vector 3))) (vector-fill! v str) (string-set! (vector-ref v 0) 1 #\a) str) "ha")
@@ -9931,7 +9943,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (vector-fill! arg 0) 'error))
- (list "hi" #\a () 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" #\a () 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (when with-bignums
@@ -10029,7 +10041,7 @@ i" (lambda (p) (eval (read p)))) pi)
    (lambda (arg)
      (test (vector-append arg) 'error)
      (test (vector-append #(1 2) arg) 'error))
-   (list "hi" #\a () 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" #\a () 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1)))))
 
 (test (equal? (make-vector 3 1) (make-int-vector 3 1)) #f)
@@ -10419,7 +10431,8 @@ i" (lambda (p) (eval (read p)))) pi)
 (test (object->string (make-float-vector 3 -1.5)) "#r(-1.5 -1.5 -1.5)")
 (test (object->string (make-int-vector 3 1)) "#i(1 1 1)")
 (test (object->string (make-int-vector 3 -1)) "#i(-1 -1 -1)")
-(test (object->string (make-int-vector 0 0)) "#()")
+(test (object->string (make-int-vector 0 0)) "#i()")
+(test (object->string #r()) "#r()")
 (test (object->string (make-float-vector '(3 2 0) 0.0)) "#r3D()")
 
 (test (let ((v1 (make-vector '(3 2) 1))
@@ -10836,7 +10849,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each
  (lambda (arg)
    (test (cyclic? arg) #f))
-  (list "hi" "" #\null #\a () #() 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+  (list "hi" "" #\null #\a () #() 1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))
        (let ((x '(1 2))) (list x x))
        (let ((x #(1 2))) (vector x x))
@@ -11329,7 +11342,7 @@ i" (lambda (p) (eval (read p)))) pi)
 	  (test (equal? l2 vect) #t)
 	  (test (equal? s2 lst) #t)))))
 
-(let* ((vals (list "hi" #\A 1 'a #(1) abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+(let* ((vals (list "hi" #\A 1 'a #(1) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
 		   3.14 3/4 1.0+1.0i #\f '(1 . 2)))
        (vlen (length vals)))
   (do ((i 0 (+ i 1)))
@@ -12084,9 +12097,9 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt1 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt1
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" m))))
-	       (format *stderr* "opt 1type: ~A, info: ~A~%" type info))
+	       (format *stderr* "opt1 type: ~A, info: ~A~%" type info))
 	   'error)))
 (let ()
   (define (opt2)
@@ -12096,7 +12109,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt2 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt2
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" m))))
 	       (format *stderr* "opt2 type: ~A, info: ~A~%" type info))
 	   'error)))
@@ -12109,7 +12122,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt3 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt3
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" m))))
 	       (format *stderr* "opt3 type: ~A, info: ~A~%" type info))
 	   'error)))
@@ -12141,7 +12154,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt6 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt6
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" n))))
 	       (format *stderr* "opt6 type: ~A, info: ~A~%" type info))
 	   'error)))
@@ -12166,7 +12179,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt8 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt8
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" m))))
 	       (format *stderr* "opt8 type: ~A, info: ~A~%" type info))
 	   'error)))
@@ -12178,7 +12191,7 @@ i" (lambda (p) (eval (read p)))) pi)
       (format #t "~A: opt9 got ~S but expected 'error~%~%" (port-line-number) val)))
   (catch #t opt9
 	 (lambda (type info)
-	   (if (or (not (eq? type 'syntax-error))
+	   (if (or (not (eq? type 'unbound-variable))
 		   (not (equal? info '("~A: unbound variable" m))))
 	       (format *stderr* "opt9 type: ~A, info: ~A~%" type info))
 	   'error)))
@@ -14171,7 +14184,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (load arg) 'error)
    (test (load "empty-file" arg) 'error))
- (list () (list 1) '(1 . 2) #f #\a 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list () (list 1) '(1 . 2) #f #\a 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
 (test (load) 'error)
 (test (load "empty-file" (curlet) 1) 'error)
@@ -14234,7 +14247,7 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (test (autoload arg "dsp.scm") 'error)
    (test (autoload 'hi arg) 'error))
- (list #f () (integer->char 65) 1 (list 1 2) _ht_ _null_ _c_obj_ '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
+ (list #f () (integer->char 65) 1 (list 1 2) _ht_ _undef_ _null_ _c_obj_ '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
 (test (autoload 'abs "dsp.scm" 123) 'error)
 (test (autoload "" "dsp.scm") 'error)
 
@@ -14611,13 +14624,13 @@ i" (lambda (p) (eval (read p)))) pi)
  (lambda (arg)
    (if (output-port? arg)
        (format #t ";(output-port? ~A) -> #t?~%" arg)))
- (list "hi" #f () 'hi (integer->char 65) 1 (list 1 2) _ht_ _null_ _c_obj_ '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
+ (list "hi" #f () 'hi (integer->char 65) 1 (list 1 2) _ht_ _undef_ _null_ _c_obj_ '#t '3 (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
 
 (for-each
  (lambda (arg)
    (test (read-line () arg) 'error)
    (test (read-line arg) 'error))
- (list "hi" (integer->char 65) 1 #f _ht_ _null_ _c_obj_ (list) (cons 1 2) (list 1 2) (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
+ (list "hi" (integer->char 65) 1 #f _ht_ _undef_ _null_ _c_obj_ (list) (cons 1 2) (list 1 2) (make-vector 3) 3.14 3/4 1.0+1.0i #\f))
 
 (test (call-with-output-file tmp-output-file output-port?) #t)
 (if (not (eq? start-output-port (current-output-port)))
@@ -14630,11 +14643,14 @@ i" (lambda (p) (eval (read p)))) pi)
 (test (let ((val #f)) (call-with-output-string (lambda (p) (set! val (output-port? p)))) val) #t)
 (test (let ((res #f)) (let ((this-file (open-output-string))) (set! res (output-port? this-file)) (close-output-port this-file) res)) #t)
 
+(test (with-output-to-string (lambda () (display _undef_))) "#_asdf")
+(test (with-output-to-string (lambda () (write _undef_))) "#_asdf")
+
 (for-each
  (lambda (arg)
    (if (eof-object? arg)
        (format #t ";(eof-object? ~A) -> #t?~%" arg)))
- (list "hi" () '(1 2) -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" () '(1 2) -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #f #t (if #f #f) #<undefined> (lambda (a) (+ a 1))))
 
 (for-each
@@ -14644,7 +14660,7 @@ i" (lambda (p) (eval (read p)))) pi)
 		     (lambda args 'error))))
      (if (not (eq? val 'error))
 	 (format #t ";(port-closed? ~A) -> ~S?~%" arg val))))
- (list "hi" '(1 2) -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2) -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #f #t (if #f #f) #<undefined> #<eof> (lambda (a) (+ a 1))))
 
 (test (port-closed?) 'error)
@@ -15108,7 +15124,7 @@ i" (lambda (p) (eval (read p)))) pi)
    ;;(test (eval-string str) 'error)
    ;; eval-string is confused somehow
    (test (with-input-from-string str read) 'error))
- (list "\"\\x" "\"\\x0" "`(+ ," "`(+ ,@" "#2d(" "#\\"))
+ (list "\"\\x" "\"\\x0" "`(+ ," "`(+ ,@" "#2d("))
 
 (let ((loadit tmp-output-file))
   (let ((p1 (open-output-file loadit)))
@@ -15137,7 +15153,7 @@ i" (lambda (p) (eval (read p)))) pi)
     (lambda (arg) ;(format #t ";(~A ~A)~%" op arg)
       (test (op arg) 'error))
     (list (integer->char 65) 1 0 -1 (list 1) (cons 1 2) 'a-symbol (make-vector 3) abs lambda with-let
-	  _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+	  _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	  3.14 3/4 1.0+1.0i #\f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
  (list char-ready? set-current-output-port set-current-input-port set-current-error-port
        close-input-port close-output-port open-input-file open-output-file
@@ -15363,7 +15379,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (directory? arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
   
   ;; file-exists?
@@ -15374,7 +15390,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (file-exists? arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
   
   ;; delete-file
@@ -15386,7 +15402,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (delete-file arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
   
   ;; getenv
@@ -15397,7 +15413,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (getenv arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
   
   ;; directory->list
@@ -15406,7 +15422,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (directory->list arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1))))
   
   ;; system
@@ -15419,7 +15435,7 @@ i" (lambda (p) (eval (read p)))) pi)
   (for-each
    (lambda (arg)
      (test (system arg) 'error))
-   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
         
 (let ()
@@ -15475,7 +15491,7 @@ i" (lambda (p) (eval (read p)))) pi)
     (for-each
      (lambda (arg)
        (test (char-ready? arg) 'error))
-     (list "hi" -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+     (list "hi" -1 #\a 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	   3.14 3/4 1.0+1.0i #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
 
 ;;; newline
@@ -15533,7 +15549,7 @@ i" (lambda (p) (eval (read p)))) pi)
 (for-each 
  (lambda (arg)
    (test (format arg "~D" 1) 'error))
- (list "hi" #\a 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand :hi (if #f #f) (lambda (a) (+ a 1))))
+ (list "hi" #\a 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (for-each
  (lambda (directive)
@@ -15541,7 +15557,7 @@ i" (lambda (p) (eval (read p)))) pi)
     (lambda (arg)
       (test (format #f directive arg) 'error)
       (test (format #f directive) 'error))
-    (list "hi" #\a 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand
+    (list "hi" #\a 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand
 	  #f #t :hi (if #f #f) (lambda (a) (+ a 1)))))
  (list "~D" "~F" "~G" "~X" "~B" "~O" "~E" "~P"))
 
@@ -17418,6 +17434,7 @@ a2" 3) "132")
 (test (port-line-number *stdin*) 0)
 (test (port-line-number *stdout*) 'error)
 (test (port-line-number *stderr*) 'error)
+(test (port-line-number ()) 'error) ; this used to be *stdin*?
 
 (test (open-input-file "[*not-a-file!*]-") 'error)
 (test (call-with-input-file "[*not-a-file!*]-" (lambda (p) p)) 'error)
@@ -17893,8 +17910,8 @@ a2" 3) "132")
 (test (symbol? 'a'b) #t)
 
 (test (char? #\#) #t)
-(test (eval-string "'#<float-vector>") 'error)
-(test (eval-string "'(#<float-vector>)") 'error)
+(test (type-of (eval-string "'#<float-vector>")) 'undefined?)
+(test (type-of (eval-string "'(#<float-vector>)")) 'pair?)
 (test (car `(,.1e0)) .1)
 (test (car `(,.1E0)) .1)
 (test (let ((x "hi")) (set! x"asdf") x) "asdf")
@@ -17919,8 +17936,22 @@ a2" 3) "132")
 (num-test (+ 1 .()) 1)
 (test (let () (define (x .()) (list .())) (x)) ())
 
+(test '(1 . ()) '(1))
+(test '(1 . (2)) '(1 2))
+(test '(1 . (2) 3) '(1 2 3)) ; Guile says "missing close paren", sbcl says "More than one object follows . in list.", clisp: "illegal end of dotted list"
+(test '(1 . (2 3) 4 5) '(1 2 3 4 5))
+(test '(1 . (2) (3)) '(1 2 (3)))
+(test '(1 2 . 'x 3) '(1 2 quote x 3))
+(test (eval-string "'(1 . 2 3)") 'error)  ; eval-string here wraps up the read-error
+(test '(1 . (2 . 3)) '(1 2 . 3))
+(test (eval-string "'(1 . . ((2 3)))") 'error)
+(test '((1 . 2) . (3 . 4)) '((1 . 2) 3 . 4))
+(test (eval-string "'(1 . () 2)") 'error)
+(test '(1 . (2) . (3)) '(1 2 3))
+(test '(1 . (2 . (3))) '(1 2 3)) 
+
 ;; how is ...#(... parsed?
-(test (eval-string "'(# (1))") 'error)
+;(test (eval-string "'(# (1))") 'error)
 (test (let ((lst (eval-string "'(#(1))"))) (and (= (length lst) 1) (vector? (car lst)))) #t)                     ; '(#(1))
 (test (let ((lst (eval-string "'(-#(1))"))) (and (= (length lst) 2) (symbol? (car lst)) (pair? (cadr lst)))) #t) ; '(-# (1))
 (test (let ((lst (eval-string "'(1#(1))"))) (and (= (length lst) 2) (symbol? (car lst)) (pair? (cadr lst)))) #t) ; '(1# (1))
@@ -17943,12 +17974,12 @@ a2" 3) "132")
 (test (length '(#xA""#(1))) 3)
 (test (length (eval-string "'(#xA\"\"#(1))")) 3)
 (test (length (eval-string "'(1#f)")) 1)
-(test (eval-string "'(#f#())") 'error)
+;(test (eval-string "'(#f#())") 'error)
 (test (length '(#f())) 2)
 (test (length '(#f"")) 2)
-(test (eval-string "#F") 'error)
-(test (eval-string "'(#<eof>#<eof>)") 'error)
-(test (eval-string "'(#<eof>#())") 'error)
+(test (eq? #f (eval-string "#F")) #f)
+;(test (eval-string "'(#<eof>#<eof>)") 'error)
+;(test (eval-string "'(#<eof>#())") 'error)
 (test (equal? '('#()) '(#())) #f)
 (test (equal? (list #()) '(#())) #t)
 (test (equal? '(#()) '(#())) #t)
@@ -18323,6 +18354,7 @@ so anything that quotes ` is not going to equal quote quasiquote
 (test (object->string #<eof>) "#<eof>")
 (test (object->string (if #f #f)) "#<unspecified>")
 (test (object->string #<undefined>) "#<undefined>")
+(test (object->string _undef_) "#_asdf")
 (test (object->string #f) "#f")
 (test (object->string #t) "#t")
 (test (object->string ()) "()")
@@ -20061,6 +20093,7 @@ c"
 (test (let () (define (f) (map (let ((x 3)) (lambda (y) (+ x y))) '(x 2))) (f)) 'error)
 (test (let () (define (f) (map (let ((x 3)) (lambda (y) (+ x y))) '(1 2))) (f)) '(4 5))
 (test (let () (define (f) (map (let ((x 3)) (let ((y 0)) (lambda (y) (+ x y)))) '(1 2))) (f)) '(4 5))
+(test (let () (define (func) (map (lambda (x) (if (>= x 0.0) x (- x))) (list (float-vector? (block))))) (define (hi) (func)) (hi)) 'error)
 
 (test (let ((d 0))
 	(map (let ((a 0))
@@ -20748,7 +20781,7 @@ in s7:
  (lambda (arg)
    (if (iterator? arg)
        (format #t ";~A: (iterator? ~A) -> #t?~%" (port-line-number) arg)))
- (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) :hi (if #f #f) #<eof> #<undefined>))
 
 (for-each
@@ -20756,7 +20789,7 @@ in s7:
    (test (iterate arg) 'error)
    (test (iterator-sequence arg) 'error)
    (test (iterate-at-end? arg) 'error))
- (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2) (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) :hi (if #f #f) #<eof> #<undefined>))
 
 (for-each
@@ -20851,7 +20884,6 @@ in s7:
     (test (iterator-at-end? s1) #t)
     (test (iterator? s1) #t)))
 
-
 (let ((str (make-int-vector 4 0)))
   (do ((i 1 (+ i 1))) ((= i 4)) (set! (str i) i))
   (let ((s1 (make-iterator str)))
@@ -20862,7 +20894,6 @@ in s7:
     (test (list (s1) (s1) (s1)) (list 2 3 #<eof>))
     (test (s1) #<eof>)))
 
-
 (let ((str (list 0 1 2 3)))
   (let ((s1 (make-iterator str)))
     (test (iterator? s1) #t)
@@ -20906,7 +20937,16 @@ in s7:
 
 ;; hash-table and let dealt with elsewhere
 
+(test (length (make-iterator (list 1 2 3))) 3)
+(test (length (make-iterator "123")) 3)
+(test (length (make-iterator #(1 2 3))) 3)
+(test (length (make-iterator (int-vector 1 2 3))) 3)
+(test (length (make-iterator (float-vector 1 2 3))) 3)
+(test (length (make-iterator (inlet 'a 1 'b 2))) 2)
+(test (length (make-iterator (hash-table* 'a 1 'b 2))) 8)
+
 (when with-block
+  (test (length (make-iterator (block 1 2 3))) 3)
   (let ((b (block 0.0 1.0 2.0)))
     (let ((b1 (make-iterator b)))
       (test (iterator? b1) #t)
@@ -21367,7 +21407,6 @@ in s7:
 (test (do ((i 1 (+ i j))) ((>= i 2) (+ i j)) (define j i) j) 3)
 (test (do ((i 1 (+ i j))) ((>= i 2) (+ i j)) (define j (+ i 10)) j) 23)
 ;(test (do ((i 1 (+ i j))) ((>= i 2) (+ i j)) (if (integer? i) (define j i)) j) 3)
-;; this ^ will cause a segfault if optimized but how to catch it without a huge speed penalty?
 (test (do ((i 0 (+ i 1))) ((>= i 2) i) (define i 10) i) 11)
 
 (test (let ((x (do ((i 0 (+ i 1))) (#t)))) x) #t) ; guile: #<unspecified>
@@ -22130,6 +22169,8 @@ in s7:
 (test (let ((a (lambda () "hi"))) (set! (a) "ho")) 'error)
 (test (let ((a (let ((b 1)) (set! a 3) b))) a) 'error) 
 
+(let ((__asdf__ #f)) (set! __asdf__ if) (set! __asdf__ 3) (test __asdf__ 3)) ; make sure this doesn't get locked
+
 (test (set! . -1) 'error)
 (test (set!) 'error)
 (test (let ((x 1)) (set! x x x)) 'error)
@@ -22276,6 +22317,7 @@ in s7:
 (test ((lambda (arg) (arg #f 123)) or) 123)
 (test (let ((oar or)) (oar #f 43)) 43)
 (test (let ((oar #f)) (set! oar or) (oar #f #f 123)) 123)
+(test (member 1 (list 2 3) (lambda (a b) (negative? (or (call/cc (lambda (return) (let ((x 1) (y 2)) (return x y)))) (string->keyword))))) #f)
 
 
 
@@ -22749,6 +22791,17 @@ in s7:
 (test (eval `(case ,+ ((,-) 0) ((,+) 1) (else 2))) 1)
 (test (case + ((#_-) 0) ((#_+) 2) (else 3)) 2)
 
+;; check multiple-value selector
+(test (list (let ((x 1)) (case 1 ((1) (values 1 2 3)) (else 2)))) '(1 2 3))
+(test (list (cond ((values 1 2 3)))) '(1 2 3))
+(test (list (dynamic-wind (lambda () #f) (lambda () (case (values 1 2 3) (else))) (lambda () #f))) '(1 2 3))
+(test (list ((lambda () (case (values 1 2 3) (else))))) '(1 2 3))
+(test (list (case (values 1 2 3) (else))) '(1 2 3))
+(test (+ (case (call-with-exit (lambda (ret) (ret 1 2 3))) (else))) 6)
+(test (let ((m1 1)) (list (let-temporarily ((m1 1)) (values 1 2 3)))) '(1 2 3))
+(test (let ((m1 1)) (list (call-with-exit (lambda (r) (let-temporarily ((m1 1)) (r 1 2 3)))))) '(1 2 3))
+(test (let ((m1 1)) (list (call-with-exit (lambda (r) (let-temporarily ((m1 (r 1 2 3))) 4))))) '(1 2 3))
+
 (let ()
   (define (c1 x)
     (case x
@@ -23059,6 +23112,7 @@ in s7:
 (test (cond (0 => (lambda (x) x))) 0)
 (test ((lambda () "hiho")) "hiho")
 (test ((lambda()()))())
+(test ((lambda () _undef_)) _undef_)
 (test (procedure-source (apply lambda (list) (list (list)))) '(lambda () ()))
 
 (test (letrec ((f (lambda (x) (g x)))
@@ -23637,7 +23691,7 @@ in s7:
 (test (apply + '(1 2 . 3)) 'error)
 (test (apply () ()) 'error)
 (test (apply list '(1 . 2) ()) '((1 . 2)))
-(test (apply (lambda (x) x) _ht_ _null_ _c_obj_) 'error)
+(test (apply (lambda (x) x) _ht_ _undef_ _null_ _c_obj_) 'error)
 (test (apply + #(1 2 3)) 'error)
 (test (apply (lambda (a b) (+ a b)) '(1 . 2)) 'error)
 (test (apply (lambda args (apply + args)) 1 2 3) 'error)
@@ -23652,6 +23706,7 @@ in s7:
 (test (apply (lambda args (apply list args)) () ()) '(()))
 (test (apply (lambda args (apply list args)) () (cons 1 2)) 'error)
 (test (apply (lambda args (apply list args)) (cons 1 2)) 'error)
+(test (apply (apply lambda (signature +) '('x)) #i(1)) 'error)
 
 (test (apply "hi" '(1 2)) 'error)
 (test ("hi" 1 2) 'error)
@@ -23897,12 +23952,12 @@ in s7:
 (test (let () (let* ((i 0)) (define xyz 37) i) xyz) 'error)
 (test (let () (let* ((k 0) (i (begin (define xyz 37) 0))) i) xyz) 'error)
 
-(test (let () (letrec ((i (begin (define xyz 37) 0))) i) xyz) 'error)            ; ??? it's defined in the letrec
-(test (let () (letrec ((i (begin (define xyz 37) 0))) xyz)) 37)                  ; !
+(test (let () (letrec ((i (begin (define xyz 37) 0))) i) xyz) 'error)
+(test (let () (letrec ((i (begin (define xyz 37) 0))) xyz)) 37)
 (test (let () (letrec ((i 0)) (define xyz 37) i) xyz) 'error)
 
-(test (let () (letrec* ((i (begin (define xyz 37) 0))) i) xyz) 'error)           ; ??? same as above
-(test (let () (letrec* ((i (begin (define xyz 37) 0))) xyz)) 37)                 ; !
+(test (let () (letrec* ((i (begin (define xyz 37) 0))) i) xyz) 'error)
+(test (let () (letrec* ((i (begin (define xyz 37) 0))) xyz)) 37)
 (test (let () (letrec* ((i 0)) (define xyz 37) i) xyz) 'error)
 (test (let () (letrec* ((k 0) (i (begin (define xyz 37) 0))) i) xyz) 'error)
 
@@ -24686,6 +24741,27 @@ in s7:
 (test (list? (values 1)) #f)
 (test (list? (values (list 1 2 3))) #t)
 
+(test (+ (call-with-exit (lambda (ret) (values 1 2 3)))) 6)
+(test (+ 4 (call-with-exit (lambda (ret) (values 1 2 3))) 5) 15)
+(test (+ (call-with-exit (lambda (ret) (ret 1 2 3)))) 6)
+(test (+ 4 (call-with-exit (lambda (ret) (ret 1 2 3))) 5) 15)
+(test (+ (call/cc (lambda (ret) (values 1 2 3)))) 6)
+(test (+ 4 (call/cc (lambda (ret) (values 1 2 3))) 5) 15)
+(test (+ (call/cc (lambda (ret) (ret 1 2 3)))) 6)
+(test (+ 4 (call/cc (lambda (ret) (ret 1 2 3))) 5) 15)
+(test (+ (dynamic-wind (lambda () (values 1 2)) (lambda () (values 3 4)) (lambda () (values 5 6)))) 7)
+(test (let ((g #f)) (+ (call-with-exit (lambda (ret) (set! g ret) (values 1 2 3)))) (g)) 'error)
+(test (+ (call-with-exit (lambda (ret) (ret (values 1 2 3))))) 6)
+(test (+ (call/cc (lambda (ret) (ret (values 1 2 3))))) 6)
+
+(test (+ (with-input-from-string "123" (lambda () (values 1 2 3)))) 6)
+(test (+ (call-with-input-string "123" (lambda (p) (values 1 2 3)))) 6)
+(test (+ (eval-string "(values 1 2 3)")) 6)
+
+(let ()
+  (test (let ((x 1)) (set! x (apply values (signature (hash-table*))))) 'error)
+  (test (signature (hash-table*)) '(#t hash-table? #t)))
+
 (test (let ((x 1)) (set! x (values)) x) #<unspecified>)
 (test ((lambda () (let ((x 1)) (set! x (boolean? (values)))))) #f)
 (test (let ((x 1)) (set! x (values 1 2 3)) x) 'error)
@@ -24989,7 +25065,7 @@ in s7:
 
 (test (cons (values 1 2)) '(1 . 2))
 (test (number->string (values 1 2)) "1")
-(test (object->string (values)) "#<unspecified>")
+(test (object->string (values)) (if (provided? 'debugging) "#<no-value>" "#<unspecified>"))
 (test (equal? (values) #<unspecified>) #t)
 (test (equal? (begin) (begin (values))) #f) ; () but #<unspecified>
 (test (map (lambda (x) (if #f x #<unspecified>)) (list 1 2)) '(#<unspecified> #<unspecified>))
@@ -24998,6 +25074,18 @@ in s7:
 (test (cond (call-with-exit (values "hi"))) "hi")
 (test (values (begin (values "hi"))) "hi")
 (test (< (values (values 1 2))) #t)
+(test (apply-values (cdr (list-values (values)))) 'error)
+(test (apply values (cdr (list-values (values)))) 'error)
+(test (apply-values) #<unspecified>)
+(test (apply-values ()) #<unspecified>)
+(test (apply values) #<unspecified>)
+(test (apply values ()) #<unspecified>)
+(test (list-values (values)) ())
+(test (list-values (apply-values)) ())
+(test (list-values (apply-values) (values)) ())
+(test (list-values 1 (values) 2) '(1 2))
+(test (list-values 1 2 (values)) '(1 2))
+(test (list-values (values) 1 2) '(1 2))
 
 (test (let ((lst (list 0)))
 	(set-cdr! lst lst)
@@ -27184,8 +27272,7 @@ in s7:
       'error)
 |#
 
-;;; (test ((call/cc (lambda (go) (lambda () (eval-string "(go + 32 1)"))))) 33)
-;;; this is ok in the listener, but exits the load in this context
+(test ((call/cc (lambda (go) (lambda () (eval-string "(go + 32 1)"))))) 33)
 
 (test ((call/cc
 	(lambda (go-1)
@@ -27554,7 +27641,7 @@ in s7:
    (test (call-with-exit arg) 'error)
    (test (call-with-current-continuation arg) 'error)
    (test (call/cc arg) 'error))
- (list "hi" -1 () #(1 2) _ht_ _null_ _c_obj_ #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+ (list "hi" -1 () #(1 2) _ht_ _undef_ _null_ _c_obj_ #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
 
 (test (call/cc . 1) 'error)
 (test (call/cc abs) 'error)
@@ -27902,16 +27989,16 @@ who says the continuation has to restart the map from the top?
       'error)
 
 (test (let ((what's-for-breakfast ())
-	    (bad-dog 'fido))        ; bad-dog will try to sneak in
-	(with-baffle               ; the syntax is (with-baffle . body)         
-	 (set! what's-for-breakfast
-	       (call/cc
-		(lambda (biscuit?)
-		  (set! bad-dog biscuit?) ; bad-dog smells a biscuit!
-		  (biscuit? 'biscuit!)))))
+	    (bad-dog 'fido))        ; bad-dog wonders what's for breakfast?
+	(with-baffle                ; the syntax is (with-baffle . body)         
+	  (set! what's-for-breakfast
+		(call/cc
+		 (lambda (biscuit?)
+		   (set! bad-dog biscuit?) ; bad-dog smells a biscuit!
+		   'biscuit!))))
 	(if (eq? what's-for-breakfast 'biscuit!) 
-	    (bad-dog 'biscuit!))  ; now, outside the baffled block, bad-dog tries to sneak back in
-	results)                   ;   but s7 says "No!": baffled! ("continuation can't jump across with-baffle")
+	    (bad-dog 'biscuit!))     ; now, outside the baffled block, bad-dog wants that biscuit!
+	what's-for-breakfast)        ;   but s7 says "No!": baffled! ("continuation can't jump into with-baffle")
       'error)
 
 (test (+ (with-baffle (let ((c1 #f)) (call/cc (lambda (c2) (set! c1 c2) (c2 2))))) 1) 3)
@@ -28237,7 +28324,7 @@ who says the continuation has to restart the map from the top?
 (test (dynamic-wind (lambda () 1) #f (lambda () 2)) 'error)
 (test (dynamic-wind . 1) 'error)
 (test (dynamic-wind () () ()) 'error)
-(test (dynamic-wind () _ht_ _null_ _c_obj_ ()) 'error)
+(test (dynamic-wind () _ht_ _undef_ _null_ _c_obj_ ()) 'error)
 (test (dynamic-wind + + +) 0)
 (test (dynamic-wind (values + + +)) 0)
 (test (dynamic-wind s7-version s7-version s7-version) (s7-version))
@@ -28577,15 +28664,29 @@ who says the continuation has to restart the map from the top?
 	val)
       'error)
 
+(test ((lambda* ((x 1) (y 2)) (+ x y)) (eval-string "(values 3 4)")) 7)
 
-#|
-;; this exits the s7test load
 (test (let ()
 	(call/cc
-	 (lambda (return)
-	   (eval-string "(return 3)"))))
+	 (lambda (ret)
+	   (eval-string "(ret 3)"))))
+      3)
+
+(test (let ()
+	(call/cc
+	 (lambda (ret)
+	   (eval '(ret 3)))))
+      3)
+(test (let ()
+	(call/cc
+	 (lambda (ret)
+	   (ret 3))))
+      3)
+(test (let ()
+	(call-with-exit
+	 (lambda (ret)
+	   (eval-string "(ret 3)"))))
       3)
-|#
 
 (let ((x 0)
       (y 0)
@@ -28953,7 +29054,7 @@ who says the continuation has to restart the map from the top?
        "(`,- '01/1)" "(`, - ',,1)"  "(/ .(`-1 1))"  "(- ``,,'`1)" "(- 10 0011)" "(-(- ``1 0))" "( -(/ 01/1))" "(-(- 1)`,0)" "(/(/ -1 .()))" 
        "(/ ,,``-1)" "( `,`, - 1)" "(- .(`1/01  ))" "('(-1) ',``0)" "('( ,/ -1 )1)" "(- ,,`,`0 +1)" "(`(-1) `,0)" "(+(* (-(*))))"
        "(-(`,* ,,1))" "(+(+ 0)-1)" "(+(-(+ ,1)))" "(* ,`-01/1)" "(*(- '` `1))" "(-(*(* 1 1)))" "(-(*(/ .(1))))" "(-(- 1(*)-1))" 
-       "(- -00 (* 1))" "(- (*(+ ,01)))" "(-(*), +1(* ))" "(- `,@'(1))" "`,@`(-1)" "(`'`-1 1)" "',@*(-(*))" "`,@(list `,@`(-1))"
+       "(- -00 (* 1))" "(- (*(+ ,01)))" "(-(*), +1(* ))" "(- `,@'(1))" "`,@`(-1)" "(`'`-1 1)" "`,@(list `,@`(-1))"
        ))
 
 #|
@@ -29344,7 +29445,7 @@ who says the continuation has to restart the map from the top?
 (for-each
  (lambda (arg)
    (test (gensym arg) 'error))
- (list -1 #\a 1 'hi _ht_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i #t #f () #(()) (list 1 2 3) '(1 . 2)))
+ (list -1 #\a 1 'hi _ht_ _undef_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i #t #f () #(()) (list 1 2 3) '(1 . 2)))
 
 (test (gensym "hi" "ho") 'error)
 
@@ -29399,7 +29500,7 @@ who says the continuation has to restart the map from the top?
 (for-each
  (lambda (arg)
    (test (gensym? arg) #f))
- (list -1 #\a 1 #(1 2 3) 3.14 3/4 1.0+1.0i () car abs (lambda () 1) #2d((1 2) (3 4)) _ht_ _null_ _c_obj_ #f 'hi #(()) (list 1 2 3) '(1 . 2) "hi"))
+ (list -1 #\a 1 #(1 2 3) 3.14 3/4 1.0+1.0i () car abs (lambda () 1) #2d((1 2) (3 4)) _ht_ _undef_ _null_ _c_obj_ #f 'hi #(()) (list 1 2 3) '(1 . 2) "hi"))
 (test (gensym?) 'error)
 (let ((g (gensym)))
   (test (gensym? g) #t)
@@ -29410,6 +29511,7 @@ who says the continuation has to restart the map from the top?
 ;;; --------------------------------------------------------------------------------
 ;;; provided?
 ;;; provide
+;;; require
 
 (test (provided?) 'error)
 (test (or (null? *features*) (pair? *features*)) #t)
@@ -29426,6 +29528,10 @@ who says the continuation has to restart the map from the top?
 (test (provide) 'error)
 (test (provide lambda) 'error)
 
+(test (require) 'error)
+(test (require 1) 'error)
+(test (require _asdf_) 'error)
+
 (provide 's7test) ; should be a no-op??
 (let ((count 0))
   (for-each
@@ -29807,7 +29913,7 @@ who says the continuation has to restart the map from the top?
 (let ((ninf (real-part (log 0.0))) (pinf (- (real-part (log 0.0))))) (test (sort! (list pinf 0.0 ninf) <) (list ninf 0.0 pinf)))
 (test (sort! '(1 1 1) <) '(1 1 1))
 
-(test (call/cc (lambda (return) (sort! '(1 2 3) (lambda (a b) (return "oops"))))) "oops") ; segfault outside s7test.scm??
+(test (call/cc (lambda (return) (sort! '(1 2 3) (lambda (a b) (return "oops"))))) "oops")
 (let ((p1 (dilambda (lambda (a b) (< a b)) (lambda (a b) (error 'oops)))))
   (test (sort! '(3 1 2 4) p1) '(1 2 3 4)))
 (let ((p1 (dilambda (lambda* (a (b 2)) (< a b)) (lambda (a b) (error 'oops)))))
@@ -30232,7 +30338,7 @@ who says the continuation has to restart the map from the top?
   (define-macro (catch-all . body) 
     `(catch #t (lambda () , at body) (lambda args args)))
   (let ((val (catch-all (+ 1 asdf))))
-    (test (car val) 'syntax-error)
+    (test (car val) 'unbound-variable)
     (let ((x 32))
       (test (catch-all (set! x (+ x 1)) (* x 2)) 66)
       (test (car (catch-all (string=? x "hi"))) 'wrong-type-arg))))
@@ -30328,11 +30434,11 @@ who says the continuation has to restart the map from the top?
      (catch #t
        (lambda () _asdf_)
        return)))
-  (test err-type 'syntax-error)
+  (test err-type 'unbound-variable)
   (test err-data '("~A: unbound variable" _asdf_)))
 
 (test (catch #t (lambda () _asdf_) "asdf") 'error)
-(when with-block (test (catch #t (lambda () _asdf_) blocks) '(syntax-error ("~A: unbound variable" _asdf_))))
+(when with-block (test (catch #t (lambda () _asdf_) blocks) '(unbound-variable ("~A: unbound variable" _asdf_))))
 
 ;;; since catch is a function, everything is evaluated:
 (test
@@ -31587,7 +31693,10 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
   (test (fm (mac (mac1))) '(+ (+ 32 1) 1))
   (test (fm (+ (mac x) (mac1 y))) '(+ (+ x 1) (+ y 1)))
   (test (fm (swap a b)) '(set! b (with-let (inlet 'e (curlet) 'tmp a) (with-let e (set! a b)) tmp)))
-  (test (fm (swap a (swap b c))) '(set! c (with-let (inlet 'e (curlet) 'tmp a) (with-let e (set! a (set! c (with-let (inlet 'e (curlet) 'tmp b) (with-let e (set! b c)) tmp)))) tmp)))
+  (test (fm (swap a (swap b c)))
+	'(set! c (with-let (inlet 'e (curlet) 'tmp a)
+		   (with-let e (set! a (set! c (with-let (inlet 'e (curlet) 'tmp b)
+						 (with-let e (set! b c)) tmp)))) tmp)))
   (test (fm (rotate a b c)) '(set! c (with-let (inlet 'e (curlet) 'tmp a) (with-let e (set! a b) (set! b c)) tmp)))
   )
 
@@ -32417,6 +32526,8 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (arity type-of)                                                '(1 . 1))
 (test (arity c-pointer)                                              '(1 . 3))
 (test (arity c-pointer?)                                             '(1 . 2))
+(test (arity require)                                                (cons 1 *max-arity*))
+(test (arity provide)                                                '(1 . 1))
 
 (test (let () (define-macro (mac1 a b c) `(+ ,a ,b)) (arity mac1))   '(3 . 3))
 (test (let () (define-macro (mac1 a b . c) `(+ ,a ,b)) (arity mac1)) (cons 2 *max-arity*))
@@ -32620,7 +32731,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (for-each
  (lambda (arg)
    (test (set! (setter abs) arg) 'error))
- (list -1 #\a #t _ht_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi 'car "car" :hi #(()) (list 1 2 3) '(1 . 2) "hi"))
+ (list -1 #\a #t _ht_ _undef_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi 'car "car" :hi #(()) (list 1 2 3) '(1 . 2) "hi"))
 
 (let ()
   (define (hiho a) a)
@@ -32721,13 +32832,40 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 	(lambda ()
 	  x))))
 
-  (test (flocals)1)
+  (test (flocals) 1)
   (test (procedure? (setter flocals)) #t)
   (set! (flocals) 32)
   (test (flocals) 32)
   (test (signature flocals) '(#t procedure?))
   (test (documentation flocals) "this is a test"))
 
+(let ((_x_ 1))
+  (define fset (let ((+setter+ (lambda (x) (set! _x_ x)))) (lambda () _x_)))
+  (set! (fset) 2) ; make sure this is found even if we haven't previously looked for it (as above)
+  (if (not (= _x_ 2)) (format *stderr* "fset setter: ~A~%" _x_))
+  (define (fset1) _x_)
+  (if (setter fset1) (format *stderr* "fset1 setter: ~A~%" (setter fset1)))
+  (set! (setter fset1) (lambda (x) (set! _x_ x)))
+  (set! (fset1) 3)
+  (if (not (= _x_ 3)) (format *stderr* "fset1 setter: ~A~%" _x_))
+  (define fset2 (let ((setter (lambda (f) (lambda (x) (set! _x_ x))))) (lambda () _x_)))
+  (set! (fset2) 4)
+  (if (not (= _x_ 4)) (format *stderr* "fset2 setter: ~A~%" _x_))
+
+  (define fset3 (let ((+setter+ (lambda (x y) (set! _x_ (+ x y))))) (lambda (y) (+ _x_ y))))
+  (set! (fset3 3) 4)
+  (if (not (= _x_ 7)) (format *stderr* "fset3 setter: ~A~%" _x_))
+  (define fset4 (let ((setter (lambda (f) (lambda (x y) (set! _x_ (+ x y)))))) (lambda (y) (+ _x_ y))))
+  (set! (fset4 3) 5)
+  (if (not (= _x_ 8)) (format *stderr* "fset4 setter: ~A~%" _x_))
+
+  (set! (setter fset3) #f)
+  (test (setter fset3) #f)
+  (test (set! (fset3 3) 4) 'error)
+  (set! (setter fset3) (lambda (x y) (set! _x_ (+ x y))))
+  (test (set! (fset3 3) 4) 7)
+  )
+
 
 
 ;;; --------------------------------------------------------------------------------
@@ -32783,7 +32921,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
      (lambda (arg)
        (test (documentation arg) 'error)
        (test (help arg) #f))
-     (list -1 #\a #f _ht_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi #(()) (list 1 2 3) '(1 . 2) "hi" :hi)))
+     (list -1 #\a #f _ht_ _undef_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi #(()) (list 1 2 3) '(1 . 2) "hi" :hi)))
 
 
 (let ((p (dilambda (lambda (a) (+ a 1)) (lambda (a b) (+ a b)))))
@@ -32806,6 +32944,24 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (let ((e (openlet (inlet 'help (lambda (obj) "this is helpful")))))
   (test ((if (provided? 'snd) s7-help help) e) "this is helpful"))
 
+(let ()
+  (define fdoc (let ((+documentation+ "this is fdoc's doc")) (lambda (x) (+ x 1))))
+  (test (documentation fdoc) "this is fdoc's doc")
+
+  (define fdoc* (let ((+documentation+ "this is fdoc*'s doc")) (lambda* ((x 0)) (+ x 1))))
+  (test (documentation fdoc*) "this is fdoc*'s doc")
+
+  (define gdoc (let ((documentation (lambda (f) (format #f "this is gdoc's doc: ~S" (funclet f))))) (lambda (x) (+ x 1))))
+  (test (documentation gdoc) "this is gdoc's doc: (inlet 'x ())")
+
+  (test (documentation (let ((documentation (lambda (f) "this is lambda's doc"))) (lambda (x) (+ x 1)))) "this is lambda's doc")
+
+  (define mdoc (let ((+documentation+ "mdoc's doc")) (define-macro (_m_ x) `(+ 1 ,x))))
+  (test (documentation mdoc) "mdoc's doc")
+  
+  ;; there is no built-in setter for 'documentation
+  )
+
 
 ;;; --------------------------------------------------------------------------------
 ;;; signature
@@ -32819,7 +32975,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (for-each
  (lambda (arg)
    (test (documentation arg) 'error))
- (list -1 #\a #f _ht_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi #(()) (list 1 2 3) '(1 . 2) "hi" :hi))
+ (list -1 #\a #f _ht_ _undef_ 1 #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi #(()) (list 1 2 3) '(1 . 2) "hi" :hi))
 
 (test (signature round abs) 'error)
 (test (signature) 'error)
@@ -32839,6 +32995,24 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
   (test (signature f1) '(real? boolean?))
   (test (signature f2) '(real? boolean?)))
 
+(let ()
+  (define fsig (let ((+signature+ '(integer? integer?))) (lambda (x) (+ x 1))))
+  (test (signature fsig) '(integer? integer?))
+
+  (define fsig* (let ((+signature+ '(integer? integer?))) (lambda* ((x 0)) (+ x 1))))
+  (test (signature fsig*) '(integer? integer?))
+
+  (define gsig (let ((signature (lambda (f) (list 'integer? 'integer?)))) (lambda (x) (+ x 1))))
+  (test (signature gsig) '(integer? integer?))
+
+  (test (signature (let ((signature (lambda (f) (list 'integer? 'integer?)))) (lambda (x) (+ x 1)))) '(integer? integer?))
+
+  (define msig (let ((+signature+ '(number? #t))) (define-macro (_m_ x) `(+ 1 ,x))))
+  (test (signature msig) '(number? #t))
+  
+  ;; there is no built-in setter for 'signature
+  )
+
 (when (not pure-s7)
   (test (signature char-ci<=?) (let ((L (list 'boolean? 'char?))) (set-cdr! (cdr L) (cdr L)) L))
   (test (signature char-ci<?) (let ((L (list 'boolean? 'char?))) (set-cdr! (cdr L) (cdr L)) L))
@@ -32846,7 +33020,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
   (test (signature char-ci>=?) (let ((L (list 'boolean? 'char?))) (set-cdr! (cdr L) (cdr L)) L))
   (test (signature char-ci>?) (let ((L (list 'boolean? 'char?))) (set-cdr! (cdr L) (cdr L)) L))
   (test (signature char-ready?) '(boolean? input-port?))
-  (test (signature exact->inexact) (let ((L (list 'real?))) (set-cdr! L L) L))
+  (test (signature exact->inexact) '(number? number?))
   (test (signature exact?) '(boolean? number?))
   (test (signature inexact->exact) '(rational? real?))
   (test (signature inexact?) '(boolean? number?))
@@ -33106,7 +33280,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (signature peek-char) '((char? eof-object?) input-port?))
 (test (signature port-closed?) '(boolean? (input-port? output-port?)))
 (test (signature port-filename) '(string? (input-port? output-port?)))
-(test (signature port-line-number) '(integer? (input-port? null?)))
+(test (signature port-line-number) '(integer? input-port?))
 (test (signature positive?) '(boolean? real?))
 (test (signature documentation) '(string? procedure?))
 (test (signature setter) '(#t procedure?))
@@ -33662,7 +33836,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (for-each
  (lambda (arg)
    (test (continuation? arg) #f))
- (list -1 #\a 1 #f _ht_ #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi abs #(()) (list 1 2 3) '(1 . 2) "hi" (lambda () 1)))
+ (list -1 #\a 1 #f _ht_ _undef_ #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi abs #(()) (list 1 2 3) '(1 . 2) "hi" (lambda () 1)))
   
 (test (let ((cont #f)) 
 	(and (call/cc (lambda (x) (set! cont x) (continuation? x)))
@@ -33691,8 +33865,8 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 ;;; eval
 ;;; eval-string
 
-(test (eval-string "(list #b)") 'error)
-(test (eval-string "(char? #\\spaces)") 'error)
+;(test (eval-string "(list #b)") 'error)
+(test (eval-string "(char? #\\spaces)") #f)
 (test (eval-string "(car '( . 1))") 'error)
 (test (eval-string "(car '(. ))") 'error)
 (test (eval-string "(car '( . ))") 'error)
@@ -33700,11 +33874,11 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (eval-string "#( . 1)") 'error)
 (test (eval-string "'(1 2 . )") 'error)
 (test (eval-string "#(1 2 . )") 'error)
-(test (eval-string "#'(1 2)") 'error)
-(test (eval-string "#`(1 2)") 'error)
-(test (eval-string "#,(1 2)") 'error)
-(test (eval-string "#`,(1 2)") 'error)
-(test (eval-string "#1(2)") 'error)
+;(test (eval-string "#'(1 2)") 'error)
+;(test (eval-string "#`(1 2)") 'error)
+;(test (eval-string "#,(1 2)") 'error)
+;(test (eval-string "#`,(1 2)") 'error)
+;(test (eval-string "#1(2)") 'error)
 (test (eval-string "(+ 1 . . )") 'error)
 (test (eval-string "(car '(1 . ))") 'error)
 (test (eval-string "(car '(1 . . 2))") 'error)
@@ -33725,12 +33899,12 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (eval-string "(let ((. 3)) .)") 'error)
 (test (eval-string "#0d()") 'error)
 (test (eval-string "`#0d()") 'error)
-(test (eval-string "'#t:") 'error) ; guile interprets this as #t : and complains unbound variable :
-(test (eval-string "#t1") 'error)  ;   similarly this is #t 1 in guile
+;(test (eval-string "'#t:") 'error) ; guile interprets this as #t : and complains unbound variable :
+;(test (eval-string "#t1") 'error)  ;   similarly this is #t 1 in guile
 (test (eval-string "#(1 . 2)") 'error)
 (test (eval-string "#(1 2 . 3)") 'error)
-(test (eval-string "'#'") 'error)
-(test (eval-string "#b") 'error)
+;(test (eval-string "'#'") 'error)
+;(test (eval-string "#b") 'error)
 (test (eval-string "(+ 123") 'error)
 (test (eval-string "(+ 123 0000000000") 'error)
 
@@ -33763,7 +33937,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (let () __eval_var1__) 12)
 (test (let () (eval '(begin (define __eval_var2__ 123) __eval_var__) (curlet)) __eval_var2__) 123)
 (test (let () __eval_var2__) 'error)
-(test (let ((x 1) (y 2)) (eval-string "(set! x 3) (set! y 4)") (list x y)) '(3 4))
+(test (let ((x 1) (y 2)) (eval-string "(begin (set! x 3) (set! y 4))") (list x y)) '(3 4))
 
 ;; from scheme wg
 (let ((x (list 'cons 1 2))
@@ -33806,9 +33980,9 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (eval '(cond ((= 1 2) 3) (#t 4))) 4)
 
 (test (eval-string (string-append "(list 1 2 3)" (string #\newline) (string #\newline))) (list 1 2 3))
-(eval-string (string-append "(define evalstr_1 32)" (string #\newline) "(define evalstr_2 2)"))
+(eval-string (string-append "(begin (define evalstr_1 32)" (string #\newline) "(define evalstr_2 2))"))
 (test (eval-string "(+ evalstr_1 evalstr_2)") 34)
-(eval-string (string-append "(set! evalstr_1 3)" "(set! evalstr_2 12)"))
+(eval-string (string-append "(begin (set! evalstr_1 3)" "(set! evalstr_2 12))"))
 (test (eval-string "(+ evalstr_1 evalstr_2)") 15)
 
 (test (+ (eval `(values 1 2 3)) 4) 10)
@@ -33817,6 +33991,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test ((eval-string "(lambda (a) (+ a 1))") 2) 3)
 (test (eval ((eval-string "(lambda (a) (list '+ a 1))") 2)) 3)
 (test (eval-string "(+ 1 (eval (list '+ 1 2)))") 4)
+(test (eval _undef_) _undef_)
 
 (test (eq? (eval-string "else") else) #t)
 (test (eq? (with-input-from-string "else" read) else) #t)
@@ -33829,8 +34004,6 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 
 (test (eval-string "'___a ; b") '___a)
 (test (eval-string "'___a #| b |#") '___a)
-(test (eval-string "'___a 1") 1)
-(test (eval-string "'___a ; 2\n3") 3)
 
 (for-each
  (lambda (arg)
@@ -34176,7 +34349,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (for-each
  (lambda (arg)
    (test (macro? arg) #f))
- (list -1 #\a 1 #(1 2 3) 3.14 3/4 1.0+1.0i () car abs (lambda () 1) #2d((1 2) (3 4)) _ht_ _null_ _c_obj_ #f 'hi #(()) (list 1 2 3) '(1 . 2) "hi"))
+ (list -1 #\a 1 #(1 2 3) 3.14 3/4 1.0+1.0i () car abs (lambda () 1) #2d((1 2) (3 4)) _ht_ _undef_ _null_ _c_obj_ #f 'hi #(()) (list 1 2 3) '(1 . 2) "hi"))
 (test (macro?) 'error)
 
 (define-macro (fully-expand form)
@@ -34746,7 +34919,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
   (num-test (string->number "#t#t1a") 22.0)
   (num-test (string->number "#t#t#t1a") 22.0)
   (test (eval-string "#t") #t)
-  (test (eval-string "#T1") 'error)
+;  (test (eval-string "#T1") 'error)
   
   (set! *#readers*
 	(cons (cons #\. (lambda (str)
@@ -35568,6 +35741,11 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (define (make-instrument-conf4) (<gui1>))
 (test (make-instrument-conf4) 5)
 
+(let ()
+  (define-macro (_mac_ x) `(+ ,x 1))
+  (test (member 1 (list 3 2) (lambda (a b) (null? (macroexpand (_mac_ (make-hash-table)))))) #f))
+
+
 
 ;;; --------------------------------------------------------------------------------
 ;;; define-constant
@@ -35723,6 +35901,9 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (constant?) 'error)
 (test (constant? 1 2) 'error)
 (test (constant? #<eof>) #t) ; ?
+(test (constant? #<undefined>) #t)
+(test (constant? _undef_) #t)
+(test (constant? #<unspecified>) #t)
 (test (constant? '-) #f)
 (test (constant? ''-) #t)
 (test (constant? '''-) #t)
@@ -35774,6 +35955,13 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (immutable? 1 2) 'error)
 (test (immutable? #<eof>) #t)
 (test (immutable? 'with-let) #t)
+(test (immutable? (format #t #u8())) #f)
+(test (immutable? (format #t "")) #f)
+(test (immutable? "") #f)
+(test (immutable? '"") #f)
+(test (immutable? #<undefined>) #t)
+(test (immutable? _undef_) #t)
+(test (immutable? #<unspecified>) #t)
 
 ;; Clisp:
 ;;  (constantp (cons 1 2)) ->NIL
@@ -35958,7 +36146,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
  (lambda (arg)
    (test (defined? arg) 'error)
    (test (defined? 'abs arg) 'error))
- (list -1 #\a 1 _ht_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () #f #(()) (list 1 2 3) '(1 . 2) "hi"))
+ (list -1 #\a 1 _ht_ _undef_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () #f #(()) (list 1 2 3) '(1 . 2) "hi"))
 (test (defined? 'lambda car) 'error)
 (test (defined? lambda gensym) 'error)
 (test (defined? 'lambda defined?) 'error)
@@ -35997,6 +36185,35 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
       "#t: 1")
 
 
+;;; --------------------------------------------------------------------------------
+;;; undefined?
+
+(for-each
+ (lambda (arg)
+   (test (undefined? arg) #f))
+ (list #<eof> #<unspecified> -1 #\a 1 _ht_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () #f #(()) (list 1 2 3) '(1 . 2) "hi"))
+(test (undefined? #<undefined>) #t)
+(test (undefined? _undef_) #t)
+(test (undefined?) 'error)
+(test (undefined? 1 2) 'error)
+(test (object->let _undef_) (inlet 'value _undef_ 'type 'undefined?))
+(test (object->let #<undefined>) (inlet 'value #<undefined> 'type 'undefined?))
+
+
+;;; --------------------------------------------------------------------------------
+;;; unspecified?
+
+(for-each
+ (lambda (arg)
+   (test (unspecified? arg) #f))
+ (list -1 #\a 1 _ht_ _undef_ #<eof> _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () #f #(()) (list 1 2 3) '(1 . 2) "hi"))
+(test (unspecified? #<unspecified>) #t)
+(test (unspecified? (values)) #t)
+(test (unspecified?) 'error)
+(test (unspecified? 1 2) 'error)
+(test (object->let #<unspecified>) (inlet 'value #<unspecified> 'type 'unspecified?))
+(test (object->let (values)) (inlet 'value (values) 'type 'unspecified?))
+
 
 ;;; --------------------------------------------------------------------------------
 ;;; let?
@@ -36107,6 +36324,8 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (test (equal? (inlet (cons 'a 1)) (inlet 'a 1)) #t)
 (test (equal? (inlet (cons :a 1)) (inlet 'a 1)) #t)
 (test (equal? (inlet :a 1) (inlet 'a 1)) #t)
+(test (inlet 'if 3) 'error)
+(test (inlet 'pi 3) 'error)
 
 (test (let ((e (inlet 'a 1 'a 2)))
 	(let ((c (copy e)))
@@ -36444,45 +36663,45 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 
 (let ((e (openlet (inlet 'a 1))))
   (test (openlet? (sublet e '(b . 2))) #t))
-
-(let ((f (lambda (x) (+ x 1))))
-  (test (openlet? f) #f)
-  (openlet f)
-  (test (openlet? f) #t)
-  (coverlet f)
-  (test (openlet? f) #f))
-
-(let ((f (lambda* (x) (+ x 1))))
-  (test (openlet? f) #f)
-  (openlet f)
-  (test (openlet? f) #t)
-  (coverlet f)
-  (test (openlet? f) #f))
-
-(let ((f (sublet ())))
-  (test (openlet? f) #f)
-  (openlet f)
-  (test (openlet? f) #t)
-  (coverlet f)
-  (test (openlet? f) #f))
-
-(let ((e1 (openlet (inlet 'f1 (define-macro (f1 a) `(+ ,a 1))))))
-  (test ((e1 'f1) 3) 4))
-
 (let ()
-  (define-macro (f x) `(+ ,x 1))
-  (test (openlet? f) #f)
-  (test (openlet f) f)
-  (test (openlet? f) #t)
-  (test (coverlet f) f))
-
-(let ()
-  (define-bacro* (f x) `(+ ,x 1))
-  (test (openlet? f) #f)
-  (test (openlet f) f)
-  (test (openlet? f) #t)
-  (test (coverlet f) f))
-
+  (let ((f (lambda (x) (+ x 1))))
+    (test (openlet? f) #f)
+    (openlet f)
+    (test (openlet? f) #t)
+    (coverlet f)
+    (test (openlet? f) #f))
+  
+  (let ((f (lambda* (x) (+ x 1))))
+    (test (openlet? f) #f)
+    (openlet f)
+    (test (openlet? f) #t)
+    (coverlet f)
+    (test (openlet? f) #f))
+  
+  (let ((f (sublet ())))
+    (test (openlet? f) #f)
+    (openlet f)
+    (test (openlet? f) #t)
+    (coverlet f)
+    (test (openlet? f) #f))
+  
+  (let ((e1 (openlet (inlet 'f1 (define-macro (f1 a) `(+ ,a 1))))))
+    (test ((e1 'f1) 3) 4))
+  
+  (let ()
+    (define-macro (f x) `(+ ,x 1))
+    (test (openlet? f) #f)
+    (test (openlet f) f)
+    (test (openlet? f) #t)
+    (test (coverlet f) f))
+  
+  (let ()
+    (define-bacro* (f x) `(+ ,x 1))
+    (test (openlet? f) #f)
+    (test (openlet f) f)
+    (test (openlet? f) #t)
+    (test (coverlet f) f))
+  )
 (test (curlet 1) 'error)
 (test (rootlet 1) 'error)
 (test (unlet 1) 'error)
@@ -36652,7 +36871,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
  (lambda (arg)
    (test (sublet arg '(a . 32)) 'error)
    (test (varlet arg '(a . 32)) 'error))
- (list -1 #\a 1 3.14 3/4 1.0+1.0i "hi" 'hi #() #f _ht_ _null_ _c_obj_))
+ (list -1 #\a 1 3.14 3/4 1.0+1.0i "hi" 'hi #() #f _ht_ _undef_ _null_ _c_obj_))
 
 (let ((e (sublet (curlet)
 			      (cons 'a 32)
@@ -36702,7 +36921,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 
 (test (with-let (curlet) (let ((x 1)) x)) 1)
 
-(let-temporarily (((*s7* 'safety) 1))
+(let ()
   (define (hi)
     (let ((e (sublet (curlet)
 	       (cons 'abs (lambda (a) (- a 1))))))
@@ -37034,7 +37253,8 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 		  (transparent-memq 'c 'x ce))
 	    '((a) (b) #f)))))
     
-;(test (let-set! (rootlet) :rest #f) 'error) ;??
+(test (let-set! (rootlet) :rest #f) 'error) ; key->sym so this is not a constant
+(test (let-set! (rootlet) 'pi #f) 'error)
 
 
 (test (make-iterator) 'error)
@@ -37848,7 +38068,7 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 
 (test (object->let ()) (inlet :value () :type 'null?))
 (test (object->let #<unspecified>) (inlet :value #<unspecified> :type 'unspecified?))
-(test (object->let #<undefined>) (inlet :value #<undefined> :type #<undefined>))
+(test (object->let #<undefined>) (inlet :value #<undefined> :type 'undefined?))
 (test (object->let else) (inlet :value else :type 'symbol?))
 (test (object->let with-baffle) (inlet :value with-baffle :type 'syntax?))
 (test (object->let #<eof>) (inlet :value #<eof> :type 'eof-object?))
@@ -37930,17 +38150,18 @@ or better (define-macro (prog vars . body) `(call-with-exit (lambda (return) (ta
 (let ((e (openlet (inlet :abs (lambda (x) (- x 1))))))
   (test (object->let e) (inlet :value e :type 'let? :length 1 :open #t :outlet ())))
 
-(if with-block
-    (let* ((b (make-block 8))
-	   (bl (object->let b)))
-      (test (let? bl) #t)
-      (test (bl 'value) b)
-      (test (bl 'type) 'c-object?)
-      (test (let? (bl 'class)) #t)
-      (test ((bl 'class) 'name) "#<block>")
-      (test (integer? (bl 'c-object-type)) #t)
-      (test (bl 'empty) #f)
-      (test (let? (bl 'c-object-let)) #t)))
+(when with-block
+  (let* ((b (make-block 8))
+	 (bl (object->let b)))
+    (test (let? bl) #t)
+    (test (bl 'value) b)
+    (test (bl 'type) 'c-object?)
+    (test (let? (bl 'class)) #t)
+    (test ((bl 'class) 'name) "#<block>")
+    (test (integer? (bl 'c-object-type)) #t)
+    (test ((b 'empty) b) #f)
+    (test (let? (bl 'c-object-let)) #t)
+    (test (((bl 'c-object-let) 'empty) b) #f)))
 (when (provided? 'snd)
   (when (or (provided? 'snd-gtk)
 	    (provided? 'snd-motif))
@@ -38568,6 +38789,8 @@ hi6: (string-app...
 (test (copy (funclet abs)) (rootlet))
 (test (copy (funclet quasiquote)) (rootlet))
 (test (eval '(+ a 1) (copy (sublet (curlet) '(a . 2)))) 3)
+(test (copy #<undefined>) #<undefined>)
+(test (copy _undef_) _undef_)
 
 (test (copy (list 1 2 (list 3 4))) '(1 2 (3 4)))
 (test (copy (cons 1 2)) '(1 . 2))
@@ -39210,7 +39433,7 @@ hi6: (string-app...
  (lambda (arg)
    (let ((str (string #\a #\b)))
      (test (fill! str arg) 'error)))
- (list "hi" '(1 2 3) #() #f 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2 3) #() #f 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (let ((ht (hash-table* :a 1)))
@@ -39218,7 +39441,7 @@ hi6: (string-app...
    (lambda (arg)
      (test (fill! ht arg) arg)
      (test (ht :a) arg))
-   (list "hi" '(1 2 3) #() 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
+   (list "hi" '(1 2 3) #() 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand (log 0) 
 	 3.14 3/4 1.0+1.0i #t :hi (if #f #f) (lambda (a) (+ a 1)) #f)))
 
 (let ((str (make-string 10 #\a)))
@@ -39312,7 +39535,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (gc arg) 'error))
- (list "hi" '(1 2 3) #() 'a-symbol abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+ (list "hi" '(1 2 3) #() 'a-symbol abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
        3.14 3/4 1.0+1.0i 1 () "" :hi (if #f #f) (lambda (a) (+ a 1))))
 
 (test (gc #f #t) 'error)
@@ -39583,12 +39806,6 @@ hi6: (string-app...
   (test (< max-stack 20) #t))
 
 
-;;; the next 3 are not tail-recursive
-;;;
-;;;   eval-string pushes stack markers to catch multiple statements
-;;;   OP_DEACTIVATE_GOTO in call-with-exit
-;;;   OP_DYNAMIC_WIND in the dynamic-wind case
-
 (let ((max-stack 0)
       (e #f))
   (set! e (curlet))
@@ -39598,7 +39815,11 @@ hi6: (string-app...
     (or (and (>= a c) a)
 	(eval-string (format #f "(tc-17 (+ ~A 1) ~A)" a c) e)))
   (let ((val (tc-17 0 32)))
-    (test (and (= val 32) (< max-stack 28)) #f)))
+    (test (and (= val 32) (< max-stack 28)) #t)))
+
+;;; the next 2 are not tail-recursive
+;;;   OP_DEACTIVATE_GOTO in call-with-exit
+;;;   OP_DYNAMIC_WIND in the dynamic-wind case
 
 (let ((max-stack 0))
   (define (tc-16 a c) 
@@ -48224,7 +48445,7 @@ hi6: (string-app...
     (lambda (arg)
       (if (op arg)
 	  (format #t ";(~A ~A) -> #t?~%" op arg)))
-    (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+    (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
 	  #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>)))
  (list number? complex? real? rational? integer? float?)
  (list 'number? 'complex? 'real? 'rational? 'integer? float?))
@@ -48882,7 +49103,7 @@ hi6: (string-app...
  (lambda (x)
    (test (infinite? x) 'error)
    (test (nan? x) 'error))
- (list #\a "hi" #f #(1 2) () '(1 . 2) _ht_ _null_ _c_obj_ 'hi abs #<eof> #<unspecified>))
+ (list #\a "hi" #f #(1 2) () '(1 . 2) _ht_ _undef_ _null_ _c_obj_ 'hi abs #<eof> #<unspecified>))
 
 (for-each
  (lambda (n)
@@ -49026,7 +49247,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (zero? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49087,7 +49308,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (positive? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49163,7 +49384,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (negative? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49228,7 +49449,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (odd? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49311,7 +49532,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (even? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49360,7 +49581,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (exact? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49398,7 +49619,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (inexact? arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49461,7 +49682,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (exact->inexact arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (test (integer? (* 0 1.0)) #f) ; s7.html check -- we want 0.0 here, not 0 [for exact->inexact replacement code]
@@ -49520,7 +49741,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (inexact->exact arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49638,7 +49859,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (numerator arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49756,7 +49977,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (denominator arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49845,7 +50066,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (real-part arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -49938,7 +50159,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (imag-part arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -50450,7 +50671,7 @@ hi6: (string-app...
    (test (complex 1 arg) 'error)
    (test (complex 1/2 arg) 'error)
    (test (complex 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -50980,7 +51201,7 @@ hi6: (string-app...
    (test (make-polar nan.0 arg) 'error)
    (test (make-polar arg inf.0) 'error)
    (test (make-polar inf.0 arg) 'error))
- (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -51236,7 +51457,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (abs arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -51761,7 +51982,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (magnitude arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 ;;; (magnitude -9223372036854775808) -> -9223372036854775808?
@@ -52244,7 +52465,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (angle arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -52310,7 +52531,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (integer-length arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -52430,7 +52651,7 @@ hi6: (string-app...
       (let ((val (catch #t (lambda () (op arg)) (lambda args 'error))))
 	(if (not (equal? val 'error))
 	    (format #t ";(~A ~A) -> ~A?~%" op arg val))))
-    (list "hi" _ht_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) 3.14 3/4 3.1+i abs #\f (lambda (a) (+ a 1)))))
+    (list "hi" _ht_ _undef_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) 3.14 3/4 3.1+i abs #\f (lambda (a) (+ a 1)))))
  (list logior logand lognot logxor logbit? ash integer-length))
 
 (for-each
@@ -52440,7 +52661,7 @@ hi6: (string-app...
       (let ((val (catch #t (lambda () (op 1 arg)) (lambda args 'error))))
 	(if (not (equal? val 'error))
 	    (format #t ";(~A ~A) -> ~A?~%" op arg val))))
-    (list "hi" _ht_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) 3.14 -1/2 1+i abs #\f (lambda (a) (+ a 1)))))
+    (list "hi" _ht_ _undef_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) 3.14 -1/2 1+i abs #\f (lambda (a) (+ a 1)))))
  (list logior logand logxor lognot logbit?))
 
 
@@ -53193,7 +53414,7 @@ hi6: (string-app...
  (lambda (arg)
    (test (ash 1 arg) 'error)
    (test (ash arg 1) 'error))
- (list #\a #f _ht_ _null_ _c_obj_ #(1 2 3) 3.14 2/3 1.5+0.3i 1+i () 'hi abs "hi" #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
+ (list #\a #f _ht_ _undef_ _null_ _c_obj_ #(1 2 3) 3.14 2/3 1.5+0.3i 1+i () 'hi abs "hi" #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
 
 (let ()
   ;; fails if x=0: (define (2^n? x) (zero? (logand x (- x 1))))
@@ -53412,7 +53633,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (truncate arg) 'error))
-  (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+  (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
         #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
  
 
@@ -53562,7 +53783,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (floor arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -53722,7 +53943,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (ceiling arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -53828,7 +54049,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (round arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (num-test (round 400000000000000000/800000000000000001) 0)
@@ -54882,7 +55103,7 @@ hi6: (string-app...
    (test (modulo arg inf.0) 'error)
    (test (modulo inf.0 arg) 'error)
    (test (modulo arg 2) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -54891,7 +55112,7 @@ hi6: (string-app...
    (test (modulo 1/2 arg) 'error)
    (test (modulo 2.0 arg) 'error)
    (test (modulo 2+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 ;; check an optimizer bug
@@ -55426,7 +55647,7 @@ hi6: (string-app...
    (test (quotient arg inf.0) 'error)
    (test (quotient inf.0 arg) 'error)
    (test (quotient arg 2) 'error))
- (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t 0+i '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -55435,7 +55656,7 @@ hi6: (string-app...
    (test (quotient 1/2 arg) 'error)
    (test (quotient 2.0 arg) 'error)
    (test (quotient 2+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t 0 0.0 0+i '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t 0 0.0 0+i '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -55971,7 +56192,7 @@ hi6: (string-app...
    (test (remainder arg inf.0) 'error)
    (test (remainder inf.0 arg) 'error)
    (test (remainder arg 2) 'error))
- (list "hi" () (integer->char 65) 0+i #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) 0+i #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -55980,7 +56201,7 @@ hi6: (string-app...
    (test (remainder 2.0 arg) 'error)
    (test (remainder 1/2 arg) 'error)
    (test (remainder 2+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t 0 0+i '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t 0 0+i '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -56527,7 +56748,7 @@ hi6: (string-app...
    (test (gcd arg inf.0) 'error)
    (test (gcd inf.0 arg) 'error)
    (test (gcd arg 2) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -56536,7 +56757,7 @@ hi6: (string-app...
    (test (gcd 1/2 arg) 'error)
    (test (gcd 2.0 arg) 'error)
    (test (gcd 2+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (when with-bignums 
@@ -57706,7 +57927,7 @@ hi6: (string-app...
    (test (lcm arg inf.0) 'error)
    (test (lcm inf.0 arg) 'error)
    (test (lcm 2 arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -57715,7 +57936,7 @@ hi6: (string-app...
    (test (lcm arg 1/2) 'error)
    (test (lcm arg 2.0) 'error)
    (test (lcm arg 2+i) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -58254,7 +58475,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (rationalize arg 0.1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -58267,7 +58488,7 @@ hi6: (string-app...
    (test (rationalize 1 arg) 'error)
    (test (rationalize 1/2 arg) 'error)
    (test (rationalize 0+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (if with-bignums
@@ -58712,7 +58933,7 @@ hi6: (string-app...
    (test (min 0.0 arg) 'error)
    (test (min 1/2 arg) 'error)
    (test (min 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -59097,7 +59318,7 @@ hi6: (string-app...
    (test (max 0.0 arg) 'error)
    (test (max 1/2 arg) 'error)
    (test (max 0+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (let ((top-exp 60))  
@@ -59408,7 +59629,7 @@ hi6: (string-app...
    (test (< 1.0 arg) 'error)
    (test (< 1/2 arg) 'error)
    (test (< arg 1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (test (< 1/123400000000 .000000000001) #f)
@@ -59926,7 +60147,7 @@ hi6: (string-app...
    (test (<= 1.0 arg) 'error)
    (test (<= 1/2 arg) 'error)
    (test (<= arg 1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -60535,7 +60756,7 @@ hi6: (string-app...
    (test (= 1/2 arg) 'error)
    (test (= 1+i arg) 'error)
    (test (= arg 1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (test (= +0 -0 0/100 00 -0/9223372036854775807) #t)
@@ -61029,7 +61250,7 @@ hi6: (string-app...
    (test (> 1.0 arg) 'error)
    (test (> 1+i arg) 'error)
    (test (> arg 1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -61324,7 +61545,7 @@ hi6: (string-app...
    (test (>= 1.0 arg) 'error)
    (test (>= 1+i arg) 'error)
    (test (>= arg 1) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -61805,7 +62026,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (sin arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (when with-bignums	
@@ -62591,7 +62812,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (cos arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (let* ((angle 0.0) 
@@ -63246,7 +63467,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (tan arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -63772,7 +63993,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (asin arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (let ((asins (list
@@ -64388,7 +64609,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (acos arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (when with-bignums
@@ -65152,7 +65373,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (atan arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -65165,7 +65386,7 @@ hi6: (string-app...
    (test (atan 1.0 arg) 'error)
    (test (atan 1/2 arg) 'error)
    (test (atan 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -65174,7 +65395,7 @@ hi6: (string-app...
    (test (atan arg 1/2) 'error)
    (test (atan arg 1.0) 'error)
    (test (atan arg 1+i) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -65919,7 +66140,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (sinh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -66368,7 +66589,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (cosh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -66816,7 +67037,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (tanh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -67305,7 +67526,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (asinh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -67845,7 +68066,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (acosh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -68281,7 +68502,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (atanh arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (let ((err 0.0)
@@ -68999,7 +69220,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (sqrt arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (num-test (sqrt 1/1073741824) 1/32768)
@@ -69615,7 +69836,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (exp arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (unless with-bignums
@@ -70581,7 +70802,7 @@ hi6: (string-app...
 (for-each
  (lambda (arg)
    (test (log arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
@@ -70592,7 +70813,7 @@ hi6: (string-app...
    (test (log inf.0 arg) 'error)
    (test (log 10 arg) 'error)
    (test (log arg 10) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -72356,7 +72577,7 @@ hi6: (string-app...
    (test (expt inf.0 arg) 'error)
    (test (expt arg 2) 'error)
    (test (expt 2 arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -73849,7 +74070,7 @@ hi6: (string-app...
    (test (* 1.0 arg) 'error)
    (test (* 1/2 arg) 'error)
    (test (* 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -75372,7 +75593,7 @@ but it's the printout that is at fault:
    (test (+ 1/2 arg) 'error)
    (test (+ 1.0 arg) 'error)
    (test (+ 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
   
 
@@ -76645,7 +76866,7 @@ but it's the printout that is at fault:
    (test (- 1/2 arg) 'error)
    (test (- 1.0 arg) 'error)
    (test (- 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 
@@ -77765,13 +77986,13 @@ but it's the printout that is at fault:
    (test (/ 0.0 arg) 'error)
    (test (/ 1/2 arg) 'error)
    (test (/ 1+i arg) 'error))
- (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 (for-each
  (lambda (arg)
    (test (/ arg) 'error))
- (list "hi" () (integer->char 65) 0 0.0 0+0i -0.0 -0 0-0i #f #t '(1 2) _ht_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
+ (list "hi" () (integer->char 65) 0 0.0 0+0i -0.0 -0 0-0i #f #t '(1 2) _ht_ _undef_ _null_ _c_obj_ 'a-symbol (cons 1 2) (make-vector 3) abs 
        #<eof> '(1 2 3) #\newline (lambda (a) (+ a 1)) #<unspecified> #<undefined>))
 
 ;;; from guile irc
@@ -78183,7 +78404,7 @@ but it's the printout that is at fault:
    (test (random-state->list arg) 'error)
    (test (random-state? arg) #f)
    )
- (list "hi" _ht_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) abs #\f (lambda (a) (+ a 1)) (if #f #f) :hi #<eof> #<undefined>))
+ (list "hi" _ht_ _undef_ _null_ _c_obj_ () '(1 2) #f (integer->char 65) 'a-symbol (make-vector 3) abs #\f (lambda (a) (+ a 1)) (if #f #f) :hi #<eof> #<undefined>))
 
 (when (not with-bignums)
   (test (car (random-state->list (random-state 1234))) 1234)
@@ -80238,25 +80459,25 @@ etc....
 (for-each
  (lambda (arg)
    (test (string->number arg) 'error))
- (list -1 #f #\a 1 _ht_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi abs #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
+ (list -1 #f #\a 1 _ht_ _undef_ _null_ _c_obj_ #(1 2 3) 3.14 3/4 1.0+1.0i () 'hi abs #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
 
 (for-each
  (lambda (arg)
    (test (string->number "123" arg) 'error)
    (test (string->number "1" arg) 'error))
- (list -1 0 1 17 #f _ht_ _null_ _c_obj_ #\a #(1 2 3) 3.14 3/4 1.5+0.3i 1+i () "" "12" #() :hi most-positive-fixnum most-negative-fixnum 'hi abs #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
+ (list -1 0 1 17 #f _ht_ _undef_ _null_ _c_obj_ #\a #(1 2 3) 3.14 3/4 1.5+0.3i 1+i () "" "12" #() :hi most-positive-fixnum most-negative-fixnum 'hi abs #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
 
 ;; (string->number "0" 1) ?? why not?
 
 (for-each
  (lambda (arg)
    (test (number->string arg) 'error))
- (list #\a #(1 2 3) () _ht_ _null_ _c_obj_ 'hi abs "hi" #(()) #f (list 1 2 3) '(1 . 2) (lambda () 1)))
+ (list #\a #(1 2 3) () _ht_ _undef_ _null_ _c_obj_ 'hi abs "hi" #(()) #f (list 1 2 3) '(1 . 2) (lambda () 1)))
 
 (for-each
  (lambda (arg)
    (test (number->string 123 arg) 'error))
- (list -1 17 most-positive-fixnum most-negative-fixnum 0 1 512 _ht_ _null_ _c_obj_ #\a #f #(1 2 3) 3.14 2/3 1.5+0.3i 1+i () 'hi abs "hi" #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
+ (list -1 17 most-positive-fixnum most-negative-fixnum 0 1 512 _ht_ _undef_ _null_ _c_obj_ #\a #f #(1 2 3) 3.14 2/3 1.5+0.3i 1+i () 'hi abs "hi" #(()) (list 1 2 3) '(1 . 2) (lambda () 1)))
 
 (test (string->number "34.1" (+ 5 (expt 2 32))) 'error)
 (test (number->string 34.1 (+ 5 (expt 2 32))) 'error)
@@ -80453,7 +80674,7 @@ etc
   (for-each
    (lambda (n)
      (test (bignum? n) #f))
-   (list 0 1 -1 1/3 1.0 1+i 1073741824 1.0e8 1+1.0e8i "hi" () (integer->char 65) #f #t '(1 2) 'a-symbol _ht_ _null_ _c_obj_ (cons 1 2) (make-vector 3) abs))
+   (list 0 1 -1 1/3 1.0 1+i 1073741824 1.0e8 1+1.0e8i "hi" () (integer->char 65) #f #t '(1 2) 'a-symbol _ht_ _undef_ _null_ _c_obj_ (cons 1 2) (make-vector 3) abs))
   
   (for-each 
    (lambda (n)
@@ -80465,7 +80686,7 @@ etc
    (lambda (n)
      (test (bignum n) 'error)
      (test (bignum "1.0" n) 'error))
-   (list "hi" (integer->char 65) #f #t '(1 2) 'a-symbol (cons 1 2) () _ht_ _null_ _c_obj_ (make-vector 3) 1 3/4 1.5 1+i abs))
+   (list "hi" (integer->char 65) #f #t '(1 2) 'a-symbol (cons 1 2) () _ht_ _undef_ _null_ _c_obj_ (make-vector 3) 1 3/4 1.5 1+i abs))
   
   (test (bignum?) 'error)
   (test (bignum? 1 2) 'error)
@@ -80506,7 +80727,7 @@ etc
 	      (if (not (eq? val 'error))
 		  (format #t "(~A 2^60 ~A) -> ~A (expected 'error)~%" op arg val)))))
 
-      (list "hi" () #\a (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs #t _ht_ _null_ _c_obj_ :hi (if #f #f) (lambda (a) (+ a 1)) #<undefined> #<unspecified> #<eof> :rest)))
+      (list "hi" () #\a (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs #t _ht_ _undef_ _null_ _c_obj_ :hi (if #f #f) (lambda (a) (+ a 1)) #<undefined> #<unspecified> #<eof> :rest)))
 
    (list exact? inexact? zero? positive? negative? even? odd? quotient remainder modulo truncate floor ceiling round
 	 abs max min gcd lcm expt exact->inexact inexact->exact rationalize numerator denominator imag-part real-part
@@ -81403,7 +81624,7 @@ etc
     (test (sequence->string #u8()) "#u8()")
     (test (sequence->string (string->byte-vector "abc")) "#u8(97 98 99)")
     (test (sequence->string (byte-vector 0 1 2 3)) "#u8(0 1 2 ...)")
-    (test (sequence->string (float-vector)) "#()")
+    (test (sequence->string (float-vector)) "#r()")
     (test (sequence->string (float-vector 0 1 2 3)) "#(0.0 1.0 2.0 ...)")
     (test (sequence->string (float-vector 0 1 2)) "#(0.0 1.0 2.0)")
     (when with-block (test (sequence->string (block)) "(block)"))
@@ -81942,7 +82163,7 @@ etc
    (lambda (arg)
      (if (boolean=? #f arg)
 	 (format #t ";(boolean=? #f ~A) -> #t?~%" arg)))
-   (list "hi" '(1 2) () "" #() (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" '(1 2) () "" #() (integer->char 65) 1 'a-symbol (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) :hi (if #f #f) #<eof> #<undefined> #<unspecified>))
   
   (test (boolean=? #f #false) #t)
@@ -81958,7 +82179,7 @@ etc
    (lambda (arg)
      (if (symbol=? 'abs arg)
 	 (format #t ";(symbol=? 'abs ~A) -> #t?~%" arg)))
-   (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
+   (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 
 	 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>))
 					;(test (symbol=?) 'error)
 					;(test (symbol=? 'hi) 'error)
@@ -82937,7 +83158,7 @@ etc
   (test (rational? (openlet (inlet 'c 1/9223372036854775807 'rational? (baser-method rational?)))) #t)
   (unless pure-s7 (test (string-copy (openlet (inlet 'c #u8(104 105 52 53 53) 'string-copy (baser-method string-copy)))) "hi455"))
   (test (string->keyword (openlet (inlet 'c #u8(104 105 52 53 53) 'string->keyword (baser-method string->keyword)))) :hi455)
-  (test (inexact? (openlet (inlet 'c 1.5+1i 'inexact? (baser-method inexact?)))) #t)
+  (unless pure-s7 (test (inexact? (openlet (inlet 'c 1.5+1i 'inexact? (baser-method inexact?)))) #t))
   (test (char? (openlet (inlet 'c #\a 'char? (baser-method char?)))) #t)
   (test (exact? (openlet (inlet 'c 1/9223372036854775807 'exact? (baser-method exact?)))) #t)
   (test (format (openlet (inlet 'c #u8(104 105 52 53 53) 'format (baser-method format)))) "hi455")
@@ -83310,9 +83531,10 @@ etc
     (test (call-with-input-string s read) 'ABc)
     (test (with-input-from-string s read) 'ABc)
     (test (let ((p (open-input-string s))) (let ((r (read p))) (close-input-port p) r)) 'ABc)
-    (string-fill! s #\1)
-    (test (s 0) #\1)
-    (test (string->number s) 111)
+    (unless pure-s7
+      (string-fill! s #\1)
+      (test (s 0) #\1)
+      (test (string->number s) 111))
     (fill! s #\2)
     (test (s 1) #\2)
     (for-each (lambda (c) (if (not (char=? c #\2)) (format *stderr* ";fill! mock-string: ~C~%" c))) s)
@@ -83431,7 +83653,6 @@ etc
 	(test (map truncate rnums) '(32 1 3))
 	(test (map round rnums) '(32 2 3))
 	(test (integer->char (mock-number (char->integer #\a))) #\a)
-	(test (map inexact->exact rnums) '(32 3/2 4272943/1360120))
 	(test (practically-equal? 'exact->inexact (map exact->inexact rnums) '(32.0 1.5 3.141592653589793)) #t)
 	(test (integer-length i) 6)
 	(test (integer-decode-float x) '(7074237752028440 -51 1))
@@ -83440,8 +83661,10 @@ etc
 	(test (map real? nums) '(#t #t #t #f))
 	(test (map complex? nums) '(#t #t #t #t))
 	(test (map rational? nums) '(#t #t #f #f))
-	(test (map exact? nums) '(#t #t #f #f))
-	(test (map inexact? nums) '(#f #f #t #t))
+	(unless pure-s7 
+	  (test (map inexact->exact rnums) '(32 3/2 4272943/1360120))
+	  (test (map exact? nums) '(#t #t #f #f))
+	  (test (map inexact? nums) '(#f #f #t #t)))
 
 	(test (ash 1 i) 4294967296)
 	(test (ash i -3) 4)
@@ -84306,7 +84529,8 @@ etc
 (test (*s7* 14) 'error)
 (test (*s7* (list 1)) 'error)
 (test (set! (*s7* 14) 1) 'error)
-(test (let ((old-out (current-output-port))) (set-current-output-port #f) (*s7* 'memory-usage) (set-current-output-port old-out)) #f)
+(when (not pure-s7)
+  (test (let ((old-out (current-output-port))) (set-current-output-port #f) (*s7* 'memory-usage) (set-current-output-port old-out)) #f))
 (test (set! (*s7* 'hash-table-float-epsilon) 10) 10)
 (test (set! (*s7* 'hash-table-float-epsilon) 1/10000) 1/10000)
 
@@ -84329,7 +84553,7 @@ etc
    (for-each
     (lambda (arg)
       (test (set! (*s7* field) arg) 'error))
-    (list "hi" (integer->char 65) (list 1 2) #t (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0)
+    (list "hi" (integer->char 65) (list 1 2) #t (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0)
 	  3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>)))
  '(print-length safety cpu-time heap-size free-heap-size gc-freed max-string-length max-list-length max-vector-length max-vector-dimensions
    default-hash-table-length initial-string-port-length gc-protected-objects file-names rootlet-size c-types stack-top stack-size stacktrace-defaults max-stack-size 
@@ -84356,7 +84580,7 @@ etc
    (for-each
     (lambda (arg)
       (test (set! (*s7* field) arg) 'error))
-    (list "hi" (integer->char 65) (list 1 2) #t (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand
+    (list "hi" (integer->char 65) (list 1 2) #t (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand
 	  1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>)))
  '(default-rationalize-error default-random-state morally-equal-float-epsilon hash-table-float-epsilon))
 
@@ -84365,7 +84589,7 @@ etc
    (for-each
     (lambda (arg)
       (test (set! (*s7* field) arg) 'error))
-    (list "hi" (integer->char 65) (list 1 2) (make-vector 3) abs _ht_ _null_ _c_obj_ quasiquote macroexpand
+    (list "hi" (integer->char 65) (list 1 2) (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand
 	  3/4 3.14 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>)))
  '(undefined-identifier-warnings gc-stats))
   
@@ -84531,6 +84755,48 @@ etc
 (test (let () (define (func x) (exact->inexact (cond (continuation? lambda (lambda (a) (values a (+ a 1))) (values "ho") `(x) `(+ ,a ,b))))) (define (hi) (func #f)) (hi)) 'error)
 (test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) 0 (cond (quote (define _definee_ 0))))) (define (hi) (func #f)) (hi)) 1)
 (test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) 0 (cond '(define _definee_ 0)))) (define (hi) (func #f)) (hi)) 1)
+(test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) (let* ()))) (define (hi) (func #f)) (hi)) 'error) ; not 0!
+(test (let () (define (func x) (input-port? (c-pointer (values 1 2) begin))) (define (hi) (func #f)) (hi)) #f) ; not 'error
+(test (let () (define (func x) (member letrec '#())) (define (hi) (func #f)) (hi)) 'error) ; not #f
+(test (let () (define (func abs) (abs 1)) (define (hi) (func '(1 2 3))) (hi)) 2)
+(test (let () (define (hi) ((lambda (abs) (abs 1)) '(1 2 3))) (hi)) 2)
+(test (let () (define (func x) ((lambda (values) (values "ho")) '((x 1) 2))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (multiple-value-bind (values) '((x 1) 2) (values "ho"))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (multiple-value-bind (list) macroexpand '((1 2) (3 4)) (length (list)))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (multiple-value-bind (hash-table) (integer->char 255) (pair? (hash-table? (let* () 0+1/0i (hash-table)))))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (multiple-value-bind (list) -1 `((1) . x) #() (make-iterator (list 1 2 3)) (random-state 1234) 1234)) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) (char-numeric? most-negative-fixnum))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) (char-alphabetic? (list)))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) (char-whitespace? (make-hash-table)))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (vector->list (values 1 2) #(1 2))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (truncate (/ (values 1 2) 0))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (fill! (values 1 2) `(+ x 1))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (not (zero? :readable))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) i) (exact->inexact 1.0+123.0i))) (define (hi) (func #f)) (hi)) 1)
+(test (let () (define (func x) (inlet 'if 3)) (define (hi) (func #f)) (hi)) 'error)
+(test ((let () (define (func x) (inlet ':allow-other-keys 3)) (define (hi) (func #f)) (hi)) 'allow-other-keys) 3)
+(test (let () (define (func x) (vector (setter car) (quote (null? i) #r2d((.1 .2) (.3 .4))))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (c-pointer? begin (member let-temporarily (values 1 2)))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (integer? (assoc (values) '((x 1) (y) . 2) cons))) (define (hi) (func #f)) (hi)) #f)
+(test (let () (define-macro (_mac_ x) `(+ ,x 1)) (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1) 1) (_mac_ inf.0 . #x123.123))) (define (hi) (func #f)) (hi))) 'error)
+(test (let () (define (func x) (reverse! (write-string (symbol->string :allow-other-keys) #f))) (define (hi) (func #f)) (hi)) "syek-rehto-wolla:") ; copied we hope
+(test (symbol->string :allow-other-keys) ":allow-other-keys")
+(test (let () (define (func x) (with-let (openlet (inlet 'abs (lambda (x) (- x)))) '(- 1) (abs 1+1i))) (define (hi) (func #f)) (hi)) -1-i)
+(test (let ((x #f)) (define (func) (member "c" '(x) (lambda (a b) (call/cc (lambda (return) (return #f)))))) (define (hi) (func)) (hi)) #f)
+(test (let ((x #f)) (define (func) (assoc "c" '((x . 1)) (lambda (a b) (call/cc (lambda (return) (return #t)))))) (define (hi) (func)) (hi)) '(x . 1))
+
+(let ((x #f)) 
+  (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (eval-string (object->string (curlet))))))
+  (define (hi) (func)) 
+  (test (hi) (inlet 'i 0 (symbol "(dox_slot)") 1)))
+
+(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (let-temporarily ((i 0 (+ i 1))) #i(1) 1)))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (for-each (lambda s s) (object->let (block)))))) (define (hi) (func)) (hi)) #<unspecified>)
+(test (let ((x #f)) (define (func) (call-with-exit (lambda (x) (char-ci>? (call-with-output-string x))))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x #f)) (define (func) (call-with-exit (lambda (x) (char-ci>? (with-output-to-string x))))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x #f)) (define (func) (call-with-exit (lambda (x) (char-ci>? (with-output-to-file "/dev/null" x))))) (define (hi) (func)) (hi)) 'error)
+(unless pure-s7 (test (let ((x #f)) (define (func) (let () (vector (quasiquote (fill! (with-baffle (unquote))))))) (define (hi) (func)) (hi)) 'error))
+(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (indexable?)))) (define (hi) (func)) (hi)) 'error)
 
 (test (let () (define (func x) (make-list (reader-cond (#t _definee_ (define _definee_ 0))))) (define (hi) (func #f)) (hi)) 'error)
 (test (let () (define (func x) (make-list _definee_ (define _definee_ 0))) (define (hi) (func #f)) (hi)) 'error)
@@ -84552,6 +84818,26 @@ etc
 (test (let ((y 1)) (let-temporarily ((y 3)) (define x y)) (+ x y)) 4)
 (test (let () (define (func x) (with-input-from-string _definee_ (lambda* 0/0+0/0i (define _definee_ 0)))) (define (hi) (func #f)) (hi)) 'error)
 (test (let () (define (func x) (with-input-from-string _definee_ (lambda* ((x (define _definee_ 0))) x))) (define (hi) (func #f)) (hi)) 'error)
+(test (let () (define (func x) (c-pointer? _definee_ (let-temporarily () (define _definee_ 0)))) (define (hi) (func #f)) (hi)) 'error)
+
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (+ x 1))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (+ 2 x 1))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (+ 3 2 x 1))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (abs x))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (with-let (inlet 'a 1) (setter x))))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (with-let (inlet 'b 1) (+ b 1)) (+ x 1))) (define (hi) (func)) (hi)) 'error)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (let ((x 1)) (+ x 1)))) (define (hi) (func)) (hi)) 2)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (let ((x 1)) (with-let (inlet 'b 1) (+ b 1)) (+ x 1)))) (define (hi) (func)) (hi)) 2)
+(test (let ((x -1)) (define (func) (with-let (inlet 'a 1) (let ((x 1)) (with-let (inlet 'b 1) (+ b 1)))) (+ x 1)) (define (hi) (func)) (hi)) 0)
+(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (atanh (with-let (inlet 'integer? (lambda (f) #f)) (+ x 1)))))) (define (hi) (func)) (hi)) 'error)
+(test (let () (define (func) (call-with-exit (lambda (_x_) 1 . 2))) (define (hi) (func)) (hi)) 'error)
+(test (let () (define (func) (list (quote 1 abs) (quote 1))) (define (hi) (func)) (hi)) 'error)
+
+(test (with-let (inlet) (let () (signature abs) . if)) 'error)
+(test (with-let (inlet) (let* () (signature abs) . if)) 'error)
+(test (with-let (inlet) (letrec () (signature abs) . if)) 'error)
+(test (let-temporarily ((__var__ 1)) (signature abs) . if) 'error)
+(test (with-let (inlet 'i 0) 1 cons . 2) 'error)
 
 (test (let () (define (f) (let ((_x_ (+ _x_ 1.0))) 1)) (f)) 'error)
 (test (let () (define (f) (define _x_ (let-ref (cdr _x_) 'a))) (f)) 'error)
@@ -84565,9 +84851,24 @@ etc
 (test (let () (define (f) (define _x_ (+ .1 _x_)) 1) (f)) 'error)
 (test (let () (define (f) (define _x_ (+ _x_ .1)) 1) (f)) 'error)
 
+(test (multiple-value-bind lambda #f (call-with-exit (lambda (return) (return 1)))) 'error)
+(unless pure-s7
+  (test (let ((x #f) (i 0)) (if (not x) (begin (quasiquote (type-of `((x)) "" #r2d((.1 .2) (.3 .4)) unquote))))) 'error)
+  (test (let () (define (func) (let ((x #f) (i 0)) (let () (values (zero? (quasiquote (unquote . #x123.123))))))) (define (hi) (func)) (hi)) 'error))
+(test (let ((x #f) (i 0)) (call/cc (lambda* quote `((1) . x)))) 'error)
+(test (let () (define (func) (let ((x #f) (i 0)) (call/cc (lambda* quote `((1) . x) (begin))))) (define (hi) (func)) (hi)) 'error)
+
+(let ()
+  (let ((x 1)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (clamp 0 x 10)))) (define (hi) (func)) (hi))
+  (test (let ((x 1)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) 1) (clamp 0 (make-iterator (list 1)) 0))) (define (hi) (func)) (hi)) 'error))
+
+(when with-block
+  (test (let () (define (func x) (syntax? (values -1 (copy (block) (vector))))) (define (hi) (func #f)) (display (hi)) (newline)) 'error))
+
 (when (defined? 's7-optimize)
   (test (s7-optimize '((cdadr (cddddr (symbol->string (min '((x 1 . 2) . 3) #<undefined> '((x 1) . 2))))))) #<undefined>) ; #<undefined> is s7-optimize's error value
   (test (s7-optimize '((set! (cyclic-sequences . 0+0/0i) #f))) #<undefined>)
+  (test (s7-optimize (list (catch #t (lambda () (with-input-from-string "(if (not) (cadddr (rational?)))" read)) (lambda args args)))) #<undefined>)
   )
 
 ;;; clumsy test, but will hang in older s7's
@@ -86843,8 +87144,9 @@ etc
   (lint-test "(memq x '(a 'b c))"       " memq: stray quote? (memq x '(a 'b c))
                                           memq: memq should be member in (memq x '(a 'b c))
                                           memq: pointless list member: 'b in (memq x '(a 'b c))")
-  (lint-test "(memq x '(a ,b c))"       " memq: memq should be member in (memq x '(a (unquote b) c))
-                                          memq: stray comma? (memq x '(a (unquote b) c))")
+  (unless pure-s7
+    (lint-test "(memq x '(a ,b c))"     " memq: memq should be member in (memq x '(a (unquote b) c))
+                                          memq: stray comma? (memq x '(a (unquote b) c))"))
   (lint-test "(memq x '(a (+ 1 2) 3))"  " memq: memq should be member in (memq x '(a (+ 1 2) 3))
                                           memq: pointless list member: (+ 1 2) in (memq x '(a (+ 1 2) 3))")
   (lint-test "(memq x '(a #(a)))"       " memq: memq should be member in (memq x '(a #(a)))
@@ -88817,7 +89119,8 @@ etc
   (lint-test "(catch 'hi x y)" "")
 
   (lint-test "(car #(a))"		" car: in (car #(a)), car's argument should be a pair, but #(a) is a vector?")
-  (lint-test "(vector->list 1.4)"	" vector->list: in (vector->list 1.4), vector->list's argument should be a vector, but 1.4 is a float?")
+  (unless pure-s7 
+    (lint-test "(vector->list 1.4)"     " vector->list: in (vector->list 1.4), vector->list's argument should be a vector, but 1.4 is a float?"))
   (lint-test "(vector-set! #(0 a) 0 2)" 
 	     " vector-set!: #(0 a) is a constant, so vector-set! is problematic, and #(0 a) is discarded; perhaps (vector-set! #(0 a) 0 2) -> 2")
   (lint-test "(list-set! (list 0 1) 0 2)" " list-set!: (list 0 1) is simply discarded; perhaps (list-set! (list 0 1) 0 2) -> 2")
@@ -88842,7 +89145,8 @@ etc
   (lint-test "(and . 0)" " and: unexpected dot: (and . 0)")
 
   (lint-test "(length (a . b))"         " length: missing quote? (a . b) in (length (a . b))")
-  (lint-test "(length ,a)"              " length: stray comma? (unquote a) in (length (unquote a))")
+  (unless pure-s7
+    (lint-test "(length ,a)"              " length: stray comma? (unquote a) in (length (unquote a))"))
   (lint-test "(make-vector (length (append x y)))" " make-vector: perhaps (length (append x y)) -> (+ (length x) (length y))")
   (lint-test "(make-float-vector 3 0.0)"      " make-float-vector: 0.0 is the default initial value in (make-float-vector 3 0.0)")
   (lint-test "(make-vector 3 #<unspecified>)" " make-vector: #<unspecified> is the default initial value in (make-vector 3 #<unspecified>)")
@@ -90914,8 +91218,9 @@ etc
   (lint-test "(define-macro (f4 a b) a)" "")
   (lint-test "(define-macro (f5 a . b) a)" "")
   (lint-test "(define-macro (f6 a b . c) a)" "")
-  (lint-test "(define-macro (mac a) `(+ ,,a 1))"
-	     " mac: define-macro probably has too many unquotes: (list-values '+ (unquote a) 1)")
+  (unless pure-s7
+    (lint-test "(define-macro (mac a) `(+ ,,a 1))"
+	       " mac: define-macro probably has too many unquotes: (list-values '+ (unquote a) 1)"))
   (lint-test "(define-macro (m a) `(+ 1 a))" 
 	     " define-macro: missing comma? (define-macro (m a) '(+ 1 a)) m: returns a list constant: '(+ 1 a)")
   (lint-test "(define-macro (m a) `(+ 1 ,a (* a 2)))" 
@@ -91099,8 +91404,9 @@ etc
 	     " f22: perhaps (case y ((0) (list-values '+ x 1)) (else #f)) -> (and (eqv? y 0) (list-values '+ x 1))")
   (lint-test "(begin (define (f23 x) (+ y 1)) (define (f24 x) (f23 (+ x 1))) (f24 0))"
 	     " f24: f23's parameter 1 is not used, but a value is passed: (+ x 1)")
-  (lint-test "(begin (define x 1) `#(,x))" ; this can be expanded: (lambda (x) #((unquote x)))
-	     " begin: quasiquoted vectors are not supported: #((unquote x)) perhaps use `(vector ...) rather than `#(...)")
+  (unless pure-s7
+    (lint-test "(begin (define x 1) `#(,x))" ; this can be expanded: (lambda (x) #((unquote x)))
+	       " begin: quasiquoted vectors are not supported: #((unquote x)) perhaps use `(vector ...) rather than `#(...)"))
   (lint-test "(begin (define-macro (m1 x y) `(+ ,y 1)) (m1 a b))" 
 	     " begin: perhaps (define-macro (m1 x y) (list-values '+ y 1)) -> (define (m1 x y) (+ y 1))
                begin: m1's parameter 1 is not used, but a value is passed: a")
@@ -91214,8 +91520,9 @@ etc
   (lint-test "(and (positive? x) (real? x))"     " and: perhaps (and (positive? x) (real? x)) -> (positive? x)")
   (lint-test "(or (real? x) (zero? x))"          " or: perhaps (or (real? x) (zero? x)) -> (real? x)")
   (lint-test "(and (zero? x) (negative? x))"     " and: perhaps (and (zero? x) (negative? x)) -> #f")
-  (lint-test "(and (real? x) (not (inexact? x)))" " and: perhaps (and (real? x) (not (inexact? x))) -> (rational? x)")
-  (lint-test "(and (exact? x) (not (inexact? x)))" " and: perhaps (and (exact? x) (not (inexact? x))) -> (exact? x)")
+  (unless pure-s7
+    (lint-test "(and (real? x) (not (inexact? x)))" " and: perhaps (and (real? x) (not (inexact? x))) -> (rational? x)")
+    (lint-test "(and (exact? x) (not (inexact? x)))" " and: perhaps (and (exact? x) (not (inexact? x))) -> (exact? x)"))
   (lint-test "(and (real? x) (not (zero? x)))" "") ; this is correct
   (lint-test "(and (even? x) (not (real? x)))"   " and: perhaps (and (even? x) (not (real? x))) -> #f")
   (lint-test "(and (exact? x) (zero? x))"        " and: perhaps (and (exact? x) (zero? x)) -> (eqv? x 0)")
@@ -91266,7 +91573,8 @@ etc
   (lint-test "(if (and (<= 12 x) (<= x 15)) 2 3)" " if: perhaps (and (<= 12 x) (<= x 15)) -> (<= 12 x 15)")
   (lint-test "(and x (set! x (zero? (random 2))) (not x))" "")
   (lint-test "(string-append x , \"b\")" "")
-  (lint-test "(string-append x , y)" " string-append: stray comma? (unquote y) in (string-append x (unquote y))")
+  (unless pure-s7
+    (lint-test "(string-append x , y)" " string-append: stray comma? (unquote y) in (string-append x (unquote y))"))
   (lint-test "`(+ ,x 1)" "")
   (lint-test "(let ((x (list 23 1 3))) (sort! x <) x)" "")
   (lint-test "(let ((x (list 23 1 3))) (reverse! x) x)" " let: reverse! might leave x in an undefined state; perhaps (set! x (reverse! x))")
@@ -92595,13 +92903,14 @@ etc
                quote: strange parameter for define-macro: (((+ x 1)))
                quote: this could be omitted: '((x . 1) . 2)
                func: cond is messed up: (cond (list 1 2) '(1) . =>)")
-  (lint-test "(define (func x) (if (inexact->exact /i-) (defined? +--) (cond . else)))" 
-	     " func: if test is never false: (if (inexact->exact /i-) (defined? +--) (cond . else))
-               func: cond is messed up: (cond . else)")
+  (unless pure-s7
+    (lint-test "(define (func x) (if (inexact->exact /i-) (defined? +--) (cond . else)))" 
+	       " func: if test is never false: (if (inexact->exact /i-) (defined? +--) (cond . else))
+               func: cond is messed up: (cond . else)"))
   (lint-test "(define (func x) (if (let-set! /+0) (begin .(cdddar . and)) (port-line-number 2(exp 1))))" 
 	     " func: let-set! needs 3 arguments: (let-set! /+0)
                func: stray dot in begin? (begin cdddar . and)
-               func: in (port-line-number 2 (exp 1)), port-line-number's argument 1 should be an input-port or null, but 2 is an integer?")
+               func: in (port-line-number 2 (exp 1)), port-line-number's argument 1 should be an input-port, but 2 is an integer?")
   (lint-test "(define (func x) (if (char<? (vector (defined?))) (define-constant +(random-state->list -)) (hash-table? (define-macro* + (list ()) `(x 1) :hi 1+0/0i))))"
 	     " func: char<? needs at least 2 arguments: (char<? (vector (defined?)))
                func: in (char<? (vector (defined?))), char<?'s argument should be a char, but (vector (defined?)) is a vector?
@@ -92653,11 +92962,12 @@ etc
                func: perhaps (- 2 (+)) -> 2
                func: lambda is messed up in (lambda 1.0)")
   (lint-test "(define (func x) (when 0 1+0/0i `((+ x 1)) => . with-let))" " func: when is messed up: (when 0 1nani '((+ x 1)) => . with-let)")
-  (lint-test "(define (func x) (if (string-ci>=?) (dilambda? (char-numeric? 20+)) (* 1 enver quasiquote 0+0/0i /0/01(/))))" 
-	     " func: string-ci>=? needs at least 2 arguments: (string-ci>=?)
+  (unless pure-s7
+    (lint-test "(define (func x) (if (string-ci>=?) (dilambda? (char-numeric? 20+)) (* 1 enver quasiquote 0+0/0i /0/01(/))))" 
+	       " func: string-ci>=? needs at least 2 arguments: (string-ci>=?)
                func: (dilambda? (char-numeric? 20+)) is always #f
                func: perhaps (* 1 enver quasiquote 0nani /0/01 (/)) -> (* enver quasiquote 0nani /0/01 (/))
-               func: / needs at least 1 argument: (/)")
+               func: / needs at least 1 argument: (/)"))
   (lint-test "(define (func x) (if (continuation?) (when (continuation? 0-2))))" 
 	     " func: perhaps (if (continuation?) (when (continuation? 0-2))) -> (when (and (continuation?) (continuation? 0-2)))
                func: continuation? needs 1 argument: (continuation?)
@@ -92714,14 +93024,15 @@ etc
 	     " func: perhaps (if (defined? +) (when (string=? +))) -> (when (and (defined? +) (string=? +)))
                func: in (defined? +), defined?'s argument should be a symbol, but + is a procedure?
                func: when is messed up: (when (string=? +))")
-  (lint-test "(define (func x) (if (asinh /(inexact?  1)) (cos (string-ci>? 1)) (int-vector 1(set! .--(cond .(char-alphabetic? .+))))))"
+  (unless pure-s7
+    (lint-test "(define (func x) (if (asinh /(inexact?  1)) (cos (string-ci>? 1)) (int-vector 1(set! .--(cond .(char-alphabetic? .+))))))"
 	     " func: if test is never false: (if (asinh / (inexact? 1)) (cos (string-ci>? 1)) (int-vector 1 (set! .--...
                func: asinh has too many arguments: (asinh / (inexact? 1))
                func: in (asinh / (inexact? 1)), asinh's argument 1 should be a number, but / is a procedure?
                func: in (cos (string-ci>? 1)), cos's argument should be a number, but (string-ci>? 1) is a boolean?
                func: string-ci>? needs at least 2 arguments: (string-ci>? 1)
                func: in (string-ci>? 1), string-ci>?'s argument should be a string, but 1 is an integer?
-               func: cond is messed up: (cond char-alphabetic? .+)")
+               func: cond is messed up: (cond char-alphabetic? .+)"))
   (lint-test "(define (func x) (if (help 11) (make-iterator (letrec* 2)) (byte-vector (case -(dilambda i let +i (list (list 1)) let . cons  )))))" 
 	     " func: perhaps (help 11) -> #f
                func: perhaps (if (help 11) (make-iterator (letrec* 2)) (byte-vector (case - (dilambda i... ->
@@ -93334,6 +93645,28 @@ etc
 (test (let ((i 1)) (define (func x) (if (* i '((x 1) (y) . 2) ) (atan (procedure? 2(sin ))))) (func '(values #\c 3 1.2))) 'error)
 (test (let ((i 1)) (define (func x) (* 1- '(values #\c 3 1.2) )) (func set!))  'error)
 (test (let ((dynamic-wind 1)) (+ dynamic-wind 2)) 3)
+(test (list (call-with-exit (lambda quote ((car quote) 1 2 3)))) '(1 2 3))
+(test (call-with-exit (lambda* (quote (ho 1)) (quote ho))) 1)
+(test (lambda 'ho (hash-table* 'a 1) . #<unspecified>) 'error) ; stray dot check
+
+(test (catch #t (lambda () ((lambda quote (abs '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ '__a__ 1)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ 1 '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ '__a__ '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ 1 '__a__ '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ 1 '__a__ 3)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (+ 1 2 '__a__ 3)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda quote (vector '__a__ 1 2)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda* 'x (abs '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda* 'x (+ '__a__ 1)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda* 'x (+ 1 '__a__)))) (lambda (type info) (car info))) "~A: unbound variable")
+(test (catch #t (lambda () ((lambda* 'x (vector '__a__ 1 2)))) (lambda (type info) (car info))) "~A: unbound variable")
+
+;;; these 4 lines go together
+(define-expansion (_mem2_ . args)
+  `(begin (format #f "~S~%" args) ((lambda (a b) , at args) 1 3) ((lambda (a b) , at args) 1 2) #f))
+(let ((args #(1 2))) (define (func) (_mem2_ 1 2)) (define (hi) (func)) (hi))
+(let ((args #(1 2))) (define (func) (_mem2_ 1 2)) (define (hi) (func)) (hi))
 
 #|
 ;;; after much dithering I've decided that built-in C functions have a very aggressive take
diff --git a/snd-chn.c b/snd-chn.c
index 7ed92b7..38d23db 100644
--- a/snd-chn.c
+++ b/snd-chn.c
@@ -3162,6 +3162,8 @@ static bool make_gl_spectrogram(chan_info *cp)
 
 #if USE_MOTIF
   return(XtAppPending(main_app(ss)) == 0); /* return true if there are no pending events to force current buffer to be displayed */
+#else
+  return(false); /* make the compiler happy */
 #endif
 }
 #endif
diff --git a/snd-help.c b/snd-help.c
index dc54c75..83c843e 100644
--- a/snd-help.c
+++ b/snd-help.c
@@ -3022,6 +3022,7 @@ static char *snd_finder(const char *name, bool got_help)
   const char *defines[NUM_DEFINES] = {": ", "instrument: ", "event: "};
 #endif
 
+  if ((!name) || (mus_strlen(name) == 0)) return(NULL);
   is_defined = Xen_is_defined(name);
 
 #if HAVE_SCHEME
@@ -3629,7 +3630,8 @@ and its value is returned."
 	  (mus_strlen(str) == 0) ||
 	  (strcmp(str, PROC_FALSE) == 0)) /* Ruby returns "false" here */
 	{
-	  if (!subject) return(Xen_false);
+	  if ((!subject) || (mus_strlen(subject) == 0))
+	    return(Xen_false);
 	  str = snd_finder(subject, false);
 	  need_free = true;
 	}
diff --git a/snd-test.fs b/snd-test.fs
index adb6875..f660b5f 100644
--- a/snd-test.fs
+++ b/snd-test.fs
@@ -2,13 +2,13 @@
 
 \ Translator/Author: Michael Scholz <mi-scholz at users.sourceforge.net>
 \ Created: 2006/08/05 00:09:28
-\ Changed: 2017/09/25 22:10:36
+\ Changed: 2017/12/29 08:50:08
 
 \ Tags:  FIXME - something is wrong
 \        XXX   - info marker
 \
 \ Tested with:
-\   Snd 17.x
+\   Snd 18.x
 \   Fth 1.3.x
 \
 \ The most Gtk tests will be skipped if not gtk3.
@@ -132,7 +132,13 @@
 \ :statistics
 \ :verbose (event (bird) and instrument names)
 #f value *snd-test-ws-play*
-#f value *snd-test-ws-player*
+lambda: <{ output -- }>
+  \ Snd's play doesn't complain about more than 2 chans, see
+  \ test23-balance
+  save-stack { s }
+  output play drop
+  s restore-stack
+; value *snd-test-ws-player*
 #f value *snd-test-ws-statistics*
 #f value *snd-test-ws-verbose*
 
@@ -146,7 +152,6 @@
 "HOME" getenv value *home*
 save-dir *home* "/zap/snd" $+ || value original-save-dir
 temp-dir *home* "/zap/tmp" $+ || value original-temp-dir
-sound-file-extensions value original-sound-file-extensions
 listener-prompt value original-prompt
 mus-file-buffer-size value default-file-buffer-size
 8 value *info-array-print-length*
@@ -155,6 +160,7 @@ mus-file-buffer-size value default-file-buffer-size
 "/home/bil/zap/sounds/bigger.snd" value bigger-snd
 #f value with-big-file
 #f value all-args
+1000 value base-length
 
 \ Global variables may be overridden in `pwd`/.sndtest.fs or ~/.sndtest.fs.
 ".sndtest.fs" load-init-file
@@ -178,7 +184,15 @@ mus-file-buffer-size value default-file-buffer-size
   ;
 
   : set-x-bounds <{ bounds :optional snd 0 chn 0 axis 0 -- res }>
-    bounds dup to x-bounds-value
+    bounds number? if
+      '( bounds dup fnegate )
+    else
+      bounds length 1 = if
+        '( bounds car dup fnegate )
+      else
+        bounds
+      then
+    then dup to x-bounds-value
   ;
 
   '( -1.0 1.0 ) value y-bounds-value
@@ -187,7 +201,15 @@ mus-file-buffer-size value default-file-buffer-size
   ;
 
   : set-y-bounds <{ bounds :optional snd 0 chn 0 axis 0 -- res }>
-    bounds dup to y-bounds-value
+    bounds number? if
+      '( bounds dup fnegate )
+    else
+      bounds length 1 = if
+        '( bounds car dup fnegate )
+      else
+        bounds
+      then
+    then dup to y-bounds-value
   ;
 
   : position->x <{ val :optional snd 0 chn 0 ax time-graph -- res }>
@@ -329,7 +351,7 @@ reset-all-hooks
 
 : cneq   ( a b -- f ) 0.001 cneq-err ;
 
-: fequal-err ( r1 r2 err -- f ) -rot ( r1 r2 ) f- fabs f> ;
+: fequal-err ( r1 r2 err -- f ) -rot ( err r1 r2 ) f- fabs f> ;
 
 : fequal? ( a b -- f ) 0.001 fequal-err ;
 
@@ -486,13 +508,14 @@ reset-all-hooks
 ;
 
 : snd-test-equal? { res req -- f }
-  res req  req float? if
-    fequal?
+  res number?
+  req number? && if
+    res req fequal?
   else
     req snd-test-vector? if
-      vequal?
+      res req vequal?
     else
-      equal?
+      res req equal?
     then
   then
 ;
@@ -513,14 +536,14 @@ reset-all-hooks
 
 : (snd-test-any-neq) { res req func fmt args lno -- }
   res req func execute unless
-    res req "!=" fmt args snd-format { str }
+    res req func xt->name fmt args snd-format { str }
     "\\ [%d] %s\n" #( lno str ) fth-print
   then
 ;
 
 : (snd-test-any-eq) { res req func fmt args lno -- }
   res req func execute if
-    res req "==" fmt args snd-format { str }
+    res req func xt->name fmt args snd-format { str }
     "\\ [%d] %s\n" #( lno str ) fth-print
   then
 ;
@@ -558,8 +581,14 @@ reset-all-hooks
 1 0 0 make-color constant safe-color
 
 : make-color-with-catch { c1 c2 c3 -- color }
-  c1 c2 c3 <'> make-color 'no-such-color #t fth-catch if
-    stack-reset
+  c1 c2 c3 <'> make-color 'no-such-color nil fth-catch if
+    \ XXX: stack-reset <= wrong!
+    \ Only top, second, and third should be dropped!
+    \ The rest may be not of your business,
+    \ for example #( 'a 'b 'c   1 2 3 make-color-with-catch   'd 'e 'f )
+    \ would return #( #( Pixel 0x1111 ) 'd 'e 'f )
+    \ not #( 'a 'b 'c #( Pixel 0x1111 ) 'd 'e 'f ) 
+    drop drop drop
     safe-color
   then
 ;
@@ -612,7 +641,7 @@ reset-all-hooks
     stack-reset
     gc-run
     make-timer { tm }
-    xt execute
+    xt #t nil fth-catch drop
     tm stop-timer
     stack-reset
     sounds if
@@ -623,7 +652,9 @@ reset-all-hooks
     then
     #f set-ask-about-unsaved-edits drop
     #f set-remember-sound-state drop
-    "%s: %s\n\\ " #( name tm ) snd-test-message
+    "%s: %s" #( name tm ) snd-test-message
+    "" #f snd-test-message
+    .stack
   then
 ;
 
@@ -657,14 +688,13 @@ reset-all-hooks
   10  set-window-y drop
   #t  set-show-listener drop
   reset-almost-all-hooks
-  22050 set-mus-srate f>s to *clm-srate*
+  44100 to *clm-srate*
   stack-reset
   make-timer to overall-start-time
 ;
 
 : finish-snd-test ( -- )
   overall-start-time stop-timer
-  .stack
   stack-reset
   regions each ( r )
     forget-region drop
@@ -695,7 +725,9 @@ reset-all-hooks
   "test.snd" file-exists? if
     "test.snd" 0o644 file-chmod
   then
-  #( "aaa.eps"
+  #( "1"
+     "aaa.eps"
+     "accelmap"
      "envs.save"
      "fmv.snd"
      "fmv.wav"
@@ -705,9 +737,9 @@ reset-all-hooks
      "fmv3.snd"
      "fmv4.reverb"
      "fmv4.snd"
+     "gtk-errors"
      "hiho.marks"
      "hiho.snd"
-     "hiho.snd"
      "hiho.tmp"
      "hiho.wave"
      "ho"
@@ -715,7 +747,19 @@ reset-all-hooks
      "oboe.marks"
      "obtest.snd.stereo"
      "remembered-oboe.snd.fs"
+     "s1.fsm"
+     "s1.snd"
+     "s6.fsm"
+     "s6.reverb"
+     "s6.snd"
+     "s7.fsm"
+     "s7.snd"
      "saved-snd.fs"
+     "sec1.fsm"
+     "sec1.snd"
+     "sec2.fsm"
+     "sec2.reverb"
+     "sec2.snd"
      "snd.eps"
      "test-1.snd"
      "test-2.snd"
@@ -731,26 +775,23 @@ reset-all-hooks
      "test2.snd"
      "test3.snd"
      "tmp.snd"
-     "with-mix.snd"
-     "1"
-     "gtk-errors"
-     "accelmap" ) each ( file )
+     "with-mix.snd" ) each ( file )
        file-delete
      end-each
-  #( "mus10.snd.snd"
+  #( "bad_data_format.snd.snd"
+     "ce-c3.w02.snd"
+     "hcom-16.snd.snd"
      "ieee-text-16.snd.snd"
-     "trumps22.adp.snd"
-     "oki.wav.snd"
+     "mus10.snd.snd"
      "nasahal.avi.snd"
-     "hcom-16.snd.snd"
-     "ce-c3.w02.snd"
+     "nist-shortpack.wav.snd"
+     "o2_dvi.wave.snd"
+     "oboe.g721.snd"
      "oboe.g723_24.snd"
      "oboe.g723_40.snd"
-     "oboe.g721.snd"
-     "wood.sds.snd"
-     "o2_dvi.wave.snd"
-     "nist-shortpack.wav.snd"
-     "bad_data_format.snd.snd" ) each ( file )
+     "oki.wav.snd"
+     "trumps22.adp.snd"
+     "wood.sds.snd" ) each ( file )
        sf-dir swap $+ file-delete
      end-each
   #t set-show-listener drop
@@ -4320,42 +4361,44 @@ half-pi fnegate constant -half-pi
 
 \ ---------------- test 08: clm ----------------
 
-lambda: <{ -- r }> 0.0 ; value 08-clm-lambda-0.0
-lambda: <{ dir -- r }> 1.0 ; value 08-clm-lambda-dir-1.0
-lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
-32 make-delay constant make-delay-32
-
 \ xen-mus-apply (using mus-run):
-\ S7:    (gen arg)
-\ Ruby:  gen.call(arg)
-\ Forth: gen '( arg ) apply
+\     args are optional, defaulting to 0.0
+\        S7: (gen arg1 arg2)
+\      Ruby: gen.call(arg1, arg2)
+\     Forth: gen '( arg1 arg2 ) apply
 \
-\ mus-apply ( args -- res )
+\ mus-apply ( args -- res ) args => gen arg1=0.0 arg2=0.0
+\ mus-apply ( -- 0.0 )      if gen is omitted, 0.0 is returned
 \ mus-run ( gen :optional arg1 0.0 arg2 0.0 -- res )
 
+lambda: <{ -- r }>       0.0 ; value 08-clm-lambda-0.0
+lambda: <{ dir -- r }>   1.0 ; value 08-clm-lambda-dir-1.0
+lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
+32 make-delay constant make-delay-32
+
 : random-gen-run ( ?? make-prc random-args -- )
   { make-prc random-args }
   make-prc #t nil fth-catch if
-    stack-reset
-    nil
+    #f
   then { gen }
+  stack-reset
   nil { arg }
-  gen mus-generator? if
+  gen if
     random-args each to arg
-      \ ~608.375s apply
-      \ ~701.320s mus-run
-      \ ~500.867s mus-apply
-      \ gen '( arg ) <'> apply #t nil fth-catch
-      \ gen arg undef <'> mus-run #t nil fth-catch
-      gen arg <'> mus-apply #t nil fth-catch
+      \ ~438.780s apply
+      \ ~513.470s mus-run
+      \ ~499.570s mus-apply
+      gen '( arg 0.0 ) <'> apply #t nil fth-catch
+      \ gen arg 0.0 <'> mus-run #t nil fth-catch
+      \ gen arg 0.0 <'> mus-apply #t nil fth-catch
       stack-reset
     end-each
   then
 ;
 
 : random-gen ( -- )
-  #( 2.0 21.5 **
-     2.0 -18.0 **
+  #( 2.0  21.5 f**
+     2.0 -18.0 f**
      1.5
      "/hiho"
      list( 0 1 )
@@ -4409,20 +4452,25 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
         gen-make-procs each to make-prc
           arg1 arg2 arg3 make-prc random-args random-gen-run
         end-each
-        random-args each to arg4
-          gen-make-procs each to make-prc
-            arg1 arg2 arg3 arg4 make-prc random-args random-gen-run
+        all-args if
+          random-args each to arg4
+            gen-make-procs each to make-prc
+              arg1 arg2 arg3 arg4 make-prc random-args random-gen-run
+            end-each
           end-each
-        end-each
+        then
       end-each
     end-each
   end-each
 ;
 
 : 08-clm ( -- )
-  all-args if
-    random-gen
-  then
+  random-gen
+  \ XXX: asymmetric-fm brings fth out of sync resulting in
+  \      #<undefined-word in interpret: 10>.
+  \      With this trick we are in sync again.
+  "0" <'> string->number 'undefined-word nil fth-catch
+  stack-reset
 ;
 
 \ ---------------- test 10: marks ----------------
@@ -4561,6 +4609,8 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
 [then]
 
 : 15-chan-local-vars ( -- )
+  mus-srate f>s { old-srate }
+  22050 to *clm-srate*
   \ dsp.fs
   "test.snd" 1 22050 mus-bfloat mus-next "src-* tests" 10000 new-sound { ind }
   \ src-duration tests
@@ -4844,6 +4894,7 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   else
     1 >array "envelope-exp (1): %s?" swap snd-display
   then
+  old-srate to *clm-srate*
 ;
 
 \ ---------------- test 19: save and restore ----------------
@@ -5076,30 +5127,46 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
 \ ---------------- test 23: with-sound ----------------
 
 : test23-notehook { ins start dur -- }
-  "%14s: %5.2f  %5.2f" #( ins start dur ) snd-test-message
+  "%7.3f %0.3f %s" #( start dur ins ) snd-test-message
 ;
 
 : test23-balance ( -- )
   make-rmsgain    { rg }
   40 make-rmsgain { rg1 }
   2  make-rmsgain { rg2 }
-  #( 0 0 1 1 2 0 )      :length 10000 make-env { e }
-  #( 0 0 1 1 )          :length 10000 make-env { e1 }
-  #( 0 0 1 1 2 0 10 0 ) :length 10000 make-env { e2 }
+  #( 0 0 1 1 2 0 )      :length base-length make-env { e }
+  #( 0 0 1 1 )          :length base-length make-env { e1 }
+  #( 0 0 1 1 2 0 10 0 ) :length base-length make-env { e2 }
   440.0 make-oscil { o }
+  *output* sound? if
+    *output* channels make-array map!
+      base-length 0.0 make-vct
+    end-map
+  else
+    *output*
+  then { gen }
   nil { sig }
-  10000 0 do
+  base-length 0 do
     e env to sig
-    i  rg  sig                    e2 env rmsgain-balance  *output*  outa drop
-    i  rg1 sig                    e1 env rmsgain-balance  *output*  outb drop
-    i  rg2 o 0.0 0.0 oscil 0.1 f* e2 env rmsgain-balance  *output*  outc drop
+    i  rg  sig                    e2 env rmsgain-balance  gen ws-outa
+    i  rg1 sig                    e1 env rmsgain-balance  gen ws-outb
+    i  rg2 o 0.0 0.0 oscil 0.1 f* e2 env rmsgain-balance  gen ws-outc
   loop
-  rg rmsgain-gain-avg 0.98402 fneq if
-    "rmsgain gain-avg: %f (0.98402)?" #( rg rmsgain-gain-avg ) snd-display
-  then
-  rg2 rmsgain-avgc 10000 <> if
-    "rmsgain count: %d (10000)?" #( rg2 rmsgain-avgc ) snd-display
+  gen array? if
+    gen each ( v )
+      0 *output* i #f undef mix-vct drop
+    end-each
   then
+  *clm-srate* 22050 = if
+    0.98402
+  else
+    1.4227 ( 44100 )
+  then { req }
+  rg rmsgain-gain-avg { res }
+  res req "rmsgain gain-avg" #() snd-test-neq
+  base-length to req
+  rg2 rmsgain-avgc to res
+  res req "rmsgain count" #() snd-test-neq
 ;
 
 : test23-ssb-fm ( gen mg -- proc; y self -- val )
@@ -5110,76 +5177,180 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   gen   mg 0.0 0.0 oscil 0.02 f*  ssb-fm
 ;
 
+\ CLM examples (see clm.html) and their Snd/Forth counterparts:
+
+\ (with-sound () 
+\   (mix (with-sound (:output "hiho.snd") 
+\          (fm-violin 0 1 440 .1))
+\        :amplitude .5))
+
+: test23-clm-examp-1 ( -- )
+  0.0 1.0 440 0.1 <'> fm-violin
+  :output "hiho.snd" with-sound ws-output { fname }
+  fname :scaler 2.0 clm-mix
+  fname ws-close-snd
+;
+
+\ (with-sound ()
+\   (with-mix () "s1" 0
+\     (sound-let ((tmp () (fm-violin 0 1 440 .1)))
+\       (mix tmp))))
+
+: test23-clm-examp-2 ( -- )
+  "
+  '( '( '() 0.0 1.0 440 0.1 <'> fm-violin ) )
+  lambda: <{ tmp -- }>
+    tmp clm-mix
+  ; sound-let
+  " '() "s1" 0 with-mix
+;
+
+\ (with-sound (:verbose t)
+\   (with-mix () "s6" 0
+\     (sound-let ((tmp () (fm-violin 0 1 440 .1))
+\                 (tmp1 (:reverb nrev) (mix "oboe.snd")))
+\       (mix tmp1)
+\       (mix tmp :amplitude .2 :output-frame *srate*))
+\     (fm-violin .5 .1 330 .1)))
+
+: test23-clm-examp-3 ( -- )
+  "
+  '( '( '() 0.0 1.0 440 0.1 <'> fm-violin )
+     '( '( :reverb <'> nrev ) \"oboe.snd\" <'> clm-mix ) )
+  lambda: <{ tmp tmp1 -- }>
+    tmp1 clm-mix
+    tmp :scaler 5.0 :output-frame 1.0 seconds->samples clm-mix
+  ; sound-let
+  0.5 0.1 330 0.1 fm-violin
+  " '() "s6" 0 with-mix
+;
+
+\ (with-sound (:verbose t)
+\   (sound-let ((tmp () (with-mix () "s7" 0
+\                    (sound-let ((tmp () (fm-violin 0 1 440 .1))
+\                                (tmp1 () (mix "oboe.snd")))
+\                      (mix tmp1)
+\                      (mix tmp :output-frame *srate*))
+\                    (fm-violin .5 .1 330 .1))))
+\      (mix tmp :amplitude .5)))
+
+: test23-clm-4-cb <{ tmp -- }>
+  tmp :scaler 2.0 clm-mix
+;
+
+: test23-clm-examp-4 ( -- )
+  '( '( '() "
+    '( '( '() 0.0 1.0 440 0.1 <'> fm-violin )
+        '( '()      \"oboe.snd\" <'> clm-mix ) )
+    lambda: <{ tmp tmp1 -- }>
+      tmp1 clm-mix
+      tmp :output-frame 1.0 seconds->samples clm-mix
+    ; sound-let
+    0.5 0.1 330 0.1 fm-violin
+    " '() "s7" 0 <'> with-mix ) )
+  <'> test23-clm-4-cb sound-let
+;
+
+: test23-sl-cb <{ tmp1 tmp2 tmp3 -- }>
+  *snd-test-ws-verbose* if
+    tmp1 . cr
+    tmp2 . cr
+    tmp3 . cr
+  then
+  tmp1 clm-mix
+  tmp2 clm-mix
+;
+
+: test23-sound-let ( -- )
+  '( '( '( :reverb <'> jc-reverb ) 0.0 1.0 220 0.2 <'> fm-violin )
+     '( '()                        0.5 1 440 0.3 <'> fm-violin )
+     '( '()                        '( 10 'a ) ) )
+  <'> test23-sl-cb sound-let
+;
+
+: test23-with-mix ( -- )
+  0.0 0.1 440 0.1 fm-violin
+  "
+  0.0 0.2 550 0.1 fm-violin
+  0.1 0.1 660 0.1 fm-violin
+  " #() "sec1" 0.5 with-mix
+  "
+  0.0 0.1  880 0.1 :reverb-amount 0.2 fm-violin
+  0.1 0.1 1320 0.1 :reverb-amount 0.2 fm-violin
+  " #( :reverb <'> jc-reverb ) "sec2" 1.0 with-mix
+  2.0 0.1 220 0.1 fm-violin
+;
+
 \ examples from sndclm.html
 : sndclm-oscil-test ( -- )
   440.0 make-oscil { gen }
-  44100 0 do
-    i  gen 0 0 oscil  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 0.0 oscil  f2/
+  end-run
 ;
 
 : sndclm-env-test ( -- )
   440.0 make-oscil { gen }
   '( 0 0 0.01 1 0.25 0.1 0.5 0.01 1 0 )
   :scaler 0.5 :length 44100 make-env { ampf }
-  44100 0 do
-    i  gen 0 0 oscil  ampf env  f* *output*  outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 0.0 oscil  ampf env  f*
+  end-run
 ;
 
 : sndclm-table-lookup-test ( -- )
   440.0 :wave '( 1 0.5  2 0.5 ) #f #f partials->wave make-table-lookup { gen }
-  44100 0 do
-    i  gen 0 table-lookup  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 table-lookup  f2/
+  end-run
 ;
 
 : sndclm-polywave-test ( -- )
   440.0 :partials '( 1 0.5 2 0.5 ) make-polywave { gen }
-  44100 0 do
-    i  gen 0 polywave  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 polywave  f2/
+  end-run
 ;
 
 : sndclm-triangle-wave-test ( -- )
   440.0 make-triangle-wave { gen }
-  44100 0 do
-    i  gen 0 triangle-wave  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 triangle-wave  f2/
+  end-run
 ;
 
 : sndclm-ncos-test ( -- )
   440.0 10 make-ncos { gen }
-  44100 0 do
-    i  gen 0 ncos  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 ncos  f2/
+  end-run
 ;
 
 : sndclm-nrxycos-test ( -- )
   440.0 :n 10 make-nrxycos { gen }
-  44100 0 do
-    i  gen 0 nrxycos  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 nrxycos  f2/
+  end-run
 ;
 
 : sndclm-ssb-am-test ( -- )
   440.0 20 make-ssb-am { shifter }
   440.0 make-oscil { osc }
-  44100 0 do
-    i  shifter  osc 0 0 oscil  0 ssb-am f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    shifter  osc 0.0 0.0 oscil  0.0 ssb-am f2/
+  end-run
 ;
 
 : sndclm-wave-train-test ( -- )
   400 10 make-ncos { g }
   g -0.5 pi f* set-mus-phase drop
   64 make-vct map!
-    g 0 ncos
+    g 0.0 ncos
   end-map { v }
   440.0 :wave v make-wave-train { gen }
-  44100 0 do
-    i  gen 0 wave-train  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    gen 0.0 wave-train  f2/
+  end-run
 ;
 
 : sndclm-rand-test ( -- )
@@ -5187,139 +5358,150 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   5.0 330.0 hz->radians make-rand-interp { ran2 }
    440.0 make-oscil { osc1 }
   1320.0 make-oscil { osc2 }
-  88200 0 do
-    i  osc1  ran1 0 rand         0 oscil  f2/ *output* outa drop
-    i  osc2  ran2 0 rand-interp  0 oscil  f2/ *output* outb drop
+  2.0 seconds->samples { len }
+  *output* sound? if
+    2 make-array map!
+      len 0.0 make-vct
+    end-map
+  else
+    *output*
+  then { gen }
+  len 0 do
+    i  osc1  ran1 0.0 rand         0.0 oscil  f2/ gen ws-outa
+    i  osc2  ran2 0.0 rand-interp  0.0 oscil  f2/ gen ws-outb
   loop
+  gen array? if
+    gen each ( v )
+      0 *output* i #f undef mix-vct drop
+    end-each
+  then
 ;
 
 : sndclm-two-pole-test ( -- )
   1000.0 0.999 make-two-pole { flt }
   10000.0 0.002 make-rand { ran1 }
-  44100 0 do
-    i  flt  ran1 0 rand  two-pole  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    flt  ran1 0.0 rand  two-pole  f2/
+  end-run
 ;
 
 : sndclm-firmant-test ( -- )
   1000.0 0.999 make-firmant { flt }
   10000.0 5.0 make-rand { ran1 }
-  44100 0 do
-    i  flt  ran1 0 rand  #f firmant  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    flt  ran1 0.0 rand  0.0 firmant  f2/
+  end-run
 ;
 
 : sndclm-iir-filter-test ( -- )
   3 vct( 0.0 -1.978 0.998 ) make-iir-filter { flt }
   10000.0 0.002 make-rand { ran1 }
-  44100 0 do
-    i  flt  ran1 0 rand  iir-filter  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    flt  ran1 0.0 rand  iir-filter  f2/
+  end-run
 ;
 
 : sndclm-delay-test ( -- )
   0.5 seconds->samples make-delay { dly }
   440.0 make-oscil { osc1 }
   660.0 make-oscil { osc2 }
-  44100 0 do
-    i
-    osc1 0 0 oscil
-    dly  osc2 0 0 oscil  0 delay f+
-    f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    osc1 0.0 0.0 oscil
+    dly  osc2 0.0 0.0 oscil  0.0 delay  f+
+    f2/
+  end-run
 ;
 
 : sndclm-comb-test ( -- )
   0.4 0.4 seconds->samples make-comb { cmb }
   440.0 make-oscil { osc }
   '( 0 0 1 1 2 1 3 0 ) :length 4410 make-env { ampf }
-  88200 0 do
-    i
+  0.0 2.0 nil run-instrument
     cmb ( gen )
-    ampf env  osc 0 0 oscil  f* ( val )
-    0 ( pm )
-    comb f2/ *output* outa drop
-  loop
+    ampf env  osc 0.0 0.0 oscil  f* ( val )
+    0.0 ( pm )  comb f2/
+  end-run
 ;
 
 : sndclm-all-pass-test ( -- )
   -0.4 0.4 0.4 seconds->samples make-all-pass { alp }
   440.0 make-oscil { osc }
   '( 0 0 1 1 2 1 3 0 ) :length 4410 make-env { ampf }
-  88200 0 do
-    i
+  0.0 2.0 nil run-instrument
     alp ( gen )
-    ampf env  osc 0 0 oscil  f* ( val )
-    0 ( pm )
-    all-pass f2/ *output* outa drop
-  loop
+    ampf env  osc 0.0 0.0 oscil  f* ( val )
+    0.0 ( pm )
+    all-pass f2/
+  end-run
 ;
 
 : sndclm-moving-average-test ( -- )
   4410 make-moving-average { avg }
   440.0 make-oscil { osc }
-  44100 4410 - { stop }
+  1.0 0.1 f- { stop }
   0.0 { val }
-  stop 0 ?do
-    osc 0 0 oscil to val
-    i  avg val fabs moving-average  val f* *output* outa drop
-  loop
-  44100 stop ?do
-    i  avg 0.0 moving-average  osc 0 0 oscil f*  *output* outa drop
-  loop
+  0.0 stop nil run-instrument
+    osc 0.0 0.0 oscil to val
+    avg val fabs moving-average  val f*
+  end-run
+  stop 1.0 nil run-instrument
+    avg 0.0 moving-average  osc 0.0 0.0 oscil f*
+  end-run
 ;
 
 : sndclm-src1-test ( -- )
   "oboe.snd" make-readin { rd }
   rd 0.5 make-src { sr }
-  "oboe.snd" mus-sound-framples 2* ( len ) 0 ?do
-    i  sr 0 #f src  *output* outa drop
-  loop
+  "oboe.snd" mus-sound-duration f2* { dur }
+  0.0 dur nil run-instrument
+    sr 0.0 #f src
+  end-run
 ;
 
 : make-src-proc { osc -- prc; dir self -- val }
   1 proc-create osc , ( prc )
  does> { dir self -- val }
-  self @ ( osc ) 0 0 oscil
+  self @ ( osc ) 0.0 0.0 oscil
 ;
 
 : sndclm-src2-test ( -- )
   440.0 make-oscil { osc }
   osc make-src-proc { prc }
   :srate 2.0 make-src { sr }
-  44100 0 do
-    i  sr 0 prc src  *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    sr 0.0 prc src
+  end-run
 ;
 
 : sndclm-convolve1-test ( -- )
   "pistol.snd" make-readin ( rd )
   "oboe.snd" file->vct ( v ) make-convolve { cnv }
-  88200 0 do
-    i  cnv #f convolve  0.25 f* *output* outa drop
-  loop
+  0.0 2.0 nil run-instrument
+    cnv #f convolve  0.25 f*
+  end-run
 ;
 
 : sndclm-convolve2-test ( -- )
   "oboe.snd" "pistol.snd" 0.5 "convolved.snd" convolve-files { tempfile }
   tempfile make-readin { reader }
-  tempfile mus-sound-framples ( len ) 0 ?do
-    i  reader readin  *output* outa drop
-  loop
+  tempfile mus-sound-duration { dur }
+  0.0 dur nil run-instrument
+    reader readin
+  end-run
   tempfile file-delete
 ;
 
 : sndclm-granulate1-test ( -- )
   "oboe.snd" make-readin 2.0 make-granulate { grn }
-  44100 0 do
-    i  grn #f #f granulate  *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    grn #f #f granulate
+  end-run
 ;
 
 : make-granulate-proc { osc sweep -- prc; dir self -- val }
   1 proc-create osc , sweep , ( prc )
  does> { dir self -- val }
-  self @ ( osc )  self cell+ @ ( sweep ) env  0 oscil  0.2 f*
+  self @ ( osc )  self cell+ @ ( sweep ) env  0.0 oscil  0.2 f*
 ;
 
 : sndclm-granulate2-test ( -- )
@@ -5327,118 +5509,177 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   '( 0 0 1 1 ) :scaler 440.0 hz->radians :length 44100 make-env { sweep }
   osc sweep make-granulate-proc :expansion 2.0 :length 0.5
     make-granulate { grn }
-  88200 0 do
-    i  grn #f #f granulate  *output* outa drop
-  loop
+  0.0 2.0 nil run-instrument
+    grn #f #f granulate
+  end-run
 ;
 
 : sndclm-phase-vocoder1-test ( -- )
   "oboe.snd" make-readin :pitch 2.0 make-phase-vocoder { pv }
-  44100 0 do
-    i  pv #f #f #f #f phase-vocoder  *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    pv #f #f #f #f phase-vocoder
+  end-run
 ;
 
 : sndclm-phase-vocoder2-test ( -- )
   "oboe.snd" make-readin :interp 256 make-phase-vocoder { pv }
-  "oboe.snd" mus-sound-framples 2* ( samps ) 0 ?do
-    i  pv #f #f #f #f phase-vocoder  *output* outa drop
-  loop
+  "oboe.snd" mus-sound-duration f2* { dur }
+  0.0 dur nil run-instrument
+    pv #f #f #f #f phase-vocoder
+  end-run
 ;
 
 : sndclm-asymmetric-fm-test ( -- )
   440.0 0.0 0.9 0.5 make-asymmetric-fm { fm }
-  44100 0 do
-    i  fm 1.0 0 asymmetric-fm  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    fm 1.0 0.0 asymmetric-fm  f2/
+  end-run
 ;
 
 : sndclm-file->frample->file-test ( -- )
   "stereo.snd" make-file->frample { input }
   2 0.0 make-vct { frm }
+  "stereo.snd" mus-sound-framples { len }
+  *output* channels { chans }
+  *output* sound? if
+    *output* short-file-name { fname }
+    "frample-" fname $+ to fname
+    fname chans undef undef undef make-frample->file
+  else
+    *output*
+  then { gen }
   0.0 0.0 { val0 val1 }
-  "stereo.snd" mus-sound-framples ( len ) 0 ?do
+  len 0 ?do
     input i frm file->frample to frm
     frm 0 vct-ref to val0
     frm 1 vct-ref to val1
     frm 0 val1 vct-set! drop
     frm 1 val0 vct-set! drop
-    *output* i frm frample->file drop
+    gen i frm frample->file drop
   loop
+  *output* sound? if
+    gen mus-close drop
+    chans 0 do
+      0 len fname *output* i #f undef i #f #f set-samples drop
+    loop
+    fname file-delete
+  then
 ;
 
 : sndclm-readin-test ( -- )
   "oboe.snd" make-readin { reader }
-  44100 0 do
-    i  reader readin  f2/ *output* outa drop
-  loop
+  0.0 1.0 nil run-instrument
+    reader readin  f2/
+  end-run
 ;
 
 : sndclm-in-out-any-test ( -- )
   "oboe.snd" make-file->sample { infile }
-  44100 0 do
-    i  i 0 infile in-any  0 *output* out-any drop
-  loop
+  0.0 1.0 nil run-instrument
+    i 0 infile in-any
+  end-run
 ;
 
 : sndclm-locsig-test ( -- )
-  60.0 make-locsig { loc }
+  44100 { len }
+  *output* channels { chans }
+  *output* sound? if
+    *output* short-file-name { fname }
+    "frample-" fname $+ to fname
+    fname chans undef undef undef make-frample->file
+  else
+    *output*
+  then { gen }
+  60.0 :output gen make-locsig { loc }
   440.0 make-oscil { osc }
-  44100 0 do
-    loc i  osc 0 0 oscil f2/  locsig drop
+  len 0 do
+    loc i  osc 0.0 0.0 oscil f2/  locsig drop
   loop
+  *output* sound? if
+    gen mus-close drop
+    chans 0 do
+      0 len fname *output* i #f undef i #f #f set-samples drop
+    loop
+    fname file-delete
+  then
 ;
 
 : sndclm-amplitude-modulate-test ( -- )
   440.0 make-oscil { osc1 }
   220.0 make-oscil { osc2 }
-  44100 0 do
-    i
+  0 1 nil run-instrument
     0.3            ( car )
-    osc1 0 0 oscil ( in1 )
-    osc2 0 0 oscil ( in2 ) amplitude-modulate  f2/ *output* outa drop
-  loop
+    osc1 0.0 0.0 oscil ( in1 )
+    osc2 0.0 0.0 oscil ( in2 ) amplitude-modulate  f2/
+  end-run
 ;
 
-: check-maxamp { fname name lno -- }
-  fname mus-sound-maxamp { amps }
-  amps each { val }
-    i 2 mod if
-      val 1.1 f> if
-        "%s (%s)[%d]: maxamp chn %d > 1.0: %.3f (at %d)"
-          '( name fname lno i 1- 2/ val amps i object-ref ) snd-display
-      then
-    then
-  end-each
+: ws-test-close-sound { ws -- }
+  ws ws-output 0 find-sound { ind }
+  ind sound? if
+    ind close-sound drop
+  then
 ;
 
-: (ws-close-sound) { ws lno -- }
-  ws ws-output 0 find-sound dup sound? if
-    close-sound
-  then drop
-  ws :statistics ws-ref unless
-    ws ws-output ws :comment ws-ref lno check-maxamp
+: check-maxamp { ind req name lno -- }
+  ind 0 #f maxamp { res }
+  res req <'> f> "%s (%s)[%s]: maxamp"
+    #( name ind short-file-name lno ) snd-test-any-eq
+;
+
+: (ws-test-close-sound-check) { ws req lno -- }
+  ws ws-output 0 find-sound { ind }
+  ind sound? if
+    ws :statistics ws-ref unless
+      ind req ws :comment ws-ref lno check-maxamp
+    then
+    ind close-sound drop
   then
 ;
 
-: ws-close-sound ( ws -- )
+: ws-test-close-sound-check ( ws req -- )
   postpone *lineno*
-  postpone (ws-close-sound)
+  postpone (ws-test-close-sound-check)
 ; immediate
 
-: 23-with-sound ( -- )
+: (23-with-sound) ( -- )
   1024 1024 * to *clm-file-buffer-size*
-  *clm-play*       { old-play }
-  *clm-statistics* { old-stats }
+  *clm-play*               { old-play }
+  *clm-player*             { old-player }
+  *clm-statistics*         { old-stats }
   *snd-test-ws-play*       to *clm-play*
   *snd-test-ws-player*     to *clm-player*
   *snd-test-ws-statistics* to *clm-statistics*
-  mus-bfloat               to *clm-sample-type*
+  \ from clm.fs
+  <'> test23-clm-examp-1
+    :comment over object->string with-sound ws-test-close-sound
+  <'> test23-clm-examp-2
+    :comment over object->string with-sound ws-test-close-sound
+  <'> test23-clm-examp-3
+    :comment over object->string with-sound ws-test-close-sound
+  <'> test23-clm-examp-4
+    :comment over object->string with-sound ws-test-close-sound
+  <'> test23-sound-let
+    :comment over object->string with-sound ws-test-close-sound
+  <'> test23-with-mix
+    :comment over object->string with-sound ws-test-close-sound
+  <'> run-test
+    :comment over object->string with-sound ws-test-close-sound
+  <'> src-test
+    :comment over object->string with-sound ws-test-close-sound
+  <'> conv1-test
+    :comment over object->string with-sound ws-test-close-sound
+  <'> conv2-test
+    :comment over object->string with-sound ws-test-close-sound
+  <'> inst-test
+    :comment over object->string with-sound ws-test-close-sound
+  <'> arpeggio-test
+    :comment over object->string with-sound ws-test-close-sound
   \ from bird.fsm
   <'> bird-test
-  :comment  over object->string
-  :verbose  *snd-test-ws-verbose*
-  :channels 2 with-sound ws-close-sound
+  :comment over object->string
+  :verbose *snd-test-ws-verbose*
+  :channels 2 with-sound ws-test-close-sound
   \ from clm-ins.fs
   0.0 0.3 <'> clm-ins-test
   :comment  over object->string
@@ -5447,16 +5688,16 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   else
     #f
   then
-  :channels 2 with-sound ws-close-sound
+  :channels 2 with-sound 1.2 ws-test-close-sound-check
   <'> test23-balance
   :comment  over object->string
+  :srate    22050
   :channels 3 with-sound ws-output 0 find-sound { ind }
   ind sound? if
     ind close-sound drop
   else
     "with-sound balance?" snd-display
   then
-  "test.snd" "test23-balance" *lineno* check-maxamp
   "tmp.snd" 1 22050 mus-bfloat mus-next new-sound to ind
   0 1000 ind 0 pad-channel drop
   100.0 make-oscil { mg }
@@ -5465,69 +5706,77 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
   ind close-sound drop
   \ examples from sndclm.html
   <'> sndclm-oscil-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-env-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-table-lookup-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-polywave-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-triangle-wave-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-ncos-test 
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-nrxycos-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-ssb-am-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-wave-train-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-rand-test
-    :comment over object->string :channels 2 with-sound ws-close-sound
+    :comment over object->string :channels 2 with-sound ws-test-close-sound
   <'> sndclm-two-pole-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-firmant-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-iir-filter-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-delay-test 
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-comb-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-all-pass-test 
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-moving-average-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-src1-test
-    :comment over object->string :srate 22050 with-sound ws-close-sound
+    :comment over object->string :srate 22050 with-sound ws-test-close-sound
   <'> sndclm-src2-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-convolve1-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-convolve2-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-granulate1-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-granulate2-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-phase-vocoder1-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-phase-vocoder2-test
-    :comment over object->string :srate 22050 with-sound ws-close-sound
+    :comment over object->string :srate 22050 with-sound ws-test-close-sound
   <'> sndclm-asymmetric-fm-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-file->frample->file-test
-    :comment over object->string :channels 2 with-sound ws-close-sound
+   :comment over object->string :channels 2 with-sound ws-test-close-sound
   <'> sndclm-readin-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-in-out-any-test
-    :comment over object->string with-sound ws-close-sound
+    :comment over object->string with-sound ws-test-close-sound
   <'> sndclm-locsig-test
-    :comment over object->string :channels 2 with-sound ws-close-sound
+   :comment over object->string :channels 2 with-sound ws-test-close-sound
   <'> sndclm-amplitude-modulate-test
-    :comment over object->string with-sound ws-close-sound
-  old-play  to *clm-play*
-  old-stats to *clm-statistics*
+    :comment over object->string with-sound ws-test-close-sound
+  old-play   to *clm-play*
+  old-player to *clm-player*
+  old-stats  to *clm-statistics*
+;
+
+: 23-with-sound ( -- )
+  #f to *clm-to-snd*
+  (23-with-sound)
+  #t to *clm-to-snd*
+  (23-with-sound)
 ;
 
 \ ---------------- test 27: general ----------------
@@ -5969,7 +6218,6 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
     spd 1.0 fneq if
       "mix-speed: %s?" #( spd ) snd-display
     then
-    .stack
     mix-id <'> play #t nil fth-catch if
       drop                      \ on stack: mix-id
       "cannot play mix" #() snd-display
@@ -5984,7 +6232,6 @@ lambda: <{ a b c -- r }> 1.0 ; value 08-clm-lambda-a-b-c-1.0
       drop                      \ on stack: play's return value
       stack-reset
     then
-    .stack
     \
     mix-id 200 set-mix-position drop
     mix-id 0.5 set-mix-amp drop
@@ -7666,10 +7913,7 @@ set-procs <'> set-arity-not-ok 5 array-reject constant set-procs04
   3 :xcoeffs vct-3 :ycoeffs vct-3 make-filter 4 1.0 <'> set-mus-ycoeff
     'mus-error check-error-tag
   :ycoeffs 4 0 make-vct :order 12 <'> make-filter 'mus-error check-error-tag
-  \ XXX: Switch to float here okay according to clm2xen.c!
-  \ was: make-oscil 1 ==> wrong-type-arg fixnum, wanted a float
-  make-oscil 1.0 <'> set-mus-offset 'mus-error check-error-tag
-  make-oscil 1 <'> set-mus-offset 'wrong-type-arg check-error-tag
+  make-oscil 1 <'> set-mus-offset 'mus-error check-error-tag
   :channels 2 30 f** f>s <'> make-locsig 'out-of-range check-error-tag
   :width 3000 <'> make-src 'out-of-range check-error-tag
   *with-test-gui* if
@@ -8271,17 +8515,17 @@ set-procs <'> set-arity-not-ok 5 array-reject constant set-procs04
   \ from clm-ins.fs
   <'> test23-balance
   :comment  over object->string
+  :srate    22050
   :channels 3 with-sound ws-output 0 find-sound { ind }
   ind sound? if
     ind close-sound drop
   else
     "with-sound balance?" snd-display
   then
-  "test.snd" "test23-balance" *lineno* check-maxamp
   \ 0.0 0.3 <'> clm-ins-test
   \ :comment  over object->string
   \ :notehook *snd-test-ws-verbose* if <'> test23-notehook else #f then
-  \ :channels 2 with-sound ws-close-sound
+  \ :channels 2 with-sound ws-test-close-sound
 ;
 
 let: ( -- )
diff --git a/snd-xen.c b/snd-xen.c
index 8123a4e..8ee6fcd 100644
--- a/snd-xen.c
+++ b/snd-xen.c
@@ -2653,7 +2653,7 @@ Xen_wrap_1_arg(g_i0_w, g_i0)
 #if USE_MOTIF
   void Init_libxm(s7_scheme *sc);
 #else
-  void Init_libxg(s7_scheme *sc);
+  /* void Init_libxg(s7_scheme *sc); */
 #endif
 #if HAVE_GL
  void Init_libgl(s7_scheme *sc);
@@ -2662,7 +2662,8 @@ Xen_wrap_1_arg(g_i0_w, g_i0)
 #if USE_MOTIF
   void Init_libxm(void);
 #else
-  void Init_libxg(void);
+  /* void Init_libxg(void); */
+  /* replacement for now: make xg, then (load "xg.so" (sublet (curlet) (cons 'init_func 'Init_libxg))) */
 #endif
 #if HAVE_GL
  void Init_libgl(void);
@@ -2694,6 +2695,7 @@ static Xen g_snd_gl_context(void)
 {
 #if USE_GTK
   /* return(Xen_list_2(C_string_to_Xen_symbol("GLContext"), Xen_wrap_C_pointer(ss->cx))); */
+  return(XEN_FALSE);
 #else
 #if USE_MOTIF
   return(Xen_list_2(C_string_to_Xen_symbol("GLXContext"), Xen_wrap_C_pointer(ss->cx)));
@@ -3073,13 +3075,13 @@ be written, or rely on the default (-1.0 or 1.0 depending on the sign of 'val').
     s7_define_constant(s7, "*gtk*", gtk = s7_inlet(s7, s7_nil(s7)));
     old_shadow = s7_shadow_rootlet(s7);
     s7_set_shadow_rootlet(s7, gtk);
-    Init_libxg(s7);
+    /* Init_libxg(s7); */
     s7_set_shadow_rootlet(s7, old_shadow);
   }
 #else
-  Init_libxg();
+  /* Init_libxg(); */
 #endif
-  #if HAVE_FORTH
+  #if HAVE_FORTH && (0)
     fth_add_loaded_files("libxg.so");
   #endif
 #endif
diff --git a/snd-xm.fs b/snd-xm.fs
index 2a03975..442f5f2 100644
--- a/snd-xm.fs
+++ b/snd-xm.fs
@@ -1,16 +1,18 @@
 \ snd-xm.fs -- snd-motif|gtk.scm|snd-xm.rb --> snd-xm.fs
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Mon Dec 26 22:36:46 CET 2005
-\ Changed: Tue Dec 11 01:55:54 CET 2012
+\ Created: 05/12/26 22:36:46
+\ Changed: 17/12/02 03:01:37
+\
+\ @(#)snd-xm.fs	1.40 12/2/17
 
 \ Commentary:
 \
 \ Requires --with-motif|gtk
 \
-\ Tested with Snd 13.x
+\ Tested with Snd 18.x
 \             Fth 1.3.x
-\             Motif 2.3.4 X11R6
+\             Motif 2.3.3 X11R6
 \             Gtk+ 3.0.12, Glib 2.28.8, Pango 1.28.4, Cairo 1.10.2
 \ 
 \ Motif and Gtk:
diff --git a/snd.desktop b/snd.desktop
new file mode 100644
index 0000000..58f99eb
--- /dev/null
+++ b/snd.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Exec=snd
+Hidden=false
+NoDisplay=false
+X-GNOME-Autostart-enabled=true
+Name[en_US]=snd
+Name=snd
+Comment[en_US]=
+Comment=
diff --git a/snd.h b/snd.h
index d1f48cb..ba3daa1 100644
--- a/snd.h
+++ b/snd.h
@@ -55,11 +55,11 @@
 
 #include "snd-strings.h"
 
-#define SND_DATE "1-Dec-17"
+#define SND_DATE "9-Jan-18"
 #ifndef SND_VERSION
-#define SND_VERSION "17.9"
+#define SND_VERSION "18.0"
 #endif
-#define SND_MAJOR_VERSION "17"
-#define SND_MINOR_VERSION "9"
+#define SND_MAJOR_VERSION "18"
+#define SND_MINOR_VERSION "0"
 
 #endif
diff --git a/sndscm.html b/sndscm.html
index 078e2df..45e23c5 100644
--- a/sndscm.html
+++ b/sndscm.html
@@ -8807,10 +8807,10 @@ of harmonics, then the minimum peak amplitude, then (log peak n).
 125   11.105   0.4986  | 127   11.268  0.5000   | 13   3.973   0.5378   | 5     2.477   0.5635
 7     2.639    0.4988  | 112   10.582  0.5000   | 11   3.656   0.5406   | 4     2.192   0.5662
 256   15.997   0.5000  | 3     1.739   0.5035   | 10   3.559   0.5513   | 8     3.263   0.5687
-512   23.404   0.5054  | 256   16.392  0.5044   | 8    3.198   0.5590   | 256   23.955  0.5728
-1024  33.257   0.5056  | 512   23.597  0.5067   | 9    3.454   0.5641   | 7     3.062   0.5750
-2048  49.451   0.5116  | 1024  33.876  0.5082   | 7    3.047   0.5726   | 6     2.805   0.5757
-4     2.039    0.5139  | 2048  48.653  0.5095   | 6    2.837   0.5820   | 512   38.603  0.5856
+512   23.323   0.5049  | 256   16.306  0.5034   | 8    3.198   0.5590   | 256   23.955  0.5728
+1024  33.172   0.5052  | 512   23.550  0.5064   | 9    3.454   0.5641   | 7     3.062   0.5750
+2048  49.284   0.5112  | 1024  33.836  0.5080   | 7    3.047   0.5726   | 6     2.805   0.5757
+4     2.039    0.5139  | 2048  48.452  0.5090   | 6    2.837   0.5820   | 512   38.603  0.5856
 6     2.549    0.5223  | 4     2.045   0.5161   | 5    2.605   0.5948   | 2048  95.904  0.5985
 5     2.343    0.5292  | 6     2.523   0.5164   | 3    2.021   0.6406   | 1024  65.349  0.6030
 3     1.980    0.6217  | 5     2.307   0.5195   | 4    2.431   0.6406   | 3     1.980   0.6217
diff --git a/spectr.fs b/spectr.fs
index 352adf3..5474dbf 100644
--- a/spectr.fs
+++ b/spectr.fs
@@ -1,8 +1,10 @@
 \ spectr.fs -- spectr.cl --> spectr.fs
 
 \ Translator: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Thu Nov 18 15:26:46 CET 2004
-\ Changed: Fri Mar 23 22:51:31 CET 2012
+\ Created: 04/11/18 15:26:46
+\ Changed: 17/12/02 03:03:01
+\
+\ @(#)spectr.fs	1.5 12/2/17
 
 \ Commentary:
 
diff --git a/stuff.scm b/stuff.scm
index d294bc2..c629bae 100644
--- a/stuff.scm
+++ b/stuff.scm
@@ -166,7 +166,7 @@
 
 
 (define copy-tree 
-  (let ((+documentation+ "(copy-tree lst) returns a full copy of lst"))
+  (let ((+documentation+ "(copy-tree lst) returns a full copy of lst")) ; but it does not handle cycles correctly
     (lambda (lis)
       (if (pair? lis)
 	  (cons (copy-tree (car lis))
@@ -856,31 +856,34 @@ Unlike full-find-if, safe-find-if can handle any circularity in the sequences.")
 (define log-any-of logior)    ; bits on in at least 1 of ints
 
 (define (log-n-of n . ints)   ; return the bits on in exactly n of ints
-  (if (not (integer? n))
-      (error 'wrong-type-arg "log-n-of first argument, ~A, should be an integer" n)
-      (if (not (every? integer? ints))
-	  (error 'wrong-type-arg "log-n-of ints arguments, ~A, should all be integers" ints)
-	  (let ((len (length ints)))
-	    (cond ((= len 0) (if (= n 0) -1 0))
-		  ((= n 0)   (lognot (apply logior ints)))
-		  ((= n len) (apply logand ints))
-		  ((> n len) 0)
-		  (#t 
-		   (do ((1s 0)
-			(prev ints)
-			(nxt (cdr ints))
-			(ln (- len 1))
-			(nn (- n 1))
-			(i 0 (+ i 1)))
-		       ((= i len) 1s)
-		     (let ((cur (ints i)))
-		       (if (= i 0)
-			   (set! 1s (logior 1s (logand cur (apply log-n-of nn nxt))))
-			   (let ((mid (cdr prev)))
-			     (set! (cdr prev) (if (= i ln) () (cdr mid)))
-			     (set! 1s (logior 1s (logand cur (apply log-n-of nn ints))))
-			     (set! (cdr prev) mid)
-			     (set! prev mid)))))))))))
+  (cond ((not (integer? n))
+	 (error 'wrong-type-arg "log-n-of first argument, ~A, should be an integer" n))
+	((not (every? integer? ints))
+	 (error 'wrong-type-arg "log-n-of ints arguments, ~A, should all be integers" ints))
+	((not (positive? n))
+	 (error "log-n-of first argument should be positive: ~A" n))
+	(else
+	 (let ((len (length ints)))
+	   (cond ((= len 0) (if (= n 0) -1 0))
+		 ((= n 0)   (lognot (apply logior ints)))
+		 ((= n len) (apply logand ints))
+		 ((> n len) 0)
+		 (#t 
+		  (do ((1s 0)
+		       (prev ints)
+		       (nxt (cdr ints))
+		       (ln (- len 1))
+		       (nn (- n 1))
+		       (i 0 (+ i 1)))
+		      ((= i len) 1s)
+		    (let ((cur (ints i)))
+		      (if (= i 0)
+			  (set! 1s (logior 1s (logand cur (apply log-n-of nn nxt))))
+			  (let ((mid (cdr prev)))
+			    (set! (cdr prev) (if (= i ln) () (cdr mid)))
+			    (set! 1s (logior 1s (logand cur (apply log-n-of nn ints))))
+			    (set! (cdr prev) mid)
+			    (set! prev mid)))))))))))
 
 ;; from Rick
 (define (byte siz pos) ;; -> cache size, position and mask.
diff --git a/tools/auto-tester.scm b/tools/auto-tester.scm
new file mode 100644
index 0000000..e403aa5
--- /dev/null
+++ b/tools/auto-tester.scm
@@ -0,0 +1,629 @@
+;;; this is an extension of tauto.scm, an auto-tester
+
+;(set! (hook-functions *load-hook*) (list (lambda (hook) (format () "loading ~S...~%" (hook 'name)))))
+
+(load "stuff.scm")
+
+(set! (*s7* 'max-stack-size) 32768)
+(set! (*s7* 'gc-stats) 6)
+(define ostr "")
+(set! (*s7* 'max-string-length) 100000)
+(set! (*s7* 'max-list-length) 100000)
+(set! (*s7* 'max-vector-length) 100000)
+(set! (*s7* 'max-vector-dimensions) 10)
+(set! (current-output-port) #f)
+(define __var__ #f)
+(define __var1__ #f)
+(define error-type #f)
+(define error-info #f)
+(define false #f)
+
+(define (s7-print-length) (*s7* 'print-length))
+(define (s7-max-string-length) (*s7* 'max-string-length))
+(define (s7-max-list-length) (*s7* 'max-list-length))
+(define (s7-max-vector-length) (*s7* 'max-vector-length))
+(define (s7-max-vector-dimensions) (*s7* 'max-vector-dimensions))
+(define (s7-default-hash-table-length) (*s7* 'default-hash-table-length))
+(define (s7-initial-string-port-length) (*s7* 'initial-string-port-length))
+#|
+(define (s7-undefined-identifier-warnings) (*s7* 'undefined-identifier-warnings))
+(define (s7-autoloading?) (*s7* 'autoloading?))
+(define (s7-max-stack-size) (*s7* 'max-stack-size))
+(define (s7-stacktrace-defaults) (*s7* 'stacktrace-defaults))
+(define (s7-gc-stats) (*s7* 'gc-stats))
+
+(define (s7-set-print-length x) 
+  ;(format *stderr* "(~A ~A)~%" 'print-length (object->string x #t 16)) 
+  (set! (*s7* 'print-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'print-length))
+  )
+(define (s7-set-max-string-length x) 
+  ;(format *stderr* "(~A ~A)~%" 'max-string-length (object->string x #t 16)) 
+  (set! (*s7* 'max-string-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'max-string-length))
+  )
+(define (s7-set-max-list-length x) 
+  ;(format *stderr* "(~A ~A)~%" 'max-list-length (object->string x #t 16)) 
+  (set! (*s7* 'max-list-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'max-list-length))
+  )
+(define (s7-set-max-vector-length x)
+  ;(format *stderr* "(~A ~A)~%" 'max-vector-length (object->string x #t 16)) 
+  (set! (*s7* 'max-vector-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'max-vector-length))
+  )
+(define (s7-set-max-vector-dimensions x)
+  ;(format *stderr* "(~A ~A)~%" 'max-vector-dimensions (object->string x #t 16)) 
+  (set! (*s7* 'max-vector-dimensions) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'max-vector-dimensions))
+  )
+(define (s7-set-default-hash-table-length x)
+  ;(format *stderr* "(~A ~A)~%" 'default-hash-table-length (object->string x #t 16)) 
+  (set! (*s7* 'default-hash-table-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'default-hash-table-length))
+  )
+(define (s7-set-initial-string-port-length x)
+  ;(format *stderr* "(~A ~A)~%" 'initial-string-port-length (object->string x #t 16)) 
+  (set! (*s7* 'initial-string-port-length) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'initial-string-port-length))
+  )
+(define (s7-set-undefined-identifier-warnings x)
+  ;(format *stderr* "(~A ~A)~%" 'undefined-identifier-warnings (object->string x #t 16))
+  (set! (*s7* 'undefined-identifier-warnings) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'undefined-identifier-warnings))
+  )
+(define (s7-set-autoloading? x)
+  ;(format *stderr* "(~A ~A)~%" 'autoloading? (object->string x #t 16))
+  (set! (*s7* 'autoloading?) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'autoloading?))
+  )
+(define (s7-set-max-stack-size x)
+  ;(format *stderr* "(~A ~A)~%" 'max-stack-size (object->string x #t 16))
+  (set! (*s7* 'max-stack-size) x)
+  ;(format *stderr* "  -> ~A~%" *s7* 'max-stack-size)
+  )
+(define (s7-set-stacktrace-defaults x) 
+  ;(format *stderr* "(~A ~A)~%" 'stacktrace-defaults (object->string x #t 16))
+  (set! (*s7* 'stacktrace-defaults) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'stacktrace-defaults))
+  )
+(define (s7-set-gc-stats x) 
+  ;(format *stderr* "(~A ~A)~%" 'gc-stats (object->string x #t 16))
+  (set! (*s7* 'gc-stats) x)
+  ;(format *stderr* "  -> ~A~%" *s7* 'gc-stats)
+  )
+(define (s7-set-default-rationalize-error x)
+  ;(format *stderr* "(~A ~A)~%" 'default-rationalize-error (object->string x #t 16)) 
+  (set! (*s7* 'default-rationalize-error) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'default-rationalize-error))
+  )
+
+(define (s7-profile-info) (*s7* 'profile-info))
+(define (s7-catches) (*s7* 'catches))
+(define (s7-exits) (*s7* 'exits))
+(define (s7-c-types) (*s7* 'c-types))
+(define (s7-stack-top) (*s7* 'stack-top))
+(define (s7-stack-size) (*s7* 'stack-size))
+(define (s7-stack) (*s7* 'stack))
+(define (s7-symbol-table) (*s7* 'symbol-table))
+(define (s7-rootlet-size) (*s7* 'rootlet-size))
+(define (s7-heap-size) (*s7* 'heap-size))
+(define (s7-free-heap-size) (*s7* 'free-heap-size))
+(define (s7-gc-freed) (*s7* 'gc-freed))
+(define (s7-gc-protected-objects) (*s7* 'gc-protected-objects))
+(define (s7-memory-usage) (*s7* 'memory-usage))
+|#
+(define (s7-history) (*s7* 'history))
+(define (s7-history-size) (*s7* 'history-size))
+
+(define (s7-set-morally-equal-float-epsilon x)
+  ;(format *stderr* "(~A ~A)~%" 'morally-equal-float-epsilon (object->string x #t 16)) 
+  (set! (*s7* 'morally-equal-float-epsilon) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'morally-equal-float-epsilon))
+  )
+(define (s7-set-hash-table-float-epsilon x)
+  ;(format *stderr* "(~A ~A)~%" 'hash-table-float-epsilon (object->string x #t 16))
+  (set! (*s7* 'hash-table-float-epsilon) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'hash-table-float-epsilon))
+  )
+(define (s7-set-bignum-precision x)
+  ;(format *stderr* "(~A ~A)~%" 'bignum-precision (object->string x #t 16)) 
+  (set! (*s7* 'bignum-precision) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'bignum-precision))
+  )
+(define (s7-set-float-format-precision x)
+  ;(format *stderr* "(~A ~A)~%" 'float-format-precision (object->string x #t 16)) 
+  (set! (*s7* 'float-format-precision) x)
+  ;(format *stderr* "  -> ~A~%" (*s7* 'float-format-precision))
+  )
+
+(define (s7-default-rationalize-error) (*s7* 'default-rationalize-error))
+(define (s7-morally-equal-float-epsilon) (*s7* 'morally-equal-float-epsilon))
+(define (s7-hash-table-float-epsilon) (*s7* 'hash-table-float-epsilon))
+(define (s7-bignum-precision) (*s7* 'bignum-precision))
+(define (s7-float-format-precision) (*s7* 'float-format-precision))
+(define (s7-default-random-state) (*s7* 'default-random-state))
+(define (s7-cpu-time) (*s7* 'cpu-time))
+(define (s7-file-names) (*s7* 'file-names))
+
+(define-macro (_mac_ x) `(+ ,x 1))
+(define-macro* (_mac*_ (x 1)) `(+ ,x 1))
+(define-bacro (_mac_ x) `(+ ,x 1))
+(define-bacro* (_mac*_ (x 1)) `(+ ,x 1))
+(define (_fnc_ x) (+ x 1))
+(define* (_fnc*_ (x 1)) (+ x 1))
+(define (_fnc1_ x) (apply + (list x 1)))
+
+(define (checked-eval code)
+  (and (null? (cyclic-sequences code))
+       (eval code)))
+
+(define (checked-cutlet e . args)
+  (or (eq? e (curlet))
+      (eq? e (rootlet))
+      (null? e)
+      (apply cutlet e args)))
+
+(load "s7test-block.so" (sublet (curlet) (cons 'init_func 'block_init)))
+
+(define-expansion (_dw_ . args)
+  `(dynamic-wind (lambda () #f) (lambda () , at args) (lambda () #f)))
+
+(define-expansion (_dw_string_ . args)
+  `(let ((_port_ #f)
+	 (_old_port_ #f))
+     (dynamic-wind
+	 (lambda ()
+	   (set! _old_port_ (current-input-port))
+	   (set! _port_ (open-input-string "1234"))
+	   (set-current-input-port _port_))
+	 (lambda ()
+	   , at args)
+	 (lambda ()
+	   (close-input-port _port_)
+	   (set-current-input-port _old_port_)))))
+
+(define-expansion (_cw_ . args)
+  `(call-with-exit (lambda (_x_) (_x_ , at args))))
+
+;(define 1- #f)
+;(define 1+ #f)
+(set! (hook-functions *unbound-variable-hook*) ())
+
+(define max-stack (*s7* 'stack-top))
+
+(let ((functions (vector 'not '= '+ 'cdr 'real? 'rational? 'number? '> '- 'integer? 'apply 
+			    'catch 'length 'eq? 'car '< 'assq 'complex? 'vector-ref 
+			  'abs '* 'null? 'imag-part '/ 'vector-set! 'equal? 'magnitude 'real-part 'pair? 'max 'nan? 'string->number 'list
+			  'negative? 'cons 'string-set! 'list-ref 'eqv? 'positive? '>= 'expt 'number->string 'zero? 'floor 'denominator 'integer->char 
+			  'string? 'min '<= 'char->integer 'cos 'rationalize 'cadr 'sin 'char=? 'map 'list-set! 'defined? 'memq 'string-ref 'log 
+			  'for-each 'round 'ceiling 'truncate 'string=? 'atan 'eof-object? 'numerator 'char? 'cosh 'member 'vector 
+			  ;;'read-char 'read-byte 'read-line 'read-string 'read ; stdin=>hangs
+			  'even? 'string-append 'char-upcase 'sqrt 'make-string
+			  'char-alphabetic? 'odd? 'call-with-exit 'tanh 'copy 'sinh 'make-vector
+			  'string 'char-ci=? 'caddr 'tan 'reverse 'cddr 'append 'vector? 'list? 'exp 'acos 'asin 'symbol? 'char-numeric? 'string-ci=? 
+			  'char-downcase 'acosh 'vector-length 'asinh 'format 'make-list 
+			  'sort! 'atanh 'modulo 'make-polar 'gcd 'angle 'remainder 'quotient 'lcm 
+			  'char-whitespace? 'assoc 'procedure? 'char<? 
+			  'inexact->exact 'vector->list 'boolean? 
+			  'caar 'ash 'list-tail 'symbol->string 'string->symbol 'exact->inexact 
+			  'object->string 'char>? 'symbol->value 'cadar 'integer-decode-float 'string-copy 'cdddr 'logand 'cadddr 
+			  'with-input-from-string 'substring 'string->list 'char-upper-case? 
+			  'hash-table-set! 'cddddr 'string<? 'dynamic-wind 'call-with-input-file 'error 
+			  ;;'close-output-port 
+			  'lognot 'cdar 'char-ci>=? 'string>=? 
+			  'dilambda 'string-ci<? 'char<=? 'logior 'char-ci<=? 'assv 
+			  'string>? 'char-ci>? 'char-lower-case? 'string-ci>=? 'string-ci>? 'string<=? 'caadr 'char-ci<? 'reverse! 
+			  'string-ci<=? 'cadadr 'cdadr 'provided? 'caaaar 'caaddr 'caddar 'cdaaar 'cdaadr 'cdaddr 'cddar 'fill!
+			  'hash-table-ref 'list->vector 'caaadr 'caaar 'caadar 'cadaar 'cdadar 'cdddar 'string-fill! 'cdaar 'cddaar 'cddadr 
+			  'keyword? 'memv 'char-ready? 
+			  'symbol->keyword 'logxor 
+			  'exact? 'integer-length 'port-filename 'char>=? 
+			  'string-length 'list->string 'inexact? 
+			  'with-input-from-file 'type-of
+			  'vector-fill! 
+			  'symbol 'peek-char 'make-hash-table 
+			  'close-input-port 'current-error-port 'macro? ;'load
+			  'quasiquote 
+			  'immutable? 'char-position 'string-position
+			  'infinite? 
+			  'vector-dimensions 'get-output-string 'sublet
+			  'string->keyword 'keyword->symbol 
+			  'call-with-input-string 'documentation 
+			  'continuation? 'hash-table? 'port-closed? 
+			  'output-port? 'input-port? 
+			  'provide 'call-with-output-string 'hash-table 
+			  ;;'current-output-port 
+			  'with-output-to-string 
+			  ;;'current-input-port -- too many (read...)
+			  'symbol-setter 'unlet 
+			  's7-version 
+			  'dilambda?
+			  'hook-functions 'make-hook 
+			  'open-input-string 'open-output-string 
+			  'open-input-file 
+			  'define
+			  'newline
+			  'funclet
+			  ;'random 
+			  'random-state 'port-line-number 'gensym
+			  'quote 'if 'begin 'let 'let* 'letrec 'cond 'case 'or 'and 'do 'with-let 'with-baffle 'when 'unless
+			  'lambda 'lambda* 'let-temporarily
+			  'byte-vector-set! 'make-byte-vector 
+			  'write-char 'call/cc 'write-byte 'write-string 
+			  'file-mtime
+			  'letrec*
+			  'write 'display 
+			  'outlet 
+			  'directory->list 
+			  'define* 'define-macro 'define-macro* 'define-bacro 'define-bacro*
+			  'set! 'set-car! ;'set-cdr!
+			  'call-with-output-file 'with-output-to-file 
+			  'cutlet 
+			  ;'set-current-error-port -- too many bogus eq? complaints
+			  ;'stacktrace ; -- with eval-string, causes stack to grow continuously? (length (stacktrace)) 
+			  'signature ; -- circular lists cause infinite loops with (e.g.) for-each??
+			  ;'define-constant 
+			  ;'curlet ; (length (curlet)) too many times
+			  ;'rootlet  ; cyclic-sequences oddness
+ 			  ;'open-output-file
+			  ;'delete-file 'set-current-output-port 
+			  ;'autoload ;-- possibly causes stack growth
+			  ;'varlet ;-- error exits
+			  ;'tree-count 'tree-leaves 'tree-memq 'tree-set-memq ;-- no cycle checks and we have signature creating circular lists
+			  ;'eval ; -- can't use if signature (circular program)
+			  ;'immutable!
+			  ;'procedure-source -- appears to be the culprit when hook body becomes (apply) after optimization
+			  'eval-string 
+			  ;;'owlet ;too many uninteresting diffs
+			  ;'gc
+			  'openlet 
+			  ;'reader-cond -- cond test clause can involve unbound vars: (null? i) for example
+                          'require 'help 
+			  'else '_mac_ '_mac*_ '_bac_ '_bac*_ 
+			  '_fnc_ '_fnc*_ '_fnc1_
+			  'block 'make-block 'block? 'empty
+			  'reactive-let
+
+			  'constant?
+			  'openlet 'multiple-value-bind 'call-with-values
+			  'cond-expand 
+			  '*unbound-variable-hook* '*load-hook* '*rootlet-redefinition-hook* '*missing-close-paren-hook* '*read-error-hook* 
+			  '*autoload*
+			  ;;'*error-hook*
+
+			  'sequence? 'directory? 'hash-table-entries 'hash-table* 'arity 'logbit? 
+			  'random-state? 'throw 'float-vector-set! 'make-iterator 'complex 
+			  'let-ref 'int-vector 'aritable? 'gensym? 'syntax? 'iterator-at-end? 'let? 
+			  'make-shared-vector 'float-vector 'iterator-sequence 'getenv 'float-vector-ref 
+			  'cyclic-sequences 'let->list 'inlet 'setter 'int-vector? 
+			  'int-vector-set! 'dilambda 'c-object? 'proper-list? 'symbol->dynamic-value 'vector-append 
+			  'random-state->list 'pair-filename 'flush-output-port 'c-pointer 'make-float-vector 
+			  'object->let 'pair-line-number 'iterate 'float-vector? 
+			  'apply-values 'values
+			  'byte-vector-ref 'file-exists? 'make-int-vector 'string-downcase 'string-upcase 
+			  'byte-vector 'morally-equal? 'let-set! 'c-pointer? 'int-vector-ref 'coverlet 'float? 
+			  'list-values 'random-state 'byte-vector? 'openlet? 'iterator? 
+			  'string->byte-vector
+
+			  's7-memory-usage
+#|
+			  ;'s7-print-length 's7-max-string-length 's7-max-list-length 's7-max-vector-length 's7-max-vector-dimensions 's7-default-hash-table-length
+			  ;'s7-initial-string-port-length 's7-history-size 
+			  's7-profile-info 
+			  's7-undefined-identifier-warnings 
+                          ;'s7-autoloading? 
+			  's7-history
+			  's7-catches 's7-exits 's7-c-types 
+			  's7-stack-top 's7-stack 's7-stacktrace-defaults 
+			  's7-symbol-table 
+			  's7-gc-protected-objects
+			  ;'s7-rootlet-size 's7-heap-size 's7-free-heap-size 's7-gc-freed 's7-stack-size 's7-max-stack-size 
+			  ;'s7-gc-stats
+			  
+
+			  's7-set-print-length 
+			  's7-set-max-string-length 
+			  's7-set-max-list-length 
+			  's7-set-max-vector-length 
+			  's7-set-max-vector-dimensions
+			  's7-set-default-hash-table-length
+			  's7-set-initial-string-port-length
+			  's7-set-undefined-identifier-warnings 's7-set-autoloading? 's7-set-max-stack-size
+			  's7-set-stacktrace-defaults
+			  's7-set-gc-stats
+|#
+			  ;;'s7-history -- causes stack to grow?
+			  's7-print-length 's7-max-string-length 's7-max-list-length 's7-max-vector-length 's7-max-vector-dimensions 's7-default-hash-table-length
+			  's7-initial-string-port-length 's7-history-size
+			  's7-default-rationalize-error 's7-morally-equal-float-epsilon
+			  's7-hash-table-float-epsilon 's7-bignum-precision 
+			  ;;'s7-float-format-precision 
+			  's7-default-random-state 
+			  ;'s7-cpu-time
+			  's7-file-names
+			  's7-autoloading?
+			  's7-rootlet-size 's7-heap-size 's7-free-heap-size 's7-gc-freed 's7-stack-size 's7-max-stack-size 's7-gc-stats
+
+			  ;;'s7-set-default-rationalize-error
+			  ;;'s7-set-morally-equal-float-epsilon 
+			  ;;'s7-set-hash-table-float-epsilon 
+			  ;;'s7-set-bignum-precision 
+			  ;;'s7-set-float-format-precision
+
+			  'macroexpand 'block-reverse! 'subblock 'local-symbol? 'unquote 'unspecified? 'block-append 'undefined? 
+
+			  ;'subsequence 
+			  'empty? 'indexable? 'first 'cdr* 
+			  ;'copy-tree ; cycles cause stack overflow
+			  'adjoin 'cdr-assoc
+			  'progv ;'value->symbol -- correctly different values sometimes
+			  'and-let* 'string-case 'hash-table->alist 'concatenate
+			  'union '2^n? 'lognor 'ldb 'clamp 
+			  'sequence->string 
+			  ;'*s7*->list ; reverse! etc 
+			  'log-n-of ; stack grows if n < 0?
+
+			  ))
+	 
+      (args (vector "-123" "1234" "-3/4" "-1" "(expt 2 32)" "4294967297" "(+ a 1)" "(- a 1)" "(logand (ash 1 b) a)"
+		    "(make-block 2)" "(block 1.0 2.0 3.0)" "(block)"
+		    "\"ho\"" ":ho" "'ho" "':go" "(list 1)" "(list 1 2)" "(cons 1 2)" "'()" "(list (list 1 2))" "(list (list 1))" "(list ())" "=>" 
+		    "#f" "#t" "()" "#()" "\"\"" "'#()" ":readable" ":rest" ":allow-other-keys" ":a" ;"__func__"
+		    ;;"1/0+i" "0+0/0i" "0+1/0i" "1+0/0i" "0/0+0/0i" "0/0+i" 
+		    "cons" "''2" 
+		    "(make-hook)" "(make-hook '__x__)"
+		    "1+i" "0+i" 
+		    "(integer->char 255)" "(string (integer->char 255))" 
+		    ;;"most-positive-fixnum" "most-negative-fixnum"
+		    "pi" "nan.0" "inf.0"
+		    "(list)" "(string)" "#r()" "#u8()" "(vector)" "#i()" "(make-iterator #(1 2))" "#i(1)"
+		    "0" "1" "1.0" "-1.0" "1.0+123.0i" "3/4" "(make-vector 3)" "(make-string 3)" "(make-vector '(2 3))"
+		    "'((1 2) (3 4))" "'((1 (2)) (((3) 4)))" "(byte-vector 255)" 
+		    "#(1 2)" "(vector 1 '(3))" "(let ((x 3)) (lambda (y) (+ x y)))" "abs" "(lambda sym-args sym-args)" "#u8(0 1)"
+		    "(dilambda (lambda () 1) (lambda (a) a))" "quasiquote" "macroexpand" "(lambda* ((a 1) (b 2)) (+ a b))" 
+		    "((lambda (a) (+ a 1)) 2)" "((lambda* ((a 1)) (+ a 1)) 1)" "(lambda (a) (values a (+ a 1)))" "((lambda (a) (values a (+ a 1))) 2)"
+		    "(define-macro (_m1_ a) `(+ ,a 1))"
+		    "(string #\\c #\\null #\\b)" "#2d((1 2) (3 4))" "#r(0 1)" "#i2d((1 2) (3 4))" "#r2d((.1 .2) (.3 .4))" "#i1d(1 2)"
+		    "(values 1 2)" "(values)" "(values #\\c 3 1.2)" "(values \"ho\")"
+		    "`(x)" "`(+ x 1)" "`(x 1)" "`((x))" "`((+ x 1))" "`(((+ x 1)))" "`((set! x (+ x 1)) (* x 2))" "`((x 1))" "`(((x 1))) "
+		    "`(x . 1)" "`((x . 1))" "`(1)" "`((1))" "`((1) . x)" "`(x 1)" "'(- 1)" "(+ i 1)"
+		    ;;"'((X . 1) . 2)" "'((x 1) . 2)" "'((x 1) (y . 2))" "'((x 1) y . 2)" "'((x 1) (y) . 2)" "'((x 1 . 2) . 3)" "'((x 1) 2)" "'(((x 1) 2) 3)" 
+		    "'(())" "'((()))" "(random-state 1234)" 
+		    "(c-pointer 0 'integer?)" "(c-pointer -1)" "(c-pointer 1234)"
+		    "'(1 2 . 3)" " . "
+		    "((i 0 (+ i 1)))" "(null? i)" "(= i 2)" "(zero? i)" "((null? i) i)" "(#t ())" 
+		    "(x => y)" "((0 1) ())" "(- i 1)" "(if x y)" "(A (f x) B)" 
+		    "(begin (f x) B)" 
+		    "(f x) i" "x y z" "1 2" "`(+ ,a , at b)" "`(+ ,a ,b)" "`(+ ,a ,b , at c)" "`(+ ,a b , at c ',d)"
+		    "_definee_" ;; "(_definee_ wxyz)"
+		    "(inlet 'integer? (lambda (f) #f))" "(inlet 'a 1)" "(openlet (inlet 'abs (lambda (x) (- x))))" 
+		    "(hash-table* 'a 1)" "(hash-table)" 
+		    "(make-iterator (list 1 2 3))" "(make-iterator (vector 1 2 3))" "(make-iterator (string #\\1))" "(make-iterator x)" 
+		    "#<eof>" "#<undefined>" "#<unspecified>" 
+		    "#o123" "#b101" "#\\newline" "#_cons" "#x123.123"
+		    
+		    "(call-with-exit (lambda (goto) goto))"
+		    "(with-baffle (call/cc (lambda (cc) cc)))"
+		    ;;"(symbol->string (gensym))"
+		    "(setter _definee_)" "(setter x)" "(setter car)"
+		    "(call-with-exit (lambda (return) (let ((x 1) (y 2)) (return x y))))"
+		    "(call/cc (lambda (return) (let ((x 1) (y 2)) (return x y))))"
+		    "(let ((x 1)) (dynamic-wind (lambda () (set! x 2)) (lambda () (+ x 1)) (lambda () (set! x 1))))"
+		    ;;"(apply inlet (gensym) 1/0 ())"
+
+		    "1+1e10i" "1e15+1e15i" 
+		    "0+1e18i" "1e18" 
+		    ;;"(else ())" 
+		    ;;"(else)"
+		    ;;"(else (f x) B)"
+		    "else" "x" "(+ x 1)" "(+ 1/2 x)" "(abs x)" "(+ x 1 2+i)" "(* 2 x 3.0 4)" "((x 1234))" "((x 1234) (y 1/2))" "'x" "(x 1)"
+		    "if" "begin" "cond" "case" "when" "unless"
+		    "letrec" "letrec*" "or" "and" 
+		    "let-temporarily"
+		    ;;"+signature+" "+documentation+" "+setter+"
+		    "~S~%" "~A~D~X" "~{~A~^~}~%" "~NC~&"
+		    
+		    "quote" "'"
+		    "lambda*" "lambda"
+		    ; "let" "let*" "do" "set!" "with-let" "define" "define*" "define-macro" "define-macro*" "define-bacro" "define-bacro*"
+		    ))
+
+      (codes (vector (list "(do ((i 0 (+ i 1))) ((= i 1) x) (set! x " "(let ((i 0)) (set! x ")
+		     (list "(let () (let () " "((lambda () ")
+		     (list "((lambda x " "((lambda* ((x ())) ")
+		     (list "((lambda* ((x 1)) " "(let* ((_aaa_ 1) (x _aaa_)) (begin ")
+		     (list "(cond (else " "(case x (else ")
+		     (list "(case false ((#f) " "(case false ((1) #t) (else ")
+		     (list "(call-with-exit (lambda (_x_) " "(call/cc (lambda (_x_) ")
+		     (list "(if (not x) (begin " "(if x #<unspecified> (begin ")
+		     (list "(cond ((not false) " "(unless false (begin ")
+		     (list "(list (let-temporarily ((x 1)) " "(list (let ((x 1)) ")
+		     (list "(begin (_dw_ " "((lambda () ")
+		     (list "(begin (vector " "(apply vector (list ")
+		     (list "(begin (with-let (inlet 'i 0) " "(with-let (inlet) (let ((i 0)) ")
+		     (list "(list (_cw_ " "(list (values ")
+		     (list "(set! __var1__ (list " "(list (let () ")
+		     (list "(do () ((not false) " "(begin (when (not false) ")
+		     (list "((define-macro () " "((define-bacro () ")
+		     (list "(begin (let ((max 1) (min 3)) " "((lambda* ((max 1) (min 3)) ")
+		     (list "(list (letrec ((x 1)) " "(list (letrec* ((x 1)) ")
+		     (reader-cond ((not (provided? 'pure-s7)) (list "(with-input-from-string \"1234\" (lambda () " "(begin (_dw_string_ ")))
+		     ))
+      
+      (chars (vector #\( #\( #\space #\space))) ; #\/ #\# #\, #\` #\@ #\. #\:))  ; #\\ #\> #\space))
+  (let ((clen (length chars))
+	(flen (length functions))
+	(alen (length args))
+	(codes-len (length codes))
+	)
+    
+    (for-each (lambda (x) (if (not (symbol? x)) (format *stderr* "~A " x))) functions)
+    (for-each (lambda (x) (if (not (string? x)) (format *stderr* "~A " x))) args)
+    ;; (let ((st (symbol-table))) (for-each (lambda (x) (if (not (memq x functions)) (format *stderr* "~A " x))) st))
+    
+    (define (fix-op op)
+      (case op
+	((set!) "set! __var__")
+	;((set-cdr!) "set-cdr! __var2__")
+	((let) "let ()")
+	((let*) "let* ()")
+	((do) "do ((i 0 (+ i 1))) ((= i 1) 1)")
+	((call-with-output-file) "call-with-output-file \"/dev/null\" ")
+	((with-output-to-file) "with-output-to-file \"/dev/null\" ")
+	((newline) "newline #f")
+	((define define* define-macro define-macro* define-bacro define-bacro*)
+	 (format #f "~A _definee_ 0" op))
+	;(format #f "~A _definee_ (_its_arg_)" op))
+	((format) "format #t ")
+	((eval) "checked-eval")
+	((cutlet) "checked-cutlet")
+	(else (symbol->string op))))
+
+
+    (define (make-expr size)
+      (let ((parens 1)
+	    (dqs 0)
+	    (j 1)
+	    (str (make-string 2048)))
+	(fill! str #\space)
+	(set! (str 0) #\()
+	(let ((op (functions (random flen))))
+	  (let ((opstr (fix-op op)))
+	    (let ((oplen (length opstr)))
+	      (do ((n 0 (+ n 1))
+		   (k j (+ k 1)))
+		  ((= n oplen) 
+		   (set! j k))
+		(string-set! str k (string-ref opstr n))))))
+		
+	(set! (str j) #\space)
+	(set! j (+ j 1))
+	
+	(do ((k 1 (+ k 1)))
+	    ((= k size))
+	  
+	  (set! (str j) (chars (random clen)))
+	  (if (= dqs 1)
+	      (if (and (char=? (str j) #\")
+		       (or (= j 0)
+			   (not (char=? (str (- j 1)) #\\))))
+		  (set! dqs 0))
+	      
+	      ;; else not in a string
+	      (if (char=? (str j) #\()
+		  (begin
+		    (set! parens (+ parens 1))
+		    
+		    (let ((op (functions (random flen))))
+		      (let ((opstr (fix-op op)))
+			(let ((oplen (length opstr)))
+			  (do ((n 0 (+ n 1))
+			       (k (+ j 1) (+ k 1)))
+			      ((= n oplen) 
+			       (set! j k))
+			    (string-set! str k (string-ref opstr n))))))
+		    
+		    (set! j (+ j 1))
+		    (set! (str j) #\space))
+		  
+		  (if (char=? (str j) #\))
+		      (begin
+			(set! parens (- parens 1))
+			(if (negative? parens)
+			    (begin
+			      (set! (str j) #\space)
+			      (set! parens 0))))
+		      
+		      (if (char=? (str j) #\space)
+			  (let ((nargs (+ 0 (random 5))))
+			    (do ((n 0 (+ n 1)))
+				((= n nargs))
+			      (let ((argstr (args (random alen))))
+				(let ((arglen (length argstr)))
+				  (do ((n 0 (+ n 1))
+				       (k (+ j 1) (+ k 1)))
+				      ((= n arglen)
+				       (set! j k))
+				    (string-set! str k (string-ref argstr n)))))
+			      
+			      (set! j (+ j 1))
+			      (set! (str j) #\space)))
+			  
+			  (if (char=? (str j) #\")
+			      (set! dqs 1))))))
+	  
+	  (set! j (+ j 1)))
+	
+	(if (= dqs 1)
+	    (begin
+	      (set! (str j) #\")
+	      (set! j (+ j 1))))
+	
+	(if (> parens 0)
+	    (do ((k parens (- k 1))
+		 (n j (+ n 1)))
+		((= k 0)
+		 (set! j n))
+	      (string-set! str n #\))))
+	
+	;(format #t "~A~%" (substring str 0 j))
+	(substring str 0 j)))
+
+    (define (eval-it str) ;(format #t "~A~%" str)
+      (catch #t 
+	(lambda ()
+	  ((lambda* args (car args)) (eval-string str)))
+	(lambda (type info)
+	  (set! error-type type)
+	  (set! error-info info)
+          'error)))
+
+    (define (try-both str)
+      ;(format *stderr* "~S~%" str)
+      (set! ostr str)
+
+      (catch #t 
+	(lambda () 
+	  (s7-optimize (list (catch #t 
+			       (lambda ()
+				 (with-input-from-string str read))
+			       (lambda args ())))))
+	(lambda arg 'error))
+
+      (let* ((outer (codes (random codes-len)))
+	     (str1 (string-append "(let ((x #f) (i 0)) " (car outer) str ")))"))
+	     (str2 (string-append "(let () (define (func) " str1 ") (define (hi) (func)) (hi))"))
+	     (str3 (string-append "(let ((x #f) (i 0)) " (cadr outer) str ")))"))
+	     (str4 (string-append "(let () (define (func) " str3 ") (define (hi) (func)) (hi))")))
+	(let ((val1 (eval-it str1))
+	      (val2 (eval-it str2))
+	      (val3 (eval-it str3))
+	      (val4 (eval-it str4)))
+	  (unless (and (eq? (type-of val1) (type-of val2))
+		       (eq? (type-of val1) (type-of val3))
+		       (eq? (type-of val1) (type-of val4)))
+	    (format *stderr* "~%~S~%~S~%~S~%~S~%    ~S~%    ~S~%    ~S~%    ~S~%" str1 str2 str3 str4 val1 val2 val3 val4)
+	    (if (or (eq? val1 'error)
+		    (eq? val2 'error)
+		    (eq? val3 'error)
+		    (eq? val4 'error))
+		(format *stderr* "    ~S ~S~%" error-type error-info))
+	    (format *stderr* "~%")))))
+
+    (define (test-it)
+      (do ((m 0 (+ m 1)))
+	  ((= m 100000000) 
+	   (format *stderr* "reached end of loop??~%"))
+	
+	(when (zero? (modulo m 100000))
+	  (set! m 0)
+	  (format *stderr* "."))
+	
+	(catch #t
+	  (lambda ()
+	    (try-both (make-expr (+ 1 (random 6))))) ; min 1 here not 0
+	  (lambda (type info)
+	    (format *stderr* "~A: ~A ~A ~A~%" type (apply format #f info) ostr (owlet))))))
+
+    (test-it)))
diff --git a/tools/compsnd b/tools/compsnd
index 60b7728..357e640 100755
--- a/tools/compsnd
+++ b/tools/compsnd
@@ -290,6 +290,10 @@ echo ' -------------------------------------------------------------------------
 make
 ./snd --version
 ./snd -noinit --features "'clm 'snd-forth 'snd-motif"
+
+make clmclean
+make sndinfo
+make sndplay
 make allclean
 
 echo ' '
@@ -478,6 +482,10 @@ echo ' '
 echo ' '
 ./snd --version
 ./snd -noinit --features ":clm, :snd_ruby, :snd_motif"
+
+make clmclean
+make sndinfo
+make sndplay
 make allclean
 
 echo ' -------------------------------------------------------------------------------- '
diff --git a/tools/gdbinit b/tools/gdbinit
index 44a5285..5626ff6 100644
--- a/tools/gdbinit
+++ b/tools/gdbinit
@@ -11,6 +11,7 @@ end
 # so for example, to see the current local variables, s7p sc->envir
 # source ~/.gdbinit reloads
 
+# set print elements 123123 in gdb to get full string
 
 define s7eval
 print s7_object_to_c_string(cur_sc, s7_eval_c_string(cur_sc, $arg0))
@@ -54,7 +55,7 @@ set logging off
 print s7_decode_bt()
 end
 document s7bt
-print a backtrace with s7 objects decoded as much as possible
+print a C backtrace with s7 objects decoded as much as possible
 end
 
 define s7btfull
@@ -66,7 +67,7 @@ set logging off
 print s7_decode_bt()
 end
 document s7btfull
-print a full backtrace with s7 objects decoded as much as possible
+print a full C backtrace with s7 objects decoded as much as possible
 end
 
 
diff --git a/tools/gtk-header-diffs b/tools/gtk-header-diffs
index 29aab4e..c438ff3 100755
--- a/tools/gtk-header-diffs
+++ b/tools/gtk-header-diffs
@@ -1,7 +1,7 @@
 #!/bin/csh -f
 
-set gtkolddir = /home/bil/test/gtk+-3.91.2
-set gtknewdir = /home/bil/test/gtk+-3.92.1
+set gtkolddir = /home/bil/test/gtk+-3.92.1
+set gtknewdir = /home/bil/test/gtk+-3.93.0
 # set pangoolddir = /home/bil/test/pango-1.36.8
 # set pangonewdir = /home/bil/test/pango-1.40.2
 # set glibolddir = /home/bil/test/glib-2.39.3
diff --git a/tools/makexg.scm b/tools/makexg.scm
index bfc56b8..a2b34cc 100755
--- a/tools/makexg.scm
+++ b/tools/makexg.scm
@@ -103,7 +103,7 @@
 	"GtkDestroyNotify"
 	
 	"GtkAssistant*" "GtkRecentChooser*" "GtkRecentChooserMenu*"
-	"GtkTextBufferSerializeFunc" "GtkTextBufferDeserializeFunc" 
+	;"GtkTextBufferSerializeFunc" "GtkTextBufferDeserializeFunc" 
 	"GtkRecentData*" "GtkNotebookWindowCreationFunc"
 	
 	"GtkUnit" "GtkPageSetupDoneFunc"
@@ -623,6 +623,8 @@
 	(cons "GtkPrintQuality" "INT")
 
 	(cons "GtkEventControllerScrollFlags" "INT")
+	(cons "GdkDeviceType" "INT")
+	(cons "GtkIconSize" "INT")
 	))
 
 (define (c-to-xen-macro-name type str)
@@ -1398,7 +1400,6 @@
 (hey " *    (xg-version): date string.~%")
 (hey " *    (c-array->list arr len) derefs each member of arr, returning lisp list, len=#f: null terminated array~%")
 (hey " *    (list->c-array lst ctype) packages each member of list as c-type \"type\" returning (wrapped) c array~%")
-(hey " *    (make-target-entry lst) returns a GtkTargetEntry table, each member of 'lst' should be (list target flags info)~%")
 (hey " *    (GtkTextIter): GtkTextIter struct~%")
 (hey " *    (GtkTreeIter): GtkTreeIter struct~%")
 (hey " *    (PangoRectangle): PangoRectangle struct~%")
@@ -2879,26 +2880,6 @@
 (hey "}~%")
 (hoy "#endif~%~%")
 
-(hey "static Xen gxg_make_target_entry(Xen lst)~%")
-(hey "{~%")
-(hey "  GtkTargetEntry* targets;~%")
-(hey "  int i, len;~%")
-(hey "  #define H_make_target_entry \"(make-target-entry lst): GtkTargetEntry*, each member of 'lst' should be (list target flags info)\"~%")
-(hey "  Xen_check_type(Xen_is_list(lst), lst, 1, \"make-target-entry\", \"a list of lists describing each target\");~%")
-(hey "  len = Xen_list_length(lst);~%")
-(hey "  if (len == 0) return(Xen_false);~%")
-(hey "  targets = (GtkTargetEntry *)calloc(len, sizeof(GtkTargetEntry));~%")
-(hey "  for (i = 0; i < len; i++)~%")
-(hey "    {~%")
-(hey "      Xen val;~%")
-(hey "      val = Xen_list_ref(lst, i);~%")
-(hey "      targets[i].target = xen_strdup(Xen_string_to_C_string(Xen_list_ref(val, 0)));~%")
-(hey "      targets[i].flags = (guint)Xen_ulong_to_C_ulong(Xen_list_ref(val, 1));~%")
-(hey "      targets[i].info = (guint)Xen_ulong_to_C_ulong(Xen_list_ref(val, 2));~%")
-(hey "    }~%")
-(hey "  return(C_to_Xen_GtkTargetEntry_(targets));~%")
-(hey "}~%")
-
 (define (array->list type)
   (hey "  if (ctype == xg_~A_symbol)~%" (no-stars type))
   (hey "    {~%")
@@ -3254,7 +3235,6 @@
 (hey "Xen_wrap_1_arg(gxg_GPOINTER_w, gxg_GPOINTER)~%")
 (hey "Xen_wrap_2_args(c_array_to_xen_list_w, c_array_to_xen_list)~%")
 (hey "Xen_wrap_2_args(xen_list_to_c_array_w, xen_list_to_c_array)~%")
-(hey "Xen_wrap_1_arg(gxg_make_target_entry_w, gxg_make_target_entry)~%")
 (hey "Xen_wrap_3_args(xg_object_get_w, xg_object_get)~%")
 (hey "Xen_wrap_3_args(xg_object_set_w, xg_object_set)~%")
 (hey "Xen_wrap_1_arg(xg_gtk_event_keyval_w, xg_gtk_event_keyval)~%")
@@ -3510,7 +3490,6 @@
 
 (hey "  Xg_define_procedure(c-array->list, c_array_to_xen_list_w, 2, 0, 0, NULL, NULL);~%")
 (hey "  Xg_define_procedure(list->c-array, xen_list_to_c_array_w, 2, 0, 0, NULL, NULL);~%")
-(hey "  Xg_define_procedure(make-target-entry, gxg_make_target_entry_w, 1, 0, 0, H_make_target_entry, NULL);~%")
 (hey "  Xg_define_procedure(g_object_get, xg_object_get_w, 3, 0, 0, NULL, NULL);~%")
 (hey "  Xg_define_procedure(g_object_set, xg_object_set_w, 3, 0, 0, NULL, NULL);~%")
 (hey "  Xg_define_procedure(gtk_event_keyval, xg_gtk_event_keyval_w, 1, 0, 0, NULL, NULL);~%")
diff --git a/tools/xgdata.scm b/tools/xgdata.scm
index f8750d7..c4c1e96 100644
--- a/tools/xgdata.scm
+++ b/tools/xgdata.scm
@@ -153,89 +153,89 @@
 ;;; (CFNC-gtk2 "guint gdk_color_hash GdkColor* colora")
 ;;; (CFNC-gtk2 "gboolean gdk_color_equal GdkColor* colora GdkColor* colorb")
 ;;;;(CFNC "GType gdk_color_get_type void")
-(CINT "GDK_X_CURSOR" "GdkCursorType")
-(CINT "GDK_ARROW" "GdkCursorType")
-(CINT "GDK_BASED_ARROW_DOWN" "GdkCursorType")
-(CINT "GDK_BASED_ARROW_UP" "GdkCursorType")
-(CINT "GDK_BOAT" "GdkCursorType")
-(CINT "GDK_BOGOSITY" "GdkCursorType")
-(CINT "GDK_BOTTOM_LEFT_CORNER" "GdkCursorType")
-(CINT "GDK_BOTTOM_RIGHT_CORNER" "GdkCursorType")
-(CINT "GDK_BOTTOM_SIDE" "GdkCursorType")
-(CINT "GDK_BOTTOM_TEE" "GdkCursorType")
-(CINT "GDK_BOX_SPIRAL" "GdkCursorType")
-(CINT "GDK_CENTER_PTR" "GdkCursorType")
-(CINT "GDK_CIRCLE" "GdkCursorType")
-(CINT "GDK_CLOCK" "GdkCursorType")
-(CINT "GDK_COFFEE_MUG" "GdkCursorType")
-(CINT "GDK_CROSS" "GdkCursorType")
-(CINT "GDK_CROSS_REVERSE" "GdkCursorType")
-(CINT "GDK_CROSSHAIR" "GdkCursorType")
-(CINT "GDK_DIAMOND_CROSS" "GdkCursorType")
-(CINT "GDK_DOT" "GdkCursorType")
-(CINT "GDK_DOTBOX" "GdkCursorType")
-(CINT "GDK_DOUBLE_ARROW" "GdkCursorType")
-(CINT "GDK_DRAFT_LARGE" "GdkCursorType")
-(CINT "GDK_DRAFT_SMALL" "GdkCursorType")
-(CINT "GDK_DRAPED_BOX" "GdkCursorType")
-(CINT "GDK_EXCHANGE" "GdkCursorType")
-(CINT "GDK_FLEUR" "GdkCursorType")
-(CINT "GDK_GOBBLER" "GdkCursorType")
-(CINT "GDK_GUMBY" "GdkCursorType")
-(CINT "GDK_HAND1" "GdkCursorType")
-(CINT "GDK_HAND2" "GdkCursorType")
-(CINT "GDK_HEART" "GdkCursorType")
-(CINT "GDK_ICON" "GdkCursorType")
-(CINT "GDK_IRON_CROSS" "GdkCursorType")
-(CINT "GDK_LEFT_PTR" "GdkCursorType")
-(CINT "GDK_LEFT_SIDE" "GdkCursorType")
-(CINT "GDK_LEFT_TEE" "GdkCursorType")
-(CINT "GDK_LEFTBUTTON" "GdkCursorType")
-(CINT "GDK_LL_ANGLE" "GdkCursorType")
-(CINT "GDK_LR_ANGLE" "GdkCursorType")
-(CINT "GDK_MAN" "GdkCursorType")
-(CINT "GDK_MIDDLEBUTTON" "GdkCursorType")
-(CINT "GDK_MOUSE" "GdkCursorType")
-(CINT "GDK_PENCIL" "GdkCursorType")
-(CINT "GDK_PIRATE" "GdkCursorType")
-(CINT "GDK_PLUS" "GdkCursorType")
-(CINT "GDK_QUESTION_ARROW" "GdkCursorType")
-(CINT "GDK_RIGHT_PTR" "GdkCursorType")
-(CINT "GDK_RIGHT_SIDE" "GdkCursorType")
-(CINT "GDK_RIGHT_TEE" "GdkCursorType")
-(CINT "GDK_RIGHTBUTTON" "GdkCursorType")
-(CINT "GDK_RTL_LOGO" "GdkCursorType")
-(CINT "GDK_SAILBOAT" "GdkCursorType")
-(CINT "GDK_SB_DOWN_ARROW" "GdkCursorType")
-(CINT "GDK_SB_H_DOUBLE_ARROW" "GdkCursorType")
-(CINT "GDK_SB_LEFT_ARROW" "GdkCursorType")
-(CINT "GDK_SB_RIGHT_ARROW" "GdkCursorType")
-(CINT "GDK_SB_UP_ARROW" "GdkCursorType")
-(CINT "GDK_SB_V_DOUBLE_ARROW" "GdkCursorType")
-(CINT "GDK_SHUTTLE" "GdkCursorType")
-(CINT "GDK_SIZING" "GdkCursorType")
-(CINT "GDK_SPIDER" "GdkCursorType")
-(CINT "GDK_SPRAYCAN" "GdkCursorType")
-(CINT "GDK_STAR" "GdkCursorType")
-(CINT "GDK_TARGET" "GdkCursorType")
-(CINT "GDK_TCROSS" "GdkCursorType")
-(CINT "GDK_TOP_LEFT_ARROW" "GdkCursorType")
-(CINT "GDK_TOP_LEFT_CORNER" "GdkCursorType")
-(CINT "GDK_TOP_RIGHT_CORNER" "GdkCursorType")
-(CINT "GDK_TOP_SIDE" "GdkCursorType")
-(CINT "GDK_TOP_TEE" "GdkCursorType")
-(CINT "GDK_TREK" "GdkCursorType")
-(CINT "GDK_UL_ANGLE" "GdkCursorType")
-(CINT "GDK_UMBRELLA" "GdkCursorType")
-(CINT "GDK_UR_ANGLE" "GdkCursorType")
-(CINT "GDK_WATCH" "GdkCursorType")
-(CINT "GDK_XTERM" "GdkCursorType")
-(CINT "GDK_LAST_CURSOR " "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_X_CURSOR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BASED_ARROW_DOWN" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BASED_ARROW_UP" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOAT" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOGOSITY" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOTTOM_LEFT_CORNER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOTTOM_RIGHT_CORNER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOTTOM_SIDE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOTTOM_TEE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_BOX_SPIRAL" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CENTER_PTR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CIRCLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CLOCK" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_COFFEE_MUG" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CROSS" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CROSS_REVERSE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_CROSSHAIR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DIAMOND_CROSS" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DOT" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DOTBOX" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DOUBLE_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DRAFT_LARGE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DRAFT_SMALL" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_DRAPED_BOX" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_EXCHANGE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_FLEUR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_GOBBLER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_GUMBY" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_HAND1" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_HAND2" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_HEART" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_ICON" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_IRON_CROSS" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LEFT_PTR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LEFT_SIDE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LEFT_TEE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LEFTBUTTON" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LL_ANGLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LR_ANGLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_MAN" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_MIDDLEBUTTON" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_MOUSE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_PENCIL" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_PIRATE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_PLUS" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_QUESTION_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_RIGHT_PTR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_RIGHT_SIDE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_RIGHT_TEE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_RIGHTBUTTON" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_RTL_LOGO" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SAILBOAT" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_DOWN_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_H_DOUBLE_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_LEFT_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_RIGHT_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_UP_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SB_V_DOUBLE_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SHUTTLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SIZING" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SPIDER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_SPRAYCAN" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_STAR" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TARGET" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TCROSS" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TOP_LEFT_ARROW" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TOP_LEFT_CORNER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TOP_RIGHT_CORNER" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TOP_SIDE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TOP_TEE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_TREK" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_UL_ANGLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_UMBRELLA" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_UR_ANGLE" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_WATCH" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_XTERM" "GdkCursorType")
+;;; 3.93.0 (CINT "GDK_LAST_CURSOR " "GdkCursorType")
 ;;; 2.91.0 (CINT "GDK_CURSOR_IS_PIXMAP" "GdkCursorType")
 
 ;;; these were missed at some point:
-(CFNC "GdkCursor* gdk_cursor_new_for_display GdkDisplay* display GdkCursorType cursor_type")
-(CFNC "GdkDisplay* gdk_cursor_get_display GdkCursor* cursor")
+;;; 3.93.0 (CFNC "GdkCursor* gdk_cursor_new_for_display GdkDisplay* display GdkCursorType cursor_type")
+;;; 3.93.0 (CFNC "GdkDisplay* gdk_cursor_get_display GdkCursor* cursor")
 
 ;;;;(CFNC "GType gdk_cursor_get_type void")
 ;;; 3.15.2 (CFNC "GdkCursor* gdk_cursor_new GdkCursorType cursor_type")
@@ -263,14 +263,14 @@
 (CFNC "void gdk_drag_status GdkDragContext* context GdkDragAction action guint32 time")
 (CFNC "void gdk_drop_reply GdkDragContext* context gboolean ok guint32 time")
 (CFNC "void gdk_drop_finish GdkDragContext* context gboolean success guint32 time")
-(CFNC "GdkAtom gdk_drag_get_selection GdkDragContext* context")
-(CFNC "GdkDragContext* gdk_drag_begin GdkWindow* window GList* targets")
+;;; 3.93.0 (CFNC "GdkAtom gdk_drag_get_selection GdkDragContext* context")
+;;; 3.93.0 (CFNC "GdkDragContext* gdk_drag_begin GdkWindow* window GList* targets")
 ;;; (CFNC-gtk2 "GdkDragContext* gdk_drag_context_new void")
 ;;; (CFNC-gtk2 "guint32 gdk_drag_get_protocol guint32 xid GdkDragProtocol* [protocol]")
 ;;; (CFNC-gtk2 "void gdk_drag_find_window GdkDragContext* context GdkWindow* drag_window gint x_root gint y_root GdkWindow** [dest_window] GdkDragProtocol* [protocol]")
 ;;; (CFNC-gtk2 "gboolean gdk_drag_motion GdkDragContext* context GdkWindow* dest_window GdkDragProtocol protocol gint x_root gint y_root GdkDragAction suggested_action GdkDragAction possible_actions guint32 time")
-(CFNC "void gdk_drag_drop GdkDragContext* context guint32 time")
-(CFNC "void gdk_drag_abort GdkDragContext* context guint32 time")
+;;; 3.93.0 (CFNC "void gdk_drag_drop GdkDragContext* context guint32 time")
+;;; 3.93.0 (CFNC "void gdk_drag_abort GdkDragContext* context guint32 time")
 ;;; (CCAST-gtk2 "GDK_DRAWABLE(object)" "GdkDrawable*")
 ;;; (CCHK-gtk2 "GDK_IS_DRAWABLE(object)" "GdkDrawable*")
 
@@ -371,25 +371,25 @@
 (CINT "GDK_CONFIGURE" "GdkEventType")
 (CINT "GDK_MAP" "GdkEventType")
 (CINT "GDK_UNMAP" "GdkEventType")
-(CINT "GDK_PROPERTY_NOTIFY" "GdkEventType")
-(CINT "GDK_SELECTION_CLEAR" "GdkEventType")
-(CINT "GDK_SELECTION_REQUEST" "GdkEventType")
-(CINT "GDK_SELECTION_NOTIFY" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_PROPERTY_NOTIFY" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_SELECTION_CLEAR" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_SELECTION_REQUEST" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_SELECTION_NOTIFY" "GdkEventType")
 (CINT "GDK_PROXIMITY_IN" "GdkEventType")
 (CINT "GDK_PROXIMITY_OUT" "GdkEventType")
 (CINT "GDK_DRAG_ENTER" "GdkEventType")
 (CINT "GDK_DRAG_LEAVE" "GdkEventType")
 (CINT "GDK_DRAG_MOTION" "GdkEventType")
-(CINT "GDK_DRAG_STATUS" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_DRAG_STATUS" "GdkEventType")
 (CINT "GDK_DROP_START" "GdkEventType")
-(CINT "GDK_DROP_FINISHED" "GdkEventType")
-(CINT "GDK_CLIENT_EVENT" "GdkEventType")
-(CINT "GDK_VISIBILITY_NOTIFY" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_DROP_FINISHED" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_CLIENT_EVENT" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_VISIBILITY_NOTIFY" "GdkEventType")
 ;;; (CINT-gtk2 "GDK_NO_EXPOSE" "GdkEventType")
 (CINT "GDK_SCROLL" "GdkEventType")
-(CINT "GDK_WINDOW_STATE" "GdkEventType")
-(CINT "GDK_SETTING" "GdkEventType")
-(CINT "GDK_OWNER_CHANGE" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_WINDOW_STATE" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_SETTING" "GdkEventType")
+;;; 3.93.0 (CINT "GDK_OWNER_CHANGE" "GdkEventType")
 (CINT "GDK_GRAB_BROKEN" "GdkEventType")
 
 ;;; these may be out 2.90.1
@@ -409,12 +409,12 @@
 (CINT "GDK_FOCUS_CHANGE_MASK" "GdkEventMask")
 (CINT "GDK_STRUCTURE_MASK" "GdkEventMask")
 (CINT "GDK_PROPERTY_CHANGE_MASK" "GdkEventMask")
-(CINT "GDK_VISIBILITY_NOTIFY_MASK" "GdkEventMask")
+;;; 3.93.0 (CINT "GDK_VISIBILITY_NOTIFY_MASK" "GdkEventMask")
 (CINT "GDK_PROXIMITY_IN_MASK" "GdkEventMask")
 (CINT "GDK_PROXIMITY_OUT_MASK" "GdkEventMask")
 (CINT "GDK_SUBSTRUCTURE_MASK" "GdkEventMask")
 (CINT "GDK_SCROLL_MASK" "GdkEventMask")
-(CINT "GDK_ALL_EVENTS_MASK" "GdkEventMask")
+;;; 3.93.0 (CINT "GDK_ALL_EVENTS_MASK" "GdkEventMask")
 
 
 ;;; 3.11.8 (CINT "GDK_VISIBILITY_UNOBSCURED " "GdkVisibilityState")
@@ -433,22 +433,22 @@
 (CINT "GDK_CROSSING_NORMAL" "GdkCrossingMode")
 (CINT "GDK_CROSSING_GRAB" "GdkNotifyType")
 (CINT "GDK_CROSSING_UNGRAB" "GdkNotifyType")
-(CINT "GDK_PROPERTY_NEW_VALUE" "GdkPropertyState")
-(CINT "GDK_PROPERTY_DELETE" "GdkPropertyState")
+;;; 3.93.0 (CINT "GDK_PROPERTY_NEW_VALUE" "GdkPropertyState")
+;;; 3.93.0 (CINT "GDK_PROPERTY_DELETE" "GdkPropertyState")
 (CINT "GDK_WINDOW_STATE_WITHDRAWN" "GdkWindowState")
 (CINT "GDK_WINDOW_STATE_ICONIFIED" "GdkWindowState")
 (CINT "GDK_WINDOW_STATE_MAXIMIZED" "GdkWindowState")
 (CINT "GDK_WINDOW_STATE_STICKY" "GdkWindowState")
-(CINT "GDK_SETTING_ACTION_NEW" "GdkSettingAction")
-(CINT "GDK_SETTING_ACTION_CHANGED" "GdkSettingAction")
-(CINT "GDK_SETTING_ACTION_DELETED" "GdkSettingAction")
+;;; 3.93.0 (CINT "GDK_SETTING_ACTION_NEW" "GdkSettingAction")
+;;; 3.93.0 (CINT "GDK_SETTING_ACTION_CHANGED" "GdkSettingAction")
+;;; 3.93.0 (CINT "GDK_SETTING_ACTION_DELETED" "GdkSettingAction")
 ;;;;(CFNC "GType gdk_event_get_type void")
-(CFNC "gboolean gdk_events_pending void")
-(CFNC "GdkEvent* gdk_event_get void")
-(CFNC "GdkEvent* gdk_event_peek void")
+;;; 3.93.0 (CFNC "gboolean gdk_events_pending void")
+;;; 3.93.0 (CFNC "GdkEvent* gdk_event_get void")
+;;; 3.93.0 (CFNC "GdkEvent* gdk_event_peek void")
 ;;; (CFNC "GdkEvent* gdk_event_get_graphics_expose GdkWindow* window")
 ;;; out 2.18.0
-(CFNC "void gdk_event_put GdkEvent* event")
+;;; 3.93.0 (CFNC "void gdk_event_put GdkEvent* event")
 (CFNC "GdkEvent* gdk_event_copy GdkEvent* event")
 (CFNC "void gdk_event_free GdkEvent* event")
 (CFNC "guint32 gdk_event_get_time GdkEvent* @event")
@@ -543,13 +543,13 @@
 ;;; 3.92.1 (CFNC "void gdk_init gint* {argc} gchar*** |argv|")
 ;;; 3.92.1 (CFNC "gboolean gdk_init_check gint* {argc} gchar*** |argv|")
 ;;; (CFNC-gtk2 "gchar* gdk_set_locale void")
-(CFNC "char* gdk_get_program_class void")
-(CFNC "void gdk_set_program_class char* program_class")
-(CFNC "void gdk_error_trap_push void")
-(CFNC "gint gdk_error_trap_pop void")
+;;; 3.93.0 (CFNC "char* gdk_get_program_class void")
+;;; 3.93.0 (CFNC "void gdk_set_program_class char* program_class")
+;;; 3.93.0 (CFNC "void gdk_error_trap_push void")
+;;; 3.93.0 (CFNC "gint gdk_error_trap_pop void")
 ;;; 3.9.0 (CFNC "gchar* gdk_get_display void" 'free)
-(CFNC "gchar* gdk_get_display_arg_name void")
-(CFNC "void gdk_notify_startup_complete void")
+;;; 3.93.0 (CFNC "gchar* gdk_get_display_arg_name void")
+;;; 3.93.0 (CFNC "void gdk_notify_startup_complete void")
 ;;; 2.99.0 (CFNC "GdkGrabStatus gdk_pointer_grab GdkWindow* window gboolean owner_events GdkEventMask event_mask GdkWindow* confine_to GdkCursor* cursor guint32 time")
 ;;; 2.99.0 (CFNC "void gdk_pointer_ungrab guint32 time")
 ;;; 2.99.0 (CFNC "GdkGrabStatus gdk_keyboard_grab GdkWindow* window gboolean owner_events guint32 time")
@@ -559,9 +559,9 @@
 ;;; 3.22.2 (CFNC "gint gdk_screen_height void")
 ;;; 3.22.2 (CFNC "gint gdk_screen_width_mm void")
 ;;; 3.22.2 (CFNC "gint gdk_screen_height_mm void")
-(CFNC "void gdk_flush void")
-(CFNC "void gdk_beep void")
-(CFNC "void gdk_set_double_click_time guint msec")
+;;; 3.93.0 (CFNC "void gdk_flush void")
+;;; 3.93.0 (CFNC "void gdk_beep void")
+;;; 3.93.0 (CFNC "void gdk_set_double_click_time guint msec")
 (CFNC "gboolean gdk_rectangle_intersect GdkRectangle* src1 GdkRectangle* src2 GdkRectangle* dest")
 (CFNC "void gdk_rectangle_union GdkRectangle* src1 GdkRectangle* src2 GdkRectangle* dest")
 ;;;;(CFNC "GType gdk_rectangle_get_type void")
@@ -622,7 +622,7 @@
 (CCAST "GDK_KEYMAP(object)" "GdkKeymap*")
 (CCHK "GDK_IS_KEYMAP(object)" "GdkKeymap*")
 ;;;;(CFNC "GType gdk_keymap_get_type void")
-(CFNC "GdkKeymap* gdk_keymap_get_default void")
+;;; 3.93.0 (CFNC "GdkKeymap* gdk_keymap_get_default void")
 (CFNC "guint gdk_keymap_lookup_key GdkKeymap* keymap GdkKeymapKey* key")
 ;(CFNC "gboolean gdk_keymap_translate_keyboard_state GdkKeymap* keymap guint hardware_keycode GdkModifierType state gint group guint* [keyval] gint* [effective_group] gint* [level] GdkModifierType* [unused_modifiers]")
 (CFNC "gboolean gdk_keymap_get_entries_for_keyval GdkKeymap* keymap guint keyval GdkKeymapKey** [keys] gint* [n_keys]")
@@ -1122,7 +1122,7 @@
 ;;; (CINT-gtk2 "GDK_braceright")
 ;;; (CINT-gtk2 "GDK_asciitilde")
 
-(CFNC "PangoContext* gdk_pango_context_get void")
+;;; 3.93.0 (CFNC "PangoContext* gdk_pango_context_get void")
 ;;; out 2.5.6 (CFNC "void gdk_pango_context_set_colormap PangoContext* context GdkColormap* colormap")
 ;;; 2.90.5 (CFNC "GdkRegion* gdk_pango_layout_line_get_clip_region PangoLayoutLine* line gint x_origin gint y_origin gint* index_ranges gint n_ranges")
 ;;; (CFNC "GdkRegion* gdk_pango_layout_get_clip_region PangoLayout* layout gint x_origin gint y_origin gint* index_ranges gint n_ranges")
@@ -1151,14 +1151,14 @@
 
 ;;; 2.91.0 (CFNC "GdkPixmap* gdk_pixmap_foreign_new GdkNativeWindow anid")
 ;;; 2.91.0 (CFNC "GdkPixmap* gdk_pixmap_lookup GdkNativeWindow anid")
-(CINT "GDK_PROP_MODE_REPLACE" "GdkPropMode")
-(CINT "GDK_PROP_MODE_PREPEND" "GdkPropMode")
-(CINT "GDK_PROP_MODE_APPEND" "GdkPropMode")
-(CFNC "GdkAtom gdk_atom_intern gchar* atom_name gboolean only_if_exists")
-(CFNC "gchar* gdk_atom_name GdkAtom atom" 'free)
-(CFNC "gboolean gdk_property_get GdkWindow* window GdkAtom property GdkAtom type gulong offset gulong length gint pdelete GdkAtom* [actual_property_type] gint* [actual_format] gint* [actual_length] guchar** [data]") 
-(CFNC "void gdk_property_change GdkWindow* window GdkAtom property GdkAtom type gint format GdkPropMode mode guchar* data gint nelements")
-(CFNC "void gdk_property_delete GdkWindow* window GdkAtom property")
+;;; 3.93.0 (CINT "GDK_PROP_MODE_REPLACE" "GdkPropMode")
+;;; 3.93.0 (CINT "GDK_PROP_MODE_PREPEND" "GdkPropMode")
+;;; 3.93.0 (CINT "GDK_PROP_MODE_APPEND" "GdkPropMode")
+;;; 3.93.0 (CFNC "GdkAtom gdk_atom_intern gchar* atom_name gboolean only_if_exists")
+;;; 3.93.0 (CFNC "gchar* gdk_atom_name GdkAtom atom" 'free)
+;;; 3.93.0 (CFNC "gboolean gdk_property_get GdkWindow* window GdkAtom property GdkAtom type gulong offset gulong length gint pdelete GdkAtom* [actual_property_type] gint* [actual_format] gint* [actual_length] guchar** [data]") 
+;;; 3.93.0 (CFNC "void gdk_property_change GdkWindow* window GdkAtom property GdkAtom type gint format GdkPropMode mode guchar* data gint nelements")
+;;; 3.93.0 (CFNC "void gdk_property_delete GdkWindow* window GdkAtom property")
 ;;; ;(CFNC-gtk2 "gint gdk_text_property_to_text_list GdkAtom encoding gint format guchar* text gint length gchar*** list")
 ;;; ;(CFNC-gtk2 "gint gdk_text_property_to_utf8_list GdkAtom encoding gint format guchar* text gint length gchar*** list")
 (CFNC "gchar* gdk_utf8_to_string_target gchar* str" 'free)
@@ -1205,32 +1205,32 @@
 ;;; 2.90.6 (CFNC "GdkColormap* gdk_rgb_get_colormap void")
 ;;; 2.90.6 (CFNC "GdkVisual* gdk_rgb_get_visual void")
 ;;; atoms from gdk/gdkselection.h
-(CATOM "GDK_SELECTION_PRIMARY")
-(CATOM "GDK_SELECTION_SECONDARY")
-(CATOM "GDK_SELECTION_CLIPBOARD")
-(CATOM "GDK_TARGET_BITMAP")
+;;; 3.93.0 (CATOM "GDK_SELECTION_PRIMARY")
+;;; 3.93.0 (CATOM "GDK_SELECTION_SECONDARY")
+;;; 3.93.0 (CATOM "GDK_SELECTION_CLIPBOARD")
+;;; 3.93.0 (CATOM "GDK_TARGET_BITMAP")
 ;;; 2.91.0 (CATOM "GDK_TARGET_COLORMAP")
-(CATOM "GDK_TARGET_DRAWABLE")
+;;; 3.93.0 (CATOM "GDK_TARGET_DRAWABLE")
 ;;; 2.91.0 (CATOM "GDK_TARGET_PIXMAP")
-(CATOM "GDK_TARGET_STRING")
-(CATOM "GDK_SELECTION_TYPE_ATOM")
-(CATOM "GDK_SELECTION_TYPE_BITMAP")
+;;; 3.93.0 (CATOM "GDK_TARGET_STRING")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_ATOM")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_BITMAP")
 ;;; 2.91.0 (CATOM "GDK_SELECTION_TYPE_COLORMAP")
-(CATOM "GDK_SELECTION_TYPE_DRAWABLE")
-(CATOM "GDK_SELECTION_TYPE_INTEGER")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_DRAWABLE")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_INTEGER")
 ;;; 2.91.0 (CATOM "GDK_SELECTION_TYPE_PIXMAP")
-(CATOM "GDK_SELECTION_TYPE_WINDOW")
-(CATOM "GDK_SELECTION_TYPE_STRING")
-(CFNC "gboolean gdk_selection_owner_set GdkWindow* owner GdkAtom selection guint32 time gboolean send_event")
-(CFNC "GdkWindow* gdk_selection_owner_get GdkAtom selection")
-(CFNC "void gdk_selection_convert GdkWindow* requestor GdkAtom selection GdkAtom target guint32 time")
-(CFNC "gboolean gdk_selection_property_get GdkWindow* requestor guchar** [data] GdkAtom* [prop_type] gint* [prop_format]")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_WINDOW")
+;;; 3.93.0 (CATOM "GDK_SELECTION_TYPE_STRING")
+;;; 3.93.0 (CFNC "gboolean gdk_selection_owner_set GdkWindow* owner GdkAtom selection guint32 time gboolean send_event")
+;;; 3.93.0 (CFNC "GdkWindow* gdk_selection_owner_get GdkAtom selection")
+;;; 3.93.0 (CFNC "void gdk_selection_convert GdkWindow* requestor GdkAtom selection GdkAtom target guint32 time")
+;;; 3.93.0 (CFNC "gboolean gdk_selection_property_get GdkWindow* requestor guchar** [data] GdkAtom* [prop_type] gint* [prop_format]")
 ;;; 2.99.3 (CFNC "void gdk_selection_send_notify guint32 requestor GdkAtom selection GdkAtom target GdkAtom property guint32 time")
 (CINT "GDK_CURRENT_TIME")
 (CINT "GDK_PARENT_RELATIVE")
 ;(CCAST2 "GDK_ATOM_TO_POINTER(atom)")
 ;(CCAST2 "GDK_POINTER_TO_ATOM(ptr)")
-(CATOM "GDK_NONE")
+;;; 3.93.0 (CATOM "GDK_NONE")
 (CINT "GDK_LSB_FIRST" "GdkByteOrder")
 (CINT "GDK_MSB_FIRST" "GdkByteOrder")
 (CINT "GDK_SHIFT_MASK" "GdkModifierType")
@@ -1392,7 +1392,7 @@
 (CFNC "GList* gdk_window_peek_children GdkWindow* window")
 (CFNC "GdkEventMask gdk_window_get_events GdkWindow* window")
 (CFNC "void gdk_window_set_events GdkWindow* window GdkEventMask event_mask")
-(CFNC "void gdk_window_set_icon_list GdkWindow* window GList* pixbufs")
+;;; 3.93.0 (CFNC "void gdk_window_set_icon_list GdkWindow* window GList* pixbufs")
 ;;; (CFNC-gtk2 "void gdk_window_set_icon GdkWindow* window GdkWindow* icon_window GdkPixmap* pixmap GdkBitmap* mask")
 (CFNC "void gdk_window_set_icon_name GdkWindow* window gchar* name")
 (CFNC "void gdk_window_set_group GdkWindow* window GdkWindow* leader")
@@ -1471,17 +1471,17 @@
 (CFNC "GdkPixbuf* gdk_pixbuf_scale_simple GdkPixbuf* src int dest_width int dest_height GdkInterpType interp_type")
 (CFNC "GdkPixbuf* gdk_pixbuf_composite_color_simple GdkPixbuf* src int dest_width int dest_height GdkInterpType interp_type int overall_alpha int check_size guint32 color1 guint32 color2")
 ;;;;(CFNC "GType gdk_pixbuf_animation_get_type void") 
-(CFNC "GdkPixbufAnimation* gdk_pixbuf_animation_new_from_file char* filename GError** [error]")
-(CFNC "int gdk_pixbuf_animation_get_width GdkPixbufAnimation* animation")
-(CFNC "int gdk_pixbuf_animation_get_height GdkPixbufAnimation* animation")
-(CFNC "gboolean gdk_pixbuf_animation_is_static_image GdkPixbufAnimation* animation")
-(CFNC "GdkPixbuf* gdk_pixbuf_animation_get_static_image GdkPixbufAnimation* animation")
-(CFNC "GdkPixbufAnimationIter* gdk_pixbuf_animation_get_iter GdkPixbufAnimation* animation GTimeVal* start_time")
-;;;;(CFNC "GType gdk_pixbuf_animation_iter_get_type void") 
-(CFNC "int gdk_pixbuf_animation_iter_get_delay_time GdkPixbufAnimationIter* iter")
-(CFNC "GdkPixbuf* gdk_pixbuf_animation_iter_get_pixbuf GdkPixbufAnimationIter* iter")
-(CFNC "gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame GdkPixbufAnimationIter* iter")
-(CFNC "gboolean gdk_pixbuf_animation_iter_advance GdkPixbufAnimationIter* iter GTimeVal* current_time")
+;;; 3.93.0 (CFNC "GdkPixbufAnimation* gdk_pixbuf_animation_new_from_file char* filename GError** [error]")
+;;; 3.93.0 (CFNC "int gdk_pixbuf_animation_get_width GdkPixbufAnimation* animation")
+;;; 3.93.0 (CFNC "int gdk_pixbuf_animation_get_height GdkPixbufAnimation* animation")
+;;; 3.93.0 (CFNC "gboolean gdk_pixbuf_animation_is_static_image GdkPixbufAnimation* animation")
+;;; 3.93.0 (CFNC "GdkPixbuf* gdk_pixbuf_animation_get_static_image GdkPixbufAnimation* animation")
+;;; 3.93.0 (CFNC "GdkPixbufAnimationIter* gdk_pixbuf_animation_get_iter GdkPixbufAnimation* animation GTimeVal* start_time")
+;;; 3.93.0 ;;;;(CFNC "GType gdk_pixbuf_animation_iter_get_type void") 
+;;; 3.93.0 (CFNC "int gdk_pixbuf_animation_iter_get_delay_time GdkPixbufAnimationIter* iter")
+;;; 3.93.0 (CFNC "GdkPixbuf* gdk_pixbuf_animation_iter_get_pixbuf GdkPixbufAnimationIter* iter")
+;;; 3.93.0 (CFNC "gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame GdkPixbufAnimationIter* iter")
+;;; 3.93.0 (CFNC "gboolean gdk_pixbuf_animation_iter_advance GdkPixbufAnimationIter* iter GTimeVal* current_time")
 (CFNC "gchar* gdk_pixbuf_get_option GdkPixbuf* pixbuf gchar* key")
 ;;; (CFNC "gboolean gdk_pixbuf_set_option GdkPixbuf* pixbuf gchar* key gchar* value")
 
@@ -1504,11 +1504,11 @@
 (CCAST "GDK_PIXBUF(object)" "GdkPixbuf*")
 (CCHK "GDK_IS_PIXBUF(object)" "GdkPixbuf*")
 ;;; 2.91.6 (CLNG "GDK_TYPE_PIXBUF_ANIMATION")
-(CCAST "GDK_PIXBUF_ANIMATION(object)" "GdkPixbufAnimation*")
-(CCHK "GDK_IS_PIXBUF_ANIMATION(object)" "GdkPixbufAnimation*")
+;;; 3.93.0 (CCAST "GDK_PIXBUF_ANIMATION(object)" "GdkPixbufAnimation*")
+;;; 3.93.0 (CCHK "GDK_IS_PIXBUF_ANIMATION(object)" "GdkPixbufAnimation*")
 ;;; 2.91.6 (CLNG "GDK_TYPE_PIXBUF_ANIMATION_ITER")
-(CCAST "GDK_PIXBUF_ANIMATION_ITER(object)" "GdkPixbufAnimationIter*")
-(CCHK "GDK_IS_PIXBUF_ANIMATION_ITER(object)" "GdkPixbufAnimationIter*")
+;;; 3.93.0 (CCAST "GDK_PIXBUF_ANIMATION_ITER(object)" "GdkPixbufAnimationIter*")
+;;; 3.93.0 (CCHK "GDK_IS_PIXBUF_ANIMATION_ITER(object)" "GdkPixbufAnimationIter*")
 ;;; (CLNG "GDK_PIXBUF_ERROR")
 (CINT "GDK_PIXBUF_ERROR_CORRUPT_IMAGE" "GdkPixbufError")
 (CINT "GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY" "GdkPixbufError")
@@ -1749,17 +1749,17 @@
 (CFNC "void gtk_check_menu_item_toggled GtkCheckMenuItem* check_menu_item")
 (CFNC "void gtk_check_menu_item_set_inconsistent GtkCheckMenuItem* check_menu_item gboolean setting")
 (CFNC "gboolean gtk_check_menu_item_get_inconsistent GtkCheckMenuItem* check_menu_item")
-(CFNC "GtkClipboard* gtk_clipboard_get GdkAtom selection") ; might be on GDK_MULTIHEAD_SAFE switch?
-(CFNC "gboolean gtk_clipboard_set_with_data GtkClipboard* clipboard GtkTargetEntry* targets guint n_targets GtkClipboardGetFunc func GtkClipboardClearFunc clear_func lambda_data #func_info")
+;;; 3.93.0 (CFNC "GtkClipboard* gtk_clipboard_get GdkAtom selection") ; might be on GDK_MULTIHEAD_SAFE switch?
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_set_with_data GtkClipboard* clipboard GtkTargetEntry* targets guint n_targets GtkClipboardGetFunc func GtkClipboardClearFunc clear_func lambda_data #func_info")
 ;(CFNC "gboolean gtk_clipboard_set_with_owner GtkClipboard* clipboard GtkTargetEntry* targets guint n_targets GtkClipboardGetFunc func GtkClipboardClearFunc clear_func GObject* owner")
-(CFNC "GObject* gtk_clipboard_get_owner GtkClipboard* clipboard")
-(CFNC "void gtk_clipboard_clear GtkClipboard* clipboard")
-(CFNC "void gtk_clipboard_set_text GtkClipboard* clipboard gchar* text gint len")
-(CFNC "void gtk_clipboard_request_contents GtkClipboard* clipboard GdkAtom target GtkClipboardReceivedFunc func lambda_data #func_info")
-(CFNC "void gtk_clipboard_request_text GtkClipboard* clipboard GtkClipboardTextReceivedFunc func lambda_data #func_info")
-(CFNC "GtkSelectionData* gtk_clipboard_wait_for_contents GtkClipboard* clipboard GdkAtom target")
-(CFNC "gchar* gtk_clipboard_wait_for_text GtkClipboard* clipboard" 'free)
-(CFNC "gboolean gtk_clipboard_wait_is_text_available GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "GObject* gtk_clipboard_get_owner GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_clipboard_clear GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_clipboard_set_text GtkClipboard* clipboard gchar* text gint len")
+;;; 3.93.0 (CFNC "void gtk_clipboard_request_contents GtkClipboard* clipboard GdkAtom target GtkClipboardReceivedFunc func lambda_data #func_info")
+;;; 3.93.0 (CFNC "void gtk_clipboard_request_text GtkClipboard* clipboard GtkClipboardTextReceivedFunc func lambda_data #func_info")
+;;; 3.93.0 (CFNC "GtkSelectionData* gtk_clipboard_wait_for_contents GtkClipboard* clipboard GdkAtom target")
+;;; 3.93.0 (CFNC "gchar* gtk_clipboard_wait_for_text GtkClipboard* clipboard" 'free)
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_wait_is_text_available GtkClipboard* clipboard")
 ;;; 3.3.16 (CCAST "GTK_COLOR_SELECTION_DIALOG(obj)" "GtkColorSelectionDialog*")
 ;;; 3.3.16 (CCHK "GTK_IS_COLOR_SELECTION_DIALOG(obj)" "GtkColorSelectionDialog*")
 ;;; 3.3.16 ;;;;(CFNC "GType gtk_color_selection_dialog_get_type void")
@@ -1859,25 +1859,25 @@
 ;(CINT "GTK_TARGET_SAME_APP" "GtkTargetFlags")
 ;(CINT "GTK_TARGET_SAME_WIDGET" "GtkTargetFlags")
 (CFNC "void gtk_drag_get_data GtkWidget* widget GdkDragContext* context GdkAtom target guint32 time")
-(CFNC "void gtk_drag_finish GdkDragContext* context gboolean success gboolean del guint32 time")
+;;; 3.93.0 (CFNC "void gtk_drag_finish GdkDragContext* context gboolean success gboolean del guint32 time")
 (CFNC "GtkWidget* gtk_drag_get_source_widget GdkDragContext* context")
 (CFNC "void gtk_drag_highlight GtkWidget* widget")
 (CFNC "void gtk_drag_unhighlight GtkWidget* widget")
-(CFNC "void gtk_drag_dest_set GtkWidget* widget GtkDestDefaults flags GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "void gtk_drag_dest_set GtkWidget* widget GtkDestDefaults flags GtkTargetEntry* targets gint n_targets GdkDragAction actions")
 ;;; (CFNC-gtk2 "void gtk_drag_dest_set_proxy GtkWidget* widget GdkWindow* proxy_window GdkDragProtocol protocol gboolean use_coordinates")
 (CFNC "void gtk_drag_dest_unset GtkWidget* widget")
-(CFNC "GdkAtom gtk_drag_dest_find_target GtkWidget* widget GdkDragContext* context GtkTargetList* @target_list")
-(CFNC "GtkTargetList* gtk_drag_dest_get_target_list GtkWidget* widget")
-(CFNC "void gtk_drag_dest_set_target_list GtkWidget* widget GtkTargetList* @target_list")
-(CFNC "void gtk_drag_source_set GtkWidget* widget GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "GdkAtom gtk_drag_dest_find_target GtkWidget* widget GdkDragContext* context GtkTargetList* @target_list")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_drag_dest_get_target_list GtkWidget* widget")
+;;; 3.93.0 (CFNC "void gtk_drag_dest_set_target_list GtkWidget* widget GtkTargetList* @target_list")
+;;; 3.93.0 (CFNC "void gtk_drag_source_set GtkWidget* widget GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
 (CFNC "void gtk_drag_source_unset GtkWidget* widget")
 ;;; (CFNC-gtk2 "void gtk_drag_source_set_icon GtkWidget* widget GdkColormap* colormap GdkPixmap* pixmap GdkBitmap* mask")
-(CFNC "void gtk_drag_source_set_icon_pixbuf GtkWidget* widget GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC "void gtk_drag_source_set_icon_pixbuf GtkWidget* widget GdkPixbuf* pixbuf")
 ;;; 3.9.8 (CFNC "void gtk_drag_source_set_icon_stock GtkWidget* widget gchar* stock_id")
 ;;; (CFNC "GdkDragContext* gtk_drag_begin GtkWidget* widget GtkTargetList* targets GdkDragAction actions gint button GdkEvent* event")
 (CFNC "void gtk_drag_set_icon_widget GdkDragContext* context GtkWidget* widget gint hot_x gint hot_y")
 ;;; (CFNC-gtk2 "void gtk_drag_set_icon_pixmap GdkDragContext* context GdkColormap* colormap GdkPixmap* pixmap GdkBitmap* mask gint hot_x gint hot_y")
-(CFNC "void gtk_drag_set_icon_pixbuf GdkDragContext* context GdkPixbuf* pixbuf gint hot_x gint hot_y")
+;;; 3.93.0 (CFNC "void gtk_drag_set_icon_pixbuf GdkDragContext* context GdkPixbuf* pixbuf gint hot_x gint hot_y")
 ;;; (CFNC "void gtk_drag_set_icon_stock GdkDragContext* context gchar* stock_id gint hot_x gint hot_y")
 (CFNC "void gtk_drag_set_icon_default GdkDragContext* context")
 (CFNC "gboolean gtk_drag_check_threshold GtkWidget* widget gint start_x gint start_y gint current_x gint current_y")
@@ -2264,10 +2264,10 @@
 (CINT "GTK_IMAGE_EMPTY" "GtkImageType")
 ;;; 2.91.0 (CINT "GTK_IMAGE_PIXMAP" "GtkImageType")
 ;;; 2.90.6 (CINT "GTK_IMAGE_IMAGE" "GtkImageType")
-(CINT "GTK_IMAGE_PIXBUF" "GtkImageType")
+;;; 3.93.0 (CINT "GTK_IMAGE_PIXBUF" "GtkImageType")
 ;;; 3.92.1 (CINT "GTK_IMAGE_STOCK" "GtkImageType")
 ;;; 3.92.1 (CINT "GTK_IMAGE_ICON_SET" "GtkImageType")
-(CINT "GTK_IMAGE_ANIMATION" "GtkImageType")
+;;; 3.93.0 (CINT "GTK_IMAGE_ANIMATION" "GtkImageType")
 ;;;;(CFNC "GType gtk_image_get_type void")
 (CFNC "GtkWidget* gtk_image_new void")
 ;;; 2.91.0 (CFNC "GtkWidget* gtk_image_new_from_pixmap GdkPixmap* @pixmap GdkBitmap* @mask")
@@ -2276,21 +2276,21 @@
 (CFNC "GtkWidget* gtk_image_new_from_pixbuf GdkPixbuf* @pixbuf")
 ;;; (CFNC "GtkWidget* gtk_image_new_from_stock gchar* stock_id GtkIconSize size")
 ;;; (CFNC "GtkWidget* gtk_image_new_from_icon_set GtkIconSet* icon_set GtkIconSize size")
-(CFNC "GtkWidget* gtk_image_new_from_animation GdkPixbufAnimation* animation")
+;;; 3.93.0 (CFNC "GtkWidget* gtk_image_new_from_animation GdkPixbufAnimation* animation")
 ;;; 2.91.0 (CFNC "void gtk_image_set_from_pixmap GtkImage* image GdkPixmap* @pixmap GdkBitmap* @mask")
 ;;; 2.90.6 (CFNC "void gtk_image_set_from_image GtkImage* image GdkImage* @gdk_image GdkBitmap* @mask")
 (CFNC "void gtk_image_set_from_file GtkImage* image gchar* filename")
 (CFNC "void gtk_image_set_from_pixbuf GtkImage* image GdkPixbuf* @pixbuf")
 ;;; (CFNC "void gtk_image_set_from_stock GtkImage* image gchar* stock_id GtkIconSize size")
 ;;; (CFNC "void gtk_image_set_from_icon_set GtkImage* image GtkIconSet* icon_set GtkIconSize size")
-(CFNC "void gtk_image_set_from_animation GtkImage* image GdkPixbufAnimation* @animation")
+;;; 3.93.0 (CFNC "void gtk_image_set_from_animation GtkImage* image GdkPixbufAnimation* @animation")
 (CFNC "GtkImageType gtk_image_get_storage_type GtkImage* image")
 ;;; 2.91.0 (CFNC "void gtk_image_get_pixmap GtkImage* image GdkPixmap** [pixmap] GdkBitmap** [mask]")
 ;;; 2.90.6 (CFNC "void gtk_image_get_image GtkImage* image GdkImage** [gdk_image] GdkBitmap** [mask]")
-(CFNC "GdkPixbuf* gtk_image_get_pixbuf GtkImage* image")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_image_get_pixbuf GtkImage* image")
 ;;; (CFNC "void gtk_image_get_stock GtkImage* image gchar** [stock_id] GtkIconSize* [size]")
 ;;; (CFNC "void gtk_image_get_icon_set GtkImage* image GtkIconSet** [icon_set] GtkIconSize* [size]")
-(CFNC "GdkPixbufAnimation* gtk_image_get_animation GtkImage* image")
+;;; 3.93.0 (CFNC "GdkPixbufAnimation* gtk_image_get_animation GtkImage* image")
 
 ;;; out 3.9.8
 ;;; (CCAST "GTK_IMAGE_MENU_ITEM(obj)" "GtkImageMenuItem*")
@@ -2815,25 +2815,25 @@
 (CFNC "void gtk_scrolled_window_set_shadow_type GtkScrolledWindow* scrolled_window GtkShadowType type")
 (CFNC "GtkShadowType gtk_scrolled_window_get_shadow_type GtkScrolledWindow* scrolled_window")
 ;;; 3.8 (CFNC "void gtk_scrolled_window_add_with_viewport GtkScrolledWindow* scrolled_window GtkWidget* child")
-(CFNC "GtkTargetList* gtk_target_list_new GtkTargetEntry* @targets guint ntargets")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_target_list_new GtkTargetEntry* @targets guint ntargets")
 ;;; return type changed 290
 ;;;(CFNC "void gtk_target_list_ref GtkTargetList* list")
-(CFNC "void gtk_target_list_unref GtkTargetList* list")
-(CFNC "void gtk_target_list_add GtkTargetList* list GdkAtom target guint flags guint info")
-(CFNC "void gtk_target_list_add_table GtkTargetList* list GtkTargetEntry* targets guint ntargets")
-(CFNC "void gtk_target_list_remove GtkTargetList* list GdkAtom target")
-(CFNC "gboolean gtk_target_list_find GtkTargetList* list GdkAtom target guint* [info]")
-(CFNC "gboolean gtk_selection_owner_set GtkWidget* @widget GdkAtom selection guint32 time")
-(CFNC "void gtk_selection_add_target GtkWidget* widget GdkAtom selection GdkAtom target guint info")
-(CFNC "void gtk_selection_add_targets GtkWidget* widget GdkAtom selection GtkTargetEntry* targets guint ntargets")
-(CFNC "void gtk_selection_clear_targets GtkWidget* widget GdkAtom selection")
-(CFNC "gboolean gtk_selection_convert GtkWidget* widget GdkAtom selection GdkAtom target guint32 time")
-(CFNC "void gtk_selection_data_set GtkSelectionData* selection_data GdkAtom type gint format guchar* data gint length")
-(CFNC "gboolean gtk_selection_data_set_text GtkSelectionData* selection_data gchar* str gint len")
-(CFNC "guchar* gtk_selection_data_get_text GtkSelectionData* selection_data" 'free)
-(CFNC "gboolean gtk_selection_data_get_targets GtkSelectionData* selection_data GdkAtom** [targets] gint* [n_atoms]") ; FREE (targets)
-(CFNC "gboolean gtk_selection_data_targets_include_text GtkSelectionData* selection_data")
-(CFNC "void gtk_selection_remove_all GtkWidget* widget")
+;;; 3.93.0 (CFNC "void gtk_target_list_unref GtkTargetList* list")
+;;; 3.93.0 (CFNC "void gtk_target_list_add GtkTargetList* list GdkAtom target guint flags guint info")
+;;; 3.93.0 (CFNC "void gtk_target_list_add_table GtkTargetList* list GtkTargetEntry* targets guint ntargets")
+;;; 3.93.0 (CFNC "void gtk_target_list_remove GtkTargetList* list GdkAtom target")
+;;; 3.93.0 (CFNC "gboolean gtk_target_list_find GtkTargetList* list GdkAtom target guint* [info]")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_owner_set GtkWidget* @widget GdkAtom selection guint32 time")
+;;; 3.93.0 (CFNC "void gtk_selection_add_target GtkWidget* widget GdkAtom selection GdkAtom target guint info")
+;;; 3.93.0 (CFNC "void gtk_selection_add_targets GtkWidget* widget GdkAtom selection GtkTargetEntry* targets guint ntargets")
+;;; 3.93.0 (CFNC "void gtk_selection_clear_targets GtkWidget* widget GdkAtom selection")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_convert GtkWidget* widget GdkAtom selection GdkAtom target guint32 time")
+;;; 3.93.0 (CFNC "void gtk_selection_data_set GtkSelectionData* selection_data GdkAtom type gint format guchar* data gint length")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_set_text GtkSelectionData* selection_data gchar* str gint len")
+;;; 3.93.0 (CFNC "guchar* gtk_selection_data_get_text GtkSelectionData* selection_data" 'free)
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_get_targets GtkSelectionData* selection_data GdkAtom** [targets] gint* [n_atoms]") ; FREE (targets)
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_targets_include_text GtkSelectionData* selection_data")
+;;; 3.93.0 (CFNC "void gtk_selection_remove_all GtkWidget* widget")
 ;;; out 2.3 (CFNC "gboolean gtk_selection_clear GtkWidget* widget GdkEventSelection* event")
 ;;; removed 2.1 (CFNC "gboolean gtk_selection_request GtkWidget* widget GdkEventSelection* event")
 ;;; removed 2.1 (CFNC "gboolean gtk_selection_incr_event GdkWindow* window GdkEventProperty* event")
@@ -3114,7 +3114,7 @@
 (CFNC "gboolean gtk_text_buffer_delete_interactive GtkTextBuffer* buffer GtkTextIter* start_iter GtkTextIter* end_iter gboolean default_editable")
 (CFNC "gchar* gtk_text_buffer_get_text GtkTextBuffer* buffer GtkTextIter* start GtkTextIter* end gboolean include_hidden_chars" 'free)
 (CFNC "gchar* gtk_text_buffer_get_slice GtkTextBuffer* buffer GtkTextIter* start GtkTextIter* end gboolean include_hidden_chars" 'free)
-(CFNC "void gtk_text_buffer_insert_pixbuf GtkTextBuffer* buffer GtkTextIter* iter GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_insert_pixbuf GtkTextBuffer* buffer GtkTextIter* iter GdkPixbuf* pixbuf")
 (CFNC "void gtk_text_buffer_insert_child_anchor GtkTextBuffer* buffer GtkTextIter* iter GtkTextChildAnchor* anchor")
 (CFNC "GtkTextChildAnchor* gtk_text_buffer_create_child_anchor GtkTextBuffer* buffer GtkTextIter* iter")
 (CFNC "GtkTextMark* gtk_text_buffer_create_mark GtkTextBuffer* buffer gchar* mark_name GtkTextIter* where gboolean left_gravity")
@@ -3143,11 +3143,11 @@
 (CFNC "void gtk_text_buffer_get_iter_at_child_anchor GtkTextBuffer* buffer GtkTextIter* iter GtkTextChildAnchor* anchor")
 (CFNC "gboolean gtk_text_buffer_get_modified GtkTextBuffer* buffer")
 (CFNC "void gtk_text_buffer_set_modified GtkTextBuffer* buffer gboolean setting")
-(CFNC "void gtk_text_buffer_add_selection_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
-(CFNC "void gtk_text_buffer_remove_selection_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
-(CFNC "void gtk_text_buffer_cut_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard gboolean default_editable")
-(CFNC "void gtk_text_buffer_copy_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
-(CFNC "void gtk_text_buffer_paste_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard GtkTextIter* @override_location gboolean default_editable")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_add_selection_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_remove_selection_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_cut_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard gboolean default_editable")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_copy_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_paste_clipboard GtkTextBuffer* buffer GtkClipboard* clipboard GtkTextIter* @override_location gboolean default_editable")
 (CFNC "gboolean gtk_text_buffer_get_selection_bounds GtkTextBuffer* buffer GtkTextIter* start GtkTextIter* end")
 (CFNC "gboolean gtk_text_buffer_delete_selection GtkTextBuffer* buffer gboolean interactive gboolean default_editable") 
 (CFNC "void gtk_text_buffer_begin_user_action GtkTextBuffer* buffer")
@@ -3172,7 +3172,7 @@
 (CFNC "gchar* gtk_text_iter_get_text GtkTextIter* start GtkTextIter* end" 'free)
 (CFNC "gchar* gtk_text_iter_get_visible_slice GtkTextIter* start GtkTextIter* end" 'free)
 (CFNC "gchar* gtk_text_iter_get_visible_text GtkTextIter* start GtkTextIter* end" 'free)
-(CFNC "GdkPixbuf* gtk_text_iter_get_pixbuf GtkTextIter* iter")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_text_iter_get_pixbuf GtkTextIter* iter")
 (CFNC "GSList* gtk_text_iter_get_marks GtkTextIter* iter")
 (CFNC "GtkTextChildAnchor* gtk_text_iter_get_child_anchor GtkTextIter* iter")
 (CFNC "GSList* gtk_text_iter_get_toggled_tags GtkTextIter* iter gboolean toggled_on")
@@ -3253,7 +3253,7 @@
 (CFNC "GtkTextTag* gtk_text_tag_new gchar* name")
 (CFNC "gint gtk_text_tag_get_priority GtkTextTag* tag")
 (CFNC "void gtk_text_tag_set_priority GtkTextTag* tag gint priority")
-(CFNC "gboolean gtk_text_tag_event GtkTextTag* tag GObject* event_object GdkEvent* event GtkTextIter* iter")
+;;; 3.93.0 (CFNC "gboolean gtk_text_tag_event GtkTextTag* tag GObject* event_object GdkEvent* event GtkTextIter* iter")
 ;;; 3.92.1 (CFNC "GtkTextAttributes* gtk_text_attributes_new void")
 ;;; 3.92.1 (CFNC "GtkTextAttributes* gtk_text_attributes_copy GtkTextAttributes* src")
 ;;; 3.92.1 (CFNC "void gtk_text_attributes_copy_values GtkTextAttributes* src GtkTextAttributes* dest")
@@ -3302,8 +3302,8 @@
 (CFNC "void gtk_text_view_get_line_at_y GtkTextView* text_view GtkTextIter* target_iter gint y gint* [line_top]")
 (CFNC "void gtk_text_view_buffer_to_window_coords GtkTextView* text_view GtkTextWindowType win gint buffer_x gint buffer_y gint* [window_x] gint* [window_y]")
 (CFNC "void gtk_text_view_window_to_buffer_coords GtkTextView* text_view GtkTextWindowType win gint window_x gint window_y gint* [buffer_x] gint* [buffer_y]")
-(CFNC "GdkWindow* gtk_text_view_get_window GtkTextView* text_view GtkTextWindowType win")
-(CFNC "GtkTextWindowType gtk_text_view_get_window_type GtkTextView* text_view GdkWindow* window")
+;;; 3.93.0 (CFNC "GdkWindow* gtk_text_view_get_window GtkTextView* text_view GtkTextWindowType win")
+;;; 3.93.0 (CFNC "GtkTextWindowType gtk_text_view_get_window_type GtkTextView* text_view GdkWindow* window")
 (CFNC "void gtk_text_view_set_border_window_size GtkTextView* text_view GtkTextWindowType type gint size")
 (CFNC "gint gtk_text_view_get_border_window_size GtkTextView* text_view GtkTextWindowType type")
 (CFNC "gboolean gtk_text_view_forward_display_line GtkTextView* text_view GtkTextIter* iter")
@@ -3643,8 +3643,8 @@
 (CFNC "void gtk_tree_view_get_visible_rect GtkTreeView* tree_view GdkRectangle* visible_rect")
 ;;; (out 2.11.3) (CFNC "void gtk_tree_view_widget_to_tree_coords GtkTreeView* tree_view gint wx gint wy gint* [tx] gint* [ty]")
 ;;; (out 2.11.3) (CFNC "void gtk_tree_view_tree_to_widget_coords GtkTreeView* tree_view gint tx gint ty gint* [wx] gint* [wy]")
-(CFNC "void gtk_tree_view_enable_model_drag_source GtkTreeView* tree_view GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
-(CFNC "void gtk_tree_view_enable_model_drag_dest GtkTreeView* tree_view GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "void gtk_tree_view_enable_model_drag_source GtkTreeView* tree_view GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "void gtk_tree_view_enable_model_drag_dest GtkTreeView* tree_view GtkTargetEntry* targets gint n_targets GdkDragAction actions")
 (CFNC "void gtk_tree_view_unset_rows_drag_source GtkTreeView* tree_view")
 (CFNC "void gtk_tree_view_unset_rows_drag_dest GtkTreeView* tree_view")
 (CFNC "void gtk_tree_view_set_drag_dest_row GtkTreeView* tree_view GtkTreePath* path GtkTreeViewDropPosition pos")
@@ -3925,10 +3925,10 @@
 (CFNC "void gtk_window_set_decorated GtkWindow* window gboolean setting")
 (CFNC "gboolean gtk_window_get_decorated GtkWindow* window")
 (CFNC "void gtk_window_set_icon_list GtkWindow* window GList* @list")
-(CFNC "GList* gtk_window_get_icon_list GtkWindow* window")
-(CFNC "void gtk_window_set_icon GtkWindow* window GdkPixbuf* @icon")
-(CFNC "GdkPixbuf* gtk_window_get_icon GtkWindow* window")
-(CFNC "void gtk_window_set_default_icon_list GList* @list")
+;;; 3.93.0 (CFNC "GList* gtk_window_get_icon_list GtkWindow* window")
+;;; 3.93.0 (CFNC "void gtk_window_set_icon GtkWindow* window GdkPixbuf* @icon")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_window_get_icon GtkWindow* window")
+;;; 3.93.0 (CFNC "void gtk_window_set_default_icon_list GList* @list")
 (CFNC "GList* gtk_window_get_default_icon_list void")
 (CFNC "void gtk_window_set_modal GtkWindow* window gboolean modal")
 (CFNC "gboolean gtk_window_get_modal GtkWindow* window")
@@ -4498,7 +4498,7 @@
 (CFNC "gchar* gdk_display_get_name GdkDisplay* display")
 ;;; 3.9.0 (CFNC "int gdk_display_get_n_screens GdkDisplay* display")
 ;;; 3.20 (CFNC "GdkScreen* gdk_display_get_screen GdkDisplay* display int screen_num")
-(CFNC "GdkScreen* gdk_display_get_default_screen GdkDisplay* display")
+;;; 3.93.0 (CFNC "GdkScreen* gdk_display_get_default_screen GdkDisplay* display")
 ;;; 2.99.0 (CFNC "void gdk_display_pointer_ungrab GdkDisplay* display guint32 time")
 ;;; 2.99.0 (CFNC "void gdk_display_keyboard_ungrab GdkDisplay* display guint32 time")
 ;;; 2.99.0 (CFNC "gboolean gdk_display_pointer_is_grabbed GdkDisplay* display")
@@ -4510,7 +4510,7 @@
 (CFNC "GdkEvent* gdk_display_peek_event GdkDisplay* display")
 (CFNC "void gdk_display_put_event GdkDisplay* display GdkEvent* event")
 ;;; 2.99.3 (CFNC "void gdk_display_add_client_message_filter GdkDisplay* display GdkAtom message_type GdkFilterFunc func lambda_data #func_info")
-(CFNC "void gdk_display_set_double_click_time GdkDisplay* display guint msec")
+;;; 3.93.0 (CFNC "void gdk_display_set_double_click_time GdkDisplay* display guint msec")
 (CFNC "GdkDisplay* gdk_display_get_default void")
 ;;;; (CFNC "GdkDevice* gdk_display_get_core_pointer GdkDisplay* display")
 ;;; 2.99.0 (CFNC "void gdk_display_get_pointer GdkDisplay* display GdkScreen** [screen] int* [x] int* [y] GdkModifierType* [mask]")
@@ -4524,28 +4524,28 @@
 ;;; 2.90.6 (CFNC "GdkColormap* gdk_screen_get_rgb_colormap GdkScreen* screen")
 ;;; 2.90.6 (CFNC "GdkVisual* gdk_screen_get_rgb_visual GdkScreen* screen")
 ;;; 3.92.1 (CFNC "GdkWindow* gdk_screen_get_root_window GdkScreen* screen")
-(CFNC "GdkDisplay* gdk_screen_get_display GdkScreen* screen")
+;;; 3.93.0 (CFNC "GdkDisplay* gdk_screen_get_display GdkScreen* screen")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_number GdkScreen* screen")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_width GdkScreen* screen")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_height GdkScreen* screen")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_width_mm GdkScreen* screen")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_height_mm GdkScreen* screen")
 ;;; 3.89 (CFNC "GList* gdk_screen_list_visuals GdkScreen* screen")
-(CFNC "GList* gdk_screen_get_toplevel_windows GdkScreen* screen")
+;;; 3.93.0 (CFNC "GList* gdk_screen_get_toplevel_windows GdkScreen* screen")
 ;;; 3.22.2 (CFNC "gchar* gdk_screen_make_display_name GdkScreen* screen" 'free)
 ;;; 3.22.2 (CFNC "int gdk_screen_get_n_monitors GdkScreen* screen")
 ;;; 3.22.2 (CFNC "void gdk_screen_get_monitor_geometry GdkScreen* screen int monitor_num GdkRectangle* dest")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_monitor_at_point GdkScreen* screen int x int y")
 ;;; 3.22.2 (CFNC "int gdk_screen_get_monitor_at_window GdkScreen* screen GdkWindow* window")
 ;;; 2.99.3 (CFNC "void gdk_screen_broadcast_client_message GdkScreen* screen GdkEvent* event")
-(CFNC "GdkScreen* gdk_screen_get_default void")
+;;; 3.93.0 (CFNC "GdkScreen* gdk_screen_get_default void")
 ;(CFNC "gboolean gdk_screen_get_setting GdkScreen* screen gchar* name GValue* value")
 
 ;;; 2.91.6 (CLNG "GDK_TYPE_SCREEN")
 ;;; 2.91.6 (CLNG "GDK_TYPE_DISPLAY")
-(CCAST "GDK_SCREEN(object)" "GdkScreen*")
+;;; 3.93.0 (CCAST "GDK_SCREEN(object)" "GdkScreen*")
 ;GDK_SCREEN_CLASS(klass)
-(CCHK "GDK_IS_SCREEN(object)" "GdkScreen*")
+;;; 3.93.0 (CCHK "GDK_IS_SCREEN(object)" "GdkScreen*")
 ;GDK_IS_SCREEN_CLASS(klass)
 ;GDK_SCREEN_GET_CLASS(obj)
 (CCAST "GDK_DISPLAY_OBJECT(object)" "GdkDisplay*")
@@ -4554,13 +4554,13 @@
 ;GDK_IS_DISPLAY_CLASS(klass)
 ;GDK_DISPLAY_GET_CLASS(obj)
 
-(CFNC "GtkClipboard* gtk_clipboard_get_for_display GdkDisplay* display GdkAtom selection")
-(CFNC "GdkDisplay* gtk_clipboard_get_display GtkClipboard* clipboard")
-(CFNC "GdkScreen* gtk_widget_get_screen GtkWidget* widget")
-(CFNC "gboolean gtk_widget_has_screen GtkWidget* widget")
+;;; 3.93.0 (CFNC "GtkClipboard* gtk_clipboard_get_for_display GdkDisplay* display GdkAtom selection")
+;;; 3.93.0 (CFNC "GdkDisplay* gtk_clipboard_get_display GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "GdkScreen* gtk_widget_get_screen GtkWidget* widget")
+;;; 3.93.0 (CFNC "gboolean gtk_widget_has_screen GtkWidget* widget")
 (CFNC "GdkDisplay* gtk_widget_get_display GtkWidget* widget")
 ;;; 3.11.5 (CFNC "GdkWindow* gtk_widget_get_root_window GtkWidget* widget")
-(CFNC "GtkClipboard* gtk_widget_get_clipboard GtkWidget* widget GdkAtom selection")
+;;; 3.93.0 (CFNC "GtkClipboard* gtk_widget_get_clipboard GtkWidget* widget GdkAtom selection")
 
 ;;; -------- end gtk 2.1 additions
 
@@ -4602,7 +4602,7 @@
 
 ;;; -------- begin gtk 2.3 additions
 
-(CFNC "GdkCursor* gdk_cursor_new_from_pixbuf GdkDisplay* display GdkPixbuf* pixbuf gint x gint y")
+;;; 3.93.0 (CFNC "GdkCursor* gdk_cursor_new_from_pixbuf GdkDisplay* display GdkPixbuf* pixbuf gint x gint y")
 (CFNC "void gdk_display_flush GdkDisplay* display")
 (CFNC "gboolean gdk_display_supports_cursor_alpha GdkDisplay* display")
 (CFNC "gboolean gdk_display_supports_cursor_color GdkDisplay* display")
@@ -4648,7 +4648,7 @@
 ;;; gtk 4 (CFNC "void gtk_widget_set_no_show_all GtkWidget* widget gboolean no_show_all")
 ;;; gtk 4 (CFNC "gboolean gtk_widget_get_no_show_all GtkWidget* widget")
 (CFNC "void gtk_widget_queue_resize_no_redraw GtkWidget* widget")
-(CFNC "void gtk_window_set_default_icon GdkPixbuf* icon")
+;;; 3.93.0 (CFNC "void gtk_window_set_default_icon GdkPixbuf* icon")
 (CFNC "void gtk_window_set_keep_above GtkWindow* window gboolean setting")
 (CFNC "void gtk_window_set_keep_below GtkWindow* window gboolean setting")
 
@@ -4729,8 +4729,8 @@
 (CCHK "GTK_IS_FILE_FILTER(obj)" "GtkFileFilter*")
 (CCAST "GTK_CELL_LAYOUT(obj)" "GtkCellLayout*")
 (CCHK "GTK_IS_CELL_LAYOUT(obj)" "GtkCellLayout*")
-(CCAST "GTK_CLIPBOARD(obj)" "GtkClipboard*")
-(CCHK "GTK_IS_CLIPBOARD(obj)" "GtkClipboard*")
+;;; 3.93.0 (CCAST "GTK_CLIPBOARD(obj)" "GtkClipboard*")
+;;; 3.93.0 (CCHK "GTK_IS_CLIPBOARD(obj)" "GtkClipboard*")
 (CCAST "GTK_FILE_CHOOSER(obj)" "GtkFileChooser*")
 (CCHK "GTK_IS_FILE_CHOOSER(obj)" "GtkFileChooser*")
 (CCAST "GTK_ICON_THEME(obj)" "GtkIconTheme*")
@@ -4862,8 +4862,8 @@
 (CFNC "void gtk_font_button_set_use_font GtkFontButton* font_button gboolean use_font") 
 (CFNC "gboolean gtk_font_button_get_use_size GtkFontButton* font_button") 
 (CFNC "void gtk_font_button_set_use_size GtkFontButton* font_button gboolean use_size") 
-(CFNC "gchar* gtk_font_button_get_font_name GtkFontButton* font_button") 
-(CFNC "gboolean gtk_font_button_set_font_name GtkFontButton* font_button gchar* fontname") 
+;;; 3.93.0 (CFNC "gchar* gtk_font_button_get_font_name GtkFontButton* font_button") 
+;;; 3.93.0 (CFNC "gboolean gtk_font_button_set_font_name GtkFontButton* font_button gchar* fontname") 
 (CFNC "gboolean gtk_font_button_get_show_style GtkFontButton* font_button") 
 (CFNC "void gtk_font_button_set_show_style GtkFontButton* font_button gboolean show_style") 
 (CFNC "gboolean gtk_font_button_get_show_size GtkFontButton* font_button") 
@@ -5010,8 +5010,8 @@
 ;;;;(CFNC "GType gtk_icon_theme_get_type void") 
 (CFNC "GtkIconTheme* gtk_icon_theme_new void") 
 (CFNC "GtkIconTheme* gtk_icon_theme_get_default void") 
-(CFNC "GtkIconTheme* gtk_icon_theme_get_for_screen GdkScreen* screen") 
-(CFNC "void gtk_icon_theme_set_screen GtkIconTheme* icon_theme GdkScreen* @screen") 
+;;; 3.93.0 (CFNC "GtkIconTheme* gtk_icon_theme_get_for_screen GdkScreen* screen") 
+;;; 3.93.0 (CFNC "void gtk_icon_theme_set_screen GtkIconTheme* icon_theme GdkScreen* @screen") 
 ;(CFNC "void gtk_icon_theme_set_search_path GtkIconTheme* icon_theme gchar** path gint n_elements") 
 (CFNC "void gtk_icon_theme_get_search_path GtkIconTheme* icon_theme gchar*** [path] gint* [n_elements]") 
 (CFNC "void gtk_icon_theme_append_search_path GtkIconTheme* icon_theme gchar* path") 
@@ -5076,7 +5076,7 @@
 (CFNC "gboolean gtk_list_store_remove GtkListStore* list_store GtkTreeIter* iter")
 ;;; type changed at some point
 
-(CFNC "void gdk_display_set_double_click_distance GdkDisplay* display guint distance")
+;;; 3.93.0 (CFNC "void gdk_display_set_double_click_distance GdkDisplay* display guint distance")
 (CFNC "GdkWindow* gdk_display_get_default_group GdkDisplay* display") 
 ;;; changed return type 2.90.1 (CFNC "void gdk_window_set_accept_focus GdkWindow* window gboolean accept_focus")
 (CFNC "GdkWindow* gdk_window_get_group GdkWindow* window")
@@ -5096,8 +5096,8 @@
 ;;; 3.13.2 (CFNC "void gtk_button_set_alignment GtkButton* button gfloat xalign gfloat yalign")
 ;;; 3.13.2 (CFNC "void gtk_button_get_alignment GtkButton* button gfloat* [xalign] gfloat* [yalign]")
 (CFNC "void gtk_cell_layout_reorder GtkCellLayout* cell_layout GtkCellRenderer* cell gint position")
-(CFNC "void gtk_clipboard_request_targets GtkClipboard* clipboard GtkClipboardTargetsReceivedFunc func lambda_data #func_info")
-(CFNC "gboolean gtk_clipboard_wait_for_targets GtkClipboard* clipboard GdkAtom** [targets] gint* [n_targets]") ; FREE (targets)
+;;; 3.93.0 (CFNC "void gtk_clipboard_request_targets GtkClipboard* clipboard GtkClipboardTargetsReceivedFunc func lambda_data #func_info")
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_wait_for_targets GtkClipboard* clipboard GdkAtom** [targets] gint* [n_targets]") ; FREE (targets)
 (CFNC "void gtk_menu_shell_cancel GtkMenuShell* menu_shell")
 (CFNC "GtkWidget* gtk_paned_get_child1 GtkPaned* paned")
 (CFNC "GtkWidget* gtk_paned_get_child2 GtkPaned* paned")
@@ -5127,8 +5127,8 @@
 (CINT "GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" "GtkFileChooserAction")
 
 ;;; 2.91.1 (CFNC "GtkWidget* gtk_combo_box_entry_new_text void")
-(CFNC "GtkTargetList* gtk_drag_source_get_target_list GtkWidget* widget")
-(CFNC "void gtk_drag_source_set_target_list GtkWidget* widget GtkTargetList* @target_list")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_drag_source_get_target_list GtkWidget* widget")
+;;; 3.93.0 (CFNC "void gtk_drag_source_set_target_list GtkWidget* widget GtkTargetList* @target_list")
 (CFNC "void gtk_entry_set_alignment GtkEntry* entry gfloat xalign")
 (CFNC "gfloat gtk_entry_get_alignment GtkEntry* entry")
 (CFNC "void gtk_file_chooser_set_use_preview_label GtkFileChooser* chooser gboolean use_label")
@@ -5174,7 +5174,7 @@
 (CFNC "GtkWidget* gtk_cell_view_new void")
 (CFNC "GtkWidget* gtk_cell_view_new_with_text gchar* text")
 (CFNC "GtkWidget* gtk_cell_view_new_with_markup gchar* markup")
-(CFNC "GtkWidget* gtk_cell_view_new_with_pixbuf GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC "GtkWidget* gtk_cell_view_new_with_pixbuf GdkPixbuf* pixbuf")
 ;;;(CFNC "void gtk_cell_view_set_value GtkCellView* cell_view GtkCellRenderer* renderer gchar* property GValue* value")
 ;;;(CFNC "void gtk_cell_view_set_values GtkCellView* cell_view GtkCellRenderer* renderer ...")
 (CFNC "void gtk_cell_view_set_model GtkCellView* cell_view GtkTreeModel* @model")
@@ -5247,8 +5247,8 @@
 (CFNC "void gtk_about_dialog_set_artists GtkAboutDialog* about gchar** artists" 'const)
 (CFNC "gchar* gtk_about_dialog_get_translator_credits GtkAboutDialog* about")
 (CFNC "void gtk_about_dialog_set_translator_credits GtkAboutDialog* about gchar* translator_credits")
-(CFNC "GdkPixbuf* gtk_about_dialog_get_logo GtkAboutDialog* about")
-(CFNC "void gtk_about_dialog_set_logo GtkAboutDialog* about GdkPixbuf* @logo")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_about_dialog_get_logo GtkAboutDialog* about")
+;;; 3.93.0 (CFNC "void gtk_about_dialog_set_logo GtkAboutDialog* about GdkPixbuf* @logo")
 
 ;;; order matters here
 (CFNC "gchar* gtk_about_dialog_get_program_name GtkAboutDialog* about")
@@ -5444,14 +5444,14 @@
 (CFNC "void gtk_menu_tool_button_set_menu GtkMenuToolButton* button GtkWidget* menu")
 (CFNC "GtkWidget* gtk_menu_tool_button_get_menu GtkMenuToolButton* button")
 ;;; out 2.11.6 (CFNC "void gtk_menu_tool_button_set_arrow_tooltip GtkMenuToolButton* button GtkTooltips* tooltips gchar* tip_text gchar* tip_private")
-(CFNC "gboolean gdk_display_supports_clipboard_persistence GdkDisplay* display")
+;;; 3.93.0 (CFNC "gboolean gdk_display_supports_clipboard_persistence GdkDisplay* display")
 ;;; (CFNC "void gdk_display_store_clipboard GdkDisplay* display GdkWindow* clipboard_window guint32 time_ GdkAtom* targets gint n_targets")
 (CFNC "gchar* gtk_about_dialog_get_logo_icon_name GtkAboutDialog* about")
 (CFNC "void gtk_about_dialog_set_logo_icon_name GtkAboutDialog* about gchar* icon_name")
 (CFNC "gchar* gtk_accelerator_get_label guint accelerator_key GdkModifierType accelerator_mods" 'free)
-(CFNC "gboolean gtk_clipboard_wait_is_target_available GtkClipboard* clipboard GdkAtom target")
-(CFNC "void gtk_clipboard_set_can_store GtkClipboard* clipboard GtkTargetEntry* @targets gint n_targets")
-(CFNC "void gtk_clipboard_store GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_wait_is_target_available GtkClipboard* clipboard GdkAtom target")
+;;; 3.93.0 (CFNC "void gtk_clipboard_set_can_store GtkClipboard* clipboard GtkTargetEntry* @targets gint n_targets")
+;;; 3.93.0 (CFNC "void gtk_clipboard_store GtkClipboard* clipboard")
 ;;; 3.12? (CFNC "gboolean gtk_alternative_dialog_button_order GdkScreen* @screen")
 ;;;(CFNC "void gtk_dialog_set_alternative_button_order GtkDialog* dialog gint first_response_id ...")
 (CFNC "void gtk_drag_dest_add_image_targets GtkWidget* widget")
@@ -5469,20 +5469,20 @@
 (CFNC "gint gtk_label_get_width_chars GtkLabel* label")
 ;;;(CFNC "void gtk_message_dialog_format_secondary_text GtkMessageDialog* message_dialog gchar* message_format ...")
 ;;;(CFNC "void gtk_message_dialog_format_secondary_markup GtkMessageDialog* message_dialog gchar* message_format ...")
-(CFNC "void gtk_target_list_add_text_targets GtkTargetList* list guint info")
-(CFNC "void gtk_target_list_add_image_targets GtkTargetList* list guint info gboolean writable")
-(CFNC "void gtk_target_list_add_uri_targets GtkTargetList* list guint info")
-(CFNC "gboolean gtk_selection_data_set_pixbuf GtkSelectionData* selection_data GdkPixbuf* pixbuf")
-(CFNC "GdkPixbuf* gtk_selection_data_get_pixbuf GtkSelectionData* selection_data") ; FREE with g_object_unref
-(CFNC "gboolean gtk_selection_data_set_uris GtkSelectionData* selection_data gchar** uris")
-(CFNC "gchar** gtk_selection_data_get_uris GtkSelectionData* selection_data") ; FREE with g_strfreev
+;;; 3.93.0 (CFNC "void gtk_target_list_add_text_targets GtkTargetList* list guint info")
+;;; 3.93.0 (CFNC "void gtk_target_list_add_image_targets GtkTargetList* list guint info gboolean writable")
+;;; 3.93.0 (CFNC "void gtk_target_list_add_uri_targets GtkTargetList* list guint info")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_set_pixbuf GtkSelectionData* selection_data GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_selection_data_get_pixbuf GtkSelectionData* selection_data") ; FREE with g_object_unref
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_set_uris GtkSelectionData* selection_data gchar** uris")
+;;; 3.93.0 (CFNC "gchar** gtk_selection_data_get_uris GtkSelectionData* selection_data") ; FREE with g_strfreev
 (CFNC "gboolean gtk_text_buffer_backspace GtkTextBuffer* buffer GtkTextIter* iter gboolean interactive gboolean default_editable")
 
 
-(CFNC "void gtk_clipboard_set_image GtkClipboard* clipboard GdkPixbuf* pixbuf")
-(CFNC "void gtk_clipboard_request_image GtkClipboard* clipboard GtkClipboardImageReceivedFunc func lambda_data #func_info")
-(CFNC "GdkPixbuf* gtk_clipboard_wait_for_image GtkClipboard* clipboard")
-(CFNC "gboolean gtk_clipboard_wait_is_image_available GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "void gtk_clipboard_set_image GtkClipboard* clipboard GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC "void gtk_clipboard_request_image GtkClipboard* clipboard GtkClipboardImageReceivedFunc func lambda_data #func_info")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_clipboard_wait_for_image GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_wait_is_image_available GtkClipboard* clipboard")
 (CFNC "void gtk_file_filter_add_pixbuf_formats GtkFileFilter* filter")
 (CFNC "void gtk_label_set_single_line_mode GtkLabel* label gboolean single_line_mode")
 (CFNC "gboolean gtk_label_get_single_line_mode GtkLabel* label")
@@ -5518,7 +5518,7 @@
 ;;; 3.91.0 (CFNC "gdouble gtk_label_get_angle GtkLabel* label") 
 
 ;;; missed earlier somehow
-(CFNC "void gtk_menu_set_screen GtkMenu* menu GdkScreen* @screen")
+;;; 3.93.0 (CFNC "void gtk_menu_set_screen GtkMenu* menu GdkScreen* @screen")
 
 (CINT "PANGO_ATTR_UNDERLINE_COLOR" "PangoAttrType")
 (CINT "PANGO_ATTR_STRIKETHROUGH_COLOR" "PangoAttrType")
@@ -5606,8 +5606,8 @@
 (CINT "GTK_ICON_VIEW_DROP_ABOVE" "GtkIconViewDropPosition")
 (CINT "GTK_ICON_VIEW_DROP_BELOW" "GtkIconViewDropPosition")
 
-(CFNC "GdkCursor* gdk_cursor_new_from_name GdkDisplay* display gchar* name" 'const)
-(CFNC "GdkPixbuf* gdk_cursor_get_image GdkCursor* cursor")
+;;; 3.93.0 (CFNC "GdkCursor* gdk_cursor_new_from_name GdkDisplay* display gchar* name" 'const)
+;;; 3.93.0 (CFNC "GdkPixbuf* gdk_cursor_get_image GdkCursor* cursor")
 ;;; 2.99.0 (CFNC "void gdk_display_warp_pointer GdkDisplay* display GdkScreen* screen gint x gint y")
 ;;; 2.91.0 (CFNC "GdkColormap* gdk_screen_get_rgba_colormap GdkScreen* screen")
 ;;; 3.89 (CFNC "GdkVisual* gdk_screen_get_rgba_visual GdkScreen* screen")
@@ -5625,8 +5625,8 @@
 (CFNC "void gtk_icon_view_set_cursor GtkIconView* icon_view GtkTreePath* path GtkCellRenderer* cell gboolean start_editing")
 (CFNC "gboolean gtk_icon_view_get_cursor GtkIconView* icon_view GtkTreePath** [path] GtkCellRenderer** [cell]")
 (CFNC "void gtk_icon_view_scroll_to_path GtkIconView* icon_view GtkTreePath* path gboolean use_align gfloat row_align gfloat col_align")
-(CFNC "void gtk_icon_view_enable_model_drag_source GtkIconView* icon_view GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
-(CFNC "void gtk_icon_view_enable_model_drag_dest GtkIconView* icon_view GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "void gtk_icon_view_enable_model_drag_source GtkIconView* icon_view GdkModifierType start_button_mask GtkTargetEntry* targets gint n_targets GdkDragAction actions")
+;;; 3.93.0 (CFNC "void gtk_icon_view_enable_model_drag_dest GtkIconView* icon_view GtkTargetEntry* targets gint n_targets GdkDragAction actions")
 (CFNC "void gtk_icon_view_unset_model_drag_source GtkIconView* icon_view")
 (CFNC "void gtk_icon_view_unset_model_drag_dest GtkIconView* icon_view")
 (CFNC "void gtk_icon_view_set_reorderable GtkIconView* icon_view gboolean reorderable")
@@ -5756,7 +5756,7 @@
 ;;; 3.14.0 (CCAST "GTK_STATUS_ICON(obj)" "GtkStatusIcon*")
 ;;; 3.14.0 (CCHK "GTK_IS_STATUS_ICON(obj)" "GtkStatusIcon*")
 
-(CFNC "GtkTargetList* gtk_target_list_ref GtkTargetList* list")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_target_list_ref GtkTargetList* list")
 
 (CINT "GDK_SUPER_MASK" "GdkModifierType")
 (CINT "GDK_HYPER_MASK" "GdkModifierType")
@@ -5801,14 +5801,14 @@
 (CFNC "gboolean gdk_display_supports_shapes GdkDisplay* display")
 (CFNC "gboolean gdk_display_supports_input_shapes GdkDisplay* display")
 ;;; 3.89 (CFNC "gboolean gdk_screen_is_composited GdkScreen* screen")
-(CFNC "void gdk_screen_set_resolution GdkScreen* screen gdouble dpi")
-(CFNC "gdouble gdk_screen_get_resolution GdkScreen* screen")
+;;; 3.93.0 (CFNC "void gdk_screen_set_resolution GdkScreen* screen gdouble dpi")
+;;; 3.93.0 (CFNC "gdouble gdk_screen_get_resolution GdkScreen* screen")
 ;;; 3.22.2 (CFNC "GdkWindow* gdk_screen_get_active_window GdkScreen* screen")
 ;;; 3.89 (CFNC "GList* gdk_screen_get_window_stack GdkScreen* screen")
 (CFNC "GdkWindowTypeHint gdk_window_get_type_hint GdkWindow* window")
-(CFNC "void gtk_clipboard_request_rich_text GtkClipboard* clipboard GtkTextBuffer* buffer GtkClipboardRichTextReceivedFunc func lambda_data #func_info")
-(CFNC "guint8* gtk_clipboard_wait_for_rich_text GtkClipboard* clipboard GtkTextBuffer* buffer GdkAtom* format gsize* [length]")
-(CFNC "gboolean gtk_clipboard_wait_is_rich_text_available GtkClipboard* clipboard GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "void gtk_clipboard_request_rich_text GtkClipboard* clipboard GtkTextBuffer* buffer GtkClipboardRichTextReceivedFunc func lambda_data #func_info")
+;;; 3.93.0 (CFNC "guint8* gtk_clipboard_wait_for_rich_text GtkClipboard* clipboard GtkTextBuffer* buffer GdkAtom* format gsize* [length]")
+;;; 3.93.0 (CFNC "gboolean gtk_clipboard_wait_is_rich_text_available GtkClipboard* clipboard GtkTextBuffer* buffer")
 ;;; 3.10 (CFNC "gchar* gtk_combo_box_get_title GtkComboBox* combo_box") ; 'const
 ;;; 3.10 (CFNC "void gtk_combo_box_set_title GtkComboBox* combo_box gchar* title")
 (CFNC "void gtk_drag_dest_set_track_motion GtkWidget* widget gboolean track_motion")
@@ -5836,21 +5836,21 @@
 (CFNC "void gtk_range_set_upper_stepper_sensitivity GtkRange* range GtkSensitivityType sensitivity")
 (CFNC "GtkSensitivityType gtk_range_get_upper_stepper_sensitivity GtkRange* range")
 (CFNC "void gtk_scrolled_window_unset_placement GtkScrolledWindow* scrolled_window")
-(CFNC "void gtk_target_list_add_rich_text_targets GtkTargetList* list guint info gboolean deserializable GtkTextBuffer* buffer")
-(CFNC "GtkTargetEntry* gtk_target_table_new_from_list GtkTargetList* list gint* [n_targets]")
-(CFNC "void gtk_target_table_free GtkTargetEntry* targets gint n_targets")
-(CFNC "gboolean gtk_selection_data_targets_include_rich_text GtkSelectionData* selection_data GtkTextBuffer* buffer")
-(CFNC "gboolean gtk_selection_data_targets_include_uri GtkSelectionData* selection_data")
-(CFNC "gboolean gtk_targets_include_text GdkAtom* targets gint n_targets")
-(CFNC "gboolean gtk_targets_include_rich_text GdkAtom* targets gint n_targets GtkTextBuffer* buffer")
-(CFNC "gboolean gtk_targets_include_image GdkAtom* targets gint n_targets gboolean writable")
-(CFNC "gboolean gtk_targets_include_uri GdkAtom* targets gint n_targets")
-;;;;(CFNC "GType gtk_target_list_get_type void")
+;;; 3.93.0 (CFNC "void gtk_target_list_add_rich_text_targets GtkTargetList* list guint info gboolean deserializable GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "GtkTargetEntry* gtk_target_table_new_from_list GtkTargetList* list gint* [n_targets]")
+;;; 3.93.0 (CFNC "void gtk_target_table_free GtkTargetEntry* targets gint n_targets")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_targets_include_rich_text GtkSelectionData* selection_data GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "gboolean gtk_selection_data_targets_include_uri GtkSelectionData* selection_data")
+;;; 3.93.0 (CFNC "gboolean gtk_targets_include_text GdkAtom* targets gint n_targets")
+;;; 3.93.0 (CFNC "gboolean gtk_targets_include_rich_text GdkAtom* targets gint n_targets GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "gboolean gtk_targets_include_image GdkAtom* targets gint n_targets gboolean writable")
+;;; 3.93.0 (CFNC "gboolean gtk_targets_include_uri GdkAtom* targets gint n_targets")
+;;; 3.93.0 ;;;;(CFNC "GType gtk_target_list_get_type void")
 (CFNC "GSList* gtk_size_group_get_widgets GtkSizeGroup* size_group")
 ;;; (CFNC-gtk2 "gboolean gtk_style_lookup_color GtkStyle* style gchar* color_name GdkColor* color")
 (CFNC "gboolean gtk_text_buffer_get_has_selection GtkTextBuffer* buffer")
-(CFNC "GtkTargetList* gtk_text_buffer_get_copy_target_list GtkTextBuffer* buffer")
-(CFNC "GtkTargetList* gtk_text_buffer_get_paste_target_list GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_text_buffer_get_copy_target_list GtkTextBuffer* buffer")
+;;; 3.93.0 (CFNC "GtkTargetList* gtk_text_buffer_get_paste_target_list GtkTextBuffer* buffer")
 ;(CFNC "void gtk_tree_store_insert_with_valuesv GtkTreeStore* tree_store GtkTreeIter* iter GtkTreeIter* parent gint position gint* columns GValue* values gint n_values")
 (CFNC "gboolean gtk_tree_view_get_headers_clickable GtkTreeView* tree_view")
 (CFNC "GtkEntry* gtk_tree_view_get_search_entry GtkTreeView* tree_view")
@@ -5987,7 +5987,7 @@
 (CFNC "gboolean gtk_recent_info_has_application GtkRecentInfo* info gchar* app_name")
 (CFNC "gchar** gtk_recent_info_get_groups GtkRecentInfo* info gsize* [length]")
 (CFNC "gboolean gtk_recent_info_has_group GtkRecentInfo* info gchar* group_name")
-(CFNC "GdkPixbuf* gtk_recent_info_get_icon GtkRecentInfo* info gint size")
+;;; 3.93.0 (CFNC "GdkPixbuf* gtk_recent_info_get_icon GtkRecentInfo* info gint size")
 (CFNC "gchar* gtk_recent_info_get_short_name GtkRecentInfo* info")
 (CFNC "gchar* gtk_recent_info_get_uri_display GtkRecentInfo* info")
 (CFNC "gint gtk_recent_info_get_age GtkRecentInfo* info")
@@ -6016,18 +6016,18 @@
 ;;; 3.14.0 ;;; 2.90.7 (CFNC "gboolean gtk_status_icon_get_blinking GtkStatusIcon* status_icon")
 ;;; 3.14.0 (CFNC "gboolean gtk_status_icon_is_embedded GtkStatusIcon* status_icon")
 ;;; 3.14.0 (CFNC "void gtk_status_icon_position_menu GtkMenu* menu gint* [x] gint* [y] gboolean* [push_in] gpointer user_data")
-(CFNC "GdkAtom gtk_text_buffer_register_serialize_format GtkTextBuffer* buffer gchar* mime_type GtkTextBufferSerializeFunc function gpointer user_data GDestroyNotify user_data_destroy")
-(CFNC "GdkAtom gtk_text_buffer_register_serialize_tagset GtkTextBuffer* buffer gchar* tagset_name")
-(CFNC "GdkAtom gtk_text_buffer_register_deserialize_format GtkTextBuffer* buffer gchar* mime_type GtkTextBufferDeserializeFunc function gpointer user_data GDestroyNotify user_data_destroy")
-(CFNC "GdkAtom gtk_text_buffer_register_deserialize_tagset GtkTextBuffer* buffer gchar* tagset_name")
-(CFNC "void gtk_text_buffer_unregister_serialize_format GtkTextBuffer* buffer GdkAtom format")
-(CFNC "void gtk_text_buffer_unregister_deserialize_format GtkTextBuffer* buffer GdkAtom format")
-(CFNC "void gtk_text_buffer_deserialize_set_can_create_tags GtkTextBuffer* buffer GdkAtom format gboolean can_create_tags")
-(CFNC "gboolean gtk_text_buffer_deserialize_get_can_create_tags GtkTextBuffer* buffer GdkAtom format")
-(CFNC "GdkAtom* gtk_text_buffer_get_serialize_formats GtkTextBuffer* buffer gint* [n_formats]")
-(CFNC "GdkAtom* gtk_text_buffer_get_deserialize_formats GtkTextBuffer* buffer gint* [n_formats]")
-(CFNC "guint8* gtk_text_buffer_serialize GtkTextBuffer* register_buffer GtkTextBuffer* content_buffer GdkAtom format GtkTextIter* start GtkTextIter* end gsize* [length]")
-(CFNC "gboolean gtk_text_buffer_deserialize GtkTextBuffer* register_buffer GtkTextBuffer* content_buffer GdkAtom format GtkTextIter* iter guint8* data gsize length GError** [error]")
+;;; 3.93.0 (CFNC "GdkAtom gtk_text_buffer_register_serialize_format GtkTextBuffer* buffer gchar* mime_type GtkTextBufferSerializeFunc function gpointer user_data GDestroyNotify user_data_destroy")
+;;; 3.93.0 (CFNC "GdkAtom gtk_text_buffer_register_serialize_tagset GtkTextBuffer* buffer gchar* tagset_name")
+;;; 3.93.0 (CFNC "GdkAtom gtk_text_buffer_register_deserialize_format GtkTextBuffer* buffer gchar* mime_type GtkTextBufferDeserializeFunc function gpointer user_data GDestroyNotify user_data_destroy")
+;;; 3.93.0 (CFNC "GdkAtom gtk_text_buffer_register_deserialize_tagset GtkTextBuffer* buffer gchar* tagset_name")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_unregister_serialize_format GtkTextBuffer* buffer GdkAtom format")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_unregister_deserialize_format GtkTextBuffer* buffer GdkAtom format")
+;;; 3.93.0 (CFNC "void gtk_text_buffer_deserialize_set_can_create_tags GtkTextBuffer* buffer GdkAtom format gboolean can_create_tags")
+;;; 3.93.0 (CFNC "gboolean gtk_text_buffer_deserialize_get_can_create_tags GtkTextBuffer* buffer GdkAtom format")
+;;; 3.93.0 (CFNC "GdkAtom* gtk_text_buffer_get_serialize_formats GtkTextBuffer* buffer gint* [n_formats]")
+;;; 3.93.0 (CFNC "GdkAtom* gtk_text_buffer_get_deserialize_formats GtkTextBuffer* buffer gint* [n_formats]")
+;;; 3.93.0 (CFNC "guint8* gtk_text_buffer_serialize GtkTextBuffer* register_buffer GtkTextBuffer* content_buffer GdkAtom format GtkTextIter* start GtkTextIter* end gsize* [length]")
+;;; 3.93.0 (CFNC "gboolean gtk_text_buffer_deserialize GtkTextBuffer* register_buffer GtkTextBuffer* content_buffer GdkAtom format GtkTextIter* iter guint8* data gsize length GError** [error]")
 
 
 
@@ -6308,7 +6308,7 @@
 
 
 
-(CFNC "GtkSettings* gtk_settings_get_for_screen GdkScreen* screen")
+;;; 3.93.0 (CFNC "GtkSettings* gtk_settings_get_for_screen GdkScreen* screen")
 
 
 ;;; maybe someday...
@@ -6734,8 +6734,8 @@
 
 
 ;;; (CFNC-gtk2 "gchar* gdk_color_to_string GdkColor* color")
-(CFNC "void gdk_event_request_motions GdkEventMotion* event")
-(CFNC "void gdk_notify_startup_complete_with_id gchar* startup_id")
+;;; 3.93.0 (CFNC "void gdk_event_request_motions GdkEventMotion* event")
+;;; 3.93.0 (CFNC "void gdk_notify_startup_complete_with_id gchar* startup_id")
 
 (CFNC "guint gdk_threads_add_idle_full gint priority GSourceFunc func lambda_data func_info GDestroyNotify notify")
 (CFNC "guint gdk_threads_add_idle GSourceFunc func lambda_data #func_info")
@@ -7022,10 +7022,10 @@
 (CFNC-2.16 "void gtk_entry_set_progress_pulse_step GtkEntry* entry gdouble fraction")
 (CFNC-2.16 "gdouble gtk_entry_get_progress_pulse_step GtkEntry* entry")
 (CFNC-2.16 "void gtk_entry_progress_pulse GtkEntry* entry")
-(CFNC-2.16 "void gtk_entry_set_icon_from_pixbuf GtkEntry* entry GtkEntryIconPosition icon_pos GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC-2.16 "void gtk_entry_set_icon_from_pixbuf GtkEntry* entry GtkEntryIconPosition icon_pos GdkPixbuf* pixbuf")
 ;;; 3.9.8 (CFNC-2.16 "void gtk_entry_set_icon_from_stock GtkEntry* entry GtkEntryIconPosition icon_pos gchar* stock_id")
-(CFNC-2.16 "void gtk_entry_set_icon_from_icon_name GtkEntry* entry GtkEntryIconPosition icon_pos gchar* icon_name")
-(CFNC-2.16 "void gtk_entry_set_icon_from_gicon GtkEntry* entry GtkEntryIconPosition icon_pos GIcon* icon")
+;;; 3.93.0 (CFNC-2.16 "void gtk_entry_set_icon_from_icon_name GtkEntry* entry GtkEntryIconPosition icon_pos gchar* icon_name")
+;;; 3.93.0 (CFNC-2.16 "void gtk_entry_set_icon_from_gicon GtkEntry* entry GtkEntryIconPosition icon_pos GIcon* icon")
 ;??? (CFNC-2.16 "GtkImageType gtk_entry_get_storage_type GtkEntry* entry GtkEntryIconPosition icon_pos")
 ;??? (CFNC-2.16 "GdkPixbuf* gtk_entry_get_pixbuf GtkEntry* entry GtkEntryIconPosition icon_pos")
 ;??? (CFNC-2.16 "gchar* gtk_entry_get_stock GtkEntry* entry GtkEntryIconPosition icon_pos" 'const)
@@ -7038,8 +7038,8 @@
 (CFNC-2.16 "gint gtk_entry_get_icon_at_pos GtkEntry* entry gint x gint y")
 (CFNC-2.16 "void gtk_entry_set_icon_tooltip_text GtkEntry* entry GtkEntryIconPosition icon_pos gchar* tooltip")
 (CFNC-2.16 "void gtk_entry_set_icon_tooltip_markup GtkEntry* entry GtkEntryIconPosition icon_pos gchar* tooltip")
-(CFNC-2.16 "void gtk_entry_set_icon_drag_source GtkEntry* entry GtkEntryIconPosition icon_pos GtkTargetList* target_list GdkDragAction actions")
-(CFNC-2.16 "gint gtk_entry_get_current_icon_drag_source GtkEntry* entry")
+;;; 3.93.0 (CFNC-2.16 "void gtk_entry_set_icon_drag_source GtkEntry* entry GtkEntryIconPosition icon_pos GtkTargetList* target_list GdkDragAction actions")
+;;; 3.93.0 (CFNC-2.16 "gint gtk_entry_get_current_icon_drag_source GtkEntry* entry")
 ;;; (CFNC-2.16 "void gtk_image_menu_item_set_use_stock GtkImageMenuItem* image_menu_item gboolean use_stock")
 ;;; (CFNC-2.16 "gboolean gtk_image_menu_item_get_use_stock GtkImageMenuItem* image_menu_item")
 ;;; (CFNC-2.16 "void gtk_image_menu_item_set_accel_group GtkImageMenuItem* image_menu_item GtkAccelGroup* accel_group")
@@ -7047,11 +7047,11 @@
 (CFNC-2.16 "gchar* gtk_menu_item_get_label GtkMenuItem* menu_item" 'const)
 (CFNC-2.16 "void gtk_menu_item_set_use_underline GtkMenuItem* menu_item gboolean setting")
 (CFNC-2.16 "gboolean gtk_menu_item_get_use_underline GtkMenuItem* menu_item")
-(CFNC-2.16 "GdkAtom gtk_selection_data_get_selection GtkSelectionData* selection_data")
+;;; 3.93.0 (CFNC-2.16 "GdkAtom gtk_selection_data_get_selection GtkSelectionData* selection_data")
 
 
 ;;; 2.15.1
-(CINT-2.16 "GDK_BLANK_CURSOR " "GdkCursorType")
+;;; 3.93.0 (CINT-2.16 "GDK_BLANK_CURSOR " "GdkCursorType")
 ;;; (CSTR-2.16 "GTK_STOCK_CAPS_LOCK_WARNING")
 
 ;;; 3.9.8
@@ -7261,7 +7261,7 @@
 (CFNC-2.20 "gboolean gtk_tool_palette_get_exclusive GtkToolPalette* palette GtkToolItemGroup* group")
 (CFNC-2.20 "gboolean gtk_tool_palette_get_expand GtkToolPalette* palette GtkToolItemGroup* group")
 ;;; (CFNC-2.20 "void gtk_tool_palette_set_icon_size GtkToolPalette* palette GtkIconSize icon_size")
-(CFNC-2.20 "void gtk_tool_palette_unset_icon_size GtkToolPalette* palette")
+;;; 3.93.0 (CFNC-2.20 "void gtk_tool_palette_unset_icon_size GtkToolPalette* palette")
 (CFNC-2.20 "void gtk_tool_palette_set_style GtkToolPalette* palette GtkToolbarStyle style")
 (CFNC-2.20 "void gtk_tool_palette_unset_style GtkToolPalette* palette")
 ;;; (CFNC-2.20 "GtkIconSize gtk_tool_palette_get_icon_size GtkToolPalette* palette")
@@ -7273,8 +7273,8 @@
 (CFNC-2.20 "void gtk_tool_palette_add_drag_dest GtkToolPalette* palette GtkWidget* widget GtkDestDefaults flags GtkToolPaletteDragTargets targets GdkDragAction actions")
 ;;; 2.91.2 (CFNC-2.20 "GtkAdjustment* gtk_tool_palette_get_hadjustment GtkToolPalette* palette")
 ;;; 2.91.2 (CFNC-2.20 "GtkAdjustment* gtk_tool_palette_get_vadjustment GtkToolPalette* palette")
-(CFNC-2.20 "GtkTargetEntry* gtk_tool_palette_get_drag_target_item void" 'const-return)
-(CFNC-2.20 "GtkTargetEntry* gtk_tool_palette_get_drag_target_group void" 'const-return)
+;;; 3.93.0 (CFNC-2.20 "GtkTargetEntry* gtk_tool_palette_get_drag_target_item void" 'const-return)
+;;; 3.93.0 (CFNC-2.20 "GtkTargetEntry* gtk_tool_palette_get_drag_target_group void" 'const-return)
 (CFNC-2.20 "GtkWidget* gtk_tool_item_group_new gchar* label" 'const)
 (CFNC-2.20 "void gtk_tool_item_group_set_label GtkToolItemGroup* group gchar* label" 'const)
 (CFNC-2.20 "void gtk_tool_item_group_set_label_widget GtkToolItemGroup* group GtkWidget* label_widget")
@@ -7341,9 +7341,9 @@
 ;;; 2.99.0 (CFNC-3.0 "GdkWindow* gdk_display_get_window_at_device_position GdkDisplay* display GdkDevice* device gint* [win_x] gint* [win_y]")
 ;;; 2.91.7 (CFNC-3.0 "void gdk_display_warp_device GdkDisplay* display GdkDevice* device GdkScreen* screen gint x gint y")
 ;;; 3.19.5 (CFNC-3.0 "GdkDeviceManager* gdk_display_get_device_manager GdkDisplay* display")
-(CFNC-3.0 "void gdk_drag_context_set_device GdkDragContext* context GdkDevice* device")
+;;; 3.93.0 (CFNC-3.0 "void gdk_drag_context_set_device GdkDragContext* context GdkDevice* device")
 (CFNC-3.0 "GdkDevice* gdk_drag_context_get_device GdkDragContext* context")
-(CFNC-3.0 "GList* gdk_drag_context_list_targets GdkDragContext* context")
+;;; 3.93.0 (CFNC-3.0 "GList* gdk_drag_context_list_targets GdkDragContext* context")
 
 (CFNC-3.0 "void gdk_event_set_device GdkEvent* event GdkDevice* device")
 (CFNC-3.0 "GdkDevice* gdk_event_get_device GdkEvent* event")
@@ -7437,7 +7437,7 @@
 (CFNC-3.0 "void gdk_window_move_region GdkWindow* window cairo_region_t* region gint dx gint dy")
 (CFNC-3.0 "gboolean gdk_keymap_get_num_lock_state GdkKeymap* keymap")
 (CFNC-3.0 "gboolean gdk_window_has_native GdkWindow* window")
-(CFNC-3.0 "GdkCursorType gdk_cursor_get_cursor_type GdkCursor* cursor")
+;;; 3.93.0 (CFNC-3.0 "GdkCursorType gdk_cursor_get_cursor_type GdkCursor* cursor")
 (CFNC-3.0 "gboolean gdk_display_is_closed GdkDisplay* display")
 ;;; 3.22.2 (CFNC-3.0 "cairo_pattern_t* gdk_window_get_background_pattern GdkWindow* window")
 (CFNC-3.0 "cairo_surface_t* gdk_window_create_similar_surface GdkWindow* window cairo_content_t content int width int height")
@@ -7628,7 +7628,7 @@
 (CFNC-3.0 "gboolean gdk_cairo_get_clip_rectangle cairo_t* cr GdkRectangle* rect")
 (CFNC-3.0 "cairo_region_t* gdk_cairo_region_create_from_surface cairo_surface_t* surface")
 ;;; 3.89 (CFNC-3.0 "GdkVisual* gdk_window_get_visual GdkWindow* window")
-(CFNC-3.0 "GdkScreen* gdk_window_get_screen GdkWindow* window")
+;;; 3.93.0 (CFNC-3.0 "GdkScreen* gdk_window_get_screen GdkWindow* window")
 (CFNC-3.0 "GdkDisplay* gdk_window_get_display GdkWindow* window")
 (CFNC-3.0 "int gdk_window_get_width GdkWindow* window")
 (CFNC-3.0 "int gdk_window_get_height GdkWindow* window")
@@ -7667,7 +7667,7 @@
 (CFNC-3.0 "void gtk_widget_shape_combine_region GtkWidget* widget cairo_region_t* region")
 (CFNC-3.0 "void gtk_widget_input_shape_combine_region GtkWidget* widget cairo_region_t* region")
 ;;; 3.89.2 (CFNC-3.0 "gboolean gtk_cairo_should_draw_window cairo_t* cr GdkWindow* window")
-(CFNC-3.0 "void gtk_cairo_transform_to_window cairo_t* cr GtkWidget* widget GdkWindow* window")
+;;; 3.93.0 (CFNC-3.0 "void gtk_cairo_transform_to_window cairo_t* cr GtkWidget* widget GdkWindow* window")
 ;;; 2.91.1 (CFNC-3.0 "GtkWidget* gtk_wrap_box_new GtkWrapAllocationMode mode GtkWrapBoxSpreading horizontal_spreading GtkWrapBoxSpreading vertical_spreading guint horizontal_spacing guint vertical_spacing")
 ;;; 2.91.1 (CFNC-3.0 "void gtk_wrap_box_set_allocation_mode GtkWrapBox* box GtkWrapAllocationMode mode")
 ;;; 2.91.1 (CFNC-3.0 "GtkWrapAllocationMode gtk_wrap_box_get_allocation_mode GtkWrapBox* box")
@@ -7691,9 +7691,9 @@
 (CFNC-3.0 "gboolean gtk_combo_box_get_has_entry GtkComboBox* combo_box")
 (CFNC-3.0 "void gtk_combo_box_set_entry_text_column GtkComboBox* combo_box gint text_column")
 (CFNC-3.0 "gint gtk_combo_box_get_entry_text_column GtkComboBox* combo_box")
-(CFNC-3.0 "GtkTargetEntry* gtk_target_entry_new char* target guint flags guint info" 'const)
-(CFNC-3.0 "GtkTargetEntry* gtk_target_entry_copy GtkTargetEntry* data")
-(CFNC-3.0 "void gtk_target_entry_free GtkTargetEntry* data")
+;;; 3.93.0 (CFNC-3.0 "GtkTargetEntry* gtk_target_entry_new char* target guint flags guint info" 'const)
+;;; 3.93.0 (CFNC-3.0 "GtkTargetEntry* gtk_target_entry_copy GtkTargetEntry* data")
+;;; 3.93.0 (CFNC-3.0 "void gtk_target_entry_free GtkTargetEntry* data")
 (CFNC-3.0 "gboolean gtk_widget_get_hexpand GtkWidget* widget")
 (CFNC-3.0 "void gtk_widget_set_hexpand GtkWidget* widget gboolean expand")
 (CFNC-3.0 "gboolean gtk_widget_get_hexpand_set GtkWidget* widget")
@@ -7841,10 +7841,10 @@
 ;;; (CFNC-3.0 "void gtk_activatable_set_use_action_appearance GtkActivatable* activatable gboolean use_appearance")
 ;;; (CFNC-3.0 "gboolean gtk_activatable_get_use_action_appearance GtkActivatable* activatable")
 
-(CINT-3.0 "GTK_TARGET_SAME_APP" "GtkTargetFlags")
-(CINT-3.0 "GTK_TARGET_SAME_WIDGET" "GtkTargetFlags")
-(CINT-3.0 "GTK_TARGET_OTHER_APP" "GtkTargetFlags")
-(CINT-3.0 "GTK_TARGET_OTHER_WIDGET" "GtkTargetFlags")
+;;; 3.93.0 (CINT-3.0 "GTK_TARGET_SAME_APP" "GtkTargetFlags")
+;;; 3.93.0 (CINT-3.0 "GTK_TARGET_SAME_WIDGET" "GtkTargetFlags")
+;;; 3.93.0 (CINT-3.0 "GTK_TARGET_OTHER_APP" "GtkTargetFlags")
+;;; 3.93.0 (CINT-3.0 "GTK_TARGET_OTHER_WIDGET" "GtkTargetFlags")
 
 (CINT-3.0 "GTK_ALIGN_FILL" "GtkAlign")
 (CINT-3.0 "GTK_ALIGN_START" "GtkAlign")
@@ -7913,7 +7913,7 @@
 (CFNC-3.0 "void gtk_tree_view_set_rubber_banding GtkTreeView* tree_view gboolean enable")
 (CFNC-3.0 "gboolean gtk_tree_view_get_rubber_banding GtkTreeView* tree_view")
 (CFNC-3.0 "void gtk_tooltip_set_markup GtkTooltip* tooltip gchar* markup" 'const)
-(CFNC-3.0 "void gtk_tooltip_set_icon GtkTooltip* tooltip GdkPixbuf* pixbuf")
+;;; 3.93.0 (CFNC-3.0 "void gtk_tooltip_set_icon GtkTooltip* tooltip GdkPixbuf* pixbuf")
 ;;; (CFNC-3.0 "void gtk_tooltip_set_icon_from_stock GtkTooltip* tooltip gchar* stock_id GtkIconSize size" 'const)
 (CFNC-3.0 "void gtk_tooltip_set_custom GtkTooltip* tooltip GtkWidget* custom_widget")
 (CFNC-3.0 "void gtk_tooltip_trigger_tooltip_query GdkDisplay* display")
@@ -7927,8 +7927,8 @@
 ;(CFNC-3.0 "AtkObject* gtk_combo_box_get_popup_accessible GtkComboBox* combo_box")
 
 ;(CFNC-3.0 "void gtk_clipboard_request_uris GtkClipboard* clipboard GtkClipboardURIReceivedFunc callback gpointer user_data")
-;(CFNC-3.0 "gchar** gtk_clipboard_wait_for_uris GtkClipboard* clipboard")
-(CFNC-3.0 "gboolean gtk_clipboard_wait_is_uris_available GtkClipboard* clipboard")
+;;; 3.93.0 ;(CFNC-3.0 "gchar** gtk_clipboard_wait_for_uris GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC-3.0 "gboolean gtk_clipboard_wait_is_uris_available GtkClipboard* clipboard")
 
 (CFNC-3.0 "void gtk_toolbar_set_drop_highlight_item GtkToolbar* toolbar GtkToolItem* tool_item gint index")
 (CFNC-3.0 "void gtk_tool_item_toolbar_reconfigured GtkToolItem* tool_item")
@@ -7954,12 +7954,12 @@
 (CFNC-3.0 "void gtk_progress_bar_set_show_text GtkProgressBar* pbar gboolean show_text")
 (CFNC-3.0 "gboolean gtk_progress_bar_get_show_text GtkProgressBar* pbar")
  
-(CFNC-3.0 "GtkWidget* gtk_invisible_new_for_screen GdkScreen* screen")
-(CFNC-3.0 "void gtk_invisible_set_screen GtkInvisible* invisible GdkScreen* screen")
-(CFNC-3.0 "GdkScreen* gtk_invisible_get_screen GtkInvisible* invisible")
+;;; 3.93.0 (CFNC-3.0 "GtkWidget* gtk_invisible_new_for_screen GdkScreen* screen")
+;;; 3.93.0 (CFNC-3.0 "void gtk_invisible_set_screen GtkInvisible* invisible GdkScreen* screen")
+;;; 3.93.0 (CFNC-3.0 "GdkScreen* gtk_invisible_get_screen GtkInvisible* invisible")
 
 (CFNC-3.0 "GtkImageType gtk_entry_get_icon_storage_type GtkEntry* entry GtkEntryIconPosition icon_pos")
-(CFNC-3.0 "GdkPixbuf* gtk_entry_get_icon_pixbuf GtkEntry* entry GtkEntryIconPosition icon_pos")
+;;; 3.93.0 (CFNC-3.0 "GdkPixbuf* gtk_entry_get_icon_pixbuf GtkEntry* entry GtkEntryIconPosition icon_pos")
 ;;; 3.9.8 (CFNC-3.0 "gchar* gtk_entry_get_icon_stock GtkEntry* entry GtkEntryIconPosition icon_pos" 'const-return)
 (CFNC-3.0 "GIcon* gtk_entry_get_icon_gicon GtkEntry* entry GtkEntryIconPosition icon_pos")
 ;(CFNC-3.0 "void gtk_entry_get_icon_area GtkEntry* entry GtkEntryIconPosition icon_pos GdkRectangle* [icon_area]")
@@ -8008,8 +8008,8 @@
 (CFNC-3.0 "gboolean gtk_window_get_skip_taskbar_hint GtkWindow* window")
 (CFNC-3.0 "void gtk_window_set_skip_pager_hint GtkWindow* window gboolean setting")
 (CFNC-3.0 "gboolean gtk_window_get_skip_pager_hint GtkWindow* window")
-(CFNC-3.0 "void gtk_window_set_screen GtkWindow* window GdkScreen* screen")
-(CFNC-3.0 "GdkScreen* gtk_window_get_screen GtkWindow* window")
+;;; 3.93.0 (CFNC-3.0 "void gtk_window_set_screen GtkWindow* window GdkScreen* screen")
+;;; 3.93.0 (CFNC-3.0 "GdkScreen* gtk_window_get_screen GtkWindow* window")
 (CFNC-3.0 "gboolean gtk_window_set_icon_from_file GtkWindow* window gchar* filename GError** [err]" 'const)
 (CFNC-3.0 "gboolean gtk_window_set_default_icon_from_file gchar* filename GError** [err]" 'const)
 (CFNC-3.0 "void gtk_window_fullscreen GtkWindow* window")
@@ -8033,7 +8033,7 @@
 ;gtkrecentchooserdialog: gtk_recent_chooser_dialog_new_for_manager
 
 (CFNC-3.0 "guchar* gtk_selection_data_get_data GtkSelectionData* selection_data" 'const)
-(CFNC-3.0 "gboolean gtk_selection_owner_set_for_display GdkDisplay* display GtkWidget* widget GdkAtom selection guint32 time")
+;;; 3.93.0 (CFNC-3.0 "gboolean gtk_selection_owner_set_for_display GdkDisplay* display GtkWidget* widget GdkAtom selection guint32 time")
 
 (CCAST-3.0 "GTK_TOOL_SHELL" "GtkToolShell*")
 (CCHK-3.0 "GTK_IS_TOOL_SHELL" "GtkToolShell*")
@@ -8091,7 +8091,7 @@
 
 ;;; 2.99.0
 
-(CFNC-3.0 "void gdk_device_get_position GdkDevice* device GdkScreen** screen gint* [x] gint* [y]")
+;;; 3.93.0 (CFNC-3.0 "void gdk_device_get_position GdkDevice* device GdkScreen** screen gint* [x] gint* [y]")
 (CFNC-3.0 "GdkWindow* gdk_device_get_window_at_position GdkDevice* device gint* [win_x] gint* [win_y]")
 (CFNC-3.0 "gboolean gtk_cell_view_get_draw_sensitive GtkCellView* cell_view")
 (CFNC-3.0 "void gtk_cell_view_set_draw_sensitive GtkCellView* cell_view gboolean draw_sensitive")
@@ -8116,15 +8116,15 @@
 (CSTR-3.0 "GTK_STYLE_CLASS_HORIZONTAL")
 (CSTR-3.0 "GTK_STYLE_CLASS_VERTICAL")
 (CFNC-3.0 "gboolean gtk_tree_view_is_blank_at_pos GtkTreeView* tree_view gint x gint y GtkTreePath** [path] GtkTreeViewColumn** [column] gint* [cell_x] gint* [cell_y]")
-(CFNC-3.0 "void gtk_widget_set_device_enabled GtkWidget* widget GdkDevice* device gboolean enabled")
-(CFNC-3.0 "gboolean gtk_widget_get_device_enabled GtkWidget* widget GdkDevice* device")
+;;; 3.93.0 (CFNC-3.0 "void gtk_widget_set_device_enabled GtkWidget* widget GdkDevice* device gboolean enabled")
+;;; 3.93.0 (CFNC-3.0 "gboolean gtk_widget_get_device_enabled GtkWidget* widget GdkDevice* device")
 (CFNC-3.0 "void gtk_window_set_has_user_ref_count GtkWindow* window gboolean setting")
 
 ;;; 2.99.2 -- no changes for xgdata I think
 ;;; 2.99.3
 
-(CFNC-3.0 "void gdk_selection_send_notify GdkWindow* requestor GdkAtom selection GdkAtom target GdkAtom property guint32 time_")
-(CFNC-3.0 "void gdk_selection_send_notify_for_display GdkDisplay* display GdkWindow* requestor GdkAtom selection GdkAtom target GdkAtom property guint32 time_")
+;;; 3.93.0 (CFNC-3.0 "void gdk_selection_send_notify GdkWindow* requestor GdkAtom selection GdkAtom target GdkAtom property guint32 time_")
+;;; 3.93.0 (CFNC-3.0 "void gdk_selection_send_notify_for_display GdkDisplay* display GdkWindow* requestor GdkAtom selection GdkAtom target GdkAtom property guint32 time_")
 ;(CFNC-3.0 "void gtk_text_view_get_cursor_locations GtkTextView* text_view GtkTextIter* iter GdkRectangle* [strong] GdkRectangle* [weak]")
 
 
@@ -8528,7 +8528,7 @@
 ;;; 3.9.0: lots of changes!  here we go...
 
 ;;; (CFNC-3.10 "GdkDisplayManager* gdk_display_manager_peek void")
-(CFNC-3.10 "void gdk_set_allowed_backends gchar* backends" 'const)
+;;; 3.93.0 (CFNC-3.10 "void gdk_set_allowed_backends gchar* backends" 'const)
 (CFNC-3.10 "void gtk_box_set_baseline_position GtkBox* box GtkBaselinePosition position")
 (CFNC-3.10 "GtkBaselinePosition gtk_box_get_baseline_position GtkBox* box")
 (CFNC-3.10 "void gtk_grid_remove_row GtkGrid* grid gint position")
@@ -8680,8 +8680,8 @@
 (CFNC-3.10 "void gtk_search_bar_connect_entry GtkSearchBar* bar GtkEntry* entry")
 (CFNC-3.10 "gboolean gtk_search_bar_get_search_mode GtkSearchBar* bar")
 (CFNC-3.10 "void gtk_search_bar_set_search_mode GtkSearchBar* bar gboolean search_mode")
-(CFNC-3.10 "gboolean gtk_search_bar_get_show_close_button GtkSearchBar* bar")
-(CFNC-3.10 "void gtk_search_bar_set_show_close_button GtkSearchBar* bar gboolean visible")
+;;; 3.93.0 (CFNC-3.10 "gboolean gtk_search_bar_get_show_close_button GtkSearchBar* bar")
+;;; 3.93.0 (CFNC-3.10 "void gtk_search_bar_set_show_close_button GtkSearchBar* bar gboolean visible")
 (CFNC-3.10 "gboolean gtk_search_bar_handle_event GtkSearchBar* bar GdkEvent* event")
 
 
@@ -8701,7 +8701,7 @@
 
 ;;; 3.9.8:
 (CFNC-3.10 "cairo_surface_t* gdk_cairo_surface_create_from_pixbuf GdkPixbuf* pixbuf int scale GdkWindow* for_window")
-(CFNC-3.10 "void gdk_device_get_position_double GdkDevice* device GdkScreen** [screen] gdouble* [x] gdouble* [y]")
+;;; 3.93.0 (CFNC-3.10 "void gdk_device_get_position_double GdkDevice* device GdkScreen** [screen] gdouble* [x] gdouble* [y]")
 (CFNC-3.10 "GdkWindow* gdk_device_get_window_at_position_double GdkDevice* device gdouble* [win_x] gdouble* [win_y]")
 ;;; 3.22.2 (CFNC-3.10 "gint gdk_screen_get_monitor_scale_factor GdkScreen* screen gint monitor_num")
 (CFNC-3.10 "gint gdk_window_get_scale_factor GdkWindow* window")
@@ -8728,14 +8728,14 @@
 
 ;;; 3.9.12:
 
-(CFNC-3.10 "GdkCursor* gdk_cursor_new_from_surface GdkDisplay* display cairo_surface_t* surface gdouble x gdouble y")
-(CFNC-3.10 "cairo_surface_t* gdk_cursor_get_surface GdkCursor* cursor gdouble* [x_hot] gdouble* [y_hot]")
+;;; 3.93.0 (CFNC-3.10 "GdkCursor* gdk_cursor_new_from_surface GdkDisplay* display cairo_surface_t* surface gdouble x gdouble y")
+;;; 3.93.0 (CFNC-3.10 "cairo_surface_t* gdk_cursor_get_surface GdkCursor* cursor gdouble* [x_hot] gdouble* [y_hot]")
 (CFNC-3.10 "GdkEventType gdk_event_get_event_type GdkEvent* event" 'const)
 ;;; (CFNC-3.10 "GtkWidget* gtk_button_new_from_icon_name gchar* icon_name GtkIconSize size" 'const)
 (CFNC-3.10 "void gtk_entry_set_tabs GtkEntry* entry PangoTabArray* tabs")
 (CFNC-3.10 "PangoTabArray* gtk_entry_get_tabs GtkEntry* entry")
-(CFNC-3.10 "gboolean gtk_header_bar_get_show_close_button GtkHeaderBar* bar")
-(CFNC-3.10 "void gtk_header_bar_set_show_close_button GtkHeaderBar* bar gboolean setting")
+;;; 3.93.0 (CFNC-3.10 "gboolean gtk_header_bar_get_show_close_button GtkHeaderBar* bar")
+;;; 3.93.0 (CFNC-3.10 "void gtk_header_bar_set_show_close_button GtkHeaderBar* bar gboolean setting")
 (CFNC-3.10 "void gtk_list_box_prepend GtkListBox* list_box GtkWidget* child")
 (CFNC-3.10 "void gtk_list_box_insert GtkListBox* list_box GtkWidget* child gint position")
 
@@ -8812,8 +8812,8 @@
 ;;; (CINT-3.12 "GTK_STATE_FLAG_LINK" "GtkStateFlags")
 ;;; (CINT-3.12 "GTK_STATE_FLAG_VISITED" "GtkStateFlags")
 
-(CFNC-3.12 "void gdk_window_set_event_compression GdkWindow* window gboolean event_compression")
-(CFNC-3.12 "gboolean gdk_window_get_event_compression GdkWindow* window")
+;;; 3.93.0 (CFNC-3.12 "void gdk_window_set_event_compression GdkWindow* window gboolean event_compression")
+;;; 3.93.0 (CFNC-3.12 "gboolean gdk_window_get_event_compression GdkWindow* window")
 ;;; (CFNC-3.12 "gboolean gtk_header_bar_get_show_fallback_app_menu GtkHeaderBar* bar")
 ;;; (CFNC-3.12 "void gtk_header_bar_set_show_fallback_app_menu GtkHeaderBar* bar gboolean setting")
 (CFNC-3.12 "void gtk_places_sidebar_set_local_only GtkPlacesSidebar* sidebar gboolean local_only")
@@ -9022,7 +9022,7 @@
 (CCHK-3.16 "GDK_IS_GL_CONTEXT(object)" "GdkGLContext*")
 
 (CFNC-3.16 "void gdk_cairo_draw_from_gl cairo_t* cr GdkWindow* window int source int source_type int buffer_scale int x int y int width int height")
-(CFNC-3.16 "void gdk_window_mark_paint_from_clip GdkWindow* window cairo_t* cr")
+;;; 3.93.0 (CFNC-3.16 "void gdk_window_mark_paint_from_clip GdkWindow* window cairo_t* cr")
 ;(CFNC-3.16 "GdkGLContext* gdk_window_create_gl_context GdkWindow* window GdkGLProfile profile GError** error")
 ;(CFNC-3.16 "void gtk_css_provider_load_from_resource GtkCssProvider* css_provider gchar* resource_path" 'const)
 (CFNC-3.16 "void gtk_label_set_xalign GtkLabel* label gfloat xalign")
@@ -9057,7 +9057,7 @@
 ;;; 3.92.1 (CFNC-3.16 "void gtk_render_extension GtkStyleContext* context cairo_t* cr gdouble x gdouble y gdouble width gdouble height GtkPositionType gap_side")
 (CFNC-3.16 "void gtk_render_handle GtkStyleContext* context cairo_t* cr gdouble x gdouble y gdouble width gdouble height")
 (CFNC-3.16 "void gtk_render_activity GtkStyleContext* context cairo_t* cr gdouble x gdouble y gdouble width gdouble height")
-(CFNC-3.16 "void gtk_render_icon GtkStyleContext* context cairo_t* cr GdkPixbuf* pixbuf gdouble x gdouble y")
+;;; 3.93.0 (CFNC-3.16 "void gtk_render_icon GtkStyleContext* context cairo_t* cr GdkPixbuf* pixbuf gdouble x gdouble y")
 (CFNC-3.16 "void gtk_render_icon_surface GtkStyleContext* context cairo_t* cr cairo_surface_t* surface gdouble x gdouble y")
 ;;; 3.15.2 (CFNC-3.16 "GdkVisual* gdk_gl_context_get_visual GdkGLContext* context")
 (CFNC-3.16 "GdkWindow* gdk_gl_context_get_window GdkGLContext* context")
@@ -9136,7 +9136,7 @@
 (CFNC-3.16 "gboolean gdk_gl_context_get_forward_compatible GdkGLContext* context")
 (CFNC-3.16 "gboolean gdk_gl_context_realize GdkGLContext* context GError** [error]")
 
-(CFNC-3.16 "GtkClipboard* gtk_clipboard_get_default GdkDisplay* display")
+;;; 3.93.0 (CFNC-3.16 "GtkClipboard* gtk_clipboard_get_default GdkDisplay* display")
 (CFNC-3.16 "void gtk_drag_cancel GdkDragContext* context")
 (CFNC-3.16 "gboolean gtk_search_entry_handle_event GtkSearchEntry* entry GdkEvent* event")
 
@@ -9201,8 +9201,8 @@
 
 ;;; 3.17.6:
 
-(CFNC-3.18 "void gdk_window_fullscreen_on_monitor GdkWindow* window gint monitor")
-(CFNC-3.18 "void gtk_window_fullscreen_on_monitor GtkWindow* window GdkScreen* screen gint monitor")
+;;; 3.93.0 (CFNC-3.18 "void gdk_window_fullscreen_on_monitor GdkWindow* window gint monitor")
+;;; 3.93.0 (CFNC-3.18 "void gtk_window_fullscreen_on_monitor GtkWindow* window GdkScreen* screen gint monitor")
 
 ;;; 3.17.7:
 
@@ -9303,7 +9303,7 @@
 (CFNC-3.20 "GdkSeat* gdk_device_get_seat GdkDevice* device")
 (CFNC-3.20 "GdkSeat* gdk_display_get_default_seat GdkDisplay* display")
 (CFNC-3.20 "GList* gdk_display_list_seats GdkDisplay* display")
-(CFNC-3.20 "GdkDragContext* gdk_drag_begin_from_point GdkWindow* window GdkDevice* device GList* targets gint x_root gint y_root")
+;;; 3.93.0 (CFNC-3.20 "GdkDragContext* gdk_drag_begin_from_point GdkWindow* window GdkDevice* device GList* targets gint x_root gint y_root")
 (CFNC-3.20 "void gdk_drag_drop_done GdkDragContext* context gboolean success")
 (CFNC-3.20 "void gdk_drag_context_set_hotspot GdkDragContext* context gint hot_x gint hot_y")
 (CFNC-3.20 "GdkGrabStatus gdk_seat_grab GdkSeat* seat GdkWindow* window GdkSeatCapabilities capabilities gboolean owner_events GdkCursor* cursor GdkEvent* event GdkSeatGrabPrepareFunc prepare_func lambda_data #func_info") ; the name func_info is built-in
@@ -9321,7 +9321,7 @@
 
 ;;; 3.19.7:
 
-(CFNC-3.20 "gboolean gdk_drag_context_manage_dnd GdkDragContext* context GdkWindow* ipc_window GdkDragAction actions")
+;;; 3.93.0 (CFNC-3.20 "gboolean gdk_drag_context_manage_dnd GdkDragContext* context GdkWindow* ipc_window GdkDragAction actions")
 (CFNC-3.20 "gboolean gdk_event_is_scroll_stop_event GdkEvent* event" 'const)
 (CFNC-3.20 "void gtk_text_view_reset_cursor_blink GtkTextView* text_view")
 
@@ -9390,8 +9390,8 @@
 (CFNC-3.22 "int gdk_event_get_scancode GdkEvent* event")
 (CFNC-3.22 "void gdk_gl_context_set_use_es GdkGLContext* context int use_es")
 (CFNC-3.22 "gboolean gdk_gl_context_get_use_es GdkGLContext* context")
-(CFNC-3.22 "PangoContext* gdk_pango_context_get_for_display GdkDisplay* display")
-(CFNC-3.22 "GdkAtom gtk_clipboard_get_selection GtkClipboard* clipboard")
+;;; 3.93.0 (CFNC-3.22 "PangoContext* gdk_pango_context_get_for_display GdkDisplay* display")
+;;; 3.93.0 (CFNC-3.22 "GdkAtom gtk_clipboard_get_selection GtkClipboard* clipboard")
 (CFNC-3.22 "void gtk_gl_area_set_use_es GtkGLArea* area gboolean use_es")
 (CFNC-3.22 "gboolean gtk_gl_area_get_use_es GtkGLArea* area")
 (CFNC-3.22 "guint gdk_device_tool_get_serial GdkDeviceTool* tool")
@@ -9684,15 +9684,15 @@
 (CFNC-3.99 "gboolean gdk_event_get_touchpad_scale GdkEvent* event double* [scale]")
 (CFNC-3.99 "gboolean gdk_event_get_touch_emulating_pointer GdkEvent* event gboolean* [emulating]")
 (CFNC-3.99 "gboolean gdk_event_get_grab_window GdkEvent* event GdkWindow** [window]")
-(CFNC-3.99 "gboolean gdk_event_get_window_state GdkEvent* event GdkWindowState* [changed] GdkWindowState* [new_state]")
+;;; 3.93.0 (CFNC-3.99 "gboolean gdk_event_get_window_state GdkEvent* event GdkWindowState* [changed] GdkWindowState* [new_state]")
 (CFNC-3.99 "gboolean gdk_event_get_focus_in GdkEvent* event gboolean* [focus_in]")
 (CFNC-3.99 "gboolean gdk_event_get_pad_group_mode GdkEvent* event guint* [group] guint* [mode]")
 (CFNC-3.99 "gboolean gdk_event_get_pad_button GdkEvent* event guint* [button]")
 (CFNC-3.99 "gboolean gdk_event_get_pad_axis_value GdkEvent* event guint* [index] gdouble* [value]")
-(CFNC-3.99 "gboolean gdk_event_get_property GdkEvent* event GdkAtom* [property] GdkPropertyState* [state]")
-(CFNC-3.99 "gboolean gdk_event_get_selection GdkEvent* event GdkAtom* [selection]")
-(CFNC-3.99 "gboolean gdk_event_get_selection_property GdkEvent* event GdkAtom* [property] GdkAtom* [target] GdkWindow** [requestor]")
-(CFNC-3.99 "void gdk_event_set_selection GdkEvent* event GdkWindow* window GdkAtom selection guint32 time")
+;;; 3.93.0 (CFNC-3.99 "gboolean gdk_event_get_property GdkEvent* event GdkAtom* [property] GdkPropertyState* [state]")
+;;; 3.93.0 (CFNC-3.99 "gboolean gdk_event_get_selection GdkEvent* event GdkAtom* [selection]")
+;;; 3.93.0 (CFNC-3.99 "gboolean gdk_event_get_selection_property GdkEvent* event GdkAtom* [property] GdkAtom* [target] GdkWindow** [requestor]")
+;;; 3.93.0 (CFNC-3.99 "void gdk_event_set_selection GdkEvent* event GdkWindow* window GdkAtom selection guint32 time")
 (CFNC-3.99 "gboolean gdk_event_get_axes GdkEvent* event gdouble** [axes] guint* [n_axes]")
 (CFNC-3.99 "void gtk_snapshot_push_blur GtkSnapshot* snapshot double radius char* name" 'const)
 (CFNC-3.99 "GtkWidget* gtk_emoji_chooser_new void")
@@ -9700,3 +9700,257 @@
 (CFNC-3.99 "void gtk_event_controller_scroll_set_flags GtkEventControllerScroll* controller GtkEventControllerScrollFlags flags")
 (CFNC-3.99 "GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags GtkEventControllerScroll* controller")
 
+
+;;; 3.93.0
+
+(CINT-3.99 "GDK_DEVICE_TYPE_MASTER" "GdkDeviceType")
+(CINT-3.99 "GDK_DEVICE_TYPE_SLAVE" "GdkDeviceType")
+(CINT-3.99 "GDK_DEVICE_TYPE_FLOATING" "GdkDeviceType")
+(CINT-3.99 "GDK_SEAT_CAPABILITY_TABLET_PAD" "GdkSeatCapabilities")
+(CINT-3.99 "GTK_ICON_SIZE_INHERIT" "GtkIconSize")
+(CINT-3.99 "GTK_ICON_SIZE_NORMAL" "GtkIconSize")
+(CINT-3.99 "GTK_ICON_SIZE_LARGE" "GtkIconSize")
+(CINT-3.99 "GTK_STATE_FLAG_FOCUS_VISIBLE" "GtkStateFlags")
+(CINT-3.99 "GTK_IMAGE_SURFACE" "GtkImageType")
+(CINT-3.99 "GTK_IMAGE_TEXTURE" "GtkImageType")
+
+(CCHK-3.99 "GTK_IS_EVENT_CONTROLLER_MOTION" "GtkEventControllerMotion*")
+(CCAST-3.99 "GTK_EVENT_CONTROLLER_MOTION" "GtkEventControllerMotion*")
+(CCHK-3.99 "GDK_IS_TEXTURE" "GdkTexture*")
+(CCAST-3.99 "GDK_TEXTURE" "GdkTexture*")
+(CCHK-3.99 "GDK_IS_EVENT" "GdkEvent*")
+(CCAST-3.99 "GDK_EVENT" "GdkEvent*")
+(CCHK-3.99 "GDK_IS_APP_LAUNCH_CONTEXT" "GdkAppLaunchContext*")
+(CCAST-3.99 "GDK_APP_LAUNCH_CONTEXT" "GdkAppLaunchContext*")
+(CCHK-3.99 "GDK_IS_CLIPBOARD" "GdkClipboard*")
+(CCAST-3.99 "GDK_CLIPBOARD" "GdkClipboard*")
+(CCHK-3.99 "GDK_IS_CONTENT_PROVIDER" "GdkContentProvider*")
+(CCAST-3.99 "GDK_CONTENT_PROVIDER" "GdkContentProvider*")
+(CCHK-3.99 "GDK_IS_CONTENT_SERIALIZER" "GdkContentSerializer*")
+(CCAST-3.99 "GDK_CONTENT_SERIALIZER" "GdkContentSerializer*")
+(CCHK-3.99 "GDK_IS_CONTENT_DESERIALIZER" "GdkContentDeserializer*")
+(CCAST-3.99 "GDK_CONTENT_DESERIALIZER" "GdkContentDeserializer*")
+
+(CFNC-3.99 "void gdk_app_launch_context_set_desktop GdkAppLaunchContext* context gint desktop")
+(CFNC-3.99 "void gdk_app_launch_context_set_timestamp GdkAppLaunchContext* context guint32 timestamp")
+(CFNC-3.99 "void gdk_app_launch_context_set_icon GdkAppLaunchContext* context GIcon* icon")
+(CFNC-3.99 "void gdk_app_launch_context_set_icon_name GdkAppLaunchContext* context char* icon_name" 'const)
+(CFNC-3.99 "GdkDisplay* gdk_clipboard_get_display GdkClipboard* clipboard")
+(CFNC-3.99 "GdkContentFormats* gdk_clipboard_get_formats GdkClipboard* clipboard")
+(CFNC-3.99 "gboolean gdk_clipboard_is_local GdkClipboard* clipboard")
+(CFNC-3.99 "GdkContentProvider* gdk_clipboard_get_content GdkClipboard* clipboard")
+(CFNC-3.99 "void gdk_clipboard_store_async GdkClipboard* clipboard int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "gboolean gdk_clipboard_store_finish GdkClipboard* clipboard GAsyncResult* result GError** [error]")
+(CFNC-3.99 "void gdk_clipboard_read_async GdkClipboard* clipboard char** mime_types int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "GInputStream* gdk_clipboard_read_finish GdkClipboard* clipboard har** out_mime_type GAsyncResult* result GError** [error]")
+(CFNC-3.99 "void gdk_clipboard_read_value_async GdkClipboard* clipboard GType type int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "GValue* gdk_clipboard_read_value_finish GdkClipboard* clipboard GAsyncResult* result GError** [error]" 'const-return)
+(CFNC-3.99 "void gdk_clipboard_read_texture_async GdkClipboard* clipboard GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "GdkTexture* gdk_clipboard_read_texture_finish GdkClipboard* clipboard GAsyncResult* result GError** [error]")
+(CFNC-3.99 "void gdk_clipboard_read_text_async GdkClipboard* clipboard GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "char* gdk_clipboard_read_text_finish GdkClipboard* clipboard GAsyncResult* result GError** [error]")
+(CFNC-3.99 "gboolean gdk_clipboard_set_content GdkClipboard* clipboard GdkContentProvider* provider")
+(CFNC-3.99 "void gdk_clipboard_set GdkClipboard* clipboard GType type ...")
+(CFNC-3.99 "void gdk_clipboard_set_valist GdkClipboard* clipboard GType type va_list args")
+(CFNC-3.99 "void gdk_clipboard_set_value GdkClipboard* clipboard GValue* value")
+(CFNC-3.99 "void gdk_clipboard_set_text GdkClipboard* clipboard char* text")
+(CFNC-3.99 "void gdk_clipboard_set_texture GdkClipboard* clipboard GdkTexture* texture")
+(CFNC-3.99 "char* gdk_intern_mime_type char* string" 'const)
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_new char** mime_types guint n_mime_types")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_new_for_gtype GType type")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_ref GdkContentFormats* formats")
+(CFNC-3.99 "void gdk_content_formats_unref GdkContentFormats* formats")
+(CFNC-3.99 "void gdk_content_formats_print GdkContentFormats* formats GString* string")
+(CFNC-3.99 "char* gdk_content_formats_to_string GdkContentFormats* formats")
+(CFNC-3.99 "GType* gdk_content_formats_get_gtypes GdkContentFormats* formats gsize* [n_gtypes]" 'const-return)
+(CFNC-3.99 "char* gdk_content_formats_get_mime_types GdkContentFormats* formats gsize* [n_mime_types]" 'const-return)
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_union GdkContentFormats* first GdkContentFormats* second")
+(CFNC-3.99 "gboolean gdk_content_formats_match GdkContentFormats* first GdkContentFormats* second")
+(CFNC-3.99 "GType gdk_content_formats_match_gtype GdkContentFormats* first GdkContentFormats* second")
+(CFNC-3.99 "char* gdk_content_formats_match_mime_type GdkContentFormats* first GdkContentFormats* second" 'const-return)
+(CFNC-3.99 "gboolean gdk_content_formats_contain_gtype GdkContentFormats* formats GType type")
+(CFNC-3.99 "gboolean gdk_content_formats_contain_mime_type GdkContentFormats* formats char* mime_type" 'const)
+(CFNC-3.99 "GdkContentFormatsBuilder *gdk_content_formats_builder_new void")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_builder_free GdkContentFormatsBuilder* builder")
+(CFNC-3.99 "void gdk_content_formats_builder_add_formats GdkContentFormatsBuilder* builder GdkContentFormats* formats")
+(CFNC-3.99 "void gdk_content_formats_builder_add_mime_type GdkContentFormatsBuilder* builder char* mime_type" 'const)
+(CFNC-3.99 "void gdk_content_formats_builder_add_gtype GdkContentFormatsBuilder* builder GType type")
+(CFNC-3.99 "GdkContentFormats* gdk_content_provider_ref_formats GdkContentProvider* provider")
+(CFNC-3.99 "GdkContentFormats* gdk_content_provider_ref_storable_formats GdkContentProvider* provider")
+(CFNC-3.99 "void gdk_content_provider_content_changed GdkContentProvider* provider")
+(CFNC-3.99 "void gdk_content_provider_write_mime_type_async GdkContentProvider* provider char* mime_type GOutputStream* stream int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data" 'const)
+(CFNC-3.99 "gboolean gdk_content_provider_write_mime_type_finish GdkContentProvider* provider GAsyncResult* result GError** [error]")
+(CFNC-3.99 "gboolean gdk_content_provider_get_value GdkContentProvider* provider GValue* value GError** [error]")
+(CFNC-3.99 "char* gdk_content_serializer_get_mime_type GdkContentSerializer* serializer" 'const-return)
+(CFNC-3.99 "GValue* gdk_content_serializer_get_value GdkContentSerializer* serializer" 'const-return)
+(CFNC-3.99 "GOutputStream* gdk_content_serializer_get_output_stream GdkContentSerializer* serializer")
+(CFNC-3.99 "int gdk_content_serializer_get_priority GdkContentSerializer* serializer")
+(CFNC-3.99 "GCancellable* gdk_content_serializer_get_cancellable GdkContentSerializer* serializer")
+(CFNC-3.99 "gpointer gdk_content_serializer_get_user_data GdkContentSerializer* serializer")
+(CFNC-3.99 "void gdk_content_serializer_set_task_data GdkContentSerializer* serializer gpointer data GDestroyNotify notify")
+(CFNC-3.99 "gpointer gdk_content_serializer_get_task_data GdkContentSerializer* serializer")
+(CFNC-3.99 "void gdk_content_serializer_return_success GdkContentSerializer* serializer")
+(CFNC-3.99 "void gdk_content_serializer_return_error GdkContentSerializer* serializer GError* error")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_union_serialize_gtypes GdkContentFormats* formats")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_union_serialize_mime_types GdkContentFormats* formats")
+(CFNC-3.99 "void gdk_content_register_serializer GType type char* mime_type GdkContentSerializeFunc serialize gpointer data GDestroyNotify notify" 'const)
+(CFNC-3.99 "void gdk_content_serialize_async GOutputStream* stream char* mime_type GValue* value int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data" 'const)
+(CFNC-3.99 "gboolean gdk_content_serialize_finish GAsyncResult* result GError** [error]")
+(CFNC-3.99 "char* gdk_content_deserializer_get_mime_type GdkContentDeserializer* deserializer" 'const-return)
+(CFNC-3.99 "GValue* gdk_content_deserializer_get_value GdkContentDeserializer* deserializer")
+(CFNC-3.99 "GInputStream* gdk_content_deserializer_get_input_stream GdkContentDeserializer* deserializer")
+(CFNC-3.99 "int gdk_content_deserializer_get_priority GdkContentDeserializer* deserializer")
+(CFNC-3.99 "GCancellable* gdk_content_deserializer_get_cancellable GdkContentDeserializer* deserializer")
+(CFNC-3.99 "gpointer gdk_content_deserializer_get_user_data GdkContentDeserializer* deserializer")
+(CFNC-3.99 "void gdk_content_deserializer_set_task_data GdkContentDeserializer* deserializer gpointer data GDestroyNotify notify")
+(CFNC-3.99 "gpointer gdk_content_deserializer_get_task_data GdkContentDeserializer* deserializer")
+(CFNC-3.99 "void gdk_content_deserializer_return_success GdkContentDeserializer* deserializer")
+(CFNC-3.99 "void gdk_content_deserializer_return_error GdkContentDeserializer* deserializer GError* error")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_union_deserialize_gtypes GdkContentFormats* formats")
+(CFNC-3.99 "GdkContentFormats* gdk_content_formats_union_deserialize_mime_types GdkContentFormats* formats")
+(CFNC-3.99 "void gdk_content_register_deserializer char* mime_type GType type GdkContentDeserializeFunc deserialize gpointer data GDestroyNotify notify")
+(CFNC-3.99 "void gdk_content_deserialize_async GInputStream* stream char* mime_type GType type int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "gboolean gdk_content_deserialize_finish GAsyncResult* result GValue* value GError** [error]")
+(CFNC-3.99 "GdkContentProvider* gdk_content_provider_new_for_value GValue* value")
+(CFNC-3.99 "GdkContentProvider* gdk_content_provider_new_for_bytes char* mime_type GBytes* bytes" 'const)
+;;; (CFNC-3.99 "GtkWidget* gtk_event_controller_get_widget GtkEventController* controller")
+;;; (CFNC-3.99 "gboolean gtk_event_controller_handle_event GtkEventController* controller GdkEvent* event")
+;;; (CFNC-3.99 "void gtk_event_controller_reset GtkEventController* controller")
+;;; (CFNC-3.99 "GtkPropagationPhase gtk_event_controller_get_propagation_phase GtkEventController* controller")
+;;; (CFNC-3.99 "void gtk_event_controller_set_propagation_phase GtkEventController* controller GtkPropagationPhase phase")
+(CFNC-3.99 "GtkEventController* gtk_event_controller_motion_new GtkWidget* widget")
+(CFNC-3.99 "GdkTexture* gdk_texture_new_for_data guchar* data int width int height int stride")
+(CFNC-3.99 "GdkTexture* gdk_texture_new_for_pixbuf GdkPixbuf* pixbuf")
+(CFNC-3.99 "GdkTexture* gdk_texture_new_from_resource char* resource_path" 'const)
+(CFNC-3.99 "GdkTexture* gdk_texture_new_from_file GFile* file GError** [error]")
+(CFNC-3.99 "int gdk_texture_get_width GdkTexture* texture")
+(CFNC-3.99 "int gdk_texture_get_height GdkTexture* texture")
+(CFNC-3.99 "void gdk_texture_download GdkTexture* texture guchar* data gsize stride")
+(CFNC-3.99 "GdkCursor* gdk_cursor_new_from_texture GdkTexture* texture int hotspot_x int hotspot_y GdkCursor* fallback")
+(CFNC-3.99 "GdkCursor* gdk_cursor_new_from_name gchar* name GdkCursor* fallback" 'const)
+(CFNC-3.99 "GdkCursor* gdk_cursor_get_fallback GdkCursor* cursor")
+(CFNC-3.99 "char* gdk_cursor_get_name GdkCursor* cursor" 'cons-return)
+(CFNC-3.99 "GdkTexture* gdk_cursor_get_texture GdkCursor* cursor")
+(CFNC-3.99 "int gdk_cursor_get_hotspot_x GdkCursor* cursor")
+(CFNC-3.99 "int gdk_cursor_get_hotspot_y GdkCursor* cursor")
+(CFNC-3.99 "void gdk_device_get_position GdkDevice* device gint* [x] gint* [y]")
+(CFNC-3.99 "void gdk_device_get_position_double GdkDevice* device gdouble* [x] gdouble* [y]")
+(CFNC-3.99 "GdkClipboard* gdk_display_get_clipboard GdkDisplay* display")
+(CFNC-3.99 "GdkClipboard* gdk_display_get_primary_clipboard GdkDisplay* display")
+(CFNC-3.99 "GdkKeymap* gdk_display_get_keymap GdkDisplay* display")
+(CFNC-3.99 "gboolean gdk_display_get_setting GdkDisplay* display char* name GValue* [value]" 'const)
+(CFNC-3.99 "GdkDisplay* gdk_drag_context_get_display GdkDragContext* context")
+(CFNC-3.99 "GdkContentFormats* gdk_drag_context_get_formats GdkDragContext* context")
+(CFNC-3.99 "void gdk_drop_read_async GdkDragContext* context char** mime_types int io_priority GCancellable* cancellable GAsyncReadyCallback callback gpointer user_data")
+(CFNC-3.99 "GInputStream* gdk_drop_read_finish GdkDragContext* context char** out_mime_type GAsyncResult* result GError** [error]")
+(CFNC-3.99 "GdkDragContext* gdk_drag_begin GdkWindow* window GdkDevice* device GdkContentProvider* content GdkDragAction actions gint dx gint dy")
+(CFNC-3.99 "gboolean gdk_monitor_is_valid GdkMonitor* monitor")
+(CFNC-3.99 "GList* gdk_seat_get_master_pointers GdkSeat* seat GdkSeatCapabilities capabilities")
+(CFNC-3.99 "GdkDragContext* gtk_drag_begin_with_coordinates GtkWidget* widget GdkDevice* device GdkContentFormats* targets GdkDragAction actions gint x gint y")
+(CFNC-3.99 "void gtk_drag_source_set_icon_surface GtkWidget* widget cairo_surface_t* surface")
+(CFNC-3.99 "void gtk_entry_set_icon_from_texture GtkEntry* entry GtkEntryIconPosition icon_pos GdkTexture* texture")
+(CFNC-3.99 "GdkTexture* gtk_entry_get_icon_texture GtkEntry* entry GtkEntryIconPosition icon_pos")
+(CFNC-3.99 "void gtk_entry_set_icon_drag_source GtkEntry* entry GtkEntryIconPosition icon_pos GdkContentFormats* formats GdkDragAction actions")
+(CFNC-3.99 "gboolean gtk_header_bar_get_show_title_buttons GtkHeaderBar* bar")
+(CFNC-3.99 "void gtk_header_bar_set_show_title_buttons GtkHeaderBar* bar gboolean setting")
+(CFNC-3.99 "GtkIconTheme* gtk_icon_theme_get_for_display GdkDisplay* display")
+(CFNC-3.99 "void gtk_icon_theme_set_display GtkIconTheme* icon_theme GdkDisplay* display")
+(CFNC-3.99 "GdkTexture* gtk_icon_info_load_texture GtkIconInfo* icon_info")
+(CFNC-3.99 "GtkWidget* gtk_image_new_from_texture GdkTexture* texture")
+(CFNC-3.99 "GtkWidget* gtk_image_new_from_icon_name gchar* icon_name" 'const)
+(CFNC-3.99 "GtkWidget* gtk_image_new_from_gicon GIcon* icon")
+(CFNC-3.99 "void gtk_image_set_from_texture GtkImage* image GdkTexture* texture")
+(CFNC-3.99 "void gtk_image_set_from_icon_name GtkImage* image gchar* icon_name" 'const)
+(CFNC-3.99 "void gtk_image_set_from_gicon GtkImage* image GIcon* icon")
+(CFNC-3.99 "void gtk_image_set_icon_size GtkImage* image GtkIconSize icon_size")
+(CFNC-3.99 "cairo_surface_t* gtk_image_get_surface GtkImage* image")
+(CFNC-3.99 "GdkTexture* gtk_image_get_texture GtkImage* image")
+(CFNC-3.99 "GtkIconSize gtk_image_get_icon_size GtkImage* image")
+(CFNC-3.99 "char* gtk_image_get_icon_name GtkImage* image" 'const-return)
+(CFNC-3.99 "GIcon* gtk_image_get_gicon GtkImage* image")
+(CFNC-3.99 "GtkWidget* gtk_invisible_new_for_display GdkDisplay* display")
+(CFNC-3.99 "void gtk_invisible_set_display GtkInvisible* invisible GdkDisplay* display")
+(CFNC-3.99 "GdkDisplay*gtk_invisible_get_display GtkInvisible* invisible")
+(CFNC-3.99 "void gtk_menu_set_display GtkMenu* menu GdkDisplay* display")
+(CFNC-3.99 "void gtk_render_icon GtkStyleContext* context cairo_t* cr GdkTexture* texture gdouble x gdouble y")
+(CFNC-3.99 "GdkContentFormats* gtk_content_formats_add_text_targets GdkContentFormats* list")
+(CFNC-3.99 "GdkContentFormats* gtk_content_formats_add_image_targets GdkContentFormats* list gboolean writable")
+(CFNC-3.99 "GdkContentFormats* gtk_content_formats_add_uri_targets GdkContentFormats* list")
+;;; (CFNC-3.99 "GdkAtom gtk_selection_data_get_target GtkSelectionData* selection_data")
+;;; (CFNC-3.99 "GdkAtom gtk_selection_data_get_data_type GtkSelectionData* selection_data")
+;;; (CFNC-3.99 "gint gtk_selection_data_get_format GtkSelectionData* selection_data")
+;;; (CFNC-3.99 "guchar* gtk_selection_data_get_data GtkSelectionData* selection_data" 'const-return)
+;;; (CFNC-3.99 "gint gtk_selection_data_get_length GtkSelectionData* selection_data")
+;;; (CFNC-3.99 "guchar* gtk_selection_data_get_data_with_length GtkSelectionData* selection_data gint* [length]" 'const-return)
+;;; (CFNC-3.99 "GdkDisplay* gtk_selection_data_get_display GtkSelectionData* selection_data")
+(CFNC-3.99 "void gtk_selection_data_set GtkSelectionData* selection_data GdkAtom type gint format guchar* data gint length")
+(CFNC-3.99 "gboolean gtk_selection_data_set_text GtkSelectionData* selection_data gchar* str gint len" 'const)
+(CFNC-3.99 "guchar* gtk_selection_data_get_text GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_selection_data_set_pixbuf GtkSelectionData* selection_data GdkPixbuf* pixbuf")
+(CFNC-3.99 "cairo_surface_t* gtk_selection_data_get_surface GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_selection_data_set_surface GtkSelectionData* selection_data cairo_surface_t* surface")
+(CFNC-3.99 "GdkPixbuf* gtk_selection_data_get_pixbuf GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_selection_data_set_texture GtkSelectionData* selection_data GdkTexture* texture")
+(CFNC-3.99 "GdkTexture* gtk_selection_data_get_texture GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_selection_data_set_uris GtkSelectionData* selection_data gchar** uris")
+(CFNC-3.99 "gchar** gtk_selection_data_get_uris GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_selection_data_get_targets GtkSelectionData* selection_data GdkAtom** [targets] gint* [natoms]")
+(CFNC-3.99 "gboolean gtk_selection_data_targets_include_text GtkSelectionData* selection_data")
+;;; (CFNC-3.99 "gboolean gtk_selection_data_targets_include_image GtkSelectionData* selection_data gboolean writable")
+(CFNC-3.99 "gboolean gtk_selection_data_targets_include_uri GtkSelectionData* selection_data")
+(CFNC-3.99 "gboolean gtk_targets_include_text GdkAtom* targets gint n_targets")
+(CFNC-3.99 "gboolean gtk_targets_include_image GdkAtom* targets gint n_targets gboolean writable")
+(CFNC-3.99 "gboolean gtk_targets_include_uri GdkAtom* targets gint n_targets")
+;;; (CFNC-3.99 "GtkSelectionData* gtk_selection_data_copy GtkSelectionData* data")
+;;; (CFNC-3.99 "void gtk_selection_data_free GtkSelectionData* data")
+(CFNC-3.99 "GtkSettings* gtk_settings_get_for_display GdkDisplay* display")
+(CFNC-3.99 "void gtk_style_context_add_provider_for_display GdkDisplay* display GtkStyleProvider* provider guint priority")
+(CFNC-3.99 "void gtk_style_context_remove_provider_for_display GdkDisplay* display GtkStyleProvider* provider")
+(CFNC-3.99 "void gtk_style_context_set_display GtkStyleContext* context GdkDisplay* display")
+(CFNC-3.99 "GdkDisplay* gtk_style_context_get_display GtkStyleContext* context")
+(CFNC-3.99 "void gtk_style_context_reset_widgets GdkDisplay* display")
+(CFNC-3.99 "void gtk_text_buffer_insert_texture GtkTextBuffer* buffer GtkTextIter* iter GdkTexture* texture")
+(CFNC-3.99 "void gtk_text_buffer_add_selection_clipboard GtkTextBuffer* buffer GdkClipboard* clipboard")
+(CFNC-3.99 "void gtk_text_buffer_remove_selection_clipboard GtkTextBuffer* buffer GdkClipboard* clipboard")
+(CFNC-3.99 "void gtk_text_buffer_cut_clipboard GtkTextBuffer* buffer GdkClipboard* clipboard gboolean default_editable")
+(CFNC-3.99 "void gtk_text_buffer_copy_clipboard GtkTextBuffer* buffer GdkClipboard* clipboard")
+(CFNC-3.99 "void gtk_text_buffer_paste_clipboard GtkTextBuffer* buffer GdkClipboard* clipboard")
+(CFNC-3.99 "GtkTextIter* override_location gboolean default_editable")
+(CFNC-3.99 "char* gtk_tool_palette_get_drag_target_item void" 'const-return)
+(CFNC-3.99 "char* gtk_tool_palette_get_drag_target_group void" 'const-return)
+(CFNC-3.99 "void gtk_tooltip_set_icon GtkTooltip* tooltip GdkTexture* texture")
+(CFNC-3.99 "void gtk_tooltip_set_icon_from_icon_name GtkTooltip* tooltip gchar* icon_name" 'const)
+(CFNC-3.99 "void gtk_tooltip_set_icon_from_gicon GtkTooltip* tooltip GIcon* gicon")
+(CFNC-3.99 "void gtk_tree_view_enable_model_drag_source GtkTreeView* tree_view GdkModifierType start_button_mask GdkContentFormats* formats GdkDragAction actions")
+(CFNC-3.99 "void gtk_tree_view_enable_model_drag_dest GtkTreeView* tree_view GdkContentFormats* formats GdkDragAction actions")
+(CFNC-3.99 "int gtk_widget_get_width GtkWidget* widget")
+(CFNC-3.99 "int gtk_widget_get_height GtkWidget* widget")
+(CFNC-3.99 "GdkClipboard* gtk_widget_get_clipboard GtkWidget* widget")
+(CFNC-3.99 "GdkClipboard* gtk_widget_get_primary_clipboard GtkWidget* widget")
+(CFNC-3.99 "gboolean gtk_widget_contains GtkWidget* widget gdouble x gdouble y")
+(CFNC-3.99 "GtkWidget* gtk_widget_pick GtkWidget* widget gdouble x gdouble y")
+(CFNC-3.99 "void gtk_widget_set_cursor GtkWidget* widget GdkCursor* cursor")
+(CFNC-3.99 "void gtk_widget_set_cursor_from_name GtkWidget* widget char* name" 'const)
+(CFNC-3.99 "GdkCursor* gtk_widget_get_cursor GtkWidget* widget")
+(CFNC-3.99 "void gtk_window_set_display GtkWindow* window GdkDisplay* display")
+(CFNC-3.99 "void gtk_window_set_icon GtkWindow* window GdkTexture* icon")
+(CFNC-3.99 "GdkTexture* gtk_window_get_icon GtkWindow* window")
+(CFNC-3.99 "void gtk_window_set_default_icon GdkTexture* icon")
+(CFNC-3.99 "void gtk_window_fullscreen_on_monitor GtkWindow* window GdkMonitor* monitor")
+(CFNC-3.99 "GdkTexture* gtk_text_iter_get_texture GtkTextIter* iter")
+(CFNC-3.99 "void gtk_icon_view_enable_model_drag_source GtkIconView* icon_view GdkModifierType start_button_mask GtkContentFormats* targets GdkDragAction actions")
+(CFNC-3.99 "void gtk_icon_view_enable_model_drag_dest GtkIconView* icon_view GtkContentFormats* targets GdkDragAction actions")
+(CFNC-3.99 "GdkTexture* gtk_about_dialog_get_logo GtkAboutDialog* about")
+(CFNC-3.99 "void gtk_about_dialog_set_logo GtkAboutDialog* about GdkTexture* @logo")
+(CFNC-3.99 "GtkWidget* gtk_button_new_from_icon_name gchar* icon_name" 'const)
+(CFNC-3.99 "GtkWidget* gtk_cell_view_new_with_texture GdkTexture* texture")
+(CFNC-3.99 "void gtk_drag_finish GdkDragContext* context gboolean success guint32 time")
+(CFNC-3.99 "void gtk_drag_set_icon_pixbuf GdkDragContext* context GdkTexture* texture gint hot_x gint hot_y")
+(CFNC-3.99 "void gtk_drag_dest_set GtkWidget* widget GtkDestDefaults flags GtkContentFormats* targets GdkDragAction actions")
+(CFNC-3.99 "char* gtk_drag_dest_find_target GtkWidget* widget GdkDragContext* context GtkContentFormats* @target_list" 'const-return)
+(CFNC-3.99 "GtkContentFormats* gtk_drag_dest_get_target_list GtkWidget* widget")
+(CFNC-3.99 "void gtk_drag_dest_set_target_list GtkWidget* widget GtkContentFormats* @target_list")
+(CFNC-3.99 "void gtk_drag_source_set GtkWidget* widget GdkModifierType start_button_mask GtkContentFormats* targets GdkDragAction actions")
+(CFNC-3.99 "GtkContentFormats* gtk_drag_source_get_target_list GtkWidget* widget")
+(CFNC-3.99 "void gtk_drag_source_set_target_list GtkWidget* widget GtkContentFormats* @target_list")
+(CFNC-3.99 "GtkWidget* gtk_scale_button_new gdouble min gdouble max gdouble step gchar** icons" 'const)
diff --git a/ws.rb b/ws.rb
index 5e7e3d7..0e0a241 100644
--- a/ws.rb
+++ b/ws.rb
@@ -25,7 +25,7 @@
 # SUCH DAMAGE.
 #
 # Created: 03/04/08 17:05:03
-# Changed: 17/09/25 22:15:33
+# Changed: 17/12/28 08:46:52
 
 # module WS
 #   ws_getlogin
@@ -282,7 +282,7 @@
 #
 # def my_notehook(name, start, dur)
 #   if name =~ /violin/
-#     Snd.message("%s: start %1.3f, dur %1.3f", name, start, dur)
+#     Snd.message("%s: start %0.3f, dur %0.3f", name, start, dur)
 #   end
 # end
 #
@@ -437,7 +437,7 @@ end
 
 with_silence do
   # warning: undefined variable
-  $clm_version            = "ruby 2017/09/25"
+  $clm_version            = "ruby 2017/12/28"
   $output                 ||= false
   $reverb                 ||= false
   $clm_array_print_length ||= 8
@@ -611,7 +611,7 @@ Usage: with_sound(:play, 1, :statistics, true) do fm_violin end"
   # require "v"
   # with_dac(:statistics, true,
   #          :info, true,
-  #          :dac_size, 8192 * 4,
+  #          :dac_size, 8192,
   #          :srate, 22050) do
   #   violin(0.5, 2.5, 440, 0.2, 0.1, [0, 0, 25, 1, 75, 1, 100, 0])
   #   fm_violin(0, 5, 330, 0.2, :fm_index, 10.5)
@@ -885,7 +885,7 @@ called with the instrument name INST_NAME, the start time START, and \
 the duration DUR.
 def my_notehook(name, start, dur)
   if name =~ /violin/
-    Snd.message(\"%s: start %1.3f, dur %1.3f\", name, start, dur)
+    Snd.message(\"%s: start %0.3f, dur %0.3f\", name, start, dur)
   end
 end
 with_sound(:notehook, :my_notehook) do
@@ -918,7 +918,7 @@ installs the @with_sound_note_hook and prints the line
       @clm_instruments.sort do |a, b|
         a[1][1] <=> b[1][1]
       end.each do |k, v|
-        s += format("%s [%1.3f-%1.3f]\n", *v)
+        s += format("%s [%0.3f-%0.3f]\n", *v)
         s += " " * 19
       end
       s.strip!
@@ -1062,7 +1062,7 @@ installs the @with_sound_note_hook and prints the line
     end
     if snd_time == :load or rbm_time == :load or snd_time < rbm_time
       if @verbose 
-        Snd.message("mix remake %s at %1.3f", out_file, start)
+        Snd.message("mix remake %s at %0.3f", out_file, start)
       end
       comm  = format("# written %s (Snd: %s)\n", Time.now, snd_version)
       comm += format("[%s, %s]\n", args.to_s.inspect, body_str.inspect)
@@ -1074,7 +1074,7 @@ installs the @with_sound_note_hook and prints the line
       end
     else
       if @verbose
-        Snd.message("mix %s at %1.3f", out_file, start)
+        Snd.message("mix %s at %0.3f", out_file, start)
       end
     end
     clm_mix(out_file, :output_frame, seconds2samples(start))
@@ -1083,7 +1083,7 @@ installs the @with_sound_note_hook and prints the line
   def with_sound_info(name, start, dur, body = binding)
     @clm_instruments.store(body, [name, start, dur])
     if @info and (not @notehook)
-      Snd.message("%s: start %1.3f, dur %1.3f", name, start, dur)
+      Snd.message("%s: start %0.3f, dur %0.3f", name, start, dur)
     end
     if @notehook
       @with_sound_note_hook.call(name, start, dur)
@@ -1224,7 +1224,7 @@ installs the @with_sound_note_hook and prints the line
     @clm_instruments.sort do |a, b|
       a[1][1] <=> b[1][1]
     end.each do |proc, vals|
-      Snd.message("=== %s [%1.3f-%1.3f] ===", *vals)
+      Snd.message("=== %s [%0.3f-%0.3f] ===", *vals)
       each_variables(binding?(proc) ? proc : proc.binding) do |var, val|
         Snd.message("%s = %s", var, val)
       end
@@ -1284,10 +1284,10 @@ installs the @with_sound_note_hook and prints the line
                   mus_header_type_name(@stat_header_type))
     end
     if @stat_framples > 0
-      Snd.message("  length: %1.3f (%d frames)",
+      Snd.message("  length: %0.3f (%d framples)",
                   @stat_framples / @srate.to_f, @stat_framples)
     end
-    Snd.message("    real: %1.3f  (utime %1.3f, stime %1.3f)",
+    Snd.message("    real: %0.3f  (utime %0.3f, stime %0.3f)",
                 @rtime, @utime, @stime)
     if @stat_framples > 1
       rt = (@srate.to_f / @stat_framples)
@@ -1648,16 +1648,16 @@ class With_Snd < Snd_Instrument
            "clm_mix(infile, *args)
         :output       = false
         :output_frame = 0
-        :frames       = framples(infile)
+        :framples     = framples(infile)
         :input_frame  = 0
         :scaler       = false
 Example: clm_mix(\"tmp\")")
   def clm_mix(infile, *args)
-    output, output_frame, frames, input_frame, scaler = nil
+    output, output_frame, framples, input_frame, scaler = nil
     optkey(args, binding,
            [:output, false],            # dummy arg
            [:output_frame, 0],
-           [:frames, framples(infile)],
+           [:framples, framples(infile)],
            [:input_frame, 0],
            [:scaler, false])
     unless sound?(snd = find_sound(infile))
@@ -1667,9 +1667,9 @@ Example: clm_mix(\"tmp\")")
     end
     [channels(snd), @channels].min.times do |chn|
       if scaler and scaler.nonzero?
-        scale_channel(scaler, input_frame, frames, snd, chn)
+        scale_channel(scaler, input_frame, framples, snd, chn)
       end
-      mix_vct(channel2vct(input_frame, frames, snd, chn),
+      mix_vct(channel2vct(input_frame, framples, snd, chn),
               output_frame, snd, chn, false)
     end
     snd.revert
@@ -1863,16 +1863,16 @@ class With_CLM < CLM_Instrument
            "clm_mix(infile, *args)
         :output       = false
         :output_frame = 0
-        :frames       = mus_sound_framples(infile)
+        :framples     = mus_sound_framples(infile)
         :input_frame  = 0
         :scaler       = false
 Example: clm_mix(\"tmp\")")
   def clm_mix(infile, *args)
-    output, output_frame, frames, input_frame, scaler = nil
+    output, output_frame, framples, input_frame, scaler = nil
     optkey(args, binding,
            [:output, false],
            [:output_frame, 0],
-           [:frames, mus_sound_framples(infile)],
+           [:framples, mus_sound_framples(infile)],
            [:input_frame, 0],
            [:scaler, false])
     chans = 0
@@ -1895,7 +1895,7 @@ Example: clm_mix(\"tmp\")")
     if chans > 0 and scaler and scaler != 0.0
       mx = Vct.new(chans * chans, scaler)
     end
-    mus_file_mix(output, infile, output_frame, frames, input_frame, mx)
+    mus_file_mix(output, infile, output_frame, framples, input_frame, mx)
     if outgen
       @ws_output = continue_sample2file(output)
     end
@@ -1964,7 +1964,7 @@ Example: clm_mix(\"tmp\")")
         mx = 1.0
       end
       clm_mix(@output, :output_frame, beg,
-              :frames, len, :scaler, @scaled_to / mx)
+              :framples, len, :scaler, @scaled_to / mx)
     end
   end
 
@@ -1977,7 +1977,7 @@ Example: clm_mix(\"tmp\")")
         @out_snd.save
       end
     else
-      clm_mix(@output, :output_frame, beg, :frames, len, :scaler, @scaled_by)
+      clm_mix(@output, :output_frame, beg, :framples, len, :scaler, @scaled_by)
     end
   end
 
@@ -1996,14 +1996,14 @@ Example: clm_mix(\"tmp\")")
     sr = @srate.to_f
     ch = "@"
     @stat_maxamp.each_pair do |s, v|
-      Snd.message("maxamp %s: %1.3f (near %1.3f secs)%s",
+      Snd.message("maxamp %s: %0.3f (near %0.3f secs)%s",
                   ch.next!, v, s / sr,
                   (@scaled_to or @scaled_by) ? " (before scaling)" : "")
     end
     if @reverb
       ch = "@"
       @stat_revamp.each_pair do |s, v|
-        Snd.message("revamp %s: %1.3f (near %1.3f secs)", ch.next!, v, s / sr)
+        Snd.message("revamp %s: %0.3f (near %0.3f secs)", ch.next!, v, s / sr)
       end
     end
   end
@@ -2040,8 +2040,8 @@ class With_DAC < Snd_Instrument
     set_mus_file_buffer_size($clm_file_buffer_size)
     init_process_time
     run_body(&body)
-    play_it
     stop_process_time
+    play_it
     if @statistics
       statistics
     end
@@ -2051,10 +2051,10 @@ class With_DAC < Snd_Instrument
   def statistics
     Snd.message("filename: %s", @output)
     Snd.message("   chans: %d, srate: %d", @channels, @srate.to_i)
-    Snd.message("    real: %1.3f  (utime %1.3f, stime %1.3f)",
+    Snd.message("    real: %0.3f  (utime %0.3f, stime %0.3f)",
                 @rtime, @utime, @stime)
     if @stat_framples > 0
-      Snd.message("  length: %1.3f (%d frames)",
+      Snd.message("  length: %0.3f (%d framples)",
                   @stat_framples / @srate.to_f, @stat_framples)
     end
   end
@@ -2077,8 +2077,6 @@ class With_DAC < Snd_Instrument
     set_mus_clipping(true)
     od = dac_size()
     set_dac_size(@dac_size)
-    len += @dac_size
-    len += mus_file_buffer_size()
     @stat_framples = len
     s = 0
     play(lambda do
diff --git a/xg.c b/xg.c
index 579bacb..1890fc1 100644
--- a/xg.c
+++ b/xg.c
@@ -11,7 +11,6 @@
  *    (xg-version): date string.
  *    (c-array->list arr len) derefs each member of arr, returning lisp list, len=#f: null terminated array
  *    (list->c-array lst ctype) packages each member of list as c-type "type" returning (wrapped) c array
- *    (make-target-entry lst) returns a GtkTargetEntry table, each member of 'lst' should be (list target flags info)
  *    (GtkTextIter): GtkTextIter struct
  *    (GtkTreeIter): GtkTreeIter struct
  *    (PangoRectangle): PangoRectangle struct
@@ -206,7 +205,7 @@ static void define_xm_obj(void)
   #define Xg_field_pre "F"
 #endif
 
-static Xen xg_GtkEventControllerScroll__symbol, xg_GtkEventControllerScrollFlags_symbol, xg_GtkSnapshot__symbol, xg_GdkPropertyState_symbol, xg_GdkTouchpadGesturePhase_symbol, xg_GdkNotifyType_symbol, xg_GdkCrossingMode_symbol, xg_GdkEventScroll__symbol, xg_GtkScrollbar__symbol, xg_GtkCenterBox__symbol, xg_GtkCheckButton__symbol, xg_GdkDrawContext__symbol, xg_GtkDrawingAreaDrawFunc_symbol, xg_GtkShortcutLabel__symbol, xg_GtkPadActionType_symbol, xg_GtkPadActionEntry__symbol, xg_GActionGroup__symbol, xg_GtkPadController__symbol, xg_GdkDevicePadFeature_symbol, xg_GdkDevicePad__symbol, xg_GdkDrawingContext__symbol, xg_GdkSubpixelLayout_symbol, xg_GdkMonitor__symbol, xg_GdkDeviceTool__symbol, xg_GdkAxisFlags_symbol, xg_GdkSeatGrabPrepareFunc_symbol, xg_GdkSeatCapabilities_symbol, xg_GdkGrabStatus_symbol, xg_GtkPopoverConstraint_symbol, xg_GtkShortcutsWindow__symbol, xg_GtkStackSidebar__symbol, xg_GtkSearchEntry__symbol, xg_GtkPopoverMenu__symbol, xg_GtkStyleContext__symbol, xg_GdkGLContext__symbol, xg_GtkGLArea__symbol, xg_GtkPropagationPhase_symbol, xg_GtkEventController__symbol, xg_GtkGestureZoom__symbol, xg_GtkGestureSwipe__symbol, xg_GtkGestureSingle__symbol, xg_GtkGestureRotate__symbol, xg_GtkGestureMultiPress__symbol, xg_GtkGesturePan__symbol, xg_GtkGestureDrag__symbol, xg_GdkEventSequence__symbol, xg_GtkEventSequenceState_symbol, xg_GtkGesture__symbol, xg_GtkAllocation__symbol, xg_GtkPopover__symbol, xg_GtkActionBar__symbol, xg_GtkFlowBox__symbol, xg_GtkFlowBoxChild__symbol, xg_GdkEventType_symbol, xg_GtkSearchBar__symbol, xg_GtkListBox__symbol, xg_GtkListBoxRow__symbol, xg_GtkHeaderBar__symbol, xg_GtkRevealerTransitionType_symbol, xg_GtkRevealer__symbol, xg_GtkStackTransitionType_symbol, xg_GtkStack__symbol, xg_GtkStackSwitcher__symbol, xg_GtkPlacesSidebar__symbol, xg_GtkPlacesOpenFlags_symbol, xg_GtkBaselinePosition_symbol, xg_GdkFullscreenMode_symbol, xg_GtkInputHints_symbol, xg_GtkInputPurpose_symbol, xg_GtkLevelBarMode_symbol, xg_GtkLevelBar__symbol, xg_GtkMenuButton__symbol, xg_GtkColorChooser__symbol, xg_GtkApplicationWindow__symbol, xg_GtkApplication__symbol, xg_GMenuModel__symbol, xg_guint___symbol, xg_GdkModifierIntent_symbol, xg_GtkFontChooser__symbol, xg_GdkScrollDirection_symbol, xg_GtkOverlay__symbol, xg_GtkWidgetPath__symbol, xg_GtkStateFlags_symbol, xg_GdkScreen___symbol, xg_GtkToolShell__symbol, xg_GtkWindowGroup__symbol, xg_GtkInvisible__symbol, xg_GtkOrientable__symbol, xg_GtkCellArea__symbol, xg_GtkBorder__symbol, xg_GtkSwitch__symbol, xg_GtkScrollablePolicy_symbol, xg_GtkScrollable__symbol, xg_GtkGrid__symbol, xg_GdkRGBA__symbol, xg_GtkComboBoxText__symbol, xg_GtkAlign_symbol, xg_GtkSizeRequestMode_symbol, xg_cairo_region_overlap_t_symbol, xg_cairo_rectangle_int_t__symbol, xg_double__symbol, xg_cairo_rectangle_t__symbol, xg_cairo_device_t__symbol, xg_cairo_bool_t_symbol, xg_cairo_text_cluster_flags_t__symbol, xg_cairo_text_cluster_t___symbol, xg_cairo_glyph_t___symbol, xg_cairo_text_cluster_flags_t_symbol, xg_cairo_text_cluster_t__symbol, xg_cairo_region_t__symbol, xg_GtkMessageDialog__symbol, xg_GdkDevice__symbol, xg_GtkAccessible__symbol, xg_GdkModifierType__symbol, xg_GtkToolPaletteDragTargets_symbol, xg_GtkToolItemGroup__symbol, xg_GtkToolPalette__symbol, xg_GtkPackType_symbol, xg_GtkSpinner__symbol, xg_GtkEntryBuffer__symbol, xg_GtkMessageType_symbol, xg_GtkInfoBar__symbol, xg_GIcon__symbol, xg_GtkEntryIconPosition_symbol, xg_GFile__symbol, xg_GtkScaleButton__symbol, xg_GtkCalendarDetailFunc_symbol, xg_GtkTooltip__symbol, xg_cairo_rectangle_list_t__symbol, xg_void__symbol, xg_cairo_filter_t_symbol, xg_cairo_extend_t_symbol, xg_cairo_format_t_symbol, xg_cairo_path_t__symbol, xg_cairo_destroy_func_t_symbol, xg_cairo_user_data_key_t__symbol, xg_cairo_text_extents_t__symbol, xg_cairo_font_extents_t__symbol, xg_cairo_font_face_t__symbol, xg_cairo_glyph_t__symbol, xg_cairo_scaled_font_t__symbol, xg_cairo_font_weight_t_symbol, xg_cairo_font_slant_t_symbol, xg_cairo_hint_metrics_t_symbol, xg_cairo_hint_style_t_symbol, xg_cairo_subpixel_order_t_symbol, xg_cairo_status_t_symbol, xg_bool_symbol, xg_cairo_matrix_t__symbol, xg_cairo_line_join_t_symbol, xg_cairo_line_cap_t_symbol, xg_cairo_fill_rule_t_symbol, xg_cairo_antialias_t_symbol, xg_cairo_operator_t_symbol, xg_cairo_pattern_t__symbol, xg_cairo_content_t_symbol, xg_GtkPageSet_symbol, xg_GtkPageRange__symbol, xg_GtkPrintPages_symbol, xg_GtkPrintQuality_symbol, xg_GtkPrintDuplex_symbol, xg_GtkPaperSize__symbol, xg_GtkPageOrientation_symbol, xg_GtkPrintSettingsFunc_symbol, xg_GtkPageSetupDoneFunc_symbol, xg_GtkPrintStatus_symbol, xg_GtkPrintOperationAction_symbol, xg_GtkPrintOperationResult_symbol, xg_GtkUnit_symbol, xg_GtkPrintSettings__symbol, xg_GtkPrintOperation__symbol, xg_GtkPageSetup__symbol, xg_GtkPrintContext__symbol, xg_cairo_surface_t__symbol, xg_GtkTreeViewGridLines_symbol, xg_GtkRecentData__symbol, xg_GtkTextBufferDeserializeFunc_symbol, xg_GtkTextBufferSerializeFunc_symbol, xg_time_t_symbol, xg_GtkRecentChooserMenu__symbol, xg_GtkRecentManager__symbol, xg_GtkRecentFilter__symbol, xg_GtkRecentSortFunc_symbol, xg_GtkRecentSortType_symbol, xg_GtkRecentChooser__symbol, xg_GtkLinkButton__symbol, xg_GtkAssistantPageType_symbol, xg_GtkAssistantPageFunc_symbol, xg_GtkAssistant__symbol, xg_GDestroyNotify_symbol, xg_GtkTreeViewSearchPositionFunc_symbol, xg_GtkSensitivityType_symbol, xg_GtkClipboardRichTextReceivedFunc_symbol, xg_GtkMenuBar__symbol, xg_GtkPackDirection_symbol, xg_GtkIconViewDropPosition_symbol, xg_GValue__symbol, xg_GLogFunc_symbol, xg_PangoMatrix__symbol, xg_PangoRenderPart_symbol, xg_PangoRenderer__symbol, xg_GtkClipboardImageReceivedFunc_symbol, xg_GtkMenuToolButton__symbol, xg_GtkFileChooserButton__symbol, xg_PangoScriptIter__symbol, xg_PangoScript_symbol, xg_PangoAttrFilterFunc_symbol, xg_PangoEllipsizeMode_symbol, xg_GtkIconViewForeachFunc_symbol, xg_GtkAboutDialog__symbol, xg_GtkTreeViewRowSeparatorFunc_symbol, xg_GtkCellView__symbol, xg_GtkAccelMap__symbol, xg_GtkClipboardTargetsReceivedFunc_symbol, xg_GtkOrientation_symbol, xg_GtkToolButton__symbol, xg_GtkIconLookupFlags_symbol, xg_GtkIconInfo__symbol, xg_gchar___symbol, xg_GtkIconTheme__symbol, xg_GtkFileChooser__symbol, xg_GtkCellLayoutDataFunc_symbol, xg_GtkCellLayout__symbol, xg_GtkFileFilterFunc_symbol, xg_GtkFileFilterFlags_symbol, xg_GtkFileFilter__symbol, xg_GSourceFunc_symbol, xg_GtkToggleToolButton__symbol, xg_GtkSeparatorToolItem__symbol, xg_GtkRadioToolButton__symbol, xg_GtkEntryCompletionMatchFunc_symbol, xg_GtkFontButton__symbol, xg_GtkExpander__symbol, xg_GtkComboBox__symbol, xg_GtkTreeModelFilter__symbol, xg_GtkFileChooserAction_symbol, xg_GtkToolItem__symbol, xg_GtkCalendarDisplayOptions_symbol, xg_GdkScreen__symbol, xg_PangoLayoutRun__symbol, xg_PangoLayoutIter__symbol, xg_PangoLayoutLine__symbol, xg_int__symbol, xg_PangoAlignment_symbol, xg_PangoWrapMode_symbol, xg_PangoItem__symbol, xg_PangoGlyphString__symbol, xg_PangoFontMap__symbol, xg_PangoGlyph_symbol, xg_PangoFontFace__symbol, xg_PangoFontFace___symbol, xg_PangoFontFamily__symbol, xg_PangoFontMask_symbol, xg_PangoFontDescription___symbol, xg_PangoCoverageLevel_symbol, xg_PangoCoverage__symbol, xg_PangoFontMetrics__symbol, xg_PangoFontset__symbol, xg_PangoFont__symbol, xg_PangoFontFamily___symbol, xg_PangoLogAttr__symbol, xg_PangoAnalysis__symbol, xg_PangoAttrList___symbol, xg_PangoAttrIterator__symbol, xg_PangoRectangle__symbol, xg_PangoUnderline_symbol, xg_PangoStretch_symbol, xg_PangoVariant_symbol, xg_PangoWeight_symbol, xg_PangoStyle_symbol, xg_guint16_symbol, xg_PangoAttribute__symbol, xg_PangoAttrType_symbol, xg_PangoColor__symbol, xg_GdkGravity_symbol, xg_GtkWindowPosition_symbol, xg_GtkWindowType_symbol, xg_GtkWindow__symbol, xg_GtkTextDirection_symbol, xg_AtkObject__symbol, xg_GtkDirectionType_symbol, xg_GtkViewport__symbol, xg_GtkTreeViewSearchEqualFunc_symbol, xg_GtkTreeViewDropPosition_symbol, xg_GtkTreeViewMappingFunc_symbol, xg_GtkTreeViewColumnDropFunc_symbol, xg_GtkTreeViewColumnSizing_symbol, xg_GtkTreeCellDataFunc_symbol, xg_GtkTreeStore__symbol, xg_GtkTreeIterCompareFunc_symbol, xg_GtkSortType_symbol, xg_GtkTreeSortable__symbol, xg_GtkTreeSelectionForeachFunc_symbol, xg_GtkTreeModel___symbol, xg_GtkTreeSelectionFunc_symbol, xg_GtkSelectionMode_symbol, xg_GtkTreeModelSort__symbol, xg_GtkTreeModelForeachFunc_symbol, xg_GtkTreeModelFlags_symbol, xg_GtkTreeRowReference__symbol, xg_GtkTreeDragDest__symbol, xg_GtkTreeDragSource__symbol, xg_GtkToolbarStyle_symbol, xg_GtkToolbar__symbol, xg_GtkToggleButton__symbol, xg_PangoTabArray__symbol, xg_GtkWrapMode_symbol, xg_GtkTextWindowType_symbol, xg_GtkTextView__symbol, xg_GtkTextTagTableForeach_symbol, xg_GtkTextSearchFlags_symbol, xg_GtkTextCharPredicate_symbol, xg_GtkTextMark__symbol, xg_GtkTextChildAnchor__symbol, xg_GtkTextIter__symbol, xg_GtkTextTagTable__symbol, xg_GtkTextBuffer__symbol, xg_GtkStatusbar__symbol, xg_GtkSpinType_symbol, xg_GtkSpinButtonUpdatePolicy_symbol, xg_GtkSpinButton__symbol, xg_GtkSizeGroupMode_symbol, xg_GtkSizeGroup__symbol, xg_GtkSettings__symbol, xg_GtkCornerType_symbol, xg_GtkPolicyType_symbol, xg_GtkScrolledWindow__symbol, xg_GtkScale__symbol, xg_GtkRange__symbol, xg_GtkRadioMenuItem__symbol, xg_GtkRadioButton__symbol, xg_GtkProgressBar__symbol, xg_GtkPaned__symbol, xg_GtkPositionType_symbol, xg_GtkNotebook__symbol, xg_GtkMenuShell__symbol, xg_gint__symbol, xg_GtkMenuItem__symbol, xg_GtkMenu__symbol, xg_PangoLanguage__symbol, xg_GtkListStore__symbol, xg_GtkLayout__symbol, xg_GtkJustification_symbol, xg_GtkLabel__symbol, xg_guint16__symbol, xg_GtkIMContextSimple__symbol, xg_GdkEventKey__symbol, xg_PangoAttrList__symbol, xg_GtkIMContext__symbol, xg_GtkImageType_symbol, xg_GtkImage__symbol, xg_GtkShadowType_symbol, xg_GtkFrame__symbol, xg_GtkFixed__symbol, xg_PangoLayout__symbol, xg_GtkEntry__symbol, xg_GtkEditable__symbol, xg_GtkTargetList__symbol, xg_GtkDestDefaults_symbol, xg_etc_symbol, xg_GtkDialog__symbol, xg_GtkCallback_symbol, xg_GtkContainer__symbol, xg_GtkClipboardTextReceivedFunc_symbol, xg_GtkClipboardReceivedFunc_symbol, xg_GtkClipboardClearFunc_symbol, xg_GtkClipboardGetFunc_symbol, xg_GtkTargetEntry__symbol, xg_GtkCheckMenuItem__symbol, xg_GtkCellRendererToggle__symbol, xg_GtkCellRendererText__symbol, xg_GtkCellRendererState_symbol, xg_GtkCellEditable__symbol, xg_GtkCalendar__symbol, xg_GtkReliefStyle_symbol, xg_GtkButton__symbol, xg_GtkBox__symbol, xg_GtkBin__symbol, xg_GtkBindingSet__symbol, xg_GtkButtonBox__symbol, xg_GtkButtonBoxStyle_symbol, xg_GtkAspectFrame__symbol, xg_GtkAdjustment__symbol, xg_GtkAccelMapForeach_symbol, xg_GtkAccelLabel__symbol, xg_GtkAccelGroupEntry__symbol, xg_lambda3_symbol, xg_GSList__symbol, xg_GObject__symbol, xg_GtkAccelFlags_symbol, xg_GtkAccelGroup__symbol, xg_GTimeVal__symbol, xg_GdkPixbufAnimationIter__symbol, xg_GdkPixbufAnimation__symbol, xg_GdkInterpType_symbol, xg_double_symbol, xg_gfloat_symbol, xg_guchar_symbol, xg_char___symbol, xg_GdkPixbufDestroyNotify_symbol, xg_GError__symbol, xg_int_symbol, xg_GdkColorspace_symbol, xg_GdkWindowTypeHint_symbol, xg_GdkWindowHints_symbol, xg_GdkGeometry__symbol, xg_GdkWindowEdge_symbol, xg_GdkWMFunction_symbol, xg_GdkWMDecoration_symbol, xg_GdkEventMask_symbol, xg_GdkWindowState_symbol, xg_GdkFilterFunc_symbol, xg_GdkWindowType_symbol, xg_GdkPropMode_symbol, xg_guchar__symbol, xg_PangoContext__symbol, xg_PangoDirection_symbol, xg_GdkKeymapKey__symbol, xg_GdkKeymap__symbol, xg_GdkRectangle__symbol, xg_char__symbol, xg_GdkEventFunc_symbol, xg_gdouble_symbol, xg_GList__symbol, xg_guint32_symbol, xg_GdkDragAction_symbol, xg_GdkDragContext__symbol, xg_GdkCursorType_symbol, xg_GdkDisplay__symbol, xg_GdkCursor__symbol, xg_GSignalMatchType_symbol, xg_GConnectFlags_symbol, xg_GtkDestroyNotify_symbol, xg_GSignalEmissionHook_symbol, xg_gulong_symbol, xg_GSignalInvocationHint__symbol, xg_GQuark_symbol, xg_guint__symbol, xg_GSignalQuery__symbol, xg_GType__symbol, xg_GSignalCMarshaller_symbol, xg_gpointer_symbol, xg_GSignalAccumulator_symbol, xg_GSignalFlags_symbol, xg_GType_symbol, xg_GClosureNotify_symbol, xg_GCallback_symbol, xg_GNormalizeMode_symbol, xg_glong_symbol, xg_gssize_symbol, xg_gunichar__symbol, xg_void_symbol, xg_GtkDrawingArea__symbol, xg_GdkSeat__symbol, xg_GtkRecentInfo__symbol, xg_gsize_symbol, xg_guint8__symbol, xg_GdkAtom_symbol, xg_GLogLevelFlags_symbol, xg_GdkPixbuf__symbol, xg_GtkIconView__symbol, xg_GtkEntryCompletion__symbol, xg_GtkFileFilterInfo__symbol, xg_GtkTreeSelection__symbol, xg_GtkCellRenderer__symbol, xg_GtkTreeViewColumn__symbol, xg_GtkTreeView__symbol, xg_gunichar_symbol, xg_gint_symbol, xg_GdkAtom__symbol, xg_GtkSelectionData__symbol, xg_GtkClipboard__symbol, xg_GtkTreeIter__symbol, xg_GtkTreePath__symbol, xg_GtkTreeModel__symbol, xg_gboolean_symbol, xg_GdkModifierType_symbol, xg_guint_symbol, xg_gchar__symbol, xg_GtkTextTag__symbol, xg_GdkXEvent__symbol, xg_GtkWidget__symbol, xg_lambda_data_symbol, xg_GClosure__symbol, xg_GtkAccelKey__symbol, xg_GdkEventMotion__symbol, xg_gdouble__symbol, xg_GdkEventAny__symbol, xg_GdkEvent__symbol, xg_GdkWindow__symbol, xg_cairo_t__symbol, xg_cairo_font_options_t__symbol, xg_PangoFontDescription__symbol, xg_idler_symbol, xg_GtkCellRendererPixbuf__symbol, xg_GtkSeparator__symbol, xg_GtkSeparatorMenuItem__symbol, xg_GdkEventExpose__symbol, xg_GdkEventNoExpose__symbol, xg_GdkEventVisibility__symbol, xg_GdkEventButton__symbol, xg_GdkEventCrossing__symbol, xg_GdkEventFocus__symbol, xg_GdkEventConfigure__symbol, xg_GdkEventProperty__symbol, xg_GdkEventSelection__symbol, xg_GdkEventProximity__symbol, xg_GdkEventSetting__symbol, xg_GdkEventWindowState__symbol, xg_GdkEventDND__symbol, xg_GtkFileChooserDialog__symbol, xg_GtkFileChooserWidget__symbol, xg_GtkColorButton__symbol, xg_GtkAccelMap_symbol, xg_GtkCellRendererCombo__symbol, xg_GtkCellRendererProgress__symbol, xg_GtkCellRendererAccel__symbol, xg_GtkCellRendererSpin__symbol, xg_GtkRecentChooserDialog__symbol, xg_GtkRecentChooserWidget__symbol, xg_GtkCellRendererSpinner__symbol, xg_gboolean__symbol, xg_GtkFontChooserDialog__symbol, xg_GtkFontChooserWidget__symbol, xg_GtkColorChooserDialog__symbol, xg_GtkColorChooserWidget__symbol, xg_GtkColorWidget__symbol, xg_GtkGestureLongPress__symbol;
+static Xen xg_GtkContentFormats__symbol, xg_GtkStyleProvider__symbol, xg_GdkDisplay_gtk_invisible_get_display_symbol, xg_GtkInvisible__symbol, xg_GtkIconSize_symbol, xg_GValue_symbol, xg_GBytes__symbol, xg_GdkContentDeserializeFunc_symbol, xg_GdkContentDeserializer__symbol, xg_GdkContentSerializeFunc_symbol, xg_GdkContentSerializer__symbol, xg_GOutputStream__symbol, xg_GdkContentFormatsBuilder__symbol, xg_GdkContentFormatsBuilder_symbol, xg_GString__symbol, xg_va_list_symbol, xg_GdkTexture__symbol, xg_har___symbol, xg_GInputStream__symbol, xg_GAsyncResult__symbol, xg_GAsyncReadyCallback_symbol, xg_GCancellable__symbol, xg_GdkContentProvider__symbol, xg_GdkContentFormats__symbol, xg_GdkClipboard__symbol, xg_GdkAppLaunchContext__symbol, xg_GtkEventControllerScroll__symbol, xg_GtkEventControllerScrollFlags_symbol, xg_GtkSnapshot__symbol, xg_GdkTouchpadGesturePhase_symbol, xg_GdkNotifyType_symbol, xg_GdkCrossingMode_symbol, xg_GdkEventScroll__symbol, xg_GtkScrollbar__symbol, xg_GtkCenterBox__symbol, xg_GtkCheckButton__symbol, xg_GdkDrawContext__symbol, xg_GtkDrawingAreaDrawFunc_symbol, xg_GtkShortcutLabel__symbol, xg_GtkPadActionType_symbol, xg_GtkPadActionEntry__symbol, xg_GActionGroup__symbol, xg_GtkPadController__symbol, xg_GdkDevicePadFeature_symbol, xg_GdkDevicePad__symbol, xg_GdkDrawingContext__symbol, xg_GdkSubpixelLayout_symbol, xg_GdkMonitor__symbol, xg_GdkDeviceTool__symbol, xg_GdkAxisFlags_symbol, xg_GdkSeatGrabPrepareFunc_symbol, xg_GdkSeatCapabilities_symbol, xg_GdkGrabStatus_symbol, xg_GtkPopoverConstraint_symbol, xg_GtkShortcutsWindow__symbol, xg_GtkStackSidebar__symbol, xg_GtkSearchEntry__symbol, xg_GtkPopoverMenu__symbol, xg_GtkStyleContext__symbol, xg_GdkGLContext__symbol, xg_GtkGLArea__symbol, xg_GtkPropagationPhase_symbol, xg_GtkEventController__symbol, xg_GtkGestureZoom__symbol, xg_GtkGestureSwipe__symbol, xg_GtkGestureSingle__symbol, xg_GtkGestureRotate__symbol, xg_GtkGestureMultiPress__symbol, xg_GtkGesturePan__symbol, xg_GtkGestureDrag__symbol, xg_GdkEventSequence__symbol, xg_GtkEventSequenceState_symbol, xg_GtkGesture__symbol, xg_GtkAllocation__symbol, xg_GtkPopover__symbol, xg_GtkActionBar__symbol, xg_GtkFlowBox__symbol, xg_GtkFlowBoxChild__symbol, xg_GdkEventType_symbol, xg_GtkSearchBar__symbol, xg_GtkListBox__symbol, xg_GtkListBoxRow__symbol, xg_GtkHeaderBar__symbol, xg_GtkRevealerTransitionType_symbol, xg_GtkRevealer__symbol, xg_GtkStackTransitionType_symbol, xg_GtkStack__symbol, xg_GtkStackSwitcher__symbol, xg_GtkPlacesSidebar__symbol, xg_GtkPlacesOpenFlags_symbol, xg_GtkBaselinePosition_symbol, xg_GdkFullscreenMode_symbol, xg_GtkInputHints_symbol, xg_GtkInputPurpose_symbol, xg_GtkLevelBarMode_symbol, xg_GtkLevelBar__symbol, xg_GtkMenuButton__symbol, xg_GtkColorChooser__symbol, xg_GtkApplicationWindow__symbol, xg_GtkApplication__symbol, xg_GMenuModel__symbol, xg_guint___symbol, xg_GdkModifierIntent_symbol, xg_GtkFontChooser__symbol, xg_GdkScrollDirection_symbol, xg_GtkOverlay__symbol, xg_GtkWidgetPath__symbol, xg_GtkStateFlags_symbol, xg_GtkToolShell__symbol, xg_GtkWindowGroup__symbol, xg_GIcon__symbol, xg_GtkOrientable__symbol, xg_GtkCellArea__symbol, xg_GtkBorder__symbol, xg_GtkSwitch__symbol, xg_GtkScrollablePolicy_symbol, xg_GtkScrollable__symbol, xg_GtkGrid__symbol, xg_GdkRGBA__symbol, xg_GtkComboBoxText__symbol, xg_GtkAlign_symbol, xg_GtkSizeRequestMode_symbol, xg_cairo_region_overlap_t_symbol, xg_cairo_rectangle_int_t__symbol, xg_double__symbol, xg_cairo_rectangle_t__symbol, xg_cairo_device_t__symbol, xg_cairo_bool_t_symbol, xg_cairo_text_cluster_flags_t__symbol, xg_cairo_text_cluster_t___symbol, xg_cairo_glyph_t___symbol, xg_cairo_text_cluster_flags_t_symbol, xg_cairo_text_cluster_t__symbol, xg_cairo_region_t__symbol, xg_GtkMessageDialog__symbol, xg_GdkDevice__symbol, xg_GtkAccessible__symbol, xg_GdkModifierType__symbol, xg_GtkDestDefaults_symbol, xg_GtkToolPaletteDragTargets_symbol, xg_GtkToolItemGroup__symbol, xg_GtkToolPalette__symbol, xg_GtkPackType_symbol, xg_GtkSpinner__symbol, xg_GtkEntryBuffer__symbol, xg_GtkMessageType_symbol, xg_GtkInfoBar__symbol, xg_GtkEntryIconPosition_symbol, xg_GFile__symbol, xg_GtkScaleButton__symbol, xg_GtkCalendarDetailFunc_symbol, xg_GtkTooltip__symbol, xg_cairo_rectangle_list_t__symbol, xg_void__symbol, xg_cairo_filter_t_symbol, xg_cairo_extend_t_symbol, xg_cairo_format_t_symbol, xg_cairo_path_t__symbol, xg_cairo_destroy_func_t_symbol, xg_cairo_user_data_key_t__symbol, xg_cairo_text_extents_t__symbol, xg_cairo_font_extents_t__symbol, xg_cairo_font_face_t__symbol, xg_cairo_glyph_t__symbol, xg_cairo_scaled_font_t__symbol, xg_cairo_font_weight_t_symbol, xg_cairo_font_slant_t_symbol, xg_cairo_hint_metrics_t_symbol, xg_cairo_hint_style_t_symbol, xg_cairo_subpixel_order_t_symbol, xg_cairo_status_t_symbol, xg_bool_symbol, xg_cairo_matrix_t__symbol, xg_cairo_line_join_t_symbol, xg_cairo_line_cap_t_symbol, xg_cairo_fill_rule_t_symbol, xg_cairo_antialias_t_symbol, xg_cairo_operator_t_symbol, xg_cairo_pattern_t__symbol, xg_cairo_content_t_symbol, xg_GtkPageSet_symbol, xg_GtkPageRange__symbol, xg_GtkPrintPages_symbol, xg_GtkPrintQuality_symbol, xg_GtkPrintDuplex_symbol, xg_GtkPaperSize__symbol, xg_GtkPageOrientation_symbol, xg_GtkPrintSettingsFunc_symbol, xg_GtkPageSetupDoneFunc_symbol, xg_GtkPrintStatus_symbol, xg_GtkPrintOperationAction_symbol, xg_GtkPrintOperationResult_symbol, xg_GtkUnit_symbol, xg_GtkPrintSettings__symbol, xg_GtkPrintOperation__symbol, xg_GtkPageSetup__symbol, xg_GtkPrintContext__symbol, xg_cairo_surface_t__symbol, xg_GtkTreeViewGridLines_symbol, xg_GtkRecentData__symbol, xg_time_t_symbol, xg_GtkRecentChooserMenu__symbol, xg_GtkRecentManager__symbol, xg_GtkRecentFilter__symbol, xg_GtkRecentSortFunc_symbol, xg_GtkRecentSortType_symbol, xg_GtkRecentChooser__symbol, xg_GtkLinkButton__symbol, xg_GtkAssistantPageType_symbol, xg_GtkAssistantPageFunc_symbol, xg_GtkAssistant__symbol, xg_GDestroyNotify_symbol, xg_GtkTreeViewSearchPositionFunc_symbol, xg_GtkSensitivityType_symbol, xg_GtkMenuBar__symbol, xg_GtkPackDirection_symbol, xg_GtkIconViewDropPosition_symbol, xg_GValue__symbol, xg_GLogFunc_symbol, xg_PangoMatrix__symbol, xg_PangoRenderPart_symbol, xg_PangoRenderer__symbol, xg_GtkMenuToolButton__symbol, xg_GtkFileChooserButton__symbol, xg_PangoScriptIter__symbol, xg_PangoScript_symbol, xg_PangoAttrFilterFunc_symbol, xg_PangoEllipsizeMode_symbol, xg_GtkIconViewForeachFunc_symbol, xg_GtkAboutDialog__symbol, xg_GtkTreeViewRowSeparatorFunc_symbol, xg_GtkCellView__symbol, xg_GtkAccelMap__symbol, xg_GtkOrientation_symbol, xg_GtkToolButton__symbol, xg_GtkIconLookupFlags_symbol, xg_GtkIconInfo__symbol, xg_gchar___symbol, xg_GtkIconTheme__symbol, xg_GtkFileChooser__symbol, xg_GtkCellLayoutDataFunc_symbol, xg_GtkCellLayout__symbol, xg_GtkFileFilterFunc_symbol, xg_GtkFileFilterFlags_symbol, xg_GtkFileFilter__symbol, xg_GSourceFunc_symbol, xg_GtkToggleToolButton__symbol, xg_GtkSeparatorToolItem__symbol, xg_GtkRadioToolButton__symbol, xg_GtkEntryCompletionMatchFunc_symbol, xg_GtkFontButton__symbol, xg_GtkExpander__symbol, xg_GtkComboBox__symbol, xg_GtkTreeModelFilter__symbol, xg_GtkFileChooserAction_symbol, xg_GtkToolItem__symbol, xg_GtkCalendarDisplayOptions_symbol, xg_GdkDisplay__symbol, xg_PangoLayoutRun__symbol, xg_PangoLayoutIter__symbol, xg_PangoLayoutLine__symbol, xg_int__symbol, xg_PangoAlignment_symbol, xg_PangoWrapMode_symbol, xg_PangoItem__symbol, xg_PangoGlyphString__symbol, xg_PangoFontMap__symbol, xg_PangoGlyph_symbol, xg_PangoFontFace__symbol, xg_PangoFontFace___symbol, xg_PangoFontFamily__symbol, xg_PangoFontMask_symbol, xg_PangoFontDescription___symbol, xg_PangoCoverageLevel_symbol, xg_PangoCoverage__symbol, xg_PangoFontMetrics__symbol, xg_PangoFontset__symbol, xg_PangoFont__symbol, xg_PangoFontFamily___symbol, xg_PangoLogAttr__symbol, xg_PangoAnalysis__symbol, xg_PangoAttrList___symbol, xg_PangoAttrIterator__symbol, xg_PangoRectangle__symbol, xg_PangoUnderline_symbol, xg_PangoStretch_symbol, xg_PangoVariant_symbol, xg_PangoWeight_symbol, xg_PangoStyle_symbol, xg_guint16_symbol, xg_PangoAttribute__symbol, xg_PangoAttrType_symbol, xg_PangoColor__symbol, xg_GdkGravity_symbol, xg_GtkWindowPosition_symbol, xg_GtkWindowType_symbol, xg_GtkWindow__symbol, xg_GtkTextDirection_symbol, xg_PangoContext__symbol, xg_AtkObject__symbol, xg_GtkDirectionType_symbol, xg_GtkViewport__symbol, xg_GtkTreeViewSearchEqualFunc_symbol, xg_GtkTreeViewDropPosition_symbol, xg_GtkTreeViewMappingFunc_symbol, xg_GtkTreeViewColumnDropFunc_symbol, xg_GtkTreeViewColumnSizing_symbol, xg_GtkTreeCellDataFunc_symbol, xg_GtkTreeStore__symbol, xg_GtkTreeIterCompareFunc_symbol, xg_GtkSortType_symbol, xg_GtkTreeSortable__symbol, xg_GtkTreeSelectionForeachFunc_symbol, xg_GtkTreeModel___symbol, xg_GtkTreeSelectionFunc_symbol, xg_GtkSelectionMode_symbol, xg_GtkTreeModelSort__symbol, xg_GtkTreeModelForeachFunc_symbol, xg_GtkTreeModelFlags_symbol, xg_GtkTreeRowReference__symbol, xg_GtkTreeDragDest__symbol, xg_GtkTreeDragSource__symbol, xg_GtkToolbarStyle_symbol, xg_GtkToolbar__symbol, xg_GtkToggleButton__symbol, xg_PangoTabArray__symbol, xg_GtkWrapMode_symbol, xg_GtkTextWindowType_symbol, xg_GtkTextView__symbol, xg_GtkTextTagTableForeach_symbol, xg_GtkTextSearchFlags_symbol, xg_GtkTextCharPredicate_symbol, xg_GtkTextMark__symbol, xg_GtkTextChildAnchor__symbol, xg_GtkTextIter__symbol, xg_GtkTextTagTable__symbol, xg_GtkTextBuffer__symbol, xg_GtkStatusbar__symbol, xg_GtkSpinType_symbol, xg_GtkSpinButtonUpdatePolicy_symbol, xg_GtkSpinButton__symbol, xg_GtkSizeGroupMode_symbol, xg_GtkSizeGroup__symbol, xg_GtkSettings__symbol, xg_GtkCornerType_symbol, xg_GtkPolicyType_symbol, xg_GtkScrolledWindow__symbol, xg_GtkScale__symbol, xg_GtkRange__symbol, xg_GtkRadioMenuItem__symbol, xg_GtkRadioButton__symbol, xg_GtkProgressBar__symbol, xg_GtkPaned__symbol, xg_GtkPositionType_symbol, xg_GtkNotebook__symbol, xg_GtkMenuShell__symbol, xg_gint__symbol, xg_GtkMenuItem__symbol, xg_GtkMenu__symbol, xg_PangoLanguage__symbol, xg_GtkListStore__symbol, xg_GtkLayout__symbol, xg_GtkJustification_symbol, xg_GtkLabel__symbol, xg_guint16__symbol, xg_GtkIMContextSimple__symbol, xg_GdkEventKey__symbol, xg_PangoAttrList__symbol, xg_GtkIMContext__symbol, xg_GtkImageType_symbol, xg_GtkImage__symbol, xg_GtkShadowType_symbol, xg_GtkFrame__symbol, xg_GtkFixed__symbol, xg_PangoLayout__symbol, xg_GtkEntry__symbol, xg_GtkEditable__symbol, xg_etc_symbol, xg_GtkDialog__symbol, xg_GtkCallback_symbol, xg_GtkContainer__symbol, xg_GtkCheckMenuItem__symbol, xg_GtkCellRendererToggle__symbol, xg_GtkCellRendererText__symbol, xg_GtkCellRendererState_symbol, xg_GtkCellEditable__symbol, xg_GtkCalendar__symbol, xg_GtkReliefStyle_symbol, xg_GtkButton__symbol, xg_GtkBox__symbol, xg_GtkBin__symbol, xg_GtkBindingSet__symbol, xg_GtkButtonBox__symbol, xg_GtkButtonBoxStyle_symbol, xg_GtkAspectFrame__symbol, xg_GtkAdjustment__symbol, xg_GtkAccelMapForeach_symbol, xg_GtkAccelLabel__symbol, xg_GtkAccelGroupEntry__symbol, xg_lambda3_symbol, xg_GSList__symbol, xg_GObject__symbol, xg_GtkAccelFlags_symbol, xg_GtkAccelGroup__symbol, xg_GdkInterpType_symbol, xg_double_symbol, xg_gfloat_symbol, xg_guchar_symbol, xg_char___symbol, xg_GdkPixbufDestroyNotify_symbol, xg_GError__symbol, xg_char__symbol, xg_guchar__symbol, xg_int_symbol, xg_GdkColorspace_symbol, xg_GdkCursor__symbol, xg_GdkWindowTypeHint_symbol, xg_GdkWindowHints_symbol, xg_GdkGeometry__symbol, xg_GdkWindowEdge_symbol, xg_GdkWMFunction_symbol, xg_GdkWMDecoration_symbol, xg_GdkEventMask_symbol, xg_GList__symbol, xg_GdkWindowState_symbol, xg_GdkFilterFunc_symbol, xg_GdkWindowType_symbol, xg_PangoDirection_symbol, xg_GdkKeymapKey__symbol, xg_GdkKeymap__symbol, xg_GdkRectangle__symbol, xg_GdkEventFunc_symbol, xg_gdouble_symbol, xg_guint32_symbol, xg_GdkDragAction_symbol, xg_GdkDragContext__symbol, xg_GSignalMatchType_symbol, xg_GConnectFlags_symbol, xg_GtkDestroyNotify_symbol, xg_GSignalEmissionHook_symbol, xg_gulong_symbol, xg_GSignalInvocationHint__symbol, xg_GQuark_symbol, xg_guint__symbol, xg_GSignalQuery__symbol, xg_GType__symbol, xg_GSignalCMarshaller_symbol, xg_gpointer_symbol, xg_GSignalAccumulator_symbol, xg_GSignalFlags_symbol, xg_GType_symbol, xg_GClosureNotify_symbol, xg_GCallback_symbol, xg_GNormalizeMode_symbol, xg_glong_symbol, xg_gssize_symbol, xg_gunichar__symbol, xg_void_symbol, xg_GtkDrawingArea__symbol, xg_GdkSeat__symbol, xg_GtkRecentInfo__symbol, xg_gsize_symbol, xg_guint8__symbol, xg_GdkAtom_symbol, xg_GLogLevelFlags_symbol, xg_GdkPixbuf__symbol, xg_GtkIconView__symbol, xg_GtkEntryCompletion__symbol, xg_GtkFileFilterInfo__symbol, xg_GtkTreeSelection__symbol, xg_GtkCellRenderer__symbol, xg_GtkTreeViewColumn__symbol, xg_GtkTreeView__symbol, xg_gunichar_symbol, xg_gint_symbol, xg_GdkAtom__symbol, xg_GtkSelectionData__symbol, xg_GtkClipboard__symbol, xg_GtkTreeIter__symbol, xg_GtkTreePath__symbol, xg_GtkTreeModel__symbol, xg_gboolean_symbol, xg_GdkModifierType_symbol, xg_guint_symbol, xg_gchar__symbol, xg_GtkTextTag__symbol, xg_GdkXEvent__symbol, xg_GtkWidget__symbol, xg_lambda_data_symbol, xg_GClosure__symbol, xg_GtkAccelKey__symbol, xg_GdkEventMotion__symbol, xg_gdouble__symbol, xg_GdkEventAny__symbol, xg_GdkEvent__symbol, xg_GdkWindow__symbol, xg_cairo_t__symbol, xg_cairo_font_options_t__symbol, xg_PangoFontDescription__symbol, xg_idler_symbol, xg_GtkCellRendererPixbuf__symbol, xg_GtkSeparator__symbol, xg_GtkSeparatorMenuItem__symbol, xg_GdkEventExpose__symbol, xg_GdkEventNoExpose__symbol, xg_GdkEventVisibility__symbol, xg_GdkEventButton__symbol, xg_GdkEventCrossing__symbol, xg_GdkEventFocus__symbol, xg_GdkEventConfigure__symbol, xg_GdkEventProperty__symbol, xg_GdkEventSelection__symbol, xg_GdkEventProximity__symbol, xg_GdkEventSetting__symbol, xg_GdkEventWindowState__symbol, xg_GdkEventDND__symbol, xg_GtkFileChooserDialog__symbol, xg_GtkFileChooserWidget__symbol, xg_GtkColorButton__symbol, xg_GtkAccelMap_symbol, xg_GtkCellRendererCombo__symbol, xg_GtkCellRendererProgress__symbol, xg_GtkCellRendererAccel__symbol, xg_GtkCellRendererSpin__symbol, xg_GtkRecentChooserDialog__symbol, xg_GtkRecentChooserWidget__symbol, xg_GtkCellRendererSpinner__symbol, xg_gboolean__symbol, xg_GtkFontChooserDialog__symbol, xg_GtkFontChooserWidget__symbol, xg_GtkColorChooserDialog__symbol, xg_GtkColorChooserWidget__symbol, xg_GtkColorWidget__symbol, xg_GtkGestureLongPress__symbol;
 
 #define wrap_for_Xen(Name, Value) Xen_list_2(xg_ ## Name ## _symbol, Xen_wrap_C_pointer(Value))
 #define is_wrapped(Name, Value) (Xen_is_pair(Value) && (Xen_car(Value) == xg_ ## Name ## _symbol))
@@ -417,38 +416,24 @@ Xm_type_1(GSignalEmissionHook, GSignalEmissionHook)
 #define Xen_is_GConnectFlags(Arg) Xen_is_integer(Arg)
 #define Xen_to_C_GSignalMatchType(Arg) (GSignalMatchType)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GSignalMatchType(Arg) Xen_is_integer(Arg)
-Xm_type_Ptr(GdkCursor_, GdkCursor*)
-Xm_type_Ptr(GdkDisplay_, GdkDisplay*)
-#define C_to_Xen_GdkCursorType(Arg) C_int_to_Xen_integer(Arg)
-#define Xen_to_C_GdkCursorType(Arg) (GdkCursorType)(Xen_integer_to_C_int(Arg))
-#define Xen_is_GdkCursorType(Arg) Xen_is_integer(Arg)
 Xm_type_Ptr(GdkDragContext_, GdkDragContext*)
 #define Xen_to_C_GdkDragAction(Arg) (GdkDragAction)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkDragAction(Arg) Xen_is_integer(Arg)
 #define C_to_Xen_guint32(Arg) C_ulong_to_Xen_ulong(Arg)
 #define Xen_to_C_guint32(Arg) (guint32)(Xen_ulong_to_C_ulong(Arg))
 #define Xen_is_guint32(Arg) Xen_is_ulong(Arg)
-Xm_type_Ptr(GList_, GList*)
 #define C_to_Xen_gdouble(Arg) C_double_to_Xen_real(Arg)
 #define Xen_to_C_gdouble(Arg) (gdouble)(Xen_real_to_C_double(Arg))
 #define Xen_is_gdouble(Arg) Xen_is_number(Arg)
-#define C_to_Xen_char_(Arg) C_string_to_Xen_string(Arg)
-#define Xen_to_C_char_(Arg) (char*)(Xen_string_to_C_string(Arg))
-#define Xen_is_char_(Arg) Xen_is_string(Arg)
 Xm_type_Ptr_1(GdkRectangle_, GdkRectangle*)
 Xm_type_Ptr(GdkKeymap_, GdkKeymap*)
 Xm_type_Ptr(GdkKeymapKey_, GdkKeymapKey*)
 #define C_to_Xen_PangoDirection(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_PangoDirection(Arg) (PangoDirection)(Xen_integer_to_C_int(Arg))
 #define Xen_is_PangoDirection(Arg) Xen_is_integer(Arg)
-Xm_type_Ptr(PangoContext_, PangoContext*)
-#define C_to_Xen_guchar_(Arg) C_to_Xen_String(Arg)
-#define Xen_to_C_guchar_(Arg) (guchar*)(Xen_string_to_C_string(Arg))
-#define Xen_is_guchar_(Arg) Xen_is_string(Arg)
-#define Xen_to_C_GdkPropMode(Arg) (GdkPropMode)(Xen_integer_to_C_int(Arg))
-#define Xen_is_GdkPropMode(Arg) Xen_is_integer(Arg)
 #define C_to_Xen_GdkWindowType(Arg) C_int_to_Xen_integer(Arg)
 #define C_to_Xen_GdkWindowState(Arg) C_int_to_Xen_integer(Arg)
+Xm_type_Ptr(GList_, GList*)
 #define C_to_Xen_GdkEventMask(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GdkEventMask(Arg) (GdkEventMask)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkEventMask(Arg) Xen_is_integer(Arg)
@@ -465,12 +450,19 @@ Xm_type_Ptr_1(GdkGeometry_, GdkGeometry*)
 #define C_to_Xen_GdkWindowTypeHint(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GdkWindowTypeHint(Arg) (GdkWindowTypeHint)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkWindowTypeHint(Arg) Xen_is_integer(Arg)
+Xm_type_Ptr(GdkCursor_, GdkCursor*)
 #define C_to_Xen_GdkColorspace(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GdkColorspace(Arg) (GdkColorspace)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkColorspace(Arg) Xen_is_integer(Arg)
 #define C_to_Xen_int(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_int(Arg) (int)(Xen_integer_to_C_int(Arg))
 #define Xen_is_int(Arg) Xen_is_integer(Arg)
+#define C_to_Xen_guchar_(Arg) C_to_Xen_String(Arg)
+#define Xen_to_C_guchar_(Arg) (guchar*)(Xen_string_to_C_string(Arg))
+#define Xen_is_guchar_(Arg) Xen_is_string(Arg)
+#define C_to_Xen_char_(Arg) C_string_to_Xen_string(Arg)
+#define Xen_to_C_char_(Arg) (char*)(Xen_string_to_C_string(Arg))
+#define Xen_is_char_(Arg) Xen_is_string(Arg)
 Xm_type_1(GdkPixbufDestroyNotify, GdkPixbufDestroyNotify)
 Xm_type_Ptr(char__, char**)
 #define C_to_Xen_guchar(Arg) C_int_to_Xen_integer(Arg)
@@ -483,9 +475,6 @@ Xm_type_Ptr(char__, char**)
 #define Xen_to_C_double(Arg) (double)(Xen_real_to_C_double(Arg))
 #define Xen_to_C_GdkInterpType(Arg) (GdkInterpType)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkInterpType(Arg) Xen_is_integer(Arg)
-Xm_type_Ptr(GdkPixbufAnimation_, GdkPixbufAnimation*)
-Xm_type_Ptr(GdkPixbufAnimationIter_, GdkPixbufAnimationIter*)
-Xm_type_Ptr_1(GTimeVal_, GTimeVal*)
 Xm_type_Ptr(GtkAccelGroup_, GtkAccelGroup*)
 #define Xen_to_C_GtkAccelFlags(Arg) (GtkAccelFlags)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkAccelFlags(Arg) Xen_is_integer(Arg)
@@ -513,13 +502,9 @@ Xm_type_Ptr(GtkCellEditable_, GtkCellEditable*)
 Xm_type_Ptr_1(GtkCellRendererText_, GtkCellRendererText*)
 Xm_type_Ptr_1(GtkCellRendererToggle_, GtkCellRendererToggle*)
 Xm_type_Ptr_1(GtkCheckMenuItem_, GtkCheckMenuItem*)
-Xm_type_Ptr(GtkTargetEntry_, GtkTargetEntry*)
 Xm_type_Ptr_1(GtkContainer_, GtkContainer*)
 Xm_type_Ptr_1(GtkDialog_, GtkDialog*)
 #define Xen_is_etc(Arg) (Xen_is_list(Arg))
-#define Xen_to_C_GtkDestDefaults(Arg) (GtkDestDefaults)(Xen_integer_to_C_int(Arg))
-#define Xen_is_GtkDestDefaults(Arg) Xen_is_integer(Arg)
-Xm_type_Ptr(GtkTargetList_, GtkTargetList*)
 Xm_type_Ptr_1(GtkEditable_, GtkEditable*)
 Xm_type_Ptr(GtkEntry_, GtkEntry*)
 Xm_type_Ptr(PangoLayout_, PangoLayout*)
@@ -619,6 +604,7 @@ Xm_type_Ptr_1(GtkViewport_, GtkViewport*)
 #define Xen_to_C_GtkDirectionType(Arg) (GtkDirectionType)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkDirectionType(Arg) Xen_is_integer(Arg)
 Xm_type_Ptr_2(AtkObject_, AtkObject*)
+Xm_type_Ptr(PangoContext_, PangoContext*)
 #define C_to_Xen_GtkTextDirection(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GtkTextDirection(Arg) (GtkTextDirection)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkTextDirection(Arg) Xen_is_integer(Arg)
@@ -688,7 +674,7 @@ Xm_type_Ptr(int_, int*)
 Xm_type_Ptr(PangoLayoutLine_, PangoLayoutLine*)
 Xm_type_Ptr(PangoLayoutIter_, PangoLayoutIter*)
 Xm_type_Ptr_2(PangoLayoutRun_, PangoLayoutRun*)
-Xm_type_Ptr(GdkScreen_, GdkScreen*)
+Xm_type_Ptr(GdkDisplay_, GdkDisplay*)
 #define C_to_Xen_GtkCalendarDisplayOptions(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GtkCalendarDisplayOptions(Arg) (GtkCalendarDisplayOptions)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkCalendarDisplayOptions(Arg) Xen_is_integer(Arg)
@@ -759,8 +745,6 @@ Xm_type_Ptr(GtkRecentFilter_, GtkRecentFilter*)
 Xm_type_Ptr(GtkRecentManager_, GtkRecentManager*)
 Xm_type_Ptr_1(GtkRecentChooserMenu_, GtkRecentChooserMenu*)
 Xm_type_no_p_2(time_t, time_t)
-Xm_type_1(GtkTextBufferSerializeFunc, GtkTextBufferSerializeFunc)
-Xm_type_1(GtkTextBufferDeserializeFunc, GtkTextBufferDeserializeFunc)
 Xm_type_Ptr_1(GtkRecentData_, GtkRecentData*)
 #define C_to_Xen_GtkTreeViewGridLines(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GtkTreeViewGridLines(Arg) (GtkTreeViewGridLines)(Xen_integer_to_C_int(Arg))
@@ -804,7 +788,6 @@ Xm_type_Ptr(GFile_, GFile*)
 #if GTK_CHECK_VERSION(2, 16, 0)
 #define Xen_to_C_GtkEntryIconPosition(Arg) (GtkEntryIconPosition)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkEntryIconPosition(Arg) Xen_is_integer(Arg)
-Xm_type_Ptr(GIcon_, GIcon*)
 #endif
 
 #if GTK_CHECK_VERSION(2, 18, 0)
@@ -824,6 +807,8 @@ Xm_type_Ptr_1(GtkToolPalette_, GtkToolPalette*)
 Xm_type_Ptr(GtkToolItemGroup_, GtkToolItemGroup*)
 #define Xen_to_C_GtkToolPaletteDragTargets(Arg) (GtkToolPaletteDragTargets)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkToolPaletteDragTargets(Arg) Xen_is_integer(Arg)
+#define Xen_to_C_GtkDestDefaults(Arg) (GtkDestDefaults)(Xen_integer_to_C_int(Arg))
+#define Xen_is_GtkDestDefaults(Arg) Xen_is_integer(Arg)
 #endif
 
 #if GTK_CHECK_VERSION(3, 0, 0)
@@ -847,10 +832,9 @@ Xm_type_Ptr_1(GtkSwitch_, GtkSwitch*)
 Xm_type_Ptr(GtkBorder_, GtkBorder*)
 Xm_type_Ptr_1(GtkCellArea_, GtkCellArea*)
 Xm_type_Ptr_1(GtkOrientable_, GtkOrientable*)
-Xm_type_Ptr_1(GtkInvisible_, GtkInvisible*)
+Xm_type_Ptr(GIcon_, GIcon*)
 Xm_type_Ptr(GtkWindowGroup_, GtkWindowGroup*)
 Xm_type_Ptr_1(GtkToolShell_, GtkToolShell*)
-Xm_type_Ptr_1(GdkScreen__, GdkScreen**)
 #define C_to_Xen_GtkStateFlags(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GtkStateFlags(Arg) (GtkStateFlags)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkStateFlags(Arg) Xen_is_integer(Arg)
@@ -995,14 +979,39 @@ Xm_type_Ptr_1(GdkEventScroll_, GdkEventScroll*)
 #define C_to_Xen_GdkTouchpadGesturePhase(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GdkTouchpadGesturePhase(Arg) (GdkTouchpadGesturePhase)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GdkTouchpadGesturePhase(Arg) Xen_is_integer(Arg)
-#define C_to_Xen_GdkPropertyState(Arg) C_int_to_Xen_integer(Arg)
-#define Xen_to_C_GdkPropertyState(Arg) (GdkPropertyState)(Xen_integer_to_C_int(Arg))
-#define Xen_is_GdkPropertyState(Arg) Xen_is_integer(Arg)
 Xm_type_Ptr(GtkSnapshot_, GtkSnapshot*)
 #define C_to_Xen_GtkEventControllerScrollFlags(Arg) C_int_to_Xen_integer(Arg)
 #define Xen_to_C_GtkEventControllerScrollFlags(Arg) (GtkEventControllerScrollFlags)(Xen_integer_to_C_int(Arg))
 #define Xen_is_GtkEventControllerScrollFlags(Arg) Xen_is_integer(Arg)
 Xm_type_Ptr(GtkEventControllerScroll_, GtkEventControllerScroll*)
+Xm_type_Ptr(GdkAppLaunchContext_, GdkAppLaunchContext*)
+Xm_type_Ptr(GdkClipboard_, GdkClipboard*)
+Xm_type_Ptr(GdkContentFormats_, GdkContentFormats*)
+Xm_type_Ptr(GdkContentProvider_, GdkContentProvider*)
+Xm_type_Ptr(GCancellable_, GCancellable*)
+Xm_type(GAsyncReadyCallback, GAsyncReadyCallback)
+Xm_type_Ptr(GAsyncResult_, GAsyncResult*)
+Xm_type_Ptr(GInputStream_, GInputStream*)
+Xm_type_Ptr(har__, har**)
+Xm_type_Ptr(GdkTexture_, GdkTexture*)
+Xm_type(va_list, va_list)
+Xm_type_Ptr_1(GString_, GString*)
+Xm_type(GdkContentFormatsBuilder, GdkContentFormatsBuilder)
+Xm_type_Ptr(GdkContentFormatsBuilder_, GdkContentFormatsBuilder*)
+Xm_type_Ptr(GOutputStream_, GOutputStream*)
+Xm_type_Ptr(GdkContentSerializer_, GdkContentSerializer*)
+Xm_type(GdkContentSerializeFunc, GdkContentSerializeFunc)
+Xm_type_Ptr(GdkContentDeserializer_, GdkContentDeserializer*)
+Xm_type(GdkContentDeserializeFunc, GdkContentDeserializeFunc)
+Xm_type_Ptr(GBytes_, GBytes*)
+Xm_type(GValue, GValue)
+#define C_to_Xen_GtkIconSize(Arg) C_int_to_Xen_integer(Arg)
+#define Xen_to_C_GtkIconSize(Arg) (GtkIconSize)(Xen_integer_to_C_int(Arg))
+#define Xen_is_GtkIconSize(Arg) Xen_is_integer(Arg)
+Xm_type_Ptr_1(GtkInvisible_, GtkInvisible*)
+Xm_type_Ptr(GdkDisplay_gtk_invisible_get_display, GdkDisplay*gtk_invisible_get_display)
+Xm_type_Ptr(GtkStyleProvider_, GtkStyleProvider*)
+Xm_type_Ptr(GtkContentFormats_, GtkContentFormats*)
 #endif
 
 Xm_type_Ptr(cairo_surface_t_, cairo_surface_t*)
@@ -2187,21 +2196,6 @@ static Xen gxg_g_object_unref(Xen object)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_cursor_new_for_display(Xen display, Xen cursor_type)
-{
-  #define H_gdk_cursor_new_for_display "GdkCursor* gdk_cursor_new_for_display(GdkDisplay* display, GdkCursorType cursor_type)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_cursor_new_for_display", "GdkDisplay*");
-  Xen_check_type(Xen_is_GdkCursorType(cursor_type), cursor_type, 2, "gdk_cursor_new_for_display", "GdkCursorType");
-  return(C_to_Xen_GdkCursor_(gdk_cursor_new_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GdkCursorType(cursor_type))));
-}
-
-static Xen gxg_gdk_cursor_get_display(Xen cursor)
-{
-  #define H_gdk_cursor_get_display "GdkDisplay* gdk_cursor_get_display(GdkCursor* cursor)"
-  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_display", "GdkCursor*");
-  return(C_to_Xen_GdkDisplay_(gdk_cursor_get_display(Xen_to_C_GdkCursor_(cursor))));
-}
-
 static Xen gxg_gdk_drag_status(Xen context, Xen action, Xen time)
 {
   #define H_gdk_drag_status "void gdk_drag_status(GdkDragContext* context, GdkDragAction action, guint32 time)"
@@ -2232,65 +2226,6 @@ static Xen gxg_gdk_drop_finish(Xen context, Xen success, Xen time)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_drag_get_selection(Xen context)
-{
-  #define H_gdk_drag_get_selection "GdkAtom gdk_drag_get_selection(GdkDragContext* context)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_get_selection", "GdkDragContext*");
-  return(C_to_Xen_GdkAtom(gdk_drag_get_selection(Xen_to_C_GdkDragContext_(context))));
-}
-
-static Xen gxg_gdk_drag_begin(Xen window, Xen targets)
-{
-  #define H_gdk_drag_begin "GdkDragContext* gdk_drag_begin(GdkWindow* window, GList* targets)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_drag_begin", "GdkWindow*");
-  Xen_check_type(Xen_is_GList_(targets), targets, 2, "gdk_drag_begin", "GList*");
-  return(C_to_Xen_GdkDragContext_(gdk_drag_begin(Xen_to_C_GdkWindow_(window), Xen_to_C_GList_(targets))));
-}
-
-static Xen gxg_gdk_drag_drop(Xen context, Xen time)
-{
-  #define H_gdk_drag_drop "void gdk_drag_drop(GdkDragContext* context, guint32 time)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_drop", "GdkDragContext*");
-  Xen_check_type(Xen_is_guint32(time), time, 2, "gdk_drag_drop", "guint32");
-  gdk_drag_drop(Xen_to_C_GdkDragContext_(context), Xen_to_C_guint32(time));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_drag_abort(Xen context, Xen time)
-{
-  #define H_gdk_drag_abort "void gdk_drag_abort(GdkDragContext* context, guint32 time)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_abort", "GdkDragContext*");
-  Xen_check_type(Xen_is_guint32(time), time, 2, "gdk_drag_abort", "guint32");
-  gdk_drag_abort(Xen_to_C_GdkDragContext_(context), Xen_to_C_guint32(time));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_events_pending(void)
-{
-  #define H_gdk_events_pending "gboolean gdk_events_pending( void)"
-  return(C_to_Xen_gboolean(gdk_events_pending()));
-}
-
-static Xen gxg_gdk_event_get(void)
-{
-  #define H_gdk_event_get "GdkEvent* gdk_event_get( void)"
-  return(C_to_Xen_GdkEvent_(gdk_event_get()));
-}
-
-static Xen gxg_gdk_event_peek(void)
-{
-  #define H_gdk_event_peek "GdkEvent* gdk_event_peek( void)"
-  return(C_to_Xen_GdkEvent_(gdk_event_peek()));
-}
-
-static Xen gxg_gdk_event_put(Xen event)
-{
-  #define H_gdk_event_put "void gdk_event_put(GdkEvent* event)"
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_put", "GdkEvent*");
-  gdk_event_put(Xen_to_C_GdkEvent_(event));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_event_copy(Xen event)
 {
   #define H_gdk_event_copy "GdkEvent* gdk_event_copy(GdkEvent* event)"
@@ -2382,68 +2317,6 @@ static Xen gxg_gdk_get_show_events(void)
   return(C_to_Xen_gboolean(gdk_get_show_events()));
 }
 
-static Xen gxg_gdk_get_program_class(void)
-{
-  #define H_gdk_get_program_class "char* gdk_get_program_class( void)"
-  return(C_to_Xen_char_(gdk_get_program_class()));
-}
-
-static Xen gxg_gdk_set_program_class(Xen program_class)
-{
-  #define H_gdk_set_program_class "void gdk_set_program_class(char* program_class)"
-  Xen_check_type(Xen_is_char_(program_class), program_class, 1, "gdk_set_program_class", "char*");
-  gdk_set_program_class(Xen_to_C_char_(program_class));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_error_trap_push(void)
-{
-  #define H_gdk_error_trap_push "void gdk_error_trap_push( void)"
-  gdk_error_trap_push();
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_error_trap_pop(void)
-{
-  #define H_gdk_error_trap_pop "gint gdk_error_trap_pop( void)"
-  return(C_to_Xen_gint(gdk_error_trap_pop()));
-}
-
-static Xen gxg_gdk_get_display_arg_name(void)
-{
-  #define H_gdk_get_display_arg_name "gchar* gdk_get_display_arg_name( void)"
-  return(C_to_Xen_gchar_(gdk_get_display_arg_name()));
-}
-
-static Xen gxg_gdk_notify_startup_complete(void)
-{
-  #define H_gdk_notify_startup_complete "void gdk_notify_startup_complete( void)"
-  gdk_notify_startup_complete();
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_flush(void)
-{
-  #define H_gdk_flush "void gdk_flush( void)"
-  gdk_flush();
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_beep(void)
-{
-  #define H_gdk_beep "void gdk_beep( void)"
-  gdk_beep();
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_set_double_click_time(Xen msec)
-{
-  #define H_gdk_set_double_click_time "void gdk_set_double_click_time(guint msec)"
-  Xen_check_type(Xen_is_guint(msec), msec, 1, "gdk_set_double_click_time", "guint");
-  gdk_set_double_click_time(Xen_to_C_guint(msec));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_rectangle_intersect(Xen src1, Xen src2, Xen dest)
 {
   #define H_gdk_rectangle_intersect "gboolean gdk_rectangle_intersect(GdkRectangle* src1, GdkRectangle* src2, \
@@ -2464,12 +2337,6 @@ static Xen gxg_gdk_rectangle_union(Xen src1, Xen src2, Xen dest)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_keymap_get_default(void)
-{
-  #define H_gdk_keymap_get_default "GdkKeymap* gdk_keymap_get_default( void)"
-  return(C_to_Xen_GdkKeymap_(gdk_keymap_get_default()));
-}
-
 static Xen gxg_gdk_keymap_lookup_key(Xen keymap, Xen key)
 {
   #define H_gdk_keymap_lookup_key "guint gdk_keymap_lookup_key(GdkKeymap* keymap, GdkKeymapKey* key)"
@@ -2584,97 +2451,6 @@ static Xen gxg_gdk_unicode_to_keyval(Xen wc)
   return(C_to_Xen_guint(gdk_unicode_to_keyval(Xen_to_C_guint32(wc))));
 }
 
-static Xen gxg_gdk_pango_context_get(void)
-{
-  #define H_gdk_pango_context_get "PangoContext* gdk_pango_context_get( void)"
-  return(C_to_Xen_PangoContext_(gdk_pango_context_get()));
-}
-
-static Xen gxg_gdk_atom_intern(Xen atom_name, Xen only_if_exists)
-{
-  #define H_gdk_atom_intern "GdkAtom gdk_atom_intern(gchar* atom_name, gboolean only_if_exists)"
-  Xen_check_type(Xen_is_gchar_(atom_name), atom_name, 1, "gdk_atom_intern", "gchar*");
-  Xen_check_type(Xen_is_gboolean(only_if_exists), only_if_exists, 2, "gdk_atom_intern", "gboolean");
-  return(C_to_Xen_GdkAtom(gdk_atom_intern(Xen_to_C_gchar_(atom_name), Xen_to_C_gboolean(only_if_exists))));
-}
-
-static Xen gxg_gdk_atom_name(Xen atom)
-{
-  #define H_gdk_atom_name "gchar* gdk_atom_name(GdkAtom atom)"
-  Xen_check_type(Xen_is_GdkAtom(atom), atom, 1, "gdk_atom_name", "GdkAtom");
-  {
-   gchar* result;
-   Xen rtn;
-   result = gdk_atom_name(Xen_to_C_GdkAtom(atom));
-   rtn = C_to_Xen_gchar_(result);
-   g_free(result);
-   return(rtn);
-  }
-}
-
-static Xen gxg_gdk_property_get(Xen arglist)
-{
-  #define H_gdk_property_get "gboolean gdk_property_get(GdkWindow* window, GdkAtom property, GdkAtom type, \
-gulong offset, gulong length, gint pdelete, GdkAtom* [actual_property_type], gint* [actual_format], gint* [actual_length], \
-guchar** [data])"
-  GdkAtom ref_actual_property_type;
-  gint ref_actual_format;
-  gint ref_actual_length;
-  guchar* ref_data = NULL;
-  Xen window, property, type, offset, length, pdelete;
-  window = Xen_list_ref(arglist, 0);
-  property = Xen_list_ref(arglist, 1);
-  type = Xen_list_ref(arglist, 2);
-  offset = Xen_list_ref(arglist, 3);
-  length = Xen_list_ref(arglist, 4);
-  pdelete = Xen_list_ref(arglist, 5);
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_property_get", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(property), property, 2, "gdk_property_get", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(type), type, 3, "gdk_property_get", "GdkAtom");
-  Xen_check_type(Xen_is_gulong(offset), offset, 4, "gdk_property_get", "gulong");
-  Xen_check_type(Xen_is_gulong(length), length, 5, "gdk_property_get", "gulong");
-  Xen_check_type(Xen_is_gint(pdelete), pdelete, 6, "gdk_property_get", "gint");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_property_get(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkAtom(property), Xen_to_C_GdkAtom(type), 
-                                                Xen_to_C_gulong(offset), Xen_to_C_gulong(length), Xen_to_C_gint(pdelete), 
-                                                &ref_actual_property_type, &ref_actual_format, &ref_actual_length, &ref_data));
-    {
-      Xen data_val = Xen_false;
-      if (ref_actual_property_type == GDK_TARGET_STRING)
-	data_val = C_string_to_Xen_string((char *)ref_data);
-      else if (ref_actual_length > 0) data_val = C_string_to_Xen_string_with_length((char *)ref_data, ref_actual_length * ref_actual_format / 8);
-     return(Xen_list_5(result, C_to_Xen_GdkAtom(ref_actual_property_type), C_to_Xen_gint(ref_actual_format), 
-                       C_to_Xen_gint(ref_actual_length), data_val));
-    }
-  }
-}
-
-static Xen gxg_gdk_property_change(Xen window, Xen property, Xen type, Xen format, Xen mode, Xen data, Xen nelements)
-{
-  #define H_gdk_property_change "void gdk_property_change(GdkWindow* window, GdkAtom property, GdkAtom type, \
-gint format, GdkPropMode mode, guchar* data, gint nelements)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_property_change", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(property), property, 2, "gdk_property_change", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(type), type, 3, "gdk_property_change", "GdkAtom");
-  Xen_check_type(Xen_is_gint(format), format, 4, "gdk_property_change", "gint");
-  Xen_check_type(Xen_is_GdkPropMode(mode), mode, 5, "gdk_property_change", "GdkPropMode");
-  Xen_check_type(Xen_is_guchar_(data), data, 6, "gdk_property_change", "guchar*");
-  Xen_check_type(Xen_is_gint(nelements), nelements, 7, "gdk_property_change", "gint");
-  gdk_property_change(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkAtom(property), Xen_to_C_GdkAtom(type), Xen_to_C_gint(format), 
-                      Xen_to_C_GdkPropMode(mode), Xen_to_C_guchar_(data), Xen_to_C_gint(nelements));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_property_delete(Xen window, Xen property)
-{
-  #define H_gdk_property_delete "void gdk_property_delete(GdkWindow* window, GdkAtom property)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_property_delete", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(property), property, 2, "gdk_property_delete", "GdkAtom");
-  gdk_property_delete(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkAtom(property));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_utf8_to_string_target(Xen str)
 {
   #define H_gdk_utf8_to_string_target "gchar* gdk_utf8_to_string_target(gchar* str)"
@@ -2689,52 +2465,6 @@ static Xen gxg_gdk_utf8_to_string_target(Xen str)
   }
 }
 
-static Xen gxg_gdk_selection_owner_set(Xen owner, Xen selection, Xen time, Xen send_event)
-{
-  #define H_gdk_selection_owner_set "gboolean gdk_selection_owner_set(GdkWindow* owner, GdkAtom selection, \
-guint32 time, gboolean send_event)"
-  Xen_check_type(Xen_is_GdkWindow_(owner), owner, 1, "gdk_selection_owner_set", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gdk_selection_owner_set", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 3, "gdk_selection_owner_set", "guint32");
-  Xen_check_type(Xen_is_gboolean(send_event), send_event, 4, "gdk_selection_owner_set", "gboolean");
-  return(C_to_Xen_gboolean(gdk_selection_owner_set(Xen_to_C_GdkWindow_(owner), Xen_to_C_GdkAtom(selection), Xen_to_C_guint32(time), 
-                                                   Xen_to_C_gboolean(send_event))));
-}
-
-static Xen gxg_gdk_selection_owner_get(Xen selection)
-{
-  #define H_gdk_selection_owner_get "GdkWindow* gdk_selection_owner_get(GdkAtom selection)"
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 1, "gdk_selection_owner_get", "GdkAtom");
-  return(C_to_Xen_GdkWindow_(gdk_selection_owner_get(Xen_to_C_GdkAtom(selection))));
-}
-
-static Xen gxg_gdk_selection_convert(Xen requestor, Xen selection, Xen target, Xen time)
-{
-  #define H_gdk_selection_convert "void gdk_selection_convert(GdkWindow* requestor, GdkAtom selection, \
-GdkAtom target, guint32 time)"
-  Xen_check_type(Xen_is_GdkWindow_(requestor), requestor, 1, "gdk_selection_convert", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gdk_selection_convert", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 3, "gdk_selection_convert", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 4, "gdk_selection_convert", "guint32");
-  gdk_selection_convert(Xen_to_C_GdkWindow_(requestor), Xen_to_C_GdkAtom(selection), Xen_to_C_GdkAtom(target), Xen_to_C_guint32(time));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_selection_property_get(Xen requestor, Xen ignore_data, Xen ignore_prop_type, Xen ignore_prop_format)
-{
-  #define H_gdk_selection_property_get "gboolean gdk_selection_property_get(GdkWindow* requestor, guchar** [data], \
-GdkAtom* [prop_type], gint* [prop_format])"
-  guchar* ref_data = NULL;
-  GdkAtom ref_prop_type;
-  gint ref_prop_format;
-  Xen_check_type(Xen_is_GdkWindow_(requestor), requestor, 1, "gdk_selection_property_get", "GdkWindow*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_selection_property_get(Xen_to_C_GdkWindow_(requestor), &ref_data, &ref_prop_type, &ref_prop_format));
-    return(Xen_list_4(result, C_to_Xen_guchar_(ref_data), C_to_Xen_GdkAtom(ref_prop_type), C_to_Xen_gint(ref_prop_format)));
-   }
-}
-
 static Xen gxg_gdk_window_destroy(Xen window)
 {
   #define H_gdk_window_destroy "void gdk_window_destroy(GdkWindow* window)"
@@ -2992,15 +2722,6 @@ static Xen gxg_gdk_window_set_events(Xen window, Xen event_mask)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_window_set_icon_list(Xen window, Xen pixbufs)
-{
-  #define H_gdk_window_set_icon_list "void gdk_window_set_icon_list(GdkWindow* window, GList* pixbufs)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_set_icon_list", "GdkWindow*");
-  Xen_check_type(Xen_is_GList_(pixbufs), pixbufs, 2, "gdk_window_set_icon_list", "GList*");
-  gdk_window_set_icon_list(Xen_to_C_GdkWindow_(window), Xen_to_C_GList_(pixbufs));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_window_set_icon_name(Xen window, Xen name)
 {
   #define H_gdk_window_set_icon_name "void gdk_window_set_icon_name(GdkWindow* window, gchar* name)"
@@ -3641,86 +3362,6 @@ guint32 color2)"
                                                                Xen_to_C_int(check_size), Xen_to_C_guint32(color1), Xen_to_C_guint32(color2))));
 }
 
-static Xen gxg_gdk_pixbuf_animation_new_from_file(Xen filename, Xen ignore_error)
-{
-  #define H_gdk_pixbuf_animation_new_from_file "GdkPixbufAnimation* gdk_pixbuf_animation_new_from_file(char* filename, \
-GError** [error])"
-  GError* ref_error = NULL;
-  Xen_check_type(Xen_is_char_(filename), filename, 1, "gdk_pixbuf_animation_new_from_file", "char*");
-  {
-    Xen result;
-    result = C_to_Xen_GdkPixbufAnimation_(gdk_pixbuf_animation_new_from_file(Xen_to_C_char_(filename), &ref_error));
-    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
-   }
-}
-
-static Xen gxg_gdk_pixbuf_animation_get_width(Xen animation)
-{
-  #define H_gdk_pixbuf_animation_get_width "int gdk_pixbuf_animation_get_width(GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gdk_pixbuf_animation_get_width", "GdkPixbufAnimation*");
-  return(C_to_Xen_int(gdk_pixbuf_animation_get_width(Xen_to_C_GdkPixbufAnimation_(animation))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_get_height(Xen animation)
-{
-  #define H_gdk_pixbuf_animation_get_height "int gdk_pixbuf_animation_get_height(GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gdk_pixbuf_animation_get_height", "GdkPixbufAnimation*");
-  return(C_to_Xen_int(gdk_pixbuf_animation_get_height(Xen_to_C_GdkPixbufAnimation_(animation))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_is_static_image(Xen animation)
-{
-  #define H_gdk_pixbuf_animation_is_static_image "gboolean gdk_pixbuf_animation_is_static_image(GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gdk_pixbuf_animation_is_static_image", "GdkPixbufAnimation*");
-  return(C_to_Xen_gboolean(gdk_pixbuf_animation_is_static_image(Xen_to_C_GdkPixbufAnimation_(animation))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_get_static_image(Xen animation)
-{
-  #define H_gdk_pixbuf_animation_get_static_image "GdkPixbuf* gdk_pixbuf_animation_get_static_image(GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gdk_pixbuf_animation_get_static_image", "GdkPixbufAnimation*");
-  return(C_to_Xen_GdkPixbuf_(gdk_pixbuf_animation_get_static_image(Xen_to_C_GdkPixbufAnimation_(animation))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_get_iter(Xen animation, Xen start_time)
-{
-  #define H_gdk_pixbuf_animation_get_iter "GdkPixbufAnimationIter* gdk_pixbuf_animation_get_iter(GdkPixbufAnimation* animation, \
-GTimeVal* start_time)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gdk_pixbuf_animation_get_iter", "GdkPixbufAnimation*");
-  Xen_check_type(Xen_is_GTimeVal_(start_time), start_time, 2, "gdk_pixbuf_animation_get_iter", "GTimeVal*");
-  return(C_to_Xen_GdkPixbufAnimationIter_(gdk_pixbuf_animation_get_iter(Xen_to_C_GdkPixbufAnimation_(animation), Xen_to_C_GTimeVal_(start_time))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_iter_get_delay_time(Xen iter)
-{
-  #define H_gdk_pixbuf_animation_iter_get_delay_time "int gdk_pixbuf_animation_iter_get_delay_time(GdkPixbufAnimationIter* iter)"
-  Xen_check_type(Xen_is_GdkPixbufAnimationIter_(iter), iter, 1, "gdk_pixbuf_animation_iter_get_delay_time", "GdkPixbufAnimationIter*");
-  return(C_to_Xen_int(gdk_pixbuf_animation_iter_get_delay_time(Xen_to_C_GdkPixbufAnimationIter_(iter))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_iter_get_pixbuf(Xen iter)
-{
-  #define H_gdk_pixbuf_animation_iter_get_pixbuf "GdkPixbuf* gdk_pixbuf_animation_iter_get_pixbuf(GdkPixbufAnimationIter* iter)"
-  Xen_check_type(Xen_is_GdkPixbufAnimationIter_(iter), iter, 1, "gdk_pixbuf_animation_iter_get_pixbuf", "GdkPixbufAnimationIter*");
-  return(C_to_Xen_GdkPixbuf_(gdk_pixbuf_animation_iter_get_pixbuf(Xen_to_C_GdkPixbufAnimationIter_(iter))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_iter_on_currently_loading_frame(Xen iter)
-{
-  #define H_gdk_pixbuf_animation_iter_on_currently_loading_frame "gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame(GdkPixbufAnimationIter* iter)"
-  Xen_check_type(Xen_is_GdkPixbufAnimationIter_(iter), iter, 1, "gdk_pixbuf_animation_iter_on_currently_loading_frame", "GdkPixbufAnimationIter*");
-  return(C_to_Xen_gboolean(gdk_pixbuf_animation_iter_on_currently_loading_frame(Xen_to_C_GdkPixbufAnimationIter_(iter))));
-}
-
-static Xen gxg_gdk_pixbuf_animation_iter_advance(Xen iter, Xen current_time)
-{
-  #define H_gdk_pixbuf_animation_iter_advance "gboolean gdk_pixbuf_animation_iter_advance(GdkPixbufAnimationIter* iter, \
-GTimeVal* current_time)"
-  Xen_check_type(Xen_is_GdkPixbufAnimationIter_(iter), iter, 1, "gdk_pixbuf_animation_iter_advance", "GdkPixbufAnimationIter*");
-  Xen_check_type(Xen_is_GTimeVal_(current_time), current_time, 2, "gdk_pixbuf_animation_iter_advance", "GTimeVal*");
-  return(C_to_Xen_gboolean(gdk_pixbuf_animation_iter_advance(Xen_to_C_GdkPixbufAnimationIter_(iter), Xen_to_C_GTimeVal_(current_time))));
-}
-
 static Xen gxg_gdk_pixbuf_get_option(Xen pixbuf, Xen key)
 {
   #define H_gdk_pixbuf_get_option "gchar* gdk_pixbuf_get_option(GdkPixbuf* pixbuf, gchar* key)"
@@ -4561,133 +4202,6 @@ static Xen gxg_gtk_check_menu_item_get_inconsistent(Xen check_menu_item)
   return(C_to_Xen_gboolean(gtk_check_menu_item_get_inconsistent(Xen_to_C_GtkCheckMenuItem_(check_menu_item))));
 }
 
-static Xen gxg_gtk_clipboard_get(Xen selection)
-{
-  #define H_gtk_clipboard_get "GtkClipboard* gtk_clipboard_get(GdkAtom selection)"
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 1, "gtk_clipboard_get", "GdkAtom");
-  return(C_to_Xen_GtkClipboard_(gtk_clipboard_get(Xen_to_C_GdkAtom(selection))));
-}
-
-static Xen gxg_gtk_clipboard_set_with_data(Xen clipboard, Xen targets, Xen n_targets, Xen func, Xen clear_func, Xen func_info)
-{
-  #define H_gtk_clipboard_set_with_data "gboolean gtk_clipboard_set_with_data(GtkClipboard* clipboard, \
-GtkTargetEntry* targets, guint n_targets, GtkClipboardGetFunc func, GtkClipboardClearFunc clear_func, \
-lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_set_with_data", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 2, "gtk_clipboard_set_with_data", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_guint(n_targets), n_targets, 3, "gtk_clipboard_set_with_data", "guint");
-  Xen_check_type(Xen_is_GtkClipboardGetFunc(func), func, 4, "gtk_clipboard_set_with_data", "GtkClipboardGetFunc");
-  Xen_check_type(Xen_is_GtkClipboardClearFunc(clear_func), clear_func, 5, "gtk_clipboard_set_with_data", "GtkClipboardClearFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 6, "gtk_clipboard_set_with_data", "lambda_data");
-  {
-    Xen result;
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    xm_protect(gxg_ptr);
-    Xen_list_set(gxg_ptr, 2, clear_func);
-    result = C_to_Xen_gboolean(gtk_clipboard_set_with_data(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTargetEntry_(targets), 
-                                                           Xen_to_C_guint(n_targets), Xen_to_C_GtkClipboardGetFunc(func), 
-                                                           Xen_to_C_GtkClipboardClearFunc(clear_func), Xen_to_C_lambda_data(func_info)));
-    return(result);
-   }
-}
-
-static Xen gxg_gtk_clipboard_get_owner(Xen clipboard)
-{
-  #define H_gtk_clipboard_get_owner "GObject* gtk_clipboard_get_owner(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_get_owner", "GtkClipboard*");
-  return(C_to_Xen_GObject_(gtk_clipboard_get_owner(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
-static Xen gxg_gtk_clipboard_clear(Xen clipboard)
-{
-  #define H_gtk_clipboard_clear "void gtk_clipboard_clear(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_clear", "GtkClipboard*");
-  gtk_clipboard_clear(Xen_to_C_GtkClipboard_(clipboard));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_clipboard_set_text(Xen clipboard, Xen text, Xen len)
-{
-  #define H_gtk_clipboard_set_text "void gtk_clipboard_set_text(GtkClipboard* clipboard, gchar* text, \
-gint len)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_set_text", "GtkClipboard*");
-  Xen_check_type(Xen_is_gchar_(text), text, 2, "gtk_clipboard_set_text", "gchar*");
-  Xen_check_type(Xen_is_gint(len), len, 3, "gtk_clipboard_set_text", "gint");
-  gtk_clipboard_set_text(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_gchar_(text), Xen_to_C_gint(len));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_clipboard_request_contents(Xen clipboard, Xen target, Xen func, Xen func_info)
-{
-  #define H_gtk_clipboard_request_contents "void gtk_clipboard_request_contents(GtkClipboard* clipboard, \
-GdkAtom target, GtkClipboardReceivedFunc func, lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_request_contents", "GtkClipboard*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_clipboard_request_contents", "GdkAtom");
-  Xen_check_type(Xen_is_GtkClipboardReceivedFunc(func), func, 3, "gtk_clipboard_request_contents", "GtkClipboardReceivedFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 4, "gtk_clipboard_request_contents", "lambda_data");
-  {
-    int loc;
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    loc = xm_protect(gxg_ptr);
-    Xen_list_set(gxg_ptr, 2, C_int_to_Xen_integer(loc));
-    gtk_clipboard_request_contents(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GdkAtom(target), Xen_to_C_GtkClipboardReceivedFunc(func), 
-                               Xen_to_C_lambda_data(func_info));
-    xm_unprotect_at(loc);
-    return(Xen_false);
-   }
-}
-
-static Xen gxg_gtk_clipboard_request_text(Xen clipboard, Xen func, Xen func_info)
-{
-  #define H_gtk_clipboard_request_text "void gtk_clipboard_request_text(GtkClipboard* clipboard, GtkClipboardTextReceivedFunc func, \
-lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_request_text", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkClipboardTextReceivedFunc(func), func, 2, "gtk_clipboard_request_text", "GtkClipboardTextReceivedFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 3, "gtk_clipboard_request_text", "lambda_data");
-  {
-    int loc;
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    loc = xm_protect(gxg_ptr);
-    Xen_list_set(gxg_ptr, 2, C_int_to_Xen_integer(loc));
-    gtk_clipboard_request_text(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkClipboardTextReceivedFunc(func), Xen_to_C_lambda_data(func_info));
-    xm_unprotect_at(loc);
-    return(Xen_false);
-   }
-}
-
-static Xen gxg_gtk_clipboard_wait_for_contents(Xen clipboard, Xen target)
-{
-  #define H_gtk_clipboard_wait_for_contents "GtkSelectionData* gtk_clipboard_wait_for_contents(GtkClipboard* clipboard, \
-GdkAtom target)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_for_contents", "GtkClipboard*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_clipboard_wait_for_contents", "GdkAtom");
-  return(C_to_Xen_GtkSelectionData_(gtk_clipboard_wait_for_contents(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GdkAtom(target))));
-}
-
-static Xen gxg_gtk_clipboard_wait_for_text(Xen clipboard)
-{
-  #define H_gtk_clipboard_wait_for_text "gchar* gtk_clipboard_wait_for_text(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_for_text", "GtkClipboard*");
-  {
-   gchar* result;
-   Xen rtn;
-   result = gtk_clipboard_wait_for_text(Xen_to_C_GtkClipboard_(clipboard));
-   rtn = C_to_Xen_gchar_(result);
-   g_free(result);
-   return(rtn);
-  }
-}
-
-static Xen gxg_gtk_clipboard_wait_is_text_available(Xen clipboard)
-{
-  #define H_gtk_clipboard_wait_is_text_available "gboolean gtk_clipboard_wait_is_text_available(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_is_text_available", "GtkClipboard*");
-  return(C_to_Xen_gboolean(gtk_clipboard_wait_is_text_available(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
 static Xen gxg_gtk_container_add(Xen container, Xen widget)
 {
   #define H_gtk_container_add "void gtk_container_add(GtkContainer* container, GtkWidget* widget)"
@@ -4841,18 +4355,6 @@ guint32 time)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_drag_finish(Xen context, Xen success, Xen del, Xen time)
-{
-  #define H_gtk_drag_finish "void gtk_drag_finish(GdkDragContext* context, gboolean success, gboolean del, \
-guint32 time)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gtk_drag_finish", "GdkDragContext*");
-  Xen_check_type(Xen_is_gboolean(success), success, 2, "gtk_drag_finish", "gboolean");
-  Xen_check_type(Xen_is_gboolean(del), del, 3, "gtk_drag_finish", "gboolean");
-  Xen_check_type(Xen_is_guint32(time), time, 4, "gtk_drag_finish", "guint32");
-  gtk_drag_finish(Xen_to_C_GdkDragContext_(context), Xen_to_C_gboolean(success), Xen_to_C_gboolean(del), Xen_to_C_guint32(time));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_get_source_widget(Xen context)
 {
   #define H_gtk_drag_get_source_widget "GtkWidget* gtk_drag_get_source_widget(GdkDragContext* context)"
@@ -4876,20 +4378,6 @@ static Xen gxg_gtk_drag_unhighlight(Xen widget)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_drag_dest_set(Xen widget, Xen flags, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_drag_dest_set "void gtk_drag_dest_set(GtkWidget* widget, GtkDestDefaults flags, GtkTargetEntry* targets, \
-gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_set", "GtkWidget*");
-  Xen_check_type(Xen_is_GtkDestDefaults(flags), flags, 2, "gtk_drag_dest_set", "GtkDestDefaults");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 3, "gtk_drag_dest_set", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 4, "gtk_drag_dest_set", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 5, "gtk_drag_dest_set", "GdkDragAction");
-  gtk_drag_dest_set(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkDestDefaults(flags), Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_gint(n_targets), 
-                    Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_dest_unset(Xen widget)
 {
   #define H_gtk_drag_dest_unset "void gtk_drag_dest_unset(GtkWidget* widget)"
@@ -4898,46 +4386,6 @@ static Xen gxg_gtk_drag_dest_unset(Xen widget)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_drag_dest_find_target(Xen widget, Xen context, Xen target_list)
-{
-  #define H_gtk_drag_dest_find_target "GdkAtom gtk_drag_dest_find_target(GtkWidget* widget, GdkDragContext* context, \
-GtkTargetList* target_list)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_find_target", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 2, "gtk_drag_dest_find_target", "GdkDragContext*");
-  Xen_check_type(Xen_is_GtkTargetList_(target_list) || Xen_is_false(target_list), target_list, 3, "gtk_drag_dest_find_target", "GtkTargetList*");
-  return(C_to_Xen_GdkAtom(gtk_drag_dest_find_target(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkDragContext_(context), Xen_to_C_GtkTargetList_(target_list))));
-}
-
-static Xen gxg_gtk_drag_dest_get_target_list(Xen widget)
-{
-  #define H_gtk_drag_dest_get_target_list "GtkTargetList* gtk_drag_dest_get_target_list(GtkWidget* widget)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_get_target_list", "GtkWidget*");
-  return(C_to_Xen_GtkTargetList_(gtk_drag_dest_get_target_list(Xen_to_C_GtkWidget_(widget))));
-}
-
-static Xen gxg_gtk_drag_dest_set_target_list(Xen widget, Xen target_list)
-{
-  #define H_gtk_drag_dest_set_target_list "void gtk_drag_dest_set_target_list(GtkWidget* widget, GtkTargetList* target_list)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_set_target_list", "GtkWidget*");
-  Xen_check_type(Xen_is_GtkTargetList_(target_list) || Xen_is_false(target_list), target_list, 2, "gtk_drag_dest_set_target_list", "GtkTargetList*");
-  gtk_drag_dest_set_target_list(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkTargetList_(target_list));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_drag_source_set(Xen widget, Xen start_button_mask, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_drag_source_set "void gtk_drag_source_set(GtkWidget* widget, GdkModifierType start_button_mask, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_drag_source_set", "GdkModifierType");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 3, "gtk_drag_source_set", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 4, "gtk_drag_source_set", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 5, "gtk_drag_source_set", "GdkDragAction");
-  gtk_drag_source_set(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GtkTargetEntry_(targets), 
-                      Xen_to_C_gint(n_targets), Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_source_unset(Xen widget)
 {
   #define H_gtk_drag_source_unset "void gtk_drag_source_unset(GtkWidget* widget)"
@@ -4946,16 +4394,6 @@ static Xen gxg_gtk_drag_source_unset(Xen widget)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_drag_source_set_icon_pixbuf(Xen widget, Xen pixbuf)
-{
-  #define H_gtk_drag_source_set_icon_pixbuf "void gtk_drag_source_set_icon_pixbuf(GtkWidget* widget, \
-GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set_icon_pixbuf", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_drag_source_set_icon_pixbuf", "GdkPixbuf*");
-  gtk_drag_source_set_icon_pixbuf(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkPixbuf_(pixbuf));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_set_icon_widget(Xen context, Xen widget, Xen hot_x, Xen hot_y)
 {
   #define H_gtk_drag_set_icon_widget "void gtk_drag_set_icon_widget(GdkDragContext* context, GtkWidget* widget, \
@@ -4968,18 +4406,6 @@ gint hot_x, gint hot_y)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_drag_set_icon_pixbuf(Xen context, Xen pixbuf, Xen hot_x, Xen hot_y)
-{
-  #define H_gtk_drag_set_icon_pixbuf "void gtk_drag_set_icon_pixbuf(GdkDragContext* context, GdkPixbuf* pixbuf, \
-gint hot_x, gint hot_y)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gtk_drag_set_icon_pixbuf", "GdkDragContext*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_drag_set_icon_pixbuf", "GdkPixbuf*");
-  Xen_check_type(Xen_is_gint(hot_x), hot_x, 3, "gtk_drag_set_icon_pixbuf", "gint");
-  Xen_check_type(Xen_is_gint(hot_y), hot_y, 4, "gtk_drag_set_icon_pixbuf", "gint");
-  gtk_drag_set_icon_pixbuf(Xen_to_C_GdkDragContext_(context), Xen_to_C_GdkPixbuf_(pixbuf), Xen_to_C_gint(hot_x), Xen_to_C_gint(hot_y));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_set_icon_default(Xen context)
 {
   #define H_gtk_drag_set_icon_default "void gtk_drag_set_icon_default(GdkDragContext* context)"
@@ -5398,13 +4824,6 @@ static Xen gxg_gtk_image_new_from_pixbuf(Xen pixbuf)
   return(C_to_Xen_GtkWidget_(gtk_image_new_from_pixbuf(Xen_to_C_GdkPixbuf_(pixbuf))));
 }
 
-static Xen gxg_gtk_image_new_from_animation(Xen animation)
-{
-  #define H_gtk_image_new_from_animation "GtkWidget* gtk_image_new_from_animation(GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation), animation, 1, "gtk_image_new_from_animation", "GdkPixbufAnimation*");
-  return(C_to_Xen_GtkWidget_(gtk_image_new_from_animation(Xen_to_C_GdkPixbufAnimation_(animation))));
-}
-
 static Xen gxg_gtk_image_set_from_file(Xen image, Xen filename)
 {
   #define H_gtk_image_set_from_file "void gtk_image_set_from_file(GtkImage* image, gchar* filename)"
@@ -5423,15 +4842,6 @@ static Xen gxg_gtk_image_set_from_pixbuf(Xen image, Xen pixbuf)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_image_set_from_animation(Xen image, Xen animation)
-{
-  #define H_gtk_image_set_from_animation "void gtk_image_set_from_animation(GtkImage* image, GdkPixbufAnimation* animation)"
-  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_set_from_animation", "GtkImage*");
-  Xen_check_type(Xen_is_GdkPixbufAnimation_(animation) || Xen_is_false(animation), animation, 2, "gtk_image_set_from_animation", "GdkPixbufAnimation*");
-  gtk_image_set_from_animation(Xen_to_C_GtkImage_(image), Xen_to_C_GdkPixbufAnimation_(animation));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_image_get_storage_type(Xen image)
 {
   #define H_gtk_image_get_storage_type "GtkImageType gtk_image_get_storage_type(GtkImage* image)"
@@ -5439,20 +4849,6 @@ static Xen gxg_gtk_image_get_storage_type(Xen image)
   return(C_to_Xen_GtkImageType(gtk_image_get_storage_type(Xen_to_C_GtkImage_(image))));
 }
 
-static Xen gxg_gtk_image_get_pixbuf(Xen image)
-{
-  #define H_gtk_image_get_pixbuf "GdkPixbuf* gtk_image_get_pixbuf(GtkImage* image)"
-  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_pixbuf", "GtkImage*");
-  return(C_to_Xen_GdkPixbuf_(gtk_image_get_pixbuf(Xen_to_C_GtkImage_(image))));
-}
-
-static Xen gxg_gtk_image_get_animation(Xen image)
-{
-  #define H_gtk_image_get_animation "GdkPixbufAnimation* gtk_image_get_animation(GtkImage* image)"
-  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_animation", "GtkImage*");
-  return(C_to_Xen_GdkPixbufAnimation_(gtk_image_get_animation(Xen_to_C_GtkImage_(image))));
-}
-
 static Xen gxg_gtk_im_context_get_preedit_string(Xen context, Xen ignore_str, Xen ignore_attrs, Xen ignore_cursor_pos)
 {
   #define H_gtk_im_context_get_preedit_string "void gtk_im_context_get_preedit_string(GtkIMContext* context, \
@@ -7157,192 +6553,6 @@ static Xen gxg_gtk_scrolled_window_get_shadow_type(Xen scrolled_window)
   return(C_to_Xen_GtkShadowType(gtk_scrolled_window_get_shadow_type(Xen_to_C_GtkScrolledWindow_(scrolled_window))));
 }
 
-static Xen gxg_gtk_target_list_new(Xen targets, Xen ntargets)
-{
-  #define H_gtk_target_list_new "GtkTargetList* gtk_target_list_new(GtkTargetEntry* targets, guint ntargets)"
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets) || Xen_is_false(targets), targets, 1, "gtk_target_list_new", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_guint(ntargets), ntargets, 2, "gtk_target_list_new", "guint");
-  return(C_to_Xen_GtkTargetList_(gtk_target_list_new(Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_guint(ntargets))));
-}
-
-static Xen gxg_gtk_target_list_unref(Xen list)
-{
-  #define H_gtk_target_list_unref "void gtk_target_list_unref(GtkTargetList* list)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_unref", "GtkTargetList*");
-  gtk_target_list_unref(Xen_to_C_GtkTargetList_(list));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_add(Xen list, Xen target, Xen flags, Xen info)
-{
-  #define H_gtk_target_list_add "void gtk_target_list_add(GtkTargetList* list, GdkAtom target, guint flags, \
-guint info)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add", "GtkTargetList*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_target_list_add", "GdkAtom");
-  Xen_check_type(Xen_is_guint(flags), flags, 3, "gtk_target_list_add", "guint");
-  Xen_check_type(Xen_is_guint(info), info, 4, "gtk_target_list_add", "guint");
-  gtk_target_list_add(Xen_to_C_GtkTargetList_(list), Xen_to_C_GdkAtom(target), Xen_to_C_guint(flags), Xen_to_C_guint(info));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_add_table(Xen list, Xen targets, Xen ntargets)
-{
-  #define H_gtk_target_list_add_table "void gtk_target_list_add_table(GtkTargetList* list, GtkTargetEntry* targets, \
-guint ntargets)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add_table", "GtkTargetList*");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 2, "gtk_target_list_add_table", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_guint(ntargets), ntargets, 3, "gtk_target_list_add_table", "guint");
-  gtk_target_list_add_table(Xen_to_C_GtkTargetList_(list), Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_guint(ntargets));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_remove(Xen list, Xen target)
-{
-  #define H_gtk_target_list_remove "void gtk_target_list_remove(GtkTargetList* list, GdkAtom target)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_remove", "GtkTargetList*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_target_list_remove", "GdkAtom");
-  gtk_target_list_remove(Xen_to_C_GtkTargetList_(list), Xen_to_C_GdkAtom(target));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_find(Xen list, Xen target, Xen ignore_info)
-{
-  #define H_gtk_target_list_find "gboolean gtk_target_list_find(GtkTargetList* list, GdkAtom target, \
-guint* [info])"
-  guint ref_info;
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_find", "GtkTargetList*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_target_list_find", "GdkAtom");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gtk_target_list_find(Xen_to_C_GtkTargetList_(list), Xen_to_C_GdkAtom(target), &ref_info));
-    return(Xen_list_2(result, C_to_Xen_guint(ref_info)));
-   }
-}
-
-static Xen gxg_gtk_selection_owner_set(Xen widget, Xen selection, Xen time)
-{
-  #define H_gtk_selection_owner_set "gboolean gtk_selection_owner_set(GtkWidget* widget, GdkAtom selection, \
-guint32 time)"
-  Xen_check_type(Xen_is_GtkWidget_(widget) || Xen_is_false(widget), widget, 1, "gtk_selection_owner_set", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_selection_owner_set", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 3, "gtk_selection_owner_set", "guint32");
-  return(C_to_Xen_gboolean(gtk_selection_owner_set(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection), Xen_to_C_guint32(time))));
-}
-
-static Xen gxg_gtk_selection_add_target(Xen widget, Xen selection, Xen target, Xen info)
-{
-  #define H_gtk_selection_add_target "void gtk_selection_add_target(GtkWidget* widget, GdkAtom selection, \
-GdkAtom target, guint info)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_selection_add_target", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_selection_add_target", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 3, "gtk_selection_add_target", "GdkAtom");
-  Xen_check_type(Xen_is_guint(info), info, 4, "gtk_selection_add_target", "guint");
-  gtk_selection_add_target(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection), Xen_to_C_GdkAtom(target), Xen_to_C_guint(info));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_add_targets(Xen widget, Xen selection, Xen targets, Xen ntargets)
-{
-  #define H_gtk_selection_add_targets "void gtk_selection_add_targets(GtkWidget* widget, GdkAtom selection, \
-GtkTargetEntry* targets, guint ntargets)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_selection_add_targets", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_selection_add_targets", "GdkAtom");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 3, "gtk_selection_add_targets", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_guint(ntargets), ntargets, 4, "gtk_selection_add_targets", "guint");
-  gtk_selection_add_targets(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection), Xen_to_C_GtkTargetEntry_(targets), 
-                            Xen_to_C_guint(ntargets));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_clear_targets(Xen widget, Xen selection)
-{
-  #define H_gtk_selection_clear_targets "void gtk_selection_clear_targets(GtkWidget* widget, GdkAtom selection)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_selection_clear_targets", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_selection_clear_targets", "GdkAtom");
-  gtk_selection_clear_targets(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_convert(Xen widget, Xen selection, Xen target, Xen time)
-{
-  #define H_gtk_selection_convert "gboolean gtk_selection_convert(GtkWidget* widget, GdkAtom selection, \
-GdkAtom target, guint32 time)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_selection_convert", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_selection_convert", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 3, "gtk_selection_convert", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 4, "gtk_selection_convert", "guint32");
-  return(C_to_Xen_gboolean(gtk_selection_convert(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection), Xen_to_C_GdkAtom(target), 
-                                                 Xen_to_C_guint32(time))));
-}
-
-static Xen gxg_gtk_selection_data_set(Xen selection_data, Xen type, Xen format, Xen data, Xen length)
-{
-  #define H_gtk_selection_data_set "void gtk_selection_data_set(GtkSelectionData* selection_data, GdkAtom type, \
-gint format, guchar* data, gint length)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set", "GtkSelectionData*");
-  Xen_check_type(Xen_is_GdkAtom(type), type, 2, "gtk_selection_data_set", "GdkAtom");
-  Xen_check_type(Xen_is_gint(format), format, 3, "gtk_selection_data_set", "gint");
-  Xen_check_type(Xen_is_guchar_(data), data, 4, "gtk_selection_data_set", "guchar*");
-  Xen_check_type(Xen_is_gint(length), length, 5, "gtk_selection_data_set", "gint");
-  gtk_selection_data_set(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GdkAtom(type), Xen_to_C_gint(format), Xen_to_C_guchar_(data), 
-                         Xen_to_C_gint(length));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_data_set_text(Xen selection_data, Xen str, Xen len)
-{
-  #define H_gtk_selection_data_set_text "gboolean gtk_selection_data_set_text(GtkSelectionData* selection_data, \
-gchar* str, gint len)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_text", "GtkSelectionData*");
-  Xen_check_type(Xen_is_gchar_(str), str, 2, "gtk_selection_data_set_text", "gchar*");
-  Xen_check_type(Xen_is_gint(len), len, 3, "gtk_selection_data_set_text", "gint");
-  return(C_to_Xen_gboolean(gtk_selection_data_set_text(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_gchar_(str), 
-                                                       Xen_to_C_gint(len))));
-}
-
-static Xen gxg_gtk_selection_data_get_text(Xen selection_data)
-{
-  #define H_gtk_selection_data_get_text "guchar* gtk_selection_data_get_text(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_text", "GtkSelectionData*");
-  {
-   guchar* result;
-   Xen rtn;
-   result = gtk_selection_data_get_text(Xen_to_C_GtkSelectionData_(selection_data));
-   rtn = C_to_Xen_guchar_(result);
-   g_free(result);
-   return(rtn);
-  }
-}
-
-static Xen gxg_gtk_selection_data_get_targets(Xen selection_data, Xen ignore_targets, Xen ignore_n_atoms)
-{
-  #define H_gtk_selection_data_get_targets "gboolean gtk_selection_data_get_targets(GtkSelectionData* selection_data, \
-GdkAtom** [targets], gint* [n_atoms])"
-  GdkAtom* ref_targets = NULL;
-  gint ref_n_atoms;
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_targets", "GtkSelectionData*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gtk_selection_data_get_targets(Xen_to_C_GtkSelectionData_(selection_data), &ref_targets, &ref_n_atoms));
-    return(Xen_list_3(result, C_to_Xen_GdkAtom_(ref_targets), C_to_Xen_gint(ref_n_atoms)));
-   }
-}
-
-static Xen gxg_gtk_selection_data_targets_include_text(Xen selection_data)
-{
-  #define H_gtk_selection_data_targets_include_text "gboolean gtk_selection_data_targets_include_text(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_targets_include_text", "GtkSelectionData*");
-  return(C_to_Xen_gboolean(gtk_selection_data_targets_include_text(Xen_to_C_GtkSelectionData_(selection_data))));
-}
-
-static Xen gxg_gtk_selection_remove_all(Xen widget)
-{
-  #define H_gtk_selection_remove_all "void gtk_selection_remove_all(GtkWidget* widget)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_selection_remove_all", "GtkWidget*");
-  gtk_selection_remove_all(Xen_to_C_GtkWidget_(widget));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_selection_data_copy(Xen data)
 {
   #define H_gtk_selection_data_copy "GtkSelectionData* gtk_selection_data_copy(GtkSelectionData* data)"
@@ -7918,17 +7128,6 @@ GtkTextIter* end, gboolean include_hidden_chars)"
   }
 }
 
-static Xen gxg_gtk_text_buffer_insert_pixbuf(Xen buffer, Xen iter, Xen pixbuf)
-{
-  #define H_gtk_text_buffer_insert_pixbuf "void gtk_text_buffer_insert_pixbuf(GtkTextBuffer* buffer, \
-GtkTextIter* iter, GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_insert_pixbuf", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 2, "gtk_text_buffer_insert_pixbuf", "GtkTextIter*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 3, "gtk_text_buffer_insert_pixbuf", "GdkPixbuf*");
-  gtk_text_buffer_insert_pixbuf(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkTextIter_(iter), Xen_to_C_GdkPixbuf_(pixbuf));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_text_buffer_insert_child_anchor(Xen buffer, Xen iter, Xen anchor)
 {
   #define H_gtk_text_buffer_insert_child_anchor "void gtk_text_buffer_insert_child_anchor(GtkTextBuffer* buffer, \
@@ -8239,60 +7438,6 @@ static Xen gxg_gtk_text_buffer_set_modified(Xen buffer, Xen setting)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_text_buffer_add_selection_clipboard(Xen buffer, Xen clipboard)
-{
-  #define H_gtk_text_buffer_add_selection_clipboard "void gtk_text_buffer_add_selection_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_add_selection_clipboard", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_add_selection_clipboard", "GtkClipboard*");
-  gtk_text_buffer_add_selection_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboard_(clipboard));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_remove_selection_clipboard(Xen buffer, Xen clipboard)
-{
-  #define H_gtk_text_buffer_remove_selection_clipboard "void gtk_text_buffer_remove_selection_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_remove_selection_clipboard", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_remove_selection_clipboard", "GtkClipboard*");
-  gtk_text_buffer_remove_selection_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboard_(clipboard));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_cut_clipboard(Xen buffer, Xen clipboard, Xen default_editable)
-{
-  #define H_gtk_text_buffer_cut_clipboard "void gtk_text_buffer_cut_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard, gboolean default_editable)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_cut_clipboard", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_cut_clipboard", "GtkClipboard*");
-  Xen_check_type(Xen_is_gboolean(default_editable), default_editable, 3, "gtk_text_buffer_cut_clipboard", "gboolean");
-  gtk_text_buffer_cut_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_gboolean(default_editable));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_copy_clipboard(Xen buffer, Xen clipboard)
-{
-  #define H_gtk_text_buffer_copy_clipboard "void gtk_text_buffer_copy_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_copy_clipboard", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_copy_clipboard", "GtkClipboard*");
-  gtk_text_buffer_copy_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboard_(clipboard));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_paste_clipboard(Xen buffer, Xen clipboard, Xen override_location, Xen default_editable)
-{
-  #define H_gtk_text_buffer_paste_clipboard "void gtk_text_buffer_paste_clipboard(GtkTextBuffer* buffer, \
-GtkClipboard* clipboard, GtkTextIter* override_location, gboolean default_editable)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_paste_clipboard", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_paste_clipboard", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTextIter_(override_location) || Xen_is_false(override_location), override_location, 3, "gtk_text_buffer_paste_clipboard", "GtkTextIter*");
-  Xen_check_type(Xen_is_gboolean(default_editable), default_editable, 4, "gtk_text_buffer_paste_clipboard", "gboolean");
-  gtk_text_buffer_paste_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTextIter_(override_location), 
-                                  Xen_to_C_gboolean(default_editable));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_text_buffer_get_selection_bounds(Xen buffer, Xen start, Xen end)
 {
   #define H_gtk_text_buffer_get_selection_bounds "gboolean gtk_text_buffer_get_selection_bounds(GtkTextBuffer* buffer, \
@@ -8484,13 +7629,6 @@ GtkTextIter* end)"
   }
 }
 
-static Xen gxg_gtk_text_iter_get_pixbuf(Xen iter)
-{
-  #define H_gtk_text_iter_get_pixbuf "GdkPixbuf* gtk_text_iter_get_pixbuf(GtkTextIter* iter)"
-  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 1, "gtk_text_iter_get_pixbuf", "GtkTextIter*");
-  return(C_to_Xen_GdkPixbuf_(gtk_text_iter_get_pixbuf(Xen_to_C_GtkTextIter_(iter))));
-}
-
 static Xen gxg_gtk_text_iter_get_marks(Xen iter)
 {
   #define H_gtk_text_iter_get_marks "GSList* gtk_text_iter_get_marks(GtkTextIter* iter)"
@@ -9078,18 +8216,6 @@ static Xen gxg_gtk_text_tag_set_priority(Xen tag, Xen priority)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_text_tag_event(Xen tag, Xen event_object, Xen event, Xen iter)
-{
-  #define H_gtk_text_tag_event "gboolean gtk_text_tag_event(GtkTextTag* tag, GObject* event_object, GdkEvent* event, \
-GtkTextIter* iter)"
-  Xen_check_type(Xen_is_GtkTextTag_(tag), tag, 1, "gtk_text_tag_event", "GtkTextTag*");
-  Xen_check_type(Xen_is_GObject_(event_object), event_object, 2, "gtk_text_tag_event", "GObject*");
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 3, "gtk_text_tag_event", "GdkEvent*");
-  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 4, "gtk_text_tag_event", "GtkTextIter*");
-  return(C_to_Xen_gboolean(gtk_text_tag_event(Xen_to_C_GtkTextTag_(tag), Xen_to_C_GObject_(event_object), Xen_to_C_GdkEvent_(event), 
-                                              Xen_to_C_GtkTextIter_(iter))));
-}
-
 static Xen gxg_gtk_text_tag_table_new(void)
 {
   #define H_gtk_text_tag_table_new "GtkTextTagTable* gtk_text_tag_table_new( void)"
@@ -9325,23 +8451,6 @@ GtkTextWindowType win, gint window_x, gint window_y, gint* [buffer_x], gint* [bu
   return(Xen_list_2(C_to_Xen_gint(ref_buffer_x), C_to_Xen_gint(ref_buffer_y)));
 }
 
-static Xen gxg_gtk_text_view_get_window(Xen text_view, Xen win)
-{
-  #define H_gtk_text_view_get_window "GdkWindow* gtk_text_view_get_window(GtkTextView* text_view, GtkTextWindowType win)"
-  Xen_check_type(Xen_is_GtkTextView_(text_view), text_view, 1, "gtk_text_view_get_window", "GtkTextView*");
-  Xen_check_type(Xen_is_GtkTextWindowType(win), win, 2, "gtk_text_view_get_window", "GtkTextWindowType");
-  return(C_to_Xen_GdkWindow_(gtk_text_view_get_window(Xen_to_C_GtkTextView_(text_view), Xen_to_C_GtkTextWindowType(win))));
-}
-
-static Xen gxg_gtk_text_view_get_window_type(Xen text_view, Xen window)
-{
-  #define H_gtk_text_view_get_window_type "GtkTextWindowType gtk_text_view_get_window_type(GtkTextView* text_view, \
-GdkWindow* window)"
-  Xen_check_type(Xen_is_GtkTextView_(text_view), text_view, 1, "gtk_text_view_get_window_type", "GtkTextView*");
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 2, "gtk_text_view_get_window_type", "GdkWindow*");
-  return(C_to_Xen_GtkTextWindowType(gtk_text_view_get_window_type(Xen_to_C_GtkTextView_(text_view), Xen_to_C_GdkWindow_(window))));
-}
-
 static Xen gxg_gtk_text_view_set_border_window_size(Xen text_view, Xen type, Xen size)
 {
   #define H_gtk_text_view_set_border_window_size "void gtk_text_view_set_border_window_size(GtkTextView* text_view, \
@@ -11566,33 +10675,6 @@ GdkRectangle* visible_rect)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_tree_view_enable_model_drag_source(Xen tree_view, Xen start_button_mask, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_tree_view_enable_model_drag_source "void gtk_tree_view_enable_model_drag_source(GtkTreeView* tree_view, \
-GdkModifierType start_button_mask, GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkTreeView_(tree_view), tree_view, 1, "gtk_tree_view_enable_model_drag_source", "GtkTreeView*");
-  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_tree_view_enable_model_drag_source", "GdkModifierType");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 3, "gtk_tree_view_enable_model_drag_source", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 4, "gtk_tree_view_enable_model_drag_source", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 5, "gtk_tree_view_enable_model_drag_source", "GdkDragAction");
-  gtk_tree_view_enable_model_drag_source(Xen_to_C_GtkTreeView_(tree_view), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GtkTargetEntry_(targets), 
-                                         Xen_to_C_gint(n_targets), Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_tree_view_enable_model_drag_dest(Xen tree_view, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_tree_view_enable_model_drag_dest "void gtk_tree_view_enable_model_drag_dest(GtkTreeView* tree_view, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkTreeView_(tree_view), tree_view, 1, "gtk_tree_view_enable_model_drag_dest", "GtkTreeView*");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 2, "gtk_tree_view_enable_model_drag_dest", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 3, "gtk_tree_view_enable_model_drag_dest", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_tree_view_enable_model_drag_dest", "GdkDragAction");
-  gtk_tree_view_enable_model_drag_dest(Xen_to_C_GtkTreeView_(tree_view), Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_gint(n_targets), 
-                                       Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_tree_view_unset_rows_drag_source(Xen tree_view)
 {
   #define H_gtk_tree_view_unset_rows_drag_source "void gtk_tree_view_unset_rows_drag_source(GtkTreeView* tree_view)"
@@ -12424,37 +11506,6 @@ static Xen gxg_gtk_window_set_icon_list(Xen window, Xen list)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_window_get_icon_list(Xen window)
-{
-  #define H_gtk_window_get_icon_list "GList* gtk_window_get_icon_list(GtkWindow* window)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_get_icon_list", "GtkWindow*");
-  return(C_to_Xen_GList_(gtk_window_get_icon_list(Xen_to_C_GtkWindow_(window))));
-}
-
-static Xen gxg_gtk_window_set_icon(Xen window, Xen icon)
-{
-  #define H_gtk_window_set_icon "void gtk_window_set_icon(GtkWindow* window, GdkPixbuf* icon)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_set_icon", "GtkWindow*");
-  Xen_check_type(Xen_is_GdkPixbuf_(icon) || Xen_is_false(icon), icon, 2, "gtk_window_set_icon", "GdkPixbuf*");
-  gtk_window_set_icon(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkPixbuf_(icon));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_window_get_icon(Xen window)
-{
-  #define H_gtk_window_get_icon "GdkPixbuf* gtk_window_get_icon(GtkWindow* window)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_get_icon", "GtkWindow*");
-  return(C_to_Xen_GdkPixbuf_(gtk_window_get_icon(Xen_to_C_GtkWindow_(window))));
-}
-
-static Xen gxg_gtk_window_set_default_icon_list(Xen list)
-{
-  #define H_gtk_window_set_default_icon_list "void gtk_window_set_default_icon_list(GList* list)"
-  Xen_check_type(Xen_is_GList_(list) || Xen_is_false(list), list, 1, "gtk_window_set_default_icon_list", "GList*");
-  gtk_window_set_default_icon_list(Xen_to_C_GList_(list));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_window_get_default_icon_list(void)
 {
   #define H_gtk_window_get_default_icon_list "GList* gtk_window_get_default_icon_list( void)"
@@ -14490,13 +13541,6 @@ static Xen gxg_gdk_display_get_name(Xen display)
   return(C_to_Xen_gchar_(gdk_display_get_name(Xen_to_C_GdkDisplay_(display))));
 }
 
-static Xen gxg_gdk_display_get_default_screen(Xen display)
-{
-  #define H_gdk_display_get_default_screen "GdkScreen* gdk_display_get_default_screen(GdkDisplay* display)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_get_default_screen", "GdkDisplay*");
-  return(C_to_Xen_GdkScreen_(gdk_display_get_default_screen(Xen_to_C_GdkDisplay_(display))));
-}
-
 static Xen gxg_gdk_display_beep(Xen display)
 {
   #define H_gdk_display_beep "void gdk_display_beep(GdkDisplay* display)"
@@ -14544,72 +13588,12 @@ static Xen gxg_gdk_display_put_event(Xen display, Xen event)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_display_set_double_click_time(Xen display, Xen msec)
-{
-  #define H_gdk_display_set_double_click_time "void gdk_display_set_double_click_time(GdkDisplay* display, \
-guint msec)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_set_double_click_time", "GdkDisplay*");
-  Xen_check_type(Xen_is_guint(msec), msec, 2, "gdk_display_set_double_click_time", "guint");
-  gdk_display_set_double_click_time(Xen_to_C_GdkDisplay_(display), Xen_to_C_guint(msec));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_display_get_default(void)
 {
   #define H_gdk_display_get_default "GdkDisplay* gdk_display_get_default( void)"
   return(C_to_Xen_GdkDisplay_(gdk_display_get_default()));
 }
 
-static Xen gxg_gdk_screen_get_display(Xen screen)
-{
-  #define H_gdk_screen_get_display "GdkDisplay* gdk_screen_get_display(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gdk_screen_get_display", "GdkScreen*");
-  return(C_to_Xen_GdkDisplay_(gdk_screen_get_display(Xen_to_C_GdkScreen_(screen))));
-}
-
-static Xen gxg_gdk_screen_get_toplevel_windows(Xen screen)
-{
-  #define H_gdk_screen_get_toplevel_windows "GList* gdk_screen_get_toplevel_windows(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gdk_screen_get_toplevel_windows", "GdkScreen*");
-  return(C_to_Xen_GList_(gdk_screen_get_toplevel_windows(Xen_to_C_GdkScreen_(screen))));
-}
-
-static Xen gxg_gdk_screen_get_default(void)
-{
-  #define H_gdk_screen_get_default "GdkScreen* gdk_screen_get_default( void)"
-  return(C_to_Xen_GdkScreen_(gdk_screen_get_default()));
-}
-
-static Xen gxg_gtk_clipboard_get_for_display(Xen display, Xen selection)
-{
-  #define H_gtk_clipboard_get_for_display "GtkClipboard* gtk_clipboard_get_for_display(GdkDisplay* display, \
-GdkAtom selection)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_clipboard_get_for_display", "GdkDisplay*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_clipboard_get_for_display", "GdkAtom");
-  return(C_to_Xen_GtkClipboard_(gtk_clipboard_get_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GdkAtom(selection))));
-}
-
-static Xen gxg_gtk_clipboard_get_display(Xen clipboard)
-{
-  #define H_gtk_clipboard_get_display "GdkDisplay* gtk_clipboard_get_display(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_get_display", "GtkClipboard*");
-  return(C_to_Xen_GdkDisplay_(gtk_clipboard_get_display(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
-static Xen gxg_gtk_widget_get_screen(Xen widget)
-{
-  #define H_gtk_widget_get_screen "GdkScreen* gtk_widget_get_screen(GtkWidget* widget)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_screen", "GtkWidget*");
-  return(C_to_Xen_GdkScreen_(gtk_widget_get_screen(Xen_to_C_GtkWidget_(widget))));
-}
-
-static Xen gxg_gtk_widget_has_screen(Xen widget)
-{
-  #define H_gtk_widget_has_screen "gboolean gtk_widget_has_screen(GtkWidget* widget)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_has_screen", "GtkWidget*");
-  return(C_to_Xen_gboolean(gtk_widget_has_screen(Xen_to_C_GtkWidget_(widget))));
-}
-
 static Xen gxg_gtk_widget_get_display(Xen widget)
 {
   #define H_gtk_widget_get_display "GdkDisplay* gtk_widget_get_display(GtkWidget* widget)"
@@ -14617,14 +13601,6 @@ static Xen gxg_gtk_widget_get_display(Xen widget)
   return(C_to_Xen_GdkDisplay_(gtk_widget_get_display(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gtk_widget_get_clipboard(Xen widget, Xen selection)
-{
-  #define H_gtk_widget_get_clipboard "GtkClipboard* gtk_widget_get_clipboard(GtkWidget* widget, GdkAtom selection)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_clipboard", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gtk_widget_get_clipboard", "GdkAtom");
-  return(C_to_Xen_GtkClipboard_(gtk_widget_get_clipboard(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkAtom(selection))));
-}
-
 static Xen gxg_g_list_free(Xen list)
 {
   #define H_g_list_free "void g_list_free(GList* list)"
@@ -14702,18 +13678,6 @@ static Xen gxg_g_object_set_data(Xen object, Xen key, Xen data)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_cursor_new_from_pixbuf(Xen display, Xen pixbuf, Xen x, Xen y)
-{
-  #define H_gdk_cursor_new_from_pixbuf "GdkCursor* gdk_cursor_new_from_pixbuf(GdkDisplay* display, GdkPixbuf* pixbuf, \
-gint x, gint y)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_cursor_new_from_pixbuf", "GdkDisplay*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gdk_cursor_new_from_pixbuf", "GdkPixbuf*");
-  Xen_check_type(Xen_is_gint(x), x, 3, "gdk_cursor_new_from_pixbuf", "gint");
-  Xen_check_type(Xen_is_gint(y), y, 4, "gdk_cursor_new_from_pixbuf", "gint");
-  return(C_to_Xen_GdkCursor_(gdk_cursor_new_from_pixbuf(Xen_to_C_GdkDisplay_(display), Xen_to_C_GdkPixbuf_(pixbuf), Xen_to_C_gint(x), 
-                                                        Xen_to_C_gint(y))));
-}
-
 static Xen gxg_gdk_display_flush(Xen display)
 {
   #define H_gdk_display_flush "void gdk_display_flush(GdkDisplay* display)"
@@ -14974,14 +13938,6 @@ static Xen gxg_gtk_widget_queue_resize_no_redraw(Xen widget)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_window_set_default_icon(Xen icon)
-{
-  #define H_gtk_window_set_default_icon "void gtk_window_set_default_icon(GdkPixbuf* icon)"
-  Xen_check_type(Xen_is_GdkPixbuf_(icon), icon, 1, "gtk_window_set_default_icon", "GdkPixbuf*");
-  gtk_window_set_default_icon(Xen_to_C_GdkPixbuf_(icon));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_window_set_keep_above(Xen window, Xen setting)
 {
   #define H_gtk_window_set_keep_above "void gtk_window_set_keep_above(GtkWindow* window, gboolean setting)"
@@ -15365,22 +14321,6 @@ gboolean use_size)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_font_button_get_font_name(Xen font_button)
-{
-  #define H_gtk_font_button_get_font_name "gchar* gtk_font_button_get_font_name(GtkFontButton* font_button)"
-  Xen_check_type(Xen_is_GtkFontButton_(font_button), font_button, 1, "gtk_font_button_get_font_name", "GtkFontButton*");
-  return(C_to_Xen_gchar_(gtk_font_button_get_font_name(Xen_to_C_GtkFontButton_(font_button))));
-}
-
-static Xen gxg_gtk_font_button_set_font_name(Xen font_button, Xen fontname)
-{
-  #define H_gtk_font_button_set_font_name "gboolean gtk_font_button_set_font_name(GtkFontButton* font_button, \
-gchar* fontname)"
-  Xen_check_type(Xen_is_GtkFontButton_(font_button), font_button, 1, "gtk_font_button_set_font_name", "GtkFontButton*");
-  Xen_check_type(Xen_is_gchar_(fontname), fontname, 2, "gtk_font_button_set_font_name", "gchar*");
-  return(C_to_Xen_gboolean(gtk_font_button_set_font_name(Xen_to_C_GtkFontButton_(font_button), Xen_to_C_gchar_(fontname))));
-}
-
 static Xen gxg_gtk_font_button_get_show_style(Xen font_button)
 {
   #define H_gtk_font_button_get_show_style "gboolean gtk_font_button_get_show_style(GtkFontButton* font_button)"
@@ -16307,22 +15247,6 @@ static Xen gxg_gtk_icon_theme_get_default(void)
   return(C_to_Xen_GtkIconTheme_(gtk_icon_theme_get_default()));
 }
 
-static Xen gxg_gtk_icon_theme_get_for_screen(Xen screen)
-{
-  #define H_gtk_icon_theme_get_for_screen "GtkIconTheme* gtk_icon_theme_get_for_screen(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gtk_icon_theme_get_for_screen", "GdkScreen*");
-  return(C_to_Xen_GtkIconTheme_(gtk_icon_theme_get_for_screen(Xen_to_C_GdkScreen_(screen))));
-}
-
-static Xen gxg_gtk_icon_theme_set_screen(Xen icon_theme, Xen screen)
-{
-  #define H_gtk_icon_theme_set_screen "void gtk_icon_theme_set_screen(GtkIconTheme* icon_theme, GdkScreen* screen)"
-  Xen_check_type(Xen_is_GtkIconTheme_(icon_theme), icon_theme, 1, "gtk_icon_theme_set_screen", "GtkIconTheme*");
-  Xen_check_type(Xen_is_GdkScreen_(screen) || Xen_is_false(screen), screen, 2, "gtk_icon_theme_set_screen", "GdkScreen*");
-  gtk_icon_theme_set_screen(Xen_to_C_GtkIconTheme_(icon_theme), Xen_to_C_GdkScreen_(screen));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_icon_theme_get_search_path(Xen icon_theme, Xen ignore_path, Xen ignore_n_elements)
 {
   #define H_gtk_icon_theme_get_search_path "void gtk_icon_theme_get_search_path(GtkIconTheme* icon_theme, \
@@ -16663,16 +15587,6 @@ static Xen gxg_gtk_list_store_remove(Xen list_store, Xen iter)
   return(C_to_Xen_gboolean(gtk_list_store_remove(Xen_to_C_GtkListStore_(list_store), Xen_to_C_GtkTreeIter_(iter))));
 }
 
-static Xen gxg_gdk_display_set_double_click_distance(Xen display, Xen distance)
-{
-  #define H_gdk_display_set_double_click_distance "void gdk_display_set_double_click_distance(GdkDisplay* display, \
-guint distance)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_set_double_click_distance", "GdkDisplay*");
-  Xen_check_type(Xen_is_guint(distance), distance, 2, "gdk_display_set_double_click_distance", "guint");
-  gdk_display_set_double_click_distance(Xen_to_C_GdkDisplay_(display), Xen_to_C_guint(distance));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_display_get_default_group(Xen display)
 {
   #define H_gdk_display_get_default_group "GdkWindow* gdk_display_get_default_group(GdkDisplay* display)"
@@ -16698,39 +15612,6 @@ gint position)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_clipboard_request_targets(Xen clipboard, Xen func, Xen func_info)
-{
-  #define H_gtk_clipboard_request_targets "void gtk_clipboard_request_targets(GtkClipboard* clipboard, \
-GtkClipboardTargetsReceivedFunc func, lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_request_targets", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkClipboardTargetsReceivedFunc(func), func, 2, "gtk_clipboard_request_targets", "GtkClipboardTargetsReceivedFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 3, "gtk_clipboard_request_targets", "lambda_data");
-  {
-    int loc;
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    loc = xm_protect(gxg_ptr);
-    Xen_list_set(gxg_ptr, 2, C_int_to_Xen_integer(loc));
-    gtk_clipboard_request_targets(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkClipboardTargetsReceivedFunc(func), Xen_to_C_lambda_data(func_info));
-    xm_unprotect_at(loc);
-    return(Xen_false);
-   }
-}
-
-static Xen gxg_gtk_clipboard_wait_for_targets(Xen clipboard, Xen ignore_targets, Xen ignore_n_targets)
-{
-  #define H_gtk_clipboard_wait_for_targets "gboolean gtk_clipboard_wait_for_targets(GtkClipboard* clipboard, \
-GdkAtom** [targets], gint* [n_targets])"
-  GdkAtom* ref_targets = NULL;
-  gint ref_n_targets;
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_for_targets", "GtkClipboard*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gtk_clipboard_wait_for_targets(Xen_to_C_GtkClipboard_(clipboard), &ref_targets, &ref_n_targets));
-    return(Xen_list_3(result, C_to_Xen_GdkAtom_(ref_targets), C_to_Xen_gint(ref_n_targets)));
-   }
-}
-
 static Xen gxg_gtk_menu_shell_cancel(Xen menu_shell)
 {
   #define H_gtk_menu_shell_cancel "void gtk_menu_shell_cancel(GtkMenuShell* menu_shell)"
@@ -16842,23 +15723,6 @@ gint* [y])"
   return(Xen_list_2(C_to_Xen_gint(ref_x), C_to_Xen_gint(ref_y)));
 }
 
-static Xen gxg_gtk_drag_source_get_target_list(Xen widget)
-{
-  #define H_gtk_drag_source_get_target_list "GtkTargetList* gtk_drag_source_get_target_list(GtkWidget* widget)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_get_target_list", "GtkWidget*");
-  return(C_to_Xen_GtkTargetList_(gtk_drag_source_get_target_list(Xen_to_C_GtkWidget_(widget))));
-}
-
-static Xen gxg_gtk_drag_source_set_target_list(Xen widget, Xen target_list)
-{
-  #define H_gtk_drag_source_set_target_list "void gtk_drag_source_set_target_list(GtkWidget* widget, \
-GtkTargetList* target_list)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set_target_list", "GtkWidget*");
-  Xen_check_type(Xen_is_GtkTargetList_(target_list) || Xen_is_false(target_list), target_list, 2, "gtk_drag_source_set_target_list", "GtkTargetList*");
-  gtk_drag_source_set_target_list(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkTargetList_(target_list));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_entry_set_alignment(Xen entry, Xen xalign)
 {
   #define H_gtk_entry_set_alignment "void gtk_entry_set_alignment(GtkEntry* entry, gfloat xalign)"
@@ -16969,13 +15833,6 @@ static Xen gxg_gtk_cell_view_new_with_markup(Xen markup)
   return(C_to_Xen_GtkWidget_(gtk_cell_view_new_with_markup(Xen_to_C_gchar_(markup))));
 }
 
-static Xen gxg_gtk_cell_view_new_with_pixbuf(Xen pixbuf)
-{
-  #define H_gtk_cell_view_new_with_pixbuf "GtkWidget* gtk_cell_view_new_with_pixbuf(GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 1, "gtk_cell_view_new_with_pixbuf", "GdkPixbuf*");
-  return(C_to_Xen_GtkWidget_(gtk_cell_view_new_with_pixbuf(Xen_to_C_GdkPixbuf_(pixbuf))));
-}
-
 static Xen gxg_gtk_cell_view_set_model(Xen cell_view, Xen model)
 {
   #define H_gtk_cell_view_set_model "void gtk_cell_view_set_model(GtkCellView* cell_view, GtkTreeModel* model)"
@@ -17352,22 +16209,6 @@ gchar* translator_credits)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_about_dialog_get_logo(Xen about)
-{
-  #define H_gtk_about_dialog_get_logo "GdkPixbuf* gtk_about_dialog_get_logo(GtkAboutDialog* about)"
-  Xen_check_type(Xen_is_GtkAboutDialog_(about), about, 1, "gtk_about_dialog_get_logo", "GtkAboutDialog*");
-  return(C_to_Xen_GdkPixbuf_(gtk_about_dialog_get_logo(Xen_to_C_GtkAboutDialog_(about))));
-}
-
-static Xen gxg_gtk_about_dialog_set_logo(Xen about, Xen logo)
-{
-  #define H_gtk_about_dialog_set_logo "void gtk_about_dialog_set_logo(GtkAboutDialog* about, GdkPixbuf* logo)"
-  Xen_check_type(Xen_is_GtkAboutDialog_(about), about, 1, "gtk_about_dialog_set_logo", "GtkAboutDialog*");
-  Xen_check_type(Xen_is_GdkPixbuf_(logo) || Xen_is_false(logo), logo, 2, "gtk_about_dialog_set_logo", "GdkPixbuf*");
-  gtk_about_dialog_set_logo(Xen_to_C_GtkAboutDialog_(about), Xen_to_C_GdkPixbuf_(logo));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_about_dialog_get_program_name(Xen about)
 {
   #define H_gtk_about_dialog_get_program_name "gchar* gtk_about_dialog_get_program_name(GtkAboutDialog* about)"
@@ -17865,13 +16706,6 @@ static Xen gxg_gtk_menu_tool_button_get_menu(Xen button)
   return(C_to_Xen_GtkWidget_(gtk_menu_tool_button_get_menu(Xen_to_C_GtkMenuToolButton_(button))));
 }
 
-static Xen gxg_gdk_display_supports_clipboard_persistence(Xen display)
-{
-  #define H_gdk_display_supports_clipboard_persistence "gboolean gdk_display_supports_clipboard_persistence(GdkDisplay* display)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_supports_clipboard_persistence", "GdkDisplay*");
-  return(C_to_Xen_gboolean(gdk_display_supports_clipboard_persistence(Xen_to_C_GdkDisplay_(display))));
-}
-
 static Xen gxg_gtk_about_dialog_get_logo_icon_name(Xen about)
 {
   #define H_gtk_about_dialog_get_logo_icon_name "gchar* gtk_about_dialog_get_logo_icon_name(GtkAboutDialog* about)"
@@ -17904,34 +16738,6 @@ static Xen gxg_gtk_accelerator_get_label(Xen accelerator_key, Xen accelerator_mo
   }
 }
 
-static Xen gxg_gtk_clipboard_wait_is_target_available(Xen clipboard, Xen target)
-{
-  #define H_gtk_clipboard_wait_is_target_available "gboolean gtk_clipboard_wait_is_target_available(GtkClipboard* clipboard, \
-GdkAtom target)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_is_target_available", "GtkClipboard*");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 2, "gtk_clipboard_wait_is_target_available", "GdkAtom");
-  return(C_to_Xen_gboolean(gtk_clipboard_wait_is_target_available(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GdkAtom(target))));
-}
-
-static Xen gxg_gtk_clipboard_set_can_store(Xen clipboard, Xen targets, Xen n_targets)
-{
-  #define H_gtk_clipboard_set_can_store "void gtk_clipboard_set_can_store(GtkClipboard* clipboard, GtkTargetEntry* targets, \
-gint n_targets)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_set_can_store", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets) || Xen_is_false(targets), targets, 2, "gtk_clipboard_set_can_store", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 3, "gtk_clipboard_set_can_store", "gint");
-  gtk_clipboard_set_can_store(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_gint(n_targets));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_clipboard_store(Xen clipboard)
-{
-  #define H_gtk_clipboard_store "void gtk_clipboard_store(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_store", "GtkClipboard*");
-  gtk_clipboard_store(Xen_to_C_GtkClipboard_(clipboard));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_drag_dest_add_image_targets(Xen widget)
 {
   #define H_gtk_drag_dest_add_image_targets "void gtk_drag_dest_add_image_targets(GtkWidget* widget)"
@@ -18013,69 +16819,6 @@ static Xen gxg_gtk_label_get_width_chars(Xen label)
   return(C_to_Xen_gint(gtk_label_get_width_chars(Xen_to_C_GtkLabel_(label))));
 }
 
-static Xen gxg_gtk_target_list_add_text_targets(Xen list, Xen info)
-{
-  #define H_gtk_target_list_add_text_targets "void gtk_target_list_add_text_targets(GtkTargetList* list, \
-guint info)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add_text_targets", "GtkTargetList*");
-  Xen_check_type(Xen_is_guint(info), info, 2, "gtk_target_list_add_text_targets", "guint");
-  gtk_target_list_add_text_targets(Xen_to_C_GtkTargetList_(list), Xen_to_C_guint(info));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_add_image_targets(Xen list, Xen info, Xen writable)
-{
-  #define H_gtk_target_list_add_image_targets "void gtk_target_list_add_image_targets(GtkTargetList* list, \
-guint info, gboolean writable)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add_image_targets", "GtkTargetList*");
-  Xen_check_type(Xen_is_guint(info), info, 2, "gtk_target_list_add_image_targets", "guint");
-  Xen_check_type(Xen_is_gboolean(writable), writable, 3, "gtk_target_list_add_image_targets", "gboolean");
-  gtk_target_list_add_image_targets(Xen_to_C_GtkTargetList_(list), Xen_to_C_guint(info), Xen_to_C_gboolean(writable));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_list_add_uri_targets(Xen list, Xen info)
-{
-  #define H_gtk_target_list_add_uri_targets "void gtk_target_list_add_uri_targets(GtkTargetList* list, \
-guint info)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add_uri_targets", "GtkTargetList*");
-  Xen_check_type(Xen_is_guint(info), info, 2, "gtk_target_list_add_uri_targets", "guint");
-  gtk_target_list_add_uri_targets(Xen_to_C_GtkTargetList_(list), Xen_to_C_guint(info));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_data_set_pixbuf(Xen selection_data, Xen pixbuf)
-{
-  #define H_gtk_selection_data_set_pixbuf "gboolean gtk_selection_data_set_pixbuf(GtkSelectionData* selection_data, \
-GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_pixbuf", "GtkSelectionData*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_selection_data_set_pixbuf", "GdkPixbuf*");
-  return(C_to_Xen_gboolean(gtk_selection_data_set_pixbuf(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GdkPixbuf_(pixbuf))));
-}
-
-static Xen gxg_gtk_selection_data_get_pixbuf(Xen selection_data)
-{
-  #define H_gtk_selection_data_get_pixbuf "GdkPixbuf* gtk_selection_data_get_pixbuf(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_pixbuf", "GtkSelectionData*");
-  return(C_to_Xen_GdkPixbuf_(gtk_selection_data_get_pixbuf(Xen_to_C_GtkSelectionData_(selection_data))));
-}
-
-static Xen gxg_gtk_selection_data_set_uris(Xen selection_data, Xen uris)
-{
-  #define H_gtk_selection_data_set_uris "gboolean gtk_selection_data_set_uris(GtkSelectionData* selection_data, \
-gchar** uris)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_uris", "GtkSelectionData*");
-  Xen_check_type(Xen_is_gchar__(uris), uris, 2, "gtk_selection_data_set_uris", "gchar**");
-  return(C_to_Xen_gboolean(gtk_selection_data_set_uris(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_gchar__(uris))));
-}
-
-static Xen gxg_gtk_selection_data_get_uris(Xen selection_data)
-{
-  #define H_gtk_selection_data_get_uris "gchar** gtk_selection_data_get_uris(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_uris", "GtkSelectionData*");
-  return(C_to_Xen_gchar__(gtk_selection_data_get_uris(Xen_to_C_GtkSelectionData_(selection_data))));
-}
-
 static Xen gxg_gtk_text_buffer_backspace(Xen buffer, Xen iter, Xen interactive, Xen default_editable)
 {
   #define H_gtk_text_buffer_backspace "gboolean gtk_text_buffer_backspace(GtkTextBuffer* buffer, GtkTextIter* iter, \
@@ -18088,45 +16831,6 @@ gboolean interactive, gboolean default_editable)"
                                                      Xen_to_C_gboolean(default_editable))));
 }
 
-static Xen gxg_gtk_clipboard_set_image(Xen clipboard, Xen pixbuf)
-{
-  #define H_gtk_clipboard_set_image "void gtk_clipboard_set_image(GtkClipboard* clipboard, GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_set_image", "GtkClipboard*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_clipboard_set_image", "GdkPixbuf*");
-  gtk_clipboard_set_image(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GdkPixbuf_(pixbuf));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_clipboard_request_image(Xen clipboard, Xen func, Xen func_info)
-{
-  #define H_gtk_clipboard_request_image "void gtk_clipboard_request_image(GtkClipboard* clipboard, GtkClipboardImageReceivedFunc func, \
-lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_request_image", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkClipboardImageReceivedFunc(func), func, 2, "gtk_clipboard_request_image", "GtkClipboardImageReceivedFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 3, "gtk_clipboard_request_image", "lambda_data");
-  {
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    xm_protect(gxg_ptr);
-    gtk_clipboard_request_image(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkClipboardImageReceivedFunc(func), Xen_to_C_lambda_data(func_info));
-    return(Xen_false);
-   }
-}
-
-static Xen gxg_gtk_clipboard_wait_for_image(Xen clipboard)
-{
-  #define H_gtk_clipboard_wait_for_image "GdkPixbuf* gtk_clipboard_wait_for_image(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_for_image", "GtkClipboard*");
-  return(C_to_Xen_GdkPixbuf_(gtk_clipboard_wait_for_image(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
-static Xen gxg_gtk_clipboard_wait_is_image_available(Xen clipboard)
-{
-  #define H_gtk_clipboard_wait_is_image_available "gboolean gtk_clipboard_wait_is_image_available(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_is_image_available", "GtkClipboard*");
-  return(C_to_Xen_gboolean(gtk_clipboard_wait_is_image_available(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
 static Xen gxg_gtk_file_filter_add_pixbuf_formats(Xen filter)
 {
   #define H_gtk_file_filter_add_pixbuf_formats "void gtk_file_filter_add_pixbuf_formats(GtkFileFilter* filter)"
@@ -18177,15 +16881,6 @@ gboolean writable)"
   return(C_to_Xen_gboolean(gtk_selection_data_targets_include_image(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_gboolean(writable))));
 }
 
-static Xen gxg_gtk_menu_set_screen(Xen menu, Xen screen)
-{
-  #define H_gtk_menu_set_screen "void gtk_menu_set_screen(GtkMenu* menu, GdkScreen* screen)"
-  Xen_check_type(Xen_is_GtkMenu_(menu), menu, 1, "gtk_menu_set_screen", "GtkMenu*");
-  Xen_check_type(Xen_is_GdkScreen_(screen) || Xen_is_false(screen), screen, 2, "gtk_menu_set_screen", "GdkScreen*");
-  gtk_menu_set_screen(Xen_to_C_GtkMenu_(menu), Xen_to_C_GdkScreen_(screen));
-  return(Xen_false);
-}
-
 static Xen gxg_pango_attr_underline_color_new(Xen red, Xen green, Xen blue)
 {
   #define H_pango_attr_underline_color_new "PangoAttribute* pango_attr_underline_color_new(guint16 red, \
@@ -18576,21 +17271,6 @@ static Xen gxg_pango_layout_get_font_description(Xen layout)
     return(C_to_Xen_PangoFontDescription_((PangoFontDescription*)pango_layout_get_font_description(Xen_to_C_PangoLayout_(layout))));
 }
 
-static Xen gxg_gdk_cursor_new_from_name(Xen display, Xen name)
-{
-  #define H_gdk_cursor_new_from_name "GdkCursor* gdk_cursor_new_from_name(GdkDisplay* display, gchar* name)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_cursor_new_from_name", "GdkDisplay*");
-  Xen_check_type(Xen_is_gchar_(name), name, 2, "gdk_cursor_new_from_name", "gchar*");
-  return(C_to_Xen_GdkCursor_(gdk_cursor_new_from_name(Xen_to_C_GdkDisplay_(display), (const gchar*)Xen_to_C_gchar_(name))));
-}
-
-static Xen gxg_gdk_cursor_get_image(Xen cursor)
-{
-  #define H_gdk_cursor_get_image "GdkPixbuf* gdk_cursor_get_image(GdkCursor* cursor)"
-  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_image", "GdkCursor*");
-  return(C_to_Xen_GdkPixbuf_(gdk_cursor_get_image(Xen_to_C_GdkCursor_(cursor))));
-}
-
 static Xen gxg_gdk_window_set_urgency_hint(Xen window, Xen urgent)
 {
   #define H_gdk_window_set_urgency_hint "void gdk_window_set_urgency_hint(GdkWindow* window, gboolean urgent)"
@@ -18736,33 +17416,6 @@ gboolean use_align, gfloat row_align, gfloat col_align)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_icon_view_enable_model_drag_source(Xen icon_view, Xen start_button_mask, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_icon_view_enable_model_drag_source "void gtk_icon_view_enable_model_drag_source(GtkIconView* icon_view, \
-GdkModifierType start_button_mask, GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkIconView_(icon_view), icon_view, 1, "gtk_icon_view_enable_model_drag_source", "GtkIconView*");
-  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_icon_view_enable_model_drag_source", "GdkModifierType");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 3, "gtk_icon_view_enable_model_drag_source", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 4, "gtk_icon_view_enable_model_drag_source", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 5, "gtk_icon_view_enable_model_drag_source", "GdkDragAction");
-  gtk_icon_view_enable_model_drag_source(Xen_to_C_GtkIconView_(icon_view), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GtkTargetEntry_(targets), 
-                                         Xen_to_C_gint(n_targets), Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_icon_view_enable_model_drag_dest(Xen icon_view, Xen targets, Xen n_targets, Xen actions)
-{
-  #define H_gtk_icon_view_enable_model_drag_dest "void gtk_icon_view_enable_model_drag_dest(GtkIconView* icon_view, \
-GtkTargetEntry* targets, gint n_targets, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkIconView_(icon_view), icon_view, 1, "gtk_icon_view_enable_model_drag_dest", "GtkIconView*");
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 2, "gtk_icon_view_enable_model_drag_dest", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 3, "gtk_icon_view_enable_model_drag_dest", "gint");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_icon_view_enable_model_drag_dest", "GdkDragAction");
-  gtk_icon_view_enable_model_drag_dest(Xen_to_C_GtkIconView_(icon_view), Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_gint(n_targets), 
-                                       Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_icon_view_unset_model_drag_source(Xen icon_view)
 {
   #define H_gtk_icon_view_unset_model_drag_source "void gtk_icon_view_unset_model_drag_source(GtkIconView* icon_view)"
@@ -19042,13 +17695,6 @@ gboolean trailing, int* [line], int* [x_pos])"
   return(Xen_list_2(C_to_Xen_int(ref_line), C_to_Xen_int(ref_x_pos)));
 }
 
-static Xen gxg_gtk_target_list_ref(Xen list)
-{
-  #define H_gtk_target_list_ref "GtkTargetList* gtk_target_list_ref(GtkTargetList* list)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_ref", "GtkTargetList*");
-  return(C_to_Xen_GtkTargetList_(gtk_target_list_ref(Xen_to_C_GtkTargetList_(list))));
-}
-
 static Xen gxg_gdk_display_supports_shapes(Xen display)
 {
   #define H_gdk_display_supports_shapes "gboolean gdk_display_supports_shapes(GdkDisplay* display)"
@@ -19063,22 +17709,6 @@ static Xen gxg_gdk_display_supports_input_shapes(Xen display)
   return(C_to_Xen_gboolean(gdk_display_supports_input_shapes(Xen_to_C_GdkDisplay_(display))));
 }
 
-static Xen gxg_gdk_screen_set_resolution(Xen screen, Xen dpi)
-{
-  #define H_gdk_screen_set_resolution "void gdk_screen_set_resolution(GdkScreen* screen, gdouble dpi)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gdk_screen_set_resolution", "GdkScreen*");
-  Xen_check_type(Xen_is_gdouble(dpi), dpi, 2, "gdk_screen_set_resolution", "gdouble");
-  gdk_screen_set_resolution(Xen_to_C_GdkScreen_(screen), Xen_to_C_gdouble(dpi));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_screen_get_resolution(Xen screen)
-{
-  #define H_gdk_screen_get_resolution "gdouble gdk_screen_get_resolution(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gdk_screen_get_resolution", "GdkScreen*");
-  return(C_to_Xen_gdouble(gdk_screen_get_resolution(Xen_to_C_GdkScreen_(screen))));
-}
-
 static Xen gxg_gdk_window_get_type_hint(Xen window)
 {
   #define H_gdk_window_get_type_hint "GdkWindowTypeHint gdk_window_get_type_hint(GdkWindow* window)"
@@ -19086,49 +17716,6 @@ static Xen gxg_gdk_window_get_type_hint(Xen window)
   return(C_to_Xen_GdkWindowTypeHint(gdk_window_get_type_hint(Xen_to_C_GdkWindow_(window))));
 }
 
-static Xen gxg_gtk_clipboard_request_rich_text(Xen clipboard, Xen buffer, Xen func, Xen func_info)
-{
-  #define H_gtk_clipboard_request_rich_text "void gtk_clipboard_request_rich_text(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer, GtkClipboardRichTextReceivedFunc func, lambda_data func_info)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_request_rich_text", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 2, "gtk_clipboard_request_rich_text", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkClipboardRichTextReceivedFunc(func), func, 3, "gtk_clipboard_request_rich_text", "GtkClipboardRichTextReceivedFunc");
-  if (!Xen_is_bound(func_info)) func_info = Xen_false; 
-  else Xen_check_type(Xen_is_lambda_data(func_info), func_info, 4, "gtk_clipboard_request_rich_text", "lambda_data");
-  {
-    Xen gxg_ptr = Xen_list_5(func, func_info, Xen_false, Xen_false, Xen_false);
-    xm_protect(gxg_ptr);
-    gtk_clipboard_request_rich_text(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkClipboardRichTextReceivedFunc(func), 
-                                Xen_to_C_lambda_data(func_info));
-    return(Xen_false);
-   }
-}
-
-static Xen gxg_gtk_clipboard_wait_for_rich_text(Xen clipboard, Xen buffer, Xen format, Xen ignore_length)
-{
-  #define H_gtk_clipboard_wait_for_rich_text "guint8* gtk_clipboard_wait_for_rich_text(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer, GdkAtom* format, gsize* [length])"
-  gsize ref_length;
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_for_rich_text", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 2, "gtk_clipboard_wait_for_rich_text", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom_(format), format, 3, "gtk_clipboard_wait_for_rich_text", "GdkAtom*");
-  {
-    Xen result;
-    result = C_to_Xen_guint8_(gtk_clipboard_wait_for_rich_text(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTextBuffer_(buffer), 
-                                                               Xen_to_C_GdkAtom_(format), &ref_length));
-    return(Xen_list_2(result, C_to_Xen_gsize(ref_length)));
-   }
-}
-
-static Xen gxg_gtk_clipboard_wait_is_rich_text_available(Xen clipboard, Xen buffer)
-{
-  #define H_gtk_clipboard_wait_is_rich_text_available "gboolean gtk_clipboard_wait_is_rich_text_available(GtkClipboard* clipboard, \
-GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_is_rich_text_available", "GtkClipboard*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 2, "gtk_clipboard_wait_is_rich_text_available", "GtkTextBuffer*");
-  return(C_to_Xen_gboolean(gtk_clipboard_wait_is_rich_text_available(Xen_to_C_GtkClipboard_(clipboard), Xen_to_C_GtkTextBuffer_(buffer))));
-}
-
 static Xen gxg_gtk_drag_dest_set_track_motion(Xen widget, Xen track_motion)
 {
   #define H_gtk_drag_dest_set_track_motion "void gtk_drag_dest_set_track_motion(GtkWidget* widget, gboolean track_motion)"
@@ -19227,93 +17814,6 @@ static Xen gxg_gtk_scrolled_window_unset_placement(Xen scrolled_window)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_target_list_add_rich_text_targets(Xen list, Xen info, Xen deserializable, Xen buffer)
-{
-  #define H_gtk_target_list_add_rich_text_targets "void gtk_target_list_add_rich_text_targets(GtkTargetList* list, \
-guint info, gboolean deserializable, GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_list_add_rich_text_targets", "GtkTargetList*");
-  Xen_check_type(Xen_is_guint(info), info, 2, "gtk_target_list_add_rich_text_targets", "guint");
-  Xen_check_type(Xen_is_gboolean(deserializable), deserializable, 3, "gtk_target_list_add_rich_text_targets", "gboolean");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 4, "gtk_target_list_add_rich_text_targets", "GtkTextBuffer*");
-  gtk_target_list_add_rich_text_targets(Xen_to_C_GtkTargetList_(list), Xen_to_C_guint(info), Xen_to_C_gboolean(deserializable), 
-                                        Xen_to_C_GtkTextBuffer_(buffer));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_target_table_new_from_list(Xen list, Xen ignore_n_targets)
-{
-  #define H_gtk_target_table_new_from_list "GtkTargetEntry* gtk_target_table_new_from_list(GtkTargetList* list, \
-gint* [n_targets])"
-  gint ref_n_targets;
-  Xen_check_type(Xen_is_GtkTargetList_(list), list, 1, "gtk_target_table_new_from_list", "GtkTargetList*");
-  {
-    Xen result;
-    result = C_to_Xen_GtkTargetEntry_(gtk_target_table_new_from_list(Xen_to_C_GtkTargetList_(list), &ref_n_targets));
-    return(Xen_list_2(result, C_to_Xen_gint(ref_n_targets)));
-   }
-}
-
-static Xen gxg_gtk_target_table_free(Xen targets, Xen n_targets)
-{
-  #define H_gtk_target_table_free "void gtk_target_table_free(GtkTargetEntry* targets, gint n_targets)"
-  Xen_check_type(Xen_is_GtkTargetEntry_(targets), targets, 1, "gtk_target_table_free", "GtkTargetEntry*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_target_table_free", "gint");
-  gtk_target_table_free(Xen_to_C_GtkTargetEntry_(targets), Xen_to_C_gint(n_targets));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_selection_data_targets_include_rich_text(Xen selection_data, Xen buffer)
-{
-  #define H_gtk_selection_data_targets_include_rich_text "gboolean gtk_selection_data_targets_include_rich_text(GtkSelectionData* selection_data, \
-GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_targets_include_rich_text", "GtkSelectionData*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 2, "gtk_selection_data_targets_include_rich_text", "GtkTextBuffer*");
-  return(C_to_Xen_gboolean(gtk_selection_data_targets_include_rich_text(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GtkTextBuffer_(buffer))));
-}
-
-static Xen gxg_gtk_selection_data_targets_include_uri(Xen selection_data)
-{
-  #define H_gtk_selection_data_targets_include_uri "gboolean gtk_selection_data_targets_include_uri(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_targets_include_uri", "GtkSelectionData*");
-  return(C_to_Xen_gboolean(gtk_selection_data_targets_include_uri(Xen_to_C_GtkSelectionData_(selection_data))));
-}
-
-static Xen gxg_gtk_targets_include_text(Xen targets, Xen n_targets)
-{
-  #define H_gtk_targets_include_text "gboolean gtk_targets_include_text(GdkAtom* targets, gint n_targets)"
-  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_text", "GdkAtom*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_text", "gint");
-  return(C_to_Xen_gboolean(gtk_targets_include_text(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets))));
-}
-
-static Xen gxg_gtk_targets_include_rich_text(Xen targets, Xen n_targets, Xen buffer)
-{
-  #define H_gtk_targets_include_rich_text "gboolean gtk_targets_include_rich_text(GdkAtom* targets, gint n_targets, \
-GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_rich_text", "GdkAtom*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_rich_text", "gint");
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 3, "gtk_targets_include_rich_text", "GtkTextBuffer*");
-  return(C_to_Xen_gboolean(gtk_targets_include_rich_text(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets), Xen_to_C_GtkTextBuffer_(buffer))));
-}
-
-static Xen gxg_gtk_targets_include_image(Xen targets, Xen n_targets, Xen writable)
-{
-  #define H_gtk_targets_include_image "gboolean gtk_targets_include_image(GdkAtom* targets, gint n_targets, \
-gboolean writable)"
-  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_image", "GdkAtom*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_image", "gint");
-  Xen_check_type(Xen_is_gboolean(writable), writable, 3, "gtk_targets_include_image", "gboolean");
-  return(C_to_Xen_gboolean(gtk_targets_include_image(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets), Xen_to_C_gboolean(writable))));
-}
-
-static Xen gxg_gtk_targets_include_uri(Xen targets, Xen n_targets)
-{
-  #define H_gtk_targets_include_uri "gboolean gtk_targets_include_uri(GdkAtom* targets, gint n_targets)"
-  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_uri", "GdkAtom*");
-  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_uri", "gint");
-  return(C_to_Xen_gboolean(gtk_targets_include_uri(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets))));
-}
-
 static Xen gxg_gtk_size_group_get_widgets(Xen size_group)
 {
   #define H_gtk_size_group_get_widgets "GSList* gtk_size_group_get_widgets(GtkSizeGroup* size_group)"
@@ -19328,20 +17828,6 @@ static Xen gxg_gtk_text_buffer_get_has_selection(Xen buffer)
   return(C_to_Xen_gboolean(gtk_text_buffer_get_has_selection(Xen_to_C_GtkTextBuffer_(buffer))));
 }
 
-static Xen gxg_gtk_text_buffer_get_copy_target_list(Xen buffer)
-{
-  #define H_gtk_text_buffer_get_copy_target_list "GtkTargetList* gtk_text_buffer_get_copy_target_list(GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_get_copy_target_list", "GtkTextBuffer*");
-  return(C_to_Xen_GtkTargetList_(gtk_text_buffer_get_copy_target_list(Xen_to_C_GtkTextBuffer_(buffer))));
-}
-
-static Xen gxg_gtk_text_buffer_get_paste_target_list(Xen buffer)
-{
-  #define H_gtk_text_buffer_get_paste_target_list "GtkTargetList* gtk_text_buffer_get_paste_target_list(GtkTextBuffer* buffer)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_get_paste_target_list", "GtkTextBuffer*");
-  return(C_to_Xen_GtkTargetList_(gtk_text_buffer_get_paste_target_list(Xen_to_C_GtkTextBuffer_(buffer))));
-}
-
 static Xen gxg_gtk_tree_view_get_headers_clickable(Xen tree_view)
 {
   #define H_gtk_tree_view_get_headers_clickable "gboolean gtk_tree_view_get_headers_clickable(GtkTreeView* tree_view)"
@@ -20248,14 +18734,6 @@ static Xen gxg_gtk_recent_info_has_group(Xen info, Xen group_name)
   return(C_to_Xen_gboolean(gtk_recent_info_has_group(Xen_to_C_GtkRecentInfo_(info), Xen_to_C_gchar_(group_name))));
 }
 
-static Xen gxg_gtk_recent_info_get_icon(Xen info, Xen size)
-{
-  #define H_gtk_recent_info_get_icon "GdkPixbuf* gtk_recent_info_get_icon(GtkRecentInfo* info, gint size)"
-  Xen_check_type(Xen_is_GtkRecentInfo_(info), info, 1, "gtk_recent_info_get_icon", "GtkRecentInfo*");
-  Xen_check_type(Xen_is_gint(size), size, 2, "gtk_recent_info_get_icon", "gint");
-  return(C_to_Xen_GdkPixbuf_(gtk_recent_info_get_icon(Xen_to_C_GtkRecentInfo_(info), Xen_to_C_gint(size))));
-}
-
 static Xen gxg_gtk_recent_info_get_short_name(Xen info)
 {
   #define H_gtk_recent_info_get_short_name "gchar* gtk_recent_info_get_short_name(GtkRecentInfo* info)"
@@ -20299,157 +18777,6 @@ static Xen gxg_gtk_recent_info_match(Xen info_a, Xen info_b)
   return(C_to_Xen_gboolean(gtk_recent_info_match(Xen_to_C_GtkRecentInfo_(info_a), Xen_to_C_GtkRecentInfo_(info_b))));
 }
 
-static Xen gxg_gtk_text_buffer_register_serialize_format(Xen buffer, Xen mime_type, Xen function, Xen user_data, Xen user_data_destroy)
-{
-  #define H_gtk_text_buffer_register_serialize_format "GdkAtom gtk_text_buffer_register_serialize_format(GtkTextBuffer* buffer, \
-gchar* mime_type, GtkTextBufferSerializeFunc function, gpointer user_data, GDestroyNotify user_data_destroy)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_register_serialize_format", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_gchar_(mime_type), mime_type, 2, "gtk_text_buffer_register_serialize_format", "gchar*");
-  Xen_check_type(Xen_is_GtkTextBufferSerializeFunc(function), function, 3, "gtk_text_buffer_register_serialize_format", "GtkTextBufferSerializeFunc");
-  Xen_check_type(Xen_is_gpointer(user_data), user_data, 4, "gtk_text_buffer_register_serialize_format", "gpointer");
-  Xen_check_type(Xen_is_GDestroyNotify(user_data_destroy), user_data_destroy, 5, "gtk_text_buffer_register_serialize_format", "GDestroyNotify");
-  return(C_to_Xen_GdkAtom(gtk_text_buffer_register_serialize_format(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_gchar_(mime_type), 
-                                                                    Xen_to_C_GtkTextBufferSerializeFunc(function), Xen_to_C_gpointer(user_data), 
-                                                                    Xen_to_C_GDestroyNotify(user_data_destroy))));
-}
-
-static Xen gxg_gtk_text_buffer_register_serialize_tagset(Xen buffer, Xen tagset_name)
-{
-  #define H_gtk_text_buffer_register_serialize_tagset "GdkAtom gtk_text_buffer_register_serialize_tagset(GtkTextBuffer* buffer, \
-gchar* tagset_name)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_register_serialize_tagset", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_gchar_(tagset_name), tagset_name, 2, "gtk_text_buffer_register_serialize_tagset", "gchar*");
-  return(C_to_Xen_GdkAtom(gtk_text_buffer_register_serialize_tagset(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_gchar_(tagset_name))));
-}
-
-static Xen gxg_gtk_text_buffer_register_deserialize_format(Xen buffer, Xen mime_type, Xen function, Xen user_data, Xen user_data_destroy)
-{
-  #define H_gtk_text_buffer_register_deserialize_format "GdkAtom gtk_text_buffer_register_deserialize_format(GtkTextBuffer* buffer, \
-gchar* mime_type, GtkTextBufferDeserializeFunc function, gpointer user_data, GDestroyNotify user_data_destroy)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_register_deserialize_format", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_gchar_(mime_type), mime_type, 2, "gtk_text_buffer_register_deserialize_format", "gchar*");
-  Xen_check_type(Xen_is_GtkTextBufferDeserializeFunc(function), function, 3, "gtk_text_buffer_register_deserialize_format", "GtkTextBufferDeserializeFunc");
-  Xen_check_type(Xen_is_gpointer(user_data), user_data, 4, "gtk_text_buffer_register_deserialize_format", "gpointer");
-  Xen_check_type(Xen_is_GDestroyNotify(user_data_destroy), user_data_destroy, 5, "gtk_text_buffer_register_deserialize_format", "GDestroyNotify");
-  return(C_to_Xen_GdkAtom(gtk_text_buffer_register_deserialize_format(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_gchar_(mime_type), 
-                                                                      Xen_to_C_GtkTextBufferDeserializeFunc(function), Xen_to_C_gpointer(user_data), 
-                                                                      Xen_to_C_GDestroyNotify(user_data_destroy))));
-}
-
-static Xen gxg_gtk_text_buffer_register_deserialize_tagset(Xen buffer, Xen tagset_name)
-{
-  #define H_gtk_text_buffer_register_deserialize_tagset "GdkAtom gtk_text_buffer_register_deserialize_tagset(GtkTextBuffer* buffer, \
-gchar* tagset_name)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_register_deserialize_tagset", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_gchar_(tagset_name), tagset_name, 2, "gtk_text_buffer_register_deserialize_tagset", "gchar*");
-  return(C_to_Xen_GdkAtom(gtk_text_buffer_register_deserialize_tagset(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_gchar_(tagset_name))));
-}
-
-static Xen gxg_gtk_text_buffer_unregister_serialize_format(Xen buffer, Xen format)
-{
-  #define H_gtk_text_buffer_unregister_serialize_format "void gtk_text_buffer_unregister_serialize_format(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_unregister_serialize_format", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 2, "gtk_text_buffer_unregister_serialize_format", "GdkAtom");
-  gtk_text_buffer_unregister_serialize_format(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkAtom(format));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_unregister_deserialize_format(Xen buffer, Xen format)
-{
-  #define H_gtk_text_buffer_unregister_deserialize_format "void gtk_text_buffer_unregister_deserialize_format(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_unregister_deserialize_format", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 2, "gtk_text_buffer_unregister_deserialize_format", "GdkAtom");
-  gtk_text_buffer_unregister_deserialize_format(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkAtom(format));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_deserialize_set_can_create_tags(Xen buffer, Xen format, Xen can_create_tags)
-{
-  #define H_gtk_text_buffer_deserialize_set_can_create_tags "void gtk_text_buffer_deserialize_set_can_create_tags(GtkTextBuffer* buffer, \
-GdkAtom format, gboolean can_create_tags)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_deserialize_set_can_create_tags", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 2, "gtk_text_buffer_deserialize_set_can_create_tags", "GdkAtom");
-  Xen_check_type(Xen_is_gboolean(can_create_tags), can_create_tags, 3, "gtk_text_buffer_deserialize_set_can_create_tags", "gboolean");
-  gtk_text_buffer_deserialize_set_can_create_tags(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkAtom(format), Xen_to_C_gboolean(can_create_tags));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_text_buffer_deserialize_get_can_create_tags(Xen buffer, Xen format)
-{
-  #define H_gtk_text_buffer_deserialize_get_can_create_tags "gboolean gtk_text_buffer_deserialize_get_can_create_tags(GtkTextBuffer* buffer, \
-GdkAtom format)"
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_deserialize_get_can_create_tags", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 2, "gtk_text_buffer_deserialize_get_can_create_tags", "GdkAtom");
-  return(C_to_Xen_gboolean(gtk_text_buffer_deserialize_get_can_create_tags(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkAtom(format))));
-}
-
-static Xen gxg_gtk_text_buffer_get_serialize_formats(Xen buffer, Xen ignore_n_formats)
-{
-  #define H_gtk_text_buffer_get_serialize_formats "GdkAtom* gtk_text_buffer_get_serialize_formats(GtkTextBuffer* buffer, \
-gint* [n_formats])"
-  gint ref_n_formats;
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_get_serialize_formats", "GtkTextBuffer*");
-  {
-    Xen result;
-    result = C_to_Xen_GdkAtom_(gtk_text_buffer_get_serialize_formats(Xen_to_C_GtkTextBuffer_(buffer), &ref_n_formats));
-    return(Xen_list_2(result, C_to_Xen_gint(ref_n_formats)));
-   }
-}
-
-static Xen gxg_gtk_text_buffer_get_deserialize_formats(Xen buffer, Xen ignore_n_formats)
-{
-  #define H_gtk_text_buffer_get_deserialize_formats "GdkAtom* gtk_text_buffer_get_deserialize_formats(GtkTextBuffer* buffer, \
-gint* [n_formats])"
-  gint ref_n_formats;
-  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_get_deserialize_formats", "GtkTextBuffer*");
-  {
-    Xen result;
-    result = C_to_Xen_GdkAtom_(gtk_text_buffer_get_deserialize_formats(Xen_to_C_GtkTextBuffer_(buffer), &ref_n_formats));
-    return(Xen_list_2(result, C_to_Xen_gint(ref_n_formats)));
-   }
-}
-
-static Xen gxg_gtk_text_buffer_serialize(Xen register_buffer, Xen content_buffer, Xen format, Xen start, Xen end, Xen ignore_length)
-{
-  #define H_gtk_text_buffer_serialize "guint8* gtk_text_buffer_serialize(GtkTextBuffer* register_buffer, \
-GtkTextBuffer* content_buffer, GdkAtom format, GtkTextIter* start, GtkTextIter* end, gsize* [length])"
-  gsize ref_length;
-  Xen_check_type(Xen_is_GtkTextBuffer_(register_buffer), register_buffer, 1, "gtk_text_buffer_serialize", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(content_buffer), content_buffer, 2, "gtk_text_buffer_serialize", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 3, "gtk_text_buffer_serialize", "GdkAtom");
-  Xen_check_type(Xen_is_GtkTextIter_(start), start, 4, "gtk_text_buffer_serialize", "GtkTextIter*");
-  Xen_check_type(Xen_is_GtkTextIter_(end), end, 5, "gtk_text_buffer_serialize", "GtkTextIter*");
-  {
-    Xen result;
-    result = C_to_Xen_guint8_(gtk_text_buffer_serialize(Xen_to_C_GtkTextBuffer_(register_buffer), Xen_to_C_GtkTextBuffer_(content_buffer), 
-                                                        Xen_to_C_GdkAtom(format), Xen_to_C_GtkTextIter_(start), Xen_to_C_GtkTextIter_(end), 
-                                                        &ref_length));
-    return(Xen_list_2(result, C_to_Xen_gsize(ref_length)));
-   }
-}
-
-static Xen gxg_gtk_text_buffer_deserialize(Xen register_buffer, Xen content_buffer, Xen format, Xen iter, Xen data, Xen length, Xen ignore_error)
-{
-  #define H_gtk_text_buffer_deserialize "gboolean gtk_text_buffer_deserialize(GtkTextBuffer* register_buffer, \
-GtkTextBuffer* content_buffer, GdkAtom format, GtkTextIter* iter, guint8* data, gsize length, GError** [error])"
-  GError* ref_error = NULL;
-  Xen_check_type(Xen_is_GtkTextBuffer_(register_buffer), register_buffer, 1, "gtk_text_buffer_deserialize", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GtkTextBuffer_(content_buffer), content_buffer, 2, "gtk_text_buffer_deserialize", "GtkTextBuffer*");
-  Xen_check_type(Xen_is_GdkAtom(format), format, 3, "gtk_text_buffer_deserialize", "GdkAtom");
-  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 4, "gtk_text_buffer_deserialize", "GtkTextIter*");
-  Xen_check_type(Xen_is_guint8_(data), data, 5, "gtk_text_buffer_deserialize", "guint8*");
-  Xen_check_type(Xen_is_gsize(length), length, 6, "gtk_text_buffer_deserialize", "gsize");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gtk_text_buffer_deserialize(Xen_to_C_GtkTextBuffer_(register_buffer), Xen_to_C_GtkTextBuffer_(content_buffer), 
-                                                           Xen_to_C_GdkAtom(format), Xen_to_C_GtkTextIter_(iter), Xen_to_C_guint8_(data), 
-                                                           Xen_to_C_gsize(length), &ref_error));
-    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
-   }
-}
-
 static Xen gxg_gtk_recent_manager_add_item(Xen manager, Xen uri)
 {
   #define H_gtk_recent_manager_add_item "gboolean gtk_recent_manager_add_item(GtkRecentManager* manager, \
@@ -21364,13 +19691,6 @@ gchar* output_bin)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_settings_get_for_screen(Xen screen)
-{
-  #define H_gtk_settings_get_for_screen "GtkSettings* gtk_settings_get_for_screen(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gtk_settings_get_for_screen", "GdkScreen*");
-  return(C_to_Xen_GtkSettings_(gtk_settings_get_for_screen(Xen_to_C_GdkScreen_(screen))));
-}
-
 static Xen gxg_pango_cairo_create_layout(Xen cr)
 {
   #define H_pango_cairo_create_layout "PangoLayout* pango_cairo_create_layout(cairo_t* cr)"
@@ -21537,22 +19857,6 @@ static Xen gxg_gdk_cairo_rectangle(Xen cr, Xen rectangle)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_event_request_motions(Xen event)
-{
-  #define H_gdk_event_request_motions "void gdk_event_request_motions(GdkEventMotion* event)"
-  Xen_check_type(Xen_is_GdkEventMotion_(event), event, 1, "gdk_event_request_motions", "GdkEventMotion*");
-  gdk_event_request_motions(Xen_to_C_GdkEventMotion_(event));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_notify_startup_complete_with_id(Xen startup_id)
-{
-  #define H_gdk_notify_startup_complete_with_id "void gdk_notify_startup_complete_with_id(gchar* startup_id)"
-  Xen_check_type(Xen_is_gchar_(startup_id), startup_id, 1, "gdk_notify_startup_complete_with_id", "gchar*");
-  gdk_notify_startup_complete_with_id(Xen_to_C_gchar_(startup_id));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_threads_add_idle_full(Xen priority, Xen func, Xen func_info, Xen notify)
 {
   #define H_gdk_threads_add_idle_full "guint gdk_threads_add_idle_full(gint priority, GSourceFunc func, \
@@ -22731,39 +21035,6 @@ static Xen gxg_gtk_entry_progress_pulse(Xen entry)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_entry_set_icon_from_pixbuf(Xen entry, Xen icon_pos, Xen pixbuf)
-{
-  #define H_gtk_entry_set_icon_from_pixbuf "void gtk_entry_set_icon_from_pixbuf(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_from_pixbuf", "GtkEntry*");
-  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_from_pixbuf", "GtkEntryIconPosition");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 3, "gtk_entry_set_icon_from_pixbuf", "GdkPixbuf*");
-  gtk_entry_set_icon_from_pixbuf(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_GdkPixbuf_(pixbuf));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_entry_set_icon_from_icon_name(Xen entry, Xen icon_pos, Xen icon_name)
-{
-  #define H_gtk_entry_set_icon_from_icon_name "void gtk_entry_set_icon_from_icon_name(GtkEntry* entry, \
-GtkEntryIconPosition icon_pos, gchar* icon_name)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_from_icon_name", "GtkEntry*");
-  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_from_icon_name", "GtkEntryIconPosition");
-  Xen_check_type(Xen_is_gchar_(icon_name), icon_name, 3, "gtk_entry_set_icon_from_icon_name", "gchar*");
-  gtk_entry_set_icon_from_icon_name(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_gchar_(icon_name));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_entry_set_icon_from_gicon(Xen entry, Xen icon_pos, Xen icon)
-{
-  #define H_gtk_entry_set_icon_from_gicon "void gtk_entry_set_icon_from_gicon(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GIcon* icon)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_from_gicon", "GtkEntry*");
-  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_from_gicon", "GtkEntryIconPosition");
-  Xen_check_type(Xen_is_GIcon_(icon), icon, 3, "gtk_entry_set_icon_from_gicon", "GIcon*");
-  gtk_entry_set_icon_from_gicon(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_GIcon_(icon));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_entry_get_icon_name(Xen entry, Xen icon_pos)
 {
   #define H_gtk_entry_get_icon_name "gchar* gtk_entry_get_icon_name(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
@@ -22842,26 +21113,6 @@ GtkEntryIconPosition icon_pos, gchar* tooltip)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_entry_set_icon_drag_source(Xen entry, Xen icon_pos, Xen target_list, Xen actions)
-{
-  #define H_gtk_entry_set_icon_drag_source "void gtk_entry_set_icon_drag_source(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
-GtkTargetList* target_list, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_drag_source", "GtkEntry*");
-  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_drag_source", "GtkEntryIconPosition");
-  Xen_check_type(Xen_is_GtkTargetList_(target_list), target_list, 3, "gtk_entry_set_icon_drag_source", "GtkTargetList*");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_entry_set_icon_drag_source", "GdkDragAction");
-  gtk_entry_set_icon_drag_source(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_GtkTargetList_(target_list), 
-                                 Xen_to_C_GdkDragAction(actions));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_entry_get_current_icon_drag_source(Xen entry)
-{
-  #define H_gtk_entry_get_current_icon_drag_source "gint gtk_entry_get_current_icon_drag_source(GtkEntry* entry)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_get_current_icon_drag_source", "GtkEntry*");
-  return(C_to_Xen_gint(gtk_entry_get_current_icon_drag_source(Xen_to_C_GtkEntry_(entry))));
-}
-
 static Xen gxg_gtk_menu_item_set_label(Xen menu_item, Xen label)
 {
   #define H_gtk_menu_item_set_label "void gtk_menu_item_set_label(GtkMenuItem* menu_item, gchar* label)"
@@ -22895,13 +21146,6 @@ static Xen gxg_gtk_menu_item_get_use_underline(Xen menu_item)
   return(C_to_Xen_gboolean(gtk_menu_item_get_use_underline(Xen_to_C_GtkMenuItem_(menu_item))));
 }
 
-static Xen gxg_gtk_selection_data_get_selection(Xen selection_data)
-{
-  #define H_gtk_selection_data_get_selection "GdkAtom gtk_selection_data_get_selection(GtkSelectionData* selection_data)"
-  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_selection", "GtkSelectionData*");
-  return(C_to_Xen_GdkAtom(gtk_selection_data_get_selection(Xen_to_C_GtkSelectionData_(selection_data))));
-}
-
 static Xen gxg_gtk_entry_get_icon_tooltip_text(Xen entry, Xen icon_pos)
 {
   #define H_gtk_entry_get_icon_tooltip_text "gchar* gtk_entry_get_icon_tooltip_text(GtkEntry* entry, \
@@ -23701,14 +21945,6 @@ GtkToolItemGroup* group)"
   return(C_to_Xen_gboolean(gtk_tool_palette_get_expand(Xen_to_C_GtkToolPalette_(palette), Xen_to_C_GtkToolItemGroup_(group))));
 }
 
-static Xen gxg_gtk_tool_palette_unset_icon_size(Xen palette)
-{
-  #define H_gtk_tool_palette_unset_icon_size "void gtk_tool_palette_unset_icon_size(GtkToolPalette* palette)"
-  Xen_check_type(Xen_is_GtkToolPalette_(palette), palette, 1, "gtk_tool_palette_unset_icon_size", "GtkToolPalette*");
-  gtk_tool_palette_unset_icon_size(Xen_to_C_GtkToolPalette_(palette));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_tool_palette_set_style(Xen palette, Xen style)
 {
   #define H_gtk_tool_palette_set_style "void gtk_tool_palette_set_style(GtkToolPalette* palette, GtkToolbarStyle style)"
@@ -23787,18 +22023,6 @@ GtkWidget* widget, GtkDestDefaults flags, GtkToolPaletteDragTargets targets, Gdk
   return(Xen_false);
 }
 
-static Xen gxg_gtk_tool_palette_get_drag_target_item(void)
-{
-  #define H_gtk_tool_palette_get_drag_target_item "GtkTargetEntry* gtk_tool_palette_get_drag_target_item( void)"
-    return(C_to_Xen_GtkTargetEntry_((GtkTargetEntry*)gtk_tool_palette_get_drag_target_item()));
-}
-
-static Xen gxg_gtk_tool_palette_get_drag_target_group(void)
-{
-  #define H_gtk_tool_palette_get_drag_target_group "GtkTargetEntry* gtk_tool_palette_get_drag_target_group( void)"
-    return(C_to_Xen_GtkTargetEntry_((GtkTargetEntry*)gtk_tool_palette_get_drag_target_group()));
-}
-
 static Xen gxg_gtk_tool_item_group_new(Xen label)
 {
   #define H_gtk_tool_item_group_new "GtkWidget* gtk_tool_item_group_new(gchar* label)"
@@ -24092,15 +22316,6 @@ static Xen gxg_gtk_widget_send_focus_change(Xen widget, Xen event)
   return(C_to_Xen_gboolean(gtk_widget_send_focus_change(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkEvent_(event))));
 }
 
-static Xen gxg_gdk_drag_context_set_device(Xen context, Xen device)
-{
-  #define H_gdk_drag_context_set_device "void gdk_drag_context_set_device(GdkDragContext* context, GdkDevice* device)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_context_set_device", "GdkDragContext*");
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gdk_drag_context_set_device", "GdkDevice*");
-  gdk_drag_context_set_device(Xen_to_C_GdkDragContext_(context), Xen_to_C_GdkDevice_(device));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_drag_context_get_device(Xen context)
 {
   #define H_gdk_drag_context_get_device "GdkDevice* gdk_drag_context_get_device(GdkDragContext* context)"
@@ -24108,13 +22323,6 @@ static Xen gxg_gdk_drag_context_get_device(Xen context)
   return(C_to_Xen_GdkDevice_(gdk_drag_context_get_device(Xen_to_C_GdkDragContext_(context))));
 }
 
-static Xen gxg_gdk_drag_context_list_targets(Xen context)
-{
-  #define H_gdk_drag_context_list_targets "GList* gdk_drag_context_list_targets(GdkDragContext* context)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_context_list_targets", "GdkDragContext*");
-  return(C_to_Xen_GList_(gdk_drag_context_list_targets(Xen_to_C_GdkDragContext_(context))));
-}
-
 static Xen gxg_gdk_event_set_device(Xen event, Xen device)
 {
   #define H_gdk_event_set_device "void gdk_event_set_device(GdkEvent* event, GdkDevice* device)"
@@ -24545,13 +22753,6 @@ static Xen gxg_gdk_window_has_native(Xen window)
   return(C_to_Xen_gboolean(gdk_window_has_native(Xen_to_C_GdkWindow_(window))));
 }
 
-static Xen gxg_gdk_cursor_get_cursor_type(Xen cursor)
-{
-  #define H_gdk_cursor_get_cursor_type "GdkCursorType gdk_cursor_get_cursor_type(GdkCursor* cursor)"
-  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_cursor_type", "GdkCursor*");
-  return(C_to_Xen_GdkCursorType(gdk_cursor_get_cursor_type(Xen_to_C_GdkCursor_(cursor))));
-}
-
 static Xen gxg_gdk_display_is_closed(Xen display)
 {
   #define H_gdk_display_is_closed "gboolean gdk_display_is_closed(GdkDisplay* display)"
@@ -24690,13 +22891,6 @@ static Xen gxg_gdk_cairo_region_create_from_surface(Xen surface)
   return(C_to_Xen_cairo_region_t_(gdk_cairo_region_create_from_surface(Xen_to_C_cairo_surface_t_(surface))));
 }
 
-static Xen gxg_gdk_window_get_screen(Xen window)
-{
-  #define H_gdk_window_get_screen "GdkScreen* gdk_window_get_screen(GdkWindow* window)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_get_screen", "GdkWindow*");
-  return(C_to_Xen_GdkScreen_(gdk_window_get_screen(Xen_to_C_GdkWindow_(window))));
-}
-
 static Xen gxg_gdk_window_get_display(Xen window)
 {
   #define H_gdk_window_get_display "GdkDisplay* gdk_window_get_display(GdkWindow* window)"
@@ -24918,17 +23112,6 @@ cairo_region_t* region)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_cairo_transform_to_window(Xen cr, Xen widget, Xen window)
-{
-  #define H_gtk_cairo_transform_to_window "void gtk_cairo_transform_to_window(cairo_t* cr, GtkWidget* widget, \
-GdkWindow* window)"
-  Xen_check_type(Xen_is_cairo_t_(cr), cr, 1, "gtk_cairo_transform_to_window", "cairo_t*");
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 2, "gtk_cairo_transform_to_window", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 3, "gtk_cairo_transform_to_window", "GdkWindow*");
-  gtk_cairo_transform_to_window(Xen_to_C_cairo_t_(cr), Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkWindow_(window));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_combo_box_new_with_entry(void)
 {
   #define H_gtk_combo_box_new_with_entry "GtkWidget* gtk_combo_box_new_with_entry( void)"
@@ -24959,30 +23142,6 @@ static Xen gxg_gtk_combo_box_get_entry_text_column(Xen combo_box)
   return(C_to_Xen_gint(gtk_combo_box_get_entry_text_column(Xen_to_C_GtkComboBox_(combo_box))));
 }
 
-static Xen gxg_gtk_target_entry_new(Xen target, Xen flags, Xen info)
-{
-  #define H_gtk_target_entry_new "GtkTargetEntry* gtk_target_entry_new(char* target, guint flags, guint info)"
-  Xen_check_type(Xen_is_char_(target), target, 1, "gtk_target_entry_new", "char*");
-  Xen_check_type(Xen_is_guint(flags), flags, 2, "gtk_target_entry_new", "guint");
-  Xen_check_type(Xen_is_guint(info), info, 3, "gtk_target_entry_new", "guint");
-  return(C_to_Xen_GtkTargetEntry_(gtk_target_entry_new((const char*)Xen_to_C_char_(target), Xen_to_C_guint(flags), Xen_to_C_guint(info))));
-}
-
-static Xen gxg_gtk_target_entry_copy(Xen data)
-{
-  #define H_gtk_target_entry_copy "GtkTargetEntry* gtk_target_entry_copy(GtkTargetEntry* data)"
-  Xen_check_type(Xen_is_GtkTargetEntry_(data), data, 1, "gtk_target_entry_copy", "GtkTargetEntry*");
-  return(C_to_Xen_GtkTargetEntry_(gtk_target_entry_copy(Xen_to_C_GtkTargetEntry_(data))));
-}
-
-static Xen gxg_gtk_target_entry_free(Xen data)
-{
-  #define H_gtk_target_entry_free "void gtk_target_entry_free(GtkTargetEntry* data)"
-  Xen_check_type(Xen_is_GtkTargetEntry_(data), data, 1, "gtk_target_entry_free", "GtkTargetEntry*");
-  gtk_target_entry_free(Xen_to_C_GtkTargetEntry_(data));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_widget_get_hexpand(Xen widget)
 {
   #define H_gtk_widget_get_hexpand "gboolean gtk_widget_get_hexpand(GtkWidget* widget)"
@@ -25550,15 +23709,6 @@ static Xen gxg_gtk_tooltip_set_markup(Xen tooltip, Xen markup)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_tooltip_set_icon(Xen tooltip, Xen pixbuf)
-{
-  #define H_gtk_tooltip_set_icon "void gtk_tooltip_set_icon(GtkTooltip* tooltip, GdkPixbuf* pixbuf)"
-  Xen_check_type(Xen_is_GtkTooltip_(tooltip), tooltip, 1, "gtk_tooltip_set_icon", "GtkTooltip*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_tooltip_set_icon", "GdkPixbuf*");
-  gtk_tooltip_set_icon(Xen_to_C_GtkTooltip_(tooltip), Xen_to_C_GdkPixbuf_(pixbuf));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_tooltip_set_custom(Xen tooltip, Xen custom_widget)
 {
   #define H_gtk_tooltip_set_custom "void gtk_tooltip_set_custom(GtkTooltip* tooltip, GtkWidget* custom_widget)"
@@ -25600,13 +23750,6 @@ GtkCellRenderer* cell)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_clipboard_wait_is_uris_available(Xen clipboard)
-{
-  #define H_gtk_clipboard_wait_is_uris_available "gboolean gtk_clipboard_wait_is_uris_available(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_wait_is_uris_available", "GtkClipboard*");
-  return(C_to_Xen_gboolean(gtk_clipboard_wait_is_uris_available(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
 static Xen gxg_gtk_toolbar_set_drop_highlight_item(Xen toolbar, Xen tool_item, Xen index)
 {
   #define H_gtk_toolbar_set_drop_highlight_item "void gtk_toolbar_set_drop_highlight_item(GtkToolbar* toolbar, \
@@ -25690,29 +23833,6 @@ static Xen gxg_gtk_progress_bar_get_show_text(Xen pbar)
   return(C_to_Xen_gboolean(gtk_progress_bar_get_show_text(Xen_to_C_GtkProgressBar_(pbar))));
 }
 
-static Xen gxg_gtk_invisible_new_for_screen(Xen screen)
-{
-  #define H_gtk_invisible_new_for_screen "GtkWidget* gtk_invisible_new_for_screen(GdkScreen* screen)"
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 1, "gtk_invisible_new_for_screen", "GdkScreen*");
-  return(C_to_Xen_GtkWidget_(gtk_invisible_new_for_screen(Xen_to_C_GdkScreen_(screen))));
-}
-
-static Xen gxg_gtk_invisible_set_screen(Xen invisible, Xen screen)
-{
-  #define H_gtk_invisible_set_screen "void gtk_invisible_set_screen(GtkInvisible* invisible, GdkScreen* screen)"
-  Xen_check_type(Xen_is_GtkInvisible_(invisible), invisible, 1, "gtk_invisible_set_screen", "GtkInvisible*");
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 2, "gtk_invisible_set_screen", "GdkScreen*");
-  gtk_invisible_set_screen(Xen_to_C_GtkInvisible_(invisible), Xen_to_C_GdkScreen_(screen));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_invisible_get_screen(Xen invisible)
-{
-  #define H_gtk_invisible_get_screen "GdkScreen* gtk_invisible_get_screen(GtkInvisible* invisible)"
-  Xen_check_type(Xen_is_GtkInvisible_(invisible), invisible, 1, "gtk_invisible_get_screen", "GtkInvisible*");
-  return(C_to_Xen_GdkScreen_(gtk_invisible_get_screen(Xen_to_C_GtkInvisible_(invisible))));
-}
-
 static Xen gxg_gtk_entry_get_icon_storage_type(Xen entry, Xen icon_pos)
 {
   #define H_gtk_entry_get_icon_storage_type "GtkImageType gtk_entry_get_icon_storage_type(GtkEntry* entry, \
@@ -25722,14 +23842,6 @@ GtkEntryIconPosition icon_pos)"
   return(C_to_Xen_GtkImageType(gtk_entry_get_icon_storage_type(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos))));
 }
 
-static Xen gxg_gtk_entry_get_icon_pixbuf(Xen entry, Xen icon_pos)
-{
-  #define H_gtk_entry_get_icon_pixbuf "GdkPixbuf* gtk_entry_get_icon_pixbuf(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
-  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_get_icon_pixbuf", "GtkEntry*");
-  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_get_icon_pixbuf", "GtkEntryIconPosition");
-  return(C_to_Xen_GdkPixbuf_(gtk_entry_get_icon_pixbuf(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos))));
-}
-
 static Xen gxg_gtk_entry_get_icon_gicon(Xen entry, Xen icon_pos)
 {
   #define H_gtk_entry_get_icon_gicon "GIcon* gtk_entry_get_icon_gicon(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
@@ -25844,22 +23956,6 @@ static Xen gxg_gtk_window_get_skip_pager_hint(Xen window)
   return(C_to_Xen_gboolean(gtk_window_get_skip_pager_hint(Xen_to_C_GtkWindow_(window))));
 }
 
-static Xen gxg_gtk_window_set_screen(Xen window, Xen screen)
-{
-  #define H_gtk_window_set_screen "void gtk_window_set_screen(GtkWindow* window, GdkScreen* screen)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_set_screen", "GtkWindow*");
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 2, "gtk_window_set_screen", "GdkScreen*");
-  gtk_window_set_screen(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkScreen_(screen));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_window_get_screen(Xen window)
-{
-  #define H_gtk_window_get_screen "GdkScreen* gtk_window_get_screen(GtkWindow* window)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_get_screen", "GtkWindow*");
-  return(C_to_Xen_GdkScreen_(gtk_window_get_screen(Xen_to_C_GtkWindow_(window))));
-}
-
 static Xen gxg_gtk_window_set_icon_from_file(Xen window, Xen filename, Xen ignore_err)
 {
   #define H_gtk_window_set_icon_from_file "gboolean gtk_window_set_icon_from_file(GtkWindow* window, \
@@ -25973,18 +24069,6 @@ static Xen gxg_gtk_selection_data_get_data(Xen selection_data)
   return(C_to_Xen_guchar_(gtk_selection_data_get_data(Xen_to_C_GtkSelectionData_(selection_data))));
 }
 
-static Xen gxg_gtk_selection_owner_set_for_display(Xen display, Xen widget, Xen selection, Xen time)
-{
-  #define H_gtk_selection_owner_set_for_display "gboolean gtk_selection_owner_set_for_display(GdkDisplay* display, \
-GtkWidget* widget, GdkAtom selection, guint32 time)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_selection_owner_set_for_display", "GdkDisplay*");
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 2, "gtk_selection_owner_set_for_display", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 3, "gtk_selection_owner_set_for_display", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 4, "gtk_selection_owner_set_for_display", "guint32");
-  return(C_to_Xen_gboolean(gtk_selection_owner_set_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GtkWidget_(widget), 
-                                                               Xen_to_C_GdkAtom(selection), Xen_to_C_guint32(time))));
-}
-
 static Xen gxg_gtk_tool_shell_get_text_orientation(Xen shell)
 {
   #define H_gtk_tool_shell_get_text_orientation "GtkOrientation gtk_tool_shell_get_text_orientation(GtkToolShell* shell)"
@@ -26106,18 +24190,6 @@ static Xen gxg_gtk_text_view_reset_im_context(Xen text_view)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_device_get_position(Xen device, Xen screen, Xen ignore_x, Xen ignore_y)
-{
-  #define H_gdk_device_get_position "void gdk_device_get_position(GdkDevice* device, GdkScreen** screen, \
-gint* [x], gint* [y])"
-  gint ref_x;
-  gint ref_y;
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 1, "gdk_device_get_position", "GdkDevice*");
-  Xen_check_type(Xen_is_GdkScreen__(screen), screen, 2, "gdk_device_get_position", "GdkScreen**");
-  gdk_device_get_position(Xen_to_C_GdkDevice_(device), Xen_to_C_GdkScreen__(screen), &ref_x, &ref_y);
-  return(Xen_list_2(C_to_Xen_gint(ref_x), C_to_Xen_gint(ref_y)));
-}
-
 static Xen gxg_gdk_device_get_window_at_position(Xen device, Xen ignore_win_x, Xen ignore_win_y)
 {
   #define H_gdk_device_get_window_at_position "GdkWindow* gdk_device_get_window_at_position(GdkDevice* device, \
@@ -26244,26 +24316,6 @@ gint x, gint y, GtkTreePath** [path], GtkTreeViewColumn** [column], gint* [cell_
    }
 }
 
-static Xen gxg_gtk_widget_set_device_enabled(Xen widget, Xen device, Xen enabled)
-{
-  #define H_gtk_widget_set_device_enabled "void gtk_widget_set_device_enabled(GtkWidget* widget, GdkDevice* device, \
-gboolean enabled)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_set_device_enabled", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gtk_widget_set_device_enabled", "GdkDevice*");
-  Xen_check_type(Xen_is_gboolean(enabled), enabled, 3, "gtk_widget_set_device_enabled", "gboolean");
-  gtk_widget_set_device_enabled(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkDevice_(device), Xen_to_C_gboolean(enabled));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_widget_get_device_enabled(Xen widget, Xen device)
-{
-  #define H_gtk_widget_get_device_enabled "gboolean gtk_widget_get_device_enabled(GtkWidget* widget, \
-GdkDevice* device)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_device_enabled", "GtkWidget*");
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gtk_widget_get_device_enabled", "GdkDevice*");
-  return(C_to_Xen_gboolean(gtk_widget_get_device_enabled(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkDevice_(device))));
-}
-
 static Xen gxg_gtk_window_set_has_user_ref_count(Xen window, Xen setting)
 {
   #define H_gtk_window_set_has_user_ref_count "void gtk_window_set_has_user_ref_count(GtkWindow* window, \
@@ -26274,35 +24326,6 @@ gboolean setting)"
   return(Xen_false);
 }
 
-static Xen gxg_gdk_selection_send_notify(Xen requestor, Xen selection, Xen target, Xen property, Xen time_)
-{
-  #define H_gdk_selection_send_notify "void gdk_selection_send_notify(GdkWindow* requestor, GdkAtom selection, \
-GdkAtom target, GdkAtom property, guint32 time_)"
-  Xen_check_type(Xen_is_GdkWindow_(requestor), requestor, 1, "gdk_selection_send_notify", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 2, "gdk_selection_send_notify", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 3, "gdk_selection_send_notify", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(property), property, 4, "gdk_selection_send_notify", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time_), time_, 5, "gdk_selection_send_notify", "guint32");
-  gdk_selection_send_notify(Xen_to_C_GdkWindow_(requestor), Xen_to_C_GdkAtom(selection), Xen_to_C_GdkAtom(target), Xen_to_C_GdkAtom(property), 
-                            Xen_to_C_guint32(time_));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_selection_send_notify_for_display(Xen display, Xen requestor, Xen selection, Xen target, Xen property, Xen time_)
-{
-  #define H_gdk_selection_send_notify_for_display "void gdk_selection_send_notify_for_display(GdkDisplay* display, \
-GdkWindow* requestor, GdkAtom selection, GdkAtom target, GdkAtom property, guint32 time_)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_selection_send_notify_for_display", "GdkDisplay*");
-  Xen_check_type(Xen_is_GdkWindow_(requestor), requestor, 2, "gdk_selection_send_notify_for_display", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 3, "gdk_selection_send_notify_for_display", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(target), target, 4, "gdk_selection_send_notify_for_display", "GdkAtom");
-  Xen_check_type(Xen_is_GdkAtom(property), property, 5, "gdk_selection_send_notify_for_display", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time_), time_, 6, "gdk_selection_send_notify_for_display", "guint32");
-  gdk_selection_send_notify_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GdkWindow_(requestor), Xen_to_C_GdkAtom(selection), 
-                                        Xen_to_C_GdkAtom(target), Xen_to_C_GdkAtom(property), Xen_to_C_guint32(time_));
-  return(Xen_false);
-}
-
 static Xen gxg_gdk_rgba_copy(Xen rgba)
 {
   #define H_gdk_rgba_copy "GdkRGBA* gdk_rgba_copy(GdkRGBA* rgba)"
@@ -27439,14 +25462,6 @@ static Xen gxg_pango_font_map_changed(Xen fontmap)
 #endif
 
 #if GTK_CHECK_VERSION(3, 10, 0)
-static Xen gxg_gdk_set_allowed_backends(Xen backends)
-{
-  #define H_gdk_set_allowed_backends "void gdk_set_allowed_backends(gchar* backends)"
-  Xen_check_type(Xen_is_gchar_(backends), backends, 1, "gdk_set_allowed_backends", "gchar*");
-  gdk_set_allowed_backends((const gchar*)Xen_to_C_gchar_(backends));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_box_set_baseline_position(Xen box, Xen position)
 {
   #define H_gtk_box_set_baseline_position "void gtk_box_set_baseline_position(GtkBox* box, GtkBaselinePosition position)"
@@ -28117,23 +26132,6 @@ static Xen gxg_gtk_search_bar_set_search_mode(Xen bar, Xen search_mode)
   return(Xen_false);
 }
 
-static Xen gxg_gtk_search_bar_get_show_close_button(Xen bar)
-{
-  #define H_gtk_search_bar_get_show_close_button "gboolean gtk_search_bar_get_show_close_button(GtkSearchBar* bar)"
-  Xen_check_type(Xen_is_GtkSearchBar_(bar), bar, 1, "gtk_search_bar_get_show_close_button", "GtkSearchBar*");
-  return(C_to_Xen_gboolean(gtk_search_bar_get_show_close_button(Xen_to_C_GtkSearchBar_(bar))));
-}
-
-static Xen gxg_gtk_search_bar_set_show_close_button(Xen bar, Xen visible)
-{
-  #define H_gtk_search_bar_set_show_close_button "void gtk_search_bar_set_show_close_button(GtkSearchBar* bar, \
-gboolean visible)"
-  Xen_check_type(Xen_is_GtkSearchBar_(bar), bar, 1, "gtk_search_bar_set_show_close_button", "GtkSearchBar*");
-  Xen_check_type(Xen_is_gboolean(visible), visible, 2, "gtk_search_bar_set_show_close_button", "gboolean");
-  gtk_search_bar_set_show_close_button(Xen_to_C_GtkSearchBar_(bar), Xen_to_C_gboolean(visible));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_search_bar_handle_event(Xen bar, Xen event)
 {
   #define H_gtk_search_bar_handle_event "gboolean gtk_search_bar_handle_event(GtkSearchBar* bar, GdkEvent* event)"
@@ -28160,18 +26158,6 @@ int scale, GdkWindow* for_window)"
                                                                         Xen_to_C_GdkWindow_(for_window))));
 }
 
-static Xen gxg_gdk_device_get_position_double(Xen device, Xen ignore_screen, Xen ignore_x, Xen ignore_y)
-{
-  #define H_gdk_device_get_position_double "void gdk_device_get_position_double(GdkDevice* device, GdkScreen** [screen], \
-gdouble* [x], gdouble* [y])"
-  GdkScreen* ref_screen = NULL;
-  gdouble ref_x;
-  gdouble ref_y;
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 1, "gdk_device_get_position_double", "GdkDevice*");
-  gdk_device_get_position_double(Xen_to_C_GdkDevice_(device), &ref_screen, &ref_x, &ref_y);
-  return(Xen_list_3(C_to_Xen_GdkScreen_(ref_screen), C_to_Xen_gdouble(ref_x), C_to_Xen_gdouble(ref_y)));
-}
-
 static Xen gxg_gdk_device_get_window_at_position_double(Xen device, Xen ignore_win_x, Xen ignore_win_y)
 {
   #define H_gdk_device_get_window_at_position_double "GdkWindow* gdk_device_get_window_at_position_double(GdkDevice* device, \
@@ -28379,32 +26365,6 @@ GtkTreePath* path, GtkTreeIter* iter, gint* new_order, gint length)"
   return(Xen_false);
 }
 
-static Xen gxg_gdk_cursor_new_from_surface(Xen display, Xen surface, Xen x, Xen y)
-{
-  #define H_gdk_cursor_new_from_surface "GdkCursor* gdk_cursor_new_from_surface(GdkDisplay* display, \
-cairo_surface_t* surface, gdouble x, gdouble y)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_cursor_new_from_surface", "GdkDisplay*");
-  Xen_check_type(Xen_is_cairo_surface_t_(surface), surface, 2, "gdk_cursor_new_from_surface", "cairo_surface_t*");
-  Xen_check_type(Xen_is_gdouble(x), x, 3, "gdk_cursor_new_from_surface", "gdouble");
-  Xen_check_type(Xen_is_gdouble(y), y, 4, "gdk_cursor_new_from_surface", "gdouble");
-  return(C_to_Xen_GdkCursor_(gdk_cursor_new_from_surface(Xen_to_C_GdkDisplay_(display), Xen_to_C_cairo_surface_t_(surface), 
-                                                         Xen_to_C_gdouble(x), Xen_to_C_gdouble(y))));
-}
-
-static Xen gxg_gdk_cursor_get_surface(Xen cursor, Xen ignore_x_hot, Xen ignore_y_hot)
-{
-  #define H_gdk_cursor_get_surface "cairo_surface_t* gdk_cursor_get_surface(GdkCursor* cursor, gdouble* [x_hot], \
-gdouble* [y_hot])"
-  gdouble ref_x_hot;
-  gdouble ref_y_hot;
-  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_surface", "GdkCursor*");
-  {
-    Xen result;
-    result = C_to_Xen_cairo_surface_t_(gdk_cursor_get_surface(Xen_to_C_GdkCursor_(cursor), &ref_x_hot, &ref_y_hot));
-    return(Xen_list_3(result, C_to_Xen_gdouble(ref_x_hot), C_to_Xen_gdouble(ref_y_hot)));
-   }
-}
-
 static Xen gxg_gdk_event_get_event_type(Xen event)
 {
   #define H_gdk_event_get_event_type "GdkEventType gdk_event_get_event_type(GdkEvent* event)"
@@ -28428,23 +26388,6 @@ static Xen gxg_gtk_entry_get_tabs(Xen entry)
   return(C_to_Xen_PangoTabArray_(gtk_entry_get_tabs(Xen_to_C_GtkEntry_(entry))));
 }
 
-static Xen gxg_gtk_header_bar_get_show_close_button(Xen bar)
-{
-  #define H_gtk_header_bar_get_show_close_button "gboolean gtk_header_bar_get_show_close_button(GtkHeaderBar* bar)"
-  Xen_check_type(Xen_is_GtkHeaderBar_(bar), bar, 1, "gtk_header_bar_get_show_close_button", "GtkHeaderBar*");
-  return(C_to_Xen_gboolean(gtk_header_bar_get_show_close_button(Xen_to_C_GtkHeaderBar_(bar))));
-}
-
-static Xen gxg_gtk_header_bar_set_show_close_button(Xen bar, Xen setting)
-{
-  #define H_gtk_header_bar_set_show_close_button "void gtk_header_bar_set_show_close_button(GtkHeaderBar* bar, \
-gboolean setting)"
-  Xen_check_type(Xen_is_GtkHeaderBar_(bar), bar, 1, "gtk_header_bar_set_show_close_button", "GtkHeaderBar*");
-  Xen_check_type(Xen_is_gboolean(setting), setting, 2, "gtk_header_bar_set_show_close_button", "gboolean");
-  gtk_header_bar_set_show_close_button(Xen_to_C_GtkHeaderBar_(bar), Xen_to_C_gboolean(setting));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_list_box_prepend(Xen list_box, Xen child)
 {
   #define H_gtk_list_box_prepend "void gtk_list_box_prepend(GtkListBox* list_box, GtkWidget* child)"
@@ -28742,23 +26685,6 @@ static Xen gxg_gtk_flow_box_invalidate_sort(Xen box)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_window_set_event_compression(Xen window, Xen event_compression)
-{
-  #define H_gdk_window_set_event_compression "void gdk_window_set_event_compression(GdkWindow* window, \
-gboolean event_compression)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_set_event_compression", "GdkWindow*");
-  Xen_check_type(Xen_is_gboolean(event_compression), event_compression, 2, "gdk_window_set_event_compression", "gboolean");
-  gdk_window_set_event_compression(Xen_to_C_GdkWindow_(window), Xen_to_C_gboolean(event_compression));
-  return(Xen_false);
-}
-
-static Xen gxg_gdk_window_get_event_compression(Xen window)
-{
-  #define H_gdk_window_get_event_compression "gboolean gdk_window_get_event_compression(GdkWindow* window)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_get_event_compression", "GdkWindow*");
-  return(C_to_Xen_gboolean(gdk_window_get_event_compression(Xen_to_C_GdkWindow_(window))));
-}
-
 static Xen gxg_gtk_places_sidebar_set_local_only(Xen sidebar, Xen local_only)
 {
   #define H_gtk_places_sidebar_set_local_only "void gtk_places_sidebar_set_local_only(GtkPlacesSidebar* sidebar, \
@@ -29599,16 +27525,6 @@ int source_type, int buffer_scale, int x, int y, int width, int height)"
   return(Xen_false);
 }
 
-static Xen gxg_gdk_window_mark_paint_from_clip(Xen window, Xen cr)
-{
-  #define H_gdk_window_mark_paint_from_clip "void gdk_window_mark_paint_from_clip(GdkWindow* window, \
-cairo_t* cr)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_mark_paint_from_clip", "GdkWindow*");
-  Xen_check_type(Xen_is_cairo_t_(cr), cr, 2, "gdk_window_mark_paint_from_clip", "cairo_t*");
-  gdk_window_mark_paint_from_clip(Xen_to_C_GdkWindow_(window), Xen_to_C_cairo_t_(cr));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_label_set_xalign(Xen label, Xen xalign)
 {
   #define H_gtk_label_set_xalign "void gtk_label_set_xalign(GtkLabel* label, gfloat xalign)"
@@ -29960,20 +27876,6 @@ gdouble y, gdouble width, gdouble height)"
   return(Xen_false);
 }
 
-static Xen gxg_gtk_render_icon(Xen context, Xen cr, Xen pixbuf, Xen x, Xen y)
-{
-  #define H_gtk_render_icon "void gtk_render_icon(GtkStyleContext* context, cairo_t* cr, GdkPixbuf* pixbuf, \
-gdouble x, gdouble y)"
-  Xen_check_type(Xen_is_GtkStyleContext_(context), context, 1, "gtk_render_icon", "GtkStyleContext*");
-  Xen_check_type(Xen_is_cairo_t_(cr), cr, 2, "gtk_render_icon", "cairo_t*");
-  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 3, "gtk_render_icon", "GdkPixbuf*");
-  Xen_check_type(Xen_is_gdouble(x), x, 4, "gtk_render_icon", "gdouble");
-  Xen_check_type(Xen_is_gdouble(y), y, 5, "gtk_render_icon", "gdouble");
-  gtk_render_icon(Xen_to_C_GtkStyleContext_(context), Xen_to_C_cairo_t_(cr), Xen_to_C_GdkPixbuf_(pixbuf), Xen_to_C_gdouble(x), 
-                  Xen_to_C_gdouble(y));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_render_icon_surface(Xen context, Xen cr, Xen surface, Xen x, Xen y)
 {
   #define H_gtk_render_icon_surface "void gtk_render_icon_surface(GtkStyleContext* context, cairo_t* cr, \
@@ -30245,13 +28147,6 @@ static Xen gxg_gdk_gl_context_realize(Xen context, Xen ignore_error)
    }
 }
 
-static Xen gxg_gtk_clipboard_get_default(Xen display)
-{
-  #define H_gtk_clipboard_get_default "GtkClipboard* gtk_clipboard_get_default(GdkDisplay* display)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_clipboard_get_default", "GdkDisplay*");
-  return(C_to_Xen_GtkClipboard_(gtk_clipboard_get_default(Xen_to_C_GdkDisplay_(display))));
-}
-
 static Xen gxg_gtk_drag_cancel(Xen context)
 {
   #define H_gtk_drag_cancel "void gtk_drag_cancel(GdkDragContext* context)"
@@ -30544,27 +28439,6 @@ static Xen gxg_gtk_widget_get_font_map(Xen widget)
   return(C_to_Xen_PangoFontMap_(gtk_widget_get_font_map(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_window_fullscreen_on_monitor(Xen window, Xen monitor)
-{
-  #define H_gdk_window_fullscreen_on_monitor "void gdk_window_fullscreen_on_monitor(GdkWindow* window, \
-gint monitor)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_window_fullscreen_on_monitor", "GdkWindow*");
-  Xen_check_type(Xen_is_gint(monitor), monitor, 2, "gdk_window_fullscreen_on_monitor", "gint");
-  gdk_window_fullscreen_on_monitor(Xen_to_C_GdkWindow_(window), Xen_to_C_gint(monitor));
-  return(Xen_false);
-}
-
-static Xen gxg_gtk_window_fullscreen_on_monitor(Xen window, Xen screen, Xen monitor)
-{
-  #define H_gtk_window_fullscreen_on_monitor "void gtk_window_fullscreen_on_monitor(GtkWindow* window, \
-GdkScreen* screen, gint monitor)"
-  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_fullscreen_on_monitor", "GtkWindow*");
-  Xen_check_type(Xen_is_GdkScreen_(screen), screen, 2, "gtk_window_fullscreen_on_monitor", "GdkScreen*");
-  Xen_check_type(Xen_is_gint(monitor), monitor, 3, "gtk_window_fullscreen_on_monitor", "gint");
-  gtk_window_fullscreen_on_monitor(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkScreen_(screen), Xen_to_C_gint(monitor));
-  return(Xen_false);
-}
-
 static Xen gxg_gtk_text_view_set_top_margin(Xen text_view, Xen top_margin)
 {
   #define H_gtk_text_view_set_top_margin "void gtk_text_view_set_top_margin(GtkTextView* text_view, gint top_margin)"
@@ -30740,19 +28614,6 @@ static Xen gxg_gdk_display_list_seats(Xen display)
   return(C_to_Xen_GList_(gdk_display_list_seats(Xen_to_C_GdkDisplay_(display))));
 }
 
-static Xen gxg_gdk_drag_begin_from_point(Xen window, Xen device, Xen targets, Xen x_root, Xen y_root)
-{
-  #define H_gdk_drag_begin_from_point "GdkDragContext* gdk_drag_begin_from_point(GdkWindow* window, GdkDevice* device, \
-GList* targets, gint x_root, gint y_root)"
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_drag_begin_from_point", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gdk_drag_begin_from_point", "GdkDevice*");
-  Xen_check_type(Xen_is_GList_(targets), targets, 3, "gdk_drag_begin_from_point", "GList*");
-  Xen_check_type(Xen_is_gint(x_root), x_root, 4, "gdk_drag_begin_from_point", "gint");
-  Xen_check_type(Xen_is_gint(y_root), y_root, 5, "gdk_drag_begin_from_point", "gint");
-  return(C_to_Xen_GdkDragContext_(gdk_drag_begin_from_point(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkDevice_(device), Xen_to_C_GList_(targets), 
-                                                            Xen_to_C_gint(x_root), Xen_to_C_gint(y_root))));
-}
-
 static Xen gxg_gdk_drag_drop_done(Xen context, Xen success)
 {
   #define H_gdk_drag_drop_done "void gdk_drag_drop_done(GdkDragContext* context, gboolean success)"
@@ -30850,17 +28711,6 @@ static Xen gxg_gdk_seat_get_keyboard(Xen seat)
   return(C_to_Xen_GdkDevice_(gdk_seat_get_keyboard(Xen_to_C_GdkSeat_(seat))));
 }
 
-static Xen gxg_gdk_drag_context_manage_dnd(Xen context, Xen ipc_window, Xen actions)
-{
-  #define H_gdk_drag_context_manage_dnd "gboolean gdk_drag_context_manage_dnd(GdkDragContext* context, \
-GdkWindow* ipc_window, GdkDragAction actions)"
-  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_context_manage_dnd", "GdkDragContext*");
-  Xen_check_type(Xen_is_GdkWindow_(ipc_window), ipc_window, 2, "gdk_drag_context_manage_dnd", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 3, "gdk_drag_context_manage_dnd", "GdkDragAction");
-  return(C_to_Xen_gboolean(gdk_drag_context_manage_dnd(Xen_to_C_GdkDragContext_(context), Xen_to_C_GdkWindow_(ipc_window), 
-                                                       Xen_to_C_GdkDragAction(actions))));
-}
-
 static Xen gxg_gdk_event_is_scroll_stop_event(Xen event)
 {
   #define H_gdk_event_is_scroll_stop_event "gboolean gdk_event_is_scroll_stop_event(GdkEvent* event)"
@@ -30925,20 +28775,6 @@ static Xen gxg_gdk_gl_context_get_use_es(Xen context)
   return(C_to_Xen_gboolean(gdk_gl_context_get_use_es(Xen_to_C_GdkGLContext_(context))));
 }
 
-static Xen gxg_gdk_pango_context_get_for_display(Xen display)
-{
-  #define H_gdk_pango_context_get_for_display "PangoContext* gdk_pango_context_get_for_display(GdkDisplay* display)"
-  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_pango_context_get_for_display", "GdkDisplay*");
-  return(C_to_Xen_PangoContext_(gdk_pango_context_get_for_display(Xen_to_C_GdkDisplay_(display))));
-}
-
-static Xen gxg_gtk_clipboard_get_selection(Xen clipboard)
-{
-  #define H_gtk_clipboard_get_selection "GdkAtom gtk_clipboard_get_selection(GtkClipboard* clipboard)"
-  Xen_check_type(Xen_is_GtkClipboard_(clipboard), clipboard, 1, "gtk_clipboard_get_selection", "GtkClipboard*");
-  return(C_to_Xen_GdkAtom(gtk_clipboard_get_selection(Xen_to_C_GtkClipboard_(clipboard))));
-}
-
 static Xen gxg_gtk_gl_area_set_use_es(Xen area, Xen use_es)
 {
   #define H_gtk_gl_area_set_use_es "void gtk_gl_area_set_use_es(GtkGLArea* area, gboolean use_es)"
@@ -32010,360 +29846,2219 @@ static Xen gxg_gdk_event_set_keyval(Xen event, Xen keyval)
   return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_key_is_modifier(Xen event, Xen ignore_is_modifier)
+static Xen gxg_gdk_event_get_key_is_modifier(Xen event, Xen ignore_is_modifier)
+{
+  #define H_gdk_event_get_key_is_modifier "gboolean gdk_event_get_key_is_modifier(GdkEvent* event, gboolean* [is_modifier])"
+  gboolean ref_is_modifier;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_key_is_modifier", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_key_is_modifier(Xen_to_C_GdkEvent_(event), &ref_is_modifier));
+    return(Xen_list_2(result, C_to_Xen_gboolean(ref_is_modifier)));
+   }
+}
+
+static Xen gxg_gdk_event_get_key_group(Xen event, Xen ignore_group)
+{
+  #define H_gdk_event_get_key_group "gboolean gdk_event_get_key_group(GdkEvent* event, guint* [group])"
+  guint ref_group;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_key_group", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_key_group(Xen_to_C_GdkEvent_(event), &ref_group));
+    return(Xen_list_2(result, C_to_Xen_guint(ref_group)));
+   }
+}
+
+static Xen gxg_gdk_event_get_string(Xen event, Xen ignore_string)
+{
+  #define H_gdk_event_get_string "gboolean gdk_event_get_string(GdkEvent* event, char** [string])"
+  char* ref_string = NULL;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_string", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_string(Xen_to_C_GdkEvent_(event), (const char**)&ref_string));
+    return(Xen_list_2(result, C_to_Xen_char_(ref_string)));
+   }
+}
+
+static Xen gxg_gdk_event_get_setting(Xen event, Xen ignore_setting)
+{
+  #define H_gdk_event_get_setting "gboolean gdk_event_get_setting(GdkEvent* event, char** [setting])"
+  char* ref_setting = NULL;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_setting", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_setting(Xen_to_C_GdkEvent_(event), (const char**)&ref_setting));
+    return(Xen_list_2(result, C_to_Xen_char_(ref_setting)));
+   }
+}
+
+static Xen gxg_gdk_event_is_sent(Xen event)
+{
+  #define H_gdk_event_is_sent "gboolean gdk_event_is_sent(GdkEvent* event)"
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_is_sent", "GdkEvent*");
+  return(C_to_Xen_gboolean(gdk_event_is_sent(Xen_to_C_GdkEvent_(event))));
+}
+
+static Xen gxg_gdk_event_get_drag_context(Xen event, Xen ignore_context)
+{
+  #define H_gdk_event_get_drag_context "gboolean gdk_event_get_drag_context(GdkEvent* event, GdkDragContext** [context])"
+  GdkDragContext* ref_context = NULL;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_drag_context", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_drag_context(Xen_to_C_GdkEvent_(event), &ref_context));
+    return(Xen_list_2(result, C_to_Xen_GdkDragContext_(ref_context)));
+   }
+}
+
+static Xen gxg_gdk_event_get_crossing_mode(Xen event, Xen ignore_mode)
+{
+  #define H_gdk_event_get_crossing_mode "gboolean gdk_event_get_crossing_mode(GdkEvent* event, GdkCrossingMode* [mode])"
+  GdkCrossingMode ref_mode;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_crossing_mode", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_crossing_mode(Xen_to_C_GdkEvent_(event), &ref_mode));
+    return(Xen_list_2(result, C_to_Xen_GdkCrossingMode(ref_mode)));
+   }
+}
+
+static Xen gxg_gdk_event_get_crossing_detail(Xen event, Xen ignore_detail)
+{
+  #define H_gdk_event_get_crossing_detail "gboolean gdk_event_get_crossing_detail(GdkEvent* event, GdkNotifyType* [detail])"
+  GdkNotifyType ref_detail;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_crossing_detail", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_crossing_detail(Xen_to_C_GdkEvent_(event), &ref_detail));
+    return(Xen_list_2(result, C_to_Xen_GdkNotifyType(ref_detail)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touchpad_gesture_phase(Xen event, Xen ignore_phase)
+{
+  #define H_gdk_event_get_touchpad_gesture_phase "gboolean gdk_event_get_touchpad_gesture_phase(GdkEvent* event, \
+GdkTouchpadGesturePhase* [phase])"
+  GdkTouchpadGesturePhase ref_phase;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_gesture_phase", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touchpad_gesture_phase(Xen_to_C_GdkEvent_(event), &ref_phase));
+    return(Xen_list_2(result, C_to_Xen_GdkTouchpadGesturePhase(ref_phase)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touchpad_gesture_n_fingers(Xen event, Xen ignore_n_fingers)
+{
+  #define H_gdk_event_get_touchpad_gesture_n_fingers "gboolean gdk_event_get_touchpad_gesture_n_fingers(GdkEvent* event, \
+guint* [n_fingers])"
+  guint ref_n_fingers;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_gesture_n_fingers", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touchpad_gesture_n_fingers(Xen_to_C_GdkEvent_(event), &ref_n_fingers));
+    return(Xen_list_2(result, C_to_Xen_guint(ref_n_fingers)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touchpad_deltas(Xen event, Xen ignore_dx, Xen ignore_dy)
+{
+  #define H_gdk_event_get_touchpad_deltas "gboolean gdk_event_get_touchpad_deltas(GdkEvent* event, double* [dx], \
+double* [dy])"
+  double ref_dx;
+  double ref_dy;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_deltas", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touchpad_deltas(Xen_to_C_GdkEvent_(event), &ref_dx, &ref_dy));
+    return(Xen_list_3(result, C_to_Xen_double(ref_dx), C_to_Xen_double(ref_dy)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touchpad_angle_delta(Xen event, Xen ignore_delta)
+{
+  #define H_gdk_event_get_touchpad_angle_delta "gboolean gdk_event_get_touchpad_angle_delta(GdkEvent* event, \
+double* [delta])"
+  double ref_delta;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_angle_delta", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touchpad_angle_delta(Xen_to_C_GdkEvent_(event), &ref_delta));
+    return(Xen_list_2(result, C_to_Xen_double(ref_delta)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touchpad_scale(Xen event, Xen ignore_scale)
+{
+  #define H_gdk_event_get_touchpad_scale "gboolean gdk_event_get_touchpad_scale(GdkEvent* event, double* [scale])"
+  double ref_scale;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_scale", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touchpad_scale(Xen_to_C_GdkEvent_(event), &ref_scale));
+    return(Xen_list_2(result, C_to_Xen_double(ref_scale)));
+   }
+}
+
+static Xen gxg_gdk_event_get_touch_emulating_pointer(Xen event, Xen ignore_emulating)
+{
+  #define H_gdk_event_get_touch_emulating_pointer "gboolean gdk_event_get_touch_emulating_pointer(GdkEvent* event, \
+gboolean* [emulating])"
+  gboolean ref_emulating;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touch_emulating_pointer", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_touch_emulating_pointer(Xen_to_C_GdkEvent_(event), &ref_emulating));
+    return(Xen_list_2(result, C_to_Xen_gboolean(ref_emulating)));
+   }
+}
+
+static Xen gxg_gdk_event_get_grab_window(Xen event, Xen ignore_window)
+{
+  #define H_gdk_event_get_grab_window "gboolean gdk_event_get_grab_window(GdkEvent* event, GdkWindow** [window])"
+  GdkWindow* ref_window = NULL;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_grab_window", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_grab_window(Xen_to_C_GdkEvent_(event), &ref_window));
+    return(Xen_list_2(result, C_to_Xen_GdkWindow_(ref_window)));
+   }
+}
+
+static Xen gxg_gdk_event_get_focus_in(Xen event, Xen ignore_focus_in)
+{
+  #define H_gdk_event_get_focus_in "gboolean gdk_event_get_focus_in(GdkEvent* event, gboolean* [focus_in])"
+  gboolean ref_focus_in;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_focus_in", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_focus_in(Xen_to_C_GdkEvent_(event), &ref_focus_in));
+    return(Xen_list_2(result, C_to_Xen_gboolean(ref_focus_in)));
+   }
+}
+
+static Xen gxg_gdk_event_get_pad_group_mode(Xen event, Xen ignore_group, Xen ignore_mode)
+{
+  #define H_gdk_event_get_pad_group_mode "gboolean gdk_event_get_pad_group_mode(GdkEvent* event, guint* [group], \
+guint* [mode])"
+  guint ref_group;
+  guint ref_mode;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_group_mode", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_pad_group_mode(Xen_to_C_GdkEvent_(event), &ref_group, &ref_mode));
+    return(Xen_list_3(result, C_to_Xen_guint(ref_group), C_to_Xen_guint(ref_mode)));
+   }
+}
+
+static Xen gxg_gdk_event_get_pad_button(Xen event, Xen ignore_button)
+{
+  #define H_gdk_event_get_pad_button "gboolean gdk_event_get_pad_button(GdkEvent* event, guint* [button])"
+  guint ref_button;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_button", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_pad_button(Xen_to_C_GdkEvent_(event), &ref_button));
+    return(Xen_list_2(result, C_to_Xen_guint(ref_button)));
+   }
+}
+
+static Xen gxg_gdk_event_get_pad_axis_value(Xen event, Xen ignore_index, Xen ignore_value)
+{
+  #define H_gdk_event_get_pad_axis_value "gboolean gdk_event_get_pad_axis_value(GdkEvent* event, guint* [index], \
+gdouble* [value])"
+  guint ref_index;
+  gdouble ref_value;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_axis_value", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_pad_axis_value(Xen_to_C_GdkEvent_(event), &ref_index, &ref_value));
+    return(Xen_list_3(result, C_to_Xen_guint(ref_index), C_to_Xen_gdouble(ref_value)));
+   }
+}
+
+static Xen gxg_gdk_event_get_axes(Xen event, Xen ignore_axes, Xen ignore_n_axes)
+{
+  #define H_gdk_event_get_axes "gboolean gdk_event_get_axes(GdkEvent* event, gdouble** [axes], guint* [n_axes])"
+  gdouble* ref_axes = NULL;
+  guint ref_n_axes;
+  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_axes", "GdkEvent*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_event_get_axes(Xen_to_C_GdkEvent_(event), &ref_axes, &ref_n_axes));
+    return(Xen_list_3(result, C_to_Xen_gdouble_(ref_axes), C_to_Xen_guint(ref_n_axes)));
+   }
+}
+
+static Xen gxg_gtk_snapshot_push_blur(Xen snapshot, Xen radius, Xen name)
+{
+  #define H_gtk_snapshot_push_blur "void gtk_snapshot_push_blur(GtkSnapshot* snapshot, double radius, \
+char* name)"
+  Xen_check_type(Xen_is_GtkSnapshot_(snapshot), snapshot, 1, "gtk_snapshot_push_blur", "GtkSnapshot*");
+  Xen_check_type(Xen_is_double(radius), radius, 2, "gtk_snapshot_push_blur", "double");
+  Xen_check_type(Xen_is_char_(name), name, 3, "gtk_snapshot_push_blur", "char*");
+  gtk_snapshot_push_blur(Xen_to_C_GtkSnapshot_(snapshot), Xen_to_C_double(radius), (const char*)Xen_to_C_char_(name));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_emoji_chooser_new(void)
+{
+  #define H_gtk_emoji_chooser_new "GtkWidget* gtk_emoji_chooser_new( void)"
+  return(C_to_Xen_GtkWidget_(gtk_emoji_chooser_new()));
+}
+
+static Xen gxg_gtk_event_controller_scroll_new(Xen widget, Xen flags)
+{
+  #define H_gtk_event_controller_scroll_new "GtkEventController* gtk_event_controller_scroll_new(GtkWidget* widget, \
+GtkEventControllerScrollFlags flags)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_event_controller_scroll_new", "GtkWidget*");
+  Xen_check_type(Xen_is_GtkEventControllerScrollFlags(flags), flags, 2, "gtk_event_controller_scroll_new", "GtkEventControllerScrollFlags");
+  return(C_to_Xen_GtkEventController_(gtk_event_controller_scroll_new(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkEventControllerScrollFlags(flags))));
+}
+
+static Xen gxg_gtk_event_controller_scroll_set_flags(Xen controller, Xen flags)
+{
+  #define H_gtk_event_controller_scroll_set_flags "void gtk_event_controller_scroll_set_flags(GtkEventControllerScroll* controller, \
+GtkEventControllerScrollFlags flags)"
+  Xen_check_type(Xen_is_GtkEventControllerScroll_(controller), controller, 1, "gtk_event_controller_scroll_set_flags", "GtkEventControllerScroll*");
+  Xen_check_type(Xen_is_GtkEventControllerScrollFlags(flags), flags, 2, "gtk_event_controller_scroll_set_flags", "GtkEventControllerScrollFlags");
+  gtk_event_controller_scroll_set_flags(Xen_to_C_GtkEventControllerScroll_(controller), Xen_to_C_GtkEventControllerScrollFlags(flags));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_event_controller_scroll_get_flags(Xen controller)
+{
+  #define H_gtk_event_controller_scroll_get_flags "GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags(GtkEventControllerScroll* controller)"
+  Xen_check_type(Xen_is_GtkEventControllerScroll_(controller), controller, 1, "gtk_event_controller_scroll_get_flags", "GtkEventControllerScroll*");
+  return(C_to_Xen_GtkEventControllerScrollFlags(gtk_event_controller_scroll_get_flags(Xen_to_C_GtkEventControllerScroll_(controller))));
+}
+
+static Xen gxg_gdk_app_launch_context_set_desktop(Xen context, Xen desktop)
+{
+  #define H_gdk_app_launch_context_set_desktop "void gdk_app_launch_context_set_desktop(GdkAppLaunchContext* context, \
+gint desktop)"
+  Xen_check_type(Xen_is_GdkAppLaunchContext_(context), context, 1, "gdk_app_launch_context_set_desktop", "GdkAppLaunchContext*");
+  Xen_check_type(Xen_is_gint(desktop), desktop, 2, "gdk_app_launch_context_set_desktop", "gint");
+  gdk_app_launch_context_set_desktop(Xen_to_C_GdkAppLaunchContext_(context), Xen_to_C_gint(desktop));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_app_launch_context_set_timestamp(Xen context, Xen timestamp)
+{
+  #define H_gdk_app_launch_context_set_timestamp "void gdk_app_launch_context_set_timestamp(GdkAppLaunchContext* context, \
+guint32 timestamp)"
+  Xen_check_type(Xen_is_GdkAppLaunchContext_(context), context, 1, "gdk_app_launch_context_set_timestamp", "GdkAppLaunchContext*");
+  Xen_check_type(Xen_is_guint32(timestamp), timestamp, 2, "gdk_app_launch_context_set_timestamp", "guint32");
+  gdk_app_launch_context_set_timestamp(Xen_to_C_GdkAppLaunchContext_(context), Xen_to_C_guint32(timestamp));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_app_launch_context_set_icon(Xen context, Xen icon)
+{
+  #define H_gdk_app_launch_context_set_icon "void gdk_app_launch_context_set_icon(GdkAppLaunchContext* context, \
+GIcon* icon)"
+  Xen_check_type(Xen_is_GdkAppLaunchContext_(context), context, 1, "gdk_app_launch_context_set_icon", "GdkAppLaunchContext*");
+  Xen_check_type(Xen_is_GIcon_(icon), icon, 2, "gdk_app_launch_context_set_icon", "GIcon*");
+  gdk_app_launch_context_set_icon(Xen_to_C_GdkAppLaunchContext_(context), Xen_to_C_GIcon_(icon));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_app_launch_context_set_icon_name(Xen context, Xen icon_name)
+{
+  #define H_gdk_app_launch_context_set_icon_name "void gdk_app_launch_context_set_icon_name(GdkAppLaunchContext* context, \
+char* icon_name)"
+  Xen_check_type(Xen_is_GdkAppLaunchContext_(context), context, 1, "gdk_app_launch_context_set_icon_name", "GdkAppLaunchContext*");
+  Xen_check_type(Xen_is_char_(icon_name), icon_name, 2, "gdk_app_launch_context_set_icon_name", "char*");
+  gdk_app_launch_context_set_icon_name(Xen_to_C_GdkAppLaunchContext_(context), (const char*)Xen_to_C_char_(icon_name));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_get_display(Xen clipboard)
+{
+  #define H_gdk_clipboard_get_display "GdkDisplay* gdk_clipboard_get_display(GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_get_display", "GdkClipboard*");
+  return(C_to_Xen_GdkDisplay_(gdk_clipboard_get_display(Xen_to_C_GdkClipboard_(clipboard))));
+}
+
+static Xen gxg_gdk_clipboard_get_formats(Xen clipboard)
+{
+  #define H_gdk_clipboard_get_formats "GdkContentFormats* gdk_clipboard_get_formats(GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_get_formats", "GdkClipboard*");
+  return(C_to_Xen_GdkContentFormats_(gdk_clipboard_get_formats(Xen_to_C_GdkClipboard_(clipboard))));
+}
+
+static Xen gxg_gdk_clipboard_is_local(Xen clipboard)
+{
+  #define H_gdk_clipboard_is_local "gboolean gdk_clipboard_is_local(GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_is_local", "GdkClipboard*");
+  return(C_to_Xen_gboolean(gdk_clipboard_is_local(Xen_to_C_GdkClipboard_(clipboard))));
+}
+
+static Xen gxg_gdk_clipboard_get_content(Xen clipboard)
+{
+  #define H_gdk_clipboard_get_content "GdkContentProvider* gdk_clipboard_get_content(GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_get_content", "GdkClipboard*");
+  return(C_to_Xen_GdkContentProvider_(gdk_clipboard_get_content(Xen_to_C_GdkClipboard_(clipboard))));
+}
+
+static Xen gxg_gdk_clipboard_store_async(Xen clipboard, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_clipboard_store_async "void gdk_clipboard_store_async(GdkClipboard* clipboard, int io_priority, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_store_async", "GdkClipboard*");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 2, "gdk_clipboard_store_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 3, "gdk_clipboard_store_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 4, "gdk_clipboard_store_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 5, "gdk_clipboard_store_async", "gpointer");
+  gdk_clipboard_store_async(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_int(io_priority), Xen_to_C_GCancellable_(cancellable), 
+                            Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_store_finish(Xen clipboard, Xen result, Xen ignore_error)
+{
+  #define H_gdk_clipboard_store_finish "gboolean gdk_clipboard_store_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_store_finish", "GdkClipboard*");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 2, "gdk_clipboard_store_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_clipboard_store_finish(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GAsyncResult_(result), 
+                                                          &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_clipboard_read_async(Xen clipboard, Xen mime_types, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_clipboard_read_async "void gdk_clipboard_read_async(GdkClipboard* clipboard, char** mime_types, \
+int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_async", "GdkClipboard*");
+  Xen_check_type(Xen_is_char__(mime_types), mime_types, 2, "gdk_clipboard_read_async", "char**");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 3, "gdk_clipboard_read_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 4, "gdk_clipboard_read_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 5, "gdk_clipboard_read_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 6, "gdk_clipboard_read_async", "gpointer");
+  gdk_clipboard_read_async(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_char__(mime_types), Xen_to_C_int(io_priority), Xen_to_C_GCancellable_(cancellable), 
+                           Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_read_finish(Xen clipboard, Xen out_mime_type, Xen result, Xen ignore_error)
+{
+  #define H_gdk_clipboard_read_finish "GInputStream* gdk_clipboard_read_finish(GdkClipboard* clipboard, \
+har** out_mime_type, GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_finish", "GdkClipboard*");
+  Xen_check_type(Xen_is_har__(out_mime_type), out_mime_type, 2, "gdk_clipboard_read_finish", "har**");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 3, "gdk_clipboard_read_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_GInputStream_(gdk_clipboard_read_finish(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_har__(out_mime_type), 
+                                                              Xen_to_C_GAsyncResult_(result), &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_clipboard_read_value_async(Xen clipboard, Xen type, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_clipboard_read_value_async "void gdk_clipboard_read_value_async(GdkClipboard* clipboard, \
+GType type, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_value_async", "GdkClipboard*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_clipboard_read_value_async", "GType");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 3, "gdk_clipboard_read_value_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 4, "gdk_clipboard_read_value_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 5, "gdk_clipboard_read_value_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 6, "gdk_clipboard_read_value_async", "gpointer");
+  gdk_clipboard_read_value_async(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GType(type), Xen_to_C_int(io_priority), Xen_to_C_GCancellable_(cancellable), 
+                                 Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_read_value_finish(Xen clipboard, Xen result, Xen ignore_error)
+{
+  #define H_gdk_clipboard_read_value_finish "GValue* gdk_clipboard_read_value_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_value_finish", "GdkClipboard*");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 2, "gdk_clipboard_read_value_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_GValue_(gdk_clipboard_read_value_finish(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GAsyncResult_(result), 
+                                                              &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_clipboard_read_texture_async(Xen clipboard, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_clipboard_read_texture_async "void gdk_clipboard_read_texture_async(GdkClipboard* clipboard, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_texture_async", "GdkClipboard*");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 2, "gdk_clipboard_read_texture_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 3, "gdk_clipboard_read_texture_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 4, "gdk_clipboard_read_texture_async", "gpointer");
+  gdk_clipboard_read_texture_async(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GCancellable_(cancellable), Xen_to_C_GAsyncReadyCallback(callback), 
+                                   Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_read_texture_finish(Xen clipboard, Xen result, Xen ignore_error)
+{
+  #define H_gdk_clipboard_read_texture_finish "GdkTexture* gdk_clipboard_read_texture_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_texture_finish", "GdkClipboard*");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 2, "gdk_clipboard_read_texture_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_GdkTexture_(gdk_clipboard_read_texture_finish(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GAsyncResult_(result), 
+                                                                    &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_clipboard_read_text_async(Xen clipboard, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_clipboard_read_text_async "void gdk_clipboard_read_text_async(GdkClipboard* clipboard, \
+GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_text_async", "GdkClipboard*");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 2, "gdk_clipboard_read_text_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 3, "gdk_clipboard_read_text_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 4, "gdk_clipboard_read_text_async", "gpointer");
+  gdk_clipboard_read_text_async(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GCancellable_(cancellable), Xen_to_C_GAsyncReadyCallback(callback), 
+                                Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_read_text_finish(Xen clipboard, Xen result, Xen ignore_error)
+{
+  #define H_gdk_clipboard_read_text_finish "char* gdk_clipboard_read_text_finish(GdkClipboard* clipboard, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_read_text_finish", "GdkClipboard*");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 2, "gdk_clipboard_read_text_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_char_(gdk_clipboard_read_text_finish(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GAsyncResult_(result), 
+                                                           &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_clipboard_set_content(Xen clipboard, Xen provider)
+{
+  #define H_gdk_clipboard_set_content "gboolean gdk_clipboard_set_content(GdkClipboard* clipboard, GdkContentProvider* provider)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set_content", "GdkClipboard*");
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 2, "gdk_clipboard_set_content", "GdkContentProvider*");
+  return(C_to_Xen_gboolean(gdk_clipboard_set_content(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GdkContentProvider_(provider))));
+}
+
+static Xen gxg_gdk_clipboard_set(Xen clipboard, Xen type)
+{
+  #define H_gdk_clipboard_set "void gdk_clipboard_set(GdkClipboard* clipboard, GType type, ...)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set", "GdkClipboard*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_clipboard_set", "GType");
+  gdk_clipboard_set(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GType(type));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_set_valist(Xen clipboard, Xen type, Xen args)
+{
+  #define H_gdk_clipboard_set_valist "void gdk_clipboard_set_valist(GdkClipboard* clipboard, GType type, \
+va_list args)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set_valist", "GdkClipboard*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_clipboard_set_valist", "GType");
+  Xen_check_type(Xen_is_va_list(args), args, 3, "gdk_clipboard_set_valist", "va_list");
+  gdk_clipboard_set_valist(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GType(type), Xen_to_C_va_list(args));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_set_value(Xen clipboard, Xen value)
+{
+  #define H_gdk_clipboard_set_value "void gdk_clipboard_set_value(GdkClipboard* clipboard, GValue* value)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set_value", "GdkClipboard*");
+  Xen_check_type(Xen_is_GValue_(value), value, 2, "gdk_clipboard_set_value", "GValue*");
+  gdk_clipboard_set_value(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GValue_(value));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_set_text(Xen clipboard, Xen text)
+{
+  #define H_gdk_clipboard_set_text "void gdk_clipboard_set_text(GdkClipboard* clipboard, char* text)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set_text", "GdkClipboard*");
+  Xen_check_type(Xen_is_char_(text), text, 2, "gdk_clipboard_set_text", "char*");
+  gdk_clipboard_set_text(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_char_(text));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_clipboard_set_texture(Xen clipboard, Xen texture)
+{
+  #define H_gdk_clipboard_set_texture "void gdk_clipboard_set_texture(GdkClipboard* clipboard, GdkTexture* texture)"
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 1, "gdk_clipboard_set_texture", "GdkClipboard*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 2, "gdk_clipboard_set_texture", "GdkTexture*");
+  gdk_clipboard_set_texture(Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_GdkTexture_(texture));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_intern_mime_type(Xen string)
+{
+  #define H_gdk_intern_mime_type "char* gdk_intern_mime_type(char* string)"
+  Xen_check_type(Xen_is_char_(string), string, 1, "gdk_intern_mime_type", "char*");
+  return(C_to_Xen_char_(gdk_intern_mime_type((const char*)Xen_to_C_char_(string))));
+}
+
+static Xen gxg_gdk_content_formats_new(Xen mime_types, Xen n_mime_types)
+{
+  #define H_gdk_content_formats_new "GdkContentFormats* gdk_content_formats_new(char** mime_types, guint n_mime_types)"
+  Xen_check_type(Xen_is_char__(mime_types), mime_types, 1, "gdk_content_formats_new", "char**");
+  Xen_check_type(Xen_is_guint(n_mime_types), n_mime_types, 2, "gdk_content_formats_new", "guint");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_new(Xen_to_C_char__(mime_types), Xen_to_C_guint(n_mime_types))));
+}
+
+static Xen gxg_gdk_content_formats_new_for_gtype(Xen type)
+{
+  #define H_gdk_content_formats_new_for_gtype "GdkContentFormats* gdk_content_formats_new_for_gtype(GType type)"
+  Xen_check_type(Xen_is_GType(type), type, 1, "gdk_content_formats_new_for_gtype", "GType");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_new_for_gtype(Xen_to_C_GType(type))));
+}
+
+static Xen gxg_gdk_content_formats_ref(Xen formats)
+{
+  #define H_gdk_content_formats_ref "GdkContentFormats* gdk_content_formats_ref(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_ref", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_ref(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_formats_unref(Xen formats)
+{
+  #define H_gdk_content_formats_unref "void gdk_content_formats_unref(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_unref", "GdkContentFormats*");
+  gdk_content_formats_unref(Xen_to_C_GdkContentFormats_(formats));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_print(Xen formats, Xen string)
+{
+  #define H_gdk_content_formats_print "void gdk_content_formats_print(GdkContentFormats* formats, GString* string)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_print", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GString_(string), string, 2, "gdk_content_formats_print", "GString*");
+  gdk_content_formats_print(Xen_to_C_GdkContentFormats_(formats), Xen_to_C_GString_(string));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_to_string(Xen formats)
+{
+  #define H_gdk_content_formats_to_string "char* gdk_content_formats_to_string(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_to_string", "GdkContentFormats*");
+  return(C_to_Xen_char_(gdk_content_formats_to_string(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_formats_get_gtypes(Xen formats, Xen ignore_n_gtypes)
+{
+  #define H_gdk_content_formats_get_gtypes "GType* gdk_content_formats_get_gtypes(GdkContentFormats* formats, \
+gsize* [n_gtypes])"
+  gsize ref_n_gtypes;
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_get_gtypes", "GdkContentFormats*");
+  {
+    Xen result;
+    result = C_to_Xen_GType_(gdk_content_formats_get_gtypes(Xen_to_C_GdkContentFormats_(formats), &ref_n_gtypes));
+    return(Xen_list_2(result, C_to_Xen_gsize(ref_n_gtypes)));
+   }
+}
+
+static Xen gxg_gdk_content_formats_get_mime_types(Xen formats, Xen ignore_n_mime_types)
+{
+  #define H_gdk_content_formats_get_mime_types "char* gdk_content_formats_get_mime_types(GdkContentFormats* formats, \
+gsize* [n_mime_types])"
+  gsize ref_n_mime_types;
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_get_mime_types", "GdkContentFormats*");
+  {
+    Xen result;
+    result = C_to_Xen_char_(gdk_content_formats_get_mime_types(Xen_to_C_GdkContentFormats_(formats), &ref_n_mime_types));
+    return(Xen_list_2(result, C_to_Xen_gsize(ref_n_mime_types)));
+   }
+}
+
+static Xen gxg_gdk_content_formats_union(Xen first, Xen second)
+{
+  #define H_gdk_content_formats_union "GdkContentFormats* gdk_content_formats_union(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  Xen_check_type(Xen_is_GdkContentFormats_(first), first, 1, "gdk_content_formats_union", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkContentFormats_(second), second, 2, "gdk_content_formats_union", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_union(Xen_to_C_GdkContentFormats_(first), Xen_to_C_GdkContentFormats_(second))));
+}
+
+static Xen gxg_gdk_content_formats_match(Xen first, Xen second)
+{
+  #define H_gdk_content_formats_match "gboolean gdk_content_formats_match(GdkContentFormats* first, GdkContentFormats* second)"
+  Xen_check_type(Xen_is_GdkContentFormats_(first), first, 1, "gdk_content_formats_match", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkContentFormats_(second), second, 2, "gdk_content_formats_match", "GdkContentFormats*");
+  return(C_to_Xen_gboolean(gdk_content_formats_match(Xen_to_C_GdkContentFormats_(first), Xen_to_C_GdkContentFormats_(second))));
+}
+
+static Xen gxg_gdk_content_formats_match_gtype(Xen first, Xen second)
+{
+  #define H_gdk_content_formats_match_gtype "GType gdk_content_formats_match_gtype(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  Xen_check_type(Xen_is_GdkContentFormats_(first), first, 1, "gdk_content_formats_match_gtype", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkContentFormats_(second), second, 2, "gdk_content_formats_match_gtype", "GdkContentFormats*");
+  return(C_to_Xen_GType(gdk_content_formats_match_gtype(Xen_to_C_GdkContentFormats_(first), Xen_to_C_GdkContentFormats_(second))));
+}
+
+static Xen gxg_gdk_content_formats_match_mime_type(Xen first, Xen second)
+{
+  #define H_gdk_content_formats_match_mime_type "char* gdk_content_formats_match_mime_type(GdkContentFormats* first, \
+GdkContentFormats* second)"
+  Xen_check_type(Xen_is_GdkContentFormats_(first), first, 1, "gdk_content_formats_match_mime_type", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkContentFormats_(second), second, 2, "gdk_content_formats_match_mime_type", "GdkContentFormats*");
+    return(C_to_Xen_char_((char*)gdk_content_formats_match_mime_type(Xen_to_C_GdkContentFormats_(first), Xen_to_C_GdkContentFormats_(second))));
+}
+
+static Xen gxg_gdk_content_formats_contain_gtype(Xen formats, Xen type)
+{
+  #define H_gdk_content_formats_contain_gtype "gboolean gdk_content_formats_contain_gtype(GdkContentFormats* formats, \
+GType type)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_contain_gtype", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_content_formats_contain_gtype", "GType");
+  return(C_to_Xen_gboolean(gdk_content_formats_contain_gtype(Xen_to_C_GdkContentFormats_(formats), Xen_to_C_GType(type))));
+}
+
+static Xen gxg_gdk_content_formats_contain_mime_type(Xen formats, Xen mime_type)
+{
+  #define H_gdk_content_formats_contain_mime_type "gboolean gdk_content_formats_contain_mime_type(GdkContentFormats* formats, \
+char* mime_type)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_contain_mime_type", "GdkContentFormats*");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_formats_contain_mime_type", "char*");
+  return(C_to_Xen_gboolean(gdk_content_formats_contain_mime_type(Xen_to_C_GdkContentFormats_(formats), (const char*)Xen_to_C_char_(mime_type))));
+}
+
+static Xen gxg_*gdk_content_formats_builder_new(void)
+{
+  #define H_*gdk_content_formats_builder_new "GdkContentFormatsBuilder *gdk_content_formats_builder_new( void)"
+  return(C_to_Xen_GdkContentFormatsBuilder(*gdk_content_formats_builder_new()));
+}
+
+static Xen gxg_gdk_content_formats_builder_free(Xen builder)
+{
+  #define H_gdk_content_formats_builder_free "GdkContentFormats* gdk_content_formats_builder_free(GdkContentFormatsBuilder* builder)"
+  Xen_check_type(Xen_is_GdkContentFormatsBuilder_(builder), builder, 1, "gdk_content_formats_builder_free", "GdkContentFormatsBuilder*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_builder_free(Xen_to_C_GdkContentFormatsBuilder_(builder))));
+}
+
+static Xen gxg_gdk_content_formats_builder_add_formats(Xen builder, Xen formats)
+{
+  #define H_gdk_content_formats_builder_add_formats "void gdk_content_formats_builder_add_formats(GdkContentFormatsBuilder* builder, \
+GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormatsBuilder_(builder), builder, 1, "gdk_content_formats_builder_add_formats", "GdkContentFormatsBuilder*");
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 2, "gdk_content_formats_builder_add_formats", "GdkContentFormats*");
+  gdk_content_formats_builder_add_formats(Xen_to_C_GdkContentFormatsBuilder_(builder), Xen_to_C_GdkContentFormats_(formats));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_builder_add_mime_type(Xen builder, Xen mime_type)
+{
+  #define H_gdk_content_formats_builder_add_mime_type "void gdk_content_formats_builder_add_mime_type(GdkContentFormatsBuilder* builder, \
+char* mime_type)"
+  Xen_check_type(Xen_is_GdkContentFormatsBuilder_(builder), builder, 1, "gdk_content_formats_builder_add_mime_type", "GdkContentFormatsBuilder*");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_formats_builder_add_mime_type", "char*");
+  gdk_content_formats_builder_add_mime_type(Xen_to_C_GdkContentFormatsBuilder_(builder), (const char*)Xen_to_C_char_(mime_type));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_builder_add_gtype(Xen builder, Xen type)
+{
+  #define H_gdk_content_formats_builder_add_gtype "void gdk_content_formats_builder_add_gtype(GdkContentFormatsBuilder* builder, \
+GType type)"
+  Xen_check_type(Xen_is_GdkContentFormatsBuilder_(builder), builder, 1, "gdk_content_formats_builder_add_gtype", "GdkContentFormatsBuilder*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_content_formats_builder_add_gtype", "GType");
+  gdk_content_formats_builder_add_gtype(Xen_to_C_GdkContentFormatsBuilder_(builder), Xen_to_C_GType(type));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_provider_ref_formats(Xen provider)
+{
+  #define H_gdk_content_provider_ref_formats "GdkContentFormats* gdk_content_provider_ref_formats(GdkContentProvider* provider)"
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_ref_formats", "GdkContentProvider*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_provider_ref_formats(Xen_to_C_GdkContentProvider_(provider))));
+}
+
+static Xen gxg_gdk_content_provider_ref_storable_formats(Xen provider)
+{
+  #define H_gdk_content_provider_ref_storable_formats "GdkContentFormats* gdk_content_provider_ref_storable_formats(GdkContentProvider* provider)"
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_ref_storable_formats", "GdkContentProvider*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_provider_ref_storable_formats(Xen_to_C_GdkContentProvider_(provider))));
+}
+
+static Xen gxg_gdk_content_provider_content_changed(Xen provider)
+{
+  #define H_gdk_content_provider_content_changed "void gdk_content_provider_content_changed(GdkContentProvider* provider)"
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_content_changed", "GdkContentProvider*");
+  gdk_content_provider_content_changed(Xen_to_C_GdkContentProvider_(provider));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_provider_write_mime_type_async(Xen provider, Xen mime_type, Xen stream, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_content_provider_write_mime_type_async "void gdk_content_provider_write_mime_type_async(GdkContentProvider* provider, \
+char* mime_type, GOutputStream* stream, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, \
+gpointer user_data)"
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_write_mime_type_async", "GdkContentProvider*");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_provider_write_mime_type_async", "char*");
+  Xen_check_type(Xen_is_GOutputStream_(stream), stream, 3, "gdk_content_provider_write_mime_type_async", "GOutputStream*");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 4, "gdk_content_provider_write_mime_type_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 5, "gdk_content_provider_write_mime_type_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 6, "gdk_content_provider_write_mime_type_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 7, "gdk_content_provider_write_mime_type_async", "gpointer");
+  gdk_content_provider_write_mime_type_async(Xen_to_C_GdkContentProvider_(provider), (const char*)Xen_to_C_char_(mime_type), Xen_to_C_GOutputStream_(stream), 
+                                             Xen_to_C_int(io_priority), Xen_to_C_GCancellable_(cancellable), Xen_to_C_GAsyncReadyCallback(callback), 
+                                             Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_provider_write_mime_type_finish(Xen provider, Xen result, Xen ignore_error)
+{
+  #define H_gdk_content_provider_write_mime_type_finish "gboolean gdk_content_provider_write_mime_type_finish(GdkContentProvider* provider, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_write_mime_type_finish", "GdkContentProvider*");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 2, "gdk_content_provider_write_mime_type_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_content_provider_write_mime_type_finish(Xen_to_C_GdkContentProvider_(provider), Xen_to_C_GAsyncResult_(result), 
+                                                                           &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_content_provider_get_value(Xen provider, Xen value, Xen ignore_error)
+{
+  #define H_gdk_content_provider_get_value "gboolean gdk_content_provider_get_value(GdkContentProvider* provider, \
+GValue* value, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkContentProvider_(provider), provider, 1, "gdk_content_provider_get_value", "GdkContentProvider*");
+  Xen_check_type(Xen_is_GValue_(value), value, 2, "gdk_content_provider_get_value", "GValue*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_content_provider_get_value(Xen_to_C_GdkContentProvider_(provider), Xen_to_C_GValue_(value), 
+                                                              &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_content_serializer_get_mime_type(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_mime_type "char* gdk_content_serializer_get_mime_type(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_mime_type", "GdkContentSerializer*");
+    return(C_to_Xen_char_((char*)gdk_content_serializer_get_mime_type(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_get_value(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_value "GValue* gdk_content_serializer_get_value(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_value", "GdkContentSerializer*");
+    return(C_to_Xen_GValue_((GValue*)gdk_content_serializer_get_value(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_get_output_stream(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_output_stream "GOutputStream* gdk_content_serializer_get_output_stream(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_output_stream", "GdkContentSerializer*");
+  return(C_to_Xen_GOutputStream_(gdk_content_serializer_get_output_stream(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_get_priority(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_priority "int gdk_content_serializer_get_priority(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_priority", "GdkContentSerializer*");
+  return(C_to_Xen_int(gdk_content_serializer_get_priority(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_get_cancellable(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_cancellable "GCancellable* gdk_content_serializer_get_cancellable(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_cancellable", "GdkContentSerializer*");
+  return(C_to_Xen_GCancellable_(gdk_content_serializer_get_cancellable(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_get_user_data(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_user_data "gpointer gdk_content_serializer_get_user_data(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_user_data", "GdkContentSerializer*");
+  return(C_to_Xen_gpointer(gdk_content_serializer_get_user_data(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_set_task_data(Xen serializer, Xen data, Xen notify)
+{
+  #define H_gdk_content_serializer_set_task_data "void gdk_content_serializer_set_task_data(GdkContentSerializer* serializer, \
+gpointer data, GDestroyNotify notify)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_set_task_data", "GdkContentSerializer*");
+  Xen_check_type(Xen_is_gpointer(data), data, 2, "gdk_content_serializer_set_task_data", "gpointer");
+  Xen_check_type(Xen_is_GDestroyNotify(notify), notify, 3, "gdk_content_serializer_set_task_data", "GDestroyNotify");
+  gdk_content_serializer_set_task_data(Xen_to_C_GdkContentSerializer_(serializer), Xen_to_C_gpointer(data), Xen_to_C_GDestroyNotify(notify));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_serializer_get_task_data(Xen serializer)
+{
+  #define H_gdk_content_serializer_get_task_data "gpointer gdk_content_serializer_get_task_data(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_get_task_data", "GdkContentSerializer*");
+  return(C_to_Xen_gpointer(gdk_content_serializer_get_task_data(Xen_to_C_GdkContentSerializer_(serializer))));
+}
+
+static Xen gxg_gdk_content_serializer_return_success(Xen serializer)
+{
+  #define H_gdk_content_serializer_return_success "void gdk_content_serializer_return_success(GdkContentSerializer* serializer)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_return_success", "GdkContentSerializer*");
+  gdk_content_serializer_return_success(Xen_to_C_GdkContentSerializer_(serializer));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_serializer_return_error(Xen serializer, Xen error)
+{
+  #define H_gdk_content_serializer_return_error "void gdk_content_serializer_return_error(GdkContentSerializer* serializer, \
+GError* error)"
+  Xen_check_type(Xen_is_GdkContentSerializer_(serializer), serializer, 1, "gdk_content_serializer_return_error", "GdkContentSerializer*");
+  Xen_check_type(Xen_is_GError_(error), error, 2, "gdk_content_serializer_return_error", "GError*");
+  gdk_content_serializer_return_error(Xen_to_C_GdkContentSerializer_(serializer), Xen_to_C_GError_(error));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_union_serialize_gtypes(Xen formats)
+{
+  #define H_gdk_content_formats_union_serialize_gtypes "GdkContentFormats* gdk_content_formats_union_serialize_gtypes(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_union_serialize_gtypes", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_union_serialize_gtypes(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_formats_union_serialize_mime_types(Xen formats)
+{
+  #define H_gdk_content_formats_union_serialize_mime_types "GdkContentFormats* gdk_content_formats_union_serialize_mime_types(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_union_serialize_mime_types", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_union_serialize_mime_types(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_register_serializer(Xen type, Xen mime_type, Xen serialize, Xen data, Xen notify)
+{
+  #define H_gdk_content_register_serializer "void gdk_content_register_serializer(GType type, char* mime_type, \
+GdkContentSerializeFunc serialize, gpointer data, GDestroyNotify notify)"
+  Xen_check_type(Xen_is_GType(type), type, 1, "gdk_content_register_serializer", "GType");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_register_serializer", "char*");
+  Xen_check_type(Xen_is_GdkContentSerializeFunc(serialize), serialize, 3, "gdk_content_register_serializer", "GdkContentSerializeFunc");
+  Xen_check_type(Xen_is_gpointer(data), data, 4, "gdk_content_register_serializer", "gpointer");
+  Xen_check_type(Xen_is_GDestroyNotify(notify), notify, 5, "gdk_content_register_serializer", "GDestroyNotify");
+  gdk_content_register_serializer(Xen_to_C_GType(type), (const char*)Xen_to_C_char_(mime_type), Xen_to_C_GdkContentSerializeFunc(serialize), 
+                                  Xen_to_C_gpointer(data), Xen_to_C_GDestroyNotify(notify));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_serialize_async(Xen stream, Xen mime_type, Xen value, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_content_serialize_async "void gdk_content_serialize_async(GOutputStream* stream, char* mime_type, \
+GValue* value, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GOutputStream_(stream), stream, 1, "gdk_content_serialize_async", "GOutputStream*");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_serialize_async", "char*");
+  Xen_check_type(Xen_is_GValue_(value), value, 3, "gdk_content_serialize_async", "GValue*");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 4, "gdk_content_serialize_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 5, "gdk_content_serialize_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 6, "gdk_content_serialize_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 7, "gdk_content_serialize_async", "gpointer");
+  gdk_content_serialize_async(Xen_to_C_GOutputStream_(stream), (const char*)Xen_to_C_char_(mime_type), (const GValue*)Xen_to_C_GValue_(value), Xen_to_C_int(io_priority), 
+                              Xen_to_C_GCancellable_(cancellable), Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_serialize_finish(Xen result, Xen ignore_error)
+{
+  #define H_gdk_content_serialize_finish "gboolean gdk_content_serialize_finish(GAsyncResult* result, \
+GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 1, "gdk_content_serialize_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_content_serialize_finish(Xen_to_C_GAsyncResult_(result), &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_content_deserializer_get_mime_type(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_mime_type "char* gdk_content_deserializer_get_mime_type(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_mime_type", "GdkContentDeserializer*");
+    return(C_to_Xen_char_((char*)gdk_content_deserializer_get_mime_type(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_get_value(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_value "GValue* gdk_content_deserializer_get_value(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_value", "GdkContentDeserializer*");
+  return(C_to_Xen_GValue_(gdk_content_deserializer_get_value(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_get_input_stream(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_input_stream "GInputStream* gdk_content_deserializer_get_input_stream(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_input_stream", "GdkContentDeserializer*");
+  return(C_to_Xen_GInputStream_(gdk_content_deserializer_get_input_stream(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_get_priority(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_priority "int gdk_content_deserializer_get_priority(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_priority", "GdkContentDeserializer*");
+  return(C_to_Xen_int(gdk_content_deserializer_get_priority(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_get_cancellable(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_cancellable "GCancellable* gdk_content_deserializer_get_cancellable(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_cancellable", "GdkContentDeserializer*");
+  return(C_to_Xen_GCancellable_(gdk_content_deserializer_get_cancellable(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_get_user_data(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_user_data "gpointer gdk_content_deserializer_get_user_data(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_user_data", "GdkContentDeserializer*");
+  return(C_to_Xen_gpointer(gdk_content_deserializer_get_user_data(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_set_task_data(Xen deserializer, Xen data, Xen notify)
+{
+  #define H_gdk_content_deserializer_set_task_data "void gdk_content_deserializer_set_task_data(GdkContentDeserializer* deserializer, \
+gpointer data, GDestroyNotify notify)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_set_task_data", "GdkContentDeserializer*");
+  Xen_check_type(Xen_is_gpointer(data), data, 2, "gdk_content_deserializer_set_task_data", "gpointer");
+  Xen_check_type(Xen_is_GDestroyNotify(notify), notify, 3, "gdk_content_deserializer_set_task_data", "GDestroyNotify");
+  gdk_content_deserializer_set_task_data(Xen_to_C_GdkContentDeserializer_(deserializer), Xen_to_C_gpointer(data), Xen_to_C_GDestroyNotify(notify));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_deserializer_get_task_data(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_get_task_data "gpointer gdk_content_deserializer_get_task_data(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_get_task_data", "GdkContentDeserializer*");
+  return(C_to_Xen_gpointer(gdk_content_deserializer_get_task_data(Xen_to_C_GdkContentDeserializer_(deserializer))));
+}
+
+static Xen gxg_gdk_content_deserializer_return_success(Xen deserializer)
+{
+  #define H_gdk_content_deserializer_return_success "void gdk_content_deserializer_return_success(GdkContentDeserializer* deserializer)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_return_success", "GdkContentDeserializer*");
+  gdk_content_deserializer_return_success(Xen_to_C_GdkContentDeserializer_(deserializer));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_deserializer_return_error(Xen deserializer, Xen error)
+{
+  #define H_gdk_content_deserializer_return_error "void gdk_content_deserializer_return_error(GdkContentDeserializer* deserializer, \
+GError* error)"
+  Xen_check_type(Xen_is_GdkContentDeserializer_(deserializer), deserializer, 1, "gdk_content_deserializer_return_error", "GdkContentDeserializer*");
+  Xen_check_type(Xen_is_GError_(error), error, 2, "gdk_content_deserializer_return_error", "GError*");
+  gdk_content_deserializer_return_error(Xen_to_C_GdkContentDeserializer_(deserializer), Xen_to_C_GError_(error));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_formats_union_deserialize_gtypes(Xen formats)
+{
+  #define H_gdk_content_formats_union_deserialize_gtypes "GdkContentFormats* gdk_content_formats_union_deserialize_gtypes(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_union_deserialize_gtypes", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_union_deserialize_gtypes(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_formats_union_deserialize_mime_types(Xen formats)
+{
+  #define H_gdk_content_formats_union_deserialize_mime_types "GdkContentFormats* gdk_content_formats_union_deserialize_mime_types(GdkContentFormats* formats)"
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 1, "gdk_content_formats_union_deserialize_mime_types", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gdk_content_formats_union_deserialize_mime_types(Xen_to_C_GdkContentFormats_(formats))));
+}
+
+static Xen gxg_gdk_content_register_deserializer(Xen mime_type, Xen type, Xen deserialize, Xen data, Xen notify)
+{
+  #define H_gdk_content_register_deserializer "void gdk_content_register_deserializer(char* mime_type, \
+GType type, GdkContentDeserializeFunc deserialize, gpointer data, GDestroyNotify notify)"
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 1, "gdk_content_register_deserializer", "char*");
+  Xen_check_type(Xen_is_GType(type), type, 2, "gdk_content_register_deserializer", "GType");
+  Xen_check_type(Xen_is_GdkContentDeserializeFunc(deserialize), deserialize, 3, "gdk_content_register_deserializer", "GdkContentDeserializeFunc");
+  Xen_check_type(Xen_is_gpointer(data), data, 4, "gdk_content_register_deserializer", "gpointer");
+  Xen_check_type(Xen_is_GDestroyNotify(notify), notify, 5, "gdk_content_register_deserializer", "GDestroyNotify");
+  gdk_content_register_deserializer(Xen_to_C_char_(mime_type), Xen_to_C_GType(type), Xen_to_C_GdkContentDeserializeFunc(deserialize), 
+                                    Xen_to_C_gpointer(data), Xen_to_C_GDestroyNotify(notify));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_deserialize_async(Xen stream, Xen mime_type, Xen type, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_content_deserialize_async "void gdk_content_deserialize_async(GInputStream* stream, char* mime_type, \
+GType type, int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GInputStream_(stream), stream, 1, "gdk_content_deserialize_async", "GInputStream*");
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 2, "gdk_content_deserialize_async", "char*");
+  Xen_check_type(Xen_is_GType(type), type, 3, "gdk_content_deserialize_async", "GType");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 4, "gdk_content_deserialize_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 5, "gdk_content_deserialize_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 6, "gdk_content_deserialize_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 7, "gdk_content_deserialize_async", "gpointer");
+  gdk_content_deserialize_async(Xen_to_C_GInputStream_(stream), Xen_to_C_char_(mime_type), Xen_to_C_GType(type), Xen_to_C_int(io_priority), 
+                                Xen_to_C_GCancellable_(cancellable), Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_content_deserialize_finish(Xen result, Xen value, Xen ignore_error)
+{
+  #define H_gdk_content_deserialize_finish "gboolean gdk_content_deserialize_finish(GAsyncResult* result, \
+GValue* value, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 1, "gdk_content_deserialize_finish", "GAsyncResult*");
+  Xen_check_type(Xen_is_GValue_(value), value, 2, "gdk_content_deserialize_finish", "GValue*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_content_deserialize_finish(Xen_to_C_GAsyncResult_(result), Xen_to_C_GValue_(value), &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_content_provider_new_for_value(Xen value)
+{
+  #define H_gdk_content_provider_new_for_value "GdkContentProvider* gdk_content_provider_new_for_value(GValue* value)"
+  Xen_check_type(Xen_is_GValue_(value), value, 1, "gdk_content_provider_new_for_value", "GValue*");
+  return(C_to_Xen_GdkContentProvider_(gdk_content_provider_new_for_value(Xen_to_C_GValue_(value))));
+}
+
+static Xen gxg_gdk_content_provider_new_for_bytes(Xen mime_type, Xen bytes)
+{
+  #define H_gdk_content_provider_new_for_bytes "GdkContentProvider* gdk_content_provider_new_for_bytes(char* mime_type, \
+GBytes* bytes)"
+  Xen_check_type(Xen_is_char_(mime_type), mime_type, 1, "gdk_content_provider_new_for_bytes", "char*");
+  Xen_check_type(Xen_is_GBytes_(bytes), bytes, 2, "gdk_content_provider_new_for_bytes", "GBytes*");
+  return(C_to_Xen_GdkContentProvider_(gdk_content_provider_new_for_bytes((const char*)Xen_to_C_char_(mime_type), Xen_to_C_GBytes_(bytes))));
+}
+
+static Xen gxg_gtk_event_controller_motion_new(Xen widget)
+{
+  #define H_gtk_event_controller_motion_new "GtkEventController* gtk_event_controller_motion_new(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_event_controller_motion_new", "GtkWidget*");
+  return(C_to_Xen_GtkEventController_(gtk_event_controller_motion_new(Xen_to_C_GtkWidget_(widget))));
+}
+
+static Xen gxg_gdk_texture_new_for_data(Xen data, Xen width, Xen height, Xen stride)
+{
+  #define H_gdk_texture_new_for_data "GdkTexture* gdk_texture_new_for_data(guchar* data, int width, int height, \
+int stride)"
+  Xen_check_type(Xen_is_guchar_(data), data, 1, "gdk_texture_new_for_data", "guchar*");
+  Xen_check_type(Xen_is_int(width), width, 2, "gdk_texture_new_for_data", "int");
+  Xen_check_type(Xen_is_int(height), height, 3, "gdk_texture_new_for_data", "int");
+  Xen_check_type(Xen_is_int(stride), stride, 4, "gdk_texture_new_for_data", "int");
+  return(C_to_Xen_GdkTexture_(gdk_texture_new_for_data(Xen_to_C_guchar_(data), Xen_to_C_int(width), Xen_to_C_int(height), 
+                                                       Xen_to_C_int(stride))));
+}
+
+static Xen gxg_gdk_texture_new_for_pixbuf(Xen pixbuf)
+{
+  #define H_gdk_texture_new_for_pixbuf "GdkTexture* gdk_texture_new_for_pixbuf(GdkPixbuf* pixbuf)"
+  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 1, "gdk_texture_new_for_pixbuf", "GdkPixbuf*");
+  return(C_to_Xen_GdkTexture_(gdk_texture_new_for_pixbuf(Xen_to_C_GdkPixbuf_(pixbuf))));
+}
+
+static Xen gxg_gdk_texture_new_from_resource(Xen resource_path)
+{
+  #define H_gdk_texture_new_from_resource "GdkTexture* gdk_texture_new_from_resource(char* resource_path)"
+  Xen_check_type(Xen_is_char_(resource_path), resource_path, 1, "gdk_texture_new_from_resource", "char*");
+  return(C_to_Xen_GdkTexture_(gdk_texture_new_from_resource((const char*)Xen_to_C_char_(resource_path))));
+}
+
+static Xen gxg_gdk_texture_new_from_file(Xen file, Xen ignore_error)
+{
+  #define H_gdk_texture_new_from_file "GdkTexture* gdk_texture_new_from_file(GFile* file, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GFile_(file), file, 1, "gdk_texture_new_from_file", "GFile*");
+  {
+    Xen result;
+    result = C_to_Xen_GdkTexture_(gdk_texture_new_from_file(Xen_to_C_GFile_(file), &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_texture_get_width(Xen texture)
+{
+  #define H_gdk_texture_get_width "int gdk_texture_get_width(GdkTexture* texture)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gdk_texture_get_width", "GdkTexture*");
+  return(C_to_Xen_int(gdk_texture_get_width(Xen_to_C_GdkTexture_(texture))));
+}
+
+static Xen gxg_gdk_texture_get_height(Xen texture)
+{
+  #define H_gdk_texture_get_height "int gdk_texture_get_height(GdkTexture* texture)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gdk_texture_get_height", "GdkTexture*");
+  return(C_to_Xen_int(gdk_texture_get_height(Xen_to_C_GdkTexture_(texture))));
+}
+
+static Xen gxg_gdk_texture_download(Xen texture, Xen data, Xen stride)
+{
+  #define H_gdk_texture_download "void gdk_texture_download(GdkTexture* texture, guchar* data, gsize stride)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gdk_texture_download", "GdkTexture*");
+  Xen_check_type(Xen_is_guchar_(data), data, 2, "gdk_texture_download", "guchar*");
+  Xen_check_type(Xen_is_gsize(stride), stride, 3, "gdk_texture_download", "gsize");
+  gdk_texture_download(Xen_to_C_GdkTexture_(texture), Xen_to_C_guchar_(data), Xen_to_C_gsize(stride));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_cursor_new_from_texture(Xen texture, Xen hotspot_x, Xen hotspot_y, Xen fallback)
+{
+  #define H_gdk_cursor_new_from_texture "GdkCursor* gdk_cursor_new_from_texture(GdkTexture* texture, \
+int hotspot_x, int hotspot_y, GdkCursor* fallback)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gdk_cursor_new_from_texture", "GdkTexture*");
+  Xen_check_type(Xen_is_int(hotspot_x), hotspot_x, 2, "gdk_cursor_new_from_texture", "int");
+  Xen_check_type(Xen_is_int(hotspot_y), hotspot_y, 3, "gdk_cursor_new_from_texture", "int");
+  Xen_check_type(Xen_is_GdkCursor_(fallback), fallback, 4, "gdk_cursor_new_from_texture", "GdkCursor*");
+  return(C_to_Xen_GdkCursor_(gdk_cursor_new_from_texture(Xen_to_C_GdkTexture_(texture), Xen_to_C_int(hotspot_x), Xen_to_C_int(hotspot_y), 
+                                                         Xen_to_C_GdkCursor_(fallback))));
+}
+
+static Xen gxg_gdk_cursor_new_from_name(Xen name, Xen fallback)
+{
+  #define H_gdk_cursor_new_from_name "GdkCursor* gdk_cursor_new_from_name(gchar* name, GdkCursor* fallback)"
+  Xen_check_type(Xen_is_gchar_(name), name, 1, "gdk_cursor_new_from_name", "gchar*");
+  Xen_check_type(Xen_is_GdkCursor_(fallback), fallback, 2, "gdk_cursor_new_from_name", "GdkCursor*");
+  return(C_to_Xen_GdkCursor_(gdk_cursor_new_from_name((const gchar*)Xen_to_C_gchar_(name), Xen_to_C_GdkCursor_(fallback))));
+}
+
+static Xen gxg_gdk_cursor_get_fallback(Xen cursor)
+{
+  #define H_gdk_cursor_get_fallback "GdkCursor* gdk_cursor_get_fallback(GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_fallback", "GdkCursor*");
+  return(C_to_Xen_GdkCursor_(gdk_cursor_get_fallback(Xen_to_C_GdkCursor_(cursor))));
+}
+
+static Xen gxg_gdk_cursor_get_name(Xen cursor)
+{
+  #define H_gdk_cursor_get_name "char* gdk_cursor_get_name(GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_name", "GdkCursor*");
+  return(C_to_Xen_char_(gdk_cursor_get_name(Xen_to_C_GdkCursor_(cursor))));
+}
+
+static Xen gxg_gdk_cursor_get_texture(Xen cursor)
+{
+  #define H_gdk_cursor_get_texture "GdkTexture* gdk_cursor_get_texture(GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_texture", "GdkCursor*");
+  return(C_to_Xen_GdkTexture_(gdk_cursor_get_texture(Xen_to_C_GdkCursor_(cursor))));
+}
+
+static Xen gxg_gdk_cursor_get_hotspot_x(Xen cursor)
+{
+  #define H_gdk_cursor_get_hotspot_x "int gdk_cursor_get_hotspot_x(GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_hotspot_x", "GdkCursor*");
+  return(C_to_Xen_int(gdk_cursor_get_hotspot_x(Xen_to_C_GdkCursor_(cursor))));
+}
+
+static Xen gxg_gdk_cursor_get_hotspot_y(Xen cursor)
+{
+  #define H_gdk_cursor_get_hotspot_y "int gdk_cursor_get_hotspot_y(GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 1, "gdk_cursor_get_hotspot_y", "GdkCursor*");
+  return(C_to_Xen_int(gdk_cursor_get_hotspot_y(Xen_to_C_GdkCursor_(cursor))));
+}
+
+static Xen gxg_gdk_device_get_position(Xen device, Xen ignore_x, Xen ignore_y)
+{
+  #define H_gdk_device_get_position "void gdk_device_get_position(GdkDevice* device, gint* [x], gint* [y])"
+  gint ref_x;
+  gint ref_y;
+  Xen_check_type(Xen_is_GdkDevice_(device), device, 1, "gdk_device_get_position", "GdkDevice*");
+  gdk_device_get_position(Xen_to_C_GdkDevice_(device), &ref_x, &ref_y);
+  return(Xen_list_2(C_to_Xen_gint(ref_x), C_to_Xen_gint(ref_y)));
+}
+
+static Xen gxg_gdk_device_get_position_double(Xen device, Xen ignore_x, Xen ignore_y)
+{
+  #define H_gdk_device_get_position_double "void gdk_device_get_position_double(GdkDevice* device, gdouble* [x], \
+gdouble* [y])"
+  gdouble ref_x;
+  gdouble ref_y;
+  Xen_check_type(Xen_is_GdkDevice_(device), device, 1, "gdk_device_get_position_double", "GdkDevice*");
+  gdk_device_get_position_double(Xen_to_C_GdkDevice_(device), &ref_x, &ref_y);
+  return(Xen_list_2(C_to_Xen_gdouble(ref_x), C_to_Xen_gdouble(ref_y)));
+}
+
+static Xen gxg_gdk_display_get_clipboard(Xen display)
+{
+  #define H_gdk_display_get_clipboard "GdkClipboard* gdk_display_get_clipboard(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_get_clipboard", "GdkDisplay*");
+  return(C_to_Xen_GdkClipboard_(gdk_display_get_clipboard(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gdk_display_get_primary_clipboard(Xen display)
+{
+  #define H_gdk_display_get_primary_clipboard "GdkClipboard* gdk_display_get_primary_clipboard(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_get_primary_clipboard", "GdkDisplay*");
+  return(C_to_Xen_GdkClipboard_(gdk_display_get_primary_clipboard(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gdk_display_get_keymap(Xen display)
+{
+  #define H_gdk_display_get_keymap "GdkKeymap* gdk_display_get_keymap(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_get_keymap", "GdkDisplay*");
+  return(C_to_Xen_GdkKeymap_(gdk_display_get_keymap(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gdk_display_get_setting(Xen display, Xen name, Xen ignore_value)
+{
+  #define H_gdk_display_get_setting "gboolean gdk_display_get_setting(GdkDisplay* display, char* name, \
+GValue* [value])"
+  GValue ref_value;
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gdk_display_get_setting", "GdkDisplay*");
+  Xen_check_type(Xen_is_char_(name), name, 2, "gdk_display_get_setting", "char*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gdk_display_get_setting(Xen_to_C_GdkDisplay_(display), (const char*)Xen_to_C_char_(name), (const GValue*)&ref_value));
+    return(Xen_list_2(result, C_to_Xen_GValue(ref_value)));
+   }
+}
+
+static Xen gxg_gdk_drag_context_get_display(Xen context)
+{
+  #define H_gdk_drag_context_get_display "GdkDisplay* gdk_drag_context_get_display(GdkDragContext* context)"
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_context_get_display", "GdkDragContext*");
+  return(C_to_Xen_GdkDisplay_(gdk_drag_context_get_display(Xen_to_C_GdkDragContext_(context))));
+}
+
+static Xen gxg_gdk_drag_context_get_formats(Xen context)
+{
+  #define H_gdk_drag_context_get_formats "GdkContentFormats* gdk_drag_context_get_formats(GdkDragContext* context)"
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drag_context_get_formats", "GdkDragContext*");
+  return(C_to_Xen_GdkContentFormats_(gdk_drag_context_get_formats(Xen_to_C_GdkDragContext_(context))));
+}
+
+static Xen gxg_gdk_drop_read_async(Xen context, Xen mime_types, Xen io_priority, Xen cancellable, Xen callback, Xen user_data)
+{
+  #define H_gdk_drop_read_async "void gdk_drop_read_async(GdkDragContext* context, char** mime_types, \
+int io_priority, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data)"
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drop_read_async", "GdkDragContext*");
+  Xen_check_type(Xen_is_char__(mime_types), mime_types, 2, "gdk_drop_read_async", "char**");
+  Xen_check_type(Xen_is_int(io_priority), io_priority, 3, "gdk_drop_read_async", "int");
+  Xen_check_type(Xen_is_GCancellable_(cancellable), cancellable, 4, "gdk_drop_read_async", "GCancellable*");
+  Xen_check_type(Xen_is_GAsyncReadyCallback(callback), callback, 5, "gdk_drop_read_async", "GAsyncReadyCallback");
+  Xen_check_type(Xen_is_gpointer(user_data), user_data, 6, "gdk_drop_read_async", "gpointer");
+  gdk_drop_read_async(Xen_to_C_GdkDragContext_(context), Xen_to_C_char__(mime_types), Xen_to_C_int(io_priority), Xen_to_C_GCancellable_(cancellable), 
+                      Xen_to_C_GAsyncReadyCallback(callback), Xen_to_C_gpointer(user_data));
+  return(Xen_false);
+}
+
+static Xen gxg_gdk_drop_read_finish(Xen context, Xen out_mime_type, Xen result, Xen ignore_error)
+{
+  #define H_gdk_drop_read_finish "GInputStream* gdk_drop_read_finish(GdkDragContext* context, char** out_mime_type, \
+GAsyncResult* result, GError** [error])"
+  GError* ref_error = NULL;
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gdk_drop_read_finish", "GdkDragContext*");
+  Xen_check_type(Xen_is_char__(out_mime_type), out_mime_type, 2, "gdk_drop_read_finish", "char**");
+  Xen_check_type(Xen_is_GAsyncResult_(result), result, 3, "gdk_drop_read_finish", "GAsyncResult*");
+  {
+    Xen result;
+    result = C_to_Xen_GInputStream_(gdk_drop_read_finish(Xen_to_C_GdkDragContext_(context), Xen_to_C_char__(out_mime_type), 
+                                                         Xen_to_C_GAsyncResult_(result), &ref_error));
+    return(Xen_list_2(result, C_to_Xen_GError_(ref_error)));
+   }
+}
+
+static Xen gxg_gdk_drag_begin(Xen window, Xen device, Xen content, Xen actions, Xen dx, Xen dy)
+{
+  #define H_gdk_drag_begin "GdkDragContext* gdk_drag_begin(GdkWindow* window, GdkDevice* device, GdkContentProvider* content, \
+GdkDragAction actions, gint dx, gint dy)"
+  Xen_check_type(Xen_is_GdkWindow_(window), window, 1, "gdk_drag_begin", "GdkWindow*");
+  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gdk_drag_begin", "GdkDevice*");
+  Xen_check_type(Xen_is_GdkContentProvider_(content), content, 3, "gdk_drag_begin", "GdkContentProvider*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gdk_drag_begin", "GdkDragAction");
+  Xen_check_type(Xen_is_gint(dx), dx, 5, "gdk_drag_begin", "gint");
+  Xen_check_type(Xen_is_gint(dy), dy, 6, "gdk_drag_begin", "gint");
+  return(C_to_Xen_GdkDragContext_(gdk_drag_begin(Xen_to_C_GdkWindow_(window), Xen_to_C_GdkDevice_(device), Xen_to_C_GdkContentProvider_(content), 
+                                                 Xen_to_C_GdkDragAction(actions), Xen_to_C_gint(dx), Xen_to_C_gint(dy))));
+}
+
+static Xen gxg_gdk_monitor_is_valid(Xen monitor)
+{
+  #define H_gdk_monitor_is_valid "gboolean gdk_monitor_is_valid(GdkMonitor* monitor)"
+  Xen_check_type(Xen_is_GdkMonitor_(monitor), monitor, 1, "gdk_monitor_is_valid", "GdkMonitor*");
+  return(C_to_Xen_gboolean(gdk_monitor_is_valid(Xen_to_C_GdkMonitor_(monitor))));
+}
+
+static Xen gxg_gdk_seat_get_master_pointers(Xen seat, Xen capabilities)
+{
+  #define H_gdk_seat_get_master_pointers "GList* gdk_seat_get_master_pointers(GdkSeat* seat, GdkSeatCapabilities capabilities)"
+  Xen_check_type(Xen_is_GdkSeat_(seat), seat, 1, "gdk_seat_get_master_pointers", "GdkSeat*");
+  Xen_check_type(Xen_is_GdkSeatCapabilities(capabilities), capabilities, 2, "gdk_seat_get_master_pointers", "GdkSeatCapabilities");
+  return(C_to_Xen_GList_(gdk_seat_get_master_pointers(Xen_to_C_GdkSeat_(seat), Xen_to_C_GdkSeatCapabilities(capabilities))));
+}
+
+static Xen gxg_gtk_drag_begin_with_coordinates(Xen widget, Xen device, Xen targets, Xen actions, Xen x, Xen y)
+{
+  #define H_gtk_drag_begin_with_coordinates "GdkDragContext* gtk_drag_begin_with_coordinates(GtkWidget* widget, \
+GdkDevice* device, GdkContentFormats* targets, GdkDragAction actions, gint x, gint y)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_begin_with_coordinates", "GtkWidget*");
+  Xen_check_type(Xen_is_GdkDevice_(device), device, 2, "gtk_drag_begin_with_coordinates", "GdkDevice*");
+  Xen_check_type(Xen_is_GdkContentFormats_(targets), targets, 3, "gtk_drag_begin_with_coordinates", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_drag_begin_with_coordinates", "GdkDragAction");
+  Xen_check_type(Xen_is_gint(x), x, 5, "gtk_drag_begin_with_coordinates", "gint");
+  Xen_check_type(Xen_is_gint(y), y, 6, "gtk_drag_begin_with_coordinates", "gint");
+  return(C_to_Xen_GdkDragContext_(gtk_drag_begin_with_coordinates(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkDevice_(device), 
+                                                                  Xen_to_C_GdkContentFormats_(targets), Xen_to_C_GdkDragAction(actions), 
+                                                                  Xen_to_C_gint(x), Xen_to_C_gint(y))));
+}
+
+static Xen gxg_gtk_drag_source_set_icon_surface(Xen widget, Xen surface)
+{
+  #define H_gtk_drag_source_set_icon_surface "void gtk_drag_source_set_icon_surface(GtkWidget* widget, \
+cairo_surface_t* surface)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set_icon_surface", "GtkWidget*");
+  Xen_check_type(Xen_is_cairo_surface_t_(surface), surface, 2, "gtk_drag_source_set_icon_surface", "cairo_surface_t*");
+  gtk_drag_source_set_icon_surface(Xen_to_C_GtkWidget_(widget), Xen_to_C_cairo_surface_t_(surface));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_entry_set_icon_from_texture(Xen entry, Xen icon_pos, Xen texture)
+{
+  #define H_gtk_entry_set_icon_from_texture "void gtk_entry_set_icon_from_texture(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
+GdkTexture* texture)"
+  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_from_texture", "GtkEntry*");
+  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_from_texture", "GtkEntryIconPosition");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 3, "gtk_entry_set_icon_from_texture", "GdkTexture*");
+  gtk_entry_set_icon_from_texture(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_GdkTexture_(texture));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_entry_get_icon_texture(Xen entry, Xen icon_pos)
+{
+  #define H_gtk_entry_get_icon_texture "GdkTexture* gtk_entry_get_icon_texture(GtkEntry* entry, GtkEntryIconPosition icon_pos)"
+  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_get_icon_texture", "GtkEntry*");
+  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_get_icon_texture", "GtkEntryIconPosition");
+  return(C_to_Xen_GdkTexture_(gtk_entry_get_icon_texture(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos))));
+}
+
+static Xen gxg_gtk_entry_set_icon_drag_source(Xen entry, Xen icon_pos, Xen formats, Xen actions)
+{
+  #define H_gtk_entry_set_icon_drag_source "void gtk_entry_set_icon_drag_source(GtkEntry* entry, GtkEntryIconPosition icon_pos, \
+GdkContentFormats* formats, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkEntry_(entry), entry, 1, "gtk_entry_set_icon_drag_source", "GtkEntry*");
+  Xen_check_type(Xen_is_GtkEntryIconPosition(icon_pos), icon_pos, 2, "gtk_entry_set_icon_drag_source", "GtkEntryIconPosition");
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 3, "gtk_entry_set_icon_drag_source", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_entry_set_icon_drag_source", "GdkDragAction");
+  gtk_entry_set_icon_drag_source(Xen_to_C_GtkEntry_(entry), Xen_to_C_GtkEntryIconPosition(icon_pos), Xen_to_C_GdkContentFormats_(formats), 
+                                 Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_header_bar_get_show_title_buttons(Xen bar)
+{
+  #define H_gtk_header_bar_get_show_title_buttons "gboolean gtk_header_bar_get_show_title_buttons(GtkHeaderBar* bar)"
+  Xen_check_type(Xen_is_GtkHeaderBar_(bar), bar, 1, "gtk_header_bar_get_show_title_buttons", "GtkHeaderBar*");
+  return(C_to_Xen_gboolean(gtk_header_bar_get_show_title_buttons(Xen_to_C_GtkHeaderBar_(bar))));
+}
+
+static Xen gxg_gtk_header_bar_set_show_title_buttons(Xen bar, Xen setting)
+{
+  #define H_gtk_header_bar_set_show_title_buttons "void gtk_header_bar_set_show_title_buttons(GtkHeaderBar* bar, \
+gboolean setting)"
+  Xen_check_type(Xen_is_GtkHeaderBar_(bar), bar, 1, "gtk_header_bar_set_show_title_buttons", "GtkHeaderBar*");
+  Xen_check_type(Xen_is_gboolean(setting), setting, 2, "gtk_header_bar_set_show_title_buttons", "gboolean");
+  gtk_header_bar_set_show_title_buttons(Xen_to_C_GtkHeaderBar_(bar), Xen_to_C_gboolean(setting));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_icon_theme_get_for_display(Xen display)
+{
+  #define H_gtk_icon_theme_get_for_display "GtkIconTheme* gtk_icon_theme_get_for_display(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_icon_theme_get_for_display", "GdkDisplay*");
+  return(C_to_Xen_GtkIconTheme_(gtk_icon_theme_get_for_display(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gtk_icon_theme_set_display(Xen icon_theme, Xen display)
+{
+  #define H_gtk_icon_theme_set_display "void gtk_icon_theme_set_display(GtkIconTheme* icon_theme, GdkDisplay* display)"
+  Xen_check_type(Xen_is_GtkIconTheme_(icon_theme), icon_theme, 1, "gtk_icon_theme_set_display", "GtkIconTheme*");
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 2, "gtk_icon_theme_set_display", "GdkDisplay*");
+  gtk_icon_theme_set_display(Xen_to_C_GtkIconTheme_(icon_theme), Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_icon_info_load_texture(Xen icon_info)
+{
+  #define H_gtk_icon_info_load_texture "GdkTexture* gtk_icon_info_load_texture(GtkIconInfo* icon_info)"
+  Xen_check_type(Xen_is_GtkIconInfo_(icon_info), icon_info, 1, "gtk_icon_info_load_texture", "GtkIconInfo*");
+  return(C_to_Xen_GdkTexture_(gtk_icon_info_load_texture(Xen_to_C_GtkIconInfo_(icon_info))));
+}
+
+static Xen gxg_gtk_image_new_from_texture(Xen texture)
+{
+  #define H_gtk_image_new_from_texture "GtkWidget* gtk_image_new_from_texture(GdkTexture* texture)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gtk_image_new_from_texture", "GdkTexture*");
+  return(C_to_Xen_GtkWidget_(gtk_image_new_from_texture(Xen_to_C_GdkTexture_(texture))));
+}
+
+static Xen gxg_gtk_image_new_from_icon_name(Xen icon_name)
+{
+  #define H_gtk_image_new_from_icon_name "GtkWidget* gtk_image_new_from_icon_name(gchar* icon_name)"
+  Xen_check_type(Xen_is_gchar_(icon_name), icon_name, 1, "gtk_image_new_from_icon_name", "gchar*");
+  return(C_to_Xen_GtkWidget_(gtk_image_new_from_icon_name((const gchar*)Xen_to_C_gchar_(icon_name))));
+}
+
+static Xen gxg_gtk_image_new_from_gicon(Xen icon)
+{
+  #define H_gtk_image_new_from_gicon "GtkWidget* gtk_image_new_from_gicon(GIcon* icon)"
+  Xen_check_type(Xen_is_GIcon_(icon), icon, 1, "gtk_image_new_from_gicon", "GIcon*");
+  return(C_to_Xen_GtkWidget_(gtk_image_new_from_gicon(Xen_to_C_GIcon_(icon))));
+}
+
+static Xen gxg_gtk_image_set_from_texture(Xen image, Xen texture)
+{
+  #define H_gtk_image_set_from_texture "void gtk_image_set_from_texture(GtkImage* image, GdkTexture* texture)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_set_from_texture", "GtkImage*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 2, "gtk_image_set_from_texture", "GdkTexture*");
+  gtk_image_set_from_texture(Xen_to_C_GtkImage_(image), Xen_to_C_GdkTexture_(texture));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_image_set_from_icon_name(Xen image, Xen icon_name)
+{
+  #define H_gtk_image_set_from_icon_name "void gtk_image_set_from_icon_name(GtkImage* image, gchar* icon_name)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_set_from_icon_name", "GtkImage*");
+  Xen_check_type(Xen_is_gchar_(icon_name), icon_name, 2, "gtk_image_set_from_icon_name", "gchar*");
+  gtk_image_set_from_icon_name(Xen_to_C_GtkImage_(image), (const gchar*)Xen_to_C_gchar_(icon_name));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_image_set_from_gicon(Xen image, Xen icon)
+{
+  #define H_gtk_image_set_from_gicon "void gtk_image_set_from_gicon(GtkImage* image, GIcon* icon)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_set_from_gicon", "GtkImage*");
+  Xen_check_type(Xen_is_GIcon_(icon), icon, 2, "gtk_image_set_from_gicon", "GIcon*");
+  gtk_image_set_from_gicon(Xen_to_C_GtkImage_(image), Xen_to_C_GIcon_(icon));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_image_set_icon_size(Xen image, Xen icon_size)
+{
+  #define H_gtk_image_set_icon_size "void gtk_image_set_icon_size(GtkImage* image, GtkIconSize icon_size)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_set_icon_size", "GtkImage*");
+  Xen_check_type(Xen_is_GtkIconSize(icon_size), icon_size, 2, "gtk_image_set_icon_size", "GtkIconSize");
+  gtk_image_set_icon_size(Xen_to_C_GtkImage_(image), Xen_to_C_GtkIconSize(icon_size));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_image_get_surface(Xen image)
+{
+  #define H_gtk_image_get_surface "cairo_surface_t* gtk_image_get_surface(GtkImage* image)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_surface", "GtkImage*");
+  return(C_to_Xen_cairo_surface_t_(gtk_image_get_surface(Xen_to_C_GtkImage_(image))));
+}
+
+static Xen gxg_gtk_image_get_texture(Xen image)
+{
+  #define H_gtk_image_get_texture "GdkTexture* gtk_image_get_texture(GtkImage* image)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_texture", "GtkImage*");
+  return(C_to_Xen_GdkTexture_(gtk_image_get_texture(Xen_to_C_GtkImage_(image))));
+}
+
+static Xen gxg_gtk_image_get_icon_size(Xen image)
+{
+  #define H_gtk_image_get_icon_size "GtkIconSize gtk_image_get_icon_size(GtkImage* image)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_icon_size", "GtkImage*");
+  return(C_to_Xen_GtkIconSize(gtk_image_get_icon_size(Xen_to_C_GtkImage_(image))));
+}
+
+static Xen gxg_gtk_image_get_icon_name(Xen image)
+{
+  #define H_gtk_image_get_icon_name "char* gtk_image_get_icon_name(GtkImage* image)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_icon_name", "GtkImage*");
+    return(C_to_Xen_char_((char*)gtk_image_get_icon_name(Xen_to_C_GtkImage_(image))));
+}
+
+static Xen gxg_gtk_image_get_gicon(Xen image)
+{
+  #define H_gtk_image_get_gicon "GIcon* gtk_image_get_gicon(GtkImage* image)"
+  Xen_check_type(Xen_is_GtkImage_(image), image, 1, "gtk_image_get_gicon", "GtkImage*");
+  return(C_to_Xen_GIcon_(gtk_image_get_gicon(Xen_to_C_GtkImage_(image))));
+}
+
+static Xen gxg_gtk_invisible_new_for_display(Xen display)
+{
+  #define H_gtk_invisible_new_for_display "GtkWidget* gtk_invisible_new_for_display(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_invisible_new_for_display", "GdkDisplay*");
+  return(C_to_Xen_GtkWidget_(gtk_invisible_new_for_display(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gtk_invisible_set_display(Xen invisible, Xen display)
+{
+  #define H_gtk_invisible_set_display "void gtk_invisible_set_display(GtkInvisible* invisible, GdkDisplay* display)"
+  Xen_check_type(Xen_is_GtkInvisible_(invisible), invisible, 1, "gtk_invisible_set_display", "GtkInvisible*");
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 2, "gtk_invisible_set_display", "GdkDisplay*");
+  gtk_invisible_set_display(Xen_to_C_GtkInvisible_(invisible), Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
+}
+
+static Xen gxg_GtkInvisible*(void)
+{
+  #define H_GtkInvisible* "GdkDisplay*gtk_invisible_get_display GtkInvisible*( invisible)"
+  return(C_to_Xen_GdkDisplay_gtk_invisible_get_display(GtkInvisible*()));
+}
+
+static Xen gxg_gtk_menu_set_display(Xen menu, Xen display)
+{
+  #define H_gtk_menu_set_display "void gtk_menu_set_display(GtkMenu* menu, GdkDisplay* display)"
+  Xen_check_type(Xen_is_GtkMenu_(menu), menu, 1, "gtk_menu_set_display", "GtkMenu*");
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 2, "gtk_menu_set_display", "GdkDisplay*");
+  gtk_menu_set_display(Xen_to_C_GtkMenu_(menu), Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_render_icon(Xen context, Xen cr, Xen texture, Xen x, Xen y)
+{
+  #define H_gtk_render_icon "void gtk_render_icon(GtkStyleContext* context, cairo_t* cr, GdkTexture* texture, \
+gdouble x, gdouble y)"
+  Xen_check_type(Xen_is_GtkStyleContext_(context), context, 1, "gtk_render_icon", "GtkStyleContext*");
+  Xen_check_type(Xen_is_cairo_t_(cr), cr, 2, "gtk_render_icon", "cairo_t*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 3, "gtk_render_icon", "GdkTexture*");
+  Xen_check_type(Xen_is_gdouble(x), x, 4, "gtk_render_icon", "gdouble");
+  Xen_check_type(Xen_is_gdouble(y), y, 5, "gtk_render_icon", "gdouble");
+  gtk_render_icon(Xen_to_C_GtkStyleContext_(context), Xen_to_C_cairo_t_(cr), Xen_to_C_GdkTexture_(texture), Xen_to_C_gdouble(x), 
+                  Xen_to_C_gdouble(y));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_content_formats_add_text_targets(Xen list)
+{
+  #define H_gtk_content_formats_add_text_targets "GdkContentFormats* gtk_content_formats_add_text_targets(GdkContentFormats* list)"
+  Xen_check_type(Xen_is_GdkContentFormats_(list), list, 1, "gtk_content_formats_add_text_targets", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gtk_content_formats_add_text_targets(Xen_to_C_GdkContentFormats_(list))));
+}
+
+static Xen gxg_gtk_content_formats_add_image_targets(Xen list, Xen writable)
+{
+  #define H_gtk_content_formats_add_image_targets "GdkContentFormats* gtk_content_formats_add_image_targets(GdkContentFormats* list, \
+gboolean writable)"
+  Xen_check_type(Xen_is_GdkContentFormats_(list), list, 1, "gtk_content_formats_add_image_targets", "GdkContentFormats*");
+  Xen_check_type(Xen_is_gboolean(writable), writable, 2, "gtk_content_formats_add_image_targets", "gboolean");
+  return(C_to_Xen_GdkContentFormats_(gtk_content_formats_add_image_targets(Xen_to_C_GdkContentFormats_(list), Xen_to_C_gboolean(writable))));
+}
+
+static Xen gxg_gtk_content_formats_add_uri_targets(Xen list)
+{
+  #define H_gtk_content_formats_add_uri_targets "GdkContentFormats* gtk_content_formats_add_uri_targets(GdkContentFormats* list)"
+  Xen_check_type(Xen_is_GdkContentFormats_(list), list, 1, "gtk_content_formats_add_uri_targets", "GdkContentFormats*");
+  return(C_to_Xen_GdkContentFormats_(gtk_content_formats_add_uri_targets(Xen_to_C_GdkContentFormats_(list))));
+}
+
+static Xen gxg_gtk_selection_data_set(Xen selection_data, Xen type, Xen format, Xen data, Xen length)
+{
+  #define H_gtk_selection_data_set "void gtk_selection_data_set(GtkSelectionData* selection_data, GdkAtom type, \
+gint format, guchar* data, gint length)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set", "GtkSelectionData*");
+  Xen_check_type(Xen_is_GdkAtom(type), type, 2, "gtk_selection_data_set", "GdkAtom");
+  Xen_check_type(Xen_is_gint(format), format, 3, "gtk_selection_data_set", "gint");
+  Xen_check_type(Xen_is_guchar_(data), data, 4, "gtk_selection_data_set", "guchar*");
+  Xen_check_type(Xen_is_gint(length), length, 5, "gtk_selection_data_set", "gint");
+  gtk_selection_data_set(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GdkAtom(type), Xen_to_C_gint(format), Xen_to_C_guchar_(data), 
+                         Xen_to_C_gint(length));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_selection_data_set_text(Xen selection_data, Xen str, Xen len)
+{
+  #define H_gtk_selection_data_set_text "gboolean gtk_selection_data_set_text(GtkSelectionData* selection_data, \
+gchar* str, gint len)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_text", "GtkSelectionData*");
+  Xen_check_type(Xen_is_gchar_(str), str, 2, "gtk_selection_data_set_text", "gchar*");
+  Xen_check_type(Xen_is_gint(len), len, 3, "gtk_selection_data_set_text", "gint");
+  return(C_to_Xen_gboolean(gtk_selection_data_set_text(Xen_to_C_GtkSelectionData_(selection_data), (const gchar*)Xen_to_C_gchar_(str), 
+                                                       Xen_to_C_gint(len))));
+}
+
+static Xen gxg_gtk_selection_data_get_text(Xen selection_data)
+{
+  #define H_gtk_selection_data_get_text "guchar* gtk_selection_data_get_text(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_text", "GtkSelectionData*");
+  return(C_to_Xen_guchar_(gtk_selection_data_get_text(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_set_pixbuf(Xen selection_data, Xen pixbuf)
+{
+  #define H_gtk_selection_data_set_pixbuf "gboolean gtk_selection_data_set_pixbuf(GtkSelectionData* selection_data, \
+GdkPixbuf* pixbuf)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_pixbuf", "GtkSelectionData*");
+  Xen_check_type(Xen_is_GdkPixbuf_(pixbuf), pixbuf, 2, "gtk_selection_data_set_pixbuf", "GdkPixbuf*");
+  return(C_to_Xen_gboolean(gtk_selection_data_set_pixbuf(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GdkPixbuf_(pixbuf))));
+}
+
+static Xen gxg_gtk_selection_data_get_surface(Xen selection_data)
+{
+  #define H_gtk_selection_data_get_surface "cairo_surface_t* gtk_selection_data_get_surface(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_surface", "GtkSelectionData*");
+  return(C_to_Xen_cairo_surface_t_(gtk_selection_data_get_surface(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_set_surface(Xen selection_data, Xen surface)
+{
+  #define H_gtk_selection_data_set_surface "gboolean gtk_selection_data_set_surface(GtkSelectionData* selection_data, \
+cairo_surface_t* surface)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_surface", "GtkSelectionData*");
+  Xen_check_type(Xen_is_cairo_surface_t_(surface), surface, 2, "gtk_selection_data_set_surface", "cairo_surface_t*");
+  return(C_to_Xen_gboolean(gtk_selection_data_set_surface(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_cairo_surface_t_(surface))));
+}
+
+static Xen gxg_gtk_selection_data_get_pixbuf(Xen selection_data)
+{
+  #define H_gtk_selection_data_get_pixbuf "GdkPixbuf* gtk_selection_data_get_pixbuf(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_pixbuf", "GtkSelectionData*");
+  return(C_to_Xen_GdkPixbuf_(gtk_selection_data_get_pixbuf(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_set_texture(Xen selection_data, Xen texture)
+{
+  #define H_gtk_selection_data_set_texture "gboolean gtk_selection_data_set_texture(GtkSelectionData* selection_data, \
+GdkTexture* texture)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_texture", "GtkSelectionData*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 2, "gtk_selection_data_set_texture", "GdkTexture*");
+  return(C_to_Xen_gboolean(gtk_selection_data_set_texture(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_GdkTexture_(texture))));
+}
+
+static Xen gxg_gtk_selection_data_get_texture(Xen selection_data)
+{
+  #define H_gtk_selection_data_get_texture "GdkTexture* gtk_selection_data_get_texture(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_texture", "GtkSelectionData*");
+  return(C_to_Xen_GdkTexture_(gtk_selection_data_get_texture(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_set_uris(Xen selection_data, Xen uris)
+{
+  #define H_gtk_selection_data_set_uris "gboolean gtk_selection_data_set_uris(GtkSelectionData* selection_data, \
+gchar** uris)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_set_uris", "GtkSelectionData*");
+  Xen_check_type(Xen_is_gchar__(uris), uris, 2, "gtk_selection_data_set_uris", "gchar**");
+  return(C_to_Xen_gboolean(gtk_selection_data_set_uris(Xen_to_C_GtkSelectionData_(selection_data), Xen_to_C_gchar__(uris))));
+}
+
+static Xen gxg_gtk_selection_data_get_uris(Xen selection_data)
+{
+  #define H_gtk_selection_data_get_uris "gchar** gtk_selection_data_get_uris(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_uris", "GtkSelectionData*");
+  return(C_to_Xen_gchar__(gtk_selection_data_get_uris(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_get_targets(Xen selection_data, Xen ignore_targets, Xen ignore_natoms)
+{
+  #define H_gtk_selection_data_get_targets "gboolean gtk_selection_data_get_targets(GtkSelectionData* selection_data, \
+GdkAtom** [targets], gint* [natoms])"
+  GdkAtom* ref_targets = NULL;
+  gint ref_natoms;
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_get_targets", "GtkSelectionData*");
+  {
+    Xen result;
+    result = C_to_Xen_gboolean(gtk_selection_data_get_targets(Xen_to_C_GtkSelectionData_(selection_data), &ref_targets, &ref_natoms));
+    return(Xen_list_3(result, C_to_Xen_GdkAtom_(ref_targets), C_to_Xen_gint(ref_natoms)));
+   }
+}
+
+static Xen gxg_gtk_selection_data_targets_include_text(Xen selection_data)
+{
+  #define H_gtk_selection_data_targets_include_text "gboolean gtk_selection_data_targets_include_text(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_targets_include_text", "GtkSelectionData*");
+  return(C_to_Xen_gboolean(gtk_selection_data_targets_include_text(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_selection_data_targets_include_uri(Xen selection_data)
+{
+  #define H_gtk_selection_data_targets_include_uri "gboolean gtk_selection_data_targets_include_uri(GtkSelectionData* selection_data)"
+  Xen_check_type(Xen_is_GtkSelectionData_(selection_data), selection_data, 1, "gtk_selection_data_targets_include_uri", "GtkSelectionData*");
+  return(C_to_Xen_gboolean(gtk_selection_data_targets_include_uri(Xen_to_C_GtkSelectionData_(selection_data))));
+}
+
+static Xen gxg_gtk_targets_include_text(Xen targets, Xen n_targets)
+{
+  #define H_gtk_targets_include_text "gboolean gtk_targets_include_text(GdkAtom* targets, gint n_targets)"
+  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_text", "GdkAtom*");
+  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_text", "gint");
+  return(C_to_Xen_gboolean(gtk_targets_include_text(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets))));
+}
+
+static Xen gxg_gtk_targets_include_image(Xen targets, Xen n_targets, Xen writable)
+{
+  #define H_gtk_targets_include_image "gboolean gtk_targets_include_image(GdkAtom* targets, gint n_targets, \
+gboolean writable)"
+  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_image", "GdkAtom*");
+  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_image", "gint");
+  Xen_check_type(Xen_is_gboolean(writable), writable, 3, "gtk_targets_include_image", "gboolean");
+  return(C_to_Xen_gboolean(gtk_targets_include_image(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets), Xen_to_C_gboolean(writable))));
+}
+
+static Xen gxg_gtk_targets_include_uri(Xen targets, Xen n_targets)
+{
+  #define H_gtk_targets_include_uri "gboolean gtk_targets_include_uri(GdkAtom* targets, gint n_targets)"
+  Xen_check_type(Xen_is_GdkAtom_(targets), targets, 1, "gtk_targets_include_uri", "GdkAtom*");
+  Xen_check_type(Xen_is_gint(n_targets), n_targets, 2, "gtk_targets_include_uri", "gint");
+  return(C_to_Xen_gboolean(gtk_targets_include_uri(Xen_to_C_GdkAtom_(targets), Xen_to_C_gint(n_targets))));
+}
+
+static Xen gxg_gtk_settings_get_for_display(Xen display)
+{
+  #define H_gtk_settings_get_for_display "GtkSettings* gtk_settings_get_for_display(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_settings_get_for_display", "GdkDisplay*");
+  return(C_to_Xen_GtkSettings_(gtk_settings_get_for_display(Xen_to_C_GdkDisplay_(display))));
+}
+
+static Xen gxg_gtk_style_context_add_provider_for_display(Xen display, Xen provider, Xen priority)
+{
+  #define H_gtk_style_context_add_provider_for_display "void gtk_style_context_add_provider_for_display(GdkDisplay* display, \
+GtkStyleProvider* provider, guint priority)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_style_context_add_provider_for_display", "GdkDisplay*");
+  Xen_check_type(Xen_is_GtkStyleProvider_(provider), provider, 2, "gtk_style_context_add_provider_for_display", "GtkStyleProvider*");
+  Xen_check_type(Xen_is_guint(priority), priority, 3, "gtk_style_context_add_provider_for_display", "guint");
+  gtk_style_context_add_provider_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GtkStyleProvider_(provider), Xen_to_C_guint(priority));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_style_context_remove_provider_for_display(Xen display, Xen provider)
+{
+  #define H_gtk_style_context_remove_provider_for_display "void gtk_style_context_remove_provider_for_display(GdkDisplay* display, \
+GtkStyleProvider* provider)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_style_context_remove_provider_for_display", "GdkDisplay*");
+  Xen_check_type(Xen_is_GtkStyleProvider_(provider), provider, 2, "gtk_style_context_remove_provider_for_display", "GtkStyleProvider*");
+  gtk_style_context_remove_provider_for_display(Xen_to_C_GdkDisplay_(display), Xen_to_C_GtkStyleProvider_(provider));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_style_context_set_display(Xen context, Xen display)
+{
+  #define H_gtk_style_context_set_display "void gtk_style_context_set_display(GtkStyleContext* context, \
+GdkDisplay* display)"
+  Xen_check_type(Xen_is_GtkStyleContext_(context), context, 1, "gtk_style_context_set_display", "GtkStyleContext*");
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 2, "gtk_style_context_set_display", "GdkDisplay*");
+  gtk_style_context_set_display(Xen_to_C_GtkStyleContext_(context), Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_style_context_get_display(Xen context)
+{
+  #define H_gtk_style_context_get_display "GdkDisplay* gtk_style_context_get_display(GtkStyleContext* context)"
+  Xen_check_type(Xen_is_GtkStyleContext_(context), context, 1, "gtk_style_context_get_display", "GtkStyleContext*");
+  return(C_to_Xen_GdkDisplay_(gtk_style_context_get_display(Xen_to_C_GtkStyleContext_(context))));
+}
+
+static Xen gxg_gtk_style_context_reset_widgets(Xen display)
+{
+  #define H_gtk_style_context_reset_widgets "void gtk_style_context_reset_widgets(GdkDisplay* display)"
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 1, "gtk_style_context_reset_widgets", "GdkDisplay*");
+  gtk_style_context_reset_widgets(Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_insert_texture(Xen buffer, Xen iter, Xen texture)
+{
+  #define H_gtk_text_buffer_insert_texture "void gtk_text_buffer_insert_texture(GtkTextBuffer* buffer, \
+GtkTextIter* iter, GdkTexture* texture)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_insert_texture", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 2, "gtk_text_buffer_insert_texture", "GtkTextIter*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 3, "gtk_text_buffer_insert_texture", "GdkTexture*");
+  gtk_text_buffer_insert_texture(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GtkTextIter_(iter), Xen_to_C_GdkTexture_(texture));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_add_selection_clipboard(Xen buffer, Xen clipboard)
+{
+  #define H_gtk_text_buffer_add_selection_clipboard "void gtk_text_buffer_add_selection_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_add_selection_clipboard", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_add_selection_clipboard", "GdkClipboard*");
+  gtk_text_buffer_add_selection_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkClipboard_(clipboard));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_remove_selection_clipboard(Xen buffer, Xen clipboard)
+{
+  #define H_gtk_text_buffer_remove_selection_clipboard "void gtk_text_buffer_remove_selection_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_remove_selection_clipboard", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_remove_selection_clipboard", "GdkClipboard*");
+  gtk_text_buffer_remove_selection_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkClipboard_(clipboard));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_cut_clipboard(Xen buffer, Xen clipboard, Xen default_editable)
+{
+  #define H_gtk_text_buffer_cut_clipboard "void gtk_text_buffer_cut_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard, gboolean default_editable)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_cut_clipboard", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_cut_clipboard", "GdkClipboard*");
+  Xen_check_type(Xen_is_gboolean(default_editable), default_editable, 3, "gtk_text_buffer_cut_clipboard", "gboolean");
+  gtk_text_buffer_cut_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkClipboard_(clipboard), Xen_to_C_gboolean(default_editable));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_copy_clipboard(Xen buffer, Xen clipboard)
+{
+  #define H_gtk_text_buffer_copy_clipboard "void gtk_text_buffer_copy_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_copy_clipboard", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_copy_clipboard", "GdkClipboard*");
+  gtk_text_buffer_copy_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkClipboard_(clipboard));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_text_buffer_paste_clipboard(Xen buffer, Xen clipboard)
+{
+  #define H_gtk_text_buffer_paste_clipboard "void gtk_text_buffer_paste_clipboard(GtkTextBuffer* buffer, \
+GdkClipboard* clipboard)"
+  Xen_check_type(Xen_is_GtkTextBuffer_(buffer), buffer, 1, "gtk_text_buffer_paste_clipboard", "GtkTextBuffer*");
+  Xen_check_type(Xen_is_GdkClipboard_(clipboard), clipboard, 2, "gtk_text_buffer_paste_clipboard", "GdkClipboard*");
+  gtk_text_buffer_paste_clipboard(Xen_to_C_GtkTextBuffer_(buffer), Xen_to_C_GdkClipboard_(clipboard));
+  return(Xen_false);
+}
+
+static Xen gxg_override_location(Xen default_editable)
+{
+  #define H_override_location "GtkTextIter* override_location(gboolean default_editable)"
+  Xen_check_type(Xen_is_gboolean(default_editable), default_editable, 1, "override_location", "gboolean");
+  return(C_to_Xen_GtkTextIter_(override_location(Xen_to_C_gboolean(default_editable))));
+}
+
+static Xen gxg_gtk_tool_palette_get_drag_target_item(void)
+{
+  #define H_gtk_tool_palette_get_drag_target_item "char* gtk_tool_palette_get_drag_target_item( void)"
+    return(C_to_Xen_char_((char*)gtk_tool_palette_get_drag_target_item()));
+}
+
+static Xen gxg_gtk_tool_palette_get_drag_target_group(void)
+{
+  #define H_gtk_tool_palette_get_drag_target_group "char* gtk_tool_palette_get_drag_target_group( void)"
+    return(C_to_Xen_char_((char*)gtk_tool_palette_get_drag_target_group()));
+}
+
+static Xen gxg_gtk_tooltip_set_icon(Xen tooltip, Xen texture)
+{
+  #define H_gtk_tooltip_set_icon "void gtk_tooltip_set_icon(GtkTooltip* tooltip, GdkTexture* texture)"
+  Xen_check_type(Xen_is_GtkTooltip_(tooltip), tooltip, 1, "gtk_tooltip_set_icon", "GtkTooltip*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 2, "gtk_tooltip_set_icon", "GdkTexture*");
+  gtk_tooltip_set_icon(Xen_to_C_GtkTooltip_(tooltip), Xen_to_C_GdkTexture_(texture));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_tooltip_set_icon_from_icon_name(Xen tooltip, Xen icon_name)
+{
+  #define H_gtk_tooltip_set_icon_from_icon_name "void gtk_tooltip_set_icon_from_icon_name(GtkTooltip* tooltip, \
+gchar* icon_name)"
+  Xen_check_type(Xen_is_GtkTooltip_(tooltip), tooltip, 1, "gtk_tooltip_set_icon_from_icon_name", "GtkTooltip*");
+  Xen_check_type(Xen_is_gchar_(icon_name), icon_name, 2, "gtk_tooltip_set_icon_from_icon_name", "gchar*");
+  gtk_tooltip_set_icon_from_icon_name(Xen_to_C_GtkTooltip_(tooltip), (const gchar*)Xen_to_C_gchar_(icon_name));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_tooltip_set_icon_from_gicon(Xen tooltip, Xen gicon)
+{
+  #define H_gtk_tooltip_set_icon_from_gicon "void gtk_tooltip_set_icon_from_gicon(GtkTooltip* tooltip, \
+GIcon* gicon)"
+  Xen_check_type(Xen_is_GtkTooltip_(tooltip), tooltip, 1, "gtk_tooltip_set_icon_from_gicon", "GtkTooltip*");
+  Xen_check_type(Xen_is_GIcon_(gicon), gicon, 2, "gtk_tooltip_set_icon_from_gicon", "GIcon*");
+  gtk_tooltip_set_icon_from_gicon(Xen_to_C_GtkTooltip_(tooltip), Xen_to_C_GIcon_(gicon));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_tree_view_enable_model_drag_source(Xen tree_view, Xen start_button_mask, Xen formats, Xen actions)
+{
+  #define H_gtk_tree_view_enable_model_drag_source "void gtk_tree_view_enable_model_drag_source(GtkTreeView* tree_view, \
+GdkModifierType start_button_mask, GdkContentFormats* formats, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkTreeView_(tree_view), tree_view, 1, "gtk_tree_view_enable_model_drag_source", "GtkTreeView*");
+  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_tree_view_enable_model_drag_source", "GdkModifierType");
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 3, "gtk_tree_view_enable_model_drag_source", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_tree_view_enable_model_drag_source", "GdkDragAction");
+  gtk_tree_view_enable_model_drag_source(Xen_to_C_GtkTreeView_(tree_view), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GdkContentFormats_(formats), 
+                                         Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_tree_view_enable_model_drag_dest(Xen tree_view, Xen formats, Xen actions)
+{
+  #define H_gtk_tree_view_enable_model_drag_dest "void gtk_tree_view_enable_model_drag_dest(GtkTreeView* tree_view, \
+GdkContentFormats* formats, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkTreeView_(tree_view), tree_view, 1, "gtk_tree_view_enable_model_drag_dest", "GtkTreeView*");
+  Xen_check_type(Xen_is_GdkContentFormats_(formats), formats, 2, "gtk_tree_view_enable_model_drag_dest", "GdkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 3, "gtk_tree_view_enable_model_drag_dest", "GdkDragAction");
+  gtk_tree_view_enable_model_drag_dest(Xen_to_C_GtkTreeView_(tree_view), Xen_to_C_GdkContentFormats_(formats), Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
+}
+
+static Xen gxg_gtk_widget_get_width(Xen widget)
 {
-  #define H_gdk_event_get_key_is_modifier "gboolean gdk_event_get_key_is_modifier(GdkEvent* event, gboolean* [is_modifier])"
-  gboolean ref_is_modifier;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_key_is_modifier", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_key_is_modifier(Xen_to_C_GdkEvent_(event), &ref_is_modifier));
-    return(Xen_list_2(result, C_to_Xen_gboolean(ref_is_modifier)));
-   }
+  #define H_gtk_widget_get_width "int gtk_widget_get_width(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_width", "GtkWidget*");
+  return(C_to_Xen_int(gtk_widget_get_width(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_event_get_key_group(Xen event, Xen ignore_group)
+static Xen gxg_gtk_widget_get_height(Xen widget)
 {
-  #define H_gdk_event_get_key_group "gboolean gdk_event_get_key_group(GdkEvent* event, guint* [group])"
-  guint ref_group;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_key_group", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_key_group(Xen_to_C_GdkEvent_(event), &ref_group));
-    return(Xen_list_2(result, C_to_Xen_guint(ref_group)));
-   }
+  #define H_gtk_widget_get_height "int gtk_widget_get_height(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_height", "GtkWidget*");
+  return(C_to_Xen_int(gtk_widget_get_height(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_event_get_string(Xen event, Xen ignore_string)
+static Xen gxg_gtk_widget_get_clipboard(Xen widget)
 {
-  #define H_gdk_event_get_string "gboolean gdk_event_get_string(GdkEvent* event, char** [string])"
-  char* ref_string = NULL;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_string", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_string(Xen_to_C_GdkEvent_(event), (const char**)&ref_string));
-    return(Xen_list_2(result, C_to_Xen_char_(ref_string)));
-   }
+  #define H_gtk_widget_get_clipboard "GdkClipboard* gtk_widget_get_clipboard(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_clipboard", "GtkWidget*");
+  return(C_to_Xen_GdkClipboard_(gtk_widget_get_clipboard(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_event_get_setting(Xen event, Xen ignore_setting)
+static Xen gxg_gtk_widget_get_primary_clipboard(Xen widget)
 {
-  #define H_gdk_event_get_setting "gboolean gdk_event_get_setting(GdkEvent* event, char** [setting])"
-  char* ref_setting = NULL;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_setting", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_setting(Xen_to_C_GdkEvent_(event), (const char**)&ref_setting));
-    return(Xen_list_2(result, C_to_Xen_char_(ref_setting)));
-   }
+  #define H_gtk_widget_get_primary_clipboard "GdkClipboard* gtk_widget_get_primary_clipboard(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_primary_clipboard", "GtkWidget*");
+  return(C_to_Xen_GdkClipboard_(gtk_widget_get_primary_clipboard(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_event_is_sent(Xen event)
+static Xen gxg_gtk_widget_contains(Xen widget, Xen x, Xen y)
 {
-  #define H_gdk_event_is_sent "gboolean gdk_event_is_sent(GdkEvent* event)"
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_is_sent", "GdkEvent*");
-  return(C_to_Xen_gboolean(gdk_event_is_sent(Xen_to_C_GdkEvent_(event))));
+  #define H_gtk_widget_contains "gboolean gtk_widget_contains(GtkWidget* widget, gdouble x, gdouble y)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_contains", "GtkWidget*");
+  Xen_check_type(Xen_is_gdouble(x), x, 2, "gtk_widget_contains", "gdouble");
+  Xen_check_type(Xen_is_gdouble(y), y, 3, "gtk_widget_contains", "gdouble");
+  return(C_to_Xen_gboolean(gtk_widget_contains(Xen_to_C_GtkWidget_(widget), Xen_to_C_gdouble(x), Xen_to_C_gdouble(y))));
 }
 
-static Xen gxg_gdk_event_get_drag_context(Xen event, Xen ignore_context)
+static Xen gxg_gtk_widget_pick(Xen widget, Xen x, Xen y)
 {
-  #define H_gdk_event_get_drag_context "gboolean gdk_event_get_drag_context(GdkEvent* event, GdkDragContext** [context])"
-  GdkDragContext* ref_context = NULL;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_drag_context", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_drag_context(Xen_to_C_GdkEvent_(event), &ref_context));
-    return(Xen_list_2(result, C_to_Xen_GdkDragContext_(ref_context)));
-   }
+  #define H_gtk_widget_pick "GtkWidget* gtk_widget_pick(GtkWidget* widget, gdouble x, gdouble y)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_pick", "GtkWidget*");
+  Xen_check_type(Xen_is_gdouble(x), x, 2, "gtk_widget_pick", "gdouble");
+  Xen_check_type(Xen_is_gdouble(y), y, 3, "gtk_widget_pick", "gdouble");
+  return(C_to_Xen_GtkWidget_(gtk_widget_pick(Xen_to_C_GtkWidget_(widget), Xen_to_C_gdouble(x), Xen_to_C_gdouble(y))));
 }
 
-static Xen gxg_gdk_event_get_crossing_mode(Xen event, Xen ignore_mode)
+static Xen gxg_gtk_widget_set_cursor(Xen widget, Xen cursor)
 {
-  #define H_gdk_event_get_crossing_mode "gboolean gdk_event_get_crossing_mode(GdkEvent* event, GdkCrossingMode* [mode])"
-  GdkCrossingMode ref_mode;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_crossing_mode", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_crossing_mode(Xen_to_C_GdkEvent_(event), &ref_mode));
-    return(Xen_list_2(result, C_to_Xen_GdkCrossingMode(ref_mode)));
-   }
+  #define H_gtk_widget_set_cursor "void gtk_widget_set_cursor(GtkWidget* widget, GdkCursor* cursor)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_set_cursor", "GtkWidget*");
+  Xen_check_type(Xen_is_GdkCursor_(cursor), cursor, 2, "gtk_widget_set_cursor", "GdkCursor*");
+  gtk_widget_set_cursor(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkCursor_(cursor));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_crossing_detail(Xen event, Xen ignore_detail)
+static Xen gxg_gtk_widget_set_cursor_from_name(Xen widget, Xen name)
 {
-  #define H_gdk_event_get_crossing_detail "gboolean gdk_event_get_crossing_detail(GdkEvent* event, GdkNotifyType* [detail])"
-  GdkNotifyType ref_detail;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_crossing_detail", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_crossing_detail(Xen_to_C_GdkEvent_(event), &ref_detail));
-    return(Xen_list_2(result, C_to_Xen_GdkNotifyType(ref_detail)));
-   }
+  #define H_gtk_widget_set_cursor_from_name "void gtk_widget_set_cursor_from_name(GtkWidget* widget, \
+char* name)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_set_cursor_from_name", "GtkWidget*");
+  Xen_check_type(Xen_is_char_(name), name, 2, "gtk_widget_set_cursor_from_name", "char*");
+  gtk_widget_set_cursor_from_name(Xen_to_C_GtkWidget_(widget), (const char*)Xen_to_C_char_(name));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_touchpad_gesture_phase(Xen event, Xen ignore_phase)
+static Xen gxg_gtk_widget_get_cursor(Xen widget)
 {
-  #define H_gdk_event_get_touchpad_gesture_phase "gboolean gdk_event_get_touchpad_gesture_phase(GdkEvent* event, \
-GdkTouchpadGesturePhase* [phase])"
-  GdkTouchpadGesturePhase ref_phase;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_gesture_phase", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touchpad_gesture_phase(Xen_to_C_GdkEvent_(event), &ref_phase));
-    return(Xen_list_2(result, C_to_Xen_GdkTouchpadGesturePhase(ref_phase)));
-   }
+  #define H_gtk_widget_get_cursor "GdkCursor* gtk_widget_get_cursor(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_widget_get_cursor", "GtkWidget*");
+  return(C_to_Xen_GdkCursor_(gtk_widget_get_cursor(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gdk_event_get_touchpad_gesture_n_fingers(Xen event, Xen ignore_n_fingers)
+static Xen gxg_gtk_window_set_display(Xen window, Xen display)
 {
-  #define H_gdk_event_get_touchpad_gesture_n_fingers "gboolean gdk_event_get_touchpad_gesture_n_fingers(GdkEvent* event, \
-guint* [n_fingers])"
-  guint ref_n_fingers;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_gesture_n_fingers", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touchpad_gesture_n_fingers(Xen_to_C_GdkEvent_(event), &ref_n_fingers));
-    return(Xen_list_2(result, C_to_Xen_guint(ref_n_fingers)));
-   }
+  #define H_gtk_window_set_display "void gtk_window_set_display(GtkWindow* window, GdkDisplay* display)"
+  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_set_display", "GtkWindow*");
+  Xen_check_type(Xen_is_GdkDisplay_(display), display, 2, "gtk_window_set_display", "GdkDisplay*");
+  gtk_window_set_display(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkDisplay_(display));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_touchpad_deltas(Xen event, Xen ignore_dx, Xen ignore_dy)
+static Xen gxg_gtk_window_set_icon(Xen window, Xen icon)
 {
-  #define H_gdk_event_get_touchpad_deltas "gboolean gdk_event_get_touchpad_deltas(GdkEvent* event, double* [dx], \
-double* [dy])"
-  double ref_dx;
-  double ref_dy;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_deltas", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touchpad_deltas(Xen_to_C_GdkEvent_(event), &ref_dx, &ref_dy));
-    return(Xen_list_3(result, C_to_Xen_double(ref_dx), C_to_Xen_double(ref_dy)));
-   }
+  #define H_gtk_window_set_icon "void gtk_window_set_icon(GtkWindow* window, GdkTexture* icon)"
+  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_set_icon", "GtkWindow*");
+  Xen_check_type(Xen_is_GdkTexture_(icon), icon, 2, "gtk_window_set_icon", "GdkTexture*");
+  gtk_window_set_icon(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkTexture_(icon));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_touchpad_angle_delta(Xen event, Xen ignore_delta)
+static Xen gxg_gtk_window_get_icon(Xen window)
 {
-  #define H_gdk_event_get_touchpad_angle_delta "gboolean gdk_event_get_touchpad_angle_delta(GdkEvent* event, \
-double* [delta])"
-  double ref_delta;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_angle_delta", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touchpad_angle_delta(Xen_to_C_GdkEvent_(event), &ref_delta));
-    return(Xen_list_2(result, C_to_Xen_double(ref_delta)));
-   }
+  #define H_gtk_window_get_icon "GdkTexture* gtk_window_get_icon(GtkWindow* window)"
+  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_get_icon", "GtkWindow*");
+  return(C_to_Xen_GdkTexture_(gtk_window_get_icon(Xen_to_C_GtkWindow_(window))));
 }
 
-static Xen gxg_gdk_event_get_touchpad_scale(Xen event, Xen ignore_scale)
+static Xen gxg_gtk_window_set_default_icon(Xen icon)
 {
-  #define H_gdk_event_get_touchpad_scale "gboolean gdk_event_get_touchpad_scale(GdkEvent* event, double* [scale])"
-  double ref_scale;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touchpad_scale", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touchpad_scale(Xen_to_C_GdkEvent_(event), &ref_scale));
-    return(Xen_list_2(result, C_to_Xen_double(ref_scale)));
-   }
+  #define H_gtk_window_set_default_icon "void gtk_window_set_default_icon(GdkTexture* icon)"
+  Xen_check_type(Xen_is_GdkTexture_(icon), icon, 1, "gtk_window_set_default_icon", "GdkTexture*");
+  gtk_window_set_default_icon(Xen_to_C_GdkTexture_(icon));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_touch_emulating_pointer(Xen event, Xen ignore_emulating)
+static Xen gxg_gtk_window_fullscreen_on_monitor(Xen window, Xen monitor)
 {
-  #define H_gdk_event_get_touch_emulating_pointer "gboolean gdk_event_get_touch_emulating_pointer(GdkEvent* event, \
-gboolean* [emulating])"
-  gboolean ref_emulating;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_touch_emulating_pointer", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_touch_emulating_pointer(Xen_to_C_GdkEvent_(event), &ref_emulating));
-    return(Xen_list_2(result, C_to_Xen_gboolean(ref_emulating)));
-   }
+  #define H_gtk_window_fullscreen_on_monitor "void gtk_window_fullscreen_on_monitor(GtkWindow* window, \
+GdkMonitor* monitor)"
+  Xen_check_type(Xen_is_GtkWindow_(window), window, 1, "gtk_window_fullscreen_on_monitor", "GtkWindow*");
+  Xen_check_type(Xen_is_GdkMonitor_(monitor), monitor, 2, "gtk_window_fullscreen_on_monitor", "GdkMonitor*");
+  gtk_window_fullscreen_on_monitor(Xen_to_C_GtkWindow_(window), Xen_to_C_GdkMonitor_(monitor));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_grab_window(Xen event, Xen ignore_window)
+static Xen gxg_gtk_text_iter_get_texture(Xen iter)
 {
-  #define H_gdk_event_get_grab_window "gboolean gdk_event_get_grab_window(GdkEvent* event, GdkWindow** [window])"
-  GdkWindow* ref_window = NULL;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_grab_window", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_grab_window(Xen_to_C_GdkEvent_(event), &ref_window));
-    return(Xen_list_2(result, C_to_Xen_GdkWindow_(ref_window)));
-   }
+  #define H_gtk_text_iter_get_texture "GdkTexture* gtk_text_iter_get_texture(GtkTextIter* iter)"
+  Xen_check_type(Xen_is_GtkTextIter_(iter), iter, 1, "gtk_text_iter_get_texture", "GtkTextIter*");
+  return(C_to_Xen_GdkTexture_(gtk_text_iter_get_texture(Xen_to_C_GtkTextIter_(iter))));
 }
 
-static Xen gxg_gdk_event_get_window_state(Xen event, Xen ignore_changed, Xen ignore_new_state)
+static Xen gxg_gtk_icon_view_enable_model_drag_source(Xen icon_view, Xen start_button_mask, Xen targets, Xen actions)
 {
-  #define H_gdk_event_get_window_state "gboolean gdk_event_get_window_state(GdkEvent* event, GdkWindowState* [changed], \
-GdkWindowState* [new_state])"
-  GdkWindowState ref_changed;
-  GdkWindowState ref_new_state;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_window_state", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_window_state(Xen_to_C_GdkEvent_(event), &ref_changed, &ref_new_state));
-    return(Xen_list_3(result, C_to_Xen_GdkWindowState(ref_changed), C_to_Xen_GdkWindowState(ref_new_state)));
-   }
+  #define H_gtk_icon_view_enable_model_drag_source "void gtk_icon_view_enable_model_drag_source(GtkIconView* icon_view, \
+GdkModifierType start_button_mask, GtkContentFormats* targets, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkIconView_(icon_view), icon_view, 1, "gtk_icon_view_enable_model_drag_source", "GtkIconView*");
+  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_icon_view_enable_model_drag_source", "GdkModifierType");
+  Xen_check_type(Xen_is_GtkContentFormats_(targets), targets, 3, "gtk_icon_view_enable_model_drag_source", "GtkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_icon_view_enable_model_drag_source", "GdkDragAction");
+  gtk_icon_view_enable_model_drag_source(Xen_to_C_GtkIconView_(icon_view), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GtkContentFormats_(targets), 
+                                         Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_focus_in(Xen event, Xen ignore_focus_in)
+static Xen gxg_gtk_icon_view_enable_model_drag_dest(Xen icon_view, Xen targets, Xen actions)
 {
-  #define H_gdk_event_get_focus_in "gboolean gdk_event_get_focus_in(GdkEvent* event, gboolean* [focus_in])"
-  gboolean ref_focus_in;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_focus_in", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_focus_in(Xen_to_C_GdkEvent_(event), &ref_focus_in));
-    return(Xen_list_2(result, C_to_Xen_gboolean(ref_focus_in)));
-   }
+  #define H_gtk_icon_view_enable_model_drag_dest "void gtk_icon_view_enable_model_drag_dest(GtkIconView* icon_view, \
+GtkContentFormats* targets, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkIconView_(icon_view), icon_view, 1, "gtk_icon_view_enable_model_drag_dest", "GtkIconView*");
+  Xen_check_type(Xen_is_GtkContentFormats_(targets), targets, 2, "gtk_icon_view_enable_model_drag_dest", "GtkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 3, "gtk_icon_view_enable_model_drag_dest", "GdkDragAction");
+  gtk_icon_view_enable_model_drag_dest(Xen_to_C_GtkIconView_(icon_view), Xen_to_C_GtkContentFormats_(targets), Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_pad_group_mode(Xen event, Xen ignore_group, Xen ignore_mode)
+static Xen gxg_gtk_about_dialog_get_logo(Xen about)
 {
-  #define H_gdk_event_get_pad_group_mode "gboolean gdk_event_get_pad_group_mode(GdkEvent* event, guint* [group], \
-guint* [mode])"
-  guint ref_group;
-  guint ref_mode;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_group_mode", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_pad_group_mode(Xen_to_C_GdkEvent_(event), &ref_group, &ref_mode));
-    return(Xen_list_3(result, C_to_Xen_guint(ref_group), C_to_Xen_guint(ref_mode)));
-   }
+  #define H_gtk_about_dialog_get_logo "GdkTexture* gtk_about_dialog_get_logo(GtkAboutDialog* about)"
+  Xen_check_type(Xen_is_GtkAboutDialog_(about), about, 1, "gtk_about_dialog_get_logo", "GtkAboutDialog*");
+  return(C_to_Xen_GdkTexture_(gtk_about_dialog_get_logo(Xen_to_C_GtkAboutDialog_(about))));
 }
 
-static Xen gxg_gdk_event_get_pad_button(Xen event, Xen ignore_button)
+static Xen gxg_gtk_about_dialog_set_logo(Xen about, Xen logo)
 {
-  #define H_gdk_event_get_pad_button "gboolean gdk_event_get_pad_button(GdkEvent* event, guint* [button])"
-  guint ref_button;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_button", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_pad_button(Xen_to_C_GdkEvent_(event), &ref_button));
-    return(Xen_list_2(result, C_to_Xen_guint(ref_button)));
-   }
+  #define H_gtk_about_dialog_set_logo "void gtk_about_dialog_set_logo(GtkAboutDialog* about, GdkTexture* logo)"
+  Xen_check_type(Xen_is_GtkAboutDialog_(about), about, 1, "gtk_about_dialog_set_logo", "GtkAboutDialog*");
+  Xen_check_type(Xen_is_GdkTexture_(logo) || Xen_is_false(logo), logo, 2, "gtk_about_dialog_set_logo", "GdkTexture*");
+  gtk_about_dialog_set_logo(Xen_to_C_GtkAboutDialog_(about), Xen_to_C_GdkTexture_(logo));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_pad_axis_value(Xen event, Xen ignore_index, Xen ignore_value)
+static Xen gxg_gtk_button_new_from_icon_name(Xen icon_name)
 {
-  #define H_gdk_event_get_pad_axis_value "gboolean gdk_event_get_pad_axis_value(GdkEvent* event, guint* [index], \
-gdouble* [value])"
-  guint ref_index;
-  gdouble ref_value;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_pad_axis_value", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_pad_axis_value(Xen_to_C_GdkEvent_(event), &ref_index, &ref_value));
-    return(Xen_list_3(result, C_to_Xen_guint(ref_index), C_to_Xen_gdouble(ref_value)));
-   }
+  #define H_gtk_button_new_from_icon_name "GtkWidget* gtk_button_new_from_icon_name(gchar* icon_name)"
+  Xen_check_type(Xen_is_gchar_(icon_name), icon_name, 1, "gtk_button_new_from_icon_name", "gchar*");
+  return(C_to_Xen_GtkWidget_(gtk_button_new_from_icon_name((const gchar*)Xen_to_C_gchar_(icon_name))));
 }
 
-static Xen gxg_gdk_event_get_property(Xen event, Xen ignore_property, Xen ignore_state)
+static Xen gxg_gtk_cell_view_new_with_texture(Xen texture)
 {
-  #define H_gdk_event_get_property "gboolean gdk_event_get_property(GdkEvent* event, GdkAtom* [property], \
-GdkPropertyState* [state])"
-  GdkAtom ref_property;
-  GdkPropertyState ref_state;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_property", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_property(Xen_to_C_GdkEvent_(event), &ref_property, &ref_state));
-    return(Xen_list_3(result, C_to_Xen_GdkAtom(ref_property), C_to_Xen_GdkPropertyState(ref_state)));
-   }
+  #define H_gtk_cell_view_new_with_texture "GtkWidget* gtk_cell_view_new_with_texture(GdkTexture* texture)"
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 1, "gtk_cell_view_new_with_texture", "GdkTexture*");
+  return(C_to_Xen_GtkWidget_(gtk_cell_view_new_with_texture(Xen_to_C_GdkTexture_(texture))));
 }
 
-static Xen gxg_gdk_event_get_selection(Xen event, Xen ignore_selection)
+static Xen gxg_gtk_drag_finish(Xen context, Xen success, Xen time)
 {
-  #define H_gdk_event_get_selection "gboolean gdk_event_get_selection(GdkEvent* event, GdkAtom* [selection])"
-  GdkAtom ref_selection;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_selection", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_selection(Xen_to_C_GdkEvent_(event), &ref_selection));
-    return(Xen_list_2(result, C_to_Xen_GdkAtom(ref_selection)));
-   }
+  #define H_gtk_drag_finish "void gtk_drag_finish(GdkDragContext* context, gboolean success, guint32 time)"
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gtk_drag_finish", "GdkDragContext*");
+  Xen_check_type(Xen_is_gboolean(success), success, 2, "gtk_drag_finish", "gboolean");
+  Xen_check_type(Xen_is_guint32(time), time, 3, "gtk_drag_finish", "guint32");
+  gtk_drag_finish(Xen_to_C_GdkDragContext_(context), Xen_to_C_gboolean(success), Xen_to_C_guint32(time));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_selection_property(Xen event, Xen ignore_property, Xen ignore_target, Xen ignore_requestor)
+static Xen gxg_gtk_drag_set_icon_pixbuf(Xen context, Xen texture, Xen hot_x, Xen hot_y)
 {
-  #define H_gdk_event_get_selection_property "gboolean gdk_event_get_selection_property(GdkEvent* event, \
-GdkAtom* [property], GdkAtom* [target], GdkWindow** [requestor])"
-  GdkAtom ref_property;
-  GdkAtom ref_target;
-  GdkWindow* ref_requestor = NULL;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_selection_property", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_selection_property(Xen_to_C_GdkEvent_(event), &ref_property, &ref_target, &ref_requestor));
-    return(Xen_list_4(result, C_to_Xen_GdkAtom(ref_property), C_to_Xen_GdkAtom(ref_target), C_to_Xen_GdkWindow_(ref_requestor)));
-   }
+  #define H_gtk_drag_set_icon_pixbuf "void gtk_drag_set_icon_pixbuf(GdkDragContext* context, GdkTexture* texture, \
+gint hot_x, gint hot_y)"
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 1, "gtk_drag_set_icon_pixbuf", "GdkDragContext*");
+  Xen_check_type(Xen_is_GdkTexture_(texture), texture, 2, "gtk_drag_set_icon_pixbuf", "GdkTexture*");
+  Xen_check_type(Xen_is_gint(hot_x), hot_x, 3, "gtk_drag_set_icon_pixbuf", "gint");
+  Xen_check_type(Xen_is_gint(hot_y), hot_y, 4, "gtk_drag_set_icon_pixbuf", "gint");
+  gtk_drag_set_icon_pixbuf(Xen_to_C_GdkDragContext_(context), Xen_to_C_GdkTexture_(texture), Xen_to_C_gint(hot_x), Xen_to_C_gint(hot_y));
+  return(Xen_false);
 }
 
-static Xen gxg_gdk_event_set_selection(Xen event, Xen window, Xen selection, Xen time)
+static Xen gxg_gtk_drag_dest_set(Xen widget, Xen flags, Xen targets, Xen actions)
 {
-  #define H_gdk_event_set_selection "void gdk_event_set_selection(GdkEvent* event, GdkWindow* window, \
-GdkAtom selection, guint32 time)"
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_set_selection", "GdkEvent*");
-  Xen_check_type(Xen_is_GdkWindow_(window), window, 2, "gdk_event_set_selection", "GdkWindow*");
-  Xen_check_type(Xen_is_GdkAtom(selection), selection, 3, "gdk_event_set_selection", "GdkAtom");
-  Xen_check_type(Xen_is_guint32(time), time, 4, "gdk_event_set_selection", "guint32");
-  gdk_event_set_selection(Xen_to_C_GdkEvent_(event), Xen_to_C_GdkWindow_(window), Xen_to_C_GdkAtom(selection), Xen_to_C_guint32(time));
+  #define H_gtk_drag_dest_set "void gtk_drag_dest_set(GtkWidget* widget, GtkDestDefaults flags, GtkContentFormats* targets, \
+GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_set", "GtkWidget*");
+  Xen_check_type(Xen_is_GtkDestDefaults(flags), flags, 2, "gtk_drag_dest_set", "GtkDestDefaults");
+  Xen_check_type(Xen_is_GtkContentFormats_(targets), targets, 3, "gtk_drag_dest_set", "GtkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_drag_dest_set", "GdkDragAction");
+  gtk_drag_dest_set(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkDestDefaults(flags), Xen_to_C_GtkContentFormats_(targets), Xen_to_C_GdkDragAction(actions));
   return(Xen_false);
 }
 
-static Xen gxg_gdk_event_get_axes(Xen event, Xen ignore_axes, Xen ignore_n_axes)
+static Xen gxg_gtk_drag_dest_find_target(Xen widget, Xen context, Xen target_list)
 {
-  #define H_gdk_event_get_axes "gboolean gdk_event_get_axes(GdkEvent* event, gdouble** [axes], guint* [n_axes])"
-  gdouble* ref_axes = NULL;
-  guint ref_n_axes;
-  Xen_check_type(Xen_is_GdkEvent_(event), event, 1, "gdk_event_get_axes", "GdkEvent*");
-  {
-    Xen result;
-    result = C_to_Xen_gboolean(gdk_event_get_axes(Xen_to_C_GdkEvent_(event), &ref_axes, &ref_n_axes));
-    return(Xen_list_3(result, C_to_Xen_gdouble_(ref_axes), C_to_Xen_guint(ref_n_axes)));
-   }
+  #define H_gtk_drag_dest_find_target "char* gtk_drag_dest_find_target(GtkWidget* widget, GdkDragContext* context, \
+GtkContentFormats* target_list)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_find_target", "GtkWidget*");
+  Xen_check_type(Xen_is_GdkDragContext_(context), context, 2, "gtk_drag_dest_find_target", "GdkDragContext*");
+  Xen_check_type(Xen_is_GtkContentFormats_(target_list) || Xen_is_false(target_list), target_list, 3, "gtk_drag_dest_find_target", "GtkContentFormats*");
+    return(C_to_Xen_char_((char*)gtk_drag_dest_find_target(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkDragContext_(context), Xen_to_C_GtkContentFormats_(target_list))));
 }
 
-static Xen gxg_gtk_snapshot_push_blur(Xen snapshot, Xen radius, Xen name)
+static Xen gxg_gtk_drag_dest_get_target_list(Xen widget)
 {
-  #define H_gtk_snapshot_push_blur "void gtk_snapshot_push_blur(GtkSnapshot* snapshot, double radius, \
-char* name)"
-  Xen_check_type(Xen_is_GtkSnapshot_(snapshot), snapshot, 1, "gtk_snapshot_push_blur", "GtkSnapshot*");
-  Xen_check_type(Xen_is_double(radius), radius, 2, "gtk_snapshot_push_blur", "double");
-  Xen_check_type(Xen_is_char_(name), name, 3, "gtk_snapshot_push_blur", "char*");
-  gtk_snapshot_push_blur(Xen_to_C_GtkSnapshot_(snapshot), Xen_to_C_double(radius), (const char*)Xen_to_C_char_(name));
+  #define H_gtk_drag_dest_get_target_list "GtkContentFormats* gtk_drag_dest_get_target_list(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_get_target_list", "GtkWidget*");
+  return(C_to_Xen_GtkContentFormats_(gtk_drag_dest_get_target_list(Xen_to_C_GtkWidget_(widget))));
+}
+
+static Xen gxg_gtk_drag_dest_set_target_list(Xen widget, Xen target_list)
+{
+  #define H_gtk_drag_dest_set_target_list "void gtk_drag_dest_set_target_list(GtkWidget* widget, GtkContentFormats* target_list)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_dest_set_target_list", "GtkWidget*");
+  Xen_check_type(Xen_is_GtkContentFormats_(target_list) || Xen_is_false(target_list), target_list, 2, "gtk_drag_dest_set_target_list", "GtkContentFormats*");
+  gtk_drag_dest_set_target_list(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkContentFormats_(target_list));
   return(Xen_false);
 }
 
-static Xen gxg_gtk_emoji_chooser_new(void)
+static Xen gxg_gtk_drag_source_set(Xen widget, Xen start_button_mask, Xen targets, Xen actions)
 {
-  #define H_gtk_emoji_chooser_new "GtkWidget* gtk_emoji_chooser_new( void)"
-  return(C_to_Xen_GtkWidget_(gtk_emoji_chooser_new()));
+  #define H_gtk_drag_source_set "void gtk_drag_source_set(GtkWidget* widget, GdkModifierType start_button_mask, \
+GtkContentFormats* targets, GdkDragAction actions)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set", "GtkWidget*");
+  Xen_check_type(Xen_is_GdkModifierType(start_button_mask), start_button_mask, 2, "gtk_drag_source_set", "GdkModifierType");
+  Xen_check_type(Xen_is_GtkContentFormats_(targets), targets, 3, "gtk_drag_source_set", "GtkContentFormats*");
+  Xen_check_type(Xen_is_GdkDragAction(actions), actions, 4, "gtk_drag_source_set", "GdkDragAction");
+  gtk_drag_source_set(Xen_to_C_GtkWidget_(widget), Xen_to_C_GdkModifierType(start_button_mask), Xen_to_C_GtkContentFormats_(targets), 
+                      Xen_to_C_GdkDragAction(actions));
+  return(Xen_false);
 }
 
-static Xen gxg_gtk_event_controller_scroll_new(Xen widget, Xen flags)
+static Xen gxg_gtk_drag_source_get_target_list(Xen widget)
 {
-  #define H_gtk_event_controller_scroll_new "GtkEventController* gtk_event_controller_scroll_new(GtkWidget* widget, \
-GtkEventControllerScrollFlags flags)"
-  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_event_controller_scroll_new", "GtkWidget*");
-  Xen_check_type(Xen_is_GtkEventControllerScrollFlags(flags), flags, 2, "gtk_event_controller_scroll_new", "GtkEventControllerScrollFlags");
-  return(C_to_Xen_GtkEventController_(gtk_event_controller_scroll_new(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkEventControllerScrollFlags(flags))));
+  #define H_gtk_drag_source_get_target_list "GtkContentFormats* gtk_drag_source_get_target_list(GtkWidget* widget)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_get_target_list", "GtkWidget*");
+  return(C_to_Xen_GtkContentFormats_(gtk_drag_source_get_target_list(Xen_to_C_GtkWidget_(widget))));
 }
 
-static Xen gxg_gtk_event_controller_scroll_set_flags(Xen controller, Xen flags)
+static Xen gxg_gtk_drag_source_set_target_list(Xen widget, Xen target_list)
 {
-  #define H_gtk_event_controller_scroll_set_flags "void gtk_event_controller_scroll_set_flags(GtkEventControllerScroll* controller, \
-GtkEventControllerScrollFlags flags)"
-  Xen_check_type(Xen_is_GtkEventControllerScroll_(controller), controller, 1, "gtk_event_controller_scroll_set_flags", "GtkEventControllerScroll*");
-  Xen_check_type(Xen_is_GtkEventControllerScrollFlags(flags), flags, 2, "gtk_event_controller_scroll_set_flags", "GtkEventControllerScrollFlags");
-  gtk_event_controller_scroll_set_flags(Xen_to_C_GtkEventControllerScroll_(controller), Xen_to_C_GtkEventControllerScrollFlags(flags));
+  #define H_gtk_drag_source_set_target_list "void gtk_drag_source_set_target_list(GtkWidget* widget, \
+GtkContentFormats* target_list)"
+  Xen_check_type(Xen_is_GtkWidget_(widget), widget, 1, "gtk_drag_source_set_target_list", "GtkWidget*");
+  Xen_check_type(Xen_is_GtkContentFormats_(target_list) || Xen_is_false(target_list), target_list, 2, "gtk_drag_source_set_target_list", "GtkContentFormats*");
+  gtk_drag_source_set_target_list(Xen_to_C_GtkWidget_(widget), Xen_to_C_GtkContentFormats_(target_list));
   return(Xen_false);
 }
 
-static Xen gxg_gtk_event_controller_scroll_get_flags(Xen controller)
+static Xen gxg_gtk_scale_button_new(Xen min, Xen max, Xen step, Xen icons)
 {
-  #define H_gtk_event_controller_scroll_get_flags "GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags(GtkEventControllerScroll* controller)"
-  Xen_check_type(Xen_is_GtkEventControllerScroll_(controller), controller, 1, "gtk_event_controller_scroll_get_flags", "GtkEventControllerScroll*");
-  return(C_to_Xen_GtkEventControllerScrollFlags(gtk_event_controller_scroll_get_flags(Xen_to_C_GtkEventControllerScroll_(controller))));
+  #define H_gtk_scale_button_new "GtkWidget* gtk_scale_button_new(gdouble min, gdouble max, gdouble step, \
+gchar** icons)"
+  Xen_check_type(Xen_is_gdouble(min), min, 1, "gtk_scale_button_new", "gdouble");
+  Xen_check_type(Xen_is_gdouble(max), max, 2, "gtk_scale_button_new", "gdouble");
+  Xen_check_type(Xen_is_gdouble(step), step, 3, "gtk_scale_button_new", "gdouble");
+  Xen_check_type(Xen_is_gchar__(icons), icons, 4, "gtk_scale_button_new", "gchar**");
+  return(C_to_Xen_GtkWidget_(gtk_scale_button_new(Xen_to_C_gdouble(min), Xen_to_C_gdouble(max), Xen_to_C_gdouble(step), (const gchar**)Xen_to_C_gchar__(icons))));
 }
 
 #endif
@@ -34796,8 +34491,6 @@ static Xen gxg_GDK_DEVICE(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_li
 static Xen gxg_GDK_KEYMAP(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkKeymap__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_WINDOW(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkWindow__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_PIXBUF(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkPixbuf__symbol, Xen_cadr(obj)) : Xen_false);}
-static Xen gxg_GDK_PIXBUF_ANIMATION(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkPixbufAnimation__symbol, Xen_cadr(obj)) : Xen_false);}
-static Xen gxg_GDK_PIXBUF_ANIMATION_ITER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkPixbufAnimationIter__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_ACCEL_GROUP(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkAccelGroup__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_ACCEL_LABEL(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkAccelLabel__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_ACCESSIBLE(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkAccessible__symbol, Xen_cadr(obj)) : Xen_false);}
@@ -34875,7 +34568,6 @@ static Xen gxg_PANGO_FONT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_li
 static Xen gxg_PANGO_FONT_MAP(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_PangoFontMap__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_PANGO_LAYOUT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_PangoLayout__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_G_OBJECT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GObject__symbol, Xen_cadr(obj)) : Xen_false);}
-static Xen gxg_GDK_SCREEN(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkScreen__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_DISPLAY_OBJECT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkDisplay__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_EVENT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkEvent__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GDK_EVENT_ANY(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkEventAny__symbol, Xen_cadr(obj)) : Xen_false);}
@@ -34908,7 +34600,6 @@ static Xen gxg_GTK_SEPARATOR_TOOL_ITEM(Xen obj) {return((Xen_is_wrapped_object(o
 static Xen gxg_GTK_TOGGLE_TOOL_BUTTON(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkToggleToolButton__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_FILE_FILTER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkFileFilter__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_CELL_LAYOUT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkCellLayout__symbol, Xen_cadr(obj)) : Xen_false);}
-static Xen gxg_GTK_CLIPBOARD(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkClipboard__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_FILE_CHOOSER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkFileChooser__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_ICON_THEME(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkIconTheme__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_TOOL_BUTTON(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkToolButton__symbol, Xen_cadr(obj)) : Xen_false);}
@@ -35032,6 +34723,14 @@ static Xen gxg_GTK_SHORTCUT_LABEL(Xen obj) {return((Xen_is_wrapped_object(obj))
 static Xen gxg_GTK_CENTER_BOX(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkCenterBox__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_EMOJI_CHOOSER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkEmojiChooser__symbol, Xen_cadr(obj)) : Xen_false);}
 static Xen gxg_GTK_EVENT_CONTROLLER_SCROLL(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkEventControllerScroll__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GTK_EVENT_CONTROLLER_MOTION(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GtkEventControllerMotion__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_TEXTURE(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkTexture__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_EVENT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkEvent__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_APP_LAUNCH_CONTEXT(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkAppLaunchContext__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_CLIPBOARD(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkClipboard__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_CONTENT_PROVIDER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkContentProvider__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_CONTENT_SERIALIZER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkContentSerializer__symbol, Xen_cadr(obj)) : Xen_false);}
+static Xen gxg_GDK_CONTENT_DESERIALIZER(Xen obj) {return((Xen_is_wrapped_object(obj)) ? Xen_list_2(xg_GdkContentDeserializer__symbol, Xen_cadr(obj)) : Xen_false);}
 #endif
 
 static Xen gxg_GDK_IS_DRAG_CONTEXT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_DRAG_CONTEXT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
@@ -35039,8 +34738,6 @@ static Xen gxg_GDK_IS_DEVICE(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapp
 static Xen gxg_GDK_IS_KEYMAP(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_KEYMAP((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GDK_IS_WINDOW(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_WINDOW((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GDK_IS_PIXBUF(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_PIXBUF((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
-static Xen gxg_GDK_IS_PIXBUF_ANIMATION(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_PIXBUF_ANIMATION((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
-static Xen gxg_GDK_IS_PIXBUF_ANIMATION_ITER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_PIXBUF_ANIMATION_ITER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_ACCEL_GROUP(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_ACCEL_GROUP((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_ACCEL_LABEL(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_ACCEL_LABEL((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_ACCESSIBLE(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_ACCESSIBLE((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
@@ -35118,7 +34815,6 @@ static Xen gxg_PANGO_IS_FONT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapp
 static Xen gxg_PANGO_IS_FONT_MAP(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && PANGO_IS_FONT_MAP((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_PANGO_IS_LAYOUT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && PANGO_IS_LAYOUT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_G_IS_OBJECT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && G_IS_OBJECT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
-static Xen gxg_GDK_IS_SCREEN(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_SCREEN((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GDK_IS_DISPLAY(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_DISPLAY((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_FILE_CHOOSER_DIALOG(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_FILE_CHOOSER_DIALOG((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_FILE_CHOOSER_WIDGET(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_FILE_CHOOSER_WIDGET((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
@@ -35133,7 +34829,6 @@ static Xen gxg_GTK_IS_SEPARATOR_TOOL_ITEM(Xen obj) {return(C_bool_to_Xen_boolean
 static Xen gxg_GTK_IS_TOGGLE_TOOL_BUTTON(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_TOGGLE_TOOL_BUTTON((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_FILE_FILTER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_FILE_FILTER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_CELL_LAYOUT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_CELL_LAYOUT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
-static Xen gxg_GTK_IS_CLIPBOARD(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_CLIPBOARD((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_FILE_CHOOSER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_FILE_CHOOSER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_ICON_THEME(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_ICON_THEME((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_TOOL_BUTTON(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_TOOL_BUTTON((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
@@ -35256,6 +34951,14 @@ static Xen gxg_GTK_IS_SHORTCUT_LABEL(Xen obj) {return(C_bool_to_Xen_boolean(Xen_
 static Xen gxg_GTK_IS_CENTER_BOX(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_CENTER_BOX((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_EMOJI_CHOOSER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_EMOJI_CHOOSER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 static Xen gxg_GTK_IS_EVENT_CONTROLLER_SCROLL(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_EVENT_CONTROLLER_SCROLL((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GTK_IS_EVENT_CONTROLLER_MOTION(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GTK_IS_EVENT_CONTROLLER_MOTION((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_TEXTURE(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_TEXTURE((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_EVENT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_EVENT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_APP_LAUNCH_CONTEXT(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_APP_LAUNCH_CONTEXT((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_CLIPBOARD(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_CLIPBOARD((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_CONTENT_PROVIDER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_CONTENT_PROVIDER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_CONTENT_SERIALIZER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_CONTENT_SERIALIZER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
+static Xen gxg_GDK_IS_CONTENT_DESERIALIZER(Xen obj) {return(C_bool_to_Xen_boolean(Xen_is_wrapped_object(obj) && GDK_IS_CONTENT_DESERIALIZER((GTypeInstance *)Xen_unwrap_C_pointer(Xen_cadr(obj)))));}
 #endif
 
 
@@ -35364,25 +35067,6 @@ static Xen gxg_gtk_init_check(Xen argc, Xen argv)
 }
 #endif
 
-static Xen gxg_make_target_entry(Xen lst)
-{
-  GtkTargetEntry* targets;
-  int i, len;
-  #define H_make_target_entry "(make-target-entry lst): GtkTargetEntry*, each member of 'lst' should be (list target flags info)"
-  Xen_check_type(Xen_is_list(lst), lst, 1, "make-target-entry", "a list of lists describing each target");
-  len = Xen_list_length(lst);
-  if (len == 0) return(Xen_false);
-  targets = (GtkTargetEntry *)calloc(len, sizeof(GtkTargetEntry));
-  for (i = 0; i < len; i++)
-    {
-      Xen val;
-      val = Xen_list_ref(lst, i);
-      targets[i].target = xen_strdup(Xen_string_to_C_string(Xen_list_ref(val, 0)));
-      targets[i].flags = (guint)Xen_ulong_to_C_ulong(Xen_list_ref(val, 1));
-      targets[i].info = (guint)Xen_ulong_to_C_ulong(Xen_list_ref(val, 2));
-    }
-  return(C_to_Xen_GtkTargetEntry_(targets));
-}
 /* conversions */
 static Xen c_array_to_xen_list(Xen val_1, Xen clen)
 {
@@ -35801,19 +35485,9 @@ Xen_wrap_7_args(gxg_g_signal_handlers_disconnect_matched_w, gxg_g_signal_handler
 Xen_wrap_1_arg(gxg_g_signal_handlers_destroy_w, gxg_g_signal_handlers_destroy)
 Xen_wrap_1_arg(gxg_g_object_ref_w, gxg_g_object_ref)
 Xen_wrap_1_arg(gxg_g_object_unref_w, gxg_g_object_unref)
-Xen_wrap_2_args(gxg_gdk_cursor_new_for_display_w, gxg_gdk_cursor_new_for_display)
-Xen_wrap_1_arg(gxg_gdk_cursor_get_display_w, gxg_gdk_cursor_get_display)
 Xen_wrap_3_args(gxg_gdk_drag_status_w, gxg_gdk_drag_status)
 Xen_wrap_3_args(gxg_gdk_drop_reply_w, gxg_gdk_drop_reply)
 Xen_wrap_3_args(gxg_gdk_drop_finish_w, gxg_gdk_drop_finish)
-Xen_wrap_1_arg(gxg_gdk_drag_get_selection_w, gxg_gdk_drag_get_selection)
-Xen_wrap_2_args(gxg_gdk_drag_begin_w, gxg_gdk_drag_begin)
-Xen_wrap_2_args(gxg_gdk_drag_drop_w, gxg_gdk_drag_drop)
-Xen_wrap_2_args(gxg_gdk_drag_abort_w, gxg_gdk_drag_abort)
-Xen_wrap_no_args(gxg_gdk_events_pending_w, gxg_gdk_events_pending)
-Xen_wrap_no_args(gxg_gdk_event_get_w, gxg_gdk_event_get)
-Xen_wrap_no_args(gxg_gdk_event_peek_w, gxg_gdk_event_peek)
-Xen_wrap_1_arg(gxg_gdk_event_put_w, gxg_gdk_event_put)
 Xen_wrap_1_arg(gxg_gdk_event_copy_w, gxg_gdk_event_copy)
 Xen_wrap_1_arg(gxg_gdk_event_free_w, gxg_gdk_event_free)
 Xen_wrap_1_arg(gxg_gdk_event_get_time_w, gxg_gdk_event_get_time)
@@ -35823,18 +35497,8 @@ Xen_wrap_3_optional_args(gxg_gdk_event_get_root_coords_w, gxg_gdk_event_get_root
 Xen_wrap_3_args(gxg_gdk_event_handler_set_w, gxg_gdk_event_handler_set)
 Xen_wrap_1_arg(gxg_gdk_set_show_events_w, gxg_gdk_set_show_events)
 Xen_wrap_no_args(gxg_gdk_get_show_events_w, gxg_gdk_get_show_events)
-Xen_wrap_no_args(gxg_gdk_get_program_class_w, gxg_gdk_get_program_class)
-Xen_wrap_1_arg(gxg_gdk_set_program_class_w, gxg_gdk_set_program_class)
-Xen_wrap_no_args(gxg_gdk_error_trap_push_w, gxg_gdk_error_trap_push)
-Xen_wrap_no_args(gxg_gdk_error_trap_pop_w, gxg_gdk_error_trap_pop)
-Xen_wrap_no_args(gxg_gdk_get_display_arg_name_w, gxg_gdk_get_display_arg_name)
-Xen_wrap_no_args(gxg_gdk_notify_startup_complete_w, gxg_gdk_notify_startup_complete)
-Xen_wrap_no_args(gxg_gdk_flush_w, gxg_gdk_flush)
-Xen_wrap_no_args(gxg_gdk_beep_w, gxg_gdk_beep)
-Xen_wrap_1_arg(gxg_gdk_set_double_click_time_w, gxg_gdk_set_double_click_time)
 Xen_wrap_3_args(gxg_gdk_rectangle_intersect_w, gxg_gdk_rectangle_intersect)
 Xen_wrap_3_args(gxg_gdk_rectangle_union_w, gxg_gdk_rectangle_union)
-Xen_wrap_no_args(gxg_gdk_keymap_get_default_w, gxg_gdk_keymap_get_default)
 Xen_wrap_2_args(gxg_gdk_keymap_lookup_key_w, gxg_gdk_keymap_lookup_key)
 Xen_wrap_4_optional_args(gxg_gdk_keymap_get_entries_for_keyval_w, gxg_gdk_keymap_get_entries_for_keyval)
 Xen_wrap_5_optional_args(gxg_gdk_keymap_get_entries_for_keycode_w, gxg_gdk_keymap_get_entries_for_keycode)
@@ -35848,17 +35512,7 @@ Xen_wrap_1_arg(gxg_gdk_keyval_is_upper_w, gxg_gdk_keyval_is_upper)
 Xen_wrap_1_arg(gxg_gdk_keyval_is_lower_w, gxg_gdk_keyval_is_lower)
 Xen_wrap_1_arg(gxg_gdk_keyval_to_unicode_w, gxg_gdk_keyval_to_unicode)
 Xen_wrap_1_arg(gxg_gdk_unicode_to_keyval_w, gxg_gdk_unicode_to_keyval)
-Xen_wrap_no_args(gxg_gdk_pango_context_get_w, gxg_gdk_pango_context_get)
-Xen_wrap_2_args(gxg_gdk_atom_intern_w, gxg_gdk_atom_intern)
-Xen_wrap_1_arg(gxg_gdk_atom_name_w, gxg_gdk_atom_name)
-Xen_wrap_any_args(gxg_gdk_property_get_w, gxg_gdk_property_get)
-Xen_wrap_7_args(gxg_gdk_property_change_w, gxg_gdk_property_change)
-Xen_wrap_2_args(gxg_gdk_property_delete_w, gxg_gdk_property_delete)
 Xen_wrap_1_arg(gxg_gdk_utf8_to_string_target_w, gxg_gdk_utf8_to_string_target)
-Xen_wrap_4_args(gxg_gdk_selection_owner_set_w, gxg_gdk_selection_owner_set)
-Xen_wrap_1_arg(gxg_gdk_selection_owner_get_w, gxg_gdk_selection_owner_get)
-Xen_wrap_4_args(gxg_gdk_selection_convert_w, gxg_gdk_selection_convert)
-Xen_wrap_4_optional_args(gxg_gdk_selection_property_get_w, gxg_gdk_selection_property_get)
 Xen_wrap_1_arg(gxg_gdk_window_destroy_w, gxg_gdk_window_destroy)
 Xen_wrap_1_arg(gxg_gdk_window_get_window_type_w, gxg_gdk_window_get_window_type)
 Xen_wrap_1_arg(gxg_gdk_window_show_w, gxg_gdk_window_show)
@@ -35888,7 +35542,6 @@ Xen_wrap_1_arg(gxg_gdk_window_get_children_w, gxg_gdk_window_get_children)
 Xen_wrap_1_arg(gxg_gdk_window_peek_children_w, gxg_gdk_window_peek_children)
 Xen_wrap_1_arg(gxg_gdk_window_get_events_w, gxg_gdk_window_get_events)
 Xen_wrap_2_args(gxg_gdk_window_set_events_w, gxg_gdk_window_set_events)
-Xen_wrap_2_args(gxg_gdk_window_set_icon_list_w, gxg_gdk_window_set_icon_list)
 Xen_wrap_2_args(gxg_gdk_window_set_icon_name_w, gxg_gdk_window_set_icon_name)
 Xen_wrap_2_args(gxg_gdk_window_set_group_w, gxg_gdk_window_set_group)
 Xen_wrap_2_args(gxg_gdk_window_set_decorations_w, gxg_gdk_window_set_decorations)
@@ -35941,16 +35594,6 @@ Xen_wrap_any_args(gxg_gdk_pixbuf_composite_w, gxg_gdk_pixbuf_composite)
 Xen_wrap_any_args(gxg_gdk_pixbuf_composite_color_w, gxg_gdk_pixbuf_composite_color)
 Xen_wrap_4_args(gxg_gdk_pixbuf_scale_simple_w, gxg_gdk_pixbuf_scale_simple)
 Xen_wrap_any_args(gxg_gdk_pixbuf_composite_color_simple_w, gxg_gdk_pixbuf_composite_color_simple)
-Xen_wrap_2_optional_args(gxg_gdk_pixbuf_animation_new_from_file_w, gxg_gdk_pixbuf_animation_new_from_file)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_get_width_w, gxg_gdk_pixbuf_animation_get_width)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_get_height_w, gxg_gdk_pixbuf_animation_get_height)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_is_static_image_w, gxg_gdk_pixbuf_animation_is_static_image)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_get_static_image_w, gxg_gdk_pixbuf_animation_get_static_image)
-Xen_wrap_2_args(gxg_gdk_pixbuf_animation_get_iter_w, gxg_gdk_pixbuf_animation_get_iter)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_iter_get_delay_time_w, gxg_gdk_pixbuf_animation_iter_get_delay_time)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_iter_get_pixbuf_w, gxg_gdk_pixbuf_animation_iter_get_pixbuf)
-Xen_wrap_1_arg(gxg_gdk_pixbuf_animation_iter_on_currently_loading_frame_w, gxg_gdk_pixbuf_animation_iter_on_currently_loading_frame)
-Xen_wrap_2_args(gxg_gdk_pixbuf_animation_iter_advance_w, gxg_gdk_pixbuf_animation_iter_advance)
 Xen_wrap_2_args(gxg_gdk_pixbuf_get_option_w, gxg_gdk_pixbuf_get_option)
 Xen_wrap_no_args(gxg_gtk_accel_group_new_w, gxg_gtk_accel_group_new)
 Xen_wrap_1_arg(gxg_gtk_accel_group_lock_w, gxg_gtk_accel_group_lock)
@@ -36043,16 +35686,6 @@ Xen_wrap_1_arg(gxg_gtk_check_menu_item_get_active_w, gxg_gtk_check_menu_item_get
 Xen_wrap_1_arg(gxg_gtk_check_menu_item_toggled_w, gxg_gtk_check_menu_item_toggled)
 Xen_wrap_2_args(gxg_gtk_check_menu_item_set_inconsistent_w, gxg_gtk_check_menu_item_set_inconsistent)
 Xen_wrap_1_arg(gxg_gtk_check_menu_item_get_inconsistent_w, gxg_gtk_check_menu_item_get_inconsistent)
-Xen_wrap_1_arg(gxg_gtk_clipboard_get_w, gxg_gtk_clipboard_get)
-Xen_wrap_6_optional_args(gxg_gtk_clipboard_set_with_data_w, gxg_gtk_clipboard_set_with_data)
-Xen_wrap_1_arg(gxg_gtk_clipboard_get_owner_w, gxg_gtk_clipboard_get_owner)
-Xen_wrap_1_arg(gxg_gtk_clipboard_clear_w, gxg_gtk_clipboard_clear)
-Xen_wrap_3_args(gxg_gtk_clipboard_set_text_w, gxg_gtk_clipboard_set_text)
-Xen_wrap_4_optional_args(gxg_gtk_clipboard_request_contents_w, gxg_gtk_clipboard_request_contents)
-Xen_wrap_3_optional_args(gxg_gtk_clipboard_request_text_w, gxg_gtk_clipboard_request_text)
-Xen_wrap_2_args(gxg_gtk_clipboard_wait_for_contents_w, gxg_gtk_clipboard_wait_for_contents)
-Xen_wrap_1_arg(gxg_gtk_clipboard_wait_for_text_w, gxg_gtk_clipboard_wait_for_text)
-Xen_wrap_1_arg(gxg_gtk_clipboard_wait_is_text_available_w, gxg_gtk_clipboard_wait_is_text_available)
 Xen_wrap_2_args(gxg_gtk_container_add_w, gxg_gtk_container_add)
 Xen_wrap_2_args(gxg_gtk_container_remove_w, gxg_gtk_container_remove)
 Xen_wrap_1_arg(gxg_gtk_container_check_resize_w, gxg_gtk_container_check_resize)
@@ -36067,20 +35700,12 @@ Xen_wrap_2_args(gxg_gtk_dialog_set_default_response_w, gxg_gtk_dialog_set_defaul
 Xen_wrap_2_args(gxg_gtk_dialog_response_w, gxg_gtk_dialog_response)
 Xen_wrap_1_arg(gxg_gtk_dialog_run_w, gxg_gtk_dialog_run)
 Xen_wrap_4_args(gxg_gtk_drag_get_data_w, gxg_gtk_drag_get_data)
-Xen_wrap_4_args(gxg_gtk_drag_finish_w, gxg_gtk_drag_finish)
 Xen_wrap_1_arg(gxg_gtk_drag_get_source_widget_w, gxg_gtk_drag_get_source_widget)
 Xen_wrap_1_arg(gxg_gtk_drag_highlight_w, gxg_gtk_drag_highlight)
 Xen_wrap_1_arg(gxg_gtk_drag_unhighlight_w, gxg_gtk_drag_unhighlight)
-Xen_wrap_5_args(gxg_gtk_drag_dest_set_w, gxg_gtk_drag_dest_set)
 Xen_wrap_1_arg(gxg_gtk_drag_dest_unset_w, gxg_gtk_drag_dest_unset)
-Xen_wrap_3_args(gxg_gtk_drag_dest_find_target_w, gxg_gtk_drag_dest_find_target)
-Xen_wrap_1_arg(gxg_gtk_drag_dest_get_target_list_w, gxg_gtk_drag_dest_get_target_list)
-Xen_wrap_2_args(gxg_gtk_drag_dest_set_target_list_w, gxg_gtk_drag_dest_set_target_list)
-Xen_wrap_5_args(gxg_gtk_drag_source_set_w, gxg_gtk_drag_source_set)
 Xen_wrap_1_arg(gxg_gtk_drag_source_unset_w, gxg_gtk_drag_source_unset)
-Xen_wrap_2_args(gxg_gtk_drag_source_set_icon_pixbuf_w, gxg_gtk_drag_source_set_icon_pixbuf)
 Xen_wrap_4_args(gxg_gtk_drag_set_icon_widget_w, gxg_gtk_drag_set_icon_widget)
-Xen_wrap_4_args(gxg_gtk_drag_set_icon_pixbuf_w, gxg_gtk_drag_set_icon_pixbuf)
 Xen_wrap_1_arg(gxg_gtk_drag_set_icon_default_w, gxg_gtk_drag_set_icon_default)
 Xen_wrap_5_args(gxg_gtk_drag_check_threshold_w, gxg_gtk_drag_check_threshold)
 Xen_wrap_no_args(gxg_gtk_drawing_area_new_w, gxg_gtk_drawing_area_new)
@@ -36129,13 +35754,9 @@ Xen_wrap_1_arg(gxg_gtk_frame_get_shadow_type_w, gxg_gtk_frame_get_shadow_type)
 Xen_wrap_no_args(gxg_gtk_image_new_w, gxg_gtk_image_new)
 Xen_wrap_1_arg(gxg_gtk_image_new_from_file_w, gxg_gtk_image_new_from_file)
 Xen_wrap_1_arg(gxg_gtk_image_new_from_pixbuf_w, gxg_gtk_image_new_from_pixbuf)
-Xen_wrap_1_arg(gxg_gtk_image_new_from_animation_w, gxg_gtk_image_new_from_animation)
 Xen_wrap_2_args(gxg_gtk_image_set_from_file_w, gxg_gtk_image_set_from_file)
 Xen_wrap_2_args(gxg_gtk_image_set_from_pixbuf_w, gxg_gtk_image_set_from_pixbuf)
-Xen_wrap_2_args(gxg_gtk_image_set_from_animation_w, gxg_gtk_image_set_from_animation)
 Xen_wrap_1_arg(gxg_gtk_image_get_storage_type_w, gxg_gtk_image_get_storage_type)
-Xen_wrap_1_arg(gxg_gtk_image_get_pixbuf_w, gxg_gtk_image_get_pixbuf)
-Xen_wrap_1_arg(gxg_gtk_image_get_animation_w, gxg_gtk_image_get_animation)
 Xen_wrap_4_optional_args(gxg_gtk_im_context_get_preedit_string_w, gxg_gtk_im_context_get_preedit_string)
 Xen_wrap_2_args(gxg_gtk_im_context_filter_keypress_w, gxg_gtk_im_context_filter_keypress)
 Xen_wrap_1_arg(gxg_gtk_im_context_focus_in_w, gxg_gtk_im_context_focus_in)
@@ -36329,23 +35950,6 @@ Xen_wrap_2_args(gxg_gtk_scrolled_window_set_placement_w, gxg_gtk_scrolled_window
 Xen_wrap_1_arg(gxg_gtk_scrolled_window_get_placement_w, gxg_gtk_scrolled_window_get_placement)
 Xen_wrap_2_args(gxg_gtk_scrolled_window_set_shadow_type_w, gxg_gtk_scrolled_window_set_shadow_type)
 Xen_wrap_1_arg(gxg_gtk_scrolled_window_get_shadow_type_w, gxg_gtk_scrolled_window_get_shadow_type)
-Xen_wrap_2_args(gxg_gtk_target_list_new_w, gxg_gtk_target_list_new)
-Xen_wrap_1_arg(gxg_gtk_target_list_unref_w, gxg_gtk_target_list_unref)
-Xen_wrap_4_args(gxg_gtk_target_list_add_w, gxg_gtk_target_list_add)
-Xen_wrap_3_args(gxg_gtk_target_list_add_table_w, gxg_gtk_target_list_add_table)
-Xen_wrap_2_args(gxg_gtk_target_list_remove_w, gxg_gtk_target_list_remove)
-Xen_wrap_3_optional_args(gxg_gtk_target_list_find_w, gxg_gtk_target_list_find)
-Xen_wrap_3_args(gxg_gtk_selection_owner_set_w, gxg_gtk_selection_owner_set)
-Xen_wrap_4_args(gxg_gtk_selection_add_target_w, gxg_gtk_selection_add_target)
-Xen_wrap_4_args(gxg_gtk_selection_add_targets_w, gxg_gtk_selection_add_targets)
-Xen_wrap_2_args(gxg_gtk_selection_clear_targets_w, gxg_gtk_selection_clear_targets)
-Xen_wrap_4_args(gxg_gtk_selection_convert_w, gxg_gtk_selection_convert)
-Xen_wrap_5_args(gxg_gtk_selection_data_set_w, gxg_gtk_selection_data_set)
-Xen_wrap_3_args(gxg_gtk_selection_data_set_text_w, gxg_gtk_selection_data_set_text)
-Xen_wrap_1_arg(gxg_gtk_selection_data_get_text_w, gxg_gtk_selection_data_get_text)
-Xen_wrap_3_optional_args(gxg_gtk_selection_data_get_targets_w, gxg_gtk_selection_data_get_targets)
-Xen_wrap_1_arg(gxg_gtk_selection_data_targets_include_text_w, gxg_gtk_selection_data_targets_include_text)
-Xen_wrap_1_arg(gxg_gtk_selection_remove_all_w, gxg_gtk_selection_remove_all)
 Xen_wrap_1_arg(gxg_gtk_selection_data_copy_w, gxg_gtk_selection_data_copy)
 Xen_wrap_1_arg(gxg_gtk_selection_data_free_w, gxg_gtk_selection_data_free)
 Xen_wrap_no_args(gxg_gtk_separator_menu_item_new_w, gxg_gtk_separator_menu_item_new)
@@ -36401,7 +36005,6 @@ Xen_wrap_3_args(gxg_gtk_text_buffer_delete_w, gxg_gtk_text_buffer_delete)
 Xen_wrap_4_args(gxg_gtk_text_buffer_delete_interactive_w, gxg_gtk_text_buffer_delete_interactive)
 Xen_wrap_4_args(gxg_gtk_text_buffer_get_text_w, gxg_gtk_text_buffer_get_text)
 Xen_wrap_4_args(gxg_gtk_text_buffer_get_slice_w, gxg_gtk_text_buffer_get_slice)
-Xen_wrap_3_args(gxg_gtk_text_buffer_insert_pixbuf_w, gxg_gtk_text_buffer_insert_pixbuf)
 Xen_wrap_3_args(gxg_gtk_text_buffer_insert_child_anchor_w, gxg_gtk_text_buffer_insert_child_anchor)
 Xen_wrap_2_args(gxg_gtk_text_buffer_create_child_anchor_w, gxg_gtk_text_buffer_create_child_anchor)
 Xen_wrap_4_args(gxg_gtk_text_buffer_create_mark_w, gxg_gtk_text_buffer_create_mark)
@@ -36430,11 +36033,6 @@ Xen_wrap_3_args(gxg_gtk_text_buffer_get_iter_at_mark_w, gxg_gtk_text_buffer_get_
 Xen_wrap_3_args(gxg_gtk_text_buffer_get_iter_at_child_anchor_w, gxg_gtk_text_buffer_get_iter_at_child_anchor)
 Xen_wrap_1_arg(gxg_gtk_text_buffer_get_modified_w, gxg_gtk_text_buffer_get_modified)
 Xen_wrap_2_args(gxg_gtk_text_buffer_set_modified_w, gxg_gtk_text_buffer_set_modified)
-Xen_wrap_2_args(gxg_gtk_text_buffer_add_selection_clipboard_w, gxg_gtk_text_buffer_add_selection_clipboard)
-Xen_wrap_2_args(gxg_gtk_text_buffer_remove_selection_clipboard_w, gxg_gtk_text_buffer_remove_selection_clipboard)
-Xen_wrap_3_args(gxg_gtk_text_buffer_cut_clipboard_w, gxg_gtk_text_buffer_cut_clipboard)
-Xen_wrap_2_args(gxg_gtk_text_buffer_copy_clipboard_w, gxg_gtk_text_buffer_copy_clipboard)
-Xen_wrap_4_args(gxg_gtk_text_buffer_paste_clipboard_w, gxg_gtk_text_buffer_paste_clipboard)
 Xen_wrap_3_args(gxg_gtk_text_buffer_get_selection_bounds_w, gxg_gtk_text_buffer_get_selection_bounds)
 Xen_wrap_3_args(gxg_gtk_text_buffer_delete_selection_w, gxg_gtk_text_buffer_delete_selection)
 Xen_wrap_1_arg(gxg_gtk_text_buffer_begin_user_action_w, gxg_gtk_text_buffer_begin_user_action)
@@ -36456,7 +36054,6 @@ Xen_wrap_2_args(gxg_gtk_text_iter_get_slice_w, gxg_gtk_text_iter_get_slice)
 Xen_wrap_2_args(gxg_gtk_text_iter_get_text_w, gxg_gtk_text_iter_get_text)
 Xen_wrap_2_args(gxg_gtk_text_iter_get_visible_slice_w, gxg_gtk_text_iter_get_visible_slice)
 Xen_wrap_2_args(gxg_gtk_text_iter_get_visible_text_w, gxg_gtk_text_iter_get_visible_text)
-Xen_wrap_1_arg(gxg_gtk_text_iter_get_pixbuf_w, gxg_gtk_text_iter_get_pixbuf)
 Xen_wrap_1_arg(gxg_gtk_text_iter_get_marks_w, gxg_gtk_text_iter_get_marks)
 Xen_wrap_1_arg(gxg_gtk_text_iter_get_child_anchor_w, gxg_gtk_text_iter_get_child_anchor)
 Xen_wrap_2_args(gxg_gtk_text_iter_get_toggled_tags_w, gxg_gtk_text_iter_get_toggled_tags)
@@ -36527,7 +36124,6 @@ Xen_wrap_1_arg(gxg_gtk_text_mark_get_left_gravity_w, gxg_gtk_text_mark_get_left_
 Xen_wrap_1_arg(gxg_gtk_text_tag_new_w, gxg_gtk_text_tag_new)
 Xen_wrap_1_arg(gxg_gtk_text_tag_get_priority_w, gxg_gtk_text_tag_get_priority)
 Xen_wrap_2_args(gxg_gtk_text_tag_set_priority_w, gxg_gtk_text_tag_set_priority)
-Xen_wrap_4_args(gxg_gtk_text_tag_event_w, gxg_gtk_text_tag_event)
 Xen_wrap_no_args(gxg_gtk_text_tag_table_new_w, gxg_gtk_text_tag_table_new)
 Xen_wrap_2_args(gxg_gtk_text_tag_table_add_w, gxg_gtk_text_tag_table_add)
 Xen_wrap_2_args(gxg_gtk_text_tag_table_remove_w, gxg_gtk_text_tag_table_remove)
@@ -36551,8 +36147,6 @@ Xen_wrap_4_optional_args(gxg_gtk_text_view_get_line_yrange_w, gxg_gtk_text_view_
 Xen_wrap_4_optional_args(gxg_gtk_text_view_get_line_at_y_w, gxg_gtk_text_view_get_line_at_y)
 Xen_wrap_6_optional_args(gxg_gtk_text_view_buffer_to_window_coords_w, gxg_gtk_text_view_buffer_to_window_coords)
 Xen_wrap_6_optional_args(gxg_gtk_text_view_window_to_buffer_coords_w, gxg_gtk_text_view_window_to_buffer_coords)
-Xen_wrap_2_args(gxg_gtk_text_view_get_window_w, gxg_gtk_text_view_get_window)
-Xen_wrap_2_args(gxg_gtk_text_view_get_window_type_w, gxg_gtk_text_view_get_window_type)
 Xen_wrap_3_args(gxg_gtk_text_view_set_border_window_size_w, gxg_gtk_text_view_set_border_window_size)
 Xen_wrap_2_args(gxg_gtk_text_view_get_border_window_size_w, gxg_gtk_text_view_get_border_window_size)
 Xen_wrap_2_args(gxg_gtk_text_view_forward_display_line_w, gxg_gtk_text_view_forward_display_line)
@@ -36774,8 +36368,6 @@ Xen_wrap_7_optional_args(gxg_gtk_tree_view_get_path_at_pos_w, gxg_gtk_tree_view_
 Xen_wrap_4_args(gxg_gtk_tree_view_get_cell_area_w, gxg_gtk_tree_view_get_cell_area)
 Xen_wrap_4_args(gxg_gtk_tree_view_get_background_area_w, gxg_gtk_tree_view_get_background_area)
 Xen_wrap_2_args(gxg_gtk_tree_view_get_visible_rect_w, gxg_gtk_tree_view_get_visible_rect)
-Xen_wrap_5_args(gxg_gtk_tree_view_enable_model_drag_source_w, gxg_gtk_tree_view_enable_model_drag_source)
-Xen_wrap_4_args(gxg_gtk_tree_view_enable_model_drag_dest_w, gxg_gtk_tree_view_enable_model_drag_dest)
 Xen_wrap_1_arg(gxg_gtk_tree_view_unset_rows_drag_source_w, gxg_gtk_tree_view_unset_rows_drag_source)
 Xen_wrap_1_arg(gxg_gtk_tree_view_unset_rows_drag_dest_w, gxg_gtk_tree_view_unset_rows_drag_dest)
 Xen_wrap_3_args(gxg_gtk_tree_view_set_drag_dest_row_w, gxg_gtk_tree_view_set_drag_dest_row)
@@ -36872,10 +36464,6 @@ Xen_wrap_1_arg(gxg_gtk_window_get_gravity_w, gxg_gtk_window_get_gravity)
 Xen_wrap_2_args(gxg_gtk_window_set_decorated_w, gxg_gtk_window_set_decorated)
 Xen_wrap_1_arg(gxg_gtk_window_get_decorated_w, gxg_gtk_window_get_decorated)
 Xen_wrap_2_args(gxg_gtk_window_set_icon_list_w, gxg_gtk_window_set_icon_list)
-Xen_wrap_1_arg(gxg_gtk_window_get_icon_list_w, gxg_gtk_window_get_icon_list)
-Xen_wrap_2_args(gxg_gtk_window_set_icon_w, gxg_gtk_window_set_icon)
-Xen_wrap_1_arg(gxg_gtk_window_get_icon_w, gxg_gtk_window_get_icon)
-Xen_wrap_1_arg(gxg_gtk_window_set_default_icon_list_w, gxg_gtk_window_set_default_icon_list)
 Xen_wrap_no_args(gxg_gtk_window_get_default_icon_list_w, gxg_gtk_window_get_default_icon_list)
 Xen_wrap_2_args(gxg_gtk_window_set_modal_w, gxg_gtk_window_set_modal)
 Xen_wrap_1_arg(gxg_gtk_window_get_modal_w, gxg_gtk_window_get_modal)
@@ -37100,24 +36688,14 @@ Xen_wrap_3_args(gxg_gtk_tree_store_reorder_w, gxg_gtk_tree_store_reorder)
 Xen_wrap_3_args(gxg_gtk_tree_store_swap_w, gxg_gtk_tree_store_swap)
 Xen_wrap_1_arg(gxg_gdk_display_open_w, gxg_gdk_display_open)
 Xen_wrap_1_arg(gxg_gdk_display_get_name_w, gxg_gdk_display_get_name)
-Xen_wrap_1_arg(gxg_gdk_display_get_default_screen_w, gxg_gdk_display_get_default_screen)
 Xen_wrap_1_arg(gxg_gdk_display_beep_w, gxg_gdk_display_beep)
 Xen_wrap_1_arg(gxg_gdk_display_sync_w, gxg_gdk_display_sync)
 Xen_wrap_1_arg(gxg_gdk_display_close_w, gxg_gdk_display_close)
 Xen_wrap_1_arg(gxg_gdk_display_get_event_w, gxg_gdk_display_get_event)
 Xen_wrap_1_arg(gxg_gdk_display_peek_event_w, gxg_gdk_display_peek_event)
 Xen_wrap_2_args(gxg_gdk_display_put_event_w, gxg_gdk_display_put_event)
-Xen_wrap_2_args(gxg_gdk_display_set_double_click_time_w, gxg_gdk_display_set_double_click_time)
 Xen_wrap_no_args(gxg_gdk_display_get_default_w, gxg_gdk_display_get_default)
-Xen_wrap_1_arg(gxg_gdk_screen_get_display_w, gxg_gdk_screen_get_display)
-Xen_wrap_1_arg(gxg_gdk_screen_get_toplevel_windows_w, gxg_gdk_screen_get_toplevel_windows)
-Xen_wrap_no_args(gxg_gdk_screen_get_default_w, gxg_gdk_screen_get_default)
-Xen_wrap_2_args(gxg_gtk_clipboard_get_for_display_w, gxg_gtk_clipboard_get_for_display)
-Xen_wrap_1_arg(gxg_gtk_clipboard_get_display_w, gxg_gtk_clipboard_get_display)
-Xen_wrap_1_arg(gxg_gtk_widget_get_screen_w, gxg_gtk_widget_get_screen)
-Xen_wrap_1_arg(gxg_gtk_widget_has_screen_w, gxg_gtk_widget_has_screen)
 Xen_wrap_1_arg(gxg_gtk_widget_get_display_w, gxg_gtk_widget_get_display)
-Xen_wrap_2_args(gxg_gtk_widget_get_clipboard_w, gxg_gtk_widget_get_clipboard)
 Xen_wrap_1_arg(gxg_g_list_free_w, gxg_g_list_free)
 Xen_wrap_1_arg(gxg_g_list_reverse_w, gxg_g_list_reverse)
 Xen_wrap_1_arg(gxg_g_list_copy_w, gxg_g_list_copy)
@@ -37128,7 +36706,6 @@ Xen_wrap_1_arg(gxg_g_free_w, gxg_g_free)
 Xen_wrap_2_args(gxg_g_list_remove_link_w, gxg_g_list_remove_link)
 Xen_wrap_2_args(gxg_g_object_get_data_w, gxg_g_object_get_data)
 Xen_wrap_3_args(gxg_g_object_set_data_w, gxg_g_object_set_data)
-Xen_wrap_4_args(gxg_gdk_cursor_new_from_pixbuf_w, gxg_gdk_cursor_new_from_pixbuf)
 Xen_wrap_1_arg(gxg_gdk_display_flush_w, gxg_gdk_display_flush)
 Xen_wrap_1_arg(gxg_gdk_display_supports_cursor_alpha_w, gxg_gdk_display_supports_cursor_alpha)
 Xen_wrap_1_arg(gxg_gdk_display_supports_cursor_color_w, gxg_gdk_display_supports_cursor_color)
@@ -37159,7 +36736,6 @@ Xen_wrap_3_args(gxg_gtk_toolbar_get_drop_index_w, gxg_gtk_toolbar_get_drop_index
 Xen_wrap_2_args(gxg_gtk_tree_view_column_set_expand_w, gxg_gtk_tree_view_column_set_expand)
 Xen_wrap_1_arg(gxg_gtk_tree_view_column_get_expand_w, gxg_gtk_tree_view_column_get_expand)
 Xen_wrap_1_arg(gxg_gtk_widget_queue_resize_no_redraw_w, gxg_gtk_widget_queue_resize_no_redraw)
-Xen_wrap_1_arg(gxg_gtk_window_set_default_icon_w, gxg_gtk_window_set_default_icon)
 Xen_wrap_2_args(gxg_gtk_window_set_keep_above_w, gxg_gtk_window_set_keep_above)
 Xen_wrap_2_args(gxg_gtk_window_set_keep_below_w, gxg_gtk_window_set_keep_below)
 Xen_wrap_4_optional_args(gxg_gtk_file_chooser_dialog_new_w, gxg_gtk_file_chooser_dialog_new)
@@ -37203,8 +36779,6 @@ Xen_wrap_1_arg(gxg_gtk_font_button_get_use_font_w, gxg_gtk_font_button_get_use_f
 Xen_wrap_2_args(gxg_gtk_font_button_set_use_font_w, gxg_gtk_font_button_set_use_font)
 Xen_wrap_1_arg(gxg_gtk_font_button_get_use_size_w, gxg_gtk_font_button_get_use_size)
 Xen_wrap_2_args(gxg_gtk_font_button_set_use_size_w, gxg_gtk_font_button_set_use_size)
-Xen_wrap_1_arg(gxg_gtk_font_button_get_font_name_w, gxg_gtk_font_button_get_font_name)
-Xen_wrap_2_args(gxg_gtk_font_button_set_font_name_w, gxg_gtk_font_button_set_font_name)
 Xen_wrap_1_arg(gxg_gtk_font_button_get_show_style_w, gxg_gtk_font_button_get_show_style)
 Xen_wrap_2_args(gxg_gtk_font_button_set_show_style_w, gxg_gtk_font_button_set_show_style)
 Xen_wrap_1_arg(gxg_gtk_font_button_get_show_size_w, gxg_gtk_font_button_get_show_size)
@@ -37296,8 +36870,6 @@ Xen_wrap_3_optional_args(gxg_gtk_file_chooser_remove_shortcut_folder_uri_w, gxg_
 Xen_wrap_1_arg(gxg_gtk_file_chooser_list_shortcut_folder_uris_w, gxg_gtk_file_chooser_list_shortcut_folder_uris)
 Xen_wrap_no_args(gxg_gtk_icon_theme_new_w, gxg_gtk_icon_theme_new)
 Xen_wrap_no_args(gxg_gtk_icon_theme_get_default_w, gxg_gtk_icon_theme_get_default)
-Xen_wrap_1_arg(gxg_gtk_icon_theme_get_for_screen_w, gxg_gtk_icon_theme_get_for_screen)
-Xen_wrap_2_args(gxg_gtk_icon_theme_set_screen_w, gxg_gtk_icon_theme_set_screen)
 Xen_wrap_3_optional_args(gxg_gtk_icon_theme_get_search_path_w, gxg_gtk_icon_theme_get_search_path)
 Xen_wrap_2_args(gxg_gtk_icon_theme_append_search_path_w, gxg_gtk_icon_theme_append_search_path)
 Xen_wrap_2_args(gxg_gtk_icon_theme_prepend_search_path_w, gxg_gtk_icon_theme_prepend_search_path)
@@ -37337,12 +36909,9 @@ Xen_wrap_1_arg(gxg_gtk_tool_item_retrieve_proxy_menu_item_w, gxg_gtk_tool_item_r
 Xen_wrap_2_args(gxg_gtk_tool_item_get_proxy_menu_item_w, gxg_gtk_tool_item_get_proxy_menu_item)
 Xen_wrap_3_args(gxg_gtk_tool_item_set_proxy_menu_item_w, gxg_gtk_tool_item_set_proxy_menu_item)
 Xen_wrap_2_args(gxg_gtk_list_store_remove_w, gxg_gtk_list_store_remove)
-Xen_wrap_2_args(gxg_gdk_display_set_double_click_distance_w, gxg_gdk_display_set_double_click_distance)
 Xen_wrap_1_arg(gxg_gdk_display_get_default_group_w, gxg_gdk_display_get_default_group)
 Xen_wrap_1_arg(gxg_gdk_window_get_group_w, gxg_gdk_window_get_group)
 Xen_wrap_3_args(gxg_gtk_cell_layout_reorder_w, gxg_gtk_cell_layout_reorder)
-Xen_wrap_3_optional_args(gxg_gtk_clipboard_request_targets_w, gxg_gtk_clipboard_request_targets)
-Xen_wrap_3_optional_args(gxg_gtk_clipboard_wait_for_targets_w, gxg_gtk_clipboard_wait_for_targets)
 Xen_wrap_1_arg(gxg_gtk_menu_shell_cancel_w, gxg_gtk_menu_shell_cancel)
 Xen_wrap_1_arg(gxg_gtk_paned_get_child1_w, gxg_gtk_paned_get_child1)
 Xen_wrap_1_arg(gxg_gtk_paned_get_child2_w, gxg_gtk_paned_get_child2)
@@ -37357,8 +36926,6 @@ Xen_wrap_2_args(gxg_gtk_radio_menu_item_new_with_mnemonic_from_widget_w, gxg_gtk
 Xen_wrap_2_args(gxg_gtk_radio_menu_item_new_with_label_from_widget_w, gxg_gtk_radio_menu_item_new_with_label_from_widget)
 Xen_wrap_1_arg(gxg_gtk_scale_get_layout_w, gxg_gtk_scale_get_layout)
 Xen_wrap_3_optional_args(gxg_gtk_scale_get_layout_offsets_w, gxg_gtk_scale_get_layout_offsets)
-Xen_wrap_1_arg(gxg_gtk_drag_source_get_target_list_w, gxg_gtk_drag_source_get_target_list)
-Xen_wrap_2_args(gxg_gtk_drag_source_set_target_list_w, gxg_gtk_drag_source_set_target_list)
 Xen_wrap_2_args(gxg_gtk_entry_set_alignment_w, gxg_gtk_entry_set_alignment)
 Xen_wrap_1_arg(gxg_gtk_entry_get_alignment_w, gxg_gtk_entry_get_alignment)
 Xen_wrap_2_args(gxg_gtk_file_chooser_set_use_preview_label_w, gxg_gtk_file_chooser_set_use_preview_label)
@@ -37373,7 +36940,6 @@ Xen_wrap_1_arg(gxg_g_quark_to_string_w, gxg_g_quark_to_string)
 Xen_wrap_no_args(gxg_gtk_cell_view_new_w, gxg_gtk_cell_view_new)
 Xen_wrap_1_arg(gxg_gtk_cell_view_new_with_text_w, gxg_gtk_cell_view_new_with_text)
 Xen_wrap_1_arg(gxg_gtk_cell_view_new_with_markup_w, gxg_gtk_cell_view_new_with_markup)
-Xen_wrap_1_arg(gxg_gtk_cell_view_new_with_pixbuf_w, gxg_gtk_cell_view_new_with_pixbuf)
 Xen_wrap_2_args(gxg_gtk_cell_view_set_model_w, gxg_gtk_cell_view_set_model)
 Xen_wrap_2_args(gxg_gtk_cell_view_set_displayed_row_w, gxg_gtk_cell_view_set_displayed_row)
 Xen_wrap_1_arg(gxg_gtk_cell_view_get_displayed_row_w, gxg_gtk_cell_view_get_displayed_row)
@@ -37419,8 +36985,6 @@ Xen_wrap_1_arg(gxg_gtk_about_dialog_get_artists_w, gxg_gtk_about_dialog_get_arti
 Xen_wrap_2_args(gxg_gtk_about_dialog_set_artists_w, gxg_gtk_about_dialog_set_artists)
 Xen_wrap_1_arg(gxg_gtk_about_dialog_get_translator_credits_w, gxg_gtk_about_dialog_get_translator_credits)
 Xen_wrap_2_args(gxg_gtk_about_dialog_set_translator_credits_w, gxg_gtk_about_dialog_set_translator_credits)
-Xen_wrap_1_arg(gxg_gtk_about_dialog_get_logo_w, gxg_gtk_about_dialog_get_logo)
-Xen_wrap_2_args(gxg_gtk_about_dialog_set_logo_w, gxg_gtk_about_dialog_set_logo)
 Xen_wrap_1_arg(gxg_gtk_about_dialog_get_program_name_w, gxg_gtk_about_dialog_get_program_name)
 Xen_wrap_2_args(gxg_gtk_about_dialog_set_program_name_w, gxg_gtk_about_dialog_set_program_name)
 Xen_wrap_no_args(gxg_gtk_icon_view_new_w, gxg_gtk_icon_view_new)
@@ -37480,13 +37044,9 @@ Xen_wrap_1_arg(gxg_gtk_tool_item_rebuild_menu_w, gxg_gtk_tool_item_rebuild_menu)
 Xen_wrap_2_args(gxg_gtk_menu_tool_button_new_w, gxg_gtk_menu_tool_button_new)
 Xen_wrap_2_args(gxg_gtk_menu_tool_button_set_menu_w, gxg_gtk_menu_tool_button_set_menu)
 Xen_wrap_1_arg(gxg_gtk_menu_tool_button_get_menu_w, gxg_gtk_menu_tool_button_get_menu)
-Xen_wrap_1_arg(gxg_gdk_display_supports_clipboard_persistence_w, gxg_gdk_display_supports_clipboard_persistence)
 Xen_wrap_1_arg(gxg_gtk_about_dialog_get_logo_icon_name_w, gxg_gtk_about_dialog_get_logo_icon_name)
 Xen_wrap_2_args(gxg_gtk_about_dialog_set_logo_icon_name_w, gxg_gtk_about_dialog_set_logo_icon_name)
 Xen_wrap_2_args(gxg_gtk_accelerator_get_label_w, gxg_gtk_accelerator_get_label)
-Xen_wrap_2_args(gxg_gtk_clipboard_wait_is_target_available_w, gxg_gtk_clipboard_wait_is_target_available)
-Xen_wrap_3_args(gxg_gtk_clipboard_set_can_store_w, gxg_gtk_clipboard_set_can_store)
-Xen_wrap_1_arg(gxg_gtk_clipboard_store_w, gxg_gtk_clipboard_store)
 Xen_wrap_1_arg(gxg_gtk_drag_dest_add_image_targets_w, gxg_gtk_drag_dest_add_image_targets)
 Xen_wrap_1_arg(gxg_gtk_drag_dest_add_uri_targets_w, gxg_gtk_drag_dest_add_uri_targets)
 Xen_wrap_1_arg(gxg_gtk_drag_source_add_image_targets_w, gxg_gtk_drag_source_add_image_targets)
@@ -37497,25 +37057,13 @@ Xen_wrap_2_args(gxg_gtk_image_set_pixel_size_w, gxg_gtk_image_set_pixel_size)
 Xen_wrap_1_arg(gxg_gtk_image_get_pixel_size_w, gxg_gtk_image_get_pixel_size)
 Xen_wrap_2_args(gxg_gtk_label_set_width_chars_w, gxg_gtk_label_set_width_chars)
 Xen_wrap_1_arg(gxg_gtk_label_get_width_chars_w, gxg_gtk_label_get_width_chars)
-Xen_wrap_2_args(gxg_gtk_target_list_add_text_targets_w, gxg_gtk_target_list_add_text_targets)
-Xen_wrap_3_args(gxg_gtk_target_list_add_image_targets_w, gxg_gtk_target_list_add_image_targets)
-Xen_wrap_2_args(gxg_gtk_target_list_add_uri_targets_w, gxg_gtk_target_list_add_uri_targets)
-Xen_wrap_2_args(gxg_gtk_selection_data_set_pixbuf_w, gxg_gtk_selection_data_set_pixbuf)
-Xen_wrap_1_arg(gxg_gtk_selection_data_get_pixbuf_w, gxg_gtk_selection_data_get_pixbuf)
-Xen_wrap_2_args(gxg_gtk_selection_data_set_uris_w, gxg_gtk_selection_data_set_uris)
-Xen_wrap_1_arg(gxg_gtk_selection_data_get_uris_w, gxg_gtk_selection_data_get_uris)
 Xen_wrap_4_args(gxg_gtk_text_buffer_backspace_w, gxg_gtk_text_buffer_backspace)
-Xen_wrap_2_args(gxg_gtk_clipboard_set_image_w, gxg_gtk_clipboard_set_image)
-Xen_wrap_3_optional_args(gxg_gtk_clipboard_request_image_w, gxg_gtk_clipboard_request_image)
-Xen_wrap_1_arg(gxg_gtk_clipboard_wait_for_image_w, gxg_gtk_clipboard_wait_for_image)
-Xen_wrap_1_arg(gxg_gtk_clipboard_wait_is_image_available_w, gxg_gtk_clipboard_wait_is_image_available)
 Xen_wrap_1_arg(gxg_gtk_file_filter_add_pixbuf_formats_w, gxg_gtk_file_filter_add_pixbuf_formats)
 Xen_wrap_2_args(gxg_gtk_label_set_single_line_mode_w, gxg_gtk_label_set_single_line_mode)
 Xen_wrap_1_arg(gxg_gtk_label_get_single_line_mode_w, gxg_gtk_label_get_single_line_mode)
 Xen_wrap_2_args(gxg_gtk_progress_bar_set_ellipsize_w, gxg_gtk_progress_bar_set_ellipsize)
 Xen_wrap_1_arg(gxg_gtk_progress_bar_get_ellipsize_w, gxg_gtk_progress_bar_get_ellipsize)
 Xen_wrap_2_args(gxg_gtk_selection_data_targets_include_image_w, gxg_gtk_selection_data_targets_include_image)
-Xen_wrap_2_args(gxg_gtk_menu_set_screen_w, gxg_gtk_menu_set_screen)
 Xen_wrap_3_args(gxg_pango_attr_underline_color_new_w, gxg_pango_attr_underline_color_new)
 Xen_wrap_3_args(gxg_pango_attr_strikethrough_color_new_w, gxg_pango_attr_strikethrough_color_new)
 Xen_wrap_4_args(gxg_pango_renderer_draw_layout_w, gxg_pango_renderer_draw_layout)
@@ -37554,8 +37102,6 @@ Xen_wrap_6_args(gxg_gtk_list_store_insert_with_valuesv_w, gxg_gtk_list_store_ins
 Xen_wrap_1_arg(gxg_pango_attr_size_new_absolute_w, gxg_pango_attr_size_new_absolute)
 Xen_wrap_2_args(gxg_pango_font_description_set_absolute_size_w, gxg_pango_font_description_set_absolute_size)
 Xen_wrap_1_arg(gxg_pango_layout_get_font_description_w, gxg_pango_layout_get_font_description)
-Xen_wrap_2_args(gxg_gdk_cursor_new_from_name_w, gxg_gdk_cursor_new_from_name)
-Xen_wrap_1_arg(gxg_gdk_cursor_get_image_w, gxg_gdk_cursor_get_image)
 Xen_wrap_2_args(gxg_gdk_window_set_urgency_hint_w, gxg_gdk_window_set_urgency_hint)
 Xen_wrap_2_args(gxg_gtk_dialog_get_response_for_widget_w, gxg_gtk_dialog_get_response_for_widget)
 Xen_wrap_2_args(gxg_gtk_drag_source_set_icon_name_w, gxg_gtk_drag_source_set_icon_name)
@@ -37569,8 +37115,6 @@ Xen_wrap_3_optional_args(gxg_gtk_icon_view_get_visible_range_w, gxg_gtk_icon_vie
 Xen_wrap_4_args(gxg_gtk_icon_view_set_cursor_w, gxg_gtk_icon_view_set_cursor)
 Xen_wrap_3_optional_args(gxg_gtk_icon_view_get_cursor_w, gxg_gtk_icon_view_get_cursor)
 Xen_wrap_5_args(gxg_gtk_icon_view_scroll_to_path_w, gxg_gtk_icon_view_scroll_to_path)
-Xen_wrap_5_args(gxg_gtk_icon_view_enable_model_drag_source_w, gxg_gtk_icon_view_enable_model_drag_source)
-Xen_wrap_4_args(gxg_gtk_icon_view_enable_model_drag_dest_w, gxg_gtk_icon_view_enable_model_drag_dest)
 Xen_wrap_1_arg(gxg_gtk_icon_view_unset_model_drag_source_w, gxg_gtk_icon_view_unset_model_drag_source)
 Xen_wrap_1_arg(gxg_gtk_icon_view_unset_model_drag_dest_w, gxg_gtk_icon_view_unset_model_drag_dest)
 Xen_wrap_2_args(gxg_gtk_icon_view_set_reorderable_w, gxg_gtk_icon_view_set_reorderable)
@@ -37602,15 +37146,9 @@ Xen_wrap_3_optional_args(gxg_gtk_tree_view_get_visible_range_w, gxg_gtk_tree_vie
 Xen_wrap_1_arg(gxg_pango_attr_list_ref_w, gxg_pango_attr_list_ref)
 Xen_wrap_1_arg(gxg_pango_layout_line_ref_w, gxg_pango_layout_line_ref)
 Xen_wrap_5_optional_args(gxg_pango_layout_index_to_line_x_w, gxg_pango_layout_index_to_line_x)
-Xen_wrap_1_arg(gxg_gtk_target_list_ref_w, gxg_gtk_target_list_ref)
 Xen_wrap_1_arg(gxg_gdk_display_supports_shapes_w, gxg_gdk_display_supports_shapes)
 Xen_wrap_1_arg(gxg_gdk_display_supports_input_shapes_w, gxg_gdk_display_supports_input_shapes)
-Xen_wrap_2_args(gxg_gdk_screen_set_resolution_w, gxg_gdk_screen_set_resolution)
-Xen_wrap_1_arg(gxg_gdk_screen_get_resolution_w, gxg_gdk_screen_get_resolution)
 Xen_wrap_1_arg(gxg_gdk_window_get_type_hint_w, gxg_gdk_window_get_type_hint)
-Xen_wrap_4_optional_args(gxg_gtk_clipboard_request_rich_text_w, gxg_gtk_clipboard_request_rich_text)
-Xen_wrap_4_optional_args(gxg_gtk_clipboard_wait_for_rich_text_w, gxg_gtk_clipboard_wait_for_rich_text)
-Xen_wrap_2_args(gxg_gtk_clipboard_wait_is_rich_text_available_w, gxg_gtk_clipboard_wait_is_rich_text_available)
 Xen_wrap_2_args(gxg_gtk_drag_dest_set_track_motion_w, gxg_gtk_drag_dest_set_track_motion)
 Xen_wrap_1_arg(gxg_gtk_drag_dest_get_track_motion_w, gxg_gtk_drag_dest_get_track_motion)
 Xen_wrap_2_args(gxg_gtk_notebook_get_tab_reorderable_w, gxg_gtk_notebook_get_tab_reorderable)
@@ -37622,19 +37160,8 @@ Xen_wrap_1_arg(gxg_gtk_range_get_lower_stepper_sensitivity_w, gxg_gtk_range_get_
 Xen_wrap_2_args(gxg_gtk_range_set_upper_stepper_sensitivity_w, gxg_gtk_range_set_upper_stepper_sensitivity)
 Xen_wrap_1_arg(gxg_gtk_range_get_upper_stepper_sensitivity_w, gxg_gtk_range_get_upper_stepper_sensitivity)
 Xen_wrap_1_arg(gxg_gtk_scrolled_window_unset_placement_w, gxg_gtk_scrolled_window_unset_placement)
-Xen_wrap_4_args(gxg_gtk_target_list_add_rich_text_targets_w, gxg_gtk_target_list_add_rich_text_targets)
-Xen_wrap_2_optional_args(gxg_gtk_target_table_new_from_list_w, gxg_gtk_target_table_new_from_list)
-Xen_wrap_2_args(gxg_gtk_target_table_free_w, gxg_gtk_target_table_free)
-Xen_wrap_2_args(gxg_gtk_selection_data_targets_include_rich_text_w, gxg_gtk_selection_data_targets_include_rich_text)
-Xen_wrap_1_arg(gxg_gtk_selection_data_targets_include_uri_w, gxg_gtk_selection_data_targets_include_uri)
-Xen_wrap_2_args(gxg_gtk_targets_include_text_w, gxg_gtk_targets_include_text)
-Xen_wrap_3_args(gxg_gtk_targets_include_rich_text_w, gxg_gtk_targets_include_rich_text)
-Xen_wrap_3_args(gxg_gtk_targets_include_image_w, gxg_gtk_targets_include_image)
-Xen_wrap_2_args(gxg_gtk_targets_include_uri_w, gxg_gtk_targets_include_uri)
 Xen_wrap_1_arg(gxg_gtk_size_group_get_widgets_w, gxg_gtk_size_group_get_widgets)
 Xen_wrap_1_arg(gxg_gtk_text_buffer_get_has_selection_w, gxg_gtk_text_buffer_get_has_selection)
-Xen_wrap_1_arg(gxg_gtk_text_buffer_get_copy_target_list_w, gxg_gtk_text_buffer_get_copy_target_list)
-Xen_wrap_1_arg(gxg_gtk_text_buffer_get_paste_target_list_w, gxg_gtk_text_buffer_get_paste_target_list)
 Xen_wrap_1_arg(gxg_gtk_tree_view_get_headers_clickable_w, gxg_gtk_tree_view_get_headers_clickable)
 Xen_wrap_1_arg(gxg_gtk_tree_view_get_search_entry_w, gxg_gtk_tree_view_get_search_entry)
 Xen_wrap_2_args(gxg_gtk_tree_view_set_search_entry_w, gxg_gtk_tree_view_set_search_entry)
@@ -37737,25 +37264,12 @@ Xen_wrap_1_arg(gxg_gtk_recent_info_last_application_w, gxg_gtk_recent_info_last_
 Xen_wrap_2_args(gxg_gtk_recent_info_has_application_w, gxg_gtk_recent_info_has_application)
 Xen_wrap_2_optional_args(gxg_gtk_recent_info_get_groups_w, gxg_gtk_recent_info_get_groups)
 Xen_wrap_2_args(gxg_gtk_recent_info_has_group_w, gxg_gtk_recent_info_has_group)
-Xen_wrap_2_args(gxg_gtk_recent_info_get_icon_w, gxg_gtk_recent_info_get_icon)
 Xen_wrap_1_arg(gxg_gtk_recent_info_get_short_name_w, gxg_gtk_recent_info_get_short_name)
 Xen_wrap_1_arg(gxg_gtk_recent_info_get_uri_display_w, gxg_gtk_recent_info_get_uri_display)
 Xen_wrap_1_arg(gxg_gtk_recent_info_get_age_w, gxg_gtk_recent_info_get_age)
 Xen_wrap_1_arg(gxg_gtk_recent_info_is_local_w, gxg_gtk_recent_info_is_local)
 Xen_wrap_1_arg(gxg_gtk_recent_info_exists_w, gxg_gtk_recent_info_exists)
 Xen_wrap_2_args(gxg_gtk_recent_info_match_w, gxg_gtk_recent_info_match)
-Xen_wrap_5_args(gxg_gtk_text_buffer_register_serialize_format_w, gxg_gtk_text_buffer_register_serialize_format)
-Xen_wrap_2_args(gxg_gtk_text_buffer_register_serialize_tagset_w, gxg_gtk_text_buffer_register_serialize_tagset)
-Xen_wrap_5_args(gxg_gtk_text_buffer_register_deserialize_format_w, gxg_gtk_text_buffer_register_deserialize_format)
-Xen_wrap_2_args(gxg_gtk_text_buffer_register_deserialize_tagset_w, gxg_gtk_text_buffer_register_deserialize_tagset)
-Xen_wrap_2_args(gxg_gtk_text_buffer_unregister_serialize_format_w, gxg_gtk_text_buffer_unregister_serialize_format)
-Xen_wrap_2_args(gxg_gtk_text_buffer_unregister_deserialize_format_w, gxg_gtk_text_buffer_unregister_deserialize_format)
-Xen_wrap_3_args(gxg_gtk_text_buffer_deserialize_set_can_create_tags_w, gxg_gtk_text_buffer_deserialize_set_can_create_tags)
-Xen_wrap_2_args(gxg_gtk_text_buffer_deserialize_get_can_create_tags_w, gxg_gtk_text_buffer_deserialize_get_can_create_tags)
-Xen_wrap_2_optional_args(gxg_gtk_text_buffer_get_serialize_formats_w, gxg_gtk_text_buffer_get_serialize_formats)
-Xen_wrap_2_optional_args(gxg_gtk_text_buffer_get_deserialize_formats_w, gxg_gtk_text_buffer_get_deserialize_formats)
-Xen_wrap_6_optional_args(gxg_gtk_text_buffer_serialize_w, gxg_gtk_text_buffer_serialize)
-Xen_wrap_7_optional_args(gxg_gtk_text_buffer_deserialize_w, gxg_gtk_text_buffer_deserialize)
 Xen_wrap_2_args(gxg_gtk_recent_manager_add_item_w, gxg_gtk_recent_manager_add_item)
 Xen_wrap_3_args(gxg_gtk_recent_manager_add_full_w, gxg_gtk_recent_manager_add_full)
 Xen_wrap_3_args(gxg_gtk_tree_model_filter_convert_child_iter_to_iter_w, gxg_gtk_tree_model_filter_convert_child_iter_to_iter)
@@ -37858,7 +37372,6 @@ Xen_wrap_1_arg(gxg_gtk_print_settings_get_finishings_w, gxg_gtk_print_settings_g
 Xen_wrap_2_args(gxg_gtk_print_settings_set_finishings_w, gxg_gtk_print_settings_set_finishings)
 Xen_wrap_1_arg(gxg_gtk_print_settings_get_output_bin_w, gxg_gtk_print_settings_get_output_bin)
 Xen_wrap_2_args(gxg_gtk_print_settings_set_output_bin_w, gxg_gtk_print_settings_set_output_bin)
-Xen_wrap_1_arg(gxg_gtk_settings_get_for_screen_w, gxg_gtk_settings_get_for_screen)
 Xen_wrap_1_arg(gxg_pango_cairo_create_layout_w, gxg_pango_cairo_create_layout)
 Xen_wrap_2_args(gxg_pango_cairo_update_layout_w, gxg_pango_cairo_update_layout)
 Xen_wrap_2_args(gxg_pango_cairo_update_context_w, gxg_pango_cairo_update_context)
@@ -37876,8 +37389,6 @@ Xen_wrap_2_args(gxg_pango_cairo_layout_path_w, gxg_pango_cairo_layout_path)
 Xen_wrap_5_args(gxg_pango_cairo_error_underline_path_w, gxg_pango_cairo_error_underline_path)
 Xen_wrap_4_args(gxg_gdk_cairo_set_source_pixbuf_w, gxg_gdk_cairo_set_source_pixbuf)
 Xen_wrap_2_args(gxg_gdk_cairo_rectangle_w, gxg_gdk_cairo_rectangle)
-Xen_wrap_1_arg(gxg_gdk_event_request_motions_w, gxg_gdk_event_request_motions)
-Xen_wrap_1_arg(gxg_gdk_notify_startup_complete_with_id_w, gxg_gdk_notify_startup_complete_with_id)
 Xen_wrap_4_args(gxg_gdk_threads_add_idle_full_w, gxg_gdk_threads_add_idle_full)
 Xen_wrap_2_optional_args(gxg_gdk_threads_add_idle_w, gxg_gdk_threads_add_idle)
 Xen_wrap_5_args(gxg_gdk_threads_add_timeout_full_w, gxg_gdk_threads_add_timeout_full)
@@ -38003,9 +37514,6 @@ Xen_wrap_1_arg(gxg_gtk_entry_get_progress_fraction_w, gxg_gtk_entry_get_progress
 Xen_wrap_2_args(gxg_gtk_entry_set_progress_pulse_step_w, gxg_gtk_entry_set_progress_pulse_step)
 Xen_wrap_1_arg(gxg_gtk_entry_get_progress_pulse_step_w, gxg_gtk_entry_get_progress_pulse_step)
 Xen_wrap_1_arg(gxg_gtk_entry_progress_pulse_w, gxg_gtk_entry_progress_pulse)
-Xen_wrap_3_args(gxg_gtk_entry_set_icon_from_pixbuf_w, gxg_gtk_entry_set_icon_from_pixbuf)
-Xen_wrap_3_args(gxg_gtk_entry_set_icon_from_icon_name_w, gxg_gtk_entry_set_icon_from_icon_name)
-Xen_wrap_3_args(gxg_gtk_entry_set_icon_from_gicon_w, gxg_gtk_entry_set_icon_from_gicon)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_name_w, gxg_gtk_entry_get_icon_name)
 Xen_wrap_3_args(gxg_gtk_entry_set_icon_activatable_w, gxg_gtk_entry_set_icon_activatable)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_activatable_w, gxg_gtk_entry_get_icon_activatable)
@@ -38014,13 +37522,10 @@ Xen_wrap_2_args(gxg_gtk_entry_get_icon_sensitive_w, gxg_gtk_entry_get_icon_sensi
 Xen_wrap_3_args(gxg_gtk_entry_get_icon_at_pos_w, gxg_gtk_entry_get_icon_at_pos)
 Xen_wrap_3_args(gxg_gtk_entry_set_icon_tooltip_text_w, gxg_gtk_entry_set_icon_tooltip_text)
 Xen_wrap_3_args(gxg_gtk_entry_set_icon_tooltip_markup_w, gxg_gtk_entry_set_icon_tooltip_markup)
-Xen_wrap_4_args(gxg_gtk_entry_set_icon_drag_source_w, gxg_gtk_entry_set_icon_drag_source)
-Xen_wrap_1_arg(gxg_gtk_entry_get_current_icon_drag_source_w, gxg_gtk_entry_get_current_icon_drag_source)
 Xen_wrap_2_args(gxg_gtk_menu_item_set_label_w, gxg_gtk_menu_item_set_label)
 Xen_wrap_1_arg(gxg_gtk_menu_item_get_label_w, gxg_gtk_menu_item_get_label)
 Xen_wrap_2_args(gxg_gtk_menu_item_set_use_underline_w, gxg_gtk_menu_item_set_use_underline)
 Xen_wrap_1_arg(gxg_gtk_menu_item_get_use_underline_w, gxg_gtk_menu_item_get_use_underline)
-Xen_wrap_1_arg(gxg_gtk_selection_data_get_selection_w, gxg_gtk_selection_data_get_selection)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_tooltip_text_w, gxg_gtk_entry_get_icon_tooltip_text)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_tooltip_markup_w, gxg_gtk_entry_get_icon_tooltip_markup)
 Xen_wrap_4_args(gxg_gtk_scale_add_mark_w, gxg_gtk_scale_add_mark)
@@ -38120,7 +37625,6 @@ Xen_wrap_3_args(gxg_gtk_tool_palette_set_expand_w, gxg_gtk_tool_palette_set_expa
 Xen_wrap_2_args(gxg_gtk_tool_palette_get_group_position_w, gxg_gtk_tool_palette_get_group_position)
 Xen_wrap_2_args(gxg_gtk_tool_palette_get_exclusive_w, gxg_gtk_tool_palette_get_exclusive)
 Xen_wrap_2_args(gxg_gtk_tool_palette_get_expand_w, gxg_gtk_tool_palette_get_expand)
-Xen_wrap_1_arg(gxg_gtk_tool_palette_unset_icon_size_w, gxg_gtk_tool_palette_unset_icon_size)
 Xen_wrap_2_args(gxg_gtk_tool_palette_set_style_w, gxg_gtk_tool_palette_set_style)
 Xen_wrap_1_arg(gxg_gtk_tool_palette_unset_style_w, gxg_gtk_tool_palette_unset_style)
 Xen_wrap_1_arg(gxg_gtk_tool_palette_get_style_w, gxg_gtk_tool_palette_get_style)
@@ -38129,8 +37633,6 @@ Xen_wrap_3_args(gxg_gtk_tool_palette_get_drop_group_w, gxg_gtk_tool_palette_get_
 Xen_wrap_2_args(gxg_gtk_tool_palette_get_drag_item_w, gxg_gtk_tool_palette_get_drag_item)
 Xen_wrap_2_args(gxg_gtk_tool_palette_set_drag_source_w, gxg_gtk_tool_palette_set_drag_source)
 Xen_wrap_5_args(gxg_gtk_tool_palette_add_drag_dest_w, gxg_gtk_tool_palette_add_drag_dest)
-Xen_wrap_no_args(gxg_gtk_tool_palette_get_drag_target_item_w, gxg_gtk_tool_palette_get_drag_target_item)
-Xen_wrap_no_args(gxg_gtk_tool_palette_get_drag_target_group_w, gxg_gtk_tool_palette_get_drag_target_group)
 Xen_wrap_1_arg(gxg_gtk_tool_item_group_new_w, gxg_gtk_tool_item_group_new)
 Xen_wrap_2_args(gxg_gtk_tool_item_group_set_label_w, gxg_gtk_tool_item_group_set_label)
 Xen_wrap_2_args(gxg_gtk_tool_item_group_set_label_widget_w, gxg_gtk_tool_item_group_set_label_widget)
@@ -38166,9 +37668,7 @@ Xen_wrap_5_optional_args(gxg_gdk_window_coords_to_parent_w, gxg_gdk_window_coord
 Xen_wrap_5_optional_args(gxg_gdk_window_coords_from_parent_w, gxg_gdk_window_coords_from_parent)
 Xen_wrap_1_arg(gxg_gtk_accessible_get_widget_w, gxg_gtk_accessible_get_widget)
 Xen_wrap_2_args(gxg_gtk_widget_send_focus_change_w, gxg_gtk_widget_send_focus_change)
-Xen_wrap_2_args(gxg_gdk_drag_context_set_device_w, gxg_gdk_drag_context_set_device)
 Xen_wrap_1_arg(gxg_gdk_drag_context_get_device_w, gxg_gdk_drag_context_get_device)
-Xen_wrap_1_arg(gxg_gdk_drag_context_list_targets_w, gxg_gdk_drag_context_list_targets)
 Xen_wrap_2_args(gxg_gdk_event_set_device_w, gxg_gdk_event_set_device)
 Xen_wrap_1_arg(gxg_gdk_event_get_device_w, gxg_gdk_event_get_device)
 Xen_wrap_3_optional_args(gxg_gdk_events_get_distance_w, gxg_gdk_events_get_distance)
@@ -38215,7 +37715,6 @@ Xen_wrap_1_arg(gxg_gdk_window_get_update_area_w, gxg_gdk_window_get_update_area)
 Xen_wrap_4_args(gxg_gdk_window_move_region_w, gxg_gdk_window_move_region)
 Xen_wrap_1_arg(gxg_gdk_keymap_get_num_lock_state_w, gxg_gdk_keymap_get_num_lock_state)
 Xen_wrap_1_arg(gxg_gdk_window_has_native_w, gxg_gdk_window_has_native)
-Xen_wrap_1_arg(gxg_gdk_cursor_get_cursor_type_w, gxg_gdk_cursor_get_cursor_type)
 Xen_wrap_1_arg(gxg_gdk_display_is_closed_w, gxg_gdk_display_is_closed)
 Xen_wrap_4_args(gxg_gdk_window_create_similar_surface_w, gxg_gdk_window_create_similar_surface)
 Xen_wrap_2_args(gxg_gtk_expander_set_label_fill_w, gxg_gtk_expander_set_label_fill)
@@ -38231,7 +37730,6 @@ Xen_wrap_2_args(gxg_gtk_icon_view_create_drag_icon_w, gxg_gtk_icon_view_create_d
 Xen_wrap_2_args(gxg_gtk_tree_view_create_row_drag_icon_w, gxg_gtk_tree_view_create_row_drag_icon)
 Xen_wrap_2_args(gxg_gdk_cairo_get_clip_rectangle_w, gxg_gdk_cairo_get_clip_rectangle)
 Xen_wrap_1_arg(gxg_gdk_cairo_region_create_from_surface_w, gxg_gdk_cairo_region_create_from_surface)
-Xen_wrap_1_arg(gxg_gdk_window_get_screen_w, gxg_gdk_window_get_screen)
 Xen_wrap_1_arg(gxg_gdk_window_get_display_w, gxg_gdk_window_get_display)
 Xen_wrap_1_arg(gxg_gdk_window_get_width_w, gxg_gdk_window_get_width)
 Xen_wrap_1_arg(gxg_gdk_window_get_height_w, gxg_gdk_window_get_height)
@@ -38257,14 +37755,10 @@ Xen_wrap_1_arg(gxg_gtk_widget_get_margin_bottom_w, gxg_gtk_widget_get_margin_bot
 Xen_wrap_2_args(gxg_gtk_widget_set_margin_bottom_w, gxg_gtk_widget_set_margin_bottom)
 Xen_wrap_2_args(gxg_gtk_widget_shape_combine_region_w, gxg_gtk_widget_shape_combine_region)
 Xen_wrap_2_args(gxg_gtk_widget_input_shape_combine_region_w, gxg_gtk_widget_input_shape_combine_region)
-Xen_wrap_3_args(gxg_gtk_cairo_transform_to_window_w, gxg_gtk_cairo_transform_to_window)
 Xen_wrap_no_args(gxg_gtk_combo_box_new_with_entry_w, gxg_gtk_combo_box_new_with_entry)
 Xen_wrap_1_arg(gxg_gtk_combo_box_get_has_entry_w, gxg_gtk_combo_box_get_has_entry)
 Xen_wrap_2_args(gxg_gtk_combo_box_set_entry_text_column_w, gxg_gtk_combo_box_set_entry_text_column)
 Xen_wrap_1_arg(gxg_gtk_combo_box_get_entry_text_column_w, gxg_gtk_combo_box_get_entry_text_column)
-Xen_wrap_3_args(gxg_gtk_target_entry_new_w, gxg_gtk_target_entry_new)
-Xen_wrap_1_arg(gxg_gtk_target_entry_copy_w, gxg_gtk_target_entry_copy)
-Xen_wrap_1_arg(gxg_gtk_target_entry_free_w, gxg_gtk_target_entry_free)
 Xen_wrap_1_arg(gxg_gtk_widget_get_hexpand_w, gxg_gtk_widget_get_hexpand)
 Xen_wrap_2_args(gxg_gtk_widget_set_hexpand_w, gxg_gtk_widget_set_hexpand)
 Xen_wrap_1_arg(gxg_gtk_widget_get_hexpand_set_w, gxg_gtk_widget_get_hexpand_set)
@@ -38332,13 +37826,11 @@ Xen_wrap_5_args(gxg_gtk_tree_view_set_cursor_on_cell_w, gxg_gtk_tree_view_set_cu
 Xen_wrap_2_args(gxg_gtk_tree_view_set_rubber_banding_w, gxg_gtk_tree_view_set_rubber_banding)
 Xen_wrap_1_arg(gxg_gtk_tree_view_get_rubber_banding_w, gxg_gtk_tree_view_get_rubber_banding)
 Xen_wrap_2_args(gxg_gtk_tooltip_set_markup_w, gxg_gtk_tooltip_set_markup)
-Xen_wrap_2_args(gxg_gtk_tooltip_set_icon_w, gxg_gtk_tooltip_set_icon)
 Xen_wrap_2_args(gxg_gtk_tooltip_set_custom_w, gxg_gtk_tooltip_set_custom)
 Xen_wrap_1_arg(gxg_gtk_tooltip_trigger_tooltip_query_w, gxg_gtk_tooltip_trigger_tooltip_query)
 Xen_wrap_1_arg(gxg_gtk_tree_view_column_new_with_area_w, gxg_gtk_tree_view_column_new_with_area)
 Xen_wrap_1_arg(gxg_gtk_tree_view_column_get_button_w, gxg_gtk_tree_view_column_get_button)
 Xen_wrap_2_args(gxg_gtk_tree_view_column_focus_cell_w, gxg_gtk_tree_view_column_focus_cell)
-Xen_wrap_1_arg(gxg_gtk_clipboard_wait_is_uris_available_w, gxg_gtk_clipboard_wait_is_uris_available)
 Xen_wrap_3_args(gxg_gtk_toolbar_set_drop_highlight_item_w, gxg_gtk_toolbar_set_drop_highlight_item)
 Xen_wrap_1_arg(gxg_gtk_tool_item_toolbar_reconfigured_w, gxg_gtk_tool_item_toolbar_reconfigured)
 Xen_wrap_2_args(gxg_gtk_orientable_set_orientation_w, gxg_gtk_orientable_set_orientation)
@@ -38350,11 +37842,7 @@ Xen_wrap_no_args(gxg_gtk_get_binary_age_w, gxg_gtk_get_binary_age)
 Xen_wrap_no_args(gxg_gtk_get_interface_age_w, gxg_gtk_get_interface_age)
 Xen_wrap_2_args(gxg_gtk_progress_bar_set_show_text_w, gxg_gtk_progress_bar_set_show_text)
 Xen_wrap_1_arg(gxg_gtk_progress_bar_get_show_text_w, gxg_gtk_progress_bar_get_show_text)
-Xen_wrap_1_arg(gxg_gtk_invisible_new_for_screen_w, gxg_gtk_invisible_new_for_screen)
-Xen_wrap_2_args(gxg_gtk_invisible_set_screen_w, gxg_gtk_invisible_set_screen)
-Xen_wrap_1_arg(gxg_gtk_invisible_get_screen_w, gxg_gtk_invisible_get_screen)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_storage_type_w, gxg_gtk_entry_get_icon_storage_type)
-Xen_wrap_2_args(gxg_gtk_entry_get_icon_pixbuf_w, gxg_gtk_entry_get_icon_pixbuf)
 Xen_wrap_2_args(gxg_gtk_entry_get_icon_gicon_w, gxg_gtk_entry_get_icon_gicon)
 Xen_wrap_2_args(gxg_gtk_container_set_focus_chain_w, gxg_gtk_container_set_focus_chain)
 Xen_wrap_2_optional_args(gxg_gtk_container_get_focus_chain_w, gxg_gtk_container_get_focus_chain)
@@ -38368,8 +37856,6 @@ Xen_wrap_2_args(gxg_gtk_window_set_skip_taskbar_hint_w, gxg_gtk_window_set_skip_
 Xen_wrap_1_arg(gxg_gtk_window_get_skip_taskbar_hint_w, gxg_gtk_window_get_skip_taskbar_hint)
 Xen_wrap_2_args(gxg_gtk_window_set_skip_pager_hint_w, gxg_gtk_window_set_skip_pager_hint)
 Xen_wrap_1_arg(gxg_gtk_window_get_skip_pager_hint_w, gxg_gtk_window_get_skip_pager_hint)
-Xen_wrap_2_args(gxg_gtk_window_set_screen_w, gxg_gtk_window_set_screen)
-Xen_wrap_1_arg(gxg_gtk_window_get_screen_w, gxg_gtk_window_get_screen)
 Xen_wrap_3_optional_args(gxg_gtk_window_set_icon_from_file_w, gxg_gtk_window_set_icon_from_file)
 Xen_wrap_2_optional_args(gxg_gtk_window_set_default_icon_from_file_w, gxg_gtk_window_set_default_icon_from_file)
 Xen_wrap_1_arg(gxg_gtk_window_fullscreen_w, gxg_gtk_window_fullscreen)
@@ -38383,7 +37869,6 @@ Xen_wrap_1_arg(gxg_gtk_window_group_list_windows_w, gxg_gtk_window_group_list_wi
 Xen_wrap_2_args(gxg_gtk_window_group_get_current_device_grab_w, gxg_gtk_window_group_get_current_device_grab)
 Xen_wrap_1_arg(gxg_gtk_window_group_get_current_grab_w, gxg_gtk_window_group_get_current_grab)
 Xen_wrap_1_arg(gxg_gtk_selection_data_get_data_w, gxg_gtk_selection_data_get_data)
-Xen_wrap_4_args(gxg_gtk_selection_owner_set_for_display_w, gxg_gtk_selection_owner_set_for_display)
 Xen_wrap_1_arg(gxg_gtk_tool_shell_get_text_orientation_w, gxg_gtk_tool_shell_get_text_orientation)
 Xen_wrap_1_arg(gxg_gtk_tool_shell_get_text_alignment_w, gxg_gtk_tool_shell_get_text_alignment)
 Xen_wrap_1_arg(gxg_gtk_tool_shell_get_ellipsize_mode_w, gxg_gtk_tool_shell_get_ellipsize_mode)
@@ -38399,7 +37884,6 @@ Xen_wrap_2_args(gxg_gtk_icon_view_set_item_orientation_w, gxg_gtk_icon_view_set_
 Xen_wrap_1_arg(gxg_gtk_icon_view_get_item_orientation_w, gxg_gtk_icon_view_get_item_orientation)
 Xen_wrap_2_args(gxg_gtk_text_view_im_context_filter_keypress_w, gxg_gtk_text_view_im_context_filter_keypress)
 Xen_wrap_1_arg(gxg_gtk_text_view_reset_im_context_w, gxg_gtk_text_view_reset_im_context)
-Xen_wrap_4_optional_args(gxg_gdk_device_get_position_w, gxg_gdk_device_get_position)
 Xen_wrap_3_optional_args(gxg_gdk_device_get_window_at_position_w, gxg_gdk_device_get_window_at_position)
 Xen_wrap_1_arg(gxg_gtk_cell_view_get_draw_sensitive_w, gxg_gtk_cell_view_get_draw_sensitive)
 Xen_wrap_2_args(gxg_gtk_cell_view_set_draw_sensitive_w, gxg_gtk_cell_view_set_draw_sensitive)
@@ -38413,11 +37897,7 @@ Xen_wrap_1_arg(gxg_gtk_menu_shell_get_parent_shell_w, gxg_gtk_menu_shell_get_par
 Xen_wrap_2_optional_args(gxg_gtk_selection_data_get_data_with_length_w, gxg_gtk_selection_data_get_data_with_length)
 Xen_wrap_2_args(gxg_gtk_tree_model_iter_previous_w, gxg_gtk_tree_model_iter_previous)
 Xen_wrap_7_optional_args(gxg_gtk_tree_view_is_blank_at_pos_w, gxg_gtk_tree_view_is_blank_at_pos)
-Xen_wrap_3_args(gxg_gtk_widget_set_device_enabled_w, gxg_gtk_widget_set_device_enabled)
-Xen_wrap_2_args(gxg_gtk_widget_get_device_enabled_w, gxg_gtk_widget_get_device_enabled)
 Xen_wrap_2_args(gxg_gtk_window_set_has_user_ref_count_w, gxg_gtk_window_set_has_user_ref_count)
-Xen_wrap_5_args(gxg_gdk_selection_send_notify_w, gxg_gdk_selection_send_notify)
-Xen_wrap_6_args(gxg_gdk_selection_send_notify_for_display_w, gxg_gdk_selection_send_notify_for_display)
 Xen_wrap_1_arg(gxg_gdk_rgba_copy_w, gxg_gdk_rgba_copy)
 Xen_wrap_1_arg(gxg_gdk_rgba_free_w, gxg_gdk_rgba_free)
 Xen_wrap_2_args(gxg_gdk_rgba_parse_w, gxg_gdk_rgba_parse)
@@ -38561,7 +38041,6 @@ Xen_wrap_1_arg(gxg_pango_font_map_changed_w, gxg_pango_font_map_changed)
 #endif
 
 #if GTK_CHECK_VERSION(3, 10, 0)
-Xen_wrap_1_arg(gxg_gdk_set_allowed_backends_w, gxg_gdk_set_allowed_backends)
 Xen_wrap_2_args(gxg_gtk_box_set_baseline_position_w, gxg_gtk_box_set_baseline_position)
 Xen_wrap_1_arg(gxg_gtk_box_get_baseline_position_w, gxg_gtk_box_get_baseline_position)
 Xen_wrap_2_args(gxg_gtk_grid_remove_row_w, gxg_gtk_grid_remove_row)
@@ -38643,12 +38122,9 @@ Xen_wrap_no_args(gxg_gtk_search_bar_new_w, gxg_gtk_search_bar_new)
 Xen_wrap_2_args(gxg_gtk_search_bar_connect_entry_w, gxg_gtk_search_bar_connect_entry)
 Xen_wrap_1_arg(gxg_gtk_search_bar_get_search_mode_w, gxg_gtk_search_bar_get_search_mode)
 Xen_wrap_2_args(gxg_gtk_search_bar_set_search_mode_w, gxg_gtk_search_bar_set_search_mode)
-Xen_wrap_1_arg(gxg_gtk_search_bar_get_show_close_button_w, gxg_gtk_search_bar_get_show_close_button)
-Xen_wrap_2_args(gxg_gtk_search_bar_set_show_close_button_w, gxg_gtk_search_bar_set_show_close_button)
 Xen_wrap_2_args(gxg_gtk_search_bar_handle_event_w, gxg_gtk_search_bar_handle_event)
 Xen_wrap_1_arg(gxg_gtk_file_chooser_get_current_name_w, gxg_gtk_file_chooser_get_current_name)
 Xen_wrap_3_args(gxg_gdk_cairo_surface_create_from_pixbuf_w, gxg_gdk_cairo_surface_create_from_pixbuf)
-Xen_wrap_4_optional_args(gxg_gdk_device_get_position_double_w, gxg_gdk_device_get_position_double)
 Xen_wrap_3_optional_args(gxg_gdk_device_get_window_at_position_double_w, gxg_gdk_device_get_window_at_position_double)
 Xen_wrap_1_arg(gxg_gdk_window_get_scale_factor_w, gxg_gdk_window_get_scale_factor)
 Xen_wrap_5_optional_args(gxg_gdk_window_get_device_position_double_w, gxg_gdk_window_get_device_position_double)
@@ -38667,13 +38143,9 @@ Xen_wrap_1_arg(gxg_gtk_window_close_w, gxg_gtk_window_close)
 Xen_wrap_2_args(gxg_gtk_info_bar_set_show_close_button_w, gxg_gtk_info_bar_set_show_close_button)
 Xen_wrap_1_arg(gxg_gtk_info_bar_get_show_close_button_w, gxg_gtk_info_bar_get_show_close_button)
 Xen_wrap_5_args(gxg_gtk_tree_model_rows_reordered_with_length_w, gxg_gtk_tree_model_rows_reordered_with_length)
-Xen_wrap_4_args(gxg_gdk_cursor_new_from_surface_w, gxg_gdk_cursor_new_from_surface)
-Xen_wrap_3_optional_args(gxg_gdk_cursor_get_surface_w, gxg_gdk_cursor_get_surface)
 Xen_wrap_1_arg(gxg_gdk_event_get_event_type_w, gxg_gdk_event_get_event_type)
 Xen_wrap_2_args(gxg_gtk_entry_set_tabs_w, gxg_gtk_entry_set_tabs)
 Xen_wrap_1_arg(gxg_gtk_entry_get_tabs_w, gxg_gtk_entry_get_tabs)
-Xen_wrap_1_arg(gxg_gtk_header_bar_get_show_close_button_w, gxg_gtk_header_bar_get_show_close_button)
-Xen_wrap_2_args(gxg_gtk_header_bar_set_show_close_button_w, gxg_gtk_header_bar_set_show_close_button)
 Xen_wrap_2_args(gxg_gtk_list_box_prepend_w, gxg_gtk_list_box_prepend)
 Xen_wrap_3_args(gxg_gtk_list_box_insert_w, gxg_gtk_list_box_insert)
 Xen_wrap_2_args(gxg_gdk_window_set_opaque_region_w, gxg_gdk_window_set_opaque_region)
@@ -38713,8 +38185,6 @@ Xen_wrap_2_args(gxg_gtk_flow_box_set_hadjustment_w, gxg_gtk_flow_box_set_hadjust
 Xen_wrap_2_args(gxg_gtk_flow_box_set_vadjustment_w, gxg_gtk_flow_box_set_vadjustment)
 Xen_wrap_1_arg(gxg_gtk_flow_box_invalidate_filter_w, gxg_gtk_flow_box_invalidate_filter)
 Xen_wrap_1_arg(gxg_gtk_flow_box_invalidate_sort_w, gxg_gtk_flow_box_invalidate_sort)
-Xen_wrap_2_args(gxg_gdk_window_set_event_compression_w, gxg_gdk_window_set_event_compression)
-Xen_wrap_1_arg(gxg_gdk_window_get_event_compression_w, gxg_gdk_window_get_event_compression)
 Xen_wrap_2_args(gxg_gtk_places_sidebar_set_local_only_w, gxg_gtk_places_sidebar_set_local_only)
 Xen_wrap_1_arg(gxg_gtk_places_sidebar_get_local_only_w, gxg_gtk_places_sidebar_get_local_only)
 Xen_wrap_1_arg(gxg_gtk_stack_get_transition_running_w, gxg_gtk_stack_get_transition_running)
@@ -38817,7 +38287,6 @@ Xen_wrap_3_args(gxg_gtk_widget_path_iter_set_state_w, gxg_gtk_widget_path_iter_s
 
 #if GTK_CHECK_VERSION(3, 16, 0)
 Xen_wrap_any_args(gxg_gdk_cairo_draw_from_gl_w, gxg_gdk_cairo_draw_from_gl)
-Xen_wrap_2_args(gxg_gdk_window_mark_paint_from_clip_w, gxg_gdk_window_mark_paint_from_clip)
 Xen_wrap_2_args(gxg_gtk_label_set_xalign_w, gxg_gtk_label_set_xalign)
 Xen_wrap_1_arg(gxg_gtk_label_get_xalign_w, gxg_gtk_label_get_xalign)
 Xen_wrap_2_args(gxg_gtk_label_set_yalign_w, gxg_gtk_label_set_yalign)
@@ -38849,7 +38318,6 @@ Xen_wrap_7_args(gxg_gtk_render_slider_w, gxg_gtk_render_slider)
 Xen_wrap_any_args(gxg_gtk_render_frame_gap_w, gxg_gtk_render_frame_gap)
 Xen_wrap_6_args(gxg_gtk_render_handle_w, gxg_gtk_render_handle)
 Xen_wrap_6_args(gxg_gtk_render_activity_w, gxg_gtk_render_activity)
-Xen_wrap_5_args(gxg_gtk_render_icon_w, gxg_gtk_render_icon)
 Xen_wrap_5_args(gxg_gtk_render_icon_surface_w, gxg_gtk_render_icon_surface)
 Xen_wrap_1_arg(gxg_gdk_gl_context_get_window_w, gxg_gdk_gl_context_get_window)
 Xen_wrap_1_arg(gxg_gdk_gl_context_make_current_w, gxg_gdk_gl_context_make_current)
@@ -38882,7 +38350,6 @@ Xen_wrap_1_arg(gxg_gdk_gl_context_get_debug_enabled_w, gxg_gdk_gl_context_get_de
 Xen_wrap_2_args(gxg_gdk_gl_context_set_forward_compatible_w, gxg_gdk_gl_context_set_forward_compatible)
 Xen_wrap_1_arg(gxg_gdk_gl_context_get_forward_compatible_w, gxg_gdk_gl_context_get_forward_compatible)
 Xen_wrap_2_optional_args(gxg_gdk_gl_context_realize_w, gxg_gdk_gl_context_realize)
-Xen_wrap_1_arg(gxg_gtk_clipboard_get_default_w, gxg_gtk_clipboard_get_default)
 Xen_wrap_1_arg(gxg_gtk_drag_cancel_w, gxg_gtk_drag_cancel)
 Xen_wrap_2_args(gxg_gtk_search_entry_handle_event_w, gxg_gtk_search_entry_handle_event)
 Xen_wrap_3_optional_args(gxg_gdk_gl_context_get_version_w, gxg_gdk_gl_context_get_version)
@@ -38919,8 +38386,6 @@ Xen_wrap_2_args(gxg_gtk_widget_set_font_options_w, gxg_gtk_widget_set_font_optio
 Xen_wrap_1_arg(gxg_gtk_widget_get_font_options_w, gxg_gtk_widget_get_font_options)
 Xen_wrap_2_args(gxg_gtk_widget_set_font_map_w, gxg_gtk_widget_set_font_map)
 Xen_wrap_1_arg(gxg_gtk_widget_get_font_map_w, gxg_gtk_widget_get_font_map)
-Xen_wrap_2_args(gxg_gdk_window_fullscreen_on_monitor_w, gxg_gdk_window_fullscreen_on_monitor)
-Xen_wrap_3_args(gxg_gtk_window_fullscreen_on_monitor_w, gxg_gtk_window_fullscreen_on_monitor)
 Xen_wrap_2_args(gxg_gtk_text_view_set_top_margin_w, gxg_gtk_text_view_set_top_margin)
 Xen_wrap_1_arg(gxg_gtk_text_view_get_top_margin_w, gxg_gtk_text_view_get_top_margin)
 Xen_wrap_2_args(gxg_gtk_text_view_set_bottom_margin_w, gxg_gtk_text_view_set_bottom_margin)
@@ -38945,7 +38410,6 @@ Xen_wrap_2_args(gxg_gtk_text_iter_starts_tag_w, gxg_gtk_text_iter_starts_tag)
 Xen_wrap_1_arg(gxg_gdk_device_get_seat_w, gxg_gdk_device_get_seat)
 Xen_wrap_1_arg(gxg_gdk_display_get_default_seat_w, gxg_gdk_display_get_default_seat)
 Xen_wrap_1_arg(gxg_gdk_display_list_seats_w, gxg_gdk_display_list_seats)
-Xen_wrap_5_args(gxg_gdk_drag_begin_from_point_w, gxg_gdk_drag_begin_from_point)
 Xen_wrap_2_args(gxg_gdk_drag_drop_done_w, gxg_gdk_drag_drop_done)
 Xen_wrap_3_args(gxg_gdk_drag_context_set_hotspot_w, gxg_gdk_drag_context_set_hotspot)
 Xen_wrap_any_args(gxg_gdk_seat_grab_w, gxg_gdk_seat_grab)
@@ -38955,7 +38419,6 @@ Xen_wrap_1_arg(gxg_gdk_seat_get_capabilities_w, gxg_gdk_seat_get_capabilities)
 Xen_wrap_2_args(gxg_gdk_seat_get_slaves_w, gxg_gdk_seat_get_slaves)
 Xen_wrap_1_arg(gxg_gdk_seat_get_pointer_w, gxg_gdk_seat_get_pointer)
 Xen_wrap_1_arg(gxg_gdk_seat_get_keyboard_w, gxg_gdk_seat_get_keyboard)
-Xen_wrap_3_args(gxg_gdk_drag_context_manage_dnd_w, gxg_gdk_drag_context_manage_dnd)
 Xen_wrap_1_arg(gxg_gdk_event_is_scroll_stop_event_w, gxg_gdk_event_is_scroll_stop_event)
 Xen_wrap_1_arg(gxg_gtk_text_view_reset_cursor_blink_w, gxg_gtk_text_view_reset_cursor_blink)
 #endif
@@ -38967,8 +38430,6 @@ Xen_wrap_2_args(gxg_gdk_event_set_device_tool_w, gxg_gdk_event_set_device_tool)
 Xen_wrap_1_arg(gxg_gdk_event_get_scancode_w, gxg_gdk_event_get_scancode)
 Xen_wrap_2_args(gxg_gdk_gl_context_set_use_es_w, gxg_gdk_gl_context_set_use_es)
 Xen_wrap_1_arg(gxg_gdk_gl_context_get_use_es_w, gxg_gdk_gl_context_get_use_es)
-Xen_wrap_1_arg(gxg_gdk_pango_context_get_for_display_w, gxg_gdk_pango_context_get_for_display)
-Xen_wrap_1_arg(gxg_gtk_clipboard_get_selection_w, gxg_gtk_clipboard_get_selection)
 Xen_wrap_2_args(gxg_gtk_gl_area_set_use_es_w, gxg_gtk_gl_area_set_use_es)
 Xen_wrap_1_arg(gxg_gtk_gl_area_get_use_es_w, gxg_gtk_gl_area_get_use_es)
 Xen_wrap_1_arg(gxg_gdk_device_tool_get_serial_w, gxg_gdk_device_tool_get_serial)
@@ -39111,21 +38572,224 @@ Xen_wrap_2_optional_args(gxg_gdk_event_get_touchpad_angle_delta_w, gxg_gdk_event
 Xen_wrap_2_optional_args(gxg_gdk_event_get_touchpad_scale_w, gxg_gdk_event_get_touchpad_scale)
 Xen_wrap_2_optional_args(gxg_gdk_event_get_touch_emulating_pointer_w, gxg_gdk_event_get_touch_emulating_pointer)
 Xen_wrap_2_optional_args(gxg_gdk_event_get_grab_window_w, gxg_gdk_event_get_grab_window)
-Xen_wrap_3_optional_args(gxg_gdk_event_get_window_state_w, gxg_gdk_event_get_window_state)
 Xen_wrap_2_optional_args(gxg_gdk_event_get_focus_in_w, gxg_gdk_event_get_focus_in)
 Xen_wrap_3_optional_args(gxg_gdk_event_get_pad_group_mode_w, gxg_gdk_event_get_pad_group_mode)
 Xen_wrap_2_optional_args(gxg_gdk_event_get_pad_button_w, gxg_gdk_event_get_pad_button)
 Xen_wrap_3_optional_args(gxg_gdk_event_get_pad_axis_value_w, gxg_gdk_event_get_pad_axis_value)
-Xen_wrap_3_optional_args(gxg_gdk_event_get_property_w, gxg_gdk_event_get_property)
-Xen_wrap_2_optional_args(gxg_gdk_event_get_selection_w, gxg_gdk_event_get_selection)
-Xen_wrap_4_optional_args(gxg_gdk_event_get_selection_property_w, gxg_gdk_event_get_selection_property)
-Xen_wrap_4_args(gxg_gdk_event_set_selection_w, gxg_gdk_event_set_selection)
 Xen_wrap_3_optional_args(gxg_gdk_event_get_axes_w, gxg_gdk_event_get_axes)
 Xen_wrap_3_args(gxg_gtk_snapshot_push_blur_w, gxg_gtk_snapshot_push_blur)
 Xen_wrap_no_args(gxg_gtk_emoji_chooser_new_w, gxg_gtk_emoji_chooser_new)
 Xen_wrap_2_args(gxg_gtk_event_controller_scroll_new_w, gxg_gtk_event_controller_scroll_new)
 Xen_wrap_2_args(gxg_gtk_event_controller_scroll_set_flags_w, gxg_gtk_event_controller_scroll_set_flags)
 Xen_wrap_1_arg(gxg_gtk_event_controller_scroll_get_flags_w, gxg_gtk_event_controller_scroll_get_flags)
+Xen_wrap_2_args(gxg_gdk_app_launch_context_set_desktop_w, gxg_gdk_app_launch_context_set_desktop)
+Xen_wrap_2_args(gxg_gdk_app_launch_context_set_timestamp_w, gxg_gdk_app_launch_context_set_timestamp)
+Xen_wrap_2_args(gxg_gdk_app_launch_context_set_icon_w, gxg_gdk_app_launch_context_set_icon)
+Xen_wrap_2_args(gxg_gdk_app_launch_context_set_icon_name_w, gxg_gdk_app_launch_context_set_icon_name)
+Xen_wrap_1_arg(gxg_gdk_clipboard_get_display_w, gxg_gdk_clipboard_get_display)
+Xen_wrap_1_arg(gxg_gdk_clipboard_get_formats_w, gxg_gdk_clipboard_get_formats)
+Xen_wrap_1_arg(gxg_gdk_clipboard_is_local_w, gxg_gdk_clipboard_is_local)
+Xen_wrap_1_arg(gxg_gdk_clipboard_get_content_w, gxg_gdk_clipboard_get_content)
+Xen_wrap_5_args(gxg_gdk_clipboard_store_async_w, gxg_gdk_clipboard_store_async)
+Xen_wrap_3_optional_args(gxg_gdk_clipboard_store_finish_w, gxg_gdk_clipboard_store_finish)
+Xen_wrap_6_args(gxg_gdk_clipboard_read_async_w, gxg_gdk_clipboard_read_async)
+Xen_wrap_4_optional_args(gxg_gdk_clipboard_read_finish_w, gxg_gdk_clipboard_read_finish)
+Xen_wrap_6_args(gxg_gdk_clipboard_read_value_async_w, gxg_gdk_clipboard_read_value_async)
+Xen_wrap_3_optional_args(gxg_gdk_clipboard_read_value_finish_w, gxg_gdk_clipboard_read_value_finish)
+Xen_wrap_4_args(gxg_gdk_clipboard_read_texture_async_w, gxg_gdk_clipboard_read_texture_async)
+Xen_wrap_3_optional_args(gxg_gdk_clipboard_read_texture_finish_w, gxg_gdk_clipboard_read_texture_finish)
+Xen_wrap_4_args(gxg_gdk_clipboard_read_text_async_w, gxg_gdk_clipboard_read_text_async)
+Xen_wrap_3_optional_args(gxg_gdk_clipboard_read_text_finish_w, gxg_gdk_clipboard_read_text_finish)
+Xen_wrap_2_args(gxg_gdk_clipboard_set_content_w, gxg_gdk_clipboard_set_content)
+Xen_wrap_2_args(gxg_gdk_clipboard_set_w, gxg_gdk_clipboard_set)
+Xen_wrap_3_args(gxg_gdk_clipboard_set_valist_w, gxg_gdk_clipboard_set_valist)
+Xen_wrap_2_args(gxg_gdk_clipboard_set_value_w, gxg_gdk_clipboard_set_value)
+Xen_wrap_2_args(gxg_gdk_clipboard_set_text_w, gxg_gdk_clipboard_set_text)
+Xen_wrap_2_args(gxg_gdk_clipboard_set_texture_w, gxg_gdk_clipboard_set_texture)
+Xen_wrap_1_arg(gxg_gdk_intern_mime_type_w, gxg_gdk_intern_mime_type)
+Xen_wrap_2_args(gxg_gdk_content_formats_new_w, gxg_gdk_content_formats_new)
+Xen_wrap_1_arg(gxg_gdk_content_formats_new_for_gtype_w, gxg_gdk_content_formats_new_for_gtype)
+Xen_wrap_1_arg(gxg_gdk_content_formats_ref_w, gxg_gdk_content_formats_ref)
+Xen_wrap_1_arg(gxg_gdk_content_formats_unref_w, gxg_gdk_content_formats_unref)
+Xen_wrap_2_args(gxg_gdk_content_formats_print_w, gxg_gdk_content_formats_print)
+Xen_wrap_1_arg(gxg_gdk_content_formats_to_string_w, gxg_gdk_content_formats_to_string)
+Xen_wrap_2_optional_args(gxg_gdk_content_formats_get_gtypes_w, gxg_gdk_content_formats_get_gtypes)
+Xen_wrap_2_optional_args(gxg_gdk_content_formats_get_mime_types_w, gxg_gdk_content_formats_get_mime_types)
+Xen_wrap_2_args(gxg_gdk_content_formats_union_w, gxg_gdk_content_formats_union)
+Xen_wrap_2_args(gxg_gdk_content_formats_match_w, gxg_gdk_content_formats_match)
+Xen_wrap_2_args(gxg_gdk_content_formats_match_gtype_w, gxg_gdk_content_formats_match_gtype)
+Xen_wrap_2_args(gxg_gdk_content_formats_match_mime_type_w, gxg_gdk_content_formats_match_mime_type)
+Xen_wrap_2_args(gxg_gdk_content_formats_contain_gtype_w, gxg_gdk_content_formats_contain_gtype)
+Xen_wrap_2_args(gxg_gdk_content_formats_contain_mime_type_w, gxg_gdk_content_formats_contain_mime_type)
+Xen_wrap_no_args(gxg_*gdk_content_formats_builder_new_w, gxg_*gdk_content_formats_builder_new)
+Xen_wrap_1_arg(gxg_gdk_content_formats_builder_free_w, gxg_gdk_content_formats_builder_free)
+Xen_wrap_2_args(gxg_gdk_content_formats_builder_add_formats_w, gxg_gdk_content_formats_builder_add_formats)
+Xen_wrap_2_args(gxg_gdk_content_formats_builder_add_mime_type_w, gxg_gdk_content_formats_builder_add_mime_type)
+Xen_wrap_2_args(gxg_gdk_content_formats_builder_add_gtype_w, gxg_gdk_content_formats_builder_add_gtype)
+Xen_wrap_1_arg(gxg_gdk_content_provider_ref_formats_w, gxg_gdk_content_provider_ref_formats)
+Xen_wrap_1_arg(gxg_gdk_content_provider_ref_storable_formats_w, gxg_gdk_content_provider_ref_storable_formats)
+Xen_wrap_1_arg(gxg_gdk_content_provider_content_changed_w, gxg_gdk_content_provider_content_changed)
+Xen_wrap_7_args(gxg_gdk_content_provider_write_mime_type_async_w, gxg_gdk_content_provider_write_mime_type_async)
+Xen_wrap_3_optional_args(gxg_gdk_content_provider_write_mime_type_finish_w, gxg_gdk_content_provider_write_mime_type_finish)
+Xen_wrap_3_optional_args(gxg_gdk_content_provider_get_value_w, gxg_gdk_content_provider_get_value)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_mime_type_w, gxg_gdk_content_serializer_get_mime_type)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_value_w, gxg_gdk_content_serializer_get_value)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_output_stream_w, gxg_gdk_content_serializer_get_output_stream)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_priority_w, gxg_gdk_content_serializer_get_priority)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_cancellable_w, gxg_gdk_content_serializer_get_cancellable)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_user_data_w, gxg_gdk_content_serializer_get_user_data)
+Xen_wrap_3_args(gxg_gdk_content_serializer_set_task_data_w, gxg_gdk_content_serializer_set_task_data)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_get_task_data_w, gxg_gdk_content_serializer_get_task_data)
+Xen_wrap_1_arg(gxg_gdk_content_serializer_return_success_w, gxg_gdk_content_serializer_return_success)
+Xen_wrap_2_args(gxg_gdk_content_serializer_return_error_w, gxg_gdk_content_serializer_return_error)
+Xen_wrap_1_arg(gxg_gdk_content_formats_union_serialize_gtypes_w, gxg_gdk_content_formats_union_serialize_gtypes)
+Xen_wrap_1_arg(gxg_gdk_content_formats_union_serialize_mime_types_w, gxg_gdk_content_formats_union_serialize_mime_types)
+Xen_wrap_5_args(gxg_gdk_content_register_serializer_w, gxg_gdk_content_register_serializer)
+Xen_wrap_7_args(gxg_gdk_content_serialize_async_w, gxg_gdk_content_serialize_async)
+Xen_wrap_2_optional_args(gxg_gdk_content_serialize_finish_w, gxg_gdk_content_serialize_finish)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_mime_type_w, gxg_gdk_content_deserializer_get_mime_type)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_value_w, gxg_gdk_content_deserializer_get_value)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_input_stream_w, gxg_gdk_content_deserializer_get_input_stream)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_priority_w, gxg_gdk_content_deserializer_get_priority)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_cancellable_w, gxg_gdk_content_deserializer_get_cancellable)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_user_data_w, gxg_gdk_content_deserializer_get_user_data)
+Xen_wrap_3_args(gxg_gdk_content_deserializer_set_task_data_w, gxg_gdk_content_deserializer_set_task_data)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_get_task_data_w, gxg_gdk_content_deserializer_get_task_data)
+Xen_wrap_1_arg(gxg_gdk_content_deserializer_return_success_w, gxg_gdk_content_deserializer_return_success)
+Xen_wrap_2_args(gxg_gdk_content_deserializer_return_error_w, gxg_gdk_content_deserializer_return_error)
+Xen_wrap_1_arg(gxg_gdk_content_formats_union_deserialize_gtypes_w, gxg_gdk_content_formats_union_deserialize_gtypes)
+Xen_wrap_1_arg(gxg_gdk_content_formats_union_deserialize_mime_types_w, gxg_gdk_content_formats_union_deserialize_mime_types)
+Xen_wrap_5_args(gxg_gdk_content_register_deserializer_w, gxg_gdk_content_register_deserializer)
+Xen_wrap_7_args(gxg_gdk_content_deserialize_async_w, gxg_gdk_content_deserialize_async)
+Xen_wrap_3_optional_args(gxg_gdk_content_deserialize_finish_w, gxg_gdk_content_deserialize_finish)
+Xen_wrap_1_arg(gxg_gdk_content_provider_new_for_value_w, gxg_gdk_content_provider_new_for_value)
+Xen_wrap_2_args(gxg_gdk_content_provider_new_for_bytes_w, gxg_gdk_content_provider_new_for_bytes)
+Xen_wrap_1_arg(gxg_gtk_event_controller_motion_new_w, gxg_gtk_event_controller_motion_new)
+Xen_wrap_4_args(gxg_gdk_texture_new_for_data_w, gxg_gdk_texture_new_for_data)
+Xen_wrap_1_arg(gxg_gdk_texture_new_for_pixbuf_w, gxg_gdk_texture_new_for_pixbuf)
+Xen_wrap_1_arg(gxg_gdk_texture_new_from_resource_w, gxg_gdk_texture_new_from_resource)
+Xen_wrap_2_optional_args(gxg_gdk_texture_new_from_file_w, gxg_gdk_texture_new_from_file)
+Xen_wrap_1_arg(gxg_gdk_texture_get_width_w, gxg_gdk_texture_get_width)
+Xen_wrap_1_arg(gxg_gdk_texture_get_height_w, gxg_gdk_texture_get_height)
+Xen_wrap_3_args(gxg_gdk_texture_download_w, gxg_gdk_texture_download)
+Xen_wrap_4_args(gxg_gdk_cursor_new_from_texture_w, gxg_gdk_cursor_new_from_texture)
+Xen_wrap_2_args(gxg_gdk_cursor_new_from_name_w, gxg_gdk_cursor_new_from_name)
+Xen_wrap_1_arg(gxg_gdk_cursor_get_fallback_w, gxg_gdk_cursor_get_fallback)
+Xen_wrap_1_arg(gxg_gdk_cursor_get_name_w, gxg_gdk_cursor_get_name)
+Xen_wrap_1_arg(gxg_gdk_cursor_get_texture_w, gxg_gdk_cursor_get_texture)
+Xen_wrap_1_arg(gxg_gdk_cursor_get_hotspot_x_w, gxg_gdk_cursor_get_hotspot_x)
+Xen_wrap_1_arg(gxg_gdk_cursor_get_hotspot_y_w, gxg_gdk_cursor_get_hotspot_y)
+Xen_wrap_3_optional_args(gxg_gdk_device_get_position_w, gxg_gdk_device_get_position)
+Xen_wrap_3_optional_args(gxg_gdk_device_get_position_double_w, gxg_gdk_device_get_position_double)
+Xen_wrap_1_arg(gxg_gdk_display_get_clipboard_w, gxg_gdk_display_get_clipboard)
+Xen_wrap_1_arg(gxg_gdk_display_get_primary_clipboard_w, gxg_gdk_display_get_primary_clipboard)
+Xen_wrap_1_arg(gxg_gdk_display_get_keymap_w, gxg_gdk_display_get_keymap)
+Xen_wrap_3_optional_args(gxg_gdk_display_get_setting_w, gxg_gdk_display_get_setting)
+Xen_wrap_1_arg(gxg_gdk_drag_context_get_display_w, gxg_gdk_drag_context_get_display)
+Xen_wrap_1_arg(gxg_gdk_drag_context_get_formats_w, gxg_gdk_drag_context_get_formats)
+Xen_wrap_6_args(gxg_gdk_drop_read_async_w, gxg_gdk_drop_read_async)
+Xen_wrap_4_optional_args(gxg_gdk_drop_read_finish_w, gxg_gdk_drop_read_finish)
+Xen_wrap_6_args(gxg_gdk_drag_begin_w, gxg_gdk_drag_begin)
+Xen_wrap_1_arg(gxg_gdk_monitor_is_valid_w, gxg_gdk_monitor_is_valid)
+Xen_wrap_2_args(gxg_gdk_seat_get_master_pointers_w, gxg_gdk_seat_get_master_pointers)
+Xen_wrap_6_args(gxg_gtk_drag_begin_with_coordinates_w, gxg_gtk_drag_begin_with_coordinates)
+Xen_wrap_2_args(gxg_gtk_drag_source_set_icon_surface_w, gxg_gtk_drag_source_set_icon_surface)
+Xen_wrap_3_args(gxg_gtk_entry_set_icon_from_texture_w, gxg_gtk_entry_set_icon_from_texture)
+Xen_wrap_2_args(gxg_gtk_entry_get_icon_texture_w, gxg_gtk_entry_get_icon_texture)
+Xen_wrap_4_args(gxg_gtk_entry_set_icon_drag_source_w, gxg_gtk_entry_set_icon_drag_source)
+Xen_wrap_1_arg(gxg_gtk_header_bar_get_show_title_buttons_w, gxg_gtk_header_bar_get_show_title_buttons)
+Xen_wrap_2_args(gxg_gtk_header_bar_set_show_title_buttons_w, gxg_gtk_header_bar_set_show_title_buttons)
+Xen_wrap_1_arg(gxg_gtk_icon_theme_get_for_display_w, gxg_gtk_icon_theme_get_for_display)
+Xen_wrap_2_args(gxg_gtk_icon_theme_set_display_w, gxg_gtk_icon_theme_set_display)
+Xen_wrap_1_arg(gxg_gtk_icon_info_load_texture_w, gxg_gtk_icon_info_load_texture)
+Xen_wrap_1_arg(gxg_gtk_image_new_from_texture_w, gxg_gtk_image_new_from_texture)
+Xen_wrap_1_arg(gxg_gtk_image_new_from_icon_name_w, gxg_gtk_image_new_from_icon_name)
+Xen_wrap_1_arg(gxg_gtk_image_new_from_gicon_w, gxg_gtk_image_new_from_gicon)
+Xen_wrap_2_args(gxg_gtk_image_set_from_texture_w, gxg_gtk_image_set_from_texture)
+Xen_wrap_2_args(gxg_gtk_image_set_from_icon_name_w, gxg_gtk_image_set_from_icon_name)
+Xen_wrap_2_args(gxg_gtk_image_set_from_gicon_w, gxg_gtk_image_set_from_gicon)
+Xen_wrap_2_args(gxg_gtk_image_set_icon_size_w, gxg_gtk_image_set_icon_size)
+Xen_wrap_1_arg(gxg_gtk_image_get_surface_w, gxg_gtk_image_get_surface)
+Xen_wrap_1_arg(gxg_gtk_image_get_texture_w, gxg_gtk_image_get_texture)
+Xen_wrap_1_arg(gxg_gtk_image_get_icon_size_w, gxg_gtk_image_get_icon_size)
+Xen_wrap_1_arg(gxg_gtk_image_get_icon_name_w, gxg_gtk_image_get_icon_name)
+Xen_wrap_1_arg(gxg_gtk_image_get_gicon_w, gxg_gtk_image_get_gicon)
+Xen_wrap_1_arg(gxg_gtk_invisible_new_for_display_w, gxg_gtk_invisible_new_for_display)
+Xen_wrap_2_args(gxg_gtk_invisible_set_display_w, gxg_gtk_invisible_set_display)
+Xen_wrap_no_args(gxg_GtkInvisible*_w, gxg_GtkInvisible*)
+Xen_wrap_2_args(gxg_gtk_menu_set_display_w, gxg_gtk_menu_set_display)
+Xen_wrap_5_args(gxg_gtk_render_icon_w, gxg_gtk_render_icon)
+Xen_wrap_1_arg(gxg_gtk_content_formats_add_text_targets_w, gxg_gtk_content_formats_add_text_targets)
+Xen_wrap_2_args(gxg_gtk_content_formats_add_image_targets_w, gxg_gtk_content_formats_add_image_targets)
+Xen_wrap_1_arg(gxg_gtk_content_formats_add_uri_targets_w, gxg_gtk_content_formats_add_uri_targets)
+Xen_wrap_5_args(gxg_gtk_selection_data_set_w, gxg_gtk_selection_data_set)
+Xen_wrap_3_args(gxg_gtk_selection_data_set_text_w, gxg_gtk_selection_data_set_text)
+Xen_wrap_1_arg(gxg_gtk_selection_data_get_text_w, gxg_gtk_selection_data_get_text)
+Xen_wrap_2_args(gxg_gtk_selection_data_set_pixbuf_w, gxg_gtk_selection_data_set_pixbuf)
+Xen_wrap_1_arg(gxg_gtk_selection_data_get_surface_w, gxg_gtk_selection_data_get_surface)
+Xen_wrap_2_args(gxg_gtk_selection_data_set_surface_w, gxg_gtk_selection_data_set_surface)
+Xen_wrap_1_arg(gxg_gtk_selection_data_get_pixbuf_w, gxg_gtk_selection_data_get_pixbuf)
+Xen_wrap_2_args(gxg_gtk_selection_data_set_texture_w, gxg_gtk_selection_data_set_texture)
+Xen_wrap_1_arg(gxg_gtk_selection_data_get_texture_w, gxg_gtk_selection_data_get_texture)
+Xen_wrap_2_args(gxg_gtk_selection_data_set_uris_w, gxg_gtk_selection_data_set_uris)
+Xen_wrap_1_arg(gxg_gtk_selection_data_get_uris_w, gxg_gtk_selection_data_get_uris)
+Xen_wrap_3_optional_args(gxg_gtk_selection_data_get_targets_w, gxg_gtk_selection_data_get_targets)
+Xen_wrap_1_arg(gxg_gtk_selection_data_targets_include_text_w, gxg_gtk_selection_data_targets_include_text)
+Xen_wrap_1_arg(gxg_gtk_selection_data_targets_include_uri_w, gxg_gtk_selection_data_targets_include_uri)
+Xen_wrap_2_args(gxg_gtk_targets_include_text_w, gxg_gtk_targets_include_text)
+Xen_wrap_3_args(gxg_gtk_targets_include_image_w, gxg_gtk_targets_include_image)
+Xen_wrap_2_args(gxg_gtk_targets_include_uri_w, gxg_gtk_targets_include_uri)
+Xen_wrap_1_arg(gxg_gtk_settings_get_for_display_w, gxg_gtk_settings_get_for_display)
+Xen_wrap_3_args(gxg_gtk_style_context_add_provider_for_display_w, gxg_gtk_style_context_add_provider_for_display)
+Xen_wrap_2_args(gxg_gtk_style_context_remove_provider_for_display_w, gxg_gtk_style_context_remove_provider_for_display)
+Xen_wrap_2_args(gxg_gtk_style_context_set_display_w, gxg_gtk_style_context_set_display)
+Xen_wrap_1_arg(gxg_gtk_style_context_get_display_w, gxg_gtk_style_context_get_display)
+Xen_wrap_1_arg(gxg_gtk_style_context_reset_widgets_w, gxg_gtk_style_context_reset_widgets)
+Xen_wrap_3_args(gxg_gtk_text_buffer_insert_texture_w, gxg_gtk_text_buffer_insert_texture)
+Xen_wrap_2_args(gxg_gtk_text_buffer_add_selection_clipboard_w, gxg_gtk_text_buffer_add_selection_clipboard)
+Xen_wrap_2_args(gxg_gtk_text_buffer_remove_selection_clipboard_w, gxg_gtk_text_buffer_remove_selection_clipboard)
+Xen_wrap_3_args(gxg_gtk_text_buffer_cut_clipboard_w, gxg_gtk_text_buffer_cut_clipboard)
+Xen_wrap_2_args(gxg_gtk_text_buffer_copy_clipboard_w, gxg_gtk_text_buffer_copy_clipboard)
+Xen_wrap_2_args(gxg_gtk_text_buffer_paste_clipboard_w, gxg_gtk_text_buffer_paste_clipboard)
+Xen_wrap_1_arg(gxg_override_location_w, gxg_override_location)
+Xen_wrap_no_args(gxg_gtk_tool_palette_get_drag_target_item_w, gxg_gtk_tool_palette_get_drag_target_item)
+Xen_wrap_no_args(gxg_gtk_tool_palette_get_drag_target_group_w, gxg_gtk_tool_palette_get_drag_target_group)
+Xen_wrap_2_args(gxg_gtk_tooltip_set_icon_w, gxg_gtk_tooltip_set_icon)
+Xen_wrap_2_args(gxg_gtk_tooltip_set_icon_from_icon_name_w, gxg_gtk_tooltip_set_icon_from_icon_name)
+Xen_wrap_2_args(gxg_gtk_tooltip_set_icon_from_gicon_w, gxg_gtk_tooltip_set_icon_from_gicon)
+Xen_wrap_4_args(gxg_gtk_tree_view_enable_model_drag_source_w, gxg_gtk_tree_view_enable_model_drag_source)
+Xen_wrap_3_args(gxg_gtk_tree_view_enable_model_drag_dest_w, gxg_gtk_tree_view_enable_model_drag_dest)
+Xen_wrap_1_arg(gxg_gtk_widget_get_width_w, gxg_gtk_widget_get_width)
+Xen_wrap_1_arg(gxg_gtk_widget_get_height_w, gxg_gtk_widget_get_height)
+Xen_wrap_1_arg(gxg_gtk_widget_get_clipboard_w, gxg_gtk_widget_get_clipboard)
+Xen_wrap_1_arg(gxg_gtk_widget_get_primary_clipboard_w, gxg_gtk_widget_get_primary_clipboard)
+Xen_wrap_3_args(gxg_gtk_widget_contains_w, gxg_gtk_widget_contains)
+Xen_wrap_3_args(gxg_gtk_widget_pick_w, gxg_gtk_widget_pick)
+Xen_wrap_2_args(gxg_gtk_widget_set_cursor_w, gxg_gtk_widget_set_cursor)
+Xen_wrap_2_args(gxg_gtk_widget_set_cursor_from_name_w, gxg_gtk_widget_set_cursor_from_name)
+Xen_wrap_1_arg(gxg_gtk_widget_get_cursor_w, gxg_gtk_widget_get_cursor)
+Xen_wrap_2_args(gxg_gtk_window_set_display_w, gxg_gtk_window_set_display)
+Xen_wrap_2_args(gxg_gtk_window_set_icon_w, gxg_gtk_window_set_icon)
+Xen_wrap_1_arg(gxg_gtk_window_get_icon_w, gxg_gtk_window_get_icon)
+Xen_wrap_1_arg(gxg_gtk_window_set_default_icon_w, gxg_gtk_window_set_default_icon)
+Xen_wrap_2_args(gxg_gtk_window_fullscreen_on_monitor_w, gxg_gtk_window_fullscreen_on_monitor)
+Xen_wrap_1_arg(gxg_gtk_text_iter_get_texture_w, gxg_gtk_text_iter_get_texture)
+Xen_wrap_4_args(gxg_gtk_icon_view_enable_model_drag_source_w, gxg_gtk_icon_view_enable_model_drag_source)
+Xen_wrap_3_args(gxg_gtk_icon_view_enable_model_drag_dest_w, gxg_gtk_icon_view_enable_model_drag_dest)
+Xen_wrap_1_arg(gxg_gtk_about_dialog_get_logo_w, gxg_gtk_about_dialog_get_logo)
+Xen_wrap_2_args(gxg_gtk_about_dialog_set_logo_w, gxg_gtk_about_dialog_set_logo)
+Xen_wrap_1_arg(gxg_gtk_button_new_from_icon_name_w, gxg_gtk_button_new_from_icon_name)
+Xen_wrap_1_arg(gxg_gtk_cell_view_new_with_texture_w, gxg_gtk_cell_view_new_with_texture)
+Xen_wrap_3_args(gxg_gtk_drag_finish_w, gxg_gtk_drag_finish)
+Xen_wrap_4_args(gxg_gtk_drag_set_icon_pixbuf_w, gxg_gtk_drag_set_icon_pixbuf)
+Xen_wrap_4_args(gxg_gtk_drag_dest_set_w, gxg_gtk_drag_dest_set)
+Xen_wrap_3_args(gxg_gtk_drag_dest_find_target_w, gxg_gtk_drag_dest_find_target)
+Xen_wrap_1_arg(gxg_gtk_drag_dest_get_target_list_w, gxg_gtk_drag_dest_get_target_list)
+Xen_wrap_2_args(gxg_gtk_drag_dest_set_target_list_w, gxg_gtk_drag_dest_set_target_list)
+Xen_wrap_4_args(gxg_gtk_drag_source_set_w, gxg_gtk_drag_source_set)
+Xen_wrap_1_arg(gxg_gtk_drag_source_get_target_list_w, gxg_gtk_drag_source_get_target_list)
+Xen_wrap_2_args(gxg_gtk_drag_source_set_target_list_w, gxg_gtk_drag_source_set_target_list)
+Xen_wrap_4_args(gxg_gtk_scale_button_new_w, gxg_gtk_scale_button_new)
 #endif
 
 Xen_wrap_1_arg(gxg_cairo_create_w, gxg_cairo_create)
@@ -39397,7 +39061,6 @@ Xen_wrap_2_args(gxg_cairo_region_xor_rectangle_w, gxg_cairo_region_xor_rectangle
 Xen_wrap_1_arg(gxg_GPOINTER_w, gxg_GPOINTER)
 Xen_wrap_2_args(c_array_to_xen_list_w, c_array_to_xen_list)
 Xen_wrap_2_args(xen_list_to_c_array_w, xen_list_to_c_array)
-Xen_wrap_1_arg(gxg_make_target_entry_w, gxg_make_target_entry)
 Xen_wrap_3_args(xg_object_get_w, xg_object_get)
 Xen_wrap_3_args(xg_object_set_w, xg_object_set)
 Xen_wrap_1_arg(xg_gtk_event_keyval_w, xg_gtk_event_keyval)
@@ -39411,8 +39074,6 @@ Xen_wrap_1_arg(gxg_GDK_DEVICE_w, gxg_GDK_DEVICE)
 Xen_wrap_1_arg(gxg_GDK_KEYMAP_w, gxg_GDK_KEYMAP)
 Xen_wrap_1_arg(gxg_GDK_WINDOW_w, gxg_GDK_WINDOW)
 Xen_wrap_1_arg(gxg_GDK_PIXBUF_w, gxg_GDK_PIXBUF)
-Xen_wrap_1_arg(gxg_GDK_PIXBUF_ANIMATION_w, gxg_GDK_PIXBUF_ANIMATION)
-Xen_wrap_1_arg(gxg_GDK_PIXBUF_ANIMATION_ITER_w, gxg_GDK_PIXBUF_ANIMATION_ITER)
 Xen_wrap_1_arg(gxg_GTK_ACCEL_GROUP_w, gxg_GTK_ACCEL_GROUP)
 Xen_wrap_1_arg(gxg_GTK_ACCEL_LABEL_w, gxg_GTK_ACCEL_LABEL)
 Xen_wrap_1_arg(gxg_GTK_ACCESSIBLE_w, gxg_GTK_ACCESSIBLE)
@@ -39490,7 +39151,6 @@ Xen_wrap_1_arg(gxg_PANGO_FONT_w, gxg_PANGO_FONT)
 Xen_wrap_1_arg(gxg_PANGO_FONT_MAP_w, gxg_PANGO_FONT_MAP)
 Xen_wrap_1_arg(gxg_PANGO_LAYOUT_w, gxg_PANGO_LAYOUT)
 Xen_wrap_1_arg(gxg_G_OBJECT_w, gxg_G_OBJECT)
-Xen_wrap_1_arg(gxg_GDK_SCREEN_w, gxg_GDK_SCREEN)
 Xen_wrap_1_arg(gxg_GDK_DISPLAY_OBJECT_w, gxg_GDK_DISPLAY_OBJECT)
 Xen_wrap_1_arg(gxg_GDK_EVENT_w, gxg_GDK_EVENT)
 Xen_wrap_1_arg(gxg_GDK_EVENT_ANY_w, gxg_GDK_EVENT_ANY)
@@ -39523,7 +39183,6 @@ Xen_wrap_1_arg(gxg_GTK_SEPARATOR_TOOL_ITEM_w, gxg_GTK_SEPARATOR_TOOL_ITEM)
 Xen_wrap_1_arg(gxg_GTK_TOGGLE_TOOL_BUTTON_w, gxg_GTK_TOGGLE_TOOL_BUTTON)
 Xen_wrap_1_arg(gxg_GTK_FILE_FILTER_w, gxg_GTK_FILE_FILTER)
 Xen_wrap_1_arg(gxg_GTK_CELL_LAYOUT_w, gxg_GTK_CELL_LAYOUT)
-Xen_wrap_1_arg(gxg_GTK_CLIPBOARD_w, gxg_GTK_CLIPBOARD)
 Xen_wrap_1_arg(gxg_GTK_FILE_CHOOSER_w, gxg_GTK_FILE_CHOOSER)
 Xen_wrap_1_arg(gxg_GTK_ICON_THEME_w, gxg_GTK_ICON_THEME)
 Xen_wrap_1_arg(gxg_GTK_TOOL_BUTTON_w, gxg_GTK_TOOL_BUTTON)
@@ -39647,6 +39306,14 @@ Xen_wrap_1_arg(gxg_GTK_SHORTCUT_LABEL_w, gxg_GTK_SHORTCUT_LABEL)
 Xen_wrap_1_arg(gxg_GTK_CENTER_BOX_w, gxg_GTK_CENTER_BOX)
 Xen_wrap_1_arg(gxg_GTK_EMOJI_CHOOSER_w, gxg_GTK_EMOJI_CHOOSER)
 Xen_wrap_1_arg(gxg_GTK_EVENT_CONTROLLER_SCROLL_w, gxg_GTK_EVENT_CONTROLLER_SCROLL)
+Xen_wrap_1_arg(gxg_GTK_EVENT_CONTROLLER_MOTION_w, gxg_GTK_EVENT_CONTROLLER_MOTION)
+Xen_wrap_1_arg(gxg_GDK_TEXTURE_w, gxg_GDK_TEXTURE)
+Xen_wrap_1_arg(gxg_GDK_EVENT_w, gxg_GDK_EVENT)
+Xen_wrap_1_arg(gxg_GDK_APP_LAUNCH_CONTEXT_w, gxg_GDK_APP_LAUNCH_CONTEXT)
+Xen_wrap_1_arg(gxg_GDK_CLIPBOARD_w, gxg_GDK_CLIPBOARD)
+Xen_wrap_1_arg(gxg_GDK_CONTENT_PROVIDER_w, gxg_GDK_CONTENT_PROVIDER)
+Xen_wrap_1_arg(gxg_GDK_CONTENT_SERIALIZER_w, gxg_GDK_CONTENT_SERIALIZER)
+Xen_wrap_1_arg(gxg_GDK_CONTENT_DESERIALIZER_w, gxg_GDK_CONTENT_DESERIALIZER)
 #endif
 
 Xen_wrap_1_arg(gxg_GDK_IS_DRAG_CONTEXT_w, gxg_GDK_IS_DRAG_CONTEXT)
@@ -39654,8 +39321,6 @@ Xen_wrap_1_arg(gxg_GDK_IS_DEVICE_w, gxg_GDK_IS_DEVICE)
 Xen_wrap_1_arg(gxg_GDK_IS_KEYMAP_w, gxg_GDK_IS_KEYMAP)
 Xen_wrap_1_arg(gxg_GDK_IS_WINDOW_w, gxg_GDK_IS_WINDOW)
 Xen_wrap_1_arg(gxg_GDK_IS_PIXBUF_w, gxg_GDK_IS_PIXBUF)
-Xen_wrap_1_arg(gxg_GDK_IS_PIXBUF_ANIMATION_w, gxg_GDK_IS_PIXBUF_ANIMATION)
-Xen_wrap_1_arg(gxg_GDK_IS_PIXBUF_ANIMATION_ITER_w, gxg_GDK_IS_PIXBUF_ANIMATION_ITER)
 Xen_wrap_1_arg(gxg_GTK_IS_ACCEL_GROUP_w, gxg_GTK_IS_ACCEL_GROUP)
 Xen_wrap_1_arg(gxg_GTK_IS_ACCEL_LABEL_w, gxg_GTK_IS_ACCEL_LABEL)
 Xen_wrap_1_arg(gxg_GTK_IS_ACCESSIBLE_w, gxg_GTK_IS_ACCESSIBLE)
@@ -39733,7 +39398,6 @@ Xen_wrap_1_arg(gxg_PANGO_IS_FONT_w, gxg_PANGO_IS_FONT)
 Xen_wrap_1_arg(gxg_PANGO_IS_FONT_MAP_w, gxg_PANGO_IS_FONT_MAP)
 Xen_wrap_1_arg(gxg_PANGO_IS_LAYOUT_w, gxg_PANGO_IS_LAYOUT)
 Xen_wrap_1_arg(gxg_G_IS_OBJECT_w, gxg_G_IS_OBJECT)
-Xen_wrap_1_arg(gxg_GDK_IS_SCREEN_w, gxg_GDK_IS_SCREEN)
 Xen_wrap_1_arg(gxg_GDK_IS_DISPLAY_w, gxg_GDK_IS_DISPLAY)
 Xen_wrap_1_arg(gxg_GTK_IS_FILE_CHOOSER_DIALOG_w, gxg_GTK_IS_FILE_CHOOSER_DIALOG)
 Xen_wrap_1_arg(gxg_GTK_IS_FILE_CHOOSER_WIDGET_w, gxg_GTK_IS_FILE_CHOOSER_WIDGET)
@@ -39748,7 +39412,6 @@ Xen_wrap_1_arg(gxg_GTK_IS_SEPARATOR_TOOL_ITEM_w, gxg_GTK_IS_SEPARATOR_TOOL_ITEM)
 Xen_wrap_1_arg(gxg_GTK_IS_TOGGLE_TOOL_BUTTON_w, gxg_GTK_IS_TOGGLE_TOOL_BUTTON)
 Xen_wrap_1_arg(gxg_GTK_IS_FILE_FILTER_w, gxg_GTK_IS_FILE_FILTER)
 Xen_wrap_1_arg(gxg_GTK_IS_CELL_LAYOUT_w, gxg_GTK_IS_CELL_LAYOUT)
-Xen_wrap_1_arg(gxg_GTK_IS_CLIPBOARD_w, gxg_GTK_IS_CLIPBOARD)
 Xen_wrap_1_arg(gxg_GTK_IS_FILE_CHOOSER_w, gxg_GTK_IS_FILE_CHOOSER)
 Xen_wrap_1_arg(gxg_GTK_IS_ICON_THEME_w, gxg_GTK_IS_ICON_THEME)
 Xen_wrap_1_arg(gxg_GTK_IS_TOOL_BUTTON_w, gxg_GTK_IS_TOOL_BUTTON)
@@ -39871,13 +39534,21 @@ Xen_wrap_1_arg(gxg_GTK_IS_SHORTCUT_LABEL_w, gxg_GTK_IS_SHORTCUT_LABEL)
 Xen_wrap_1_arg(gxg_GTK_IS_CENTER_BOX_w, gxg_GTK_IS_CENTER_BOX)
 Xen_wrap_1_arg(gxg_GTK_IS_EMOJI_CHOOSER_w, gxg_GTK_IS_EMOJI_CHOOSER)
 Xen_wrap_1_arg(gxg_GTK_IS_EVENT_CONTROLLER_SCROLL_w, gxg_GTK_IS_EVENT_CONTROLLER_SCROLL)
+Xen_wrap_1_arg(gxg_GTK_IS_EVENT_CONTROLLER_MOTION_w, gxg_GTK_IS_EVENT_CONTROLLER_MOTION)
+Xen_wrap_1_arg(gxg_GDK_IS_TEXTURE_w, gxg_GDK_IS_TEXTURE)
+Xen_wrap_1_arg(gxg_GDK_IS_EVENT_w, gxg_GDK_IS_EVENT)
+Xen_wrap_1_arg(gxg_GDK_IS_APP_LAUNCH_CONTEXT_w, gxg_GDK_IS_APP_LAUNCH_CONTEXT)
+Xen_wrap_1_arg(gxg_GDK_IS_CLIPBOARD_w, gxg_GDK_IS_CLIPBOARD)
+Xen_wrap_1_arg(gxg_GDK_IS_CONTENT_PROVIDER_w, gxg_GDK_IS_CONTENT_PROVIDER)
+Xen_wrap_1_arg(gxg_GDK_IS_CONTENT_SERIALIZER_w, gxg_GDK_IS_CONTENT_SERIALIZER)
+Xen_wrap_1_arg(gxg_GDK_IS_CONTENT_DESERIALIZER_w, gxg_GDK_IS_CONTENT_DESERIALIZER)
 #endif
 
 static void define_functions(void)
 {
 #if HAVE_SCHEME
   s7_pointer s_boolean, s_integer, s_real, s_string, s_any, s_pair, s_float, s_gtk_enum_t, s_pair_false;
-  s7_pointer pl_b, pl_s, pl_t, pl_bsu, pl_bsigb, pl_bt, pl_tb, pl_ssi, pl_bti, pl_ssig, pl_btiib, pl_st, pl_ts, pl_tsu, pl_tsb, pl_tsi, pl_tsig, pl_tsiu, pl_tsiuui, pl_tsiiuui, pl_tts, pl_tti, pl_p, pl_g, pl_buuusuug, pl_bu, pl_pb, pl_bur, pl_bug, pl_bus, pl_but, pl_bui, pl_bub, pl_buug, pl_buti, pl_busi, pl_buui, pl_buus, pl_busu, pl_buib, pl_buiu, pl_buub, pl_buig, pl_buigu, pl_buuti, pl_butib, pl_buuit, pl_butti, pl_busib, pl_buuub, pl_buttu, pl_busgu, pl_buuui, pl_buuig, pl_buiuig, pl_buusib, pl_buuuub, pl_buurbr, pl_su, pl_ps, pl_sug, pl_sui, pl_psu, pl_psb, pl_sus, pl_psg, pl_psi, pl_psgi, pl_psiu, pl_psut, pl_suiig, pl_suuub, pl_psugt, pl_psiuub, pl_psrrrb, pl_tusiuiui, pl_tuurrrrg, pl_tuurrrrgr, pl_tuttigsi, pl_psgbiiiit, pl_tuiiiiui, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_psiiuusu, pl_pt, pl_tu, pl_tur, pl_tub, pl_tui, pl_tus, pl_tut, pl_tug, pl_turs, pl_tubu, pl_tusg, pl_tugb, pl_tugs, pl_tubi, pl_tuti, pl_tuit, pl_tusr, pl_tusi, pl_turi, pl_tuui, pl_tuur, pl_tuig, pl_tusb, pl_tutb, pl_tust, pl_tuub, pl_tuus, pl_tuug, pl_tuut, pl_tugu, pl_tugr, pl_tugi, pl_tuib, pl_tusu, pl_tugt, pl_tuis, pl_tuiu, pl_tuuiu, pl_tussu, pl_tuuur, pl_tuusb, pl_tugui, pl_tuisi, pl_tugug, pl_turgs, pl_tuurb, pl_tuuti, pl_tubbi, pl_tutti, pl_tutui, pl_tuuri, pl_tuugi, pl_tusri, pl_tuuut, pl_tuibu, pl_tuuig, pl_tuubr, pl_tuuub, pl_tuuir, pl_tuuui, pl_tuusi, pl_tuiiu, pl_tuuggu, pl_tugiis, pl_tuurru, pl_tuuuui, pl_tugiiu, pl_tuuugi, pl_tuuuub, pl_tuttti, pl_tuiggu, pl_turrrb, pl_tutisi, pl_tuusit, pl_tuurbr, pl_tuguig, pl_tusiis, pl_tusuig, pl_tuuubr, pl_tuuuggu, pl_tuuttti, pl_tuuiuui, pl_tubiiiu, pl_sg, pl_gs, pl_i, pl_tg, pl_bi, pl_big, pl_si, pl_is, pl_isi, pl_sig, pl_isgt, pl_isigutttiiu, pl_ti, pl_it, pl_tiu, pl_itsub, pl_itiiub, pl_itstttg, pl_itgiiut, pl_pu, pl_pur, pl_pub, pl_pui, pl_pus, pl_pug, pl_put, pl_puur, pl_pugi, pl_pubi, pl_pusi, pl_putu, pl_puri, pl_pust, pl_pusu, pl_pugu, pl_puui, pl_puiu, pl_puuui, pl_purru, pl_puuig, pl_puiig, pl_puigu, pl_pusiu, pl_pusub, pl_puuiu, pl_puiiu, pl_puutu, pl_pussu, pl_puibu, pl_pusig, pl_pusiig, pl_puuiig, pl_puiiui, pl_puiigi, pl_pugiiu, pl_puuubu, pl_pusigu, pl_pusiiu, pl_puuiiu, pl_pusiigu, pl_pusiuiu, pl_pusiiugu, pl_puttiiiu, pl_puuusuug, pl_puutuuiu, pl_pusiuibu, pl_guugbuut, pl_gu, pl_pg, pl_gus, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_gui, pl_guut, pl_pgbi, pl_guuut, pl_gussitu, pl_gurrsiu, pl_iu, pl_pi, pl_iur, pl_iug, pl_pit, pl_ius, pl_iui, pl_piu, pl_iugi, pl_iuis, pl_iusi, pl_iuui, pl_iuisi, pl_iuuui, pl_iuuuui, pl_iuisut, pl_gi, pl_igi, pl_iit, pl_iiit, pl_du, pl_pr, pl_dui, pl_dus, pl_dusr, pl_dusi, pl_prrru, pl_bpt;
+  s7_pointer pl_gu, pl_pg, pl_gus, pl_pgr, pl_pgu, pl_pgi, pl_gug, pl_gui, pl_guut, pl_pgbi, pl_guuut, pl_gussitu, pl_gurrsiu, pl_guugbuut, pl_b, pl_s, pl_t, pl_bsu, pl_bsigb, pl_gi, pl_bt, pl_tb, pl_igi, pl_ssi, pl_bti, pl_ssig, pl_btiib, pl_ts, pl_tsu, pl_tsi, pl_tsit, pl_tsig, pl_tsiu, pl_tsiuui, pl_tsiiuui, pl_tts, pl_tti, pl_p, pl_buuusuug, pl_bu, pl_pb, pl_bur, pl_bug, pl_bus, pl_bui, pl_bub, pl_busi, pl_buib, pl_busu, pl_buub, pl_buig, pl_buus, pl_buui, pl_buigu, pl_busib, pl_buuub, pl_buttu, pl_busgu, pl_buuig, pl_buuui, pl_buiuig, pl_buusib, pl_buuuub, pl_buurbr, pl_su, pl_ps, pl_sug, pl_sui, pl_psu, pl_psb, pl_sus, pl_psg, pl_psi, pl_psgi, pl_psiu, pl_psut, pl_suiig, pl_suuub, pl_psugt, pl_psiuub, pl_psrrrb, pl_tusiuiui, pl_tuurrrrg, pl_tuurrrrgr, pl_psgbiiiit, pl_tuiiiiui, pl_tuuiiiirrrrg, pl_tuuiiiirrrrgi, pl_psiiuusu, pl_pt, pl_tu, pl_tur, pl_tub, pl_tui, pl_tus, pl_tut, pl_tug, pl_turs, pl_tubu, pl_tusg, pl_tugb, pl_tugs, pl_tubi, pl_tuib, pl_tusr, pl_tusi, pl_turi, pl_tuui, pl_tuur, pl_tuig, pl_tusb, pl_tuub, pl_tuus, pl_tuug, pl_tugu, pl_tugr, pl_tugi, pl_tusu, pl_tuut, pl_tugt, pl_tuis, pl_tust, pl_tuiu, pl_tuit, pl_tuuiu, pl_tuiut, pl_tugug, pl_tussu, pl_tuuur, pl_tuusb, pl_tugui, pl_tuisi, pl_turgs, pl_tuurb, pl_tuuti, pl_tuuri, pl_tusri, pl_tuuut, pl_tuubr, pl_tuuub, pl_tuuir, pl_tuuui, pl_tuusi, pl_tuiiu, pl_tuugi, pl_tuiiut, pl_tuuiut, pl_tutisi, pl_tuuggu, pl_tugiis, pl_tuurru, pl_tuuuui, pl_tugiiu, pl_tuuugi, pl_tuuuub, pl_tuiggu, pl_turrrb, pl_tuusit, pl_tusiis, pl_tusuig, pl_tuuubr, pl_tuurbr, pl_tusuiut, pl_tusiiut, pl_tuuuggu, pl_tuuiuui, pl_tubiiiu, pl_i, pl_bi, pl_big, pl_si, pl_is, pl_isi, pl_sig, pl_isgt, pl_isigutttiiu, pl_ti, pl_it, pl_tiu, pl_tist, pl_itsub, pl_itiiub, pl_itstttg, pl_itgiiut, pl_pu, pl_pur, pl_pub, pl_pui, pl_pug, pl_pus, pl_put, pl_pugi, pl_pubi, pl_pusi, pl_puri, pl_pust, pl_pusu, pl_pugu, pl_puiu, pl_purru, pl_puuig, pl_puiig, pl_puigu, pl_pusiu, pl_pusub, pl_puiiu, pl_pussu, pl_puibu, pl_pusig, pl_puuiu, pl_puuugi, pl_pusiig, pl_puuiig, pl_puiiui, pl_puiigi, pl_puuubu, pl_pusigu, pl_pusiiu, pl_puuiiu, pl_pugiiu, pl_pusiigu, pl_pusiuiu, pl_pusiiugu, pl_puuusuug, pl_pusiuibu, pl_iu, pl_pi, pl_iur, pl_ius, pl_iui, pl_piu, pl_pit, pl_iug, pl_iugi, pl_iuis, pl_iusi, pl_iuui, pl_iuisi, pl_iuuui, pl_iuuuui, pl_iuisut, pl_g, pl_sg, pl_gs, pl_tg, pl_iit, pl_iiit, pl_du, pl_pr, pl_dus, pl_dui, pl_dusr, pl_dusi, pl_prrru, pl_bpt;
 #endif
 
   xm_gc_table = Xen_make_vector(1, Xen_false);
@@ -39897,22 +39568,37 @@ static void define_functions(void)
   s_gtk_enum_t = s7_make_symbol(s7, "gtk_enum_t?");
   s_any = s7_t(s7);
 
+  pl_gu = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_pair_false);
+  pl_pg = s7_make_circular_signature(s7, 1, 2, s_pair, s_gtk_enum_t);
+  pl_gus = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
+  pl_pgr = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_real);
+  pl_pgu = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
+  pl_pgi = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_integer);
+  pl_gug = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
+  pl_gui = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
+  pl_guut = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
+  pl_pgbi = s7_make_circular_signature(s7, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
+  pl_guuut = s7_make_circular_signature(s7, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
+  pl_gussitu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
+  pl_gurrsiu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
+  pl_guugbuut = s7_make_circular_signature(s7, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
   pl_b = s7_make_circular_signature(s7, 0, 1, s_boolean);
   pl_s = s7_make_circular_signature(s7, 0, 1, s_string);
   pl_t = s7_make_circular_signature(s7, 0, 1, s_any);
   pl_bsu = s7_make_circular_signature(s7, 2, 3, s_boolean, s_string, s_pair_false);
   pl_bsigb = s7_make_circular_signature(s7, 4, 5, s_boolean, s_string, s_integer, s_gtk_enum_t, s_boolean);
+  pl_gi = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_integer);
   pl_bt = s7_make_circular_signature(s7, 1, 2, s_boolean, s_any);
   pl_tb = s7_make_circular_signature(s7, 1, 2, s_any, s_boolean);
+  pl_igi = s7_make_circular_signature(s7, 2, 3, s_integer, s_gtk_enum_t, s_integer);
   pl_ssi = s7_make_circular_signature(s7, 2, 3, s_string, s_string, s_integer);
   pl_bti = s7_make_circular_signature(s7, 2, 3, s_boolean, s_any, s_integer);
   pl_ssig = s7_make_circular_signature(s7, 3, 4, s_string, s_string, s_integer, s_gtk_enum_t);
   pl_btiib = s7_make_circular_signature(s7, 4, 5, s_boolean, s_any, s_integer, s_integer, s_boolean);
-  pl_st = s7_make_circular_signature(s7, 1, 2, s_string, s_any);
   pl_ts = s7_make_circular_signature(s7, 1, 2, s_any, s_string);
   pl_tsu = s7_make_circular_signature(s7, 2, 3, s_any, s_string, s_pair_false);
-  pl_tsb = s7_make_circular_signature(s7, 2, 3, s_any, s_string, s_boolean);
   pl_tsi = s7_make_circular_signature(s7, 2, 3, s_any, s_string, s_integer);
+  pl_tsit = s7_make_circular_signature(s7, 3, 4, s_any, s_string, s_integer, s_any);
   pl_tsig = s7_make_circular_signature(s7, 3, 4, s_any, s_string, s_integer, s_gtk_enum_t);
   pl_tsiu = s7_make_circular_signature(s7, 3, 4, s_any, s_string, s_integer, s_pair_false);
   pl_tsiuui = s7_make_circular_signature(s7, 5, 6, s_any, s_string, s_integer, s_pair_false, s_pair_false, s_integer);
@@ -39920,37 +39606,28 @@ static void define_functions(void)
   pl_tts = s7_make_circular_signature(s7, 2, 3, s_any, s_any, s_string);
   pl_tti = s7_make_circular_signature(s7, 2, 3, s_any, s_any, s_integer);
   pl_p = s7_make_circular_signature(s7, 0, 1, s_pair);
-  pl_g = s7_make_circular_signature(s7, 0, 1, s_gtk_enum_t);
   pl_buuusuug = s7_make_circular_signature(s7, 7, 8, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_string, s_pair_false, s_pair_false, s_gtk_enum_t);
   pl_bu = s7_make_circular_signature(s7, 1, 2, s_boolean, s_pair_false);
   pl_pb = s7_make_circular_signature(s7, 1, 2, s_pair, s_boolean);
   pl_bur = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_real);
   pl_bug = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_gtk_enum_t);
   pl_bus = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_string);
-  pl_but = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_any);
   pl_bui = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_integer);
   pl_bub = s7_make_circular_signature(s7, 2, 3, s_boolean, s_pair_false, s_boolean);
-  pl_buug = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_buti = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_any, s_integer);
   pl_busi = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_string, s_integer);
-  pl_buui = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_integer);
-  pl_buus = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_string);
-  pl_busu = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_string, s_pair_false);
   pl_buib = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_integer, s_boolean);
-  pl_buiu = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_integer, s_pair_false);
+  pl_busu = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_string, s_pair_false);
   pl_buub = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_boolean);
   pl_buig = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_integer, s_gtk_enum_t);
+  pl_buus = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_string);
+  pl_buui = s7_make_circular_signature(s7, 3, 4, s_boolean, s_pair_false, s_pair_false, s_integer);
   pl_buigu = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_integer, s_gtk_enum_t, s_pair_false);
-  pl_buuti = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_any, s_integer);
-  pl_butib = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_any, s_integer, s_boolean);
-  pl_buuit = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_integer, s_any);
-  pl_butti = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_any, s_any, s_integer);
   pl_busib = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_string, s_integer, s_boolean);
   pl_buuub = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_boolean);
   pl_buttu = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_any, s_any, s_pair_false);
   pl_busgu = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_string, s_gtk_enum_t, s_pair_false);
-  pl_buuui = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_buuig = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
+  pl_buuui = s7_make_circular_signature(s7, 4, 5, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_buiuig = s7_make_circular_signature(s7, 5, 6, s_boolean, s_pair_false, s_integer, s_pair_false, s_integer, s_gtk_enum_t);
   pl_buusib = s7_make_circular_signature(s7, 5, 6, s_boolean, s_pair_false, s_pair_false, s_string, s_integer, s_boolean);
   pl_buuuub = s7_make_circular_signature(s7, 5, 6, s_boolean, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_boolean);
@@ -39975,7 +39652,6 @@ static void define_functions(void)
   pl_tusiuiui = s7_make_circular_signature(s7, 7, 8, s_any, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_pair_false, s_integer);
   pl_tuurrrrg = s7_make_circular_signature(s7, 7, 8, s_any, s_pair_false, s_pair_false, s_real, s_real, s_real, s_real, s_gtk_enum_t);
   pl_tuurrrrgr = s7_make_circular_signature(s7, 8, 9, s_any, s_pair_false, s_pair_false, s_real, s_real, s_real, s_real, s_gtk_enum_t, s_real);
-  pl_tuttigsi = s7_make_circular_signature(s7, 7, 8, s_any, s_pair_false, s_any, s_any, s_integer, s_gtk_enum_t, s_string, s_integer);
   pl_psgbiiiit = s7_make_circular_signature(s7, 8, 9, s_pair, s_string, s_gtk_enum_t, s_boolean, s_integer, s_integer, s_integer, s_integer, s_any);
   pl_tuiiiiui = s7_make_circular_signature(s7, 7, 8, s_any, s_pair_false, s_integer, s_integer, s_integer, s_integer, s_pair_false, s_integer);
   pl_tuuiiiirrrrg = s7_make_circular_signature(s7, 11, 12, s_any, s_pair_false, s_pair_false, s_integer, s_integer, s_integer, s_integer, s_real, s_real, s_real, s_real, s_gtk_enum_t);
@@ -39995,8 +39671,7 @@ static void define_functions(void)
   pl_tugb = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_boolean);
   pl_tugs = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_string);
   pl_tubi = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_boolean, s_integer);
-  pl_tuti = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_any, s_integer);
-  pl_tuit = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_any);
+  pl_tuib = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_boolean);
   pl_tusr = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_real);
   pl_tusi = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_integer);
   pl_turi = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_real, s_integer);
@@ -40004,45 +39679,43 @@ static void define_functions(void)
   pl_tuur = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_real);
   pl_tuig = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tusb = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_boolean);
-  pl_tutb = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_any, s_boolean);
-  pl_tust = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_any);
   pl_tuub = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_boolean);
   pl_tuus = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_string);
   pl_tuug = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_tuut = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_any);
   pl_tugu = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_pair_false);
   pl_tugr = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_real);
   pl_tugi = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_integer);
-  pl_tuib = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_boolean);
   pl_tusu = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_pair_false);
+  pl_tuut = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_pair_false, s_any);
   pl_tugt = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_gtk_enum_t, s_any);
   pl_tuis = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_string);
+  pl_tust = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_string, s_any);
   pl_tuiu = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_pair_false);
+  pl_tuit = s7_make_circular_signature(s7, 3, 4, s_any, s_pair_false, s_integer, s_any);
   pl_tuuiu = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false);
+  pl_tuiut = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tugug = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
   pl_tussu = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_string, s_string, s_pair_false);
   pl_tuuur = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_real);
   pl_tuusb = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_string, s_boolean);
   pl_tugui = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_integer);
   pl_tuisi = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_integer, s_string, s_integer);
-  pl_tugug = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
   pl_turgs = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_real, s_gtk_enum_t, s_string);
   pl_tuurb = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_real, s_boolean);
   pl_tuuti = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_any, s_integer);
-  pl_tubbi = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_boolean, s_boolean, s_integer);
-  pl_tutti = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_any, s_any, s_integer);
-  pl_tutui = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_any, s_pair_false, s_integer);
   pl_tuuri = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_real, s_integer);
-  pl_tuugi = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_tusri = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_string, s_real, s_integer);
   pl_tuuut = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_any);
-  pl_tuibu = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_integer, s_boolean, s_pair_false);
-  pl_tuuig = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tuubr = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_boolean, s_real);
   pl_tuuub = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_boolean);
   pl_tuuir = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_integer, s_real);
   pl_tuuui = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_tuusi = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_string, s_integer);
   pl_tuiiu = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_integer, s_integer, s_pair_false);
+  pl_tuugi = s7_make_circular_signature(s7, 4, 5, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
+  pl_tuiiut = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_integer, s_integer, s_pair_false, s_any);
+  pl_tuuiut = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tutisi = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_any, s_integer, s_string, s_integer);
   pl_tuuggu = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
   pl_tugiis = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_string);
   pl_tuurru = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_real, s_pair_false);
@@ -40050,24 +39723,19 @@ static void define_functions(void)
   pl_tugiiu = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_tuuugi = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_tuuuub = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_boolean);
-  pl_tuttti = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_any, s_any, s_any, s_integer);
   pl_tuiggu = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_integer, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
   pl_turrrb = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_real, s_real, s_real, s_boolean);
-  pl_tutisi = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_any, s_integer, s_string, s_integer);
   pl_tuusit = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_string, s_integer, s_any);
-  pl_tuurbr = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_boolean, s_real);
-  pl_tuguig = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_gtk_enum_t, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tusiis = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_string, s_integer, s_integer, s_string);
   pl_tusuig = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_string, s_pair_false, s_integer, s_gtk_enum_t);
   pl_tuuubr = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_pair_false, s_boolean, s_real);
+  pl_tuurbr = s7_make_circular_signature(s7, 5, 6, s_any, s_pair_false, s_pair_false, s_real, s_boolean, s_real);
+  pl_tusuiut = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_string, s_pair_false, s_integer, s_pair_false, s_any);
+  pl_tusiiut = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_string, s_integer, s_integer, s_pair_false, s_any);
   pl_tuuuggu = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_gtk_enum_t, s_pair_false);
-  pl_tuuttti = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_pair_false, s_any, s_any, s_any, s_integer);
   pl_tuuiuui = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false, s_pair_false, s_integer);
   pl_tubiiiu = s7_make_circular_signature(s7, 6, 7, s_any, s_pair_false, s_boolean, s_integer, s_integer, s_integer, s_pair_false);
-  pl_sg = s7_make_circular_signature(s7, 1, 2, s_string, s_gtk_enum_t);
-  pl_gs = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_string);
   pl_i = s7_make_circular_signature(s7, 0, 1, s_integer);
-  pl_tg = s7_make_circular_signature(s7, 1, 2, s_any, s_gtk_enum_t);
   pl_bi = s7_make_circular_signature(s7, 1, 2, s_boolean, s_integer);
   pl_big = s7_make_circular_signature(s7, 2, 3, s_boolean, s_integer, s_gtk_enum_t);
   pl_si = s7_make_circular_signature(s7, 1, 2, s_string, s_integer);
@@ -40079,6 +39747,7 @@ static void define_functions(void)
   pl_ti = s7_make_circular_signature(s7, 1, 2, s_any, s_integer);
   pl_it = s7_make_circular_signature(s7, 1, 2, s_integer, s_any);
   pl_tiu = s7_make_circular_signature(s7, 2, 3, s_any, s_integer, s_pair_false);
+  pl_tist = s7_make_circular_signature(s7, 3, 4, s_any, s_integer, s_string, s_any);
   pl_itsub = s7_make_circular_signature(s7, 4, 5, s_integer, s_any, s_string, s_pair_false, s_boolean);
   pl_itiiub = s7_make_circular_signature(s7, 5, 6, s_integer, s_any, s_integer, s_integer, s_pair_false, s_boolean);
   pl_itstttg = s7_make_circular_signature(s7, 6, 7, s_integer, s_any, s_string, s_any, s_any, s_any, s_gtk_enum_t);
@@ -40087,71 +39756,51 @@ static void define_functions(void)
   pl_pur = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_real);
   pl_pub = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_boolean);
   pl_pui = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_integer);
-  pl_pus = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_string);
   pl_pug = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_gtk_enum_t);
+  pl_pus = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_string);
   pl_put = s7_make_circular_signature(s7, 2, 3, s_pair, s_pair_false, s_any);
-  pl_puur = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_pair_false, s_real);
   pl_pugi = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_gtk_enum_t, s_integer);
   pl_pubi = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_boolean, s_integer);
   pl_pusi = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_string, s_integer);
-  pl_putu = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_any, s_pair_false);
   pl_puri = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_real, s_integer);
   pl_pust = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_string, s_any);
   pl_pusu = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_string, s_pair_false);
   pl_pugu = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_gtk_enum_t, s_pair_false);
-  pl_puui = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_pair_false, s_integer);
   pl_puiu = s7_make_circular_signature(s7, 3, 4, s_pair, s_pair_false, s_integer, s_pair_false);
-  pl_puuui = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_purru = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_real, s_real, s_pair_false);
   pl_puuig = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_gtk_enum_t);
   pl_puiig = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_integer, s_integer, s_gtk_enum_t);
   pl_puigu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_string, s_integer, s_pair_false);
   pl_pusub = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_string, s_pair_false, s_boolean);
-  pl_puuiu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_pair_false);
   pl_puiiu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_integer, s_integer, s_pair_false);
-  pl_puutu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_pair_false, s_any, s_pair_false);
   pl_pussu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_string, s_string, s_pair_false);
   pl_puibu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_integer, s_boolean, s_pair_false);
   pl_pusig = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_string, s_integer, s_gtk_enum_t);
+  pl_puuiu = s7_make_circular_signature(s7, 4, 5, s_pair, s_pair_false, s_pair_false, s_integer, s_pair_false);
+  pl_puuugi = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_pair_false, s_pair_false, s_gtk_enum_t, s_integer);
   pl_pusiig = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_integer, s_gtk_enum_t);
   pl_puuiig = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_pair_false, s_integer, s_integer, s_gtk_enum_t);
   pl_puiiui = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_integer, s_integer, s_pair_false, s_integer);
   pl_puiigi = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_integer, s_integer, s_gtk_enum_t, s_integer);
-  pl_pugiiu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_puuubu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_pair_false, s_pair_false, s_boolean, s_pair_false);
   pl_pusigu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiiu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_string, s_integer, s_integer, s_pair_false);
   pl_puuiiu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_pair_false, s_integer, s_integer, s_pair_false);
+  pl_pugiiu = s7_make_circular_signature(s7, 5, 6, s_pair, s_pair_false, s_gtk_enum_t, s_integer, s_integer, s_pair_false);
   pl_pusiigu = s7_make_circular_signature(s7, 6, 7, s_pair, s_pair_false, s_string, s_integer, s_integer, s_gtk_enum_t, s_pair_false);
   pl_pusiuiu = s7_make_circular_signature(s7, 6, 7, s_pair, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_pair_false);
   pl_pusiiugu = s7_make_circular_signature(s7, 7, 8, s_pair, s_pair_false, s_string, s_integer, s_integer, s_pair_false, s_gtk_enum_t, s_pair_false);
-  pl_puttiiiu = s7_make_circular_signature(s7, 7, 8, s_pair, s_pair_false, s_any, s_any, s_integer, s_integer, s_integer, s_pair_false);
   pl_puuusuug = s7_make_circular_signature(s7, 7, 8, s_pair, s_pair_false, s_pair_false, s_pair_false, s_string, s_pair_false, s_pair_false, s_gtk_enum_t);
-  pl_puutuuiu = s7_make_circular_signature(s7, 7, 8, s_pair, s_pair_false, s_pair_false, s_any, s_pair_false, s_pair_false, s_integer, s_pair_false);
   pl_pusiuibu = s7_make_circular_signature(s7, 7, 8, s_pair, s_pair_false, s_string, s_integer, s_pair_false, s_integer, s_boolean, s_pair_false);
-  pl_guugbuut = s7_make_circular_signature(s7, 7, 8, s_gtk_enum_t, s_pair_false, s_pair_false, s_gtk_enum_t, s_boolean, s_pair_false, s_pair_false, s_any);
-  pl_gu = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_pair_false);
-  pl_pg = s7_make_circular_signature(s7, 1, 2, s_pair, s_gtk_enum_t);
-  pl_gus = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_string);
-  pl_pgr = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_real);
-  pl_pgu = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_pair_false);
-  pl_pgi = s7_make_circular_signature(s7, 2, 3, s_pair, s_gtk_enum_t, s_integer);
-  pl_gug = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_gtk_enum_t);
-  pl_gui = s7_make_circular_signature(s7, 2, 3, s_gtk_enum_t, s_pair_false, s_integer);
-  pl_guut = s7_make_circular_signature(s7, 3, 4, s_gtk_enum_t, s_pair_false, s_pair_false, s_any);
-  pl_pgbi = s7_make_circular_signature(s7, 3, 4, s_pair, s_gtk_enum_t, s_boolean, s_integer);
-  pl_guuut = s7_make_circular_signature(s7, 4, 5, s_gtk_enum_t, s_pair_false, s_pair_false, s_pair_false, s_any);
-  pl_gussitu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_string, s_string, s_integer, s_any, s_pair_false);
-  pl_gurrsiu = s7_make_circular_signature(s7, 6, 7, s_gtk_enum_t, s_pair_false, s_real, s_real, s_string, s_integer, s_pair_false);
   pl_iu = s7_make_circular_signature(s7, 1, 2, s_integer, s_pair_false);
   pl_pi = s7_make_circular_signature(s7, 1, 2, s_pair, s_integer);
   pl_iur = s7_make_circular_signature(s7, 2, 3, s_integer, s_pair_false, s_real);
-  pl_iug = s7_make_circular_signature(s7, 2, 3, s_integer, s_pair_false, s_gtk_enum_t);
-  pl_pit = s7_make_circular_signature(s7, 2, 3, s_pair, s_integer, s_any);
   pl_ius = s7_make_circular_signature(s7, 2, 3, s_integer, s_pair_false, s_string);
   pl_iui = s7_make_circular_signature(s7, 2, 3, s_integer, s_pair_false, s_integer);
   pl_piu = s7_make_circular_signature(s7, 2, 3, s_pair, s_integer, s_pair_false);
+  pl_pit = s7_make_circular_signature(s7, 2, 3, s_pair, s_integer, s_any);
+  pl_iug = s7_make_circular_signature(s7, 2, 3, s_integer, s_pair_false, s_gtk_enum_t);
   pl_iugi = s7_make_circular_signature(s7, 3, 4, s_integer, s_pair_false, s_gtk_enum_t, s_integer);
   pl_iuis = s7_make_circular_signature(s7, 3, 4, s_integer, s_pair_false, s_integer, s_string);
   pl_iusi = s7_make_circular_signature(s7, 3, 4, s_integer, s_pair_false, s_string, s_integer);
@@ -40160,14 +39809,16 @@ static void define_functions(void)
   pl_iuuui = s7_make_circular_signature(s7, 4, 5, s_integer, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_iuuuui = s7_make_circular_signature(s7, 5, 6, s_integer, s_pair_false, s_pair_false, s_pair_false, s_pair_false, s_integer);
   pl_iuisut = s7_make_circular_signature(s7, 5, 6, s_integer, s_pair_false, s_integer, s_string, s_pair_false, s_any);
-  pl_gi = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_integer);
-  pl_igi = s7_make_circular_signature(s7, 2, 3, s_integer, s_gtk_enum_t, s_integer);
+  pl_g = s7_make_circular_signature(s7, 0, 1, s_gtk_enum_t);
+  pl_sg = s7_make_circular_signature(s7, 1, 2, s_string, s_gtk_enum_t);
+  pl_gs = s7_make_circular_signature(s7, 1, 2, s_gtk_enum_t, s_string);
+  pl_tg = s7_make_circular_signature(s7, 1, 2, s_any, s_gtk_enum_t);
   pl_iit = s7_make_circular_signature(s7, 2, 3, s_integer, s_integer, s_any);
   pl_iiit = s7_make_circular_signature(s7, 3, 4, s_integer, s_integer, s_integer, s_any);
   pl_du = s7_make_circular_signature(s7, 1, 2, s_float, s_pair_false);
   pl_pr = s7_make_circular_signature(s7, 1, 2, s_pair, s_real);
-  pl_dui = s7_make_circular_signature(s7, 2, 3, s_float, s_pair_false, s_integer);
   pl_dus = s7_make_circular_signature(s7, 2, 3, s_float, s_pair_false, s_string);
+  pl_dui = s7_make_circular_signature(s7, 2, 3, s_float, s_pair_false, s_integer);
   pl_dusr = s7_make_circular_signature(s7, 3, 4, s_float, s_pair_false, s_string, s_real);
   pl_dusi = s7_make_circular_signature(s7, 3, 4, s_float, s_pair_false, s_string, s_integer);
   pl_prrru = s7_make_circular_signature(s7, 4, 5, s_pair, s_real, s_real, s_real, s_pair_false);
@@ -40243,19 +39894,9 @@ static void define_functions(void)
   Xg_define_procedure(g_signal_handlers_destroy, gxg_g_signal_handlers_destroy_w, 1, 0, 0, H_g_signal_handlers_destroy, pl_t);
   Xg_define_procedure(g_object_ref, gxg_g_object_ref_w, 1, 0, 0, H_g_object_ref, pl_t);
   Xg_define_procedure(g_object_unref, gxg_g_object_unref_w, 1, 0, 0, H_g_object_unref, pl_t);
-  Xg_define_procedure(gdk_cursor_new_for_display, gxg_gdk_cursor_new_for_display_w, 2, 0, 0, H_gdk_cursor_new_for_display, pl_pug);
-  Xg_define_procedure(gdk_cursor_get_display, gxg_gdk_cursor_get_display_w, 1, 0, 0, H_gdk_cursor_get_display, pl_pu);
   Xg_define_procedure(gdk_drag_status, gxg_gdk_drag_status_w, 3, 0, 0, H_gdk_drag_status, pl_tugi);
   Xg_define_procedure(gdk_drop_reply, gxg_gdk_drop_reply_w, 3, 0, 0, H_gdk_drop_reply, pl_tubi);
   Xg_define_procedure(gdk_drop_finish, gxg_gdk_drop_finish_w, 3, 0, 0, H_gdk_drop_finish, pl_tubi);
-  Xg_define_procedure(gdk_drag_get_selection, gxg_gdk_drag_get_selection_w, 1, 0, 0, H_gdk_drag_get_selection, pl_tu);
-  Xg_define_procedure(gdk_drag_begin, gxg_gdk_drag_begin_w, 2, 0, 0, H_gdk_drag_begin, pl_pu);
-  Xg_define_procedure(gdk_drag_drop, gxg_gdk_drag_drop_w, 2, 0, 0, H_gdk_drag_drop, pl_tui);
-  Xg_define_procedure(gdk_drag_abort, gxg_gdk_drag_abort_w, 2, 0, 0, H_gdk_drag_abort, pl_tui);
-  Xg_define_procedure(gdk_events_pending, gxg_gdk_events_pending_w, 0, 0, 0, H_gdk_events_pending, pl_b);
-  Xg_define_procedure(gdk_event_get, gxg_gdk_event_get_w, 0, 0, 0, H_gdk_event_get, pl_p);
-  Xg_define_procedure(gdk_event_peek, gxg_gdk_event_peek_w, 0, 0, 0, H_gdk_event_peek, pl_p);
-  Xg_define_procedure(gdk_event_put, gxg_gdk_event_put_w, 1, 0, 0, H_gdk_event_put, pl_tu);
   Xg_define_procedure(gdk_event_copy, gxg_gdk_event_copy_w, 1, 0, 0, H_gdk_event_copy, pl_pu);
   Xg_define_procedure(gdk_event_free, gxg_gdk_event_free_w, 1, 0, 0, H_gdk_event_free, pl_tu);
   Xg_define_procedure(gdk_event_get_time, gxg_gdk_event_get_time_w, 1, 0, 0, H_gdk_event_get_time, pl_iu);
@@ -40265,18 +39906,8 @@ static void define_functions(void)
   Xg_define_procedure(gdk_event_handler_set, gxg_gdk_event_handler_set_w, 3, 0, 0, H_gdk_event_handler_set, pl_t);
   Xg_define_procedure(gdk_set_show_events, gxg_gdk_set_show_events_w, 1, 0, 0, H_gdk_set_show_events, pl_tb);
   Xg_define_procedure(gdk_get_show_events, gxg_gdk_get_show_events_w, 0, 0, 0, H_gdk_get_show_events, pl_b);
-  Xg_define_procedure(gdk_get_program_class, gxg_gdk_get_program_class_w, 0, 0, 0, H_gdk_get_program_class, pl_s);
-  Xg_define_procedure(gdk_set_program_class, gxg_gdk_set_program_class_w, 1, 0, 0, H_gdk_set_program_class, pl_ts);
-  Xg_define_procedure(gdk_error_trap_push, gxg_gdk_error_trap_push_w, 0, 0, 0, H_gdk_error_trap_push, pl_t);
-  Xg_define_procedure(gdk_error_trap_pop, gxg_gdk_error_trap_pop_w, 0, 0, 0, H_gdk_error_trap_pop, pl_i);
-  Xg_define_procedure(gdk_get_display_arg_name, gxg_gdk_get_display_arg_name_w, 0, 0, 0, H_gdk_get_display_arg_name, pl_s);
-  Xg_define_procedure(gdk_notify_startup_complete, gxg_gdk_notify_startup_complete_w, 0, 0, 0, H_gdk_notify_startup_complete, pl_t);
-  Xg_define_procedure(gdk_flush, gxg_gdk_flush_w, 0, 0, 0, H_gdk_flush, pl_t);
-  Xg_define_procedure(gdk_beep, gxg_gdk_beep_w, 0, 0, 0, H_gdk_beep, pl_t);
-  Xg_define_procedure(gdk_set_double_click_time, gxg_gdk_set_double_click_time_w, 1, 0, 0, H_gdk_set_double_click_time, pl_ti);
   Xg_define_procedure(gdk_rectangle_intersect, gxg_gdk_rectangle_intersect_w, 3, 0, 0, H_gdk_rectangle_intersect, pl_bu);
   Xg_define_procedure(gdk_rectangle_union, gxg_gdk_rectangle_union_w, 3, 0, 0, H_gdk_rectangle_union, pl_tu);
-  Xg_define_procedure(gdk_keymap_get_default, gxg_gdk_keymap_get_default_w, 0, 0, 0, H_gdk_keymap_get_default, pl_p);
   Xg_define_procedure(gdk_keymap_lookup_key, gxg_gdk_keymap_lookup_key_w, 2, 0, 0, H_gdk_keymap_lookup_key, pl_iu);
   Xg_define_procedure(gdk_keymap_get_entries_for_keyval, gxg_gdk_keymap_get_entries_for_keyval_w, 2, 2, 0, H_gdk_keymap_get_entries_for_keyval, pl_puiu);
   Xg_define_procedure(gdk_keymap_get_entries_for_keycode, gxg_gdk_keymap_get_entries_for_keycode_w, 2, 3, 0, H_gdk_keymap_get_entries_for_keycode, pl_puiu);
@@ -40290,17 +39921,7 @@ static void define_functions(void)
   Xg_define_procedure(gdk_keyval_is_lower, gxg_gdk_keyval_is_lower_w, 1, 0, 0, H_gdk_keyval_is_lower, pl_bi);
   Xg_define_procedure(gdk_keyval_to_unicode, gxg_gdk_keyval_to_unicode_w, 1, 0, 0, H_gdk_keyval_to_unicode, pl_i);
   Xg_define_procedure(gdk_unicode_to_keyval, gxg_gdk_unicode_to_keyval_w, 1, 0, 0, H_gdk_unicode_to_keyval, pl_i);
-  Xg_define_procedure(gdk_pango_context_get, gxg_gdk_pango_context_get_w, 0, 0, 0, H_gdk_pango_context_get, pl_p);
-  Xg_define_procedure(gdk_atom_intern, gxg_gdk_atom_intern_w, 2, 0, 0, H_gdk_atom_intern, pl_tsb);
-  Xg_define_procedure(gdk_atom_name, gxg_gdk_atom_name_w, 1, 0, 0, H_gdk_atom_name, pl_st);
-  Xg_define_procedure(gdk_property_get, gxg_gdk_property_get_w, 0, 0, 1, H_gdk_property_get, pl_puttiiiu);
-  Xg_define_procedure(gdk_property_change, gxg_gdk_property_change_w, 7, 0, 0, H_gdk_property_change, pl_tuttigsi);
-  Xg_define_procedure(gdk_property_delete, gxg_gdk_property_delete_w, 2, 0, 0, H_gdk_property_delete, pl_tut);
   Xg_define_procedure(gdk_utf8_to_string_target, gxg_gdk_utf8_to_string_target_w, 1, 0, 0, H_gdk_utf8_to_string_target, pl_s);
-  Xg_define_procedure(gdk_selection_owner_set, gxg_gdk_selection_owner_set_w, 4, 0, 0, H_gdk_selection_owner_set, pl_butib);
-  Xg_define_procedure(gdk_selection_owner_get, gxg_gdk_selection_owner_get_w, 1, 0, 0, H_gdk_selection_owner_get, pl_pt);
-  Xg_define_procedure(gdk_selection_convert, gxg_gdk_selection_convert_w, 4, 0, 0, H_gdk_selection_convert, pl_tutti);
-  Xg_define_procedure(gdk_selection_property_get, gxg_gdk_selection_property_get_w, 1, 3, 0, H_gdk_selection_property_get, pl_pu);
   Xg_define_procedure(gdk_window_destroy, gxg_gdk_window_destroy_w, 1, 0, 0, H_gdk_window_destroy, pl_tu);
   Xg_define_procedure(gdk_window_get_window_type, gxg_gdk_window_get_window_type_w, 1, 0, 0, H_gdk_window_get_window_type, pl_gu);
   Xg_define_procedure(gdk_window_show, gxg_gdk_window_show_w, 1, 0, 0, H_gdk_window_show, pl_tu);
@@ -40330,7 +39951,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_window_peek_children, gxg_gdk_window_peek_children_w, 1, 0, 0, H_gdk_window_peek_children, pl_pu);
   Xg_define_procedure(gdk_window_get_events, gxg_gdk_window_get_events_w, 1, 0, 0, H_gdk_window_get_events, pl_gu);
   Xg_define_procedure(gdk_window_set_events, gxg_gdk_window_set_events_w, 2, 0, 0, H_gdk_window_set_events, pl_tug);
-  Xg_define_procedure(gdk_window_set_icon_list, gxg_gdk_window_set_icon_list_w, 2, 0, 0, H_gdk_window_set_icon_list, pl_tu);
   Xg_define_procedure(gdk_window_set_icon_name, gxg_gdk_window_set_icon_name_w, 2, 0, 0, H_gdk_window_set_icon_name, pl_tus);
   Xg_define_procedure(gdk_window_set_group, gxg_gdk_window_set_group_w, 2, 0, 0, H_gdk_window_set_group, pl_tu);
   Xg_define_procedure(gdk_window_set_decorations, gxg_gdk_window_set_decorations_w, 2, 0, 0, H_gdk_window_set_decorations, pl_tug);
@@ -40383,16 +40003,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_pixbuf_composite_color, gxg_gdk_pixbuf_composite_color_w, 0, 0, 1, H_gdk_pixbuf_composite_color, pl_tuuiiiirrrrgi);
   Xg_define_procedure(gdk_pixbuf_scale_simple, gxg_gdk_pixbuf_scale_simple_w, 4, 0, 0, H_gdk_pixbuf_scale_simple, pl_puiig);
   Xg_define_procedure(gdk_pixbuf_composite_color_simple, gxg_gdk_pixbuf_composite_color_simple_w, 0, 0, 1, H_gdk_pixbuf_composite_color_simple, pl_puiigi);
-  Xg_define_procedure(gdk_pixbuf_animation_new_from_file, gxg_gdk_pixbuf_animation_new_from_file_w, 1, 1, 0, H_gdk_pixbuf_animation_new_from_file, pl_psu);
-  Xg_define_procedure(gdk_pixbuf_animation_get_width, gxg_gdk_pixbuf_animation_get_width_w, 1, 0, 0, H_gdk_pixbuf_animation_get_width, pl_iu);
-  Xg_define_procedure(gdk_pixbuf_animation_get_height, gxg_gdk_pixbuf_animation_get_height_w, 1, 0, 0, H_gdk_pixbuf_animation_get_height, pl_iu);
-  Xg_define_procedure(gdk_pixbuf_animation_is_static_image, gxg_gdk_pixbuf_animation_is_static_image_w, 1, 0, 0, H_gdk_pixbuf_animation_is_static_image, pl_bu);
-  Xg_define_procedure(gdk_pixbuf_animation_get_static_image, gxg_gdk_pixbuf_animation_get_static_image_w, 1, 0, 0, H_gdk_pixbuf_animation_get_static_image, pl_pu);
-  Xg_define_procedure(gdk_pixbuf_animation_get_iter, gxg_gdk_pixbuf_animation_get_iter_w, 2, 0, 0, H_gdk_pixbuf_animation_get_iter, pl_pu);
-  Xg_define_procedure(gdk_pixbuf_animation_iter_get_delay_time, gxg_gdk_pixbuf_animation_iter_get_delay_time_w, 1, 0, 0, H_gdk_pixbuf_animation_iter_get_delay_time, pl_iu);
-  Xg_define_procedure(gdk_pixbuf_animation_iter_get_pixbuf, gxg_gdk_pixbuf_animation_iter_get_pixbuf_w, 1, 0, 0, H_gdk_pixbuf_animation_iter_get_pixbuf, pl_pu);
-  Xg_define_procedure(gdk_pixbuf_animation_iter_on_currently_loading_frame, gxg_gdk_pixbuf_animation_iter_on_currently_loading_frame_w, 1, 0, 0, H_gdk_pixbuf_animation_iter_on_currently_loading_frame, pl_bu);
-  Xg_define_procedure(gdk_pixbuf_animation_iter_advance, gxg_gdk_pixbuf_animation_iter_advance_w, 2, 0, 0, H_gdk_pixbuf_animation_iter_advance, pl_bu);
   Xg_define_procedure(gdk_pixbuf_get_option, gxg_gdk_pixbuf_get_option_w, 2, 0, 0, H_gdk_pixbuf_get_option, pl_sus);
   Xg_define_procedure(gtk_accel_group_new, gxg_gtk_accel_group_new_w, 0, 0, 0, H_gtk_accel_group_new, pl_p);
   Xg_define_procedure(gtk_accel_group_lock, gxg_gtk_accel_group_lock_w, 1, 0, 0, H_gtk_accel_group_lock, pl_tu);
@@ -40485,16 +40095,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_check_menu_item_toggled, gxg_gtk_check_menu_item_toggled_w, 1, 0, 0, H_gtk_check_menu_item_toggled, pl_tu);
   Xg_define_procedure(gtk_check_menu_item_set_inconsistent, gxg_gtk_check_menu_item_set_inconsistent_w, 2, 0, 0, H_gtk_check_menu_item_set_inconsistent, pl_tub);
   Xg_define_procedure(gtk_check_menu_item_get_inconsistent, gxg_gtk_check_menu_item_get_inconsistent_w, 1, 0, 0, H_gtk_check_menu_item_get_inconsistent, pl_bu);
-  Xg_define_procedure(gtk_clipboard_get, gxg_gtk_clipboard_get_w, 1, 0, 0, H_gtk_clipboard_get, pl_pt);
-  Xg_define_procedure(gtk_clipboard_set_with_data, gxg_gtk_clipboard_set_with_data_w, 5, 1, 0, H_gtk_clipboard_set_with_data, pl_buuit);
-  Xg_define_procedure(gtk_clipboard_get_owner, gxg_gtk_clipboard_get_owner_w, 1, 0, 0, H_gtk_clipboard_get_owner, pl_pu);
-  Xg_define_procedure(gtk_clipboard_clear, gxg_gtk_clipboard_clear_w, 1, 0, 0, H_gtk_clipboard_clear, pl_tu);
-  Xg_define_procedure(gtk_clipboard_set_text, gxg_gtk_clipboard_set_text_w, 3, 0, 0, H_gtk_clipboard_set_text, pl_tusi);
-  Xg_define_procedure(gtk_clipboard_request_contents, gxg_gtk_clipboard_request_contents_w, 3, 1, 0, H_gtk_clipboard_request_contents, pl_tut);
-  Xg_define_procedure(gtk_clipboard_request_text, gxg_gtk_clipboard_request_text_w, 2, 1, 0, H_gtk_clipboard_request_text, pl_tut);
-  Xg_define_procedure(gtk_clipboard_wait_for_contents, gxg_gtk_clipboard_wait_for_contents_w, 2, 0, 0, H_gtk_clipboard_wait_for_contents, pl_put);
-  Xg_define_procedure(gtk_clipboard_wait_for_text, gxg_gtk_clipboard_wait_for_text_w, 1, 0, 0, H_gtk_clipboard_wait_for_text, pl_su);
-  Xg_define_procedure(gtk_clipboard_wait_is_text_available, gxg_gtk_clipboard_wait_is_text_available_w, 1, 0, 0, H_gtk_clipboard_wait_is_text_available, pl_bu);
   Xg_define_procedure(gtk_container_add, gxg_gtk_container_add_w, 2, 0, 0, H_gtk_container_add, pl_tu);
   Xg_define_procedure(gtk_container_remove, gxg_gtk_container_remove_w, 2, 0, 0, H_gtk_container_remove, pl_tu);
   Xg_define_procedure(gtk_container_check_resize, gxg_gtk_container_check_resize_w, 1, 0, 0, H_gtk_container_check_resize, pl_tu);
@@ -40509,20 +40109,12 @@ static void define_functions(void)
   Xg_define_procedure(gtk_dialog_response, gxg_gtk_dialog_response_w, 2, 0, 0, H_gtk_dialog_response, pl_tui);
   Xg_define_procedure(gtk_dialog_run, gxg_gtk_dialog_run_w, 1, 0, 0, H_gtk_dialog_run, pl_iu);
   Xg_define_procedure(gtk_drag_get_data, gxg_gtk_drag_get_data_w, 4, 0, 0, H_gtk_drag_get_data, pl_tuuti);
-  Xg_define_procedure(gtk_drag_finish, gxg_gtk_drag_finish_w, 4, 0, 0, H_gtk_drag_finish, pl_tubbi);
   Xg_define_procedure(gtk_drag_get_source_widget, gxg_gtk_drag_get_source_widget_w, 1, 0, 0, H_gtk_drag_get_source_widget, pl_pu);
   Xg_define_procedure(gtk_drag_highlight, gxg_gtk_drag_highlight_w, 1, 0, 0, H_gtk_drag_highlight, pl_tu);
   Xg_define_procedure(gtk_drag_unhighlight, gxg_gtk_drag_unhighlight_w, 1, 0, 0, H_gtk_drag_unhighlight, pl_tu);
-  Xg_define_procedure(gtk_drag_dest_set, gxg_gtk_drag_dest_set_w, 5, 0, 0, H_gtk_drag_dest_set, pl_tuguig);
   Xg_define_procedure(gtk_drag_dest_unset, gxg_gtk_drag_dest_unset_w, 1, 0, 0, H_gtk_drag_dest_unset, pl_tu);
-  Xg_define_procedure(gtk_drag_dest_find_target, gxg_gtk_drag_dest_find_target_w, 3, 0, 0, H_gtk_drag_dest_find_target, pl_tu);
-  Xg_define_procedure(gtk_drag_dest_get_target_list, gxg_gtk_drag_dest_get_target_list_w, 1, 0, 0, H_gtk_drag_dest_get_target_list, pl_pu);
-  Xg_define_procedure(gtk_drag_dest_set_target_list, gxg_gtk_drag_dest_set_target_list_w, 2, 0, 0, H_gtk_drag_dest_set_target_list, pl_tu);
-  Xg_define_procedure(gtk_drag_source_set, gxg_gtk_drag_source_set_w, 5, 0, 0, H_gtk_drag_source_set, pl_tuguig);
   Xg_define_procedure(gtk_drag_source_unset, gxg_gtk_drag_source_unset_w, 1, 0, 0, H_gtk_drag_source_unset, pl_tu);
-  Xg_define_procedure(gtk_drag_source_set_icon_pixbuf, gxg_gtk_drag_source_set_icon_pixbuf_w, 2, 0, 0, H_gtk_drag_source_set_icon_pixbuf, pl_tu);
   Xg_define_procedure(gtk_drag_set_icon_widget, gxg_gtk_drag_set_icon_widget_w, 4, 0, 0, H_gtk_drag_set_icon_widget, pl_tuui);
-  Xg_define_procedure(gtk_drag_set_icon_pixbuf, gxg_gtk_drag_set_icon_pixbuf_w, 4, 0, 0, H_gtk_drag_set_icon_pixbuf, pl_tuui);
   Xg_define_procedure(gtk_drag_set_icon_default, gxg_gtk_drag_set_icon_default_w, 1, 0, 0, H_gtk_drag_set_icon_default, pl_tu);
   Xg_define_procedure(gtk_drag_check_threshold, gxg_gtk_drag_check_threshold_w, 5, 0, 0, H_gtk_drag_check_threshold, pl_bui);
   Xg_define_procedure(gtk_drawing_area_new, gxg_gtk_drawing_area_new_w, 0, 0, 0, H_gtk_drawing_area_new, pl_p);
@@ -40571,13 +40163,9 @@ static void define_functions(void)
   Xg_define_procedure(gtk_image_new, gxg_gtk_image_new_w, 0, 0, 0, H_gtk_image_new, pl_p);
   Xg_define_procedure(gtk_image_new_from_file, gxg_gtk_image_new_from_file_w, 1, 0, 0, H_gtk_image_new_from_file, pl_ps);
   Xg_define_procedure(gtk_image_new_from_pixbuf, gxg_gtk_image_new_from_pixbuf_w, 1, 0, 0, H_gtk_image_new_from_pixbuf, pl_pu);
-  Xg_define_procedure(gtk_image_new_from_animation, gxg_gtk_image_new_from_animation_w, 1, 0, 0, H_gtk_image_new_from_animation, pl_pu);
   Xg_define_procedure(gtk_image_set_from_file, gxg_gtk_image_set_from_file_w, 2, 0, 0, H_gtk_image_set_from_file, pl_tus);
   Xg_define_procedure(gtk_image_set_from_pixbuf, gxg_gtk_image_set_from_pixbuf_w, 2, 0, 0, H_gtk_image_set_from_pixbuf, pl_tu);
-  Xg_define_procedure(gtk_image_set_from_animation, gxg_gtk_image_set_from_animation_w, 2, 0, 0, H_gtk_image_set_from_animation, pl_tu);
   Xg_define_procedure(gtk_image_get_storage_type, gxg_gtk_image_get_storage_type_w, 1, 0, 0, H_gtk_image_get_storage_type, pl_gu);
-  Xg_define_procedure(gtk_image_get_pixbuf, gxg_gtk_image_get_pixbuf_w, 1, 0, 0, H_gtk_image_get_pixbuf, pl_pu);
-  Xg_define_procedure(gtk_image_get_animation, gxg_gtk_image_get_animation_w, 1, 0, 0, H_gtk_image_get_animation, pl_pu);
   Xg_define_procedure(gtk_im_context_get_preedit_string, gxg_gtk_im_context_get_preedit_string_w, 1, 3, 0, H_gtk_im_context_get_preedit_string, pl_pu);
   Xg_define_procedure(gtk_im_context_filter_keypress, gxg_gtk_im_context_filter_keypress_w, 2, 0, 0, H_gtk_im_context_filter_keypress, pl_bu);
   Xg_define_procedure(gtk_im_context_focus_in, gxg_gtk_im_context_focus_in_w, 1, 0, 0, H_gtk_im_context_focus_in, pl_tu);
@@ -40771,23 +40359,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_scrolled_window_get_placement, gxg_gtk_scrolled_window_get_placement_w, 1, 0, 0, H_gtk_scrolled_window_get_placement, pl_gu);
   Xg_define_procedure(gtk_scrolled_window_set_shadow_type, gxg_gtk_scrolled_window_set_shadow_type_w, 2, 0, 0, H_gtk_scrolled_window_set_shadow_type, pl_tug);
   Xg_define_procedure(gtk_scrolled_window_get_shadow_type, gxg_gtk_scrolled_window_get_shadow_type_w, 1, 0, 0, H_gtk_scrolled_window_get_shadow_type, pl_gu);
-  Xg_define_procedure(gtk_target_list_new, gxg_gtk_target_list_new_w, 2, 0, 0, H_gtk_target_list_new, pl_pui);
-  Xg_define_procedure(gtk_target_list_unref, gxg_gtk_target_list_unref_w, 1, 0, 0, H_gtk_target_list_unref, pl_tu);
-  Xg_define_procedure(gtk_target_list_add, gxg_gtk_target_list_add_w, 4, 0, 0, H_gtk_target_list_add, pl_tuti);
-  Xg_define_procedure(gtk_target_list_add_table, gxg_gtk_target_list_add_table_w, 3, 0, 0, H_gtk_target_list_add_table, pl_tuui);
-  Xg_define_procedure(gtk_target_list_remove, gxg_gtk_target_list_remove_w, 2, 0, 0, H_gtk_target_list_remove, pl_tut);
-  Xg_define_procedure(gtk_target_list_find, gxg_gtk_target_list_find_w, 2, 1, 0, H_gtk_target_list_find, pl_putu);
-  Xg_define_procedure(gtk_selection_owner_set, gxg_gtk_selection_owner_set_w, 3, 0, 0, H_gtk_selection_owner_set, pl_buti);
-  Xg_define_procedure(gtk_selection_add_target, gxg_gtk_selection_add_target_w, 4, 0, 0, H_gtk_selection_add_target, pl_tutti);
-  Xg_define_procedure(gtk_selection_add_targets, gxg_gtk_selection_add_targets_w, 4, 0, 0, H_gtk_selection_add_targets, pl_tutui);
-  Xg_define_procedure(gtk_selection_clear_targets, gxg_gtk_selection_clear_targets_w, 2, 0, 0, H_gtk_selection_clear_targets, pl_tut);
-  Xg_define_procedure(gtk_selection_convert, gxg_gtk_selection_convert_w, 4, 0, 0, H_gtk_selection_convert, pl_butti);
-  Xg_define_procedure(gtk_selection_data_set, gxg_gtk_selection_data_set_w, 5, 0, 0, H_gtk_selection_data_set, pl_tutisi);
-  Xg_define_procedure(gtk_selection_data_set_text, gxg_gtk_selection_data_set_text_w, 3, 0, 0, H_gtk_selection_data_set_text, pl_busi);
-  Xg_define_procedure(gtk_selection_data_get_text, gxg_gtk_selection_data_get_text_w, 1, 0, 0, H_gtk_selection_data_get_text, pl_su);
-  Xg_define_procedure(gtk_selection_data_get_targets, gxg_gtk_selection_data_get_targets_w, 1, 2, 0, H_gtk_selection_data_get_targets, pl_pu);
-  Xg_define_procedure(gtk_selection_data_targets_include_text, gxg_gtk_selection_data_targets_include_text_w, 1, 0, 0, H_gtk_selection_data_targets_include_text, pl_bu);
-  Xg_define_procedure(gtk_selection_remove_all, gxg_gtk_selection_remove_all_w, 1, 0, 0, H_gtk_selection_remove_all, pl_tu);
   Xg_define_procedure(gtk_selection_data_copy, gxg_gtk_selection_data_copy_w, 1, 0, 0, H_gtk_selection_data_copy, pl_pu);
   Xg_define_procedure(gtk_selection_data_free, gxg_gtk_selection_data_free_w, 1, 0, 0, H_gtk_selection_data_free, pl_tu);
   Xg_define_procedure(gtk_separator_menu_item_new, gxg_gtk_separator_menu_item_new_w, 0, 0, 0, H_gtk_separator_menu_item_new, pl_p);
@@ -40843,7 +40414,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_text_buffer_delete_interactive, gxg_gtk_text_buffer_delete_interactive_w, 4, 0, 0, H_gtk_text_buffer_delete_interactive, pl_buuub);
   Xg_define_procedure(gtk_text_buffer_get_text, gxg_gtk_text_buffer_get_text_w, 4, 0, 0, H_gtk_text_buffer_get_text, pl_suuub);
   Xg_define_procedure(gtk_text_buffer_get_slice, gxg_gtk_text_buffer_get_slice_w, 4, 0, 0, H_gtk_text_buffer_get_slice, pl_suuub);
-  Xg_define_procedure(gtk_text_buffer_insert_pixbuf, gxg_gtk_text_buffer_insert_pixbuf_w, 3, 0, 0, H_gtk_text_buffer_insert_pixbuf, pl_tu);
   Xg_define_procedure(gtk_text_buffer_insert_child_anchor, gxg_gtk_text_buffer_insert_child_anchor_w, 3, 0, 0, H_gtk_text_buffer_insert_child_anchor, pl_tu);
   Xg_define_procedure(gtk_text_buffer_create_child_anchor, gxg_gtk_text_buffer_create_child_anchor_w, 2, 0, 0, H_gtk_text_buffer_create_child_anchor, pl_pu);
   Xg_define_procedure(gtk_text_buffer_create_mark, gxg_gtk_text_buffer_create_mark_w, 4, 0, 0, H_gtk_text_buffer_create_mark, pl_pusub);
@@ -40872,11 +40442,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_text_buffer_get_iter_at_child_anchor, gxg_gtk_text_buffer_get_iter_at_child_anchor_w, 3, 0, 0, H_gtk_text_buffer_get_iter_at_child_anchor, pl_tu);
   Xg_define_procedure(gtk_text_buffer_get_modified, gxg_gtk_text_buffer_get_modified_w, 1, 0, 0, H_gtk_text_buffer_get_modified, pl_bu);
   Xg_define_procedure(gtk_text_buffer_set_modified, gxg_gtk_text_buffer_set_modified_w, 2, 0, 0, H_gtk_text_buffer_set_modified, pl_tub);
-  Xg_define_procedure(gtk_text_buffer_add_selection_clipboard, gxg_gtk_text_buffer_add_selection_clipboard_w, 2, 0, 0, H_gtk_text_buffer_add_selection_clipboard, pl_tu);
-  Xg_define_procedure(gtk_text_buffer_remove_selection_clipboard, gxg_gtk_text_buffer_remove_selection_clipboard_w, 2, 0, 0, H_gtk_text_buffer_remove_selection_clipboard, pl_tu);
-  Xg_define_procedure(gtk_text_buffer_cut_clipboard, gxg_gtk_text_buffer_cut_clipboard_w, 3, 0, 0, H_gtk_text_buffer_cut_clipboard, pl_tuub);
-  Xg_define_procedure(gtk_text_buffer_copy_clipboard, gxg_gtk_text_buffer_copy_clipboard_w, 2, 0, 0, H_gtk_text_buffer_copy_clipboard, pl_tu);
-  Xg_define_procedure(gtk_text_buffer_paste_clipboard, gxg_gtk_text_buffer_paste_clipboard_w, 4, 0, 0, H_gtk_text_buffer_paste_clipboard, pl_tuuub);
   Xg_define_procedure(gtk_text_buffer_get_selection_bounds, gxg_gtk_text_buffer_get_selection_bounds_w, 3, 0, 0, H_gtk_text_buffer_get_selection_bounds, pl_bu);
   Xg_define_procedure(gtk_text_buffer_delete_selection, gxg_gtk_text_buffer_delete_selection_w, 3, 0, 0, H_gtk_text_buffer_delete_selection, pl_bub);
   Xg_define_procedure(gtk_text_buffer_begin_user_action, gxg_gtk_text_buffer_begin_user_action_w, 1, 0, 0, H_gtk_text_buffer_begin_user_action, pl_tu);
@@ -40898,7 +40463,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_text_iter_get_text, gxg_gtk_text_iter_get_text_w, 2, 0, 0, H_gtk_text_iter_get_text, pl_su);
   Xg_define_procedure(gtk_text_iter_get_visible_slice, gxg_gtk_text_iter_get_visible_slice_w, 2, 0, 0, H_gtk_text_iter_get_visible_slice, pl_su);
   Xg_define_procedure(gtk_text_iter_get_visible_text, gxg_gtk_text_iter_get_visible_text_w, 2, 0, 0, H_gtk_text_iter_get_visible_text, pl_su);
-  Xg_define_procedure(gtk_text_iter_get_pixbuf, gxg_gtk_text_iter_get_pixbuf_w, 1, 0, 0, H_gtk_text_iter_get_pixbuf, pl_pu);
   Xg_define_procedure(gtk_text_iter_get_marks, gxg_gtk_text_iter_get_marks_w, 1, 0, 0, H_gtk_text_iter_get_marks, pl_pu);
   Xg_define_procedure(gtk_text_iter_get_child_anchor, gxg_gtk_text_iter_get_child_anchor_w, 1, 0, 0, H_gtk_text_iter_get_child_anchor, pl_pu);
   Xg_define_procedure(gtk_text_iter_get_toggled_tags, gxg_gtk_text_iter_get_toggled_tags_w, 2, 0, 0, H_gtk_text_iter_get_toggled_tags, pl_pub);
@@ -40969,7 +40533,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_text_tag_new, gxg_gtk_text_tag_new_w, 1, 0, 0, H_gtk_text_tag_new, pl_ps);
   Xg_define_procedure(gtk_text_tag_get_priority, gxg_gtk_text_tag_get_priority_w, 1, 0, 0, H_gtk_text_tag_get_priority, pl_iu);
   Xg_define_procedure(gtk_text_tag_set_priority, gxg_gtk_text_tag_set_priority_w, 2, 0, 0, H_gtk_text_tag_set_priority, pl_tui);
-  Xg_define_procedure(gtk_text_tag_event, gxg_gtk_text_tag_event_w, 4, 0, 0, H_gtk_text_tag_event, pl_bu);
   Xg_define_procedure(gtk_text_tag_table_new, gxg_gtk_text_tag_table_new_w, 0, 0, 0, H_gtk_text_tag_table_new, pl_p);
   Xg_define_procedure(gtk_text_tag_table_add, gxg_gtk_text_tag_table_add_w, 2, 0, 0, H_gtk_text_tag_table_add, pl_tu);
   Xg_define_procedure(gtk_text_tag_table_remove, gxg_gtk_text_tag_table_remove_w, 2, 0, 0, H_gtk_text_tag_table_remove, pl_tu);
@@ -40993,8 +40556,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_text_view_get_line_at_y, gxg_gtk_text_view_get_line_at_y_w, 3, 1, 0, H_gtk_text_view_get_line_at_y, pl_puuiu);
   Xg_define_procedure(gtk_text_view_buffer_to_window_coords, gxg_gtk_text_view_buffer_to_window_coords_w, 4, 2, 0, H_gtk_text_view_buffer_to_window_coords, pl_pugiiu);
   Xg_define_procedure(gtk_text_view_window_to_buffer_coords, gxg_gtk_text_view_window_to_buffer_coords_w, 4, 2, 0, H_gtk_text_view_window_to_buffer_coords, pl_pugiiu);
-  Xg_define_procedure(gtk_text_view_get_window, gxg_gtk_text_view_get_window_w, 2, 0, 0, H_gtk_text_view_get_window, pl_pug);
-  Xg_define_procedure(gtk_text_view_get_window_type, gxg_gtk_text_view_get_window_type_w, 2, 0, 0, H_gtk_text_view_get_window_type, pl_gu);
   Xg_define_procedure(gtk_text_view_set_border_window_size, gxg_gtk_text_view_set_border_window_size_w, 3, 0, 0, H_gtk_text_view_set_border_window_size, pl_tugi);
   Xg_define_procedure(gtk_text_view_get_border_window_size, gxg_gtk_text_view_get_border_window_size_w, 2, 0, 0, H_gtk_text_view_get_border_window_size, pl_iug);
   Xg_define_procedure(gtk_text_view_forward_display_line, gxg_gtk_text_view_forward_display_line_w, 2, 0, 0, H_gtk_text_view_forward_display_line, pl_bu);
@@ -41216,8 +40777,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tree_view_get_cell_area, gxg_gtk_tree_view_get_cell_area_w, 4, 0, 0, H_gtk_tree_view_get_cell_area, pl_tu);
   Xg_define_procedure(gtk_tree_view_get_background_area, gxg_gtk_tree_view_get_background_area_w, 4, 0, 0, H_gtk_tree_view_get_background_area, pl_tu);
   Xg_define_procedure(gtk_tree_view_get_visible_rect, gxg_gtk_tree_view_get_visible_rect_w, 2, 0, 0, H_gtk_tree_view_get_visible_rect, pl_tu);
-  Xg_define_procedure(gtk_tree_view_enable_model_drag_source, gxg_gtk_tree_view_enable_model_drag_source_w, 5, 0, 0, H_gtk_tree_view_enable_model_drag_source, pl_tuguig);
-  Xg_define_procedure(gtk_tree_view_enable_model_drag_dest, gxg_gtk_tree_view_enable_model_drag_dest_w, 4, 0, 0, H_gtk_tree_view_enable_model_drag_dest, pl_tuuig);
   Xg_define_procedure(gtk_tree_view_unset_rows_drag_source, gxg_gtk_tree_view_unset_rows_drag_source_w, 1, 0, 0, H_gtk_tree_view_unset_rows_drag_source, pl_tu);
   Xg_define_procedure(gtk_tree_view_unset_rows_drag_dest, gxg_gtk_tree_view_unset_rows_drag_dest_w, 1, 0, 0, H_gtk_tree_view_unset_rows_drag_dest, pl_tu);
   Xg_define_procedure(gtk_tree_view_set_drag_dest_row, gxg_gtk_tree_view_set_drag_dest_row_w, 3, 0, 0, H_gtk_tree_view_set_drag_dest_row, pl_tuug);
@@ -41314,10 +40873,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_window_set_decorated, gxg_gtk_window_set_decorated_w, 2, 0, 0, H_gtk_window_set_decorated, pl_tub);
   Xg_define_procedure(gtk_window_get_decorated, gxg_gtk_window_get_decorated_w, 1, 0, 0, H_gtk_window_get_decorated, pl_bu);
   Xg_define_procedure(gtk_window_set_icon_list, gxg_gtk_window_set_icon_list_w, 2, 0, 0, H_gtk_window_set_icon_list, pl_tu);
-  Xg_define_procedure(gtk_window_get_icon_list, gxg_gtk_window_get_icon_list_w, 1, 0, 0, H_gtk_window_get_icon_list, pl_pu);
-  Xg_define_procedure(gtk_window_set_icon, gxg_gtk_window_set_icon_w, 2, 0, 0, H_gtk_window_set_icon, pl_tu);
-  Xg_define_procedure(gtk_window_get_icon, gxg_gtk_window_get_icon_w, 1, 0, 0, H_gtk_window_get_icon, pl_pu);
-  Xg_define_procedure(gtk_window_set_default_icon_list, gxg_gtk_window_set_default_icon_list_w, 1, 0, 0, H_gtk_window_set_default_icon_list, pl_tu);
   Xg_define_procedure(gtk_window_get_default_icon_list, gxg_gtk_window_get_default_icon_list_w, 0, 0, 0, H_gtk_window_get_default_icon_list, pl_p);
   Xg_define_procedure(gtk_window_set_modal, gxg_gtk_window_set_modal_w, 2, 0, 0, H_gtk_window_set_modal, pl_tub);
   Xg_define_procedure(gtk_window_get_modal, gxg_gtk_window_get_modal_w, 1, 0, 0, H_gtk_window_get_modal, pl_bu);
@@ -41542,24 +41097,14 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tree_store_swap, gxg_gtk_tree_store_swap_w, 3, 0, 0, H_gtk_tree_store_swap, pl_tu);
   Xg_define_procedure(gdk_display_open, gxg_gdk_display_open_w, 1, 0, 0, H_gdk_display_open, pl_ps);
   Xg_define_procedure(gdk_display_get_name, gxg_gdk_display_get_name_w, 1, 0, 0, H_gdk_display_get_name, pl_su);
-  Xg_define_procedure(gdk_display_get_default_screen, gxg_gdk_display_get_default_screen_w, 1, 0, 0, H_gdk_display_get_default_screen, pl_pu);
   Xg_define_procedure(gdk_display_beep, gxg_gdk_display_beep_w, 1, 0, 0, H_gdk_display_beep, pl_tu);
   Xg_define_procedure(gdk_display_sync, gxg_gdk_display_sync_w, 1, 0, 0, H_gdk_display_sync, pl_tu);
   Xg_define_procedure(gdk_display_close, gxg_gdk_display_close_w, 1, 0, 0, H_gdk_display_close, pl_tu);
   Xg_define_procedure(gdk_display_get_event, gxg_gdk_display_get_event_w, 1, 0, 0, H_gdk_display_get_event, pl_pu);
   Xg_define_procedure(gdk_display_peek_event, gxg_gdk_display_peek_event_w, 1, 0, 0, H_gdk_display_peek_event, pl_pu);
   Xg_define_procedure(gdk_display_put_event, gxg_gdk_display_put_event_w, 2, 0, 0, H_gdk_display_put_event, pl_tu);
-  Xg_define_procedure(gdk_display_set_double_click_time, gxg_gdk_display_set_double_click_time_w, 2, 0, 0, H_gdk_display_set_double_click_time, pl_tui);
   Xg_define_procedure(gdk_display_get_default, gxg_gdk_display_get_default_w, 0, 0, 0, H_gdk_display_get_default, pl_p);
-  Xg_define_procedure(gdk_screen_get_display, gxg_gdk_screen_get_display_w, 1, 0, 0, H_gdk_screen_get_display, pl_pu);
-  Xg_define_procedure(gdk_screen_get_toplevel_windows, gxg_gdk_screen_get_toplevel_windows_w, 1, 0, 0, H_gdk_screen_get_toplevel_windows, pl_pu);
-  Xg_define_procedure(gdk_screen_get_default, gxg_gdk_screen_get_default_w, 0, 0, 0, H_gdk_screen_get_default, pl_p);
-  Xg_define_procedure(gtk_clipboard_get_for_display, gxg_gtk_clipboard_get_for_display_w, 2, 0, 0, H_gtk_clipboard_get_for_display, pl_put);
-  Xg_define_procedure(gtk_clipboard_get_display, gxg_gtk_clipboard_get_display_w, 1, 0, 0, H_gtk_clipboard_get_display, pl_pu);
-  Xg_define_procedure(gtk_widget_get_screen, gxg_gtk_widget_get_screen_w, 1, 0, 0, H_gtk_widget_get_screen, pl_pu);
-  Xg_define_procedure(gtk_widget_has_screen, gxg_gtk_widget_has_screen_w, 1, 0, 0, H_gtk_widget_has_screen, pl_bu);
   Xg_define_procedure(gtk_widget_get_display, gxg_gtk_widget_get_display_w, 1, 0, 0, H_gtk_widget_get_display, pl_pu);
-  Xg_define_procedure(gtk_widget_get_clipboard, gxg_gtk_widget_get_clipboard_w, 2, 0, 0, H_gtk_widget_get_clipboard, pl_put);
   Xg_define_procedure(g_list_free, gxg_g_list_free_w, 1, 0, 0, H_g_list_free, pl_tu);
   Xg_define_procedure(g_list_reverse, gxg_g_list_reverse_w, 1, 0, 0, H_g_list_reverse, pl_pu);
   Xg_define_procedure(g_list_copy, gxg_g_list_copy_w, 1, 0, 0, H_g_list_copy, pl_pu);
@@ -41570,7 +41115,6 @@ static void define_functions(void)
   Xg_define_procedure(g_list_remove_link, gxg_g_list_remove_link_w, 2, 0, 0, H_g_list_remove_link, pl_pu);
   Xg_define_procedure(g_object_get_data, gxg_g_object_get_data_w, 2, 0, 0, H_g_object_get_data, pl_tus);
   Xg_define_procedure(g_object_set_data, gxg_g_object_set_data_w, 3, 0, 0, H_g_object_set_data, pl_tust);
-  Xg_define_procedure(gdk_cursor_new_from_pixbuf, gxg_gdk_cursor_new_from_pixbuf_w, 4, 0, 0, H_gdk_cursor_new_from_pixbuf, pl_puui);
   Xg_define_procedure(gdk_display_flush, gxg_gdk_display_flush_w, 1, 0, 0, H_gdk_display_flush, pl_tu);
   Xg_define_procedure(gdk_display_supports_cursor_alpha, gxg_gdk_display_supports_cursor_alpha_w, 1, 0, 0, H_gdk_display_supports_cursor_alpha, pl_bu);
   Xg_define_procedure(gdk_display_supports_cursor_color, gxg_gdk_display_supports_cursor_color_w, 1, 0, 0, H_gdk_display_supports_cursor_color, pl_bu);
@@ -41601,7 +41145,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tree_view_column_set_expand, gxg_gtk_tree_view_column_set_expand_w, 2, 0, 0, H_gtk_tree_view_column_set_expand, pl_tub);
   Xg_define_procedure(gtk_tree_view_column_get_expand, gxg_gtk_tree_view_column_get_expand_w, 1, 0, 0, H_gtk_tree_view_column_get_expand, pl_bu);
   Xg_define_procedure(gtk_widget_queue_resize_no_redraw, gxg_gtk_widget_queue_resize_no_redraw_w, 1, 0, 0, H_gtk_widget_queue_resize_no_redraw, pl_tu);
-  Xg_define_procedure(gtk_window_set_default_icon, gxg_gtk_window_set_default_icon_w, 1, 0, 0, H_gtk_window_set_default_icon, pl_tu);
   Xg_define_procedure(gtk_window_set_keep_above, gxg_gtk_window_set_keep_above_w, 2, 0, 0, H_gtk_window_set_keep_above, pl_tub);
   Xg_define_procedure(gtk_window_set_keep_below, gxg_gtk_window_set_keep_below_w, 2, 0, 0, H_gtk_window_set_keep_below, pl_tub);
   Xg_define_procedure(gtk_file_chooser_dialog_new, gxg_gtk_file_chooser_dialog_new_w, 3, 1, 0, H_gtk_file_chooser_dialog_new, pl_psugt);
@@ -41645,8 +41188,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_font_button_set_use_font, gxg_gtk_font_button_set_use_font_w, 2, 0, 0, H_gtk_font_button_set_use_font, pl_tub);
   Xg_define_procedure(gtk_font_button_get_use_size, gxg_gtk_font_button_get_use_size_w, 1, 0, 0, H_gtk_font_button_get_use_size, pl_bu);
   Xg_define_procedure(gtk_font_button_set_use_size, gxg_gtk_font_button_set_use_size_w, 2, 0, 0, H_gtk_font_button_set_use_size, pl_tub);
-  Xg_define_procedure(gtk_font_button_get_font_name, gxg_gtk_font_button_get_font_name_w, 1, 0, 0, H_gtk_font_button_get_font_name, pl_su);
-  Xg_define_procedure(gtk_font_button_set_font_name, gxg_gtk_font_button_set_font_name_w, 2, 0, 0, H_gtk_font_button_set_font_name, pl_bus);
   Xg_define_procedure(gtk_font_button_get_show_style, gxg_gtk_font_button_get_show_style_w, 1, 0, 0, H_gtk_font_button_get_show_style, pl_bu);
   Xg_define_procedure(gtk_font_button_set_show_style, gxg_gtk_font_button_set_show_style_w, 2, 0, 0, H_gtk_font_button_set_show_style, pl_tub);
   Xg_define_procedure(gtk_font_button_get_show_size, gxg_gtk_font_button_get_show_size_w, 1, 0, 0, H_gtk_font_button_get_show_size, pl_bu);
@@ -41738,8 +41279,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_file_chooser_list_shortcut_folder_uris, gxg_gtk_file_chooser_list_shortcut_folder_uris_w, 1, 0, 0, H_gtk_file_chooser_list_shortcut_folder_uris, pl_pu);
   Xg_define_procedure(gtk_icon_theme_new, gxg_gtk_icon_theme_new_w, 0, 0, 0, H_gtk_icon_theme_new, pl_p);
   Xg_define_procedure(gtk_icon_theme_get_default, gxg_gtk_icon_theme_get_default_w, 0, 0, 0, H_gtk_icon_theme_get_default, pl_p);
-  Xg_define_procedure(gtk_icon_theme_get_for_screen, gxg_gtk_icon_theme_get_for_screen_w, 1, 0, 0, H_gtk_icon_theme_get_for_screen, pl_pu);
-  Xg_define_procedure(gtk_icon_theme_set_screen, gxg_gtk_icon_theme_set_screen_w, 2, 0, 0, H_gtk_icon_theme_set_screen, pl_tu);
   Xg_define_procedure(gtk_icon_theme_get_search_path, gxg_gtk_icon_theme_get_search_path_w, 1, 2, 0, H_gtk_icon_theme_get_search_path, pl_pu);
   Xg_define_procedure(gtk_icon_theme_append_search_path, gxg_gtk_icon_theme_append_search_path_w, 2, 0, 0, H_gtk_icon_theme_append_search_path, pl_tus);
   Xg_define_procedure(gtk_icon_theme_prepend_search_path, gxg_gtk_icon_theme_prepend_search_path_w, 2, 0, 0, H_gtk_icon_theme_prepend_search_path, pl_tus);
@@ -41779,12 +41318,9 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tool_item_get_proxy_menu_item, gxg_gtk_tool_item_get_proxy_menu_item_w, 2, 0, 0, H_gtk_tool_item_get_proxy_menu_item, pl_pus);
   Xg_define_procedure(gtk_tool_item_set_proxy_menu_item, gxg_gtk_tool_item_set_proxy_menu_item_w, 3, 0, 0, H_gtk_tool_item_set_proxy_menu_item, pl_tusu);
   Xg_define_procedure(gtk_list_store_remove, gxg_gtk_list_store_remove_w, 2, 0, 0, H_gtk_list_store_remove, pl_bu);
-  Xg_define_procedure(gdk_display_set_double_click_distance, gxg_gdk_display_set_double_click_distance_w, 2, 0, 0, H_gdk_display_set_double_click_distance, pl_tui);
   Xg_define_procedure(gdk_display_get_default_group, gxg_gdk_display_get_default_group_w, 1, 0, 0, H_gdk_display_get_default_group, pl_pu);
   Xg_define_procedure(gdk_window_get_group, gxg_gdk_window_get_group_w, 1, 0, 0, H_gdk_window_get_group, pl_pu);
   Xg_define_procedure(gtk_cell_layout_reorder, gxg_gtk_cell_layout_reorder_w, 3, 0, 0, H_gtk_cell_layout_reorder, pl_tuui);
-  Xg_define_procedure(gtk_clipboard_request_targets, gxg_gtk_clipboard_request_targets_w, 2, 1, 0, H_gtk_clipboard_request_targets, pl_tut);
-  Xg_define_procedure(gtk_clipboard_wait_for_targets, gxg_gtk_clipboard_wait_for_targets_w, 1, 2, 0, H_gtk_clipboard_wait_for_targets, pl_pu);
   Xg_define_procedure(gtk_menu_shell_cancel, gxg_gtk_menu_shell_cancel_w, 1, 0, 0, H_gtk_menu_shell_cancel, pl_tu);
   Xg_define_procedure(gtk_paned_get_child1, gxg_gtk_paned_get_child1_w, 1, 0, 0, H_gtk_paned_get_child1, pl_pu);
   Xg_define_procedure(gtk_paned_get_child2, gxg_gtk_paned_get_child2_w, 1, 0, 0, H_gtk_paned_get_child2, pl_pu);
@@ -41799,8 +41335,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_radio_menu_item_new_with_label_from_widget, gxg_gtk_radio_menu_item_new_with_label_from_widget_w, 2, 0, 0, H_gtk_radio_menu_item_new_with_label_from_widget, pl_pus);
   Xg_define_procedure(gtk_scale_get_layout, gxg_gtk_scale_get_layout_w, 1, 0, 0, H_gtk_scale_get_layout, pl_pu);
   Xg_define_procedure(gtk_scale_get_layout_offsets, gxg_gtk_scale_get_layout_offsets_w, 1, 2, 0, H_gtk_scale_get_layout_offsets, pl_pu);
-  Xg_define_procedure(gtk_drag_source_get_target_list, gxg_gtk_drag_source_get_target_list_w, 1, 0, 0, H_gtk_drag_source_get_target_list, pl_pu);
-  Xg_define_procedure(gtk_drag_source_set_target_list, gxg_gtk_drag_source_set_target_list_w, 2, 0, 0, H_gtk_drag_source_set_target_list, pl_tu);
   Xg_define_procedure(gtk_entry_set_alignment, gxg_gtk_entry_set_alignment_w, 2, 0, 0, H_gtk_entry_set_alignment, pl_tur);
   Xg_define_procedure(gtk_entry_get_alignment, gxg_gtk_entry_get_alignment_w, 1, 0, 0, H_gtk_entry_get_alignment, pl_du);
   Xg_define_procedure(gtk_file_chooser_set_use_preview_label, gxg_gtk_file_chooser_set_use_preview_label_w, 2, 0, 0, H_gtk_file_chooser_set_use_preview_label, pl_tub);
@@ -41815,7 +41349,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_cell_view_new, gxg_gtk_cell_view_new_w, 0, 0, 0, H_gtk_cell_view_new, pl_p);
   Xg_define_procedure(gtk_cell_view_new_with_text, gxg_gtk_cell_view_new_with_text_w, 1, 0, 0, H_gtk_cell_view_new_with_text, pl_ps);
   Xg_define_procedure(gtk_cell_view_new_with_markup, gxg_gtk_cell_view_new_with_markup_w, 1, 0, 0, H_gtk_cell_view_new_with_markup, pl_ps);
-  Xg_define_procedure(gtk_cell_view_new_with_pixbuf, gxg_gtk_cell_view_new_with_pixbuf_w, 1, 0, 0, H_gtk_cell_view_new_with_pixbuf, pl_pu);
   Xg_define_procedure(gtk_cell_view_set_model, gxg_gtk_cell_view_set_model_w, 2, 0, 0, H_gtk_cell_view_set_model, pl_tu);
   Xg_define_procedure(gtk_cell_view_set_displayed_row, gxg_gtk_cell_view_set_displayed_row_w, 2, 0, 0, H_gtk_cell_view_set_displayed_row, pl_tu);
   Xg_define_procedure(gtk_cell_view_get_displayed_row, gxg_gtk_cell_view_get_displayed_row_w, 1, 0, 0, H_gtk_cell_view_get_displayed_row, pl_pu);
@@ -41861,8 +41394,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_about_dialog_set_artists, gxg_gtk_about_dialog_set_artists_w, 2, 0, 0, H_gtk_about_dialog_set_artists, pl_tu);
   Xg_define_procedure(gtk_about_dialog_get_translator_credits, gxg_gtk_about_dialog_get_translator_credits_w, 1, 0, 0, H_gtk_about_dialog_get_translator_credits, pl_su);
   Xg_define_procedure(gtk_about_dialog_set_translator_credits, gxg_gtk_about_dialog_set_translator_credits_w, 2, 0, 0, H_gtk_about_dialog_set_translator_credits, pl_tus);
-  Xg_define_procedure(gtk_about_dialog_get_logo, gxg_gtk_about_dialog_get_logo_w, 1, 0, 0, H_gtk_about_dialog_get_logo, pl_pu);
-  Xg_define_procedure(gtk_about_dialog_set_logo, gxg_gtk_about_dialog_set_logo_w, 2, 0, 0, H_gtk_about_dialog_set_logo, pl_tu);
   Xg_define_procedure(gtk_about_dialog_get_program_name, gxg_gtk_about_dialog_get_program_name_w, 1, 0, 0, H_gtk_about_dialog_get_program_name, pl_su);
   Xg_define_procedure(gtk_about_dialog_set_program_name, gxg_gtk_about_dialog_set_program_name_w, 2, 0, 0, H_gtk_about_dialog_set_program_name, pl_tus);
   Xg_define_procedure(gtk_icon_view_new, gxg_gtk_icon_view_new_w, 0, 0, 0, H_gtk_icon_view_new, pl_p);
@@ -41922,13 +41453,9 @@ static void define_functions(void)
   Xg_define_procedure(gtk_menu_tool_button_new, gxg_gtk_menu_tool_button_new_w, 2, 0, 0, H_gtk_menu_tool_button_new, pl_pus);
   Xg_define_procedure(gtk_menu_tool_button_set_menu, gxg_gtk_menu_tool_button_set_menu_w, 2, 0, 0, H_gtk_menu_tool_button_set_menu, pl_tu);
   Xg_define_procedure(gtk_menu_tool_button_get_menu, gxg_gtk_menu_tool_button_get_menu_w, 1, 0, 0, H_gtk_menu_tool_button_get_menu, pl_pu);
-  Xg_define_procedure(gdk_display_supports_clipboard_persistence, gxg_gdk_display_supports_clipboard_persistence_w, 1, 0, 0, H_gdk_display_supports_clipboard_persistence, pl_bu);
   Xg_define_procedure(gtk_about_dialog_get_logo_icon_name, gxg_gtk_about_dialog_get_logo_icon_name_w, 1, 0, 0, H_gtk_about_dialog_get_logo_icon_name, pl_su);
   Xg_define_procedure(gtk_about_dialog_set_logo_icon_name, gxg_gtk_about_dialog_set_logo_icon_name_w, 2, 0, 0, H_gtk_about_dialog_set_logo_icon_name, pl_tus);
   Xg_define_procedure(gtk_accelerator_get_label, gxg_gtk_accelerator_get_label_w, 2, 0, 0, H_gtk_accelerator_get_label, pl_sig);
-  Xg_define_procedure(gtk_clipboard_wait_is_target_available, gxg_gtk_clipboard_wait_is_target_available_w, 2, 0, 0, H_gtk_clipboard_wait_is_target_available, pl_but);
-  Xg_define_procedure(gtk_clipboard_set_can_store, gxg_gtk_clipboard_set_can_store_w, 3, 0, 0, H_gtk_clipboard_set_can_store, pl_tuui);
-  Xg_define_procedure(gtk_clipboard_store, gxg_gtk_clipboard_store_w, 1, 0, 0, H_gtk_clipboard_store, pl_tu);
   Xg_define_procedure(gtk_drag_dest_add_image_targets, gxg_gtk_drag_dest_add_image_targets_w, 1, 0, 0, H_gtk_drag_dest_add_image_targets, pl_tu);
   Xg_define_procedure(gtk_drag_dest_add_uri_targets, gxg_gtk_drag_dest_add_uri_targets_w, 1, 0, 0, H_gtk_drag_dest_add_uri_targets, pl_tu);
   Xg_define_procedure(gtk_drag_source_add_image_targets, gxg_gtk_drag_source_add_image_targets_w, 1, 0, 0, H_gtk_drag_source_add_image_targets, pl_tu);
@@ -41939,25 +41466,13 @@ static void define_functions(void)
   Xg_define_procedure(gtk_image_get_pixel_size, gxg_gtk_image_get_pixel_size_w, 1, 0, 0, H_gtk_image_get_pixel_size, pl_iu);
   Xg_define_procedure(gtk_label_set_width_chars, gxg_gtk_label_set_width_chars_w, 2, 0, 0, H_gtk_label_set_width_chars, pl_tui);
   Xg_define_procedure(gtk_label_get_width_chars, gxg_gtk_label_get_width_chars_w, 1, 0, 0, H_gtk_label_get_width_chars, pl_iu);
-  Xg_define_procedure(gtk_target_list_add_text_targets, gxg_gtk_target_list_add_text_targets_w, 2, 0, 0, H_gtk_target_list_add_text_targets, pl_tui);
-  Xg_define_procedure(gtk_target_list_add_image_targets, gxg_gtk_target_list_add_image_targets_w, 3, 0, 0, H_gtk_target_list_add_image_targets, pl_tuib);
-  Xg_define_procedure(gtk_target_list_add_uri_targets, gxg_gtk_target_list_add_uri_targets_w, 2, 0, 0, H_gtk_target_list_add_uri_targets, pl_tui);
-  Xg_define_procedure(gtk_selection_data_set_pixbuf, gxg_gtk_selection_data_set_pixbuf_w, 2, 0, 0, H_gtk_selection_data_set_pixbuf, pl_bu);
-  Xg_define_procedure(gtk_selection_data_get_pixbuf, gxg_gtk_selection_data_get_pixbuf_w, 1, 0, 0, H_gtk_selection_data_get_pixbuf, pl_pu);
-  Xg_define_procedure(gtk_selection_data_set_uris, gxg_gtk_selection_data_set_uris_w, 2, 0, 0, H_gtk_selection_data_set_uris, pl_bu);
-  Xg_define_procedure(gtk_selection_data_get_uris, gxg_gtk_selection_data_get_uris_w, 1, 0, 0, H_gtk_selection_data_get_uris, pl_pu);
   Xg_define_procedure(gtk_text_buffer_backspace, gxg_gtk_text_buffer_backspace_w, 4, 0, 0, H_gtk_text_buffer_backspace, pl_buub);
-  Xg_define_procedure(gtk_clipboard_set_image, gxg_gtk_clipboard_set_image_w, 2, 0, 0, H_gtk_clipboard_set_image, pl_tu);
-  Xg_define_procedure(gtk_clipboard_request_image, gxg_gtk_clipboard_request_image_w, 2, 1, 0, H_gtk_clipboard_request_image, pl_tut);
-  Xg_define_procedure(gtk_clipboard_wait_for_image, gxg_gtk_clipboard_wait_for_image_w, 1, 0, 0, H_gtk_clipboard_wait_for_image, pl_pu);
-  Xg_define_procedure(gtk_clipboard_wait_is_image_available, gxg_gtk_clipboard_wait_is_image_available_w, 1, 0, 0, H_gtk_clipboard_wait_is_image_available, pl_bu);
   Xg_define_procedure(gtk_file_filter_add_pixbuf_formats, gxg_gtk_file_filter_add_pixbuf_formats_w, 1, 0, 0, H_gtk_file_filter_add_pixbuf_formats, pl_tu);
   Xg_define_procedure(gtk_label_set_single_line_mode, gxg_gtk_label_set_single_line_mode_w, 2, 0, 0, H_gtk_label_set_single_line_mode, pl_tub);
   Xg_define_procedure(gtk_label_get_single_line_mode, gxg_gtk_label_get_single_line_mode_w, 1, 0, 0, H_gtk_label_get_single_line_mode, pl_bu);
   Xg_define_procedure(gtk_progress_bar_set_ellipsize, gxg_gtk_progress_bar_set_ellipsize_w, 2, 0, 0, H_gtk_progress_bar_set_ellipsize, pl_tug);
   Xg_define_procedure(gtk_progress_bar_get_ellipsize, gxg_gtk_progress_bar_get_ellipsize_w, 1, 0, 0, H_gtk_progress_bar_get_ellipsize, pl_gu);
   Xg_define_procedure(gtk_selection_data_targets_include_image, gxg_gtk_selection_data_targets_include_image_w, 2, 0, 0, H_gtk_selection_data_targets_include_image, pl_bub);
-  Xg_define_procedure(gtk_menu_set_screen, gxg_gtk_menu_set_screen_w, 2, 0, 0, H_gtk_menu_set_screen, pl_tu);
   Xg_define_procedure(pango_attr_underline_color_new, gxg_pango_attr_underline_color_new_w, 3, 0, 0, H_pango_attr_underline_color_new, pl_pi);
   Xg_define_procedure(pango_attr_strikethrough_color_new, gxg_pango_attr_strikethrough_color_new_w, 3, 0, 0, H_pango_attr_strikethrough_color_new, pl_pi);
   Xg_define_procedure(pango_renderer_draw_layout, gxg_pango_renderer_draw_layout_w, 4, 0, 0, H_pango_renderer_draw_layout, pl_tuui);
@@ -41996,8 +41511,6 @@ static void define_functions(void)
   Xg_define_procedure(pango_attr_size_new_absolute, gxg_pango_attr_size_new_absolute_w, 1, 0, 0, H_pango_attr_size_new_absolute, pl_pi);
   Xg_define_procedure(pango_font_description_set_absolute_size, gxg_pango_font_description_set_absolute_size_w, 2, 0, 0, H_pango_font_description_set_absolute_size, pl_tur);
   Xg_define_procedure(pango_layout_get_font_description, gxg_pango_layout_get_font_description_w, 1, 0, 0, H_pango_layout_get_font_description, pl_pu);
-  Xg_define_procedure(gdk_cursor_new_from_name, gxg_gdk_cursor_new_from_name_w, 2, 0, 0, H_gdk_cursor_new_from_name, pl_pus);
-  Xg_define_procedure(gdk_cursor_get_image, gxg_gdk_cursor_get_image_w, 1, 0, 0, H_gdk_cursor_get_image, pl_pu);
   Xg_define_procedure(gdk_window_set_urgency_hint, gxg_gdk_window_set_urgency_hint_w, 2, 0, 0, H_gdk_window_set_urgency_hint, pl_tub);
   Xg_define_procedure(gtk_dialog_get_response_for_widget, gxg_gtk_dialog_get_response_for_widget_w, 2, 0, 0, H_gtk_dialog_get_response_for_widget, pl_iu);
   Xg_define_procedure(gtk_drag_source_set_icon_name, gxg_gtk_drag_source_set_icon_name_w, 2, 0, 0, H_gtk_drag_source_set_icon_name, pl_tus);
@@ -42011,8 +41524,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_icon_view_set_cursor, gxg_gtk_icon_view_set_cursor_w, 4, 0, 0, H_gtk_icon_view_set_cursor, pl_tuuub);
   Xg_define_procedure(gtk_icon_view_get_cursor, gxg_gtk_icon_view_get_cursor_w, 1, 2, 0, H_gtk_icon_view_get_cursor, pl_pu);
   Xg_define_procedure(gtk_icon_view_scroll_to_path, gxg_gtk_icon_view_scroll_to_path_w, 5, 0, 0, H_gtk_icon_view_scroll_to_path, pl_tuubr);
-  Xg_define_procedure(gtk_icon_view_enable_model_drag_source, gxg_gtk_icon_view_enable_model_drag_source_w, 5, 0, 0, H_gtk_icon_view_enable_model_drag_source, pl_tuguig);
-  Xg_define_procedure(gtk_icon_view_enable_model_drag_dest, gxg_gtk_icon_view_enable_model_drag_dest_w, 4, 0, 0, H_gtk_icon_view_enable_model_drag_dest, pl_tuuig);
   Xg_define_procedure(gtk_icon_view_unset_model_drag_source, gxg_gtk_icon_view_unset_model_drag_source_w, 1, 0, 0, H_gtk_icon_view_unset_model_drag_source, pl_tu);
   Xg_define_procedure(gtk_icon_view_unset_model_drag_dest, gxg_gtk_icon_view_unset_model_drag_dest_w, 1, 0, 0, H_gtk_icon_view_unset_model_drag_dest, pl_tu);
   Xg_define_procedure(gtk_icon_view_set_reorderable, gxg_gtk_icon_view_set_reorderable_w, 2, 0, 0, H_gtk_icon_view_set_reorderable, pl_tub);
@@ -42044,15 +41555,9 @@ static void define_functions(void)
   Xg_define_procedure(pango_attr_list_ref, gxg_pango_attr_list_ref_w, 1, 0, 0, H_pango_attr_list_ref, pl_pu);
   Xg_define_procedure(pango_layout_line_ref, gxg_pango_layout_line_ref_w, 1, 0, 0, H_pango_layout_line_ref, pl_pu);
   Xg_define_procedure(pango_layout_index_to_line_x, gxg_pango_layout_index_to_line_x_w, 3, 2, 0, H_pango_layout_index_to_line_x, pl_puibu);
-  Xg_define_procedure(gtk_target_list_ref, gxg_gtk_target_list_ref_w, 1, 0, 0, H_gtk_target_list_ref, pl_pu);
   Xg_define_procedure(gdk_display_supports_shapes, gxg_gdk_display_supports_shapes_w, 1, 0, 0, H_gdk_display_supports_shapes, pl_bu);
   Xg_define_procedure(gdk_display_supports_input_shapes, gxg_gdk_display_supports_input_shapes_w, 1, 0, 0, H_gdk_display_supports_input_shapes, pl_bu);
-  Xg_define_procedure(gdk_screen_set_resolution, gxg_gdk_screen_set_resolution_w, 2, 0, 0, H_gdk_screen_set_resolution, pl_tur);
-  Xg_define_procedure(gdk_screen_get_resolution, gxg_gdk_screen_get_resolution_w, 1, 0, 0, H_gdk_screen_get_resolution, pl_du);
   Xg_define_procedure(gdk_window_get_type_hint, gxg_gdk_window_get_type_hint_w, 1, 0, 0, H_gdk_window_get_type_hint, pl_gu);
-  Xg_define_procedure(gtk_clipboard_request_rich_text, gxg_gtk_clipboard_request_rich_text_w, 3, 1, 0, H_gtk_clipboard_request_rich_text, pl_tuut);
-  Xg_define_procedure(gtk_clipboard_wait_for_rich_text, gxg_gtk_clipboard_wait_for_rich_text_w, 3, 1, 0, H_gtk_clipboard_wait_for_rich_text, pl_pu);
-  Xg_define_procedure(gtk_clipboard_wait_is_rich_text_available, gxg_gtk_clipboard_wait_is_rich_text_available_w, 2, 0, 0, H_gtk_clipboard_wait_is_rich_text_available, pl_bu);
   Xg_define_procedure(gtk_drag_dest_set_track_motion, gxg_gtk_drag_dest_set_track_motion_w, 2, 0, 0, H_gtk_drag_dest_set_track_motion, pl_tub);
   Xg_define_procedure(gtk_drag_dest_get_track_motion, gxg_gtk_drag_dest_get_track_motion_w, 1, 0, 0, H_gtk_drag_dest_get_track_motion, pl_bu);
   Xg_define_procedure(gtk_notebook_get_tab_reorderable, gxg_gtk_notebook_get_tab_reorderable_w, 2, 0, 0, H_gtk_notebook_get_tab_reorderable, pl_bu);
@@ -42064,19 +41569,8 @@ static void define_functions(void)
   Xg_define_procedure(gtk_range_set_upper_stepper_sensitivity, gxg_gtk_range_set_upper_stepper_sensitivity_w, 2, 0, 0, H_gtk_range_set_upper_stepper_sensitivity, pl_tug);
   Xg_define_procedure(gtk_range_get_upper_stepper_sensitivity, gxg_gtk_range_get_upper_stepper_sensitivity_w, 1, 0, 0, H_gtk_range_get_upper_stepper_sensitivity, pl_gu);
   Xg_define_procedure(gtk_scrolled_window_unset_placement, gxg_gtk_scrolled_window_unset_placement_w, 1, 0, 0, H_gtk_scrolled_window_unset_placement, pl_tu);
-  Xg_define_procedure(gtk_target_list_add_rich_text_targets, gxg_gtk_target_list_add_rich_text_targets_w, 4, 0, 0, H_gtk_target_list_add_rich_text_targets, pl_tuibu);
-  Xg_define_procedure(gtk_target_table_new_from_list, gxg_gtk_target_table_new_from_list_w, 1, 1, 0, H_gtk_target_table_new_from_list, pl_pu);
-  Xg_define_procedure(gtk_target_table_free, gxg_gtk_target_table_free_w, 2, 0, 0, H_gtk_target_table_free, pl_tui);
-  Xg_define_procedure(gtk_selection_data_targets_include_rich_text, gxg_gtk_selection_data_targets_include_rich_text_w, 2, 0, 0, H_gtk_selection_data_targets_include_rich_text, pl_bu);
-  Xg_define_procedure(gtk_selection_data_targets_include_uri, gxg_gtk_selection_data_targets_include_uri_w, 1, 0, 0, H_gtk_selection_data_targets_include_uri, pl_bu);
-  Xg_define_procedure(gtk_targets_include_text, gxg_gtk_targets_include_text_w, 2, 0, 0, H_gtk_targets_include_text, pl_bui);
-  Xg_define_procedure(gtk_targets_include_rich_text, gxg_gtk_targets_include_rich_text_w, 3, 0, 0, H_gtk_targets_include_rich_text, pl_buiu);
-  Xg_define_procedure(gtk_targets_include_image, gxg_gtk_targets_include_image_w, 3, 0, 0, H_gtk_targets_include_image, pl_buib);
-  Xg_define_procedure(gtk_targets_include_uri, gxg_gtk_targets_include_uri_w, 2, 0, 0, H_gtk_targets_include_uri, pl_bui);
   Xg_define_procedure(gtk_size_group_get_widgets, gxg_gtk_size_group_get_widgets_w, 1, 0, 0, H_gtk_size_group_get_widgets, pl_pu);
   Xg_define_procedure(gtk_text_buffer_get_has_selection, gxg_gtk_text_buffer_get_has_selection_w, 1, 0, 0, H_gtk_text_buffer_get_has_selection, pl_bu);
-  Xg_define_procedure(gtk_text_buffer_get_copy_target_list, gxg_gtk_text_buffer_get_copy_target_list_w, 1, 0, 0, H_gtk_text_buffer_get_copy_target_list, pl_pu);
-  Xg_define_procedure(gtk_text_buffer_get_paste_target_list, gxg_gtk_text_buffer_get_paste_target_list_w, 1, 0, 0, H_gtk_text_buffer_get_paste_target_list, pl_pu);
   Xg_define_procedure(gtk_tree_view_get_headers_clickable, gxg_gtk_tree_view_get_headers_clickable_w, 1, 0, 0, H_gtk_tree_view_get_headers_clickable, pl_bu);
   Xg_define_procedure(gtk_tree_view_get_search_entry, gxg_gtk_tree_view_get_search_entry_w, 1, 0, 0, H_gtk_tree_view_get_search_entry, pl_pu);
   Xg_define_procedure(gtk_tree_view_set_search_entry, gxg_gtk_tree_view_set_search_entry_w, 2, 0, 0, H_gtk_tree_view_set_search_entry, pl_tu);
@@ -42179,25 +41673,12 @@ static void define_functions(void)
   Xg_define_procedure(gtk_recent_info_has_application, gxg_gtk_recent_info_has_application_w, 2, 0, 0, H_gtk_recent_info_has_application, pl_bus);
   Xg_define_procedure(gtk_recent_info_get_groups, gxg_gtk_recent_info_get_groups_w, 1, 1, 0, H_gtk_recent_info_get_groups, pl_pu);
   Xg_define_procedure(gtk_recent_info_has_group, gxg_gtk_recent_info_has_group_w, 2, 0, 0, H_gtk_recent_info_has_group, pl_bus);
-  Xg_define_procedure(gtk_recent_info_get_icon, gxg_gtk_recent_info_get_icon_w, 2, 0, 0, H_gtk_recent_info_get_icon, pl_pui);
   Xg_define_procedure(gtk_recent_info_get_short_name, gxg_gtk_recent_info_get_short_name_w, 1, 0, 0, H_gtk_recent_info_get_short_name, pl_su);
   Xg_define_procedure(gtk_recent_info_get_uri_display, gxg_gtk_recent_info_get_uri_display_w, 1, 0, 0, H_gtk_recent_info_get_uri_display, pl_su);
   Xg_define_procedure(gtk_recent_info_get_age, gxg_gtk_recent_info_get_age_w, 1, 0, 0, H_gtk_recent_info_get_age, pl_iu);
   Xg_define_procedure(gtk_recent_info_is_local, gxg_gtk_recent_info_is_local_w, 1, 0, 0, H_gtk_recent_info_is_local, pl_bu);
   Xg_define_procedure(gtk_recent_info_exists, gxg_gtk_recent_info_exists_w, 1, 0, 0, H_gtk_recent_info_exists, pl_bu);
   Xg_define_procedure(gtk_recent_info_match, gxg_gtk_recent_info_match_w, 2, 0, 0, H_gtk_recent_info_match, pl_bu);
-  Xg_define_procedure(gtk_text_buffer_register_serialize_format, gxg_gtk_text_buffer_register_serialize_format_w, 5, 0, 0, H_gtk_text_buffer_register_serialize_format, pl_tust);
-  Xg_define_procedure(gtk_text_buffer_register_serialize_tagset, gxg_gtk_text_buffer_register_serialize_tagset_w, 2, 0, 0, H_gtk_text_buffer_register_serialize_tagset, pl_tus);
-  Xg_define_procedure(gtk_text_buffer_register_deserialize_format, gxg_gtk_text_buffer_register_deserialize_format_w, 5, 0, 0, H_gtk_text_buffer_register_deserialize_format, pl_tust);
-  Xg_define_procedure(gtk_text_buffer_register_deserialize_tagset, gxg_gtk_text_buffer_register_deserialize_tagset_w, 2, 0, 0, H_gtk_text_buffer_register_deserialize_tagset, pl_tus);
-  Xg_define_procedure(gtk_text_buffer_unregister_serialize_format, gxg_gtk_text_buffer_unregister_serialize_format_w, 2, 0, 0, H_gtk_text_buffer_unregister_serialize_format, pl_tut);
-  Xg_define_procedure(gtk_text_buffer_unregister_deserialize_format, gxg_gtk_text_buffer_unregister_deserialize_format_w, 2, 0, 0, H_gtk_text_buffer_unregister_deserialize_format, pl_tut);
-  Xg_define_procedure(gtk_text_buffer_deserialize_set_can_create_tags, gxg_gtk_text_buffer_deserialize_set_can_create_tags_w, 3, 0, 0, H_gtk_text_buffer_deserialize_set_can_create_tags, pl_tutb);
-  Xg_define_procedure(gtk_text_buffer_deserialize_get_can_create_tags, gxg_gtk_text_buffer_deserialize_get_can_create_tags_w, 2, 0, 0, H_gtk_text_buffer_deserialize_get_can_create_tags, pl_but);
-  Xg_define_procedure(gtk_text_buffer_get_serialize_formats, gxg_gtk_text_buffer_get_serialize_formats_w, 1, 1, 0, H_gtk_text_buffer_get_serialize_formats, pl_pu);
-  Xg_define_procedure(gtk_text_buffer_get_deserialize_formats, gxg_gtk_text_buffer_get_deserialize_formats_w, 1, 1, 0, H_gtk_text_buffer_get_deserialize_formats, pl_pu);
-  Xg_define_procedure(gtk_text_buffer_serialize, gxg_gtk_text_buffer_serialize_w, 5, 1, 0, H_gtk_text_buffer_serialize, pl_puutu);
-  Xg_define_procedure(gtk_text_buffer_deserialize, gxg_gtk_text_buffer_deserialize_w, 6, 1, 0, H_gtk_text_buffer_deserialize, pl_puutuuiu);
   Xg_define_procedure(gtk_recent_manager_add_item, gxg_gtk_recent_manager_add_item_w, 2, 0, 0, H_gtk_recent_manager_add_item, pl_bus);
   Xg_define_procedure(gtk_recent_manager_add_full, gxg_gtk_recent_manager_add_full_w, 3, 0, 0, H_gtk_recent_manager_add_full, pl_busu);
   Xg_define_procedure(gtk_tree_model_filter_convert_child_iter_to_iter, gxg_gtk_tree_model_filter_convert_child_iter_to_iter_w, 3, 0, 0, H_gtk_tree_model_filter_convert_child_iter_to_iter, pl_bu);
@@ -42300,7 +41781,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_print_settings_set_finishings, gxg_gtk_print_settings_set_finishings_w, 2, 0, 0, H_gtk_print_settings_set_finishings, pl_tus);
   Xg_define_procedure(gtk_print_settings_get_output_bin, gxg_gtk_print_settings_get_output_bin_w, 1, 0, 0, H_gtk_print_settings_get_output_bin, pl_su);
   Xg_define_procedure(gtk_print_settings_set_output_bin, gxg_gtk_print_settings_set_output_bin_w, 2, 0, 0, H_gtk_print_settings_set_output_bin, pl_tus);
-  Xg_define_procedure(gtk_settings_get_for_screen, gxg_gtk_settings_get_for_screen_w, 1, 0, 0, H_gtk_settings_get_for_screen, pl_pu);
   Xg_define_procedure(pango_cairo_create_layout, gxg_pango_cairo_create_layout_w, 1, 0, 0, H_pango_cairo_create_layout, pl_pu);
   Xg_define_procedure(pango_cairo_update_layout, gxg_pango_cairo_update_layout_w, 2, 0, 0, H_pango_cairo_update_layout, pl_tu);
   Xg_define_procedure(pango_cairo_update_context, gxg_pango_cairo_update_context_w, 2, 0, 0, H_pango_cairo_update_context, pl_tu);
@@ -42318,8 +41798,6 @@ static void define_functions(void)
   Xg_define_procedure(pango_cairo_error_underline_path, gxg_pango_cairo_error_underline_path_w, 5, 0, 0, H_pango_cairo_error_underline_path, pl_tur);
   Xg_define_procedure(gdk_cairo_set_source_pixbuf, gxg_gdk_cairo_set_source_pixbuf_w, 4, 0, 0, H_gdk_cairo_set_source_pixbuf, pl_tuur);
   Xg_define_procedure(gdk_cairo_rectangle, gxg_gdk_cairo_rectangle_w, 2, 0, 0, H_gdk_cairo_rectangle, pl_tu);
-  Xg_define_procedure(gdk_event_request_motions, gxg_gdk_event_request_motions_w, 1, 0, 0, H_gdk_event_request_motions, pl_tu);
-  Xg_define_procedure(gdk_notify_startup_complete_with_id, gxg_gdk_notify_startup_complete_with_id_w, 1, 0, 0, H_gdk_notify_startup_complete_with_id, pl_ts);
   Xg_define_procedure(gdk_threads_add_idle_full, gxg_gdk_threads_add_idle_full_w, 4, 0, 0, H_gdk_threads_add_idle_full, pl_iit);
   Xg_define_procedure(gdk_threads_add_idle, gxg_gdk_threads_add_idle_w, 1, 1, 0, H_gdk_threads_add_idle, pl_it);
   Xg_define_procedure(gdk_threads_add_timeout_full, gxg_gdk_threads_add_timeout_full_w, 5, 0, 0, H_gdk_threads_add_timeout_full, pl_iiit);
@@ -42445,9 +41923,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_entry_set_progress_pulse_step, gxg_gtk_entry_set_progress_pulse_step_w, 2, 0, 0, H_gtk_entry_set_progress_pulse_step, pl_tur);
   Xg_define_procedure(gtk_entry_get_progress_pulse_step, gxg_gtk_entry_get_progress_pulse_step_w, 1, 0, 0, H_gtk_entry_get_progress_pulse_step, pl_du);
   Xg_define_procedure(gtk_entry_progress_pulse, gxg_gtk_entry_progress_pulse_w, 1, 0, 0, H_gtk_entry_progress_pulse, pl_tu);
-  Xg_define_procedure(gtk_entry_set_icon_from_pixbuf, gxg_gtk_entry_set_icon_from_pixbuf_w, 3, 0, 0, H_gtk_entry_set_icon_from_pixbuf, pl_tugu);
-  Xg_define_procedure(gtk_entry_set_icon_from_icon_name, gxg_gtk_entry_set_icon_from_icon_name_w, 3, 0, 0, H_gtk_entry_set_icon_from_icon_name, pl_tugs);
-  Xg_define_procedure(gtk_entry_set_icon_from_gicon, gxg_gtk_entry_set_icon_from_gicon_w, 3, 0, 0, H_gtk_entry_set_icon_from_gicon, pl_tugu);
   Xg_define_procedure(gtk_entry_get_icon_name, gxg_gtk_entry_get_icon_name_w, 2, 0, 0, H_gtk_entry_get_icon_name, pl_sug);
   Xg_define_procedure(gtk_entry_set_icon_activatable, gxg_gtk_entry_set_icon_activatable_w, 3, 0, 0, H_gtk_entry_set_icon_activatable, pl_tugb);
   Xg_define_procedure(gtk_entry_get_icon_activatable, gxg_gtk_entry_get_icon_activatable_w, 2, 0, 0, H_gtk_entry_get_icon_activatable, pl_bug);
@@ -42456,13 +41931,10 @@ static void define_functions(void)
   Xg_define_procedure(gtk_entry_get_icon_at_pos, gxg_gtk_entry_get_icon_at_pos_w, 3, 0, 0, H_gtk_entry_get_icon_at_pos, pl_iui);
   Xg_define_procedure(gtk_entry_set_icon_tooltip_text, gxg_gtk_entry_set_icon_tooltip_text_w, 3, 0, 0, H_gtk_entry_set_icon_tooltip_text, pl_tugs);
   Xg_define_procedure(gtk_entry_set_icon_tooltip_markup, gxg_gtk_entry_set_icon_tooltip_markup_w, 3, 0, 0, H_gtk_entry_set_icon_tooltip_markup, pl_tugs);
-  Xg_define_procedure(gtk_entry_set_icon_drag_source, gxg_gtk_entry_set_icon_drag_source_w, 4, 0, 0, H_gtk_entry_set_icon_drag_source, pl_tugug);
-  Xg_define_procedure(gtk_entry_get_current_icon_drag_source, gxg_gtk_entry_get_current_icon_drag_source_w, 1, 0, 0, H_gtk_entry_get_current_icon_drag_source, pl_iu);
   Xg_define_procedure(gtk_menu_item_set_label, gxg_gtk_menu_item_set_label_w, 2, 0, 0, H_gtk_menu_item_set_label, pl_tus);
   Xg_define_procedure(gtk_menu_item_get_label, gxg_gtk_menu_item_get_label_w, 1, 0, 0, H_gtk_menu_item_get_label, pl_su);
   Xg_define_procedure(gtk_menu_item_set_use_underline, gxg_gtk_menu_item_set_use_underline_w, 2, 0, 0, H_gtk_menu_item_set_use_underline, pl_tub);
   Xg_define_procedure(gtk_menu_item_get_use_underline, gxg_gtk_menu_item_get_use_underline_w, 1, 0, 0, H_gtk_menu_item_get_use_underline, pl_bu);
-  Xg_define_procedure(gtk_selection_data_get_selection, gxg_gtk_selection_data_get_selection_w, 1, 0, 0, H_gtk_selection_data_get_selection, pl_tu);
   Xg_define_procedure(gtk_entry_get_icon_tooltip_text, gxg_gtk_entry_get_icon_tooltip_text_w, 2, 0, 0, H_gtk_entry_get_icon_tooltip_text, pl_sug);
   Xg_define_procedure(gtk_entry_get_icon_tooltip_markup, gxg_gtk_entry_get_icon_tooltip_markup_w, 2, 0, 0, H_gtk_entry_get_icon_tooltip_markup, pl_sug);
   Xg_define_procedure(gtk_scale_add_mark, gxg_gtk_scale_add_mark_w, 4, 0, 0, H_gtk_scale_add_mark, pl_turgs);
@@ -42562,7 +42034,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tool_palette_get_group_position, gxg_gtk_tool_palette_get_group_position_w, 2, 0, 0, H_gtk_tool_palette_get_group_position, pl_iu);
   Xg_define_procedure(gtk_tool_palette_get_exclusive, gxg_gtk_tool_palette_get_exclusive_w, 2, 0, 0, H_gtk_tool_palette_get_exclusive, pl_bu);
   Xg_define_procedure(gtk_tool_palette_get_expand, gxg_gtk_tool_palette_get_expand_w, 2, 0, 0, H_gtk_tool_palette_get_expand, pl_bu);
-  Xg_define_procedure(gtk_tool_palette_unset_icon_size, gxg_gtk_tool_palette_unset_icon_size_w, 1, 0, 0, H_gtk_tool_palette_unset_icon_size, pl_tu);
   Xg_define_procedure(gtk_tool_palette_set_style, gxg_gtk_tool_palette_set_style_w, 2, 0, 0, H_gtk_tool_palette_set_style, pl_tug);
   Xg_define_procedure(gtk_tool_palette_unset_style, gxg_gtk_tool_palette_unset_style_w, 1, 0, 0, H_gtk_tool_palette_unset_style, pl_tu);
   Xg_define_procedure(gtk_tool_palette_get_style, gxg_gtk_tool_palette_get_style_w, 1, 0, 0, H_gtk_tool_palette_get_style, pl_gu);
@@ -42571,8 +42042,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tool_palette_get_drag_item, gxg_gtk_tool_palette_get_drag_item_w, 2, 0, 0, H_gtk_tool_palette_get_drag_item, pl_pu);
   Xg_define_procedure(gtk_tool_palette_set_drag_source, gxg_gtk_tool_palette_set_drag_source_w, 2, 0, 0, H_gtk_tool_palette_set_drag_source, pl_tug);
   Xg_define_procedure(gtk_tool_palette_add_drag_dest, gxg_gtk_tool_palette_add_drag_dest_w, 5, 0, 0, H_gtk_tool_palette_add_drag_dest, pl_tuug);
-  Xg_define_procedure(gtk_tool_palette_get_drag_target_item, gxg_gtk_tool_palette_get_drag_target_item_w, 0, 0, 0, H_gtk_tool_palette_get_drag_target_item, pl_p);
-  Xg_define_procedure(gtk_tool_palette_get_drag_target_group, gxg_gtk_tool_palette_get_drag_target_group_w, 0, 0, 0, H_gtk_tool_palette_get_drag_target_group, pl_p);
   Xg_define_procedure(gtk_tool_item_group_new, gxg_gtk_tool_item_group_new_w, 1, 0, 0, H_gtk_tool_item_group_new, pl_ps);
   Xg_define_procedure(gtk_tool_item_group_set_label, gxg_gtk_tool_item_group_set_label_w, 2, 0, 0, H_gtk_tool_item_group_set_label, pl_tus);
   Xg_define_procedure(gtk_tool_item_group_set_label_widget, gxg_gtk_tool_item_group_set_label_widget_w, 2, 0, 0, H_gtk_tool_item_group_set_label_widget, pl_tu);
@@ -42608,9 +42077,7 @@ static void define_functions(void)
   Xg_define_procedure(gdk_window_coords_from_parent, gxg_gdk_window_coords_from_parent_w, 3, 2, 0, H_gdk_window_coords_from_parent, pl_purru);
   Xg_define_procedure(gtk_accessible_get_widget, gxg_gtk_accessible_get_widget_w, 1, 0, 0, H_gtk_accessible_get_widget, pl_pu);
   Xg_define_procedure(gtk_widget_send_focus_change, gxg_gtk_widget_send_focus_change_w, 2, 0, 0, H_gtk_widget_send_focus_change, pl_bu);
-  Xg_define_procedure(gdk_drag_context_set_device, gxg_gdk_drag_context_set_device_w, 2, 0, 0, H_gdk_drag_context_set_device, pl_tu);
   Xg_define_procedure(gdk_drag_context_get_device, gxg_gdk_drag_context_get_device_w, 1, 0, 0, H_gdk_drag_context_get_device, pl_pu);
-  Xg_define_procedure(gdk_drag_context_list_targets, gxg_gdk_drag_context_list_targets_w, 1, 0, 0, H_gdk_drag_context_list_targets, pl_pu);
   Xg_define_procedure(gdk_event_set_device, gxg_gdk_event_set_device_w, 2, 0, 0, H_gdk_event_set_device, pl_tu);
   Xg_define_procedure(gdk_event_get_device, gxg_gdk_event_get_device_w, 1, 0, 0, H_gdk_event_get_device, pl_pu);
   Xg_define_procedure(gdk_events_get_distance, gxg_gdk_events_get_distance_w, 2, 1, 0, H_gdk_events_get_distance, pl_pu);
@@ -42657,7 +42124,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_window_move_region, gxg_gdk_window_move_region_w, 4, 0, 0, H_gdk_window_move_region, pl_tuui);
   Xg_define_procedure(gdk_keymap_get_num_lock_state, gxg_gdk_keymap_get_num_lock_state_w, 1, 0, 0, H_gdk_keymap_get_num_lock_state, pl_bu);
   Xg_define_procedure(gdk_window_has_native, gxg_gdk_window_has_native_w, 1, 0, 0, H_gdk_window_has_native, pl_bu);
-  Xg_define_procedure(gdk_cursor_get_cursor_type, gxg_gdk_cursor_get_cursor_type_w, 1, 0, 0, H_gdk_cursor_get_cursor_type, pl_gu);
   Xg_define_procedure(gdk_display_is_closed, gxg_gdk_display_is_closed_w, 1, 0, 0, H_gdk_display_is_closed, pl_bu);
   Xg_define_procedure(gdk_window_create_similar_surface, gxg_gdk_window_create_similar_surface_w, 4, 0, 0, H_gdk_window_create_similar_surface, pl_pugi);
   Xg_define_procedure(gtk_expander_set_label_fill, gxg_gtk_expander_set_label_fill_w, 2, 0, 0, H_gtk_expander_set_label_fill, pl_tub);
@@ -42673,7 +42139,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tree_view_create_row_drag_icon, gxg_gtk_tree_view_create_row_drag_icon_w, 2, 0, 0, H_gtk_tree_view_create_row_drag_icon, pl_pu);
   Xg_define_procedure(gdk_cairo_get_clip_rectangle, gxg_gdk_cairo_get_clip_rectangle_w, 2, 0, 0, H_gdk_cairo_get_clip_rectangle, pl_bu);
   Xg_define_procedure(gdk_cairo_region_create_from_surface, gxg_gdk_cairo_region_create_from_surface_w, 1, 0, 0, H_gdk_cairo_region_create_from_surface, pl_pu);
-  Xg_define_procedure(gdk_window_get_screen, gxg_gdk_window_get_screen_w, 1, 0, 0, H_gdk_window_get_screen, pl_pu);
   Xg_define_procedure(gdk_window_get_display, gxg_gdk_window_get_display_w, 1, 0, 0, H_gdk_window_get_display, pl_pu);
   Xg_define_procedure(gdk_window_get_width, gxg_gdk_window_get_width_w, 1, 0, 0, H_gdk_window_get_width, pl_iu);
   Xg_define_procedure(gdk_window_get_height, gxg_gdk_window_get_height_w, 1, 0, 0, H_gdk_window_get_height, pl_iu);
@@ -42699,14 +42164,10 @@ static void define_functions(void)
   Xg_define_procedure(gtk_widget_set_margin_bottom, gxg_gtk_widget_set_margin_bottom_w, 2, 0, 0, H_gtk_widget_set_margin_bottom, pl_tui);
   Xg_define_procedure(gtk_widget_shape_combine_region, gxg_gtk_widget_shape_combine_region_w, 2, 0, 0, H_gtk_widget_shape_combine_region, pl_tu);
   Xg_define_procedure(gtk_widget_input_shape_combine_region, gxg_gtk_widget_input_shape_combine_region_w, 2, 0, 0, H_gtk_widget_input_shape_combine_region, pl_tu);
-  Xg_define_procedure(gtk_cairo_transform_to_window, gxg_gtk_cairo_transform_to_window_w, 3, 0, 0, H_gtk_cairo_transform_to_window, pl_tu);
   Xg_define_procedure(gtk_combo_box_new_with_entry, gxg_gtk_combo_box_new_with_entry_w, 0, 0, 0, H_gtk_combo_box_new_with_entry, pl_p);
   Xg_define_procedure(gtk_combo_box_get_has_entry, gxg_gtk_combo_box_get_has_entry_w, 1, 0, 0, H_gtk_combo_box_get_has_entry, pl_bu);
   Xg_define_procedure(gtk_combo_box_set_entry_text_column, gxg_gtk_combo_box_set_entry_text_column_w, 2, 0, 0, H_gtk_combo_box_set_entry_text_column, pl_tui);
   Xg_define_procedure(gtk_combo_box_get_entry_text_column, gxg_gtk_combo_box_get_entry_text_column_w, 1, 0, 0, H_gtk_combo_box_get_entry_text_column, pl_iu);
-  Xg_define_procedure(gtk_target_entry_new, gxg_gtk_target_entry_new_w, 3, 0, 0, H_gtk_target_entry_new, pl_psi);
-  Xg_define_procedure(gtk_target_entry_copy, gxg_gtk_target_entry_copy_w, 1, 0, 0, H_gtk_target_entry_copy, pl_pu);
-  Xg_define_procedure(gtk_target_entry_free, gxg_gtk_target_entry_free_w, 1, 0, 0, H_gtk_target_entry_free, pl_tu);
   Xg_define_procedure(gtk_widget_get_hexpand, gxg_gtk_widget_get_hexpand_w, 1, 0, 0, H_gtk_widget_get_hexpand, pl_bu);
   Xg_define_procedure(gtk_widget_set_hexpand, gxg_gtk_widget_set_hexpand_w, 2, 0, 0, H_gtk_widget_set_hexpand, pl_tub);
   Xg_define_procedure(gtk_widget_get_hexpand_set, gxg_gtk_widget_get_hexpand_set_w, 1, 0, 0, H_gtk_widget_get_hexpand_set, pl_bu);
@@ -42774,13 +42235,11 @@ static void define_functions(void)
   Xg_define_procedure(gtk_tree_view_set_rubber_banding, gxg_gtk_tree_view_set_rubber_banding_w, 2, 0, 0, H_gtk_tree_view_set_rubber_banding, pl_tub);
   Xg_define_procedure(gtk_tree_view_get_rubber_banding, gxg_gtk_tree_view_get_rubber_banding_w, 1, 0, 0, H_gtk_tree_view_get_rubber_banding, pl_bu);
   Xg_define_procedure(gtk_tooltip_set_markup, gxg_gtk_tooltip_set_markup_w, 2, 0, 0, H_gtk_tooltip_set_markup, pl_tus);
-  Xg_define_procedure(gtk_tooltip_set_icon, gxg_gtk_tooltip_set_icon_w, 2, 0, 0, H_gtk_tooltip_set_icon, pl_tu);
   Xg_define_procedure(gtk_tooltip_set_custom, gxg_gtk_tooltip_set_custom_w, 2, 0, 0, H_gtk_tooltip_set_custom, pl_tu);
   Xg_define_procedure(gtk_tooltip_trigger_tooltip_query, gxg_gtk_tooltip_trigger_tooltip_query_w, 1, 0, 0, H_gtk_tooltip_trigger_tooltip_query, pl_tu);
   Xg_define_procedure(gtk_tree_view_column_new_with_area, gxg_gtk_tree_view_column_new_with_area_w, 1, 0, 0, H_gtk_tree_view_column_new_with_area, pl_pu);
   Xg_define_procedure(gtk_tree_view_column_get_button, gxg_gtk_tree_view_column_get_button_w, 1, 0, 0, H_gtk_tree_view_column_get_button, pl_pu);
   Xg_define_procedure(gtk_tree_view_column_focus_cell, gxg_gtk_tree_view_column_focus_cell_w, 2, 0, 0, H_gtk_tree_view_column_focus_cell, pl_tu);
-  Xg_define_procedure(gtk_clipboard_wait_is_uris_available, gxg_gtk_clipboard_wait_is_uris_available_w, 1, 0, 0, H_gtk_clipboard_wait_is_uris_available, pl_bu);
   Xg_define_procedure(gtk_toolbar_set_drop_highlight_item, gxg_gtk_toolbar_set_drop_highlight_item_w, 3, 0, 0, H_gtk_toolbar_set_drop_highlight_item, pl_tuui);
   Xg_define_procedure(gtk_tool_item_toolbar_reconfigured, gxg_gtk_tool_item_toolbar_reconfigured_w, 1, 0, 0, H_gtk_tool_item_toolbar_reconfigured, pl_tu);
   Xg_define_procedure(gtk_orientable_set_orientation, gxg_gtk_orientable_set_orientation_w, 2, 0, 0, H_gtk_orientable_set_orientation, pl_tug);
@@ -42792,11 +42251,7 @@ static void define_functions(void)
   Xg_define_procedure(gtk_get_interface_age, gxg_gtk_get_interface_age_w, 0, 0, 0, H_gtk_get_interface_age, pl_i);
   Xg_define_procedure(gtk_progress_bar_set_show_text, gxg_gtk_progress_bar_set_show_text_w, 2, 0, 0, H_gtk_progress_bar_set_show_text, pl_tub);
   Xg_define_procedure(gtk_progress_bar_get_show_text, gxg_gtk_progress_bar_get_show_text_w, 1, 0, 0, H_gtk_progress_bar_get_show_text, pl_bu);
-  Xg_define_procedure(gtk_invisible_new_for_screen, gxg_gtk_invisible_new_for_screen_w, 1, 0, 0, H_gtk_invisible_new_for_screen, pl_pu);
-  Xg_define_procedure(gtk_invisible_set_screen, gxg_gtk_invisible_set_screen_w, 2, 0, 0, H_gtk_invisible_set_screen, pl_tu);
-  Xg_define_procedure(gtk_invisible_get_screen, gxg_gtk_invisible_get_screen_w, 1, 0, 0, H_gtk_invisible_get_screen, pl_pu);
   Xg_define_procedure(gtk_entry_get_icon_storage_type, gxg_gtk_entry_get_icon_storage_type_w, 2, 0, 0, H_gtk_entry_get_icon_storage_type, pl_gug);
-  Xg_define_procedure(gtk_entry_get_icon_pixbuf, gxg_gtk_entry_get_icon_pixbuf_w, 2, 0, 0, H_gtk_entry_get_icon_pixbuf, pl_pug);
   Xg_define_procedure(gtk_entry_get_icon_gicon, gxg_gtk_entry_get_icon_gicon_w, 2, 0, 0, H_gtk_entry_get_icon_gicon, pl_pug);
   Xg_define_procedure(gtk_container_set_focus_chain, gxg_gtk_container_set_focus_chain_w, 2, 0, 0, H_gtk_container_set_focus_chain, pl_tu);
   Xg_define_procedure(gtk_container_get_focus_chain, gxg_gtk_container_get_focus_chain_w, 1, 1, 0, H_gtk_container_get_focus_chain, pl_pu);
@@ -42810,8 +42265,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_window_get_skip_taskbar_hint, gxg_gtk_window_get_skip_taskbar_hint_w, 1, 0, 0, H_gtk_window_get_skip_taskbar_hint, pl_bu);
   Xg_define_procedure(gtk_window_set_skip_pager_hint, gxg_gtk_window_set_skip_pager_hint_w, 2, 0, 0, H_gtk_window_set_skip_pager_hint, pl_tub);
   Xg_define_procedure(gtk_window_get_skip_pager_hint, gxg_gtk_window_get_skip_pager_hint_w, 1, 0, 0, H_gtk_window_get_skip_pager_hint, pl_bu);
-  Xg_define_procedure(gtk_window_set_screen, gxg_gtk_window_set_screen_w, 2, 0, 0, H_gtk_window_set_screen, pl_tu);
-  Xg_define_procedure(gtk_window_get_screen, gxg_gtk_window_get_screen_w, 1, 0, 0, H_gtk_window_get_screen, pl_pu);
   Xg_define_procedure(gtk_window_set_icon_from_file, gxg_gtk_window_set_icon_from_file_w, 2, 1, 0, H_gtk_window_set_icon_from_file, pl_pusu);
   Xg_define_procedure(gtk_window_set_default_icon_from_file, gxg_gtk_window_set_default_icon_from_file_w, 1, 1, 0, H_gtk_window_set_default_icon_from_file, pl_psu);
   Xg_define_procedure(gtk_window_fullscreen, gxg_gtk_window_fullscreen_w, 1, 0, 0, H_gtk_window_fullscreen, pl_tu);
@@ -42825,7 +42278,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_window_group_get_current_device_grab, gxg_gtk_window_group_get_current_device_grab_w, 2, 0, 0, H_gtk_window_group_get_current_device_grab, pl_pu);
   Xg_define_procedure(gtk_window_group_get_current_grab, gxg_gtk_window_group_get_current_grab_w, 1, 0, 0, H_gtk_window_group_get_current_grab, pl_pu);
   Xg_define_procedure(gtk_selection_data_get_data, gxg_gtk_selection_data_get_data_w, 1, 0, 0, H_gtk_selection_data_get_data, pl_su);
-  Xg_define_procedure(gtk_selection_owner_set_for_display, gxg_gtk_selection_owner_set_for_display_w, 4, 0, 0, H_gtk_selection_owner_set_for_display, pl_buuti);
   Xg_define_procedure(gtk_tool_shell_get_text_orientation, gxg_gtk_tool_shell_get_text_orientation_w, 1, 0, 0, H_gtk_tool_shell_get_text_orientation, pl_gu);
   Xg_define_procedure(gtk_tool_shell_get_text_alignment, gxg_gtk_tool_shell_get_text_alignment_w, 1, 0, 0, H_gtk_tool_shell_get_text_alignment, pl_du);
   Xg_define_procedure(gtk_tool_shell_get_ellipsize_mode, gxg_gtk_tool_shell_get_ellipsize_mode_w, 1, 0, 0, H_gtk_tool_shell_get_ellipsize_mode, pl_gu);
@@ -42841,7 +42293,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_icon_view_get_item_orientation, gxg_gtk_icon_view_get_item_orientation_w, 1, 0, 0, H_gtk_icon_view_get_item_orientation, pl_gu);
   Xg_define_procedure(gtk_text_view_im_context_filter_keypress, gxg_gtk_text_view_im_context_filter_keypress_w, 2, 0, 0, H_gtk_text_view_im_context_filter_keypress, pl_bu);
   Xg_define_procedure(gtk_text_view_reset_im_context, gxg_gtk_text_view_reset_im_context_w, 1, 0, 0, H_gtk_text_view_reset_im_context, pl_tu);
-  Xg_define_procedure(gdk_device_get_position, gxg_gdk_device_get_position_w, 2, 2, 0, H_gdk_device_get_position, pl_pu);
   Xg_define_procedure(gdk_device_get_window_at_position, gxg_gdk_device_get_window_at_position_w, 1, 2, 0, H_gdk_device_get_window_at_position, pl_pu);
   Xg_define_procedure(gtk_cell_view_get_draw_sensitive, gxg_gtk_cell_view_get_draw_sensitive_w, 1, 0, 0, H_gtk_cell_view_get_draw_sensitive, pl_bu);
   Xg_define_procedure(gtk_cell_view_set_draw_sensitive, gxg_gtk_cell_view_set_draw_sensitive_w, 2, 0, 0, H_gtk_cell_view_set_draw_sensitive, pl_tub);
@@ -42855,11 +42306,7 @@ static void define_functions(void)
   Xg_define_procedure(gtk_selection_data_get_data_with_length, gxg_gtk_selection_data_get_data_with_length_w, 1, 1, 0, H_gtk_selection_data_get_data_with_length, pl_pu);
   Xg_define_procedure(gtk_tree_model_iter_previous, gxg_gtk_tree_model_iter_previous_w, 2, 0, 0, H_gtk_tree_model_iter_previous, pl_bu);
   Xg_define_procedure(gtk_tree_view_is_blank_at_pos, gxg_gtk_tree_view_is_blank_at_pos_w, 3, 4, 0, H_gtk_tree_view_is_blank_at_pos, pl_puiiu);
-  Xg_define_procedure(gtk_widget_set_device_enabled, gxg_gtk_widget_set_device_enabled_w, 3, 0, 0, H_gtk_widget_set_device_enabled, pl_tuub);
-  Xg_define_procedure(gtk_widget_get_device_enabled, gxg_gtk_widget_get_device_enabled_w, 2, 0, 0, H_gtk_widget_get_device_enabled, pl_bu);
   Xg_define_procedure(gtk_window_set_has_user_ref_count, gxg_gtk_window_set_has_user_ref_count_w, 2, 0, 0, H_gtk_window_set_has_user_ref_count, pl_tub);
-  Xg_define_procedure(gdk_selection_send_notify, gxg_gdk_selection_send_notify_w, 5, 0, 0, H_gdk_selection_send_notify, pl_tuttti);
-  Xg_define_procedure(gdk_selection_send_notify_for_display, gxg_gdk_selection_send_notify_for_display_w, 6, 0, 0, H_gdk_selection_send_notify_for_display, pl_tuuttti);
   Xg_define_procedure(gdk_rgba_copy, gxg_gdk_rgba_copy_w, 1, 0, 0, H_gdk_rgba_copy, pl_pu);
   Xg_define_procedure(gdk_rgba_free, gxg_gdk_rgba_free_w, 1, 0, 0, H_gdk_rgba_free, pl_tu);
   Xg_define_procedure(gdk_rgba_parse, gxg_gdk_rgba_parse_w, 2, 0, 0, H_gdk_rgba_parse, pl_bus);
@@ -43003,7 +42450,6 @@ static void define_functions(void)
 #endif
 
 #if GTK_CHECK_VERSION(3, 10, 0)
-  Xg_define_procedure(gdk_set_allowed_backends, gxg_gdk_set_allowed_backends_w, 1, 0, 0, H_gdk_set_allowed_backends, pl_ts);
   Xg_define_procedure(gtk_box_set_baseline_position, gxg_gtk_box_set_baseline_position_w, 2, 0, 0, H_gtk_box_set_baseline_position, pl_tug);
   Xg_define_procedure(gtk_box_get_baseline_position, gxg_gtk_box_get_baseline_position_w, 1, 0, 0, H_gtk_box_get_baseline_position, pl_gu);
   Xg_define_procedure(gtk_grid_remove_row, gxg_gtk_grid_remove_row_w, 2, 0, 0, H_gtk_grid_remove_row, pl_tui);
@@ -43085,12 +42531,9 @@ static void define_functions(void)
   Xg_define_procedure(gtk_search_bar_connect_entry, gxg_gtk_search_bar_connect_entry_w, 2, 0, 0, H_gtk_search_bar_connect_entry, pl_tu);
   Xg_define_procedure(gtk_search_bar_get_search_mode, gxg_gtk_search_bar_get_search_mode_w, 1, 0, 0, H_gtk_search_bar_get_search_mode, pl_bu);
   Xg_define_procedure(gtk_search_bar_set_search_mode, gxg_gtk_search_bar_set_search_mode_w, 2, 0, 0, H_gtk_search_bar_set_search_mode, pl_tub);
-  Xg_define_procedure(gtk_search_bar_get_show_close_button, gxg_gtk_search_bar_get_show_close_button_w, 1, 0, 0, H_gtk_search_bar_get_show_close_button, pl_bu);
-  Xg_define_procedure(gtk_search_bar_set_show_close_button, gxg_gtk_search_bar_set_show_close_button_w, 2, 0, 0, H_gtk_search_bar_set_show_close_button, pl_tub);
   Xg_define_procedure(gtk_search_bar_handle_event, gxg_gtk_search_bar_handle_event_w, 2, 0, 0, H_gtk_search_bar_handle_event, pl_bu);
   Xg_define_procedure(gtk_file_chooser_get_current_name, gxg_gtk_file_chooser_get_current_name_w, 1, 0, 0, H_gtk_file_chooser_get_current_name, pl_su);
   Xg_define_procedure(gdk_cairo_surface_create_from_pixbuf, gxg_gdk_cairo_surface_create_from_pixbuf_w, 3, 0, 0, H_gdk_cairo_surface_create_from_pixbuf, pl_puiu);
-  Xg_define_procedure(gdk_device_get_position_double, gxg_gdk_device_get_position_double_w, 1, 3, 0, H_gdk_device_get_position_double, pl_pu);
   Xg_define_procedure(gdk_device_get_window_at_position_double, gxg_gdk_device_get_window_at_position_double_w, 1, 2, 0, H_gdk_device_get_window_at_position_double, pl_pu);
   Xg_define_procedure(gdk_window_get_scale_factor, gxg_gdk_window_get_scale_factor_w, 1, 0, 0, H_gdk_window_get_scale_factor, pl_iu);
   Xg_define_procedure(gdk_window_get_device_position_double, gxg_gdk_window_get_device_position_double_w, 2, 3, 0, H_gdk_window_get_device_position_double, pl_pu);
@@ -43109,13 +42552,9 @@ static void define_functions(void)
   Xg_define_procedure(gtk_info_bar_set_show_close_button, gxg_gtk_info_bar_set_show_close_button_w, 2, 0, 0, H_gtk_info_bar_set_show_close_button, pl_tub);
   Xg_define_procedure(gtk_info_bar_get_show_close_button, gxg_gtk_info_bar_get_show_close_button_w, 1, 0, 0, H_gtk_info_bar_get_show_close_button, pl_bu);
   Xg_define_procedure(gtk_tree_model_rows_reordered_with_length, gxg_gtk_tree_model_rows_reordered_with_length_w, 5, 0, 0, H_gtk_tree_model_rows_reordered_with_length, pl_tuuuui);
-  Xg_define_procedure(gdk_cursor_new_from_surface, gxg_gdk_cursor_new_from_surface_w, 4, 0, 0, H_gdk_cursor_new_from_surface, pl_puur);
-  Xg_define_procedure(gdk_cursor_get_surface, gxg_gdk_cursor_get_surface_w, 1, 2, 0, H_gdk_cursor_get_surface, pl_pu);
   Xg_define_procedure(gdk_event_get_event_type, gxg_gdk_event_get_event_type_w, 1, 0, 0, H_gdk_event_get_event_type, pl_gu);
   Xg_define_procedure(gtk_entry_set_tabs, gxg_gtk_entry_set_tabs_w, 2, 0, 0, H_gtk_entry_set_tabs, pl_tu);
   Xg_define_procedure(gtk_entry_get_tabs, gxg_gtk_entry_get_tabs_w, 1, 0, 0, H_gtk_entry_get_tabs, pl_pu);
-  Xg_define_procedure(gtk_header_bar_get_show_close_button, gxg_gtk_header_bar_get_show_close_button_w, 1, 0, 0, H_gtk_header_bar_get_show_close_button, pl_bu);
-  Xg_define_procedure(gtk_header_bar_set_show_close_button, gxg_gtk_header_bar_set_show_close_button_w, 2, 0, 0, H_gtk_header_bar_set_show_close_button, pl_tub);
   Xg_define_procedure(gtk_list_box_prepend, gxg_gtk_list_box_prepend_w, 2, 0, 0, H_gtk_list_box_prepend, pl_tu);
   Xg_define_procedure(gtk_list_box_insert, gxg_gtk_list_box_insert_w, 3, 0, 0, H_gtk_list_box_insert, pl_tuui);
   Xg_define_procedure(gdk_window_set_opaque_region, gxg_gdk_window_set_opaque_region_w, 2, 0, 0, H_gdk_window_set_opaque_region, pl_tu);
@@ -43155,8 +42594,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_flow_box_set_vadjustment, gxg_gtk_flow_box_set_vadjustment_w, 2, 0, 0, H_gtk_flow_box_set_vadjustment, pl_tu);
   Xg_define_procedure(gtk_flow_box_invalidate_filter, gxg_gtk_flow_box_invalidate_filter_w, 1, 0, 0, H_gtk_flow_box_invalidate_filter, pl_tu);
   Xg_define_procedure(gtk_flow_box_invalidate_sort, gxg_gtk_flow_box_invalidate_sort_w, 1, 0, 0, H_gtk_flow_box_invalidate_sort, pl_tu);
-  Xg_define_procedure(gdk_window_set_event_compression, gxg_gdk_window_set_event_compression_w, 2, 0, 0, H_gdk_window_set_event_compression, pl_tub);
-  Xg_define_procedure(gdk_window_get_event_compression, gxg_gdk_window_get_event_compression_w, 1, 0, 0, H_gdk_window_get_event_compression, pl_bu);
   Xg_define_procedure(gtk_places_sidebar_set_local_only, gxg_gtk_places_sidebar_set_local_only_w, 2, 0, 0, H_gtk_places_sidebar_set_local_only, pl_tub);
   Xg_define_procedure(gtk_places_sidebar_get_local_only, gxg_gtk_places_sidebar_get_local_only_w, 1, 0, 0, H_gtk_places_sidebar_get_local_only, pl_bu);
   Xg_define_procedure(gtk_stack_get_transition_running, gxg_gtk_stack_get_transition_running_w, 1, 0, 0, H_gtk_stack_get_transition_running, pl_bu);
@@ -43259,7 +42696,6 @@ static void define_functions(void)
 
 #if GTK_CHECK_VERSION(3, 16, 0)
   Xg_define_procedure(gdk_cairo_draw_from_gl, gxg_gdk_cairo_draw_from_gl_w, 0, 0, 1, H_gdk_cairo_draw_from_gl, pl_tuui);
-  Xg_define_procedure(gdk_window_mark_paint_from_clip, gxg_gdk_window_mark_paint_from_clip_w, 2, 0, 0, H_gdk_window_mark_paint_from_clip, pl_tu);
   Xg_define_procedure(gtk_label_set_xalign, gxg_gtk_label_set_xalign_w, 2, 0, 0, H_gtk_label_set_xalign, pl_tur);
   Xg_define_procedure(gtk_label_get_xalign, gxg_gtk_label_get_xalign_w, 1, 0, 0, H_gtk_label_get_xalign, pl_du);
   Xg_define_procedure(gtk_label_set_yalign, gxg_gtk_label_set_yalign_w, 2, 0, 0, H_gtk_label_set_yalign, pl_tur);
@@ -43291,7 +42727,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_render_frame_gap, gxg_gtk_render_frame_gap_w, 0, 0, 1, H_gtk_render_frame_gap, pl_tuurrrrgr);
   Xg_define_procedure(gtk_render_handle, gxg_gtk_render_handle_w, 6, 0, 0, H_gtk_render_handle, pl_tuur);
   Xg_define_procedure(gtk_render_activity, gxg_gtk_render_activity_w, 6, 0, 0, H_gtk_render_activity, pl_tuur);
-  Xg_define_procedure(gtk_render_icon, gxg_gtk_render_icon_w, 5, 0, 0, H_gtk_render_icon, pl_tuuur);
   Xg_define_procedure(gtk_render_icon_surface, gxg_gtk_render_icon_surface_w, 5, 0, 0, H_gtk_render_icon_surface, pl_tuuur);
   Xg_define_procedure(gdk_gl_context_get_window, gxg_gdk_gl_context_get_window_w, 1, 0, 0, H_gdk_gl_context_get_window, pl_pu);
   Xg_define_procedure(gdk_gl_context_make_current, gxg_gdk_gl_context_make_current_w, 1, 0, 0, H_gdk_gl_context_make_current, pl_tu);
@@ -43324,7 +42759,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_gl_context_set_forward_compatible, gxg_gdk_gl_context_set_forward_compatible_w, 2, 0, 0, H_gdk_gl_context_set_forward_compatible, pl_tub);
   Xg_define_procedure(gdk_gl_context_get_forward_compatible, gxg_gdk_gl_context_get_forward_compatible_w, 1, 0, 0, H_gdk_gl_context_get_forward_compatible, pl_bu);
   Xg_define_procedure(gdk_gl_context_realize, gxg_gdk_gl_context_realize_w, 1, 1, 0, H_gdk_gl_context_realize, pl_pu);
-  Xg_define_procedure(gtk_clipboard_get_default, gxg_gtk_clipboard_get_default_w, 1, 0, 0, H_gtk_clipboard_get_default, pl_pu);
   Xg_define_procedure(gtk_drag_cancel, gxg_gtk_drag_cancel_w, 1, 0, 0, H_gtk_drag_cancel, pl_tu);
   Xg_define_procedure(gtk_search_entry_handle_event, gxg_gtk_search_entry_handle_event_w, 2, 0, 0, H_gtk_search_entry_handle_event, pl_bu);
   Xg_define_procedure(gdk_gl_context_get_version, gxg_gdk_gl_context_get_version_w, 1, 2, 0, H_gdk_gl_context_get_version, pl_pu);
@@ -43361,8 +42795,6 @@ static void define_functions(void)
   Xg_define_procedure(gtk_widget_get_font_options, gxg_gtk_widget_get_font_options_w, 1, 0, 0, H_gtk_widget_get_font_options, pl_pu);
   Xg_define_procedure(gtk_widget_set_font_map, gxg_gtk_widget_set_font_map_w, 2, 0, 0, H_gtk_widget_set_font_map, pl_tu);
   Xg_define_procedure(gtk_widget_get_font_map, gxg_gtk_widget_get_font_map_w, 1, 0, 0, H_gtk_widget_get_font_map, pl_pu);
-  Xg_define_procedure(gdk_window_fullscreen_on_monitor, gxg_gdk_window_fullscreen_on_monitor_w, 2, 0, 0, H_gdk_window_fullscreen_on_monitor, pl_tui);
-  Xg_define_procedure(gtk_window_fullscreen_on_monitor, gxg_gtk_window_fullscreen_on_monitor_w, 3, 0, 0, H_gtk_window_fullscreen_on_monitor, pl_tuui);
   Xg_define_procedure(gtk_text_view_set_top_margin, gxg_gtk_text_view_set_top_margin_w, 2, 0, 0, H_gtk_text_view_set_top_margin, pl_tui);
   Xg_define_procedure(gtk_text_view_get_top_margin, gxg_gtk_text_view_get_top_margin_w, 1, 0, 0, H_gtk_text_view_get_top_margin, pl_iu);
   Xg_define_procedure(gtk_text_view_set_bottom_margin, gxg_gtk_text_view_set_bottom_margin_w, 2, 0, 0, H_gtk_text_view_set_bottom_margin, pl_tui);
@@ -43387,7 +42819,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_device_get_seat, gxg_gdk_device_get_seat_w, 1, 0, 0, H_gdk_device_get_seat, pl_pu);
   Xg_define_procedure(gdk_display_get_default_seat, gxg_gdk_display_get_default_seat_w, 1, 0, 0, H_gdk_display_get_default_seat, pl_pu);
   Xg_define_procedure(gdk_display_list_seats, gxg_gdk_display_list_seats_w, 1, 0, 0, H_gdk_display_list_seats, pl_pu);
-  Xg_define_procedure(gdk_drag_begin_from_point, gxg_gdk_drag_begin_from_point_w, 5, 0, 0, H_gdk_drag_begin_from_point, pl_puuui);
   Xg_define_procedure(gdk_drag_drop_done, gxg_gdk_drag_drop_done_w, 2, 0, 0, H_gdk_drag_drop_done, pl_tub);
   Xg_define_procedure(gdk_drag_context_set_hotspot, gxg_gdk_drag_context_set_hotspot_w, 3, 0, 0, H_gdk_drag_context_set_hotspot, pl_tui);
   Xg_define_procedure(gdk_seat_grab, gxg_gdk_seat_grab_w, 0, 0, 1, H_gdk_seat_grab, pl_guugbuut);
@@ -43397,7 +42828,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_seat_get_slaves, gxg_gdk_seat_get_slaves_w, 2, 0, 0, H_gdk_seat_get_slaves, pl_pug);
   Xg_define_procedure(gdk_seat_get_pointer, gxg_gdk_seat_get_pointer_w, 1, 0, 0, H_gdk_seat_get_pointer, pl_pu);
   Xg_define_procedure(gdk_seat_get_keyboard, gxg_gdk_seat_get_keyboard_w, 1, 0, 0, H_gdk_seat_get_keyboard, pl_pu);
-  Xg_define_procedure(gdk_drag_context_manage_dnd, gxg_gdk_drag_context_manage_dnd_w, 3, 0, 0, H_gdk_drag_context_manage_dnd, pl_buug);
   Xg_define_procedure(gdk_event_is_scroll_stop_event, gxg_gdk_event_is_scroll_stop_event_w, 1, 0, 0, H_gdk_event_is_scroll_stop_event, pl_bu);
   Xg_define_procedure(gtk_text_view_reset_cursor_blink, gxg_gtk_text_view_reset_cursor_blink_w, 1, 0, 0, H_gtk_text_view_reset_cursor_blink, pl_tu);
 #endif
@@ -43409,8 +42839,6 @@ static void define_functions(void)
   Xg_define_procedure(gdk_event_get_scancode, gxg_gdk_event_get_scancode_w, 1, 0, 0, H_gdk_event_get_scancode, pl_iu);
   Xg_define_procedure(gdk_gl_context_set_use_es, gxg_gdk_gl_context_set_use_es_w, 2, 0, 0, H_gdk_gl_context_set_use_es, pl_tui);
   Xg_define_procedure(gdk_gl_context_get_use_es, gxg_gdk_gl_context_get_use_es_w, 1, 0, 0, H_gdk_gl_context_get_use_es, pl_bu);
-  Xg_define_procedure(gdk_pango_context_get_for_display, gxg_gdk_pango_context_get_for_display_w, 1, 0, 0, H_gdk_pango_context_get_for_display, pl_pu);
-  Xg_define_procedure(gtk_clipboard_get_selection, gxg_gtk_clipboard_get_selection_w, 1, 0, 0, H_gtk_clipboard_get_selection, pl_tu);
   Xg_define_procedure(gtk_gl_area_set_use_es, gxg_gtk_gl_area_set_use_es_w, 2, 0, 0, H_gtk_gl_area_set_use_es, pl_tub);
   Xg_define_procedure(gtk_gl_area_get_use_es, gxg_gtk_gl_area_get_use_es_w, 1, 0, 0, H_gtk_gl_area_get_use_es, pl_bu);
   Xg_define_procedure(gdk_device_tool_get_serial, gxg_gdk_device_tool_get_serial_w, 1, 0, 0, H_gdk_device_tool_get_serial, pl_iu);
@@ -43553,21 +42981,224 @@ static void define_functions(void)
   Xg_define_procedure(gdk_event_get_touchpad_scale, gxg_gdk_event_get_touchpad_scale_w, 1, 1, 0, H_gdk_event_get_touchpad_scale, pl_pu);
   Xg_define_procedure(gdk_event_get_touch_emulating_pointer, gxg_gdk_event_get_touch_emulating_pointer_w, 1, 1, 0, H_gdk_event_get_touch_emulating_pointer, pl_pu);
   Xg_define_procedure(gdk_event_get_grab_window, gxg_gdk_event_get_grab_window_w, 1, 1, 0, H_gdk_event_get_grab_window, pl_pu);
-  Xg_define_procedure(gdk_event_get_window_state, gxg_gdk_event_get_window_state_w, 1, 2, 0, H_gdk_event_get_window_state, pl_pu);
   Xg_define_procedure(gdk_event_get_focus_in, gxg_gdk_event_get_focus_in_w, 1, 1, 0, H_gdk_event_get_focus_in, pl_pu);
   Xg_define_procedure(gdk_event_get_pad_group_mode, gxg_gdk_event_get_pad_group_mode_w, 1, 2, 0, H_gdk_event_get_pad_group_mode, pl_pu);
   Xg_define_procedure(gdk_event_get_pad_button, gxg_gdk_event_get_pad_button_w, 1, 1, 0, H_gdk_event_get_pad_button, pl_pu);
   Xg_define_procedure(gdk_event_get_pad_axis_value, gxg_gdk_event_get_pad_axis_value_w, 1, 2, 0, H_gdk_event_get_pad_axis_value, pl_pu);
-  Xg_define_procedure(gdk_event_get_property, gxg_gdk_event_get_property_w, 1, 2, 0, H_gdk_event_get_property, pl_pu);
-  Xg_define_procedure(gdk_event_get_selection, gxg_gdk_event_get_selection_w, 1, 1, 0, H_gdk_event_get_selection, pl_pu);
-  Xg_define_procedure(gdk_event_get_selection_property, gxg_gdk_event_get_selection_property_w, 1, 3, 0, H_gdk_event_get_selection_property, pl_pu);
-  Xg_define_procedure(gdk_event_set_selection, gxg_gdk_event_set_selection_w, 4, 0, 0, H_gdk_event_set_selection, pl_tuuti);
   Xg_define_procedure(gdk_event_get_axes, gxg_gdk_event_get_axes_w, 1, 2, 0, H_gdk_event_get_axes, pl_pu);
   Xg_define_procedure(gtk_snapshot_push_blur, gxg_gtk_snapshot_push_blur_w, 3, 0, 0, H_gtk_snapshot_push_blur, pl_turs);
   Xg_define_procedure(gtk_emoji_chooser_new, gxg_gtk_emoji_chooser_new_w, 0, 0, 0, H_gtk_emoji_chooser_new, pl_p);
   Xg_define_procedure(gtk_event_controller_scroll_new, gxg_gtk_event_controller_scroll_new_w, 2, 0, 0, H_gtk_event_controller_scroll_new, pl_pug);
   Xg_define_procedure(gtk_event_controller_scroll_set_flags, gxg_gtk_event_controller_scroll_set_flags_w, 2, 0, 0, H_gtk_event_controller_scroll_set_flags, pl_tug);
   Xg_define_procedure(gtk_event_controller_scroll_get_flags, gxg_gtk_event_controller_scroll_get_flags_w, 1, 0, 0, H_gtk_event_controller_scroll_get_flags, pl_gu);
+  Xg_define_procedure(gdk_app_launch_context_set_desktop, gxg_gdk_app_launch_context_set_desktop_w, 2, 0, 0, H_gdk_app_launch_context_set_desktop, pl_tui);
+  Xg_define_procedure(gdk_app_launch_context_set_timestamp, gxg_gdk_app_launch_context_set_timestamp_w, 2, 0, 0, H_gdk_app_launch_context_set_timestamp, pl_tui);
+  Xg_define_procedure(gdk_app_launch_context_set_icon, gxg_gdk_app_launch_context_set_icon_w, 2, 0, 0, H_gdk_app_launch_context_set_icon, pl_tu);
+  Xg_define_procedure(gdk_app_launch_context_set_icon_name, gxg_gdk_app_launch_context_set_icon_name_w, 2, 0, 0, H_gdk_app_launch_context_set_icon_name, pl_tus);
+  Xg_define_procedure(gdk_clipboard_get_display, gxg_gdk_clipboard_get_display_w, 1, 0, 0, H_gdk_clipboard_get_display, pl_pu);
+  Xg_define_procedure(gdk_clipboard_get_formats, gxg_gdk_clipboard_get_formats_w, 1, 0, 0, H_gdk_clipboard_get_formats, pl_pu);
+  Xg_define_procedure(gdk_clipboard_is_local, gxg_gdk_clipboard_is_local_w, 1, 0, 0, H_gdk_clipboard_is_local, pl_bu);
+  Xg_define_procedure(gdk_clipboard_get_content, gxg_gdk_clipboard_get_content_w, 1, 0, 0, H_gdk_clipboard_get_content, pl_pu);
+  Xg_define_procedure(gdk_clipboard_store_async, gxg_gdk_clipboard_store_async_w, 5, 0, 0, H_gdk_clipboard_store_async, pl_tuiut);
+  Xg_define_procedure(gdk_clipboard_store_finish, gxg_gdk_clipboard_store_finish_w, 2, 1, 0, H_gdk_clipboard_store_finish, pl_pu);
+  Xg_define_procedure(gdk_clipboard_read_async, gxg_gdk_clipboard_read_async_w, 6, 0, 0, H_gdk_clipboard_read_async, pl_tuuiut);
+  Xg_define_procedure(gdk_clipboard_read_finish, gxg_gdk_clipboard_read_finish_w, 3, 1, 0, H_gdk_clipboard_read_finish, pl_pu);
+  Xg_define_procedure(gdk_clipboard_read_value_async, gxg_gdk_clipboard_read_value_async_w, 6, 0, 0, H_gdk_clipboard_read_value_async, pl_tuiiut);
+  Xg_define_procedure(gdk_clipboard_read_value_finish, gxg_gdk_clipboard_read_value_finish_w, 2, 1, 0, H_gdk_clipboard_read_value_finish, pl_pu);
+  Xg_define_procedure(gdk_clipboard_read_texture_async, gxg_gdk_clipboard_read_texture_async_w, 4, 0, 0, H_gdk_clipboard_read_texture_async, pl_tuut);
+  Xg_define_procedure(gdk_clipboard_read_texture_finish, gxg_gdk_clipboard_read_texture_finish_w, 2, 1, 0, H_gdk_clipboard_read_texture_finish, pl_pu);
+  Xg_define_procedure(gdk_clipboard_read_text_async, gxg_gdk_clipboard_read_text_async_w, 4, 0, 0, H_gdk_clipboard_read_text_async, pl_tuut);
+  Xg_define_procedure(gdk_clipboard_read_text_finish, gxg_gdk_clipboard_read_text_finish_w, 2, 1, 0, H_gdk_clipboard_read_text_finish, pl_pu);
+  Xg_define_procedure(gdk_clipboard_set_content, gxg_gdk_clipboard_set_content_w, 2, 0, 0, H_gdk_clipboard_set_content, pl_bu);
+  Xg_define_procedure(gdk_clipboard_set, gxg_gdk_clipboard_set_w, 2, 0, 0, H_gdk_clipboard_set, pl_tui);
+  Xg_define_procedure(gdk_clipboard_set_valist, gxg_gdk_clipboard_set_valist_w, 3, 0, 0, H_gdk_clipboard_set_valist, pl_tuit);
+  Xg_define_procedure(gdk_clipboard_set_value, gxg_gdk_clipboard_set_value_w, 2, 0, 0, H_gdk_clipboard_set_value, pl_tu);
+  Xg_define_procedure(gdk_clipboard_set_text, gxg_gdk_clipboard_set_text_w, 2, 0, 0, H_gdk_clipboard_set_text, pl_tus);
+  Xg_define_procedure(gdk_clipboard_set_texture, gxg_gdk_clipboard_set_texture_w, 2, 0, 0, H_gdk_clipboard_set_texture, pl_tu);
+  Xg_define_procedure(gdk_intern_mime_type, gxg_gdk_intern_mime_type_w, 1, 0, 0, H_gdk_intern_mime_type, pl_s);
+  Xg_define_procedure(gdk_content_formats_new, gxg_gdk_content_formats_new_w, 2, 0, 0, H_gdk_content_formats_new, pl_pui);
+  Xg_define_procedure(gdk_content_formats_new_for_gtype, gxg_gdk_content_formats_new_for_gtype_w, 1, 0, 0, H_gdk_content_formats_new_for_gtype, pl_pi);
+  Xg_define_procedure(gdk_content_formats_ref, gxg_gdk_content_formats_ref_w, 1, 0, 0, H_gdk_content_formats_ref, pl_pu);
+  Xg_define_procedure(gdk_content_formats_unref, gxg_gdk_content_formats_unref_w, 1, 0, 0, H_gdk_content_formats_unref, pl_tu);
+  Xg_define_procedure(gdk_content_formats_print, gxg_gdk_content_formats_print_w, 2, 0, 0, H_gdk_content_formats_print, pl_tu);
+  Xg_define_procedure(gdk_content_formats_to_string, gxg_gdk_content_formats_to_string_w, 1, 0, 0, H_gdk_content_formats_to_string, pl_su);
+  Xg_define_procedure(gdk_content_formats_get_gtypes, gxg_gdk_content_formats_get_gtypes_w, 1, 1, 0, H_gdk_content_formats_get_gtypes, pl_pu);
+  Xg_define_procedure(gdk_content_formats_get_mime_types, gxg_gdk_content_formats_get_mime_types_w, 1, 1, 0, H_gdk_content_formats_get_mime_types, pl_pu);
+  Xg_define_procedure(gdk_content_formats_union, gxg_gdk_content_formats_union_w, 2, 0, 0, H_gdk_content_formats_union, pl_pu);
+  Xg_define_procedure(gdk_content_formats_match, gxg_gdk_content_formats_match_w, 2, 0, 0, H_gdk_content_formats_match, pl_bu);
+  Xg_define_procedure(gdk_content_formats_match_gtype, gxg_gdk_content_formats_match_gtype_w, 2, 0, 0, H_gdk_content_formats_match_gtype, pl_iu);
+  Xg_define_procedure(gdk_content_formats_match_mime_type, gxg_gdk_content_formats_match_mime_type_w, 2, 0, 0, H_gdk_content_formats_match_mime_type, pl_su);
+  Xg_define_procedure(gdk_content_formats_contain_gtype, gxg_gdk_content_formats_contain_gtype_w, 2, 0, 0, H_gdk_content_formats_contain_gtype, pl_bui);
+  Xg_define_procedure(gdk_content_formats_contain_mime_type, gxg_gdk_content_formats_contain_mime_type_w, 2, 0, 0, H_gdk_content_formats_contain_mime_type, pl_bus);
+  Xg_define_procedure(*gdk_content_formats_builder_new, gxg_*gdk_content_formats_builder_new_w, 0, 0, 0, H_*gdk_content_formats_builder_new, pl_t);
+  Xg_define_procedure(gdk_content_formats_builder_free, gxg_gdk_content_formats_builder_free_w, 1, 0, 0, H_gdk_content_formats_builder_free, pl_pu);
+  Xg_define_procedure(gdk_content_formats_builder_add_formats, gxg_gdk_content_formats_builder_add_formats_w, 2, 0, 0, H_gdk_content_formats_builder_add_formats, pl_tu);
+  Xg_define_procedure(gdk_content_formats_builder_add_mime_type, gxg_gdk_content_formats_builder_add_mime_type_w, 2, 0, 0, H_gdk_content_formats_builder_add_mime_type, pl_tus);
+  Xg_define_procedure(gdk_content_formats_builder_add_gtype, gxg_gdk_content_formats_builder_add_gtype_w, 2, 0, 0, H_gdk_content_formats_builder_add_gtype, pl_tui);
+  Xg_define_procedure(gdk_content_provider_ref_formats, gxg_gdk_content_provider_ref_formats_w, 1, 0, 0, H_gdk_content_provider_ref_formats, pl_pu);
+  Xg_define_procedure(gdk_content_provider_ref_storable_formats, gxg_gdk_content_provider_ref_storable_formats_w, 1, 0, 0, H_gdk_content_provider_ref_storable_formats, pl_pu);
+  Xg_define_procedure(gdk_content_provider_content_changed, gxg_gdk_content_provider_content_changed_w, 1, 0, 0, H_gdk_content_provider_content_changed, pl_tu);
+  Xg_define_procedure(gdk_content_provider_write_mime_type_async, gxg_gdk_content_provider_write_mime_type_async_w, 7, 0, 0, H_gdk_content_provider_write_mime_type_async, pl_tusuiut);
+  Xg_define_procedure(gdk_content_provider_write_mime_type_finish, gxg_gdk_content_provider_write_mime_type_finish_w, 2, 1, 0, H_gdk_content_provider_write_mime_type_finish, pl_pu);
+  Xg_define_procedure(gdk_content_provider_get_value, gxg_gdk_content_provider_get_value_w, 2, 1, 0, H_gdk_content_provider_get_value, pl_pu);
+  Xg_define_procedure(gdk_content_serializer_get_mime_type, gxg_gdk_content_serializer_get_mime_type_w, 1, 0, 0, H_gdk_content_serializer_get_mime_type, pl_su);
+  Xg_define_procedure(gdk_content_serializer_get_value, gxg_gdk_content_serializer_get_value_w, 1, 0, 0, H_gdk_content_serializer_get_value, pl_pu);
+  Xg_define_procedure(gdk_content_serializer_get_output_stream, gxg_gdk_content_serializer_get_output_stream_w, 1, 0, 0, H_gdk_content_serializer_get_output_stream, pl_pu);
+  Xg_define_procedure(gdk_content_serializer_get_priority, gxg_gdk_content_serializer_get_priority_w, 1, 0, 0, H_gdk_content_serializer_get_priority, pl_iu);
+  Xg_define_procedure(gdk_content_serializer_get_cancellable, gxg_gdk_content_serializer_get_cancellable_w, 1, 0, 0, H_gdk_content_serializer_get_cancellable, pl_pu);
+  Xg_define_procedure(gdk_content_serializer_get_user_data, gxg_gdk_content_serializer_get_user_data_w, 1, 0, 0, H_gdk_content_serializer_get_user_data, pl_tu);
+  Xg_define_procedure(gdk_content_serializer_set_task_data, gxg_gdk_content_serializer_set_task_data_w, 3, 0, 0, H_gdk_content_serializer_set_task_data, pl_tut);
+  Xg_define_procedure(gdk_content_serializer_get_task_data, gxg_gdk_content_serializer_get_task_data_w, 1, 0, 0, H_gdk_content_serializer_get_task_data, pl_tu);
+  Xg_define_procedure(gdk_content_serializer_return_success, gxg_gdk_content_serializer_return_success_w, 1, 0, 0, H_gdk_content_serializer_return_success, pl_tu);
+  Xg_define_procedure(gdk_content_serializer_return_error, gxg_gdk_content_serializer_return_error_w, 2, 0, 0, H_gdk_content_serializer_return_error, pl_tu);
+  Xg_define_procedure(gdk_content_formats_union_serialize_gtypes, gxg_gdk_content_formats_union_serialize_gtypes_w, 1, 0, 0, H_gdk_content_formats_union_serialize_gtypes, pl_pu);
+  Xg_define_procedure(gdk_content_formats_union_serialize_mime_types, gxg_gdk_content_formats_union_serialize_mime_types_w, 1, 0, 0, H_gdk_content_formats_union_serialize_mime_types, pl_pu);
+  Xg_define_procedure(gdk_content_register_serializer, gxg_gdk_content_register_serializer_w, 5, 0, 0, H_gdk_content_register_serializer, pl_tist);
+  Xg_define_procedure(gdk_content_serialize_async, gxg_gdk_content_serialize_async_w, 7, 0, 0, H_gdk_content_serialize_async, pl_tusuiut);
+  Xg_define_procedure(gdk_content_serialize_finish, gxg_gdk_content_serialize_finish_w, 1, 1, 0, H_gdk_content_serialize_finish, pl_pu);
+  Xg_define_procedure(gdk_content_deserializer_get_mime_type, gxg_gdk_content_deserializer_get_mime_type_w, 1, 0, 0, H_gdk_content_deserializer_get_mime_type, pl_su);
+  Xg_define_procedure(gdk_content_deserializer_get_value, gxg_gdk_content_deserializer_get_value_w, 1, 0, 0, H_gdk_content_deserializer_get_value, pl_pu);
+  Xg_define_procedure(gdk_content_deserializer_get_input_stream, gxg_gdk_content_deserializer_get_input_stream_w, 1, 0, 0, H_gdk_content_deserializer_get_input_stream, pl_pu);
+  Xg_define_procedure(gdk_content_deserializer_get_priority, gxg_gdk_content_deserializer_get_priority_w, 1, 0, 0, H_gdk_content_deserializer_get_priority, pl_iu);
+  Xg_define_procedure(gdk_content_deserializer_get_cancellable, gxg_gdk_content_deserializer_get_cancellable_w, 1, 0, 0, H_gdk_content_deserializer_get_cancellable, pl_pu);
+  Xg_define_procedure(gdk_content_deserializer_get_user_data, gxg_gdk_content_deserializer_get_user_data_w, 1, 0, 0, H_gdk_content_deserializer_get_user_data, pl_tu);
+  Xg_define_procedure(gdk_content_deserializer_set_task_data, gxg_gdk_content_deserializer_set_task_data_w, 3, 0, 0, H_gdk_content_deserializer_set_task_data, pl_tut);
+  Xg_define_procedure(gdk_content_deserializer_get_task_data, gxg_gdk_content_deserializer_get_task_data_w, 1, 0, 0, H_gdk_content_deserializer_get_task_data, pl_tu);
+  Xg_define_procedure(gdk_content_deserializer_return_success, gxg_gdk_content_deserializer_return_success_w, 1, 0, 0, H_gdk_content_deserializer_return_success, pl_tu);
+  Xg_define_procedure(gdk_content_deserializer_return_error, gxg_gdk_content_deserializer_return_error_w, 2, 0, 0, H_gdk_content_deserializer_return_error, pl_tu);
+  Xg_define_procedure(gdk_content_formats_union_deserialize_gtypes, gxg_gdk_content_formats_union_deserialize_gtypes_w, 1, 0, 0, H_gdk_content_formats_union_deserialize_gtypes, pl_pu);
+  Xg_define_procedure(gdk_content_formats_union_deserialize_mime_types, gxg_gdk_content_formats_union_deserialize_mime_types_w, 1, 0, 0, H_gdk_content_formats_union_deserialize_mime_types, pl_pu);
+  Xg_define_procedure(gdk_content_register_deserializer, gxg_gdk_content_register_deserializer_w, 5, 0, 0, H_gdk_content_register_deserializer, pl_tsit);
+  Xg_define_procedure(gdk_content_deserialize_async, gxg_gdk_content_deserialize_async_w, 7, 0, 0, H_gdk_content_deserialize_async, pl_tusiiut);
+  Xg_define_procedure(gdk_content_deserialize_finish, gxg_gdk_content_deserialize_finish_w, 2, 1, 0, H_gdk_content_deserialize_finish, pl_pu);
+  Xg_define_procedure(gdk_content_provider_new_for_value, gxg_gdk_content_provider_new_for_value_w, 1, 0, 0, H_gdk_content_provider_new_for_value, pl_pu);
+  Xg_define_procedure(gdk_content_provider_new_for_bytes, gxg_gdk_content_provider_new_for_bytes_w, 2, 0, 0, H_gdk_content_provider_new_for_bytes, pl_psu);
+  Xg_define_procedure(gtk_event_controller_motion_new, gxg_gtk_event_controller_motion_new_w, 1, 0, 0, H_gtk_event_controller_motion_new, pl_pu);
+  Xg_define_procedure(gdk_texture_new_for_data, gxg_gdk_texture_new_for_data_w, 4, 0, 0, H_gdk_texture_new_for_data, pl_psi);
+  Xg_define_procedure(gdk_texture_new_for_pixbuf, gxg_gdk_texture_new_for_pixbuf_w, 1, 0, 0, H_gdk_texture_new_for_pixbuf, pl_pu);
+  Xg_define_procedure(gdk_texture_new_from_resource, gxg_gdk_texture_new_from_resource_w, 1, 0, 0, H_gdk_texture_new_from_resource, pl_ps);
+  Xg_define_procedure(gdk_texture_new_from_file, gxg_gdk_texture_new_from_file_w, 1, 1, 0, H_gdk_texture_new_from_file, pl_pu);
+  Xg_define_procedure(gdk_texture_get_width, gxg_gdk_texture_get_width_w, 1, 0, 0, H_gdk_texture_get_width, pl_iu);
+  Xg_define_procedure(gdk_texture_get_height, gxg_gdk_texture_get_height_w, 1, 0, 0, H_gdk_texture_get_height, pl_iu);
+  Xg_define_procedure(gdk_texture_download, gxg_gdk_texture_download_w, 3, 0, 0, H_gdk_texture_download, pl_tusi);
+  Xg_define_procedure(gdk_cursor_new_from_texture, gxg_gdk_cursor_new_from_texture_w, 4, 0, 0, H_gdk_cursor_new_from_texture, pl_puiiu);
+  Xg_define_procedure(gdk_cursor_new_from_name, gxg_gdk_cursor_new_from_name_w, 2, 0, 0, H_gdk_cursor_new_from_name, pl_psu);
+  Xg_define_procedure(gdk_cursor_get_fallback, gxg_gdk_cursor_get_fallback_w, 1, 0, 0, H_gdk_cursor_get_fallback, pl_pu);
+  Xg_define_procedure(gdk_cursor_get_name, gxg_gdk_cursor_get_name_w, 1, 0, 0, H_gdk_cursor_get_name, pl_su);
+  Xg_define_procedure(gdk_cursor_get_texture, gxg_gdk_cursor_get_texture_w, 1, 0, 0, H_gdk_cursor_get_texture, pl_pu);
+  Xg_define_procedure(gdk_cursor_get_hotspot_x, gxg_gdk_cursor_get_hotspot_x_w, 1, 0, 0, H_gdk_cursor_get_hotspot_x, pl_iu);
+  Xg_define_procedure(gdk_cursor_get_hotspot_y, gxg_gdk_cursor_get_hotspot_y_w, 1, 0, 0, H_gdk_cursor_get_hotspot_y, pl_iu);
+  Xg_define_procedure(gdk_device_get_position, gxg_gdk_device_get_position_w, 1, 2, 0, H_gdk_device_get_position, pl_pu);
+  Xg_define_procedure(gdk_device_get_position_double, gxg_gdk_device_get_position_double_w, 1, 2, 0, H_gdk_device_get_position_double, pl_pu);
+  Xg_define_procedure(gdk_display_get_clipboard, gxg_gdk_display_get_clipboard_w, 1, 0, 0, H_gdk_display_get_clipboard, pl_pu);
+  Xg_define_procedure(gdk_display_get_primary_clipboard, gxg_gdk_display_get_primary_clipboard_w, 1, 0, 0, H_gdk_display_get_primary_clipboard, pl_pu);
+  Xg_define_procedure(gdk_display_get_keymap, gxg_gdk_display_get_keymap_w, 1, 0, 0, H_gdk_display_get_keymap, pl_pu);
+  Xg_define_procedure(gdk_display_get_setting, gxg_gdk_display_get_setting_w, 2, 1, 0, H_gdk_display_get_setting, pl_pusu);
+  Xg_define_procedure(gdk_drag_context_get_display, gxg_gdk_drag_context_get_display_w, 1, 0, 0, H_gdk_drag_context_get_display, pl_pu);
+  Xg_define_procedure(gdk_drag_context_get_formats, gxg_gdk_drag_context_get_formats_w, 1, 0, 0, H_gdk_drag_context_get_formats, pl_pu);
+  Xg_define_procedure(gdk_drop_read_async, gxg_gdk_drop_read_async_w, 6, 0, 0, H_gdk_drop_read_async, pl_tuuiut);
+  Xg_define_procedure(gdk_drop_read_finish, gxg_gdk_drop_read_finish_w, 3, 1, 0, H_gdk_drop_read_finish, pl_pu);
+  Xg_define_procedure(gdk_drag_begin, gxg_gdk_drag_begin_w, 6, 0, 0, H_gdk_drag_begin, pl_puuugi);
+  Xg_define_procedure(gdk_monitor_is_valid, gxg_gdk_monitor_is_valid_w, 1, 0, 0, H_gdk_monitor_is_valid, pl_bu);
+  Xg_define_procedure(gdk_seat_get_master_pointers, gxg_gdk_seat_get_master_pointers_w, 2, 0, 0, H_gdk_seat_get_master_pointers, pl_pug);
+  Xg_define_procedure(gtk_drag_begin_with_coordinates, gxg_gtk_drag_begin_with_coordinates_w, 6, 0, 0, H_gtk_drag_begin_with_coordinates, pl_puuugi);
+  Xg_define_procedure(gtk_drag_source_set_icon_surface, gxg_gtk_drag_source_set_icon_surface_w, 2, 0, 0, H_gtk_drag_source_set_icon_surface, pl_tu);
+  Xg_define_procedure(gtk_entry_set_icon_from_texture, gxg_gtk_entry_set_icon_from_texture_w, 3, 0, 0, H_gtk_entry_set_icon_from_texture, pl_tugu);
+  Xg_define_procedure(gtk_entry_get_icon_texture, gxg_gtk_entry_get_icon_texture_w, 2, 0, 0, H_gtk_entry_get_icon_texture, pl_pug);
+  Xg_define_procedure(gtk_entry_set_icon_drag_source, gxg_gtk_entry_set_icon_drag_source_w, 4, 0, 0, H_gtk_entry_set_icon_drag_source, pl_tugug);
+  Xg_define_procedure(gtk_header_bar_get_show_title_buttons, gxg_gtk_header_bar_get_show_title_buttons_w, 1, 0, 0, H_gtk_header_bar_get_show_title_buttons, pl_bu);
+  Xg_define_procedure(gtk_header_bar_set_show_title_buttons, gxg_gtk_header_bar_set_show_title_buttons_w, 2, 0, 0, H_gtk_header_bar_set_show_title_buttons, pl_tub);
+  Xg_define_procedure(gtk_icon_theme_get_for_display, gxg_gtk_icon_theme_get_for_display_w, 1, 0, 0, H_gtk_icon_theme_get_for_display, pl_pu);
+  Xg_define_procedure(gtk_icon_theme_set_display, gxg_gtk_icon_theme_set_display_w, 2, 0, 0, H_gtk_icon_theme_set_display, pl_tu);
+  Xg_define_procedure(gtk_icon_info_load_texture, gxg_gtk_icon_info_load_texture_w, 1, 0, 0, H_gtk_icon_info_load_texture, pl_pu);
+  Xg_define_procedure(gtk_image_new_from_texture, gxg_gtk_image_new_from_texture_w, 1, 0, 0, H_gtk_image_new_from_texture, pl_pu);
+  Xg_define_procedure(gtk_image_new_from_icon_name, gxg_gtk_image_new_from_icon_name_w, 1, 0, 0, H_gtk_image_new_from_icon_name, pl_ps);
+  Xg_define_procedure(gtk_image_new_from_gicon, gxg_gtk_image_new_from_gicon_w, 1, 0, 0, H_gtk_image_new_from_gicon, pl_pu);
+  Xg_define_procedure(gtk_image_set_from_texture, gxg_gtk_image_set_from_texture_w, 2, 0, 0, H_gtk_image_set_from_texture, pl_tu);
+  Xg_define_procedure(gtk_image_set_from_icon_name, gxg_gtk_image_set_from_icon_name_w, 2, 0, 0, H_gtk_image_set_from_icon_name, pl_tus);
+  Xg_define_procedure(gtk_image_set_from_gicon, gxg_gtk_image_set_from_gicon_w, 2, 0, 0, H_gtk_image_set_from_gicon, pl_tu);
+  Xg_define_procedure(gtk_image_set_icon_size, gxg_gtk_image_set_icon_size_w, 2, 0, 0, H_gtk_image_set_icon_size, pl_tug);
+  Xg_define_procedure(gtk_image_get_surface, gxg_gtk_image_get_surface_w, 1, 0, 0, H_gtk_image_get_surface, pl_pu);
+  Xg_define_procedure(gtk_image_get_texture, gxg_gtk_image_get_texture_w, 1, 0, 0, H_gtk_image_get_texture, pl_pu);
+  Xg_define_procedure(gtk_image_get_icon_size, gxg_gtk_image_get_icon_size_w, 1, 0, 0, H_gtk_image_get_icon_size, pl_gu);
+  Xg_define_procedure(gtk_image_get_icon_name, gxg_gtk_image_get_icon_name_w, 1, 0, 0, H_gtk_image_get_icon_name, pl_su);
+  Xg_define_procedure(gtk_image_get_gicon, gxg_gtk_image_get_gicon_w, 1, 0, 0, H_gtk_image_get_gicon, pl_pu);
+  Xg_define_procedure(gtk_invisible_new_for_display, gxg_gtk_invisible_new_for_display_w, 1, 0, 0, H_gtk_invisible_new_for_display, pl_pu);
+  Xg_define_procedure(gtk_invisible_set_display, gxg_gtk_invisible_set_display_w, 2, 0, 0, H_gtk_invisible_set_display, pl_tu);
+  Xg_define_procedure(GtkInvisible*, gxg_GtkInvisible*_w, 0, 0, 0, H_GtkInvisible*, pl_p);
+  Xg_define_procedure(gtk_menu_set_display, gxg_gtk_menu_set_display_w, 2, 0, 0, H_gtk_menu_set_display, pl_tu);
+  Xg_define_procedure(gtk_render_icon, gxg_gtk_render_icon_w, 5, 0, 0, H_gtk_render_icon, pl_tuuur);
+  Xg_define_procedure(gtk_content_formats_add_text_targets, gxg_gtk_content_formats_add_text_targets_w, 1, 0, 0, H_gtk_content_formats_add_text_targets, pl_pu);
+  Xg_define_procedure(gtk_content_formats_add_image_targets, gxg_gtk_content_formats_add_image_targets_w, 2, 0, 0, H_gtk_content_formats_add_image_targets, pl_pub);
+  Xg_define_procedure(gtk_content_formats_add_uri_targets, gxg_gtk_content_formats_add_uri_targets_w, 1, 0, 0, H_gtk_content_formats_add_uri_targets, pl_pu);
+  Xg_define_procedure(gtk_selection_data_set, gxg_gtk_selection_data_set_w, 5, 0, 0, H_gtk_selection_data_set, pl_tutisi);
+  Xg_define_procedure(gtk_selection_data_set_text, gxg_gtk_selection_data_set_text_w, 3, 0, 0, H_gtk_selection_data_set_text, pl_busi);
+  Xg_define_procedure(gtk_selection_data_get_text, gxg_gtk_selection_data_get_text_w, 1, 0, 0, H_gtk_selection_data_get_text, pl_su);
+  Xg_define_procedure(gtk_selection_data_set_pixbuf, gxg_gtk_selection_data_set_pixbuf_w, 2, 0, 0, H_gtk_selection_data_set_pixbuf, pl_bu);
+  Xg_define_procedure(gtk_selection_data_get_surface, gxg_gtk_selection_data_get_surface_w, 1, 0, 0, H_gtk_selection_data_get_surface, pl_pu);
+  Xg_define_procedure(gtk_selection_data_set_surface, gxg_gtk_selection_data_set_surface_w, 2, 0, 0, H_gtk_selection_data_set_surface, pl_bu);
+  Xg_define_procedure(gtk_selection_data_get_pixbuf, gxg_gtk_selection_data_get_pixbuf_w, 1, 0, 0, H_gtk_selection_data_get_pixbuf, pl_pu);
+  Xg_define_procedure(gtk_selection_data_set_texture, gxg_gtk_selection_data_set_texture_w, 2, 0, 0, H_gtk_selection_data_set_texture, pl_bu);
+  Xg_define_procedure(gtk_selection_data_get_texture, gxg_gtk_selection_data_get_texture_w, 1, 0, 0, H_gtk_selection_data_get_texture, pl_pu);
+  Xg_define_procedure(gtk_selection_data_set_uris, gxg_gtk_selection_data_set_uris_w, 2, 0, 0, H_gtk_selection_data_set_uris, pl_bu);
+  Xg_define_procedure(gtk_selection_data_get_uris, gxg_gtk_selection_data_get_uris_w, 1, 0, 0, H_gtk_selection_data_get_uris, pl_pu);
+  Xg_define_procedure(gtk_selection_data_get_targets, gxg_gtk_selection_data_get_targets_w, 1, 2, 0, H_gtk_selection_data_get_targets, pl_pu);
+  Xg_define_procedure(gtk_selection_data_targets_include_text, gxg_gtk_selection_data_targets_include_text_w, 1, 0, 0, H_gtk_selection_data_targets_include_text, pl_bu);
+  Xg_define_procedure(gtk_selection_data_targets_include_uri, gxg_gtk_selection_data_targets_include_uri_w, 1, 0, 0, H_gtk_selection_data_targets_include_uri, pl_bu);
+  Xg_define_procedure(gtk_targets_include_text, gxg_gtk_targets_include_text_w, 2, 0, 0, H_gtk_targets_include_text, pl_bui);
+  Xg_define_procedure(gtk_targets_include_image, gxg_gtk_targets_include_image_w, 3, 0, 0, H_gtk_targets_include_image, pl_buib);
+  Xg_define_procedure(gtk_targets_include_uri, gxg_gtk_targets_include_uri_w, 2, 0, 0, H_gtk_targets_include_uri, pl_bui);
+  Xg_define_procedure(gtk_settings_get_for_display, gxg_gtk_settings_get_for_display_w, 1, 0, 0, H_gtk_settings_get_for_display, pl_pu);
+  Xg_define_procedure(gtk_style_context_add_provider_for_display, gxg_gtk_style_context_add_provider_for_display_w, 3, 0, 0, H_gtk_style_context_add_provider_for_display, pl_tuui);
+  Xg_define_procedure(gtk_style_context_remove_provider_for_display, gxg_gtk_style_context_remove_provider_for_display_w, 2, 0, 0, H_gtk_style_context_remove_provider_for_display, pl_tu);
+  Xg_define_procedure(gtk_style_context_set_display, gxg_gtk_style_context_set_display_w, 2, 0, 0, H_gtk_style_context_set_display, pl_tu);
+  Xg_define_procedure(gtk_style_context_get_display, gxg_gtk_style_context_get_display_w, 1, 0, 0, H_gtk_style_context_get_display, pl_pu);
+  Xg_define_procedure(gtk_style_context_reset_widgets, gxg_gtk_style_context_reset_widgets_w, 1, 0, 0, H_gtk_style_context_reset_widgets, pl_tu);
+  Xg_define_procedure(gtk_text_buffer_insert_texture, gxg_gtk_text_buffer_insert_texture_w, 3, 0, 0, H_gtk_text_buffer_insert_texture, pl_tu);
+  Xg_define_procedure(gtk_text_buffer_add_selection_clipboard, gxg_gtk_text_buffer_add_selection_clipboard_w, 2, 0, 0, H_gtk_text_buffer_add_selection_clipboard, pl_tu);
+  Xg_define_procedure(gtk_text_buffer_remove_selection_clipboard, gxg_gtk_text_buffer_remove_selection_clipboard_w, 2, 0, 0, H_gtk_text_buffer_remove_selection_clipboard, pl_tu);
+  Xg_define_procedure(gtk_text_buffer_cut_clipboard, gxg_gtk_text_buffer_cut_clipboard_w, 3, 0, 0, H_gtk_text_buffer_cut_clipboard, pl_tuub);
+  Xg_define_procedure(gtk_text_buffer_copy_clipboard, gxg_gtk_text_buffer_copy_clipboard_w, 2, 0, 0, H_gtk_text_buffer_copy_clipboard, pl_tu);
+  Xg_define_procedure(gtk_text_buffer_paste_clipboard, gxg_gtk_text_buffer_paste_clipboard_w, 2, 0, 0, H_gtk_text_buffer_paste_clipboard, pl_tu);
+  Xg_define_procedure(override_location, gxg_override_location_w, 1, 0, 0, H_override_location, pl_pb);
+  Xg_define_procedure(gtk_tool_palette_get_drag_target_item, gxg_gtk_tool_palette_get_drag_target_item_w, 0, 0, 0, H_gtk_tool_palette_get_drag_target_item, pl_s);
+  Xg_define_procedure(gtk_tool_palette_get_drag_target_group, gxg_gtk_tool_palette_get_drag_target_group_w, 0, 0, 0, H_gtk_tool_palette_get_drag_target_group, pl_s);
+  Xg_define_procedure(gtk_tooltip_set_icon, gxg_gtk_tooltip_set_icon_w, 2, 0, 0, H_gtk_tooltip_set_icon, pl_tu);
+  Xg_define_procedure(gtk_tooltip_set_icon_from_icon_name, gxg_gtk_tooltip_set_icon_from_icon_name_w, 2, 0, 0, H_gtk_tooltip_set_icon_from_icon_name, pl_tus);
+  Xg_define_procedure(gtk_tooltip_set_icon_from_gicon, gxg_gtk_tooltip_set_icon_from_gicon_w, 2, 0, 0, H_gtk_tooltip_set_icon_from_gicon, pl_tu);
+  Xg_define_procedure(gtk_tree_view_enable_model_drag_source, gxg_gtk_tree_view_enable_model_drag_source_w, 4, 0, 0, H_gtk_tree_view_enable_model_drag_source, pl_tugug);
+  Xg_define_procedure(gtk_tree_view_enable_model_drag_dest, gxg_gtk_tree_view_enable_model_drag_dest_w, 3, 0, 0, H_gtk_tree_view_enable_model_drag_dest, pl_tuug);
+  Xg_define_procedure(gtk_widget_get_width, gxg_gtk_widget_get_width_w, 1, 0, 0, H_gtk_widget_get_width, pl_iu);
+  Xg_define_procedure(gtk_widget_get_height, gxg_gtk_widget_get_height_w, 1, 0, 0, H_gtk_widget_get_height, pl_iu);
+  Xg_define_procedure(gtk_widget_get_clipboard, gxg_gtk_widget_get_clipboard_w, 1, 0, 0, H_gtk_widget_get_clipboard, pl_pu);
+  Xg_define_procedure(gtk_widget_get_primary_clipboard, gxg_gtk_widget_get_primary_clipboard_w, 1, 0, 0, H_gtk_widget_get_primary_clipboard, pl_pu);
+  Xg_define_procedure(gtk_widget_contains, gxg_gtk_widget_contains_w, 3, 0, 0, H_gtk_widget_contains, pl_bur);
+  Xg_define_procedure(gtk_widget_pick, gxg_gtk_widget_pick_w, 3, 0, 0, H_gtk_widget_pick, pl_pur);
+  Xg_define_procedure(gtk_widget_set_cursor, gxg_gtk_widget_set_cursor_w, 2, 0, 0, H_gtk_widget_set_cursor, pl_tu);
+  Xg_define_procedure(gtk_widget_set_cursor_from_name, gxg_gtk_widget_set_cursor_from_name_w, 2, 0, 0, H_gtk_widget_set_cursor_from_name, pl_tus);
+  Xg_define_procedure(gtk_widget_get_cursor, gxg_gtk_widget_get_cursor_w, 1, 0, 0, H_gtk_widget_get_cursor, pl_pu);
+  Xg_define_procedure(gtk_window_set_display, gxg_gtk_window_set_display_w, 2, 0, 0, H_gtk_window_set_display, pl_tu);
+  Xg_define_procedure(gtk_window_set_icon, gxg_gtk_window_set_icon_w, 2, 0, 0, H_gtk_window_set_icon, pl_tu);
+  Xg_define_procedure(gtk_window_get_icon, gxg_gtk_window_get_icon_w, 1, 0, 0, H_gtk_window_get_icon, pl_pu);
+  Xg_define_procedure(gtk_window_set_default_icon, gxg_gtk_window_set_default_icon_w, 1, 0, 0, H_gtk_window_set_default_icon, pl_tu);
+  Xg_define_procedure(gtk_window_fullscreen_on_monitor, gxg_gtk_window_fullscreen_on_monitor_w, 2, 0, 0, H_gtk_window_fullscreen_on_monitor, pl_tu);
+  Xg_define_procedure(gtk_text_iter_get_texture, gxg_gtk_text_iter_get_texture_w, 1, 0, 0, H_gtk_text_iter_get_texture, pl_pu);
+  Xg_define_procedure(gtk_icon_view_enable_model_drag_source, gxg_gtk_icon_view_enable_model_drag_source_w, 4, 0, 0, H_gtk_icon_view_enable_model_drag_source, pl_tugug);
+  Xg_define_procedure(gtk_icon_view_enable_model_drag_dest, gxg_gtk_icon_view_enable_model_drag_dest_w, 3, 0, 0, H_gtk_icon_view_enable_model_drag_dest, pl_tuug);
+  Xg_define_procedure(gtk_about_dialog_get_logo, gxg_gtk_about_dialog_get_logo_w, 1, 0, 0, H_gtk_about_dialog_get_logo, pl_pu);
+  Xg_define_procedure(gtk_about_dialog_set_logo, gxg_gtk_about_dialog_set_logo_w, 2, 0, 0, H_gtk_about_dialog_set_logo, pl_tu);
+  Xg_define_procedure(gtk_button_new_from_icon_name, gxg_gtk_button_new_from_icon_name_w, 1, 0, 0, H_gtk_button_new_from_icon_name, pl_ps);
+  Xg_define_procedure(gtk_cell_view_new_with_texture, gxg_gtk_cell_view_new_with_texture_w, 1, 0, 0, H_gtk_cell_view_new_with_texture, pl_pu);
+  Xg_define_procedure(gtk_drag_finish, gxg_gtk_drag_finish_w, 3, 0, 0, H_gtk_drag_finish, pl_tubi);
+  Xg_define_procedure(gtk_drag_set_icon_pixbuf, gxg_gtk_drag_set_icon_pixbuf_w, 4, 0, 0, H_gtk_drag_set_icon_pixbuf, pl_tuui);
+  Xg_define_procedure(gtk_drag_dest_set, gxg_gtk_drag_dest_set_w, 4, 0, 0, H_gtk_drag_dest_set, pl_tugug);
+  Xg_define_procedure(gtk_drag_dest_find_target, gxg_gtk_drag_dest_find_target_w, 3, 0, 0, H_gtk_drag_dest_find_target, pl_su);
+  Xg_define_procedure(gtk_drag_dest_get_target_list, gxg_gtk_drag_dest_get_target_list_w, 1, 0, 0, H_gtk_drag_dest_get_target_list, pl_pu);
+  Xg_define_procedure(gtk_drag_dest_set_target_list, gxg_gtk_drag_dest_set_target_list_w, 2, 0, 0, H_gtk_drag_dest_set_target_list, pl_tu);
+  Xg_define_procedure(gtk_drag_source_set, gxg_gtk_drag_source_set_w, 4, 0, 0, H_gtk_drag_source_set, pl_tugug);
+  Xg_define_procedure(gtk_drag_source_get_target_list, gxg_gtk_drag_source_get_target_list_w, 1, 0, 0, H_gtk_drag_source_get_target_list, pl_pu);
+  Xg_define_procedure(gtk_drag_source_set_target_list, gxg_gtk_drag_source_set_target_list_w, 2, 0, 0, H_gtk_drag_source_set_target_list, pl_tu);
+  Xg_define_procedure(gtk_scale_button_new, gxg_gtk_scale_button_new_w, 4, 0, 0, H_gtk_scale_button_new, pl_prrru);
 #endif
 
   Xg_define_procedure(cairo_create, gxg_cairo_create_w, 1, 0, 0, H_cairo_create, pl_pu);
@@ -43842,8 +43473,6 @@ static void define_functions(void)
   Xg_define_procedure(GDK_KEYMAP, gxg_GDK_KEYMAP_w, 1, 0, 0, "(GDK_KEYMAP obj) casts obj to GDK_KEYMAP", pl_bpt);
   Xg_define_procedure(GDK_WINDOW, gxg_GDK_WINDOW_w, 1, 0, 0, "(GDK_WINDOW obj) casts obj to GDK_WINDOW", pl_bpt);
   Xg_define_procedure(GDK_PIXBUF, gxg_GDK_PIXBUF_w, 1, 0, 0, "(GDK_PIXBUF obj) casts obj to GDK_PIXBUF", pl_bpt);
-  Xg_define_procedure(GDK_PIXBUF_ANIMATION, gxg_GDK_PIXBUF_ANIMATION_w, 1, 0, 0, "(GDK_PIXBUF_ANIMATION obj) casts obj to GDK_PIXBUF_ANIMATION", pl_bpt);
-  Xg_define_procedure(GDK_PIXBUF_ANIMATION_ITER, gxg_GDK_PIXBUF_ANIMATION_ITER_w, 1, 0, 0, "(GDK_PIXBUF_ANIMATION_ITER obj) casts obj to GDK_PIXBUF_ANIMATION_ITER", pl_bpt);
   Xg_define_procedure(GTK_ACCEL_GROUP, gxg_GTK_ACCEL_GROUP_w, 1, 0, 0, "(GTK_ACCEL_GROUP obj) casts obj to GTK_ACCEL_GROUP", pl_bpt);
   Xg_define_procedure(GTK_ACCEL_LABEL, gxg_GTK_ACCEL_LABEL_w, 1, 0, 0, "(GTK_ACCEL_LABEL obj) casts obj to GTK_ACCEL_LABEL", pl_bpt);
   Xg_define_procedure(GTK_ACCESSIBLE, gxg_GTK_ACCESSIBLE_w, 1, 0, 0, "(GTK_ACCESSIBLE obj) casts obj to GTK_ACCESSIBLE", pl_bpt);
@@ -43921,7 +43550,6 @@ static void define_functions(void)
   Xg_define_procedure(PANGO_FONT_MAP, gxg_PANGO_FONT_MAP_w, 1, 0, 0, "(PANGO_FONT_MAP obj) casts obj to PANGO_FONT_MAP", pl_bpt);
   Xg_define_procedure(PANGO_LAYOUT, gxg_PANGO_LAYOUT_w, 1, 0, 0, "(PANGO_LAYOUT obj) casts obj to PANGO_LAYOUT", pl_bpt);
   Xg_define_procedure(G_OBJECT, gxg_G_OBJECT_w, 1, 0, 0, "(G_OBJECT obj) casts obj to G_OBJECT", pl_bpt);
-  Xg_define_procedure(GDK_SCREEN, gxg_GDK_SCREEN_w, 1, 0, 0, "(GDK_SCREEN obj) casts obj to GDK_SCREEN", pl_bpt);
   Xg_define_procedure(GDK_DISPLAY_OBJECT, gxg_GDK_DISPLAY_OBJECT_w, 1, 0, 0, "(GDK_DISPLAY_OBJECT obj) casts obj to GDK_DISPLAY_OBJECT", pl_bpt);
   Xg_define_procedure(GDK_EVENT, gxg_GDK_EVENT_w, 1, 0, 0, "(GDK_EVENT obj) casts obj to GDK_EVENT", pl_bpt);
   Xg_define_procedure(GDK_EVENT_ANY, gxg_GDK_EVENT_ANY_w, 1, 0, 0, "(GDK_EVENT_ANY obj) casts obj to GDK_EVENT_ANY", pl_bpt);
@@ -43954,7 +43582,6 @@ static void define_functions(void)
   Xg_define_procedure(GTK_TOGGLE_TOOL_BUTTON, gxg_GTK_TOGGLE_TOOL_BUTTON_w, 1, 0, 0, "(GTK_TOGGLE_TOOL_BUTTON obj) casts obj to GTK_TOGGLE_TOOL_BUTTON", pl_bpt);
   Xg_define_procedure(GTK_FILE_FILTER, gxg_GTK_FILE_FILTER_w, 1, 0, 0, "(GTK_FILE_FILTER obj) casts obj to GTK_FILE_FILTER", pl_bpt);
   Xg_define_procedure(GTK_CELL_LAYOUT, gxg_GTK_CELL_LAYOUT_w, 1, 0, 0, "(GTK_CELL_LAYOUT obj) casts obj to GTK_CELL_LAYOUT", pl_bpt);
-  Xg_define_procedure(GTK_CLIPBOARD, gxg_GTK_CLIPBOARD_w, 1, 0, 0, "(GTK_CLIPBOARD obj) casts obj to GTK_CLIPBOARD", pl_bpt);
   Xg_define_procedure(GTK_FILE_CHOOSER, gxg_GTK_FILE_CHOOSER_w, 1, 0, 0, "(GTK_FILE_CHOOSER obj) casts obj to GTK_FILE_CHOOSER", pl_bpt);
   Xg_define_procedure(GTK_ICON_THEME, gxg_GTK_ICON_THEME_w, 1, 0, 0, "(GTK_ICON_THEME obj) casts obj to GTK_ICON_THEME", pl_bpt);
   Xg_define_procedure(GTK_TOOL_BUTTON, gxg_GTK_TOOL_BUTTON_w, 1, 0, 0, "(GTK_TOOL_BUTTON obj) casts obj to GTK_TOOL_BUTTON", pl_bpt);
@@ -44078,11 +43705,18 @@ static void define_functions(void)
   Xg_define_procedure(GTK_CENTER_BOX, gxg_GTK_CENTER_BOX_w, 1, 0, 0, "(GTK_CENTER_BOX obj) casts obj to GTK_CENTER_BOX", pl_bpt);
   Xg_define_procedure(GTK_EMOJI_CHOOSER, gxg_GTK_EMOJI_CHOOSER_w, 1, 0, 0, "(GTK_EMOJI_CHOOSER obj) casts obj to GTK_EMOJI_CHOOSER", pl_bpt);
   Xg_define_procedure(GTK_EVENT_CONTROLLER_SCROLL, gxg_GTK_EVENT_CONTROLLER_SCROLL_w, 1, 0, 0, "(GTK_EVENT_CONTROLLER_SCROLL obj) casts obj to GTK_EVENT_CONTROLLER_SCROLL", pl_bpt);
+  Xg_define_procedure(GTK_EVENT_CONTROLLER_MOTION, gxg_GTK_EVENT_CONTROLLER_MOTION_w, 1, 0, 0, "(GTK_EVENT_CONTROLLER_MOTION obj) casts obj to GTK_EVENT_CONTROLLER_MOTION", pl_bpt);
+  Xg_define_procedure(GDK_TEXTURE, gxg_GDK_TEXTURE_w, 1, 0, 0, "(GDK_TEXTURE obj) casts obj to GDK_TEXTURE", pl_bpt);
+  Xg_define_procedure(GDK_EVENT, gxg_GDK_EVENT_w, 1, 0, 0, "(GDK_EVENT obj) casts obj to GDK_EVENT", pl_bpt);
+  Xg_define_procedure(GDK_APP_LAUNCH_CONTEXT, gxg_GDK_APP_LAUNCH_CONTEXT_w, 1, 0, 0, "(GDK_APP_LAUNCH_CONTEXT obj) casts obj to GDK_APP_LAUNCH_CONTEXT", pl_bpt);
+  Xg_define_procedure(GDK_CLIPBOARD, gxg_GDK_CLIPBOARD_w, 1, 0, 0, "(GDK_CLIPBOARD obj) casts obj to GDK_CLIPBOARD", pl_bpt);
+  Xg_define_procedure(GDK_CONTENT_PROVIDER, gxg_GDK_CONTENT_PROVIDER_w, 1, 0, 0, "(GDK_CONTENT_PROVIDER obj) casts obj to GDK_CONTENT_PROVIDER", pl_bpt);
+  Xg_define_procedure(GDK_CONTENT_SERIALIZER, gxg_GDK_CONTENT_SERIALIZER_w, 1, 0, 0, "(GDK_CONTENT_SERIALIZER obj) casts obj to GDK_CONTENT_SERIALIZER", pl_bpt);
+  Xg_define_procedure(GDK_CONTENT_DESERIALIZER, gxg_GDK_CONTENT_DESERIALIZER_w, 1, 0, 0, "(GDK_CONTENT_DESERIALIZER obj) casts obj to GDK_CONTENT_DESERIALIZER", pl_bpt);
 #endif
 
   Xg_define_procedure(c-array->list, c_array_to_xen_list_w, 2, 0, 0, NULL, NULL);
   Xg_define_procedure(list->c-array, xen_list_to_c_array_w, 2, 0, 0, NULL, NULL);
-  Xg_define_procedure(make-target-entry, gxg_make_target_entry_w, 1, 0, 0, H_make_target_entry, NULL);
   Xg_define_procedure(g_object_get, xg_object_get_w, 3, 0, 0, NULL, NULL);
   Xg_define_procedure(g_object_set, xg_object_set_w, 3, 0, 0, NULL, NULL);
   Xg_define_procedure(gtk_event_keyval, xg_gtk_event_keyval_w, 1, 0, 0, NULL, NULL);
@@ -44096,8 +43730,6 @@ static void define_functions(void)
   Xg_define_procedure(GDK_IS_KEYMAP, gxg_GDK_IS_KEYMAP_w, 1, 0, 0, "(GDK_IS_KEYMAP obj): " PROC_TRUE " if obj is a GdkKeymap*", pl_bt);
   Xg_define_procedure(GDK_IS_WINDOW, gxg_GDK_IS_WINDOW_w, 1, 0, 0, "(GDK_IS_WINDOW obj): " PROC_TRUE " if obj is a GdkWindow*", pl_bt);
   Xg_define_procedure(GDK_IS_PIXBUF, gxg_GDK_IS_PIXBUF_w, 1, 0, 0, "(GDK_IS_PIXBUF obj): " PROC_TRUE " if obj is a GdkPixbuf*", pl_bt);
-  Xg_define_procedure(GDK_IS_PIXBUF_ANIMATION, gxg_GDK_IS_PIXBUF_ANIMATION_w, 1, 0, 0, "(GDK_IS_PIXBUF_ANIMATION obj): " PROC_TRUE " if obj is a GdkPixbufAnimation*", pl_bt);
-  Xg_define_procedure(GDK_IS_PIXBUF_ANIMATION_ITER, gxg_GDK_IS_PIXBUF_ANIMATION_ITER_w, 1, 0, 0, "(GDK_IS_PIXBUF_ANIMATION_ITER obj): " PROC_TRUE " if obj is a GdkPixbufAnimationIter*", pl_bt);
   Xg_define_procedure(GTK_IS_ACCEL_GROUP, gxg_GTK_IS_ACCEL_GROUP_w, 1, 0, 0, "(GTK_IS_ACCEL_GROUP obj): " PROC_TRUE " if obj is a GtkAccelGroup*", pl_bt);
   Xg_define_procedure(GTK_IS_ACCEL_LABEL, gxg_GTK_IS_ACCEL_LABEL_w, 1, 0, 0, "(GTK_IS_ACCEL_LABEL obj): " PROC_TRUE " if obj is a GtkAccelLabel*", pl_bt);
   Xg_define_procedure(GTK_IS_ACCESSIBLE, gxg_GTK_IS_ACCESSIBLE_w, 1, 0, 0, "(GTK_IS_ACCESSIBLE obj): " PROC_TRUE " if obj is a GtkAccessible*", pl_bt);
@@ -44175,7 +43807,6 @@ static void define_functions(void)
   Xg_define_procedure(PANGO_IS_FONT_MAP, gxg_PANGO_IS_FONT_MAP_w, 1, 0, 0, "(PANGO_IS_FONT_MAP obj): " PROC_TRUE " if obj is a PangoFontMap*", pl_bt);
   Xg_define_procedure(PANGO_IS_LAYOUT, gxg_PANGO_IS_LAYOUT_w, 1, 0, 0, "(PANGO_IS_LAYOUT obj): " PROC_TRUE " if obj is a PangoLayout*", pl_bt);
   Xg_define_procedure(G_IS_OBJECT, gxg_G_IS_OBJECT_w, 1, 0, 0, "(G_IS_OBJECT obj): " PROC_TRUE " if obj is a GObject*", pl_bt);
-  Xg_define_procedure(GDK_IS_SCREEN, gxg_GDK_IS_SCREEN_w, 1, 0, 0, "(GDK_IS_SCREEN obj): " PROC_TRUE " if obj is a GdkScreen*", pl_bt);
   Xg_define_procedure(GDK_IS_DISPLAY, gxg_GDK_IS_DISPLAY_w, 1, 0, 0, "(GDK_IS_DISPLAY obj): " PROC_TRUE " if obj is a GdkDisplay*", pl_bt);
   Xg_define_procedure(GTK_IS_FILE_CHOOSER_DIALOG, gxg_GTK_IS_FILE_CHOOSER_DIALOG_w, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_DIALOG obj): " PROC_TRUE " if obj is a GtkFileChooserDialog*", pl_bt);
   Xg_define_procedure(GTK_IS_FILE_CHOOSER_WIDGET, gxg_GTK_IS_FILE_CHOOSER_WIDGET_w, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_WIDGET obj): " PROC_TRUE " if obj is a GtkFileChooserWidget*", pl_bt);
@@ -44190,7 +43821,6 @@ static void define_functions(void)
   Xg_define_procedure(GTK_IS_TOGGLE_TOOL_BUTTON, gxg_GTK_IS_TOGGLE_TOOL_BUTTON_w, 1, 0, 0, "(GTK_IS_TOGGLE_TOOL_BUTTON obj): " PROC_TRUE " if obj is a GtkToggleToolButton*", pl_bt);
   Xg_define_procedure(GTK_IS_FILE_FILTER, gxg_GTK_IS_FILE_FILTER_w, 1, 0, 0, "(GTK_IS_FILE_FILTER obj): " PROC_TRUE " if obj is a GtkFileFilter*", pl_bt);
   Xg_define_procedure(GTK_IS_CELL_LAYOUT, gxg_GTK_IS_CELL_LAYOUT_w, 1, 0, 0, "(GTK_IS_CELL_LAYOUT obj): " PROC_TRUE " if obj is a GtkCellLayout*", pl_bt);
-  Xg_define_procedure(GTK_IS_CLIPBOARD, gxg_GTK_IS_CLIPBOARD_w, 1, 0, 0, "(GTK_IS_CLIPBOARD obj): " PROC_TRUE " if obj is a GtkClipboard*", pl_bt);
   Xg_define_procedure(GTK_IS_FILE_CHOOSER, gxg_GTK_IS_FILE_CHOOSER_w, 1, 0, 0, "(GTK_IS_FILE_CHOOSER obj): " PROC_TRUE " if obj is a GtkFileChooser*", pl_bt);
   Xg_define_procedure(GTK_IS_ICON_THEME, gxg_GTK_IS_ICON_THEME_w, 1, 0, 0, "(GTK_IS_ICON_THEME obj): " PROC_TRUE " if obj is a GtkIconTheme*", pl_bt);
   Xg_define_procedure(GTK_IS_TOOL_BUTTON, gxg_GTK_IS_TOOL_BUTTON_w, 1, 0, 0, "(GTK_IS_TOOL_BUTTON obj): " PROC_TRUE " if obj is a GtkToolButton*", pl_bt);
@@ -44313,6 +43943,14 @@ static void define_functions(void)
   Xg_define_procedure(GTK_IS_CENTER_BOX, gxg_GTK_IS_CENTER_BOX_w, 1, 0, 0, "(GTK_IS_CENTER_BOX obj): " PROC_TRUE " if obj is a GtkCenterBox*", pl_bt);
   Xg_define_procedure(GTK_IS_EMOJI_CHOOSER, gxg_GTK_IS_EMOJI_CHOOSER_w, 1, 0, 0, "(GTK_IS_EMOJI_CHOOSER obj): " PROC_TRUE " if obj is a GtkEmojiChooser*", pl_bt);
   Xg_define_procedure(GTK_IS_EVENT_CONTROLLER_SCROLL, gxg_GTK_IS_EVENT_CONTROLLER_SCROLL_w, 1, 0, 0, "(GTK_IS_EVENT_CONTROLLER_SCROLL obj): " PROC_TRUE " if obj is a GtkEventControllerScroll*", pl_bt);
+  Xg_define_procedure(GTK_IS_EVENT_CONTROLLER_MOTION, gxg_GTK_IS_EVENT_CONTROLLER_MOTION_w, 1, 0, 0, "(GTK_IS_EVENT_CONTROLLER_MOTION obj): " PROC_TRUE " if obj is a GtkEventControllerMotion*", pl_bt);
+  Xg_define_procedure(GDK_IS_TEXTURE, gxg_GDK_IS_TEXTURE_w, 1, 0, 0, "(GDK_IS_TEXTURE obj): " PROC_TRUE " if obj is a GdkTexture*", pl_bt);
+  Xg_define_procedure(GDK_IS_EVENT, gxg_GDK_IS_EVENT_w, 1, 0, 0, "(GDK_IS_EVENT obj): " PROC_TRUE " if obj is a GdkEvent*", pl_bt);
+  Xg_define_procedure(GDK_IS_APP_LAUNCH_CONTEXT, gxg_GDK_IS_APP_LAUNCH_CONTEXT_w, 1, 0, 0, "(GDK_IS_APP_LAUNCH_CONTEXT obj): " PROC_TRUE " if obj is a GdkAppLaunchContext*", pl_bt);
+  Xg_define_procedure(GDK_IS_CLIPBOARD, gxg_GDK_IS_CLIPBOARD_w, 1, 0, 0, "(GDK_IS_CLIPBOARD obj): " PROC_TRUE " if obj is a GdkClipboard*", pl_bt);
+  Xg_define_procedure(GDK_IS_CONTENT_PROVIDER, gxg_GDK_IS_CONTENT_PROVIDER_w, 1, 0, 0, "(GDK_IS_CONTENT_PROVIDER obj): " PROC_TRUE " if obj is a GdkContentProvider*", pl_bt);
+  Xg_define_procedure(GDK_IS_CONTENT_SERIALIZER, gxg_GDK_IS_CONTENT_SERIALIZER_w, 1, 0, 0, "(GDK_IS_CONTENT_SERIALIZER obj): " PROC_TRUE " if obj is a GdkContentSerializer*", pl_bt);
+  Xg_define_procedure(GDK_IS_CONTENT_DESERIALIZER, gxg_GDK_IS_CONTENT_DESERIALIZER_w, 1, 0, 0, "(GDK_IS_CONTENT_DESERIALIZER obj): " PROC_TRUE " if obj is a GdkContentDeserializer*", pl_bt);
 #endif
 
 #if GTK_CHECK_VERSION(3, 0, 0)
@@ -44353,84 +43991,6 @@ static void define_integers(void)
   define_integer(G_SIGNAL_MATCH_FUNC);
   define_integer(G_SIGNAL_MATCH_DATA);
   define_integer(G_SIGNAL_MATCH_UNBLOCKED);
-  define_integer(GDK_X_CURSOR);
-  define_integer(GDK_ARROW);
-  define_integer(GDK_BASED_ARROW_DOWN);
-  define_integer(GDK_BASED_ARROW_UP);
-  define_integer(GDK_BOAT);
-  define_integer(GDK_BOGOSITY);
-  define_integer(GDK_BOTTOM_LEFT_CORNER);
-  define_integer(GDK_BOTTOM_RIGHT_CORNER);
-  define_integer(GDK_BOTTOM_SIDE);
-  define_integer(GDK_BOTTOM_TEE);
-  define_integer(GDK_BOX_SPIRAL);
-  define_integer(GDK_CENTER_PTR);
-  define_integer(GDK_CIRCLE);
-  define_integer(GDK_CLOCK);
-  define_integer(GDK_COFFEE_MUG);
-  define_integer(GDK_CROSS);
-  define_integer(GDK_CROSS_REVERSE);
-  define_integer(GDK_CROSSHAIR);
-  define_integer(GDK_DIAMOND_CROSS);
-  define_integer(GDK_DOT);
-  define_integer(GDK_DOTBOX);
-  define_integer(GDK_DOUBLE_ARROW);
-  define_integer(GDK_DRAFT_LARGE);
-  define_integer(GDK_DRAFT_SMALL);
-  define_integer(GDK_DRAPED_BOX);
-  define_integer(GDK_EXCHANGE);
-  define_integer(GDK_FLEUR);
-  define_integer(GDK_GOBBLER);
-  define_integer(GDK_GUMBY);
-  define_integer(GDK_HAND1);
-  define_integer(GDK_HAND2);
-  define_integer(GDK_HEART);
-  define_integer(GDK_ICON);
-  define_integer(GDK_IRON_CROSS);
-  define_integer(GDK_LEFT_PTR);
-  define_integer(GDK_LEFT_SIDE);
-  define_integer(GDK_LEFT_TEE);
-  define_integer(GDK_LEFTBUTTON);
-  define_integer(GDK_LL_ANGLE);
-  define_integer(GDK_LR_ANGLE);
-  define_integer(GDK_MAN);
-  define_integer(GDK_MIDDLEBUTTON);
-  define_integer(GDK_MOUSE);
-  define_integer(GDK_PENCIL);
-  define_integer(GDK_PIRATE);
-  define_integer(GDK_PLUS);
-  define_integer(GDK_QUESTION_ARROW);
-  define_integer(GDK_RIGHT_PTR);
-  define_integer(GDK_RIGHT_SIDE);
-  define_integer(GDK_RIGHT_TEE);
-  define_integer(GDK_RIGHTBUTTON);
-  define_integer(GDK_RTL_LOGO);
-  define_integer(GDK_SAILBOAT);
-  define_integer(GDK_SB_DOWN_ARROW);
-  define_integer(GDK_SB_H_DOUBLE_ARROW);
-  define_integer(GDK_SB_LEFT_ARROW);
-  define_integer(GDK_SB_RIGHT_ARROW);
-  define_integer(GDK_SB_UP_ARROW);
-  define_integer(GDK_SB_V_DOUBLE_ARROW);
-  define_integer(GDK_SHUTTLE);
-  define_integer(GDK_SIZING);
-  define_integer(GDK_SPIDER);
-  define_integer(GDK_SPRAYCAN);
-  define_integer(GDK_STAR);
-  define_integer(GDK_TARGET);
-  define_integer(GDK_TCROSS);
-  define_integer(GDK_TOP_LEFT_ARROW);
-  define_integer(GDK_TOP_LEFT_CORNER);
-  define_integer(GDK_TOP_RIGHT_CORNER);
-  define_integer(GDK_TOP_SIDE);
-  define_integer(GDK_TOP_TEE);
-  define_integer(GDK_TREK);
-  define_integer(GDK_UL_ANGLE);
-  define_integer(GDK_UMBRELLA);
-  define_integer(GDK_UR_ANGLE);
-  define_integer(GDK_WATCH);
-  define_integer(GDK_XTERM);
-  define_integer(GDK_LAST_CURSOR );
   define_integer(GDK_ACTION_DEFAULT);
   define_integer(GDK_ACTION_COPY);
   define_integer(GDK_ACTION_MOVE);
@@ -44454,24 +44014,13 @@ static void define_integers(void)
   define_integer(GDK_CONFIGURE);
   define_integer(GDK_MAP);
   define_integer(GDK_UNMAP);
-  define_integer(GDK_PROPERTY_NOTIFY);
-  define_integer(GDK_SELECTION_CLEAR);
-  define_integer(GDK_SELECTION_REQUEST);
-  define_integer(GDK_SELECTION_NOTIFY);
   define_integer(GDK_PROXIMITY_IN);
   define_integer(GDK_PROXIMITY_OUT);
   define_integer(GDK_DRAG_ENTER);
   define_integer(GDK_DRAG_LEAVE);
   define_integer(GDK_DRAG_MOTION);
-  define_integer(GDK_DRAG_STATUS);
   define_integer(GDK_DROP_START);
-  define_integer(GDK_DROP_FINISHED);
-  define_integer(GDK_CLIENT_EVENT);
-  define_integer(GDK_VISIBILITY_NOTIFY);
   define_integer(GDK_SCROLL);
-  define_integer(GDK_WINDOW_STATE);
-  define_integer(GDK_SETTING);
-  define_integer(GDK_OWNER_CHANGE);
   define_integer(GDK_GRAB_BROKEN);
   define_integer(GDK_EXPOSURE_MASK);
   define_integer(GDK_POINTER_MOTION_MASK);
@@ -44488,12 +44037,10 @@ static void define_integers(void)
   define_integer(GDK_FOCUS_CHANGE_MASK);
   define_integer(GDK_STRUCTURE_MASK);
   define_integer(GDK_PROPERTY_CHANGE_MASK);
-  define_integer(GDK_VISIBILITY_NOTIFY_MASK);
   define_integer(GDK_PROXIMITY_IN_MASK);
   define_integer(GDK_PROXIMITY_OUT_MASK);
   define_integer(GDK_SUBSTRUCTURE_MASK);
   define_integer(GDK_SCROLL_MASK);
-  define_integer(GDK_ALL_EVENTS_MASK);
   define_integer(GDK_SCROLL_UP);
   define_integer(GDK_SCROLL_DOWN);
   define_integer(GDK_SCROLL_LEFT);
@@ -44507,18 +44054,10 @@ static void define_integers(void)
   define_integer(GDK_CROSSING_NORMAL);
   define_integer(GDK_CROSSING_GRAB);
   define_integer(GDK_CROSSING_UNGRAB);
-  define_integer(GDK_PROPERTY_NEW_VALUE);
-  define_integer(GDK_PROPERTY_DELETE);
   define_integer(GDK_WINDOW_STATE_WITHDRAWN);
   define_integer(GDK_WINDOW_STATE_ICONIFIED);
   define_integer(GDK_WINDOW_STATE_MAXIMIZED);
   define_integer(GDK_WINDOW_STATE_STICKY);
-  define_integer(GDK_SETTING_ACTION_NEW);
-  define_integer(GDK_SETTING_ACTION_CHANGED);
-  define_integer(GDK_SETTING_ACTION_DELETED);
-  define_integer(GDK_PROP_MODE_REPLACE);
-  define_integer(GDK_PROP_MODE_PREPEND);
-  define_integer(GDK_PROP_MODE_APPEND);
   define_integer(GDK_CURRENT_TIME);
   define_integer(GDK_PARENT_RELATIVE);
   define_integer(GDK_LSB_FIRST);
@@ -44737,8 +44276,6 @@ static void define_integers(void)
   define_integer(GTK_SORT_ASCENDING);
   define_integer(GTK_SORT_DESCENDING);
   define_integer(GTK_IMAGE_EMPTY);
-  define_integer(GTK_IMAGE_PIXBUF);
-  define_integer(GTK_IMAGE_ANIMATION);
   define_integer(GTK_MAX_COMPOSE_LEN);
   define_integer(GTK_PRIORITY_RESIZE);
   define_integer(GTK_MESSAGE_INFO);
@@ -45051,7 +44588,6 @@ static void define_integers(void)
 #if GTK_CHECK_VERSION(2, 16, 0)
   define_integer(GTK_ENTRY_ICON_PRIMARY);
   define_integer(GTK_ENTRY_ICON_SECONDARY);
-  define_integer(GDK_BLANK_CURSOR );
 #endif
 
 #if GTK_CHECK_VERSION(2, 18, 0)
@@ -45308,10 +44844,6 @@ static void define_integers(void)
   define_integer(GTK_TEXT_SEARCH_CASE_INSENSITIVE);
   define_integer(GTK_SCROLL_MINIMUM);
   define_integer(GTK_SCROLL_NATURAL);
-  define_integer(GTK_TARGET_SAME_APP);
-  define_integer(GTK_TARGET_SAME_WIDGET);
-  define_integer(GTK_TARGET_OTHER_APP);
-  define_integer(GTK_TARGET_OTHER_WIDGET);
   define_integer(GTK_ALIGN_FILL);
   define_integer(GTK_ALIGN_START);
   define_integer(GTK_ALIGN_END);
@@ -45566,6 +45098,16 @@ static void define_integers(void)
   define_integer(GTK_EVENT_CONTROLLER_SCROLL_DISCRETE);
   define_integer(GTK_EVENT_CONTROLLER_SCROLL_KINETIC);
   define_integer(GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES);
+  define_integer(GDK_DEVICE_TYPE_MASTER);
+  define_integer(GDK_DEVICE_TYPE_SLAVE);
+  define_integer(GDK_DEVICE_TYPE_FLOATING);
+  define_integer(GDK_SEAT_CAPABILITY_TABLET_PAD);
+  define_integer(GTK_ICON_SIZE_INHERIT);
+  define_integer(GTK_ICON_SIZE_NORMAL);
+  define_integer(GTK_ICON_SIZE_LARGE);
+  define_integer(GTK_STATE_FLAG_FOCUS_VISIBLE);
+  define_integer(GTK_IMAGE_SURFACE);
+  define_integer(GTK_IMAGE_TEXTURE);
 #endif
 
   define_integer(CAIRO_STATUS_SUCCESS);
@@ -45742,29 +45284,41 @@ static void define_atoms(void)
 {
 #define define_atom(Name) Xen_define(Xg_pre #Name Xg_post, C_to_Xen_GdkAtom(Name))
 
-  define_atom(GDK_SELECTION_PRIMARY);
-  define_atom(GDK_SELECTION_SECONDARY);
-  define_atom(GDK_SELECTION_CLIPBOARD);
-  define_atom(GDK_TARGET_BITMAP);
-  define_atom(GDK_TARGET_DRAWABLE);
-  define_atom(GDK_TARGET_STRING);
-  define_atom(GDK_SELECTION_TYPE_ATOM);
-  define_atom(GDK_SELECTION_TYPE_BITMAP);
-  define_atom(GDK_SELECTION_TYPE_DRAWABLE);
-  define_atom(GDK_SELECTION_TYPE_INTEGER);
-  define_atom(GDK_SELECTION_TYPE_WINDOW);
-  define_atom(GDK_SELECTION_TYPE_STRING);
-  define_atom(GDK_NONE);
 }
 
 /* -------------------------------- symbols -------------------------------- */
 
 static void define_symbols(void)
 {
+  xg_GtkContentFormats__symbol = C_string_to_Xen_symbol("GtkContentFormats_");
+  xg_GtkStyleProvider__symbol = C_string_to_Xen_symbol("GtkStyleProvider_");
+  xg_GdkDisplay_gtk_invisible_get_display_symbol = C_string_to_Xen_symbol("GdkDisplay_gtk_invisible_get_display");
+  xg_GtkInvisible__symbol = C_string_to_Xen_symbol("GtkInvisible_");
+  xg_GtkIconSize_symbol = C_string_to_Xen_symbol("GtkIconSize");
+  xg_GValue_symbol = C_string_to_Xen_symbol("GValue");
+  xg_GBytes__symbol = C_string_to_Xen_symbol("GBytes_");
+  xg_GdkContentDeserializeFunc_symbol = C_string_to_Xen_symbol("GdkContentDeserializeFunc");
+  xg_GdkContentDeserializer__symbol = C_string_to_Xen_symbol("GdkContentDeserializer_");
+  xg_GdkContentSerializeFunc_symbol = C_string_to_Xen_symbol("GdkContentSerializeFunc");
+  xg_GdkContentSerializer__symbol = C_string_to_Xen_symbol("GdkContentSerializer_");
+  xg_GOutputStream__symbol = C_string_to_Xen_symbol("GOutputStream_");
+  xg_GdkContentFormatsBuilder__symbol = C_string_to_Xen_symbol("GdkContentFormatsBuilder_");
+  xg_GdkContentFormatsBuilder_symbol = C_string_to_Xen_symbol("GdkContentFormatsBuilder");
+  xg_GString__symbol = C_string_to_Xen_symbol("GString_");
+  xg_va_list_symbol = C_string_to_Xen_symbol("va_list");
+  xg_GdkTexture__symbol = C_string_to_Xen_symbol("GdkTexture_");
+  xg_har___symbol = C_string_to_Xen_symbol("har__");
+  xg_GInputStream__symbol = C_string_to_Xen_symbol("GInputStream_");
+  xg_GAsyncResult__symbol = C_string_to_Xen_symbol("GAsyncResult_");
+  xg_GAsyncReadyCallback_symbol = C_string_to_Xen_symbol("GAsyncReadyCallback");
+  xg_GCancellable__symbol = C_string_to_Xen_symbol("GCancellable_");
+  xg_GdkContentProvider__symbol = C_string_to_Xen_symbol("GdkContentProvider_");
+  xg_GdkContentFormats__symbol = C_string_to_Xen_symbol("GdkContentFormats_");
+  xg_GdkClipboard__symbol = C_string_to_Xen_symbol("GdkClipboard_");
+  xg_GdkAppLaunchContext__symbol = C_string_to_Xen_symbol("GdkAppLaunchContext_");
   xg_GtkEventControllerScroll__symbol = C_string_to_Xen_symbol("GtkEventControllerScroll_");
   xg_GtkEventControllerScrollFlags_symbol = C_string_to_Xen_symbol("GtkEventControllerScrollFlags");
   xg_GtkSnapshot__symbol = C_string_to_Xen_symbol("GtkSnapshot_");
-  xg_GdkPropertyState_symbol = C_string_to_Xen_symbol("GdkPropertyState");
   xg_GdkTouchpadGesturePhase_symbol = C_string_to_Xen_symbol("GdkTouchpadGesturePhase");
   xg_GdkNotifyType_symbol = C_string_to_Xen_symbol("GdkNotifyType");
   xg_GdkCrossingMode_symbol = C_string_to_Xen_symbol("GdkCrossingMode");
@@ -45844,10 +45398,9 @@ static void define_symbols(void)
   xg_GtkOverlay__symbol = C_string_to_Xen_symbol("GtkOverlay_");
   xg_GtkWidgetPath__symbol = C_string_to_Xen_symbol("GtkWidgetPath_");
   xg_GtkStateFlags_symbol = C_string_to_Xen_symbol("GtkStateFlags");
-  xg_GdkScreen___symbol = C_string_to_Xen_symbol("GdkScreen__");
   xg_GtkToolShell__symbol = C_string_to_Xen_symbol("GtkToolShell_");
   xg_GtkWindowGroup__symbol = C_string_to_Xen_symbol("GtkWindowGroup_");
-  xg_GtkInvisible__symbol = C_string_to_Xen_symbol("GtkInvisible_");
+  xg_GIcon__symbol = C_string_to_Xen_symbol("GIcon_");
   xg_GtkOrientable__symbol = C_string_to_Xen_symbol("GtkOrientable_");
   xg_GtkCellArea__symbol = C_string_to_Xen_symbol("GtkCellArea_");
   xg_GtkBorder__symbol = C_string_to_Xen_symbol("GtkBorder_");
@@ -45875,6 +45428,7 @@ static void define_symbols(void)
   xg_GdkDevice__symbol = C_string_to_Xen_symbol("GdkDevice_");
   xg_GtkAccessible__symbol = C_string_to_Xen_symbol("GtkAccessible_");
   xg_GdkModifierType__symbol = C_string_to_Xen_symbol("GdkModifierType_");
+  xg_GtkDestDefaults_symbol = C_string_to_Xen_symbol("GtkDestDefaults");
   xg_GtkToolPaletteDragTargets_symbol = C_string_to_Xen_symbol("GtkToolPaletteDragTargets");
   xg_GtkToolItemGroup__symbol = C_string_to_Xen_symbol("GtkToolItemGroup_");
   xg_GtkToolPalette__symbol = C_string_to_Xen_symbol("GtkToolPalette_");
@@ -45883,7 +45437,6 @@ static void define_symbols(void)
   xg_GtkEntryBuffer__symbol = C_string_to_Xen_symbol("GtkEntryBuffer_");
   xg_GtkMessageType_symbol = C_string_to_Xen_symbol("GtkMessageType");
   xg_GtkInfoBar__symbol = C_string_to_Xen_symbol("GtkInfoBar_");
-  xg_GIcon__symbol = C_string_to_Xen_symbol("GIcon_");
   xg_GtkEntryIconPosition_symbol = C_string_to_Xen_symbol("GtkEntryIconPosition");
   xg_GFile__symbol = C_string_to_Xen_symbol("GFile_");
   xg_GtkScaleButton__symbol = C_string_to_Xen_symbol("GtkScaleButton_");
@@ -45937,8 +45490,6 @@ static void define_symbols(void)
   xg_cairo_surface_t__symbol = C_string_to_Xen_symbol("cairo_surface_t_");
   xg_GtkTreeViewGridLines_symbol = C_string_to_Xen_symbol("GtkTreeViewGridLines");
   xg_GtkRecentData__symbol = C_string_to_Xen_symbol("GtkRecentData_");
-  xg_GtkTextBufferDeserializeFunc_symbol = C_string_to_Xen_symbol("GtkTextBufferDeserializeFunc");
-  xg_GtkTextBufferSerializeFunc_symbol = C_string_to_Xen_symbol("GtkTextBufferSerializeFunc");
   xg_time_t_symbol = C_string_to_Xen_symbol("time_t");
   xg_GtkRecentChooserMenu__symbol = C_string_to_Xen_symbol("GtkRecentChooserMenu_");
   xg_GtkRecentManager__symbol = C_string_to_Xen_symbol("GtkRecentManager_");
@@ -45953,7 +45504,6 @@ static void define_symbols(void)
   xg_GDestroyNotify_symbol = C_string_to_Xen_symbol("GDestroyNotify");
   xg_GtkTreeViewSearchPositionFunc_symbol = C_string_to_Xen_symbol("GtkTreeViewSearchPositionFunc");
   xg_GtkSensitivityType_symbol = C_string_to_Xen_symbol("GtkSensitivityType");
-  xg_GtkClipboardRichTextReceivedFunc_symbol = C_string_to_Xen_symbol("GtkClipboardRichTextReceivedFunc");
   xg_GtkMenuBar__symbol = C_string_to_Xen_symbol("GtkMenuBar_");
   xg_GtkPackDirection_symbol = C_string_to_Xen_symbol("GtkPackDirection");
   xg_GtkIconViewDropPosition_symbol = C_string_to_Xen_symbol("GtkIconViewDropPosition");
@@ -45962,7 +45512,6 @@ static void define_symbols(void)
   xg_PangoMatrix__symbol = C_string_to_Xen_symbol("PangoMatrix_");
   xg_PangoRenderPart_symbol = C_string_to_Xen_symbol("PangoRenderPart");
   xg_PangoRenderer__symbol = C_string_to_Xen_symbol("PangoRenderer_");
-  xg_GtkClipboardImageReceivedFunc_symbol = C_string_to_Xen_symbol("GtkClipboardImageReceivedFunc");
   xg_GtkMenuToolButton__symbol = C_string_to_Xen_symbol("GtkMenuToolButton_");
   xg_GtkFileChooserButton__symbol = C_string_to_Xen_symbol("GtkFileChooserButton_");
   xg_PangoScriptIter__symbol = C_string_to_Xen_symbol("PangoScriptIter_");
@@ -45974,7 +45523,6 @@ static void define_symbols(void)
   xg_GtkTreeViewRowSeparatorFunc_symbol = C_string_to_Xen_symbol("GtkTreeViewRowSeparatorFunc");
   xg_GtkCellView__symbol = C_string_to_Xen_symbol("GtkCellView_");
   xg_GtkAccelMap__symbol = C_string_to_Xen_symbol("GtkAccelMap_");
-  xg_GtkClipboardTargetsReceivedFunc_symbol = C_string_to_Xen_symbol("GtkClipboardTargetsReceivedFunc");
   xg_GtkOrientation_symbol = C_string_to_Xen_symbol("GtkOrientation");
   xg_GtkToolButton__symbol = C_string_to_Xen_symbol("GtkToolButton_");
   xg_GtkIconLookupFlags_symbol = C_string_to_Xen_symbol("GtkIconLookupFlags");
@@ -45999,7 +45547,7 @@ static void define_symbols(void)
   xg_GtkFileChooserAction_symbol = C_string_to_Xen_symbol("GtkFileChooserAction");
   xg_GtkToolItem__symbol = C_string_to_Xen_symbol("GtkToolItem_");
   xg_GtkCalendarDisplayOptions_symbol = C_string_to_Xen_symbol("GtkCalendarDisplayOptions");
-  xg_GdkScreen__symbol = C_string_to_Xen_symbol("GdkScreen_");
+  xg_GdkDisplay__symbol = C_string_to_Xen_symbol("GdkDisplay_");
   xg_PangoLayoutRun__symbol = C_string_to_Xen_symbol("PangoLayoutRun_");
   xg_PangoLayoutIter__symbol = C_string_to_Xen_symbol("PangoLayoutIter_");
   xg_PangoLayoutLine__symbol = C_string_to_Xen_symbol("PangoLayoutLine_");
@@ -46040,6 +45588,7 @@ static void define_symbols(void)
   xg_GtkWindowType_symbol = C_string_to_Xen_symbol("GtkWindowType");
   xg_GtkWindow__symbol = C_string_to_Xen_symbol("GtkWindow_");
   xg_GtkTextDirection_symbol = C_string_to_Xen_symbol("GtkTextDirection");
+  xg_PangoContext__symbol = C_string_to_Xen_symbol("PangoContext_");
   xg_AtkObject__symbol = C_string_to_Xen_symbol("AtkObject_");
   xg_GtkDirectionType_symbol = C_string_to_Xen_symbol("GtkDirectionType");
   xg_GtkViewport__symbol = C_string_to_Xen_symbol("GtkViewport_");
@@ -46118,17 +45667,10 @@ static void define_symbols(void)
   xg_PangoLayout__symbol = C_string_to_Xen_symbol("PangoLayout_");
   xg_GtkEntry__symbol = C_string_to_Xen_symbol("GtkEntry_");
   xg_GtkEditable__symbol = C_string_to_Xen_symbol("GtkEditable_");
-  xg_GtkTargetList__symbol = C_string_to_Xen_symbol("GtkTargetList_");
-  xg_GtkDestDefaults_symbol = C_string_to_Xen_symbol("GtkDestDefaults");
   xg_etc_symbol = C_string_to_Xen_symbol("etc");
   xg_GtkDialog__symbol = C_string_to_Xen_symbol("GtkDialog_");
   xg_GtkCallback_symbol = C_string_to_Xen_symbol("GtkCallback");
   xg_GtkContainer__symbol = C_string_to_Xen_symbol("GtkContainer_");
-  xg_GtkClipboardTextReceivedFunc_symbol = C_string_to_Xen_symbol("GtkClipboardTextReceivedFunc");
-  xg_GtkClipboardReceivedFunc_symbol = C_string_to_Xen_symbol("GtkClipboardReceivedFunc");
-  xg_GtkClipboardClearFunc_symbol = C_string_to_Xen_symbol("GtkClipboardClearFunc");
-  xg_GtkClipboardGetFunc_symbol = C_string_to_Xen_symbol("GtkClipboardGetFunc");
-  xg_GtkTargetEntry__symbol = C_string_to_Xen_symbol("GtkTargetEntry_");
   xg_GtkCheckMenuItem__symbol = C_string_to_Xen_symbol("GtkCheckMenuItem_");
   xg_GtkCellRendererToggle__symbol = C_string_to_Xen_symbol("GtkCellRendererToggle_");
   xg_GtkCellRendererText__symbol = C_string_to_Xen_symbol("GtkCellRendererText_");
@@ -46152,9 +45694,6 @@ static void define_symbols(void)
   xg_GObject__symbol = C_string_to_Xen_symbol("GObject_");
   xg_GtkAccelFlags_symbol = C_string_to_Xen_symbol("GtkAccelFlags");
   xg_GtkAccelGroup__symbol = C_string_to_Xen_symbol("GtkAccelGroup_");
-  xg_GTimeVal__symbol = C_string_to_Xen_symbol("GTimeVal_");
-  xg_GdkPixbufAnimationIter__symbol = C_string_to_Xen_symbol("GdkPixbufAnimationIter_");
-  xg_GdkPixbufAnimation__symbol = C_string_to_Xen_symbol("GdkPixbufAnimation_");
   xg_GdkInterpType_symbol = C_string_to_Xen_symbol("GdkInterpType");
   xg_double_symbol = C_string_to_Xen_symbol("double");
   xg_gfloat_symbol = C_string_to_Xen_symbol("gfloat");
@@ -46162,8 +45701,11 @@ static void define_symbols(void)
   xg_char___symbol = C_string_to_Xen_symbol("char__");
   xg_GdkPixbufDestroyNotify_symbol = C_string_to_Xen_symbol("GdkPixbufDestroyNotify");
   xg_GError__symbol = C_string_to_Xen_symbol("GError_");
+  xg_char__symbol = C_string_to_Xen_symbol("char_");
+  xg_guchar__symbol = C_string_to_Xen_symbol("guchar_");
   xg_int_symbol = C_string_to_Xen_symbol("int");
   xg_GdkColorspace_symbol = C_string_to_Xen_symbol("GdkColorspace");
+  xg_GdkCursor__symbol = C_string_to_Xen_symbol("GdkCursor_");
   xg_GdkWindowTypeHint_symbol = C_string_to_Xen_symbol("GdkWindowTypeHint");
   xg_GdkWindowHints_symbol = C_string_to_Xen_symbol("GdkWindowHints");
   xg_GdkGeometry__symbol = C_string_to_Xen_symbol("GdkGeometry_");
@@ -46171,26 +45713,19 @@ static void define_symbols(void)
   xg_GdkWMFunction_symbol = C_string_to_Xen_symbol("GdkWMFunction");
   xg_GdkWMDecoration_symbol = C_string_to_Xen_symbol("GdkWMDecoration");
   xg_GdkEventMask_symbol = C_string_to_Xen_symbol("GdkEventMask");
+  xg_GList__symbol = C_string_to_Xen_symbol("GList_");
   xg_GdkWindowState_symbol = C_string_to_Xen_symbol("GdkWindowState");
   xg_GdkFilterFunc_symbol = C_string_to_Xen_symbol("GdkFilterFunc");
   xg_GdkWindowType_symbol = C_string_to_Xen_symbol("GdkWindowType");
-  xg_GdkPropMode_symbol = C_string_to_Xen_symbol("GdkPropMode");
-  xg_guchar__symbol = C_string_to_Xen_symbol("guchar_");
-  xg_PangoContext__symbol = C_string_to_Xen_symbol("PangoContext_");
   xg_PangoDirection_symbol = C_string_to_Xen_symbol("PangoDirection");
   xg_GdkKeymapKey__symbol = C_string_to_Xen_symbol("GdkKeymapKey_");
   xg_GdkKeymap__symbol = C_string_to_Xen_symbol("GdkKeymap_");
   xg_GdkRectangle__symbol = C_string_to_Xen_symbol("GdkRectangle_");
-  xg_char__symbol = C_string_to_Xen_symbol("char_");
   xg_GdkEventFunc_symbol = C_string_to_Xen_symbol("GdkEventFunc");
   xg_gdouble_symbol = C_string_to_Xen_symbol("gdouble");
-  xg_GList__symbol = C_string_to_Xen_symbol("GList_");
   xg_guint32_symbol = C_string_to_Xen_symbol("guint32");
   xg_GdkDragAction_symbol = C_string_to_Xen_symbol("GdkDragAction");
   xg_GdkDragContext__symbol = C_string_to_Xen_symbol("GdkDragContext_");
-  xg_GdkCursorType_symbol = C_string_to_Xen_symbol("GdkCursorType");
-  xg_GdkDisplay__symbol = C_string_to_Xen_symbol("GdkDisplay_");
-  xg_GdkCursor__symbol = C_string_to_Xen_symbol("GdkCursor_");
   xg_GSignalMatchType_symbol = C_string_to_Xen_symbol("GSignalMatchType");
   xg_GConnectFlags_symbol = C_string_to_Xen_symbol("GConnectFlags");
   xg_GtkDestroyNotify_symbol = C_string_to_Xen_symbol("GtkDestroyNotify");
@@ -46371,84 +45906,6 @@ static enummer_t enum_info[] = {
         {"G_SIGNAL_MATCH_FUNC", "GSignalMatchType", G_SIGNAL_MATCH_FUNC},
         {"G_SIGNAL_MATCH_DATA", "GSignalMatchType", G_SIGNAL_MATCH_DATA},
         {"G_SIGNAL_MATCH_UNBLOCKED", "GSignalMatchType", G_SIGNAL_MATCH_UNBLOCKED},
-        {"GDK_X_CURSOR", "GdkCursorType", GDK_X_CURSOR},
-        {"GDK_ARROW", "GdkCursorType", GDK_ARROW},
-        {"GDK_BASED_ARROW_DOWN", "GdkCursorType", GDK_BASED_ARROW_DOWN},
-        {"GDK_BASED_ARROW_UP", "GdkCursorType", GDK_BASED_ARROW_UP},
-        {"GDK_BOAT", "GdkCursorType", GDK_BOAT},
-        {"GDK_BOGOSITY", "GdkCursorType", GDK_BOGOSITY},
-        {"GDK_BOTTOM_LEFT_CORNER", "GdkCursorType", GDK_BOTTOM_LEFT_CORNER},
-        {"GDK_BOTTOM_RIGHT_CORNER", "GdkCursorType", GDK_BOTTOM_RIGHT_CORNER},
-        {"GDK_BOTTOM_SIDE", "GdkCursorType", GDK_BOTTOM_SIDE},
-        {"GDK_BOTTOM_TEE", "GdkCursorType", GDK_BOTTOM_TEE},
-        {"GDK_BOX_SPIRAL", "GdkCursorType", GDK_BOX_SPIRAL},
-        {"GDK_CENTER_PTR", "GdkCursorType", GDK_CENTER_PTR},
-        {"GDK_CIRCLE", "GdkCursorType", GDK_CIRCLE},
-        {"GDK_CLOCK", "GdkCursorType", GDK_CLOCK},
-        {"GDK_COFFEE_MUG", "GdkCursorType", GDK_COFFEE_MUG},
-        {"GDK_CROSS", "GdkCursorType", GDK_CROSS},
-        {"GDK_CROSS_REVERSE", "GdkCursorType", GDK_CROSS_REVERSE},
-        {"GDK_CROSSHAIR", "GdkCursorType", GDK_CROSSHAIR},
-        {"GDK_DIAMOND_CROSS", "GdkCursorType", GDK_DIAMOND_CROSS},
-        {"GDK_DOT", "GdkCursorType", GDK_DOT},
-        {"GDK_DOTBOX", "GdkCursorType", GDK_DOTBOX},
-        {"GDK_DOUBLE_ARROW", "GdkCursorType", GDK_DOUBLE_ARROW},
-        {"GDK_DRAFT_LARGE", "GdkCursorType", GDK_DRAFT_LARGE},
-        {"GDK_DRAFT_SMALL", "GdkCursorType", GDK_DRAFT_SMALL},
-        {"GDK_DRAPED_BOX", "GdkCursorType", GDK_DRAPED_BOX},
-        {"GDK_EXCHANGE", "GdkCursorType", GDK_EXCHANGE},
-        {"GDK_FLEUR", "GdkCursorType", GDK_FLEUR},
-        {"GDK_GOBBLER", "GdkCursorType", GDK_GOBBLER},
-        {"GDK_GUMBY", "GdkCursorType", GDK_GUMBY},
-        {"GDK_HAND1", "GdkCursorType", GDK_HAND1},
-        {"GDK_HAND2", "GdkCursorType", GDK_HAND2},
-        {"GDK_HEART", "GdkCursorType", GDK_HEART},
-        {"GDK_ICON", "GdkCursorType", GDK_ICON},
-        {"GDK_IRON_CROSS", "GdkCursorType", GDK_IRON_CROSS},
-        {"GDK_LEFT_PTR", "GdkCursorType", GDK_LEFT_PTR},
-        {"GDK_LEFT_SIDE", "GdkCursorType", GDK_LEFT_SIDE},
-        {"GDK_LEFT_TEE", "GdkCursorType", GDK_LEFT_TEE},
-        {"GDK_LEFTBUTTON", "GdkCursorType", GDK_LEFTBUTTON},
-        {"GDK_LL_ANGLE", "GdkCursorType", GDK_LL_ANGLE},
-        {"GDK_LR_ANGLE", "GdkCursorType", GDK_LR_ANGLE},
-        {"GDK_MAN", "GdkCursorType", GDK_MAN},
-        {"GDK_MIDDLEBUTTON", "GdkCursorType", GDK_MIDDLEBUTTON},
-        {"GDK_MOUSE", "GdkCursorType", GDK_MOUSE},
-        {"GDK_PENCIL", "GdkCursorType", GDK_PENCIL},
-        {"GDK_PIRATE", "GdkCursorType", GDK_PIRATE},
-        {"GDK_PLUS", "GdkCursorType", GDK_PLUS},
-        {"GDK_QUESTION_ARROW", "GdkCursorType", GDK_QUESTION_ARROW},
-        {"GDK_RIGHT_PTR", "GdkCursorType", GDK_RIGHT_PTR},
-        {"GDK_RIGHT_SIDE", "GdkCursorType", GDK_RIGHT_SIDE},
-        {"GDK_RIGHT_TEE", "GdkCursorType", GDK_RIGHT_TEE},
-        {"GDK_RIGHTBUTTON", "GdkCursorType", GDK_RIGHTBUTTON},
-        {"GDK_RTL_LOGO", "GdkCursorType", GDK_RTL_LOGO},
-        {"GDK_SAILBOAT", "GdkCursorType", GDK_SAILBOAT},
-        {"GDK_SB_DOWN_ARROW", "GdkCursorType", GDK_SB_DOWN_ARROW},
-        {"GDK_SB_H_DOUBLE_ARROW", "GdkCursorType", GDK_SB_H_DOUBLE_ARROW},
-        {"GDK_SB_LEFT_ARROW", "GdkCursorType", GDK_SB_LEFT_ARROW},
-        {"GDK_SB_RIGHT_ARROW", "GdkCursorType", GDK_SB_RIGHT_ARROW},
-        {"GDK_SB_UP_ARROW", "GdkCursorType", GDK_SB_UP_ARROW},
-        {"GDK_SB_V_DOUBLE_ARROW", "GdkCursorType", GDK_SB_V_DOUBLE_ARROW},
-        {"GDK_SHUTTLE", "GdkCursorType", GDK_SHUTTLE},
-        {"GDK_SIZING", "GdkCursorType", GDK_SIZING},
-        {"GDK_SPIDER", "GdkCursorType", GDK_SPIDER},
-        {"GDK_SPRAYCAN", "GdkCursorType", GDK_SPRAYCAN},
-        {"GDK_STAR", "GdkCursorType", GDK_STAR},
-        {"GDK_TARGET", "GdkCursorType", GDK_TARGET},
-        {"GDK_TCROSS", "GdkCursorType", GDK_TCROSS},
-        {"GDK_TOP_LEFT_ARROW", "GdkCursorType", GDK_TOP_LEFT_ARROW},
-        {"GDK_TOP_LEFT_CORNER", "GdkCursorType", GDK_TOP_LEFT_CORNER},
-        {"GDK_TOP_RIGHT_CORNER", "GdkCursorType", GDK_TOP_RIGHT_CORNER},
-        {"GDK_TOP_SIDE", "GdkCursorType", GDK_TOP_SIDE},
-        {"GDK_TOP_TEE", "GdkCursorType", GDK_TOP_TEE},
-        {"GDK_TREK", "GdkCursorType", GDK_TREK},
-        {"GDK_UL_ANGLE", "GdkCursorType", GDK_UL_ANGLE},
-        {"GDK_UMBRELLA", "GdkCursorType", GDK_UMBRELLA},
-        {"GDK_UR_ANGLE", "GdkCursorType", GDK_UR_ANGLE},
-        {"GDK_WATCH", "GdkCursorType", GDK_WATCH},
-        {"GDK_XTERM", "GdkCursorType", GDK_XTERM},
-        {"GDK_LAST_CURSOR ", "GdkCursorType", GDK_LAST_CURSOR },
         {"GDK_ACTION_DEFAULT", "GdkDragAction", GDK_ACTION_DEFAULT},
         {"GDK_ACTION_COPY", "GdkDragAction", GDK_ACTION_COPY},
         {"GDK_ACTION_MOVE", "GdkDragAction", GDK_ACTION_MOVE},
@@ -46470,24 +45927,13 @@ static enummer_t enum_info[] = {
         {"GDK_CONFIGURE", "GdkEventType", GDK_CONFIGURE},
         {"GDK_MAP", "GdkEventType", GDK_MAP},
         {"GDK_UNMAP", "GdkEventType", GDK_UNMAP},
-        {"GDK_PROPERTY_NOTIFY", "GdkEventType", GDK_PROPERTY_NOTIFY},
-        {"GDK_SELECTION_CLEAR", "GdkEventType", GDK_SELECTION_CLEAR},
-        {"GDK_SELECTION_REQUEST", "GdkEventType", GDK_SELECTION_REQUEST},
-        {"GDK_SELECTION_NOTIFY", "GdkEventType", GDK_SELECTION_NOTIFY},
         {"GDK_PROXIMITY_IN", "GdkEventType", GDK_PROXIMITY_IN},
         {"GDK_PROXIMITY_OUT", "GdkEventType", GDK_PROXIMITY_OUT},
         {"GDK_DRAG_ENTER", "GdkEventType", GDK_DRAG_ENTER},
         {"GDK_DRAG_LEAVE", "GdkEventType", GDK_DRAG_LEAVE},
         {"GDK_DRAG_MOTION", "GdkEventType", GDK_DRAG_MOTION},
-        {"GDK_DRAG_STATUS", "GdkEventType", GDK_DRAG_STATUS},
         {"GDK_DROP_START", "GdkEventType", GDK_DROP_START},
-        {"GDK_DROP_FINISHED", "GdkEventType", GDK_DROP_FINISHED},
-        {"GDK_CLIENT_EVENT", "GdkEventType", GDK_CLIENT_EVENT},
-        {"GDK_VISIBILITY_NOTIFY", "GdkEventType", GDK_VISIBILITY_NOTIFY},
         {"GDK_SCROLL", "GdkEventType", GDK_SCROLL},
-        {"GDK_WINDOW_STATE", "GdkEventType", GDK_WINDOW_STATE},
-        {"GDK_SETTING", "GdkEventType", GDK_SETTING},
-        {"GDK_OWNER_CHANGE", "GdkEventType", GDK_OWNER_CHANGE},
         {"GDK_GRAB_BROKEN", "GdkEventType", GDK_GRAB_BROKEN},
         {"GDK_EXPOSURE_MASK", "GdkEventMask", GDK_EXPOSURE_MASK},
         {"GDK_POINTER_MOTION_MASK", "GdkEventMask", GDK_POINTER_MOTION_MASK},
@@ -46504,12 +45950,10 @@ static enummer_t enum_info[] = {
         {"GDK_FOCUS_CHANGE_MASK", "GdkEventMask", GDK_FOCUS_CHANGE_MASK},
         {"GDK_STRUCTURE_MASK", "GdkEventMask", GDK_STRUCTURE_MASK},
         {"GDK_PROPERTY_CHANGE_MASK", "GdkEventMask", GDK_PROPERTY_CHANGE_MASK},
-        {"GDK_VISIBILITY_NOTIFY_MASK", "GdkEventMask", GDK_VISIBILITY_NOTIFY_MASK},
         {"GDK_PROXIMITY_IN_MASK", "GdkEventMask", GDK_PROXIMITY_IN_MASK},
         {"GDK_PROXIMITY_OUT_MASK", "GdkEventMask", GDK_PROXIMITY_OUT_MASK},
         {"GDK_SUBSTRUCTURE_MASK", "GdkEventMask", GDK_SUBSTRUCTURE_MASK},
         {"GDK_SCROLL_MASK", "GdkEventMask", GDK_SCROLL_MASK},
-        {"GDK_ALL_EVENTS_MASK", "GdkEventMask", GDK_ALL_EVENTS_MASK},
         {"GDK_SCROLL_UP", "GdkScrollDirection", GDK_SCROLL_UP},
         {"GDK_SCROLL_DOWN", "GdkScrollDirection", GDK_SCROLL_DOWN},
         {"GDK_SCROLL_LEFT", "GdkScrollDirection", GDK_SCROLL_LEFT},
@@ -46523,18 +45967,10 @@ static enummer_t enum_info[] = {
         {"GDK_CROSSING_NORMAL", "GdkCrossingMode", GDK_CROSSING_NORMAL},
         {"GDK_CROSSING_GRAB", "GdkNotifyType", GDK_CROSSING_GRAB},
         {"GDK_CROSSING_UNGRAB", "GdkNotifyType", GDK_CROSSING_UNGRAB},
-        {"GDK_PROPERTY_NEW_VALUE", "GdkPropertyState", GDK_PROPERTY_NEW_VALUE},
-        {"GDK_PROPERTY_DELETE", "GdkPropertyState", GDK_PROPERTY_DELETE},
         {"GDK_WINDOW_STATE_WITHDRAWN", "GdkWindowState", GDK_WINDOW_STATE_WITHDRAWN},
         {"GDK_WINDOW_STATE_ICONIFIED", "GdkWindowState", GDK_WINDOW_STATE_ICONIFIED},
         {"GDK_WINDOW_STATE_MAXIMIZED", "GdkWindowState", GDK_WINDOW_STATE_MAXIMIZED},
         {"GDK_WINDOW_STATE_STICKY", "GdkWindowState", GDK_WINDOW_STATE_STICKY},
-        {"GDK_SETTING_ACTION_NEW", "GdkSettingAction", GDK_SETTING_ACTION_NEW},
-        {"GDK_SETTING_ACTION_CHANGED", "GdkSettingAction", GDK_SETTING_ACTION_CHANGED},
-        {"GDK_SETTING_ACTION_DELETED", "GdkSettingAction", GDK_SETTING_ACTION_DELETED},
-        {"GDK_PROP_MODE_REPLACE", "GdkPropMode", GDK_PROP_MODE_REPLACE},
-        {"GDK_PROP_MODE_PREPEND", "GdkPropMode", GDK_PROP_MODE_PREPEND},
-        {"GDK_PROP_MODE_APPEND", "GdkPropMode", GDK_PROP_MODE_APPEND},
         {"GDK_LSB_FIRST", "GdkByteOrder", GDK_LSB_FIRST},
         {"GDK_MSB_FIRST", "GdkByteOrder", GDK_MSB_FIRST},
         {"GDK_SHIFT_MASK", "GdkModifierType", GDK_SHIFT_MASK},
@@ -46751,8 +46187,6 @@ static enummer_t enum_info[] = {
         {"GTK_SORT_ASCENDING", "GtkSortType", GTK_SORT_ASCENDING},
         {"GTK_SORT_DESCENDING", "GtkSortType", GTK_SORT_DESCENDING},
         {"GTK_IMAGE_EMPTY", "GtkImageType", GTK_IMAGE_EMPTY},
-        {"GTK_IMAGE_PIXBUF", "GtkImageType", GTK_IMAGE_PIXBUF},
-        {"GTK_IMAGE_ANIMATION", "GtkImageType", GTK_IMAGE_ANIMATION},
         {"GTK_MESSAGE_INFO", "GtkMessageType", GTK_MESSAGE_INFO},
         {"GTK_MESSAGE_WARNING", "GtkMessageType", GTK_MESSAGE_WARNING},
         {"GTK_MESSAGE_QUESTION", "GtkMessageType", GTK_MESSAGE_QUESTION},
@@ -47164,7 +46598,6 @@ static enummer_t enum_info[] = {
 #if GTK_CHECK_VERSION(2, 16, 0)
         {"GTK_ENTRY_ICON_PRIMARY", "GtkEntryIconPosition", GTK_ENTRY_ICON_PRIMARY},
         {"GTK_ENTRY_ICON_SECONDARY", "GtkEntryIconPosition", GTK_ENTRY_ICON_SECONDARY},
-        {"GDK_BLANK_CURSOR ", "GdkCursorType", GDK_BLANK_CURSOR },
 #endif
 #if GTK_CHECK_VERSION(2, 18, 0)
         {"PANGO_WEIGHT_THIN", "PangoWeight", PANGO_WEIGHT_THIN},
@@ -47178,10 +46611,6 @@ static enummer_t enum_info[] = {
         {"GTK_TEXT_SEARCH_CASE_INSENSITIVE", "GtkTextSearchFlags", GTK_TEXT_SEARCH_CASE_INSENSITIVE},
         {"GTK_SCROLL_MINIMUM", "GtkScrollablePolicy", GTK_SCROLL_MINIMUM},
         {"GTK_SCROLL_NATURAL", "GtkScrollablePolicy", GTK_SCROLL_NATURAL},
-        {"GTK_TARGET_SAME_APP", "GtkTargetFlags", GTK_TARGET_SAME_APP},
-        {"GTK_TARGET_SAME_WIDGET", "GtkTargetFlags", GTK_TARGET_SAME_WIDGET},
-        {"GTK_TARGET_OTHER_APP", "GtkTargetFlags", GTK_TARGET_OTHER_APP},
-        {"GTK_TARGET_OTHER_WIDGET", "GtkTargetFlags", GTK_TARGET_OTHER_WIDGET},
         {"GTK_ALIGN_FILL", "GtkAlign", GTK_ALIGN_FILL},
         {"GTK_ALIGN_START", "GtkAlign", GTK_ALIGN_START},
         {"GTK_ALIGN_END", "GtkAlign", GTK_ALIGN_END},
@@ -47424,6 +46853,16 @@ static enummer_t enum_info[] = {
         {"GTK_EVENT_CONTROLLER_SCROLL_DISCRETE", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_DISCRETE},
         {"GTK_EVENT_CONTROLLER_SCROLL_KINETIC", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_KINETIC},
         {"GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES", "GtkEventControllerScrollFlags", GTK_EVENT_CONTROLLER_SCROLL_BOTH_AXES},
+        {"GDK_DEVICE_TYPE_MASTER", "GdkDeviceType", GDK_DEVICE_TYPE_MASTER},
+        {"GDK_DEVICE_TYPE_SLAVE", "GdkDeviceType", GDK_DEVICE_TYPE_SLAVE},
+        {"GDK_DEVICE_TYPE_FLOATING", "GdkDeviceType", GDK_DEVICE_TYPE_FLOATING},
+        {"GDK_SEAT_CAPABILITY_TABLET_PAD", "GdkSeatCapabilities", GDK_SEAT_CAPABILITY_TABLET_PAD},
+        {"GTK_ICON_SIZE_INHERIT", "GtkIconSize", GTK_ICON_SIZE_INHERIT},
+        {"GTK_ICON_SIZE_NORMAL", "GtkIconSize", GTK_ICON_SIZE_NORMAL},
+        {"GTK_ICON_SIZE_LARGE", "GtkIconSize", GTK_ICON_SIZE_LARGE},
+        {"GTK_STATE_FLAG_FOCUS_VISIBLE", "GtkStateFlags", GTK_STATE_FLAG_FOCUS_VISIBLE},
+        {"GTK_IMAGE_SURFACE", "GtkImageType", GTK_IMAGE_SURFACE},
+        {"GTK_IMAGE_TEXTURE", "GtkImageType", GTK_IMAGE_TEXTURE},
 #endif
         {NULL, NULL, 0}};
 
@@ -47575,7 +47014,7 @@ void Init_libxg(void)
           Xen_provide_feature("gtk2");
         #endif
       #endif
-      Xen_define("xg-version", C_string_to_Xen_string("28-Nov-17"));
+      Xen_define("xg-version", C_string_to_Xen_string("01-Jan-18"));
       xg_already_inited = true;
 #if HAVE_SCHEME
 #if USE_SND
diff --git a/xm-enved.fs b/xm-enved.fs
index 4c0f3ff..6bb4efa 100644
--- a/xm-enved.fs
+++ b/xm-enved.fs
@@ -1,16 +1,18 @@
 \ xm-enved.fs -- xm-enved.scm -> xm-enved.fs
 
 \ Author: Michael Scholz <mi-scholz at users.sourceforge.net>
-\ Created: Fri Oct 21 18:22:57 CEST 2005
-\ Changed: Sat Dec  1 19:09:08 CET 2012
+\ Created: 05/10/21 18:22:57
+\ Changed: 17/12/02 03:04:44
+\
+\ @(#)xm-enved.fs	1.36 12/2/17
 
 \ Commentary:
 \
 \ Requires --with-motif|gtk
 \
-\ Tested with Snd 13.x
+\ Tested with Snd 18.x
 \             Fth 1.3.x
-\             Motif 2.3.4 X11R6
+\             Motif 2.3.3 X11R6
 \             (Glib 2.28.8, Pango 1.28.4, Cairo 1.10.2)
 \
 \ This is an example of an object type written in Forth.

-- 
snd packaging



More information about the pkg-multimedia-commits mailing list