emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/xelb 4509a33 2/2: Fix `xcb:unmarshal' for <switch>


From: Chris Feng
Subject: [elpa] externals/xelb 4509a33 2/2: Fix `xcb:unmarshal' for <switch>
Date: Mon, 18 Jun 2018 10:35:42 -0400 (EDT)

branch: externals/xelb
commit 4509a3304ebfdb64a41be3ad2dc239c70227112e
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix `xcb:unmarshal' for <switch>
    
    * el_client.el (xelb-parse-list): Place list placeholder after the
    real one so that to be correctly referred by <switch>.
    (xelb-parse-switch): Never flatten the condition list for <case>.
    
    * xcb-types.el (xcb:unmarshal of xcb:-struct): Stop after processing
    <switch>.
    
    * xcb-types.el (xcb:--struct): New common super class for all classes
    in XELB.  Currently it's used to override `slot-unbound'.
    (xcb:-struct):
    * xcb-ewmh.el (xcb:ewmh:-_NET_DESKTOP_GEOMETRY)
    (xcb:ewmh:-_NET_DESKTOP_LAYOUT, xcb:ewmh:-_NET_WM_STRUT)
    (xcb:ewmh:-_NET_WM_STRUT_PARTIAL, xcb:ewmh:-_NET_WM_ICON_GEOMETRY)
    (xcb:ewmh:-_NET_FRAME_EXTENTS, xcb:ewmh:-_NET_WM_SYNC_REQUEST_COUNTER)
    (xcb:ewmh:-_NET_WM_FULLSCREEN_MONITORS):
    * xcb-icccm.el (xcb:icccm:--ClientMessage, xcb:icccm:-WM_SIZE_HINTS)
    (xcb:icccm:-WM_HINTS, xcb:icccm:-WM_STATE, xcb:icccm:-WM_ICON_SIZE):
    * xcb-keysyms.el (xcb:keysyms:-device):
    * xcb.el (xcb:connection, xcb:auth-info): Use it.
---
 el_client.el       |  13 +-
 xcb-dri2.el        |  24 +--
 xcb-dri3.el        |  18 +-
 xcb-ewmh.el        |  16 +-
 xcb-glx.el         | 290 +++++++++++++++----------------
 xcb-icccm.el       |  10 +-
 xcb-keysyms.el     |   2 +-
 xcb-present.el     |   8 +-
 xcb-randr.el       | 156 ++++++++---------
 xcb-record.el      |  28 +--
 xcb-render.el      | 106 ++++++------
 xcb-res.el         |  32 ++--
 xcb-shape.el       |   8 +-
 xcb-sync.el        |  14 +-
 xcb-types.el       |  52 ++++--
 xcb-xc_misc.el     |   4 +-
 xcb-xf86dri.el     |  18 +-
 xcb-xf86vidmode.el |  60 +++----
 xcb-xfixes.el      |  38 ++--
 xcb-xinerama.el    |   4 +-
 xcb-xinput.el      | 499 +++++++++++++++++++++++++++++------------------------
 xcb-xkb.el         | 372 +++++++++++++++++++--------------------
 xcb-xprint.el      |  52 +++---
 xcb-xproto.el      | 276 ++++++++++++++---------------
 xcb-xselinux.el    |  92 +++++-----
 xcb-xv.el          |  48 +++---
 xcb-xvmc.el        |  22 +--
 xcb.el             |  12 +-
 28 files changed, 1165 insertions(+), 1109 deletions(-)

diff --git a/el_client.el b/el_client.el
index 9f1dc0c..ae68a47 100644
--- a/el_client.el
+++ b/el_client.el
@@ -563,10 +563,10 @@ The `combine-adjacent' attribute is simply ignored."
          (name-alt (intern (concat (xelb-node-attr-escape node 'name) "~")))
          (type (xelb-node-type node))
          (size (xelb-parse-expression (xelb-node-subnode node))))
-    `((,name :initarg ,(intern (concat ":" (symbol-name name)))
-             :type xcb:-ignore)
-      (,name-alt :initform '(name ,name type ,type size ,size)
-                 :type xcb:-list))))
+    `((,name-alt :initform '(name ,name type ,type size ,size)
+                 :type xcb:-list)
+      (,name :initarg ,(intern (concat ":" (symbol-name name)))
+             :type xcb:-ignore))))
 
 ;; The car of result is the field declaration, and the cadr is the expression
 ;; to be evaluated.
@@ -621,10 +621,7 @@ The `combine-adjacent' attribute is simply ignored."
                              (setq fields (nconc fields tmp))
                              (setq name-list
                                    (nconc name-list (list (caar tmp)))))))
-                        (if (eq case-name 'case)
-                            (when (= 1 (length condition))
-                              ;; Flatten 1-element list.
-                              (setq condition (car condition)))
+                        (when (eq case-name 'bitcase)
                           (setq condition (if (= 1 (length condition))
                                               ;; Flatten 1-element list.
                                               (car condition)
diff --git a/xcb-dri2.el b/xcb-dri2.el
index 62c7619..8d06d91 100644
--- a/xcb-dri2.el
+++ b/xcb-dri2.el
@@ -91,12 +91,11 @@
    (driver-name-length :initarg :driver-name-length :type xcb:CARD32)
    (device-name-length :initarg :device-name-length :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (driver-name :initarg :driver-name :type xcb:-ignore)
    (driver-name~ :initform
                 '(name driver-name type xcb:char size
                        (xcb:-fieldref 'driver-name-length))
                 :type xcb:-list)
-   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)
+   (driver-name :initarg :driver-name :type xcb:-ignore)
    (alignment-pad~ :initform
                   '(name alignment-pad type xcb:void size
                          (-
@@ -107,11 +106,12 @@
                            (lognot 3))
                           (xcb:-fieldref 'driver-name-length)))
                   :type xcb:-list)
-   (device-name :initarg :device-name :type xcb:-ignore)
+   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)
    (device-name~ :initform
                 '(name device-name type xcb:char size
                        (xcb:-fieldref 'device-name-length))
-                :type xcb:-list)))
+                :type xcb:-list)
+   (device-name :initarg :device-name :type xcb:-ignore)))
 
 (defclass xcb:dri2:Authenticate
   (xcb:-request)
@@ -140,10 +140,10 @@
   ((~opcode :initform 5 :type xcb:-u1)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (count :initarg :count :type xcb:CARD32)
-   (attachments :initarg :attachments :type xcb:-ignore)
    (attachments~ :initform
                 '(name attachments type xcb:CARD32 size nil)
-                :type xcb:-list)))
+                :type xcb:-list)
+   (attachments :initarg :attachments :type xcb:-ignore)))
 (defclass xcb:dri2:GetBuffers~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -153,11 +153,11 @@
    (height :initarg :height :type xcb:CARD32)
    (count :initarg :count :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (buffers :initarg :buffers :type xcb:-ignore)
    (buffers~ :initform
             '(name buffers type xcb:dri2:DRI2Buffer size
                    (xcb:-fieldref 'count))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buffers :initarg :buffers :type xcb:-ignore)))
 
 (defclass xcb:dri2:CopyRegion
   (xcb:-request)
@@ -177,10 +177,10 @@
   ((~opcode :initform 7 :type xcb:-u1)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (count :initarg :count :type xcb:CARD32)
-   (attachments :initarg :attachments :type xcb:-ignore)
    (attachments~ :initform
                 '(name attachments type xcb:dri2:AttachFormat size nil)
-                :type xcb:-list)))
+                :type xcb:-list)
+   (attachments :initarg :attachments :type xcb:-ignore)))
 (defclass xcb:dri2:GetBuffersWithFormat~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -190,11 +190,11 @@
    (height :initarg :height :type xcb:CARD32)
    (count :initarg :count :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (buffers :initarg :buffers :type xcb:-ignore)
    (buffers~ :initform
             '(name buffers type xcb:dri2:DRI2Buffer size
                    (xcb:-fieldref 'count))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buffers :initarg :buffers :type xcb:-ignore)))
 
 (defclass xcb:dri2:SwapBuffers
   (xcb:-request)
diff --git a/xcb-dri3.el b/xcb-dri3.el
index ad69b43..2baae08 100644
--- a/xcb-dri3.el
+++ b/xcb-dri3.el
@@ -128,16 +128,16 @@
    (num-window-modifiers :initarg :num-window-modifiers :type xcb:CARD32)
    (num-screen-modifiers :initarg :num-screen-modifiers :type xcb:CARD32)
    (pad~2 :initform 16 :type xcb:-pad)
-   (window-modifiers :initarg :window-modifiers :type xcb:-ignore)
    (window-modifiers~ :initform
                      '(name window-modifiers type xcb:CARD64 size
                             (xcb:-fieldref 'num-window-modifiers))
                      :type xcb:-list)
-   (screen-modifiers :initarg :screen-modifiers :type xcb:-ignore)
+   (window-modifiers :initarg :window-modifiers :type xcb:-ignore)
    (screen-modifiers~ :initform
                      '(name screen-modifiers type xcb:CARD64 size
                             (xcb:-fieldref 'num-screen-modifiers))
-                     :type xcb:-list)))
+                     :type xcb:-list)
+   (screen-modifiers :initarg :screen-modifiers :type xcb:-ignore)))
 
 (defclass xcb:dri3:PixmapFromBuffers
   (xcb:-request)
@@ -161,11 +161,11 @@
    (bpp :initarg :bpp :type xcb:CARD8)
    (pad~2 :initform 2 :type xcb:-pad)
    (modifier :initarg :modifier :type xcb:CARD64)
-   (buffers :initarg :buffers :type xcb:-ignore)
    (buffers~ :initform
             '(name buffers type xcb:fd size
                    (xcb:-fieldref 'num-buffers))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buffers :initarg :buffers :type xcb:-ignore)))
 
 (defclass xcb:dri3:BuffersFromPixmap
   (xcb:-request)
@@ -184,21 +184,21 @@
    (depth :initarg :depth :type xcb:CARD8)
    (bpp :initarg :bpp :type xcb:CARD8)
    (pad~2 :initform 6 :type xcb:-pad)
-   (strides :initarg :strides :type xcb:-ignore)
    (strides~ :initform
             '(name strides type xcb:CARD32 size
                    (xcb:-fieldref 'nfd))
             :type xcb:-list)
-   (offsets :initarg :offsets :type xcb:-ignore)
+   (strides :initarg :strides :type xcb:-ignore)
    (offsets~ :initform
             '(name offsets type xcb:CARD32 size
                    (xcb:-fieldref 'nfd))
             :type xcb:-list)
-   (buffers :initarg :buffers :type xcb:-ignore)
+   (offsets :initarg :offsets :type xcb:-ignore)
    (buffers~ :initform
             '(name buffers type xcb:fd size
                    (xcb:-fieldref 'nfd))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buffers :initarg :buffers :type xcb:-ignore)))
 
 
 
diff --git a/xcb-ewmh.el b/xcb-ewmh.el
index 43d8b1f..b252d9e 100644
--- a/xcb-ewmh.el
+++ b/xcb-ewmh.el
@@ -224,7 +224,7 @@ EWMH")
    (type :initform xcb:Atom:CARDINAL)))
 
 ;; _NET_DESKTOP_GEOMETRY
-(defclass xcb:ewmh:-_NET_DESKTOP_GEOMETRY ()
+(defclass xcb:ewmh:-_NET_DESKTOP_GEOMETRY (xcb:--struct)
   ((width :initarg :width :type xcb:-ignore)
    (height :initarg :height :type xcb:-ignore)))
 ;;
@@ -340,7 +340,7 @@ EWMH")
 (defconst xcb:ewmh:_NET_WM_BOTTOMRIGHT 2)
 (defconst xcb:ewmh:_NET_WM_BOTTOMLEFT 3)
 ;;
-(defclass xcb:ewmh:-_NET_DESKTOP_LAYOUT ()
+(defclass xcb:ewmh:-_NET_DESKTOP_LAYOUT (xcb:--struct)
   ((orientation :initarg :orientation :type xcb:-ignore)
    (columns :initarg :columns :type xcb:-ignore)
    (rows :initarg :rows :type xcb:-ignore)
@@ -517,7 +517,7 @@ EWMH")
    (type :initform xcb:Atom:ATOM)))
 
 ;; _NET_WM_STRUT
-(defclass xcb:ewmh:-_NET_WM_STRUT ()
+(defclass xcb:ewmh:-_NET_WM_STRUT (xcb:--struct)
   ((left :initarg :left :type xcb:-ignore)
    (right :initarg :right :type xcb:-ignore)
    (top :initarg :top :type xcb:-ignore)
@@ -536,7 +536,7 @@ EWMH")
    (type :initform xcb:Atom:CARDINAL)))
 
 ;; _NET_WM_STRUT_PARTIAL
-(defclass xcb:ewmh:-_NET_WM_STRUT_PARTIAL ()
+(defclass xcb:ewmh:-_NET_WM_STRUT_PARTIAL (xcb:--struct)
   ((left :initarg :left :type xcb:-ignore)
    (right :initarg :right :type xcb:-ignore)
    (top :initarg :top :type xcb:-ignore)
@@ -563,7 +563,7 @@ EWMH")
    (type :initform xcb:Atom:CARDINAL)))
 
 ;; _NET_WM_ICON_GEOMETRY
-(defclass xcb:ewmh:-_NET_WM_ICON_GEOMETRY ()
+(defclass xcb:ewmh:-_NET_WM_ICON_GEOMETRY (xcb:--struct)
   ((x :initarg :x :type xcb:-ignore)
    (y :initarg :y :type xcb:-ignore)
    (width :initarg :width :type xcb:-ignore)
@@ -636,7 +636,7 @@ EWMH")
    (type :initform xcb:Atom:CARDINAL)))
 
 ;; _NET_FRAME_EXTENTS
-(defclass xcb:ewmh:-_NET_FRAME_EXTENTS ()
+(defclass xcb:ewmh:-_NET_FRAME_EXTENTS (xcb:--struct)
   ((left :initarg :left :type xcb:-ignore)
    (right :initarg :right :type xcb:-ignore)
    (top :initarg :top :type xcb:-ignore)
@@ -696,7 +696,7 @@ EWMH")
    (high :initarg :high :type xcb:CARD32)))
 
 ;; _NET_WM_SYNC_REQUEST_COUNTER
-(defclass xcb:ewmh:-_NET_WM_SYNC_REQUEST_COUNTER ()
+(defclass xcb:ewmh:-_NET_WM_SYNC_REQUEST_COUNTER (xcb:--struct)
   ((low :initarg :low :type xcb:-ignore)
    (high :initarg :hight :type xcb:-ignore)))
 ;;
@@ -715,7 +715,7 @@ EWMH")
    (type :initform xcb:Atom:CARDINAL)))
 
 ;; _NET_WM_FULLSCREEN_MONITORS
-(defclass xcb:ewmh:-_NET_WM_FULLSCREEN_MONITORS ()
+(defclass xcb:ewmh:-_NET_WM_FULLSCREEN_MONITORS (xcb:--struct)
   ((top :initarg :top :type xcb:-ignore)
    (bottom :initarg :bottom :type xcb:-ignore)
    (left :initarg :left :type xcb:-ignore)
diff --git a/xcb-glx.el b/xcb-glx.el
index c6348b3..35dc7e3 100644
--- a/xcb-glx.el
+++ b/xcb-glx.el
@@ -158,10 +158,10 @@
   (xcb:-request)
   ((~opcode :initform 1 :type xcb:-u1)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:RenderLarge
   (xcb:-request)
@@ -170,11 +170,11 @@
    (request-num :initarg :request-num :type xcb:CARD16)
    (request-total :initarg :request-total :type xcb:CARD16)
    (data-len :initarg :data-len :type xcb:CARD32)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (xcb:-fieldref 'data-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:CreateContext
   (xcb:-request)
@@ -306,11 +306,11 @@
    (num-visuals :initarg :num-visuals :type xcb:CARD32)
    (num-properties :initarg :num-properties :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (property-list :initarg :property-list :type xcb:-ignore)
    (property-list~ :initform
                   '(name property-list type xcb:CARD32 size
                          (xcb:-fieldref 'length))
-                  :type xcb:-list)))
+                  :type xcb:-list)
+   (property-list :initarg :property-list :type xcb:-ignore)))
 
 (defclass xcb:glx:DestroyGLXPixmap
   (xcb:-request)
@@ -322,37 +322,37 @@
   ((~opcode :initform 16 :type xcb:-u1)
    (vendor-code :initarg :vendor-code :type xcb:CARD32)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:VendorPrivateWithReply
   (xcb:-request)
   ((~opcode :initform 17 :type xcb:-u1)
    (vendor-code :initarg :vendor-code :type xcb:CARD32)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 (defclass xcb:glx:VendorPrivateWithReply~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (retval :initarg :retval :type xcb:CARD32)
-   (data1 :initarg :data1 :type xcb:-ignore)
    (data1~ :initform
           '(name data1 type xcb:BYTE size 24)
           :type xcb:-list)
-   (data2 :initarg :data2 :type xcb:-ignore)
+   (data1 :initarg :data1 :type xcb:-ignore)
    (data2~ :initform
           '(name data2 type xcb:BYTE size
                  (*
                   (xcb:-fieldref 'length)
                   4))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (data2 :initarg :data2 :type xcb:-ignore)))
 
 (defclass xcb:glx:QueryExtensionsString
   (xcb:-request)
@@ -380,11 +380,11 @@
    (pad~1 :initform 4 :type xcb:-pad)
    (str-len :initarg :str-len :type xcb:CARD32)
    (pad~2 :initform 16 :type xcb:-pad)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'str-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defclass xcb:glx:ClientInfo
   (xcb:-request)
@@ -392,11 +392,11 @@
    (major-version :initarg :major-version :type xcb:CARD32)
    (minor-version :initarg :minor-version :type xcb:CARD32)
    (str-len :initarg :str-len :type xcb:CARD32)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'str-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defclass xcb:glx:GetFBConfigs
   (xcb:-request)
@@ -410,11 +410,11 @@
    (num-FB-configs :initarg :num-FB-configs :type xcb:CARD32)
    (num-properties :initarg :num-properties :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (property-list :initarg :property-list :type xcb:-ignore)
    (property-list~ :initform
                   '(name property-list type xcb:CARD32 size
                          (xcb:-fieldref 'length))
-                  :type xcb:-list)))
+                  :type xcb:-list)
+   (property-list :initarg :property-list :type xcb:-ignore)))
 
 (defclass xcb:glx:CreatePixmap
   (xcb:-request)
@@ -424,13 +424,13 @@
    (pixmap :initarg :pixmap :type xcb:PIXMAP)
    (glx-pixmap :initarg :glx-pixmap :type xcb:glx:PIXMAP)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:DestroyPixmap
   (xcb:-request)
@@ -459,13 +459,13 @@
    (length :type xcb:CARD32)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:MakeContextCurrent
   (xcb:-request)
@@ -489,13 +489,13 @@
    (fbconfig :initarg :fbconfig :type xcb:glx:FBCONFIG)
    (pbuffer :initarg :pbuffer :type xcb:glx:PBUFFER)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:DestroyPbuffer
   (xcb:-request)
@@ -513,26 +513,26 @@
    (length :type xcb:CARD32)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:ChangeDrawableAttributes
   (xcb:-request)
   ((~opcode :initform 30 :type xcb:-u1)
    (drawable :initarg :drawable :type xcb:glx:DRAWABLE)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:CreateWindow
   (xcb:-request)
@@ -542,13 +542,13 @@
    (window :initarg :window :type xcb:WINDOW)
    (glx-window :initarg :glx-window :type xcb:glx:WINDOW)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:DeleteWindow
   (xcb:-request)
@@ -563,23 +563,23 @@
    (num-versions :initarg :num-versions :type xcb:CARD32)
    (gl-str-len :initarg :gl-str-len :type xcb:CARD32)
    (glx-str-len :initarg :glx-str-len :type xcb:CARD32)
-   (gl-versions :initarg :gl-versions :type xcb:-ignore)
    (gl-versions~ :initform
                 '(name gl-versions type xcb:CARD32 size
                        (*
                         (xcb:-fieldref 'num-versions)
                         2))
                 :type xcb:-list)
-   (gl-extension-string :initarg :gl-extension-string :type xcb:-ignore)
+   (gl-versions :initarg :gl-versions :type xcb:-ignore)
    (gl-extension-string~ :initform
                         '(name gl-extension-string type xcb:char size
                                (xcb:-fieldref 'gl-str-len))
                         :type xcb:-list)
-   (glx-extension-string :initarg :glx-extension-string :type xcb:-ignore)
+   (gl-extension-string :initarg :gl-extension-string :type xcb:-ignore)
    (glx-extension-string~ :initform
                          '(name glx-extension-string type xcb:char size
                                 (xcb:-fieldref 'glx-str-len))
-                         :type xcb:-list)))
+                         :type xcb:-list)
+   (glx-extension-string :initarg :glx-extension-string :type xcb:-ignore)))
 
 (defclass xcb:glx:CreateContextAttribsARB
   (xcb:-request)
@@ -591,13 +591,13 @@
    (is-direct :initarg :is-direct :type xcb:BOOL)
    (pad~0 :initform 3 :type xcb:-pad)
    (num-attribs :initarg :num-attribs :type xcb:CARD32)
-   (attribs :initarg :attribs :type xcb:-ignore)
    (attribs~ :initform
             '(name attribs type xcb:CARD32 size
                    (*
                     (xcb:-fieldref 'num-attribs)
                     2))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (attribs :initarg :attribs :type xcb:-ignore)))
 
 (defclass xcb:glx:SetClientInfo2ARB
   (xcb:-request)
@@ -607,23 +607,23 @@
    (num-versions :initarg :num-versions :type xcb:CARD32)
    (gl-str-len :initarg :gl-str-len :type xcb:CARD32)
    (glx-str-len :initarg :glx-str-len :type xcb:CARD32)
-   (gl-versions :initarg :gl-versions :type xcb:-ignore)
    (gl-versions~ :initform
                 '(name gl-versions type xcb:CARD32 size
                        (*
                         (xcb:-fieldref 'num-versions)
                         3))
                 :type xcb:-list)
-   (gl-extension-string :initarg :gl-extension-string :type xcb:-ignore)
+   (gl-versions :initarg :gl-versions :type xcb:-ignore)
    (gl-extension-string~ :initform
                         '(name gl-extension-string type xcb:char size
                                (xcb:-fieldref 'gl-str-len))
                         :type xcb:-list)
-   (glx-extension-string :initarg :glx-extension-string :type xcb:-ignore)
+   (gl-extension-string :initarg :gl-extension-string :type xcb:-ignore)
    (glx-extension-string~ :initform
                          '(name glx-extension-string type xcb:char size
                                 (xcb:-fieldref 'glx-str-len))
-                         :type xcb:-list)))
+                         :type xcb:-list)
+   (glx-extension-string :initarg :glx-extension-string :type xcb:-ignore)))
 
 (defclass xcb:glx:NewList
   (xcb:-request)
@@ -683,11 +683,11 @@
    (n :initarg :n :type xcb:CARD32)
    (new-mode :initarg :new-mode :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defconst xcb:glx:RM:GL_RENDER 7168)
 (defconst xcb:glx:RM:GL_FEEDBACK 7169)
@@ -735,13 +735,13 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetBooleanv
   (xcb:-request)
@@ -757,11 +757,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:BOOL)
    (pad~2 :initform 15 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BOOL size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetClipPlane
   (xcb:-request)
@@ -775,13 +775,13 @@
    (length :type xcb:CARD32)
    (pad~1 :initform 1 :type xcb:-pad)
    (pad~2 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT64 size
                 (/
                  (xcb:-fieldref 'length)
                  2))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetDoublev
   (xcb:-request)
@@ -798,11 +798,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT64)
    (pad~3 :initform 8 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT64 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetError
   (xcb:-request)
@@ -829,11 +829,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetIntegerv
   (xcb:-request)
@@ -849,11 +849,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetLightfv
   (xcb:-request)
@@ -870,11 +870,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetLightiv
   (xcb:-request)
@@ -891,11 +891,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMapdv
   (xcb:-request)
@@ -913,11 +913,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT64)
    (pad~3 :initform 8 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT64 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMapfv
   (xcb:-request)
@@ -934,11 +934,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMapiv
   (xcb:-request)
@@ -955,11 +955,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMaterialfv
   (xcb:-request)
@@ -976,11 +976,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMaterialiv
   (xcb:-request)
@@ -997,11 +997,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetPixelMapfv
   (xcb:-request)
@@ -1017,11 +1017,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetPixelMapuiv
   (xcb:-request)
@@ -1037,11 +1037,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:CARD32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetPixelMapusv
   (xcb:-request)
@@ -1057,11 +1057,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:CARD16)
    (pad~2 :initform 16 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD16 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetPolygonStipple
   (xcb:-request)
@@ -1074,13 +1074,13 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetString
   (xcb:-request)
@@ -1095,11 +1095,11 @@
    (pad~1 :initform 4 :type xcb:-pad)
    (n :initarg :n :type xcb:CARD32)
    (pad~2 :initform 16 :type xcb:-pad)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'n))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexEnvfv
   (xcb:-request)
@@ -1116,11 +1116,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexEnviv
   (xcb:-request)
@@ -1137,11 +1137,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexGendv
   (xcb:-request)
@@ -1159,11 +1159,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT64)
    (pad~3 :initform 8 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT64 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexGenfv
   (xcb:-request)
@@ -1180,11 +1180,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexGeniv
   (xcb:-request)
@@ -1201,11 +1201,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexImage
   (xcb:-request)
@@ -1226,13 +1226,13 @@
    (height :initarg :height :type xcb:INT32)
    (depth :initarg :depth :type xcb:INT32)
    (pad~2 :initform 4 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexParameterfv
   (xcb:-request)
@@ -1249,11 +1249,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexParameteriv
   (xcb:-request)
@@ -1270,11 +1270,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexLevelParameterfv
   (xcb:-request)
@@ -1292,11 +1292,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetTexLevelParameteriv
   (xcb:-request)
@@ -1314,11 +1314,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:IsEnabled
   (xcb:-request)
@@ -1354,11 +1354,11 @@
   ((~opcode :initform 143 :type xcb:-u1)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
    (n :initarg :n :type xcb:INT32)
-   (textures :initarg :textures :type xcb:-ignore)
    (textures~ :initform
              '(name textures type xcb:CARD32 size
                     (xcb:-fieldref 'n))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (textures :initarg :textures :type xcb:-ignore)))
 (defclass xcb:glx:AreTexturesResident~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -1366,24 +1366,24 @@
    (length :type xcb:CARD32)
    (ret-val :initarg :ret-val :type xcb:glx:BOOL32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BOOL size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:DeleteTextures
   (xcb:-request)
   ((~opcode :initform 144 :type xcb:-u1)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
    (n :initarg :n :type xcb:INT32)
-   (textures :initarg :textures :type xcb:-ignore)
    (textures~ :initform
              '(name textures type xcb:CARD32 size
                     (xcb:-fieldref 'n))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (textures :initarg :textures :type xcb:-ignore)))
 
 (defclass xcb:glx:GenTextures
   (xcb:-request)
@@ -1396,11 +1396,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD32 size
                 (xcb:-fieldref 'length))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:IsTexture
   (xcb:-request)
@@ -1430,13 +1430,13 @@
    (pad~1 :initform 8 :type xcb:-pad)
    (width :initarg :width :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetColorTableParameterfv
   (xcb:-request)
@@ -1453,11 +1453,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetColorTableParameteriv
   (xcb:-request)
@@ -1474,11 +1474,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetConvolutionFilter
   (xcb:-request)
@@ -1497,13 +1497,13 @@
    (width :initarg :width :type xcb:INT32)
    (height :initarg :height :type xcb:INT32)
    (pad~2 :initform 8 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetConvolutionParameterfv
   (xcb:-request)
@@ -1520,11 +1520,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetConvolutionParameteriv
   (xcb:-request)
@@ -1541,11 +1541,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetSeparableFilter
   (xcb:-request)
@@ -1564,13 +1564,13 @@
    (row-w :initarg :row-w :type xcb:INT32)
    (col-h :initarg :col-h :type xcb:INT32)
    (pad~2 :initform 8 :type xcb:-pad)
-   (rows-and-cols :initarg :rows-and-cols :type xcb:-ignore)
    (rows-and-cols~ :initform
                   '(name rows-and-cols type xcb:BYTE size
                          (*
                           (xcb:-fieldref 'length)
                           4))
-                  :type xcb:-list)))
+                  :type xcb:-list)
+   (rows-and-cols :initarg :rows-and-cols :type xcb:-ignore)))
 
 (defclass xcb:glx:GetHistogram
   (xcb:-request)
@@ -1589,13 +1589,13 @@
    (pad~1 :initform 8 :type xcb:-pad)
    (width :initarg :width :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetHistogramParameterfv
   (xcb:-request)
@@ -1612,11 +1612,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetHistogramParameteriv
   (xcb:-request)
@@ -1633,11 +1633,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMinmax
   (xcb:-request)
@@ -1654,13 +1654,13 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMinmaxParameterfv
   (xcb:-request)
@@ -1677,11 +1677,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:glx:FLOAT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:glx:FLOAT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetMinmaxParameteriv
   (xcb:-request)
@@ -1698,11 +1698,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetCompressedTexImageARB
   (xcb:-request)
@@ -1718,24 +1718,24 @@
    (pad~1 :initform 8 :type xcb:-pad)
    (size :initarg :size :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:DeleteQueriesARB
   (xcb:-request)
   ((~opcode :initform 161 :type xcb:-u1)
    (context-tag :initarg :context-tag :type xcb:glx:CONTEXT_TAG)
    (n :initarg :n :type xcb:INT32)
-   (ids :initarg :ids :type xcb:-ignore)
    (ids~ :initform
         '(name ids type xcb:CARD32 size
                (xcb:-fieldref 'n))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (ids :initarg :ids :type xcb:-ignore)))
 
 (defclass xcb:glx:GenQueriesARB
   (xcb:-request)
@@ -1748,11 +1748,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD32 size
                 (xcb:-fieldref 'length))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:IsQueryARB
   (xcb:-request)
@@ -1781,11 +1781,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetQueryObjectivARB
   (xcb:-request)
@@ -1802,11 +1802,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:INT32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:INT32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:glx:GetQueryObjectuivARB
   (xcb:-request)
@@ -1823,11 +1823,11 @@
    (n :initarg :n :type xcb:CARD32)
    (datum :initarg :datum :type xcb:CARD32)
    (pad~2 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD32 size
                 (xcb:-fieldref 'n))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defconst xcb:glx:error-number-class-alist
   '((-1 . xcb:glx:Generic)
diff --git a/xcb-icccm.el b/xcb-icccm.el
index 4599a7d..af5aeb4 100644
--- a/xcb-icccm.el
+++ b/xcb-icccm.el
@@ -89,7 +89,7 @@ The value of these atoms will be available in `xcb:Atom' 
namespace."
    (event-mask :initform xcb:EventMask:NoEvent))
   :documentation "A fork of `xcb:SendEvent' to send ICCCM client messages.")
 
-(defclass xcb:icccm:--ClientMessage ()
+(defclass xcb:icccm:--ClientMessage (xcb:--struct)
   ((data :type xcb:-ignore))            ;shadowed slot
   :documentation "To shadow the data slot in `xcb:ClientMessage'.")
 ;;
@@ -357,7 +357,7 @@ whose fields are explicitly listed out."
 (defconst xcb:icccm:WM_SIZE_HINTS:PBaseSize 256)
 (defconst xcb:icccm:WM_SIZE_HINTS:PWinGravity 512)
 ;;
-(defclass xcb:icccm:-WM_SIZE_HINTS ()
+(defclass xcb:icccm:-WM_SIZE_HINTS (xcb:--struct)
   ((flags :initarg :flags :initform 0 :type xcb:-ignore)
    (x :initarg :x :initform 0 :type xcb:-ignore)
    (y :initarg :y :initform 0 :type xcb:-ignore)
@@ -409,7 +409,7 @@ whose fields are explicitly listed out."
 (defconst xcb:icccm:WM_HINTS:MessageHint 128)
 (defconst xcb:icccm:WM_HINTS:UrgencyHint 256)
 ;;
-(defclass xcb:icccm:-WM_HINTS ()
+(defclass xcb:icccm:-WM_HINTS (xcb:--struct)
   ((flags :initarg :flags :initform 0 :type xcb:-ignore)
    (input :initarg :input :initform 0 :type xcb:-ignore)
    (initial-state :initarg :initial-state :initform 0 :type xcb:-ignore)
@@ -509,7 +509,7 @@ whose fields are explicitly listed out."
 (defconst xcb:icccm:WM_STATE:NormalState 1)
 (defconst xcb:icccm:WM_STATE:IconicState 3)
 ;;
-(defclass xcb:icccm:-WM_STATE ()
+(defclass xcb:icccm:-WM_STATE (xcb:--struct)
   ((state :initarg :state :type xcb:-ignore)
    (icon :initarg :icon :type xcb:-ignore)))
 ;;
@@ -526,7 +526,7 @@ whose fields are explicitly listed out."
    (type :initform xcb:Atom:WM_STATE)))
 
 ;; WM_ICON_SIZE
-(defclass xcb:icccm:-WM_ICON_SIZE ()
+(defclass xcb:icccm:-WM_ICON_SIZE (xcb:--struct)
   ((min-width :initarg :min-width :type xcb:-ignore)
    (min-height :initarg :min-height :type xcb:-ignore)
    (max-width :initarg :max-width :type xcb:-ignore)
diff --git a/xcb-keysyms.el b/xcb-keysyms.el
index 3575b7e..54a967f 100644
--- a/xcb-keysyms.el
+++ b/xcb-keysyms.el
@@ -44,7 +44,7 @@
 (require 'xcb)
 (require 'xcb-xkb)
 
-(defclass xcb:keysyms:-device ()
+(defclass xcb:keysyms:-device (xcb:--struct)
   ((keytypes :initform nil)
    (keycodes :initform nil)
    (min-keycode :initform 0)
diff --git a/xcb-present.el b/xcb-present.el
index 0425dbe..3eaaa9a 100644
--- a/xcb-present.el
+++ b/xcb-present.el
@@ -106,10 +106,10 @@
    (target-msc :initarg :target-msc :type xcb:CARD64)
    (divisor :initarg :divisor :type xcb:CARD64)
    (remainder :initarg :remainder :type xcb:CARD64)
-   (notifies :initarg :notifies :type xcb:-ignore)
    (notifies~ :initform
              '(name notifies type xcb:present:Notify size nil)
-             :type xcb:-list)))
+             :type xcb:-list)
+   (notifies :initarg :notifies :type xcb:-ignore)))
 
 (defclass xcb:present:NotifyMSC
   (xcb:-request)
@@ -215,10 +215,10 @@
    (target-msc :initarg :target-msc :type xcb:CARD64)
    (divisor :initarg :divisor :type xcb:CARD64)
    (remainder :initarg :remainder :type xcb:CARD64)
-   (notifies :initarg :notifies :type xcb:-ignore)
    (notifies~ :initform
              '(name notifies type xcb:present:Notify size nil)
-             :type xcb:-list)))
+             :type xcb:-list)
+   (notifies :initarg :notifies :type xcb:-ignore)))
 
 (defconst xcb:present:event-number-class-alist
   '((0 . xcb:present:Generic))
diff --git a/xcb-randr.el b/xcb-randr.el
index 81ea15e..297063f 100644
--- a/xcb-randr.el
+++ b/xcb-randr.el
@@ -78,11 +78,11 @@
 (defclass xcb:randr:RefreshRates
   (xcb:-struct)
   ((nRates :initarg :nRates :type xcb:CARD16)
-   (rates :initarg :rates :type xcb:-ignore)
    (rates~ :initform
           '(name rates type xcb:CARD16 size
                  (xcb:-fieldref 'nRates))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (rates :initarg :rates :type xcb:-ignore)))
 
 (defclass xcb:randr:QueryVersion
   (xcb:-request)
@@ -158,18 +158,18 @@
    (rate :initarg :rate :type xcb:CARD16)
    (nInfo :initarg :nInfo :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (sizes :initarg :sizes :type xcb:-ignore)
    (sizes~ :initform
           '(name sizes type xcb:randr:ScreenSize size
                  (xcb:-fieldref 'nSizes))
           :type xcb:-list)
-   (rates :initarg :rates :type xcb:-ignore)
+   (sizes :initarg :sizes :type xcb:-ignore)
    (rates~ :initform
           '(name rates type xcb:randr:RefreshRates size
                  (-
                   (xcb:-fieldref 'nInfo)
                   (xcb:-fieldref 'nSizes)))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (rates :initarg :rates :type xcb:-ignore)))
 
 (defclass xcb:randr:GetScreenSizeRange
   (xcb:-request)
@@ -242,26 +242,26 @@
    (num-modes :initarg :num-modes :type xcb:CARD16)
    (names-len :initarg :names-len :type xcb:CARD16)
    (pad~1 :initform 8 :type xcb:-pad)
-   (crtcs :initarg :crtcs :type xcb:-ignore)
    (crtcs~ :initform
           '(name crtcs type xcb:randr:CRTC size
                  (xcb:-fieldref 'num-crtcs))
           :type xcb:-list)
-   (outputs :initarg :outputs :type xcb:-ignore)
+   (crtcs :initarg :crtcs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'num-outputs))
             :type xcb:-list)
-   (modes :initarg :modes :type xcb:-ignore)
+   (outputs :initarg :outputs :type xcb:-ignore)
    (modes~ :initform
           '(name modes type xcb:randr:ModeInfo size
                  (xcb:-fieldref 'num-modes))
           :type xcb:-list)
-   (names :initarg :names :type xcb:-ignore)
+   (modes :initarg :modes :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:BYTE size
                  (xcb:-fieldref 'names-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (names :initarg :names :type xcb:-ignore)))
 
 (defconst xcb:randr:Connection:Connected 0)
 (defconst xcb:randr:Connection:Disconnected 1)
@@ -288,26 +288,26 @@
    (num-preferred :initarg :num-preferred :type xcb:CARD16)
    (num-clones :initarg :num-clones :type xcb:CARD16)
    (name-len :initarg :name-len :type xcb:CARD16)
-   (crtcs :initarg :crtcs :type xcb:-ignore)
    (crtcs~ :initform
           '(name crtcs type xcb:randr:CRTC size
                  (xcb:-fieldref 'num-crtcs))
           :type xcb:-list)
-   (modes :initarg :modes :type xcb:-ignore)
+   (crtcs :initarg :crtcs :type xcb:-ignore)
    (modes~ :initform
           '(name modes type xcb:randr:MODE size
                  (xcb:-fieldref 'num-modes))
           :type xcb:-list)
-   (clones :initarg :clones :type xcb:-ignore)
+   (modes :initarg :modes :type xcb:-ignore)
    (clones~ :initform
            '(name clones type xcb:randr:OUTPUT size
                   (xcb:-fieldref 'num-clones))
            :type xcb:-list)
-   (name :initarg :name :type xcb:-ignore)
+   (clones :initarg :clones :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:BYTE size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:randr:ListOutputProperties
   (xcb:-request)
@@ -320,11 +320,11 @@
    (length :type xcb:CARD32)
    (num-atoms :initarg :num-atoms :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (atoms :initarg :atoms :type xcb:-ignore)
    (atoms~ :initform
           '(name atoms type xcb:ATOM size
                  (xcb:-fieldref 'num-atoms))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (atoms :initarg :atoms :type xcb:-ignore)))
 
 (defclass xcb:randr:QueryOutputProperty
   (xcb:-request)
@@ -340,11 +340,11 @@
    (range :initarg :range :type xcb:BOOL)
    (immutable :initarg :immutable :type xcb:BOOL)
    (pad~1 :initform 21 :type xcb:-pad)
-   (validValues :initarg :validValues :type xcb:-ignore)
    (validValues~ :initform
                 '(name validValues type xcb:INT32 size
                        (xcb:-fieldref 'length))
-                :type xcb:-list)))
+                :type xcb:-list)
+   (validValues :initarg :validValues :type xcb:-ignore)))
 
 (defclass xcb:randr:ConfigureOutputProperty
   (xcb:-request)
@@ -354,10 +354,10 @@
    (pending :initarg :pending :type xcb:BOOL)
    (range :initarg :range :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (values :initarg :values :type xcb:-ignore)
    (values~ :initform
            '(name values type xcb:INT32 size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (values :initarg :values :type xcb:-ignore)))
 
 (defclass xcb:randr:ChangeOutputProperty
   (xcb:-request)
@@ -369,7 +369,6 @@
    (mode :initarg :mode :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
    (num-units :initarg :num-units :type xcb:CARD32)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:void size
                 (/
@@ -377,7 +376,8 @@
                   (xcb:-fieldref 'num-units)
                   (xcb:-fieldref 'format))
                  8))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:randr:DeleteOutputProperty
   (xcb:-request)
@@ -405,7 +405,6 @@
    (bytes-after :initarg :bytes-after :type xcb:CARD32)
    (num-items :initarg :num-items :type xcb:CARD32)
    (pad~0 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
@@ -413,17 +412,18 @@
                  (/
                   (xcb:-fieldref 'format)
                   8)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:randr:CreateMode
   (xcb:-request)
   ((~opcode :initform 16 :type xcb:-u1)
    (window :initarg :window :type xcb:WINDOW)
    (mode-info :initarg :mode-info :type xcb:randr:ModeInfo)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:randr:CreateMode~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -469,16 +469,16 @@
    (rotations :initarg :rotations :type xcb:CARD16)
    (num-outputs :initarg :num-outputs :type xcb:CARD16)
    (num-possible-outputs :initarg :num-possible-outputs :type xcb:CARD16)
-   (outputs :initarg :outputs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'num-outputs))
             :type xcb:-list)
-   (possible :initarg :possible :type xcb:-ignore)
+   (outputs :initarg :outputs :type xcb:-ignore)
    (possible~ :initform
              '(name possible type xcb:randr:OUTPUT size
                     (xcb:-fieldref 'num-possible-outputs))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (possible :initarg :possible :type xcb:-ignore)))
 
 (defclass xcb:randr:SetCrtcConfig
   (xcb:-request)
@@ -491,10 +491,10 @@
    (mode :initarg :mode :type xcb:randr:MODE)
    (rotation :initarg :rotation :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (outputs :initarg :outputs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size nil)
-            :type xcb:-list)))
+            :type xcb:-list)
+   (outputs :initarg :outputs :type xcb:-ignore)))
 (defclass xcb:randr:SetCrtcConfig~reply
   (xcb:-reply)
   ((status :initarg :status :type xcb:CARD8)
@@ -526,21 +526,21 @@
    (length :type xcb:CARD32)
    (size :initarg :size :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (red :initarg :red :type xcb:-ignore)
    (red~ :initform
         '(name red type xcb:CARD16 size
                (xcb:-fieldref 'size))
         :type xcb:-list)
-   (green :initarg :green :type xcb:-ignore)
+   (red :initarg :red :type xcb:-ignore)
    (green~ :initform
           '(name green type xcb:CARD16 size
                  (xcb:-fieldref 'size))
           :type xcb:-list)
-   (blue :initarg :blue :type xcb:-ignore)
+   (green :initarg :green :type xcb:-ignore)
    (blue~ :initform
          '(name blue type xcb:CARD16 size
                 (xcb:-fieldref 'size))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (blue :initarg :blue :type xcb:-ignore)))
 
 (defclass xcb:randr:SetCrtcGamma
   (xcb:-request)
@@ -548,21 +548,21 @@
    (crtc :initarg :crtc :type xcb:randr:CRTC)
    (size :initarg :size :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (red :initarg :red :type xcb:-ignore)
    (red~ :initform
         '(name red type xcb:CARD16 size
                (xcb:-fieldref 'size))
         :type xcb:-list)
-   (green :initarg :green :type xcb:-ignore)
+   (red :initarg :red :type xcb:-ignore)
    (green~ :initform
           '(name green type xcb:CARD16 size
                  (xcb:-fieldref 'size))
           :type xcb:-list)
-   (blue :initarg :blue :type xcb:-ignore)
+   (green :initarg :green :type xcb:-ignore)
    (blue~ :initform
          '(name blue type xcb:CARD16 size
                 (xcb:-fieldref 'size))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (blue :initarg :blue :type xcb:-ignore)))
 
 (defclass xcb:randr:GetScreenResourcesCurrent
   (xcb:-request)
@@ -580,26 +580,26 @@
    (num-modes :initarg :num-modes :type xcb:CARD16)
    (names-len :initarg :names-len :type xcb:CARD16)
    (pad~1 :initform 8 :type xcb:-pad)
-   (crtcs :initarg :crtcs :type xcb:-ignore)
    (crtcs~ :initform
           '(name crtcs type xcb:randr:CRTC size
                  (xcb:-fieldref 'num-crtcs))
           :type xcb:-list)
-   (outputs :initarg :outputs :type xcb:-ignore)
+   (crtcs :initarg :crtcs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'num-outputs))
             :type xcb:-list)
-   (modes :initarg :modes :type xcb:-ignore)
+   (outputs :initarg :outputs :type xcb:-ignore)
    (modes~ :initform
           '(name modes type xcb:randr:ModeInfo size
                  (xcb:-fieldref 'num-modes))
           :type xcb:-list)
-   (names :initarg :names :type xcb:-ignore)
+   (modes :initarg :modes :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:BYTE size
                  (xcb:-fieldref 'names-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (names :initarg :names :type xcb:-ignore)))
 
 (defconst xcb:randr:Transform:Unit 1)
 (defconst xcb:randr:Transform:ScaleUp 2)
@@ -613,16 +613,16 @@
    (transform :initarg :transform :type xcb:render:TRANSFORM)
    (filter-len :initarg :filter-len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (filter-name :initarg :filter-name :type xcb:-ignore)
    (filter-name~ :initform
                 '(name filter-name type xcb:char size
                        (xcb:-fieldref 'filter-len))
                 :type xcb:-list)
+   (filter-name :initarg :filter-name :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (filter-params :initarg :filter-params :type xcb:-ignore)
    (filter-params~ :initform
                   '(name filter-params type xcb:render:FIXED size nil)
-                  :type xcb:-list)))
+                  :type xcb:-list)
+   (filter-params :initarg :filter-params :type xcb:-ignore)))
 
 (defclass xcb:randr:GetCrtcTransform
   (xcb:-request)
@@ -642,28 +642,28 @@
    (pending-nparams :initarg :pending-nparams :type xcb:CARD16)
    (current-len :initarg :current-len :type xcb:CARD16)
    (current-nparams :initarg :current-nparams :type xcb:CARD16)
-   (pending-filter-name :initarg :pending-filter-name :type xcb:-ignore)
    (pending-filter-name~ :initform
                         '(name pending-filter-name type xcb:char size
                                (xcb:-fieldref 'pending-len))
                         :type xcb:-list)
+   (pending-filter-name :initarg :pending-filter-name :type xcb:-ignore)
    (pad~3 :initform 4 :type xcb:-pad-align)
-   (pending-params :initarg :pending-params :type xcb:-ignore)
    (pending-params~ :initform
                    '(name pending-params type xcb:render:FIXED size
                           (xcb:-fieldref 'pending-nparams))
                    :type xcb:-list)
-   (current-filter-name :initarg :current-filter-name :type xcb:-ignore)
+   (pending-params :initarg :pending-params :type xcb:-ignore)
    (current-filter-name~ :initform
                         '(name current-filter-name type xcb:char size
                                (xcb:-fieldref 'current-len))
                         :type xcb:-list)
+   (current-filter-name :initarg :current-filter-name :type xcb:-ignore)
    (pad~4 :initform 4 :type xcb:-pad-align)
-   (current-params :initarg :current-params :type xcb:-ignore)
    (current-params~ :initform
                    '(name current-params type xcb:render:FIXED size
                           (xcb:-fieldref 'current-nparams))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (current-params :initarg :current-params :type xcb:-ignore)))
 
 (defclass xcb:randr:GetPanning
   (xcb:-request)
@@ -741,11 +741,11 @@
    (timestamp :initarg :timestamp :type xcb:TIMESTAMP)
    (num-providers :initarg :num-providers :type xcb:CARD16)
    (pad~1 :initform 18 :type xcb:-pad)
-   (providers :initarg :providers :type xcb:-ignore)
    (providers~ :initform
               '(name providers type xcb:randr:PROVIDER size
                      (xcb:-fieldref 'num-providers))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (providers :initarg :providers :type xcb:-ignore)))
 
 (defconst xcb:randr:ProviderCapability:SourceOutput 1)
 (defconst xcb:randr:ProviderCapability:SinkOutput 2)
@@ -769,31 +769,31 @@
    (num-associated-providers :initarg :num-associated-providers :type 
xcb:CARD16)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~0 :initform 8 :type xcb:-pad)
-   (crtcs :initarg :crtcs :type xcb:-ignore)
    (crtcs~ :initform
           '(name crtcs type xcb:randr:CRTC size
                  (xcb:-fieldref 'num-crtcs))
           :type xcb:-list)
-   (outputs :initarg :outputs :type xcb:-ignore)
+   (crtcs :initarg :crtcs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'num-outputs))
             :type xcb:-list)
-   (associated-providers :initarg :associated-providers :type xcb:-ignore)
+   (outputs :initarg :outputs :type xcb:-ignore)
    (associated-providers~ :initform
                          '(name associated-providers type xcb:randr:PROVIDER 
size
                                 (xcb:-fieldref 'num-associated-providers))
                          :type xcb:-list)
-   (associated-capability :initarg :associated-capability :type xcb:-ignore)
+   (associated-providers :initarg :associated-providers :type xcb:-ignore)
    (associated-capability~ :initform
                           '(name associated-capability type xcb:CARD32 size
                                  (xcb:-fieldref 'num-associated-providers))
                           :type xcb:-list)
-   (name :initarg :name :type xcb:-ignore)
+   (associated-capability :initarg :associated-capability :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:randr:SetProviderOffloadSink
   (xcb:-request)
@@ -820,11 +820,11 @@
    (length :type xcb:CARD32)
    (num-atoms :initarg :num-atoms :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (atoms :initarg :atoms :type xcb:-ignore)
    (atoms~ :initform
           '(name atoms type xcb:ATOM size
                  (xcb:-fieldref 'num-atoms))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (atoms :initarg :atoms :type xcb:-ignore)))
 
 (defclass xcb:randr:QueryProviderProperty
   (xcb:-request)
@@ -840,11 +840,11 @@
    (range :initarg :range :type xcb:BOOL)
    (immutable :initarg :immutable :type xcb:BOOL)
    (pad~1 :initform 21 :type xcb:-pad)
-   (valid-values :initarg :valid-values :type xcb:-ignore)
    (valid-values~ :initform
                  '(name valid-values type xcb:INT32 size
                         (xcb:-fieldref 'length))
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (valid-values :initarg :valid-values :type xcb:-ignore)))
 
 (defclass xcb:randr:ConfigureProviderProperty
   (xcb:-request)
@@ -854,10 +854,10 @@
    (pending :initarg :pending :type xcb:BOOL)
    (range :initarg :range :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (values :initarg :values :type xcb:-ignore)
    (values~ :initform
            '(name values type xcb:INT32 size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (values :initarg :values :type xcb:-ignore)))
 
 (defclass xcb:randr:ChangeProviderProperty
   (xcb:-request)
@@ -869,7 +869,6 @@
    (mode :initarg :mode :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
    (num-items :initarg :num-items :type xcb:CARD32)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:void size
                 (*
@@ -877,7 +876,8 @@
                  (/
                   (xcb:-fieldref 'format)
                   8)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:randr:DeleteProviderProperty
   (xcb:-request)
@@ -905,7 +905,6 @@
    (bytes-after :initarg :bytes-after :type xcb:CARD32)
    (num-items :initarg :num-items :type xcb:CARD32)
    (pad~0 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:void size
                 (*
@@ -913,7 +912,8 @@
                  (/
                   (xcb:-fieldref 'format)
                   8)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:randr:ScreenChangeNotify
   (xcb:-event)
@@ -1007,11 +1007,11 @@
    (height :initarg :height :type xcb:CARD16)
    (width-in-millimeters :initarg :width-in-millimeters :type xcb:CARD32)
    (height-in-millimeters :initarg :height-in-millimeters :type xcb:CARD32)
-   (outputs :initarg :outputs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'nOutput))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (outputs :initarg :outputs :type xcb:-ignore)))
 
 (defclass xcb:randr:GetMonitors
   (xcb:-request)
@@ -1027,11 +1027,11 @@
    (nMonitors :initarg :nMonitors :type xcb:CARD32)
    (nOutputs :initarg :nOutputs :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (monitors :initarg :monitors :type xcb:-ignore)
    (monitors~ :initform
              '(name monitors type xcb:randr:MonitorInfo size
                     (xcb:-fieldref 'nMonitors))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (monitors :initarg :monitors :type xcb:-ignore)))
 
 (defclass xcb:randr:SetMonitor
   (xcb:-request)
@@ -1052,16 +1052,16 @@
    (lid :initarg :lid :type xcb:randr:LEASE)
    (num-crtcs :initarg :num-crtcs :type xcb:CARD16)
    (num-outputs :initarg :num-outputs :type xcb:CARD16)
-   (crtcs :initarg :crtcs :type xcb:-ignore)
    (crtcs~ :initform
           '(name crtcs type xcb:randr:CRTC size
                  (xcb:-fieldref 'num-crtcs))
           :type xcb:-list)
-   (outputs :initarg :outputs :type xcb:-ignore)
+   (crtcs :initarg :crtcs :type xcb:-ignore)
    (outputs~ :initform
             '(name outputs type xcb:randr:OUTPUT size
                    (xcb:-fieldref 'num-outputs))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (outputs :initarg :outputs :type xcb:-ignore)))
 (defclass xcb:randr:CreateLease~reply
   (xcb:-reply)
   ((nfd :initarg :nfd :type xcb:CARD8)
diff --git a/xcb-record.el b/xcb-record.el
index 3996ae6..c8abd22 100644
--- a/xcb-record.el
+++ b/xcb-record.el
@@ -76,11 +76,11 @@
   (xcb:-struct)
   ((client-resource :initarg :client-resource :type xcb:record:ClientSpec)
    (num-ranges :initarg :num-ranges :type xcb:CARD32)
-   (ranges :initarg :ranges :type xcb:-ignore)
    (ranges~ :initform
            '(name ranges type xcb:record:Range size
                   (xcb:-fieldref 'num-ranges))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (ranges :initarg :ranges :type xcb:-ignore)))
 
 (defclass xcb:record:BadContext
   (xcb:-error)
@@ -108,16 +108,16 @@
    (pad~0 :initform 3 :type xcb:-pad)
    (num-client-specs :initarg :num-client-specs :type xcb:CARD32)
    (num-ranges :initarg :num-ranges :type xcb:CARD32)
-   (client-specs :initarg :client-specs :type xcb:-ignore)
    (client-specs~ :initform
                  '(name client-specs type xcb:record:ClientSpec size
                         (xcb:-fieldref 'num-client-specs))
                  :type xcb:-list)
-   (ranges :initarg :ranges :type xcb:-ignore)
+   (client-specs :initarg :client-specs :type xcb:-ignore)
    (ranges~ :initform
            '(name ranges type xcb:record:Range size
                   (xcb:-fieldref 'num-ranges))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (ranges :initarg :ranges :type xcb:-ignore)))
 
 (defclass xcb:record:RegisterClients
   (xcb:-request)
@@ -127,27 +127,27 @@
    (pad~0 :initform 3 :type xcb:-pad)
    (num-client-specs :initarg :num-client-specs :type xcb:CARD32)
    (num-ranges :initarg :num-ranges :type xcb:CARD32)
-   (client-specs :initarg :client-specs :type xcb:-ignore)
    (client-specs~ :initform
                  '(name client-specs type xcb:record:ClientSpec size
                         (xcb:-fieldref 'num-client-specs))
                  :type xcb:-list)
-   (ranges :initarg :ranges :type xcb:-ignore)
+   (client-specs :initarg :client-specs :type xcb:-ignore)
    (ranges~ :initform
            '(name ranges type xcb:record:Range size
                   (xcb:-fieldref 'num-ranges))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (ranges :initarg :ranges :type xcb:-ignore)))
 
 (defclass xcb:record:UnregisterClients
   (xcb:-request)
   ((~opcode :initform 3 :type xcb:-u1)
    (context :initarg :context :type xcb:record:CONTEXT)
    (num-client-specs :initarg :num-client-specs :type xcb:CARD32)
-   (client-specs :initarg :client-specs :type xcb:-ignore)
    (client-specs~ :initform
                  '(name client-specs type xcb:record:ClientSpec size
                         (xcb:-fieldref 'num-client-specs))
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (client-specs :initarg :client-specs :type xcb:-ignore)))
 
 (defclass xcb:record:GetContext
   (xcb:-request)
@@ -162,11 +162,11 @@
    (pad~0 :initform 3 :type xcb:-pad)
    (num-intercepted-clients :initarg :num-intercepted-clients :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (intercepted-clients :initarg :intercepted-clients :type xcb:-ignore)
    (intercepted-clients~ :initform
                         '(name intercepted-clients type xcb:record:ClientInfo 
size
                                (xcb:-fieldref 'num-intercepted-clients))
-                        :type xcb:-list)))
+                        :type xcb:-list)
+   (intercepted-clients :initarg :intercepted-clients :type xcb:-ignore)))
 
 (defclass xcb:record:EnableContext
   (xcb:-request)
@@ -184,13 +184,13 @@
    (server-time :initarg :server-time :type xcb:CARD32)
    (rec-sequence-num :initarg :rec-sequence-num :type xcb:CARD32)
    (pad~1 :initform 8 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:record:DisableContext
   (xcb:-request)
diff --git a/xcb-render.el b/xcb-render.el
index 423f6cd..06f21e8 100644
--- a/xcb-render.el
+++ b/xcb-render.el
@@ -185,21 +185,21 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (num-visuals :initarg :num-visuals :type xcb:CARD16)
    (pad~1 :initform 4 :type xcb:-pad)
-   (visuals :initarg :visuals :type xcb:-ignore)
    (visuals~ :initform
             '(name visuals type xcb:render:PICTVISUAL size
                    (xcb:-fieldref 'num-visuals))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (visuals :initarg :visuals :type xcb:-ignore)))
 
 (defclass xcb:render:PICTSCREEN
   (xcb:-struct)
   ((num-depths :initarg :num-depths :type xcb:CARD32)
    (fallback :initarg :fallback :type xcb:render:PICTFORMAT)
-   (depths :initarg :depths :type xcb:-ignore)
    (depths~ :initform
            '(name depths type xcb:render:PICTDEPTH size
                   (xcb:-fieldref 'num-depths))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (depths :initarg :depths :type xcb:-ignore)))
 
 (defclass xcb:render:INDEXVALUE
   (xcb:-struct)
@@ -276,21 +276,21 @@
    (num-visuals :initarg :num-visuals :type xcb:CARD32)
    (num-subpixel :initarg :num-subpixel :type xcb:CARD32)
    (pad~1 :initform 4 :type xcb:-pad)
-   (formats :initarg :formats :type xcb:-ignore)
    (formats~ :initform
             '(name formats type xcb:render:PICTFORMINFO size
                    (xcb:-fieldref 'num-formats))
             :type xcb:-list)
-   (screens :initarg :screens :type xcb:-ignore)
+   (formats :initarg :formats :type xcb:-ignore)
    (screens~ :initform
             '(name screens type xcb:render:PICTSCREEN size
                    (xcb:-fieldref 'num-screens))
             :type xcb:-list)
-   (subpixels :initarg :subpixels :type xcb:-ignore)
+   (screens :initarg :screens :type xcb:-ignore)
    (subpixels~ :initform
               '(name subpixels type xcb:CARD32 size
                      (xcb:-fieldref 'num-subpixel))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (subpixels :initarg :subpixels :type xcb:-ignore)))
 
 (defclass xcb:render:QueryPictIndexValues
   (xcb:-request)
@@ -303,11 +303,11 @@
    (length :type xcb:CARD32)
    (num-values :initarg :num-values :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (values :initarg :values :type xcb:-ignore)
    (values~ :initform
            '(name values type xcb:render:INDEXVALUE size
                   (xcb:-fieldref 'num-values))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (values :initarg :values :type xcb:-ignore)))
 
 (defclass xcb:render:CreatePicture
   (xcb:-request)
@@ -391,10 +391,10 @@
    (picture :initarg :picture :type xcb:render:PICTURE)
    (clip-x-origin :initarg :clip-x-origin :type xcb:INT16)
    (clip-y-origin :initarg :clip-y-origin :type xcb:INT16)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:render:FreePicture
   (xcb:-request)
@@ -428,10 +428,10 @@
    (mask-format :initarg :mask-format :type xcb:render:PICTFORMAT)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (traps :initarg :traps :type xcb:-ignore)
    (traps~ :initform
           '(name traps type xcb:render:TRAPEZOID size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (traps :initarg :traps :type xcb:-ignore)))
 
 (defclass xcb:render:Triangles
   (xcb:-request)
@@ -443,10 +443,10 @@
    (mask-format :initarg :mask-format :type xcb:render:PICTFORMAT)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (triangles :initarg :triangles :type xcb:-ignore)
    (triangles~ :initform
               '(name triangles type xcb:render:TRIANGLE size nil)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (triangles :initarg :triangles :type xcb:-ignore)))
 
 (defclass xcb:render:TriStrip
   (xcb:-request)
@@ -458,10 +458,10 @@
    (mask-format :initarg :mask-format :type xcb:render:PICTFORMAT)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:render:POINTFIX size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:render:TriFan
   (xcb:-request)
@@ -473,10 +473,10 @@
    (mask-format :initarg :mask-format :type xcb:render:PICTFORMAT)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:render:POINTFIX size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:render:CreateGlyphSet
   (xcb:-request)
@@ -500,29 +500,29 @@
   ((~opcode :initform 20 :type xcb:-u1)
    (glyphset :initarg :glyphset :type xcb:render:GLYPHSET)
    (glyphs-len :initarg :glyphs-len :type xcb:CARD32)
-   (glyphids :initarg :glyphids :type xcb:-ignore)
    (glyphids~ :initform
              '(name glyphids type xcb:CARD32 size
                     (xcb:-fieldref 'glyphs-len))
              :type xcb:-list)
-   (glyphs :initarg :glyphs :type xcb:-ignore)
+   (glyphids :initarg :glyphids :type xcb:-ignore)
    (glyphs~ :initform
            '(name glyphs type xcb:render:GLYPHINFO size
                   (xcb:-fieldref 'glyphs-len))
            :type xcb:-list)
-   (data :initarg :data :type xcb:-ignore)
+   (glyphs :initarg :glyphs :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:render:FreeGlyphs
   (xcb:-request)
   ((~opcode :initform 22 :type xcb:-u1)
    (glyphset :initarg :glyphset :type xcb:render:GLYPHSET)
-   (glyphs :initarg :glyphs :type xcb:-ignore)
    (glyphs~ :initform
            '(name glyphs type xcb:render:GLYPH size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (glyphs :initarg :glyphs :type xcb:-ignore)))
 
 (defclass xcb:render:CompositeGlyphs8
   (xcb:-request)
@@ -535,10 +535,10 @@
    (glyphset :initarg :glyphset :type xcb:render:GLYPHSET)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)
    (glyphcmds~ :initform
               '(name glyphcmds type xcb:BYTE size nil)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)))
 
 (defclass xcb:render:CompositeGlyphs16
   (xcb:-request)
@@ -551,10 +551,10 @@
    (glyphset :initarg :glyphset :type xcb:render:GLYPHSET)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)
    (glyphcmds~ :initform
               '(name glyphcmds type xcb:BYTE size nil)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)))
 
 (defclass xcb:render:CompositeGlyphs32
   (xcb:-request)
@@ -567,10 +567,10 @@
    (glyphset :initarg :glyphset :type xcb:render:GLYPHSET)
    (src-x :initarg :src-x :type xcb:INT16)
    (src-y :initarg :src-y :type xcb:INT16)
-   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)
    (glyphcmds~ :initform
               '(name glyphcmds type xcb:BYTE size nil)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (glyphcmds :initarg :glyphcmds :type xcb:-ignore)))
 
 (defclass xcb:render:FillRectangles
   (xcb:-request)
@@ -579,10 +579,10 @@
    (pad~0 :initform 3 :type xcb:-pad)
    (dst :initarg :dst :type xcb:render:PICTURE)
    (color :initarg :color :type xcb:render:COLOR)
-   (rects :initarg :rects :type xcb:-ignore)
    (rects~ :initform
           '(name rects type xcb:RECTANGLE size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (rects :initarg :rects :type xcb:-ignore)))
 
 (defclass xcb:render:CreateCursor
   (xcb:-request)
@@ -622,16 +622,16 @@
    (num-aliases :initarg :num-aliases :type xcb:CARD32)
    (num-filters :initarg :num-filters :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (aliases :initarg :aliases :type xcb:-ignore)
    (aliases~ :initform
             '(name aliases type xcb:CARD16 size
                    (xcb:-fieldref 'num-aliases))
             :type xcb:-list)
-   (filters :initarg :filters :type xcb:-ignore)
+   (aliases :initarg :aliases :type xcb:-ignore)
    (filters~ :initform
             '(name filters type xcb:STR size
                    (xcb:-fieldref 'num-filters))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (filters :initarg :filters :type xcb:-ignore)))
 
 (defclass xcb:render:SetPictureFilter
   (xcb:-request)
@@ -639,16 +639,16 @@
    (picture :initarg :picture :type xcb:render:PICTURE)
    (filter-len :initarg :filter-len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (filter :initarg :filter :type xcb:-ignore)
    (filter~ :initform
            '(name filter type xcb:char size
                   (xcb:-fieldref 'filter-len))
            :type xcb:-list)
+   (filter :initarg :filter :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (values :initarg :values :type xcb:-ignore)
    (values~ :initform
            '(name values type xcb:render:FIXED size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (values :initarg :values :type xcb:-ignore)))
 
 (defclass xcb:render:ANIMCURSORELT
   (xcb:-struct)
@@ -659,10 +659,10 @@
   (xcb:-request)
   ((~opcode :initform 31 :type xcb:-u1)
    (cid :initarg :cid :type xcb:CURSOR)
-   (cursors :initarg :cursors :type xcb:-ignore)
    (cursors~ :initform
             '(name cursors type xcb:render:ANIMCURSORELT size nil)
-            :type xcb:-list)))
+            :type xcb:-list)
+   (cursors :initarg :cursors :type xcb:-ignore)))
 
 (defclass xcb:render:SPANFIX
   (xcb:-struct)
@@ -681,10 +681,10 @@
    (picture :initarg :picture :type xcb:render:PICTURE)
    (x-off :initarg :x-off :type xcb:INT16)
    (y-off :initarg :y-off :type xcb:INT16)
-   (traps :initarg :traps :type xcb:-ignore)
    (traps~ :initform
           '(name traps type xcb:render:TRAP size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (traps :initarg :traps :type xcb:-ignore)))
 
 (defclass xcb:render:CreateSolidFill
   (xcb:-request)
@@ -699,16 +699,16 @@
    (p1 :initarg :p1 :type xcb:render:POINTFIX)
    (p2 :initarg :p2 :type xcb:render:POINTFIX)
    (num-stops :initarg :num-stops :type xcb:CARD32)
-   (stops :initarg :stops :type xcb:-ignore)
    (stops~ :initform
           '(name stops type xcb:render:FIXED size
                  (xcb:-fieldref 'num-stops))
           :type xcb:-list)
-   (colors :initarg :colors :type xcb:-ignore)
+   (stops :initarg :stops :type xcb:-ignore)
    (colors~ :initform
            '(name colors type xcb:render:COLOR size
                   (xcb:-fieldref 'num-stops))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (colors :initarg :colors :type xcb:-ignore)))
 
 (defclass xcb:render:CreateRadialGradient
   (xcb:-request)
@@ -719,16 +719,16 @@
    (inner-radius :initarg :inner-radius :type xcb:render:FIXED)
    (outer-radius :initarg :outer-radius :type xcb:render:FIXED)
    (num-stops :initarg :num-stops :type xcb:CARD32)
-   (stops :initarg :stops :type xcb:-ignore)
    (stops~ :initform
           '(name stops type xcb:render:FIXED size
                  (xcb:-fieldref 'num-stops))
           :type xcb:-list)
-   (colors :initarg :colors :type xcb:-ignore)
+   (stops :initarg :stops :type xcb:-ignore)
    (colors~ :initform
            '(name colors type xcb:render:COLOR size
                   (xcb:-fieldref 'num-stops))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (colors :initarg :colors :type xcb:-ignore)))
 
 (defclass xcb:render:CreateConicalGradient
   (xcb:-request)
@@ -737,16 +737,16 @@
    (center :initarg :center :type xcb:render:POINTFIX)
    (angle :initarg :angle :type xcb:render:FIXED)
    (num-stops :initarg :num-stops :type xcb:CARD32)
-   (stops :initarg :stops :type xcb:-ignore)
    (stops~ :initform
           '(name stops type xcb:render:FIXED size
                  (xcb:-fieldref 'num-stops))
           :type xcb:-list)
-   (colors :initarg :colors :type xcb:-ignore)
+   (stops :initarg :stops :type xcb:-ignore)
    (colors~ :initform
            '(name colors type xcb:render:COLOR size
                   (xcb:-fieldref 'num-stops))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (colors :initarg :colors :type xcb:-ignore)))
 
 (defconst xcb:render:error-number-class-alist
   '((0 . xcb:render:PictFormat)
diff --git a/xcb-res.el b/xcb-res.el
index fccefe3..7c0a886 100644
--- a/xcb-res.el
+++ b/xcb-res.el
@@ -55,13 +55,13 @@
   (xcb:-struct)
   ((spec :initarg :spec :type xcb:res:ClientIdSpec)
    (length :initarg :length :type xcb:CARD32)
-   (value :initarg :value :type xcb:-ignore)
    (value~ :initform
           '(name value type xcb:CARD32 size
                  (/
                   (xcb:-fieldref 'length)
                   4))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (value :initarg :value :type xcb:-ignore)))
 
 (defclass xcb:res:ResourceIdSpec
   (xcb:-struct)
@@ -79,11 +79,11 @@
   (xcb:-struct)
   ((size :initarg :size :type xcb:res:ResourceSizeSpec)
    (num-cross-references :initarg :num-cross-references :type xcb:CARD32)
-   (cross-references :initarg :cross-references :type xcb:-ignore)
    (cross-references~ :initform
                      '(name cross-references type xcb:res:ResourceSizeSpec size
                             (xcb:-fieldref 'num-cross-references))
-                     :type xcb:-list)))
+                     :type xcb:-list)
+   (cross-references :initarg :cross-references :type xcb:-ignore)))
 
 (defclass xcb:res:QueryVersion
   (xcb:-request)
@@ -108,11 +108,11 @@
    (length :type xcb:CARD32)
    (num-clients :initarg :num-clients :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (clients :initarg :clients :type xcb:-ignore)
    (clients~ :initform
             '(name clients type xcb:res:Client size
                    (xcb:-fieldref 'num-clients))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (clients :initarg :clients :type xcb:-ignore)))
 
 (defclass xcb:res:QueryClientResources
   (xcb:-request)
@@ -125,11 +125,11 @@
    (length :type xcb:CARD32)
    (num-types :initarg :num-types :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (types :initarg :types :type xcb:-ignore)
    (types~ :initform
           '(name types type xcb:res:Type size
                  (xcb:-fieldref 'num-types))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (types :initarg :types :type xcb:-ignore)))
 
 (defclass xcb:res:QueryClientPixmapBytes
   (xcb:-request)
@@ -147,11 +147,11 @@
   (xcb:-request)
   ((~opcode :initform 4 :type xcb:-u1)
    (num-specs :initarg :num-specs :type xcb:CARD32)
-   (specs :initarg :specs :type xcb:-ignore)
    (specs~ :initform
           '(name specs type xcb:res:ClientIdSpec size
                  (xcb:-fieldref 'num-specs))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (specs :initarg :specs :type xcb:-ignore)))
 (defclass xcb:res:QueryClientIds~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -159,22 +159,22 @@
    (length :type xcb:CARD32)
    (num-ids :initarg :num-ids :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (ids :initarg :ids :type xcb:-ignore)
    (ids~ :initform
         '(name ids type xcb:res:ClientIdValue size
                (xcb:-fieldref 'num-ids))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (ids :initarg :ids :type xcb:-ignore)))
 
 (defclass xcb:res:QueryResourceBytes
   (xcb:-request)
   ((~opcode :initform 5 :type xcb:-u1)
    (client :initarg :client :type xcb:CARD32)
    (num-specs :initarg :num-specs :type xcb:CARD32)
-   (specs :initarg :specs :type xcb:-ignore)
    (specs~ :initform
           '(name specs type xcb:res:ResourceIdSpec size
                  (xcb:-fieldref 'num-specs))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (specs :initarg :specs :type xcb:-ignore)))
 (defclass xcb:res:QueryResourceBytes~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -182,11 +182,11 @@
    (length :type xcb:CARD32)
    (num-sizes :initarg :num-sizes :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (sizes :initarg :sizes :type xcb:-ignore)
    (sizes~ :initform
           '(name sizes type xcb:res:ResourceSizeValue size
                  (xcb:-fieldref 'num-sizes))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (sizes :initarg :sizes :type xcb:-ignore)))
 
 
 
diff --git a/xcb-shape.el b/xcb-shape.el
index 2166abe..d4febd8 100644
--- a/xcb-shape.el
+++ b/xcb-shape.el
@@ -82,10 +82,10 @@
    (destination-window :initarg :destination-window :type xcb:WINDOW)
    (x-offset :initarg :x-offset :type xcb:INT16)
    (y-offset :initarg :y-offset :type xcb:INT16)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:shape:Mask
   (xcb:-request)
@@ -170,11 +170,11 @@
    (length :type xcb:CARD32)
    (rectangles-len :initarg :rectangles-len :type xcb:CARD32)
    (pad~0 :initform 20 :type xcb:-pad)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size
                       (xcb:-fieldref 'rectangles-len))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defconst xcb:shape:event-number-class-alist
   '((0 . xcb:shape:Notify))
diff --git a/xcb-sync.el b/xcb-sync.el
index 120771c..801985b 100644
--- a/xcb-sync.el
+++ b/xcb-sync.el
@@ -68,11 +68,11 @@
   ((counter :initarg :counter :type xcb:sync:COUNTER)
    (resolution :initarg :resolution :type xcb:sync:INT64)
    (name-len :initarg :name-len :type xcb:CARD16)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:sync:TRIGGER
@@ -125,11 +125,11 @@
    (length :type xcb:CARD32)
    (counters-len :initarg :counters-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (counters :initarg :counters :type xcb:-ignore)
    (counters~ :initform
              '(name counters type xcb:sync:SYSTEMCOUNTER size
                     (xcb:-fieldref 'counters-len))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (counters :initarg :counters :type xcb:-ignore)))
 
 (defclass xcb:sync:CreateCounter
   (xcb:-request)
@@ -156,10 +156,10 @@
 (defclass xcb:sync:Await
   (xcb:-request)
   ((~opcode :initform 7 :type xcb:-u1)
-   (wait-list :initarg :wait-list :type xcb:-ignore)
    (wait-list~ :initform
               '(name wait-list type xcb:sync:WAITCONDITION size nil)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (wait-list :initarg :wait-list :type xcb:-ignore)))
 
 (defclass xcb:sync:ChangeCounter
   (xcb:-request)
@@ -293,10 +293,10 @@
 (defclass xcb:sync:AwaitFence
   (xcb:-request)
   ((~opcode :initform 19 :type xcb:-u1)
-   (fence-list :initarg :fence-list :type xcb:-ignore)
    (fence-list~ :initform
                '(name fence-list type xcb:sync:FENCE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (fence-list :initarg :fence-list :type xcb:-ignore)))
 
 (defclass xcb:sync:CounterNotify
   (xcb:-event)
diff --git a/xcb-types.el b/xcb-types.el
index 6e3547d..be3e105 100644
--- a/xcb-types.el
+++ b/xcb-types.el
@@ -52,6 +52,14 @@
 (require 'cl-generic)
 (require 'eieio)
 
+(eval-when-compile
+  (defvar xcb:debug-on nil "Non-nil to turn on debug."))
+
+(defmacro xcb:-log (format-string &rest args)
+  "Print debug info."
+  (when xcb:debug-on
+    `(message (concat "[XELB LOG] " ,format-string) ,@args)))
+
 ;;;; Fix backward compatibility issues with Emacs < 25
 
 (eval-and-compile
@@ -442,7 +450,16 @@
 
 Consider let-bind it rather than change its global value."))
 
-(defclass xcb:-struct ()
+(defclass xcb:--struct ()
+  nil)
+
+(cl-defmethod slot-unbound ((object xcb:--struct) class slot-name fn)
+  (xcb:-log "unbount-slot: %s" (list (eieio-class-name class)
+                                     (eieio-object-name object)
+                                    slot-name fn))
+  nil)
+
+(defclass xcb:-struct (xcb:--struct)
   ((~lsb :initarg :~lsb
          :initform (symbol-value 'xcb:lsb) ;see `eieio-default-eval-maybe'
          :type xcb:-ignore))
@@ -560,17 +577,19 @@ The optional argument CTX is for <paramref>."
   (let ((slots (eieio-class-slots (eieio-object-class obj)))
         (result 0)
         slot-name tmp type)
-    (dolist (slot slots)
-      (setq type (cl--slot-descriptor-type slot))
-      (unless (eq type 'xcb:-ignore)
-        (setq slot-name (eieio-slot-descriptor-name slot)
-              tmp (xcb:-unmarshal-field obj type byte-array 0
-                                        (when (slot-boundp obj slot-name)
-                                          (eieio-oref-default obj slot-name))
-                                        ctx total-length))
-        (setf (slot-value obj slot-name) (car tmp))
-        (setq byte-array (substring byte-array (cadr tmp)))
-        (setq result (+ result (cadr tmp)))))
+    (catch 'break
+      (dolist (slot slots)
+        (setq type (cl--slot-descriptor-type slot))
+        (unless (eq type 'xcb:-ignore)
+          (setq slot-name (eieio-slot-descriptor-name slot)
+                tmp (xcb:-unmarshal-field obj type byte-array 0
+                                          (eieio-oref-default obj slot-name)
+                                          ctx total-length))
+          (setf (slot-value obj slot-name) (car tmp))
+          (setq byte-array (substring byte-array (cadr tmp)))
+          (setq result (+ result (cadr tmp)))
+          (when (eq type 'xcb:-switch) ;xcb:-switch always finishes a struct
+            (throw 'break 'nil)))))
     result))
 
 (cl-defmethod xcb:-unmarshal-field ((obj xcb:-struct) type data offset
@@ -772,12 +791,12 @@ This result is converted from the first bounded slot."
       (setq slot (pop slots))
       (setq type (cl--slot-descriptor-type slot)
             name (eieio-slot-descriptor-name slot))
-      (unless (or (not (slot-boundp obj name))
+      (unless (or (not (slot-value obj name))
                   (eq type 'xcb:-ignore)
                   ;; Dealing with `xcb:-list' type
                   (and (eq type 'xcb:-list)
-                       (not (slot-boundp obj (plist-get (slot-value obj name)
-                                                        'name)))))
+                       (not (slot-value obj (plist-get (slot-value obj name)
+                                                       'name)))))
         (setq tmp (xcb:-marshal-field obj (cl--slot-descriptor-type slot)
                                       (slot-value obj name)))
         (when (> (length tmp) (length result))
@@ -800,8 +819,7 @@ The optional argument CTX is for <paramref>."
       (unless (eq type 'xcb:-ignore)
         (setq slot-name (eieio-slot-descriptor-name slot)
               tmp (xcb:-unmarshal-field obj type byte-array 0
-                                        (when (slot-boundp obj slot-name)
-                                          (eieio-oref-default obj slot-name))
+                                        (eieio-oref-default obj slot-name)
                                         ctx total-length))
         (setf (slot-value obj (eieio-slot-descriptor-name slot)) (car tmp))))
     (slot-value obj '~size)))
diff --git a/xcb-xc_misc.el b/xcb-xc_misc.el
index fdad9e8..4b29d8b 100644
--- a/xcb-xc_misc.el
+++ b/xcb-xc_misc.el
@@ -66,11 +66,11 @@
    (length :type xcb:CARD32)
    (ids-len :initarg :ids-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (ids :initarg :ids :type xcb:-ignore)
    (ids~ :initform
         '(name ids type xcb:CARD32 size
                (xcb:-fieldref 'ids-len))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (ids :initarg :ids :type xcb:-ignore)))
 
 
 
diff --git a/xcb-xf86dri.el b/xcb-xf86dri.el
index b007010..3e54ba5 100644
--- a/xcb-xf86dri.el
+++ b/xcb-xf86dri.el
@@ -74,11 +74,11 @@
    (sarea-handle-high :initarg :sarea-handle-high :type xcb:CARD32)
    (bus-id-len :initarg :bus-id-len :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (bus-id :initarg :bus-id :type xcb:-ignore)
    (bus-id~ :initform
            '(name bus-id type xcb:char size
                   (xcb:-fieldref 'bus-id-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (bus-id :initarg :bus-id :type xcb:-ignore)))
 
 (defclass xcb:xf86dri:CloseConnection
   (xcb:-request)
@@ -99,11 +99,11 @@
    (client-driver-patch-version :initarg :client-driver-patch-version :type 
xcb:CARD32)
    (client-driver-name-len :initarg :client-driver-name-len :type xcb:CARD32)
    (pad~1 :initform 8 :type xcb:-pad)
-   (client-driver-name :initarg :client-driver-name :type xcb:-ignore)
    (client-driver-name~ :initform
                        '(name client-driver-name type xcb:char size
                               (xcb:-fieldref 'client-driver-name-len))
-                       :type xcb:-list)))
+                       :type xcb:-list)
+   (client-driver-name :initarg :client-driver-name :type xcb:-ignore)))
 
 (defclass xcb:xf86dri:CreateContext
   (xcb:-request)
@@ -162,16 +162,16 @@
    (back-x :initarg :back-x :type xcb:INT16)
    (back-y :initarg :back-y :type xcb:INT16)
    (num-back-clip-rects :initarg :num-back-clip-rects :type xcb:CARD32)
-   (clip-rects :initarg :clip-rects :type xcb:-ignore)
    (clip-rects~ :initform
                '(name clip-rects type xcb:xf86dri:DrmClipRect size
                       (xcb:-fieldref 'num-clip-rects))
                :type xcb:-list)
-   (back-clip-rects :initarg :back-clip-rects :type xcb:-ignore)
+   (clip-rects :initarg :clip-rects :type xcb:-ignore)
    (back-clip-rects~ :initform
                     '(name back-clip-rects type xcb:xf86dri:DrmClipRect size
                            (xcb:-fieldref 'num-back-clip-rects))
-                    :type xcb:-list)))
+                    :type xcb:-list)
+   (back-clip-rects :initarg :back-clip-rects :type xcb:-ignore)))
 
 (defclass xcb:xf86dri:GetDeviceInfo
   (xcb:-request)
@@ -188,11 +188,11 @@
    (framebuffer-size :initarg :framebuffer-size :type xcb:CARD32)
    (framebuffer-stride :initarg :framebuffer-stride :type xcb:CARD32)
    (device-private-size :initarg :device-private-size :type xcb:CARD32)
-   (device-private :initarg :device-private :type xcb:-ignore)
    (device-private~ :initform
                    '(name device-private type xcb:CARD32 size
                           (xcb:-fieldref 'device-private-size))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (device-private :initarg :device-private :type xcb:-ignore)))
 
 (defclass xcb:xf86dri:AuthConnection
   (xcb:-request)
diff --git a/xcb-xf86vidmode.el b/xcb-xf86vidmode.el
index d429888..9cff7a4 100644
--- a/xcb-xf86vidmode.el
+++ b/xcb-xf86vidmode.el
@@ -106,11 +106,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (pad~2 :initform 12 :type xcb:-pad)
    (privsize :initarg :privsize :type xcb:CARD32)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:ModModeLine
   (xcb:-request)
@@ -129,11 +129,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
    (privsize :initarg :privsize :type xcb:CARD32)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:SwitchMode
   (xcb:-request)
@@ -156,22 +156,21 @@
    (num-hsync :initarg :num-hsync :type xcb:CARD8)
    (num-vsync :initarg :num-vsync :type xcb:CARD8)
    (pad~1 :initform 20 :type xcb:-pad)
-   (hsync :initarg :hsync :type xcb:-ignore)
    (hsync~ :initform
           '(name hsync type xcb:xf86vidmode:SYNCRANGE size
                  (xcb:-fieldref 'num-hsync))
           :type xcb:-list)
-   (vsync :initarg :vsync :type xcb:-ignore)
+   (hsync :initarg :hsync :type xcb:-ignore)
    (vsync~ :initform
           '(name vsync type xcb:xf86vidmode:SYNCRANGE size
                  (xcb:-fieldref 'num-vsync))
           :type xcb:-list)
-   (vendor :initarg :vendor :type xcb:-ignore)
+   (vsync :initarg :vsync :type xcb:-ignore)
    (vendor~ :initform
            '(name vendor type xcb:char size
                   (xcb:-fieldref 'vendor-length))
            :type xcb:-list)
-   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)
+   (vendor :initarg :vendor :type xcb:-ignore)
    (alignment-pad~ :initform
                   '(name alignment-pad type xcb:void size
                          (-
@@ -182,11 +181,12 @@
                            (lognot 3))
                           (xcb:-fieldref 'vendor-length)))
                   :type xcb:-list)
-   (model :initarg :model :type xcb:-ignore)
+   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)
    (model~ :initform
           '(name model type xcb:char size
                  (xcb:-fieldref 'model-length))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (model :initarg :model :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:LockModeSwitch
   (xcb:-request)
@@ -206,11 +206,11 @@
    (length :type xcb:CARD32)
    (modecount :initarg :modecount :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (modeinfo :initarg :modeinfo :type xcb:-ignore)
    (modeinfo~ :initform
              '(name modeinfo type xcb:xf86vidmode:ModeInfo size
                     (xcb:-fieldref 'modecount))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (modeinfo :initarg :modeinfo :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:AddModeLine
   (xcb:-request)
@@ -243,11 +243,11 @@
    (pad~2 :initform 2 :type xcb:-pad)
    (after-flags :initarg :after-flags :type xcb:CARD32)
    (pad~3 :initform 12 :type xcb:-pad)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:DeleteModeLine
   (xcb:-request)
@@ -267,11 +267,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
    (privsize :initarg :privsize :type xcb:CARD32)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:ValidateModeLine
   (xcb:-request)
@@ -291,11 +291,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
    (privsize :initarg :privsize :type xcb:CARD32)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 (defclass xcb:xf86vidmode:ValidateModeLine~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -322,11 +322,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
    (privsize :initarg :privsize :type xcb:CARD32)
-   (private :initarg :private :type xcb:-ignore)
    (private~ :initform
             '(name private type xcb:CARD8 size
                    (xcb:-fieldref 'privsize))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (private :initarg :private :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:GetViewPort
   (xcb:-request)
@@ -364,7 +364,6 @@
    (clocks :initarg :clocks :type xcb:CARD32)
    (maxclocks :initarg :maxclocks :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (clock :initarg :clock :type xcb:-ignore)
    (clock~ :initform
           '(name clock type xcb:CARD32 size
                  (*
@@ -373,7 +372,8 @@
                       (xcb:-fieldref 'flags)
                       1))
                   (xcb:-fieldref 'clocks)))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (clock :initarg :clock :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:SetClientVersion
   (xcb:-request)
@@ -418,7 +418,6 @@
    (length :type xcb:CARD32)
    (size :initarg :size :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (red :initarg :red :type xcb:-ignore)
    (red~ :initform
         '(name red type xcb:CARD16 size
                (logand
@@ -427,7 +426,7 @@
                  1)
                 (lognot 1)))
         :type xcb:-list)
-   (green :initarg :green :type xcb:-ignore)
+   (red :initarg :red :type xcb:-ignore)
    (green~ :initform
           '(name green type xcb:CARD16 size
                  (logand
@@ -436,7 +435,7 @@
                    1)
                   (lognot 1)))
           :type xcb:-list)
-   (blue :initarg :blue :type xcb:-ignore)
+   (green :initarg :green :type xcb:-ignore)
    (blue~ :initform
          '(name blue type xcb:CARD16 size
                 (logand
@@ -444,14 +443,14 @@
                   (xcb:-fieldref 'size)
                   1)
                  (lognot 1)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (blue :initarg :blue :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:SetGammaRamp
   (xcb:-request)
   ((~opcode :initform 18 :type xcb:-u1)
    (screen :initarg :screen :type xcb:CARD16)
    (size :initarg :size :type xcb:CARD16)
-   (red :initarg :red :type xcb:-ignore)
    (red~ :initform
         '(name red type xcb:CARD16 size
                (logand
@@ -460,7 +459,7 @@
                  1)
                 (lognot 1)))
         :type xcb:-list)
-   (green :initarg :green :type xcb:-ignore)
+   (red :initarg :red :type xcb:-ignore)
    (green~ :initform
           '(name green type xcb:CARD16 size
                  (logand
@@ -469,7 +468,7 @@
                    1)
                   (lognot 1)))
           :type xcb:-list)
-   (blue :initarg :blue :type xcb:-ignore)
+   (green :initarg :green :type xcb:-ignore)
    (blue~ :initform
          '(name blue type xcb:CARD16 size
                 (logand
@@ -477,7 +476,8 @@
                   (xcb:-fieldref 'size)
                   1)
                  (lognot 1)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (blue :initarg :blue :type xcb:-ignore)))
 
 (defclass xcb:xf86vidmode:GetGammaRampSize
   (xcb:-request)
diff --git a/xcb-xfixes.el b/xcb-xfixes.el
index db2b25a..58ebf0c 100644
--- a/xcb-xfixes.el
+++ b/xcb-xfixes.el
@@ -133,13 +133,13 @@
    (yhot :initarg :yhot :type xcb:CARD16)
    (cursor-serial :initarg :cursor-serial :type xcb:CARD32)
    (pad~1 :initform 8 :type xcb:-pad)
-   (cursor-image :initarg :cursor-image :type xcb:-ignore)
    (cursor-image~ :initform
                  '(name cursor-image type xcb:CARD32 size
                         (*
                          (xcb:-fieldref 'width)
                          (xcb:-fieldref 'height)))
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (cursor-image :initarg :cursor-image :type xcb:-ignore)))
 
 (xcb:deftypealias 'xcb:xfixes:REGION 'xcb:-u4)
 
@@ -153,10 +153,10 @@
   (xcb:-request)
   ((~opcode :initform 5 :type xcb:-u1)
    (region :initarg :region :type xcb:xfixes:REGION)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:xfixes:CreateRegionFromBitmap
   (xcb:-request)
@@ -193,10 +193,10 @@
   (xcb:-request)
   ((~opcode :initform 11 :type xcb:-u1)
    (region :initarg :region :type xcb:xfixes:REGION)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:xfixes:CopyRegion
   (xcb:-request)
@@ -256,13 +256,13 @@
    (length :type xcb:CARD32)
    (extents :initarg :extents :type xcb:RECTANGLE)
    (pad~1 :initform 16 :type xcb:-pad)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size
                       (/
                        (xcb:-fieldref 'length)
                        2))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:xfixes:SetGCClipRegion
   (xcb:-request)
@@ -296,11 +296,11 @@
    (cursor :initarg :cursor :type xcb:CURSOR)
    (nbytes :initarg :nbytes :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'nbytes))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:xfixes:GetCursorName
   (xcb:-request)
@@ -314,11 +314,11 @@
    (atom :initarg :atom :type xcb:ATOM)
    (nbytes :initarg :nbytes :type xcb:CARD16)
    (pad~1 :initform 18 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'nbytes))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:xfixes:GetCursorImageAndName
   (xcb:-request)
@@ -338,18 +338,18 @@
    (cursor-atom :initarg :cursor-atom :type xcb:ATOM)
    (nbytes :initarg :nbytes :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (cursor-image :initarg :cursor-image :type xcb:-ignore)
    (cursor-image~ :initform
                  '(name cursor-image type xcb:CARD32 size
                         (*
                          (xcb:-fieldref 'width)
                          (xcb:-fieldref 'height)))
                  :type xcb:-list)
-   (name :initarg :name :type xcb:-ignore)
+   (cursor-image :initarg :cursor-image :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'nbytes))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:xfixes:ChangeCursor
   (xcb:-request)
@@ -363,11 +363,11 @@
    (src :initarg :src :type xcb:CURSOR)
    (nbytes :initarg :nbytes :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'nbytes))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:xfixes:ExpandRegion
   (xcb:-request)
@@ -408,11 +408,11 @@
    (directions :initarg :directions :type xcb:CARD32)
    (pad~0 :initform 2 :type xcb:-pad)
    (num-devices :initarg :num-devices :type xcb:CARD16)
-   (devices :initarg :devices :type xcb:-ignore)
    (devices~ :initform
             '(name devices type xcb:CARD16 size
                    (xcb:-fieldref 'num-devices))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (devices :initarg :devices :type xcb:-ignore)))
 
 (defclass xcb:xfixes:DeletePointerBarrier
   (xcb:-request)
diff --git a/xcb-xinerama.el b/xcb-xinerama.el
index 4dc52e2..92bd7bb 100644
--- a/xcb-xinerama.el
+++ b/xcb-xinerama.el
@@ -110,11 +110,11 @@
    (length :type xcb:CARD32)
    (number :initarg :number :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (screen-info :initarg :screen-info :type xcb:-ignore)
    (screen-info~ :initform
                 '(name screen-info type xcb:xinerama:ScreenInfo size
                        (xcb:-fieldref 'number))
-                :type xcb:-list)))
+                :type xcb:-list)
+   (screen-info :initarg :screen-info :type xcb:-ignore)))
 
 
 
diff --git a/xcb-xinput.el b/xcb-xinput.el
index ae38b67..72854fa 100644
--- a/xcb-xinput.el
+++ b/xcb-xinput.el
@@ -53,11 +53,11 @@
   ((~opcode :initform 1 :type xcb:-u1)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:xinput:GetExtensionVersion~reply
   (xcb:-reply)
   ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
@@ -121,11 +121,11 @@
    (axes-len :initarg :axes-len :type xcb:CARD8)
    (mode :initarg :mode :type xcb:CARD8)
    (motion-size :initarg :motion-size :type xcb:CARD32)
-   (axes :initarg :axes :type xcb:-ignore)
    (axes~ :initform
          '(name axes type xcb:xinput:AxisInfo size
                 (xcb:-fieldref 'axes-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (axes :initarg :axes :type xcb:-ignore)))
 
 (defclass xcb:xinput:InputInfo
   (xcb:-struct)
@@ -135,9 +135,12 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          ((0 min-keycode max-keycode num-keys pad~0)
-           (1 num-buttons)
-           (2 pad~1 axes-len mode motion-size axes)))
+          (((0)
+            min-keycode max-keycode num-keys pad~0)
+           ((1)
+            num-buttons)
+           ((2)
+            pad~1 axes-len mode motion-size axes~)))
         :type xcb:-switch)
    (min-keycode :initarg :min-keycode :type xcb:xinput:KeyCode)
    (max-keycode :initarg :max-keycode :type xcb:xinput:KeyCode)
@@ -150,20 +153,20 @@
    (axes-len :initarg :axes-len :type xcb:CARD8)
    (mode :initarg :mode :type xcb:CARD8)
    (motion-size :initarg :motion-size :type xcb:CARD32)
-   (axes :initarg :axes :type xcb:-ignore)
    (axes~ :initform
          '(name axes type xcb:xinput:AxisInfo size
                 (xcb:-fieldref 'axes-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (axes :initarg :axes :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceName
   (xcb:-struct)
   ((len :initarg :len :type xcb:CARD8)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defclass xcb:xinput:ListInputDevices
   (xcb:-request)
@@ -175,12 +178,11 @@
    (length :type xcb:CARD32)
    (devices-len :initarg :devices-len :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (devices :initarg :devices :type xcb:-ignore)
    (devices~ :initform
             '(name devices type xcb:xinput:DeviceInfo size
                    (xcb:-fieldref 'devices-len))
             :type xcb:-list)
-   (infos :initarg :infos :type xcb:-ignore)
+   (devices :initarg :devices :type xcb:-ignore)
    (infos~ :initform
           '(name infos type xcb:xinput:InputInfo size
                  (apply #'+
@@ -195,11 +197,12 @@
                               i))))
                          (slot-value obj 'devices))))
           :type xcb:-list)
-   (names :initarg :names :type xcb:-ignore)
+   (infos :initarg :infos :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:STR size
                  (xcb:-fieldref 'devices-len))
           :type xcb:-list)
+   (names :initarg :names :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (xcb:deftypealias 'xcb:xinput:EventTypeBase 'xcb:CARD8)
@@ -221,11 +224,11 @@
    (length :type xcb:CARD32)
    (num-classes :initarg :num-classes :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (class-info :initarg :class-info :type xcb:-ignore)
    (class-info~ :initform
                '(name class-info type xcb:xinput:InputClassInfo size
                       (xcb:-fieldref 'num-classes))
                :type xcb:-list)
+   (class-info :initarg :class-info :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xinput:CloseDevice
@@ -254,11 +257,11 @@
    (window :initarg :window :type xcb:WINDOW)
    (num-classes :initarg :num-classes :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:GetSelectedExtensionEvents
   (xcb:-request)
@@ -272,16 +275,16 @@
    (num-this-classes :initarg :num-this-classes :type xcb:CARD16)
    (num-all-classes :initarg :num-all-classes :type xcb:CARD16)
    (pad~0 :initform 20 :type xcb:-pad)
-   (this-classes :initarg :this-classes :type xcb:-ignore)
    (this-classes~ :initform
                  '(name this-classes type xcb:xinput:EventClass size
                         (xcb:-fieldref 'num-this-classes))
                  :type xcb:-list)
-   (all-classes :initarg :all-classes :type xcb:-ignore)
+   (this-classes :initarg :this-classes :type xcb:-ignore)
    (all-classes~ :initform
                 '(name all-classes type xcb:xinput:EventClass size
                        (xcb:-fieldref 'num-all-classes))
-                :type xcb:-list)))
+                :type xcb:-list)
+   (all-classes :initarg :all-classes :type xcb:-ignore)))
 
 (defconst xcb:xinput:PropagateMode:AddToList 0)
 (defconst xcb:xinput:PropagateMode:DeleteFromList 1)
@@ -293,11 +296,11 @@
    (num-classes :initarg :num-classes :type xcb:CARD16)
    (mode :initarg :mode :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:GetDeviceDontPropagateList
   (xcb:-request)
@@ -310,20 +313,20 @@
    (length :type xcb:CARD32)
    (num-classes :initarg :num-classes :type xcb:CARD16)
    (pad~0 :initform 22 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceTimeCoord
   (xcb:-struct)
   ((time :initarg :time :type xcb:TIMESTAMP)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:INT32 size
                       (xcb:-paramref 'num-axes))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)))
 
 (defclass xcb:xinput:GetDeviceMotionEvents
   (xcb:-request)
@@ -341,11 +344,11 @@
    (num-axes :initarg :num-axes :type xcb:CARD8)
    (device-mode :initarg :device-mode :type xcb:CARD8)
    (pad~0 :initform 18 :type xcb:-pad)
-   (events :initarg :events :type xcb:-ignore)
    (events~ :initform
            '(name events type xcb:xinput:DeviceTimeCoord size
                   (xcb:-fieldref 'num-events))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (events :initarg :events :type xcb:-ignore)))
 
 (defclass xcb:xinput:ChangeKeyboardDevice
   (xcb:-request)
@@ -386,11 +389,11 @@
    (owner-events :initarg :owner-events :type xcb:BOOL)
    (device-id :initarg :device-id :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 (defclass xcb:xinput:GrabDevice~reply
   (xcb:-reply)
   ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
@@ -421,11 +424,11 @@
    (other-device-mode :initarg :other-device-mode :type xcb:CARD8)
    (owner-events :initarg :owner-events :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:UngrabDeviceKey
   (xcb:-request)
@@ -449,11 +452,11 @@
    (button :initarg :button :type xcb:CARD8)
    (owner-events :initarg :owner-events :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:UngrabDeviceButton
   (xcb:-request)
@@ -524,10 +527,10 @@
    (click :initarg :click :type xcb:CARD8)
    (percent :initarg :percent :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)
    (auto-repeats~ :initform
                  '(name auto-repeats type xcb:CARD8 size 32)
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)))
 
 (defclass xcb:xinput:PtrFeedbackState
   (xcb:-struct)
@@ -555,11 +558,11 @@
    (len :initarg :len :type xcb:CARD16)
    (max-symbols :initarg :max-symbols :type xcb:CARD16)
    (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'num-keysyms))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defclass xcb:xinput:BellFeedbackState
   (xcb:-struct)
@@ -588,12 +591,18 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          ((0 pitch duration led-mask led-values global-auto-repeat click 
percent pad~0 auto-repeats)
-           (1 pad~1 accel-num accel-denom threshold)
-           (2 max-symbols num-keysyms keysyms)
-           (3 resolution min-value max-value)
-           (4 led-mask* led-values*)
-           (5 percent* pad~2 pitch* duration*)))
+          (((0)
+            pitch duration led-mask led-values global-auto-repeat click 
percent pad~0 auto-repeats~)
+           ((1)
+            pad~1 accel-num accel-denom threshold)
+           ((2)
+            max-symbols num-keysyms keysyms~)
+           ((3)
+            resolution min-value max-value)
+           ((4)
+            led-mask* led-values*)
+           ((5)
+            percent* pad~2 pitch* duration*)))
         :type xcb:-switch)
    (pitch :initarg :pitch :type xcb:CARD16)
    (duration :initarg :duration :type xcb:CARD16)
@@ -603,21 +612,21 @@
    (click :initarg :click :type xcb:CARD8)
    (percent :initarg :percent :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)
    (auto-repeats~ :initform
                  '(name auto-repeats type xcb:CARD8 size 32)
                  :type xcb:-list)
+   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)
    (pad~1 :initform 2 :type xcb:-pad)
    (accel-num :initarg :accel-num :type xcb:CARD16)
    (accel-denom :initarg :accel-denom :type xcb:CARD16)
    (threshold :initarg :threshold :type xcb:CARD16)
    (max-symbols :initarg :max-symbols :type xcb:CARD16)
    (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'num-keysyms))
             :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)
    (resolution :initarg :resolution :type xcb:CARD32)
    (min-value :initarg :min-value :type xcb:INT32)
    (max-value :initarg :max-value :type xcb:INT32)
@@ -640,11 +649,11 @@
    (length :type xcb:CARD32)
    (num-feedbacks :initarg :num-feedbacks :type xcb:CARD16)
    (pad~0 :initform 22 :type xcb:-pad)
-   (feedbacks :initarg :feedbacks :type xcb:-ignore)
    (feedbacks~ :initform
               '(name feedbacks type xcb:xinput:FeedbackState size
                      (xcb:-fieldref 'num-feedbacks))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (feedbacks :initarg :feedbacks :type xcb:-ignore)))
 
 (defclass xcb:xinput:KbdFeedbackCtl
   (xcb:-struct)
@@ -684,11 +693,11 @@
    (len :initarg :len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
    (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'num-keysyms))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defclass xcb:xinput:BellFeedbackCtl
   (xcb:-struct)
@@ -717,12 +726,18 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          ((0 key auto-repeat-mode key-click-percent bell-percent bell-pitch 
bell-duration led-mask led-values)
-           (1 pad~0 num denom threshold)
-           (2 pad~1 num-keysyms keysyms)
-           (3 int-to-display)
-           (4 led-mask* led-values*)
-           (5 percent pad~2 pitch duration)))
+          (((0)
+            key auto-repeat-mode key-click-percent bell-percent bell-pitch 
bell-duration led-mask led-values)
+           ((1)
+            pad~0 num denom threshold)
+           ((2)
+            pad~1 num-keysyms keysyms~)
+           ((3)
+            int-to-display)
+           ((4)
+            led-mask* led-values*)
+           ((5)
+            percent pad~2 pitch duration)))
         :type xcb:-switch)
    (key :initarg :key :type xcb:xinput:KeyCode)
    (auto-repeat-mode :initarg :auto-repeat-mode :type xcb:CARD8)
@@ -738,11 +753,11 @@
    (threshold :initarg :threshold :type xcb:INT16)
    (pad~1 :initform 2 :type xcb:-pad)
    (num-keysyms :initarg :num-keysyms :type xcb:CARD16)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'num-keysyms))
             :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)
    (int-to-display :initarg :int-to-display :type xcb:INT32)
    (led-mask* :initarg :led-mask* :type xcb:CARD32)
    (led-values* :initarg :led-values* :type xcb:CARD32)
@@ -788,11 +803,11 @@
    (length :type xcb:CARD32)
    (keysyms-per-keycode :initarg :keysyms-per-keycode :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'length))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defclass xcb:xinput:ChangeDeviceKeyMapping
   (xcb:-request)
@@ -801,13 +816,13 @@
    (first-keycode :initarg :first-keycode :type xcb:xinput:KeyCode)
    (keysyms-per-keycode :initarg :keysyms-per-keycode :type xcb:CARD8)
    (keycode-count :initarg :keycode-count :type xcb:CARD8)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (*
                     (xcb:-fieldref 'keycode-count)
                     (xcb:-fieldref 'keysyms-per-keycode)))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defclass xcb:xinput:GetDeviceModifierMapping
   (xcb:-request)
@@ -821,13 +836,13 @@
    (length :type xcb:CARD32)
    (keycodes-per-modifier :initarg :keycodes-per-modifier :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (keymaps :initarg :keymaps :type xcb:-ignore)
    (keymaps~ :initform
             '(name keymaps type xcb:CARD8 size
                    (*
                     (xcb:-fieldref 'keycodes-per-modifier)
                     8))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keymaps :initarg :keymaps :type xcb:-ignore)))
 
 (defclass xcb:xinput:SetDeviceModifierMapping
   (xcb:-request)
@@ -835,13 +850,13 @@
    (device-id :initarg :device-id :type xcb:CARD8)
    (keycodes-per-modifier :initarg :keycodes-per-modifier :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (keymaps :initarg :keymaps :type xcb:-ignore)
    (keymaps~ :initform
             '(name keymaps type xcb:CARD8 size
                    (*
                     (xcb:-fieldref 'keycodes-per-modifier)
                     8))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keymaps :initarg :keymaps :type xcb:-ignore)))
 (defclass xcb:xinput:SetDeviceModifierMapping~reply
   (xcb:-reply)
   ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
@@ -862,11 +877,11 @@
    (length :type xcb:CARD32)
    (map-size :initarg :map-size :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (map :initarg :map :type xcb:-ignore)
    (map~ :initform
         '(name map type xcb:CARD8 size
                (xcb:-fieldref 'map-size))
         :type xcb:-list)
+   (map :initarg :map :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xinput:SetDeviceButtonMapping
@@ -875,11 +890,11 @@
    (device-id :initarg :device-id :type xcb:CARD8)
    (map-size :initarg :map-size :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (map :initarg :map :type xcb:-ignore)
    (map~ :initform
         '(name map type xcb:CARD8 size
                (xcb:-fieldref 'map-size))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (map :initarg :map :type xcb:-ignore)))
 (defclass xcb:xinput:SetDeviceButtonMapping~reply
   (xcb:-reply)
   ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
@@ -894,10 +909,10 @@
    (len :initarg :len :type xcb:CARD8)
    (num-keys :initarg :num-keys :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 32)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:xinput:ButtonState
   (xcb:-struct)
@@ -905,10 +920,10 @@
    (len :initarg :len :type xcb:CARD8)
    (num-buttons :initarg :num-buttons :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD8 size 32)
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buttons :initarg :buttons :type xcb:-ignore)))
 
 (defconst xcb:xinput:ValuatorStateModeMask:DeviceModeAbsolute 1)
 (defconst xcb:xinput:ValuatorStateModeMask:OutOfProximity 2)
@@ -919,11 +934,11 @@
    (len :initarg :len :type xcb:CARD8)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (mode :initarg :mode :type xcb:CARD8)
-   (valuators :initarg :valuators :type xcb:-ignore)
    (valuators~ :initform
               '(name valuators type xcb:INT32 size
                      (xcb:-fieldref 'num-valuators))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (valuators :initarg :valuators :type xcb:-ignore)))
 
 (defclass xcb:xinput:InputState
   (xcb:-struct)
@@ -933,35 +948,38 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          ((0 pad~0 num-keys pad~1 keys)
-           (1 num-buttons pad~2 buttons)
-           (2 pad~3 num-valuators mode valuators)))
+          (((0)
+            pad~0 num-keys pad~1 keys~)
+           ((1)
+            num-buttons pad~2 buttons~)
+           ((2)
+            pad~3 num-valuators mode valuators~)))
         :type xcb:-switch)
    (pad~0 :initform
          [4 2]
          :type xcb:-pad-align)
    (num-keys :initarg :num-keys :type xcb:CARD8)
    (pad~1 :initform 1 :type xcb:-pad)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 32)
          :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)
    (num-buttons :initarg :num-buttons :type xcb:CARD8)
    (pad~2 :initform 1 :type xcb:-pad)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD8 size 32)
             :type xcb:-list)
+   (buttons :initarg :buttons :type xcb:-ignore)
    (pad~3 :initform
          [4 2]
          :type xcb:-pad-align)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (mode :initarg :mode :type xcb:CARD8)
-   (valuators :initarg :valuators :type xcb:-ignore)
    (valuators~ :initform
               '(name valuators type xcb:INT32 size
                      (xcb:-fieldref 'num-valuators))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (valuators :initarg :valuators :type xcb:-ignore)))
 
 (defclass xcb:xinput:QueryDeviceState
   (xcb:-request)
@@ -975,11 +993,11 @@
    (length :type xcb:CARD32)
    (num-classes :initarg :num-classes :type xcb:CARD8)
    (pad~0 :initform 23 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:InputState size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceBell
   (xcb:-request)
@@ -996,11 +1014,11 @@
    (first-valuator :initarg :first-valuator :type xcb:CARD8)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (valuators :initarg :valuators :type xcb:-ignore)
    (valuators~ :initform
               '(name valuators type xcb:INT32 size
                      (xcb:-fieldref 'num-valuators))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (valuators :initarg :valuators :type xcb:-ignore)))
 (defclass xcb:xinput:SetDeviceValuators~reply
   (xcb:-reply)
   ((xi-reply-type :initarg :xi-reply-type :type xcb:CARD8)
@@ -1020,21 +1038,21 @@
   ((control-id :initarg :control-id :type xcb:CARD16)
    (len :initarg :len :type xcb:CARD16)
    (num-valuators :initarg :num-valuators :type xcb:CARD32)
-   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-values~ :initform
                       '(name resolution-values type xcb:CARD32 size
                              (xcb:-fieldref 'num-valuators))
                       :type xcb:-list)
-   (resolution-min :initarg :resolution-min :type xcb:-ignore)
+   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-min~ :initform
                    '(name resolution-min type xcb:CARD32 size
                           (xcb:-fieldref 'num-valuators))
                    :type xcb:-list)
-   (resolution-max :initarg :resolution-max :type xcb:-ignore)
+   (resolution-min :initarg :resolution-min :type xcb:-ignore)
    (resolution-max~ :initform
                    '(name resolution-max type xcb:CARD32 size
                           (xcb:-fieldref 'num-valuators))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (resolution-max :initarg :resolution-max :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceAbsCalibState
   (xcb:-struct)
@@ -1083,28 +1101,33 @@
         '(expression
           (xcb:-fieldref 'control-id)
           cases
-          ((1 num-valuators resolution-values resolution-min resolution-max)
-           (2 min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
-           (3 status iscore pad~0)
-           (4 enable pad~1)
-           (5 offset-x offset-y width height screen following)))
+          (((1)
+            num-valuators resolution-values~ resolution-min~ resolution-max~)
+           ((2)
+            min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
+           ((3)
+            status iscore pad~0)
+           ((4)
+            enable pad~1)
+           ((5)
+            offset-x offset-y width height screen following)))
         :type xcb:-switch)
    (num-valuators :initarg :num-valuators :type xcb:CARD32)
-   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-values~ :initform
                       '(name resolution-values type xcb:CARD32 size
                              (xcb:-fieldref 'num-valuators))
                       :type xcb:-list)
-   (resolution-min :initarg :resolution-min :type xcb:-ignore)
+   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-min~ :initform
                    '(name resolution-min type xcb:CARD32 size
                           (xcb:-fieldref 'num-valuators))
                    :type xcb:-list)
-   (resolution-max :initarg :resolution-max :type xcb:-ignore)
+   (resolution-min :initarg :resolution-min :type xcb:-ignore)
    (resolution-max~ :initform
                    '(name resolution-max type xcb:CARD32 size
                           (xcb:-fieldref 'num-valuators))
                    :type xcb:-list)
+   (resolution-max :initarg :resolution-max :type xcb:-ignore)
    (min-x :initarg :min-x :type xcb:INT32)
    (max-x :initarg :max-x :type xcb:INT32)
    (min-y :initarg :min-y :type xcb:INT32)
@@ -1147,11 +1170,11 @@
    (first-valuator :initarg :first-valuator :type xcb:CARD8)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-values~ :initform
                       '(name resolution-values type xcb:CARD32 size
                              (xcb:-fieldref 'num-valuators))
-                      :type xcb:-list)))
+                      :type xcb:-list)
+   (resolution-values :initarg :resolution-values :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceAbsCalibCtl
   (xcb:-struct)
@@ -1199,20 +1222,25 @@
         '(expression
           (xcb:-fieldref 'control-id)
           cases
-          ((1 first-valuator num-valuators pad~0 resolution-values)
-           (2 min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
-           (3 status pad~1)
-           (4 enable pad~2)
-           (5 offset-x offset-y width height screen following)))
+          (((1)
+            first-valuator num-valuators pad~0 resolution-values~)
+           ((2)
+            min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
+           ((3)
+            status pad~1)
+           ((4)
+            enable pad~2)
+           ((5)
+            offset-x offset-y width height screen following)))
         :type xcb:-switch)
    (first-valuator :initarg :first-valuator :type xcb:CARD8)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (resolution-values~ :initform
                       '(name resolution-values type xcb:CARD32 size
                              (xcb:-fieldref 'num-valuators))
                       :type xcb:-list)
+   (resolution-values :initarg :resolution-values :type xcb:-ignore)
    (min-x :initarg :min-x :type xcb:INT32)
    (max-x :initarg :max-x :type xcb:INT32)
    (min-y :initarg :min-y :type xcb:INT32)
@@ -1259,11 +1287,11 @@
    (length :type xcb:CARD32)
    (num-atoms :initarg :num-atoms :type xcb:CARD16)
    (pad~0 :initform 22 :type xcb:-pad)
-   (atoms :initarg :atoms :type xcb:-ignore)
    (atoms~ :initform
           '(name atoms type xcb:ATOM size
                  (xcb:-fieldref 'num-atoms))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (atoms :initarg :atoms :type xcb:-ignore)))
 
 (defconst xcb:xinput:PropertyFormat:8Bits 8)
 (defconst xcb:xinput:PropertyFormat:16Bits 16)
@@ -1283,27 +1311,30 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           ((8 data8 pad~1)
-            (16 data16 pad~2)
-            (32 data32)))
+           (((8)
+             data8~ pad~1)
+            ((16)
+             data16~ pad~2)
+            ((32)
+             data32~)))
          :type xcb:-switch)
-   (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
           '(name data8 type xcb:CARD8 size
                  (xcb:-fieldref 'num-items))
           :type xcb:-list)
+   (data8 :initarg :data8 :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (data16 :initarg :data16 :type xcb:-ignore)
    (data16~ :initform
            '(name data16 type xcb:CARD16 size
                   (xcb:-fieldref 'num-items))
            :type xcb:-list)
+   (data16 :initarg :data16 :type xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (data32 :initarg :data32 :type xcb:-ignore)
    (data32~ :initform
            '(name data32 type xcb:CARD32 size
                   (xcb:-fieldref 'num-items))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (data32 :initarg :data32 :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeleteDeviceProperty
   (xcb:-request)
@@ -1337,27 +1368,30 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           ((8 data8 pad~1)
-            (16 data16 pad~2)
-            (32 data32)))
+           (((8)
+             data8~ pad~1)
+            ((16)
+             data16~ pad~2)
+            ((32)
+             data32~)))
          :type xcb:-switch)
-   (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
           '(name data8 type xcb:CARD8 size
                  (xcb:-fieldref 'num-items))
           :type xcb:-list)
+   (data8 :initarg :data8 :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (data16 :initarg :data16 :type xcb:-ignore)
    (data16~ :initform
            '(name data16 type xcb:CARD16 size
                   (xcb:-fieldref 'num-items))
            :type xcb:-list)
+   (data16 :initarg :data16 :type xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (data32 :initarg :data32 :type xcb:-ignore)
    (data32~ :initform
            '(name data32 type xcb:CARD32 size
                   (xcb:-fieldref 'num-items))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (data32 :initarg :data32 :type xcb:-ignore)))
 
 (defconst xcb:xinput:Device:All 0)
 (defconst xcb:xinput:Device:AllMaster 1)
@@ -1398,11 +1432,11 @@
    (buttons-len :initarg :buttons-len :type xcb:CARD16)
    (mods :initarg :mods :type xcb:xinput:ModifierInfo)
    (group :initarg :group :type xcb:xinput:GroupInfo)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD32 size
                    (xcb:-fieldref 'buttons-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buttons :initarg :buttons :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIWarpPointer
   (xcb:-request)
@@ -1441,11 +1475,11 @@
    (name-len :initarg :name-len :type xcb:CARD16)
    (send-core :initarg :send-core :type xcb:BOOL)
    (enable :initarg :enable :type xcb:BOOL)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xinput:RemoveMaster
@@ -1480,19 +1514,23 @@
         '(expression
           (xcb:-fieldref 'type)
           cases
-          ((1 name-len send-core enable name pad~0)
-           (2 deviceid return-mode pad~1 return-pointer return-keyboard)
-           (3 deviceid* master)
-           (4 deviceid** pad~2)))
+          (((1)
+            name-len send-core enable name~ pad~0)
+           ((2)
+            deviceid return-mode pad~1 return-pointer return-keyboard)
+           ((3)
+            deviceid* master)
+           ((4)
+            deviceid** pad~2)))
         :type xcb:-switch)
    (name-len :initarg :name-len :type xcb:CARD16)
    (send-core :initarg :send-core :type xcb:BOOL)
    (enable :initarg :enable :type xcb:BOOL)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)
    (deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
    (return-mode :initarg :return-mode :type xcb:CARD8)
@@ -1509,11 +1547,11 @@
   ((~opcode :initform 43 :type xcb:-u1)
    (num-changes :initarg :num-changes :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
-   (changes :initarg :changes :type xcb:-ignore)
    (changes~ :initform
             '(name changes type xcb:xinput:HierarchyChange size
                    (xcb:-fieldref 'num-changes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (changes :initarg :changes :type xcb:-ignore)))
 
 (defclass xcb:xinput:XISetClientPointer
   (xcb:-request)
@@ -1567,11 +1605,11 @@
   (xcb:-struct)
   ((deviceid :initarg :deviceid :type xcb:xinput:DeviceId)
    (mask-len :initarg :mask-len :type xcb:CARD16)
-   (mask :initarg :mask :type xcb:-ignore)
    (mask~ :initform
          '(name mask type xcb:CARD32 size
                 (xcb:-fieldref 'mask-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (mask :initarg :mask :type xcb:-ignore)))
 
 (defclass xcb:xinput:XISelectEvents
   (xcb:-request)
@@ -1579,11 +1617,11 @@
    (window :initarg :window :type xcb:WINDOW)
    (num-mask :initarg :num-mask :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (masks :initarg :masks :type xcb:-ignore)
    (masks~ :initform
           '(name masks type xcb:xinput:EventMask size
                  (xcb:-fieldref 'num-mask))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (masks :initarg :masks :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIQueryVersion
   (xcb:-request)
@@ -1626,7 +1664,6 @@
    (len :initarg :len :type xcb:CARD16)
    (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
    (num-buttons :initarg :num-buttons :type xcb:CARD16)
-   (state :initarg :state :type xcb:-ignore)
    (state~ :initform
           '(name state type xcb:CARD32 size
                  (/
@@ -1635,11 +1672,12 @@
                    31)
                   32))
           :type xcb:-list)
-   (labels :initarg :labels :type xcb:-ignore)
+   (state :initarg :state :type xcb:-ignore)
    (labels~ :initform
            '(name labels type xcb:ATOM size
                   (xcb:-fieldref 'num-buttons))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (labels :initarg :labels :type xcb:-ignore)))
 
 (defclass xcb:xinput:KeyClass
   (xcb:-struct)
@@ -1647,11 +1685,11 @@
    (len :initarg :len :type xcb:CARD16)
    (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
    (num-keys :initarg :num-keys :type xcb:CARD16)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD32 size
                 (xcb:-fieldref 'num-keys))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:xinput:ScrollClass
   (xcb:-struct)
@@ -1695,26 +1733,30 @@
         '(expression
           (xcb:-fieldref 'type)
           cases
-          ((0 pad~0 num-keys keys)
-           (1 pad~1 num-buttons state labels)
-           (2 pad~2 number label min max value resolution mode pad~3)
-           (3 pad~4 number* scroll-type pad~5 flags increment)
-           (8 mode* num-touches)))
+          (((0)
+            pad~0 num-keys keys~)
+           ((1)
+            pad~1 num-buttons state~ labels~)
+           ((2)
+            pad~2 number label min max value resolution mode pad~3)
+           ((3)
+            pad~4 number* scroll-type pad~5 flags increment)
+           ((8)
+            mode* num-touches)))
         :type xcb:-switch)
    (pad~0 :initform
          [4 2]
          :type xcb:-pad-align)
    (num-keys :initarg :num-keys :type xcb:CARD16)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD32 size
                 (xcb:-fieldref 'num-keys))
          :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)
    (pad~1 :initform
          [4 2]
          :type xcb:-pad-align)
    (num-buttons :initarg :num-buttons :type xcb:CARD16)
-   (state :initarg :state :type xcb:-ignore)
    (state~ :initform
           '(name state type xcb:CARD32 size
                  (/
@@ -1723,11 +1765,12 @@
                    31)
                   32))
           :type xcb:-list)
-   (labels :initarg :labels :type xcb:-ignore)
+   (state :initarg :state :type xcb:-ignore)
    (labels~ :initform
            '(name labels type xcb:ATOM size
                   (xcb:-fieldref 'num-buttons))
            :type xcb:-list)
+   (labels :initarg :labels :type xcb:-ignore)
    (pad~2 :initform
          [4 2]
          :type xcb:-pad-align)
@@ -1759,17 +1802,17 @@
    (name-len :initarg :name-len :type xcb:CARD16)
    (enabled :initarg :enabled :type xcb:BOOL)
    (pad~0 :initform 1 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:DeviceClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIQueryDevice
   (xcb:-request)
@@ -1783,11 +1826,11 @@
    (length :type xcb:CARD32)
    (num-infos :initarg :num-infos :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (infos :initarg :infos :type xcb:-ignore)
    (infos~ :initform
           '(name infos type xcb:xinput:XIDeviceInfo size
                  (xcb:-fieldref 'num-infos))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (infos :initarg :infos :type xcb:-ignore)))
 
 (defclass xcb:xinput:XISetFocus
   (xcb:-request)
@@ -1825,11 +1868,11 @@
    (owner-events :initarg :owner-events :type xcb:BOOL)
    (pad~0 :initform 1 :type xcb:-pad)
    (mask-len :initarg :mask-len :type xcb:CARD16)
-   (mask :initarg :mask :type xcb:-ignore)
    (mask~ :initform
          '(name mask type xcb:CARD32 size
                 (xcb:-fieldref 'mask-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (mask :initarg :mask :type xcb:-ignore)))
 (defclass xcb:xinput:XIGrabDevice~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -1895,16 +1938,16 @@
    (paired-device-mode :initarg :paired-device-mode :type xcb:CARD8)
    (owner-events :initarg :owner-events :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (mask :initarg :mask :type xcb:-ignore)
    (mask~ :initform
          '(name mask type xcb:CARD32 size
                 (xcb:-fieldref 'mask-len))
          :type xcb:-list)
-   (modifiers :initarg :modifiers :type xcb:-ignore)
+   (mask :initarg :mask :type xcb:-ignore)
    (modifiers~ :initform
               '(name modifiers type xcb:CARD32 size
                      (xcb:-fieldref 'num-modifiers))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (modifiers :initarg :modifiers :type xcb:-ignore)))
 (defclass xcb:xinput:XIPassiveGrabDevice~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -1912,11 +1955,11 @@
    (length :type xcb:CARD32)
    (num-modifiers :initarg :num-modifiers :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (modifiers :initarg :modifiers :type xcb:-ignore)
    (modifiers~ :initform
               '(name modifiers type xcb:xinput:GrabModifierInfo size
                      (xcb:-fieldref 'num-modifiers))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (modifiers :initarg :modifiers :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIPassiveUngrabDevice
   (xcb:-request)
@@ -1927,11 +1970,11 @@
    (num-modifiers :initarg :num-modifiers :type xcb:CARD16)
    (grab-type :initarg :grab-type :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
-   (modifiers :initarg :modifiers :type xcb:-ignore)
    (modifiers~ :initform
               '(name modifiers type xcb:CARD32 size
                      (xcb:-fieldref 'num-modifiers))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (modifiers :initarg :modifiers :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIListProperties
   (xcb:-request)
@@ -1945,11 +1988,11 @@
    (length :type xcb:CARD32)
    (num-properties :initarg :num-properties :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (properties :initarg :properties :type xcb:-ignore)
    (properties~ :initform
                '(name properties type xcb:ATOM size
                       (xcb:-fieldref 'num-properties))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (properties :initarg :properties :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIChangeProperty
   (xcb:-request)
@@ -1964,27 +2007,30 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           ((8 data8 pad~0)
-            (16 data16 pad~1)
-            (32 data32)))
+           (((8)
+             data8~ pad~0)
+            ((16)
+             data16~ pad~1)
+            ((32)
+             data32~)))
          :type xcb:-switch)
-   (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
           '(name data8 type xcb:CARD8 size
                  (xcb:-fieldref 'num-items))
           :type xcb:-list)
+   (data8 :initarg :data8 :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)
-   (data16 :initarg :data16 :type xcb:-ignore)
    (data16~ :initform
            '(name data16 type xcb:CARD16 size
                   (xcb:-fieldref 'num-items))
            :type xcb:-list)
+   (data16 :initarg :data16 :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (data32 :initarg :data32 :type xcb:-ignore)
    (data32~ :initform
            '(name data32 type xcb:CARD32 size
                   (xcb:-fieldref 'num-items))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (data32 :initarg :data32 :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIDeleteProperty
   (xcb:-request)
@@ -2017,27 +2063,30 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           ((8 data8 pad~2)
-            (16 data16 pad~3)
-            (32 data32)))
+           (((8)
+             data8~ pad~2)
+            ((16)
+             data16~ pad~3)
+            ((32)
+             data32~)))
          :type xcb:-switch)
-   (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
           '(name data8 type xcb:CARD8 size
                  (xcb:-fieldref 'num-items))
           :type xcb:-list)
+   (data8 :initarg :data8 :type xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (data16 :initarg :data16 :type xcb:-ignore)
    (data16~ :initform
            '(name data16 type xcb:CARD16 size
                   (xcb:-fieldref 'num-items))
            :type xcb:-list)
+   (data16 :initarg :data16 :type xcb:-ignore)
    (pad~3 :initform 4 :type xcb:-pad-align)
-   (data32 :initarg :data32 :type xcb:-ignore)
    (data32~ :initform
            '(name data32 type xcb:CARD32 size
                   (xcb:-fieldref 'num-items))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (data32 :initarg :data32 :type xcb:-ignore)))
 
 (defclass xcb:xinput:XIGetSelectedEvents
   (xcb:-request)
@@ -2050,11 +2099,11 @@
    (length :type xcb:CARD32)
    (num-masks :initarg :num-masks :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (masks :initarg :masks :type xcb:-ignore)
    (masks~ :initform
           '(name masks type xcb:xinput:EventMask size
                  (xcb:-fieldref 'num-masks))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (masks :initarg :masks :type xcb:-ignore)))
 
 (defclass xcb:xinput:BarrierReleasePointerInfo
   (xcb:-struct)
@@ -2067,11 +2116,11 @@
   (xcb:-request)
   ((~opcode :initform 61 :type xcb:-u1)
    (num-barriers :initarg :num-barriers :type xcb:CARD32)
-   (barriers :initarg :barriers :type xcb:-ignore)
    (barriers~ :initform
              '(name barriers type xcb:xinput:BarrierReleasePointerInfo size
                     (xcb:-fieldref 'num-barriers))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (barriers :initarg :barriers :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceValuator
   (xcb:-event)
@@ -2081,10 +2130,10 @@
    (device-state :initarg :device-state :type xcb:CARD16)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (first-valuator :initarg :first-valuator :type xcb:CARD8)
-   (valuators :initarg :valuators :type xcb:-ignore)
    (valuators~ :initform
               '(name valuators type xcb:INT32 size 6)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (valuators :initarg :valuators :type xcb:-ignore)))
 
 (defconst xcb:xinput:MoreEventsMask:MoreEvents 128)
 
@@ -2160,18 +2209,18 @@
    (num-buttons :initarg :num-buttons :type xcb:CARD8)
    (num-valuators :initarg :num-valuators :type xcb:CARD8)
    (classes-reported :initarg :classes-reported :type xcb:CARD8)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD8 size 4)
             :type xcb:-list)
-   (keys :initarg :keys :type xcb:-ignore)
+   (buttons :initarg :buttons :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 4)
          :type xcb:-list)
-   (valuators :initarg :valuators :type xcb:-ignore)
+   (keys :initarg :keys :type xcb:-ignore)
    (valuators~ :initform
               '(name valuators type xcb:CARD32 size 3)
-              :type xcb:-list)))
+              :type xcb:-list)
+   (valuators :initarg :valuators :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceMappingNotify
   (xcb:-event)
@@ -2202,20 +2251,20 @@
   ((~code :initform 13)
    (device-id :initarg :device-id :type xcb:BYTE)
    (~sequence :type xcb:CARD16)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 28)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:xinput:DeviceButtonStateNotify
   (xcb:-event)
   ((~code :initform 14)
    (device-id :initarg :device-id :type xcb:BYTE)
    (~sequence :type xcb:CARD16)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD8 size 28)
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buttons :initarg :buttons :type xcb:-ignore)))
 
 (defconst xcb:xinput:DeviceChange:Added 0)
 (defconst xcb:xinput:DeviceChange:Removed 1)
@@ -2257,11 +2306,11 @@
    (sourceid :initarg :sourceid :type xcb:xinput:DeviceId)
    (reason :initarg :reason :type xcb:CARD8)
    (pad~0 :initform 11 :type xcb:-pad)
-   (classes :initarg :classes :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:DeviceClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defconst xcb:xinput:KeyEventFlags:KeyRepeat 65536)
 
@@ -2285,17 +2334,16 @@
    (flags :initarg :flags :type xcb:CARD32)
    (mods :initarg :mods :type xcb:xinput:ModifierInfo)
    (group :initarg :group :type xcb:xinput:GroupInfo)
-   (button-mask :initarg :button-mask :type xcb:-ignore)
    (button-mask~ :initform
                 '(name button-mask type xcb:CARD32 size
                        (xcb:-fieldref 'buttons-len))
                 :type xcb:-list)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+   (button-mask :initarg :button-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2309,7 +2357,8 @@
                                    '(obj)
                                    i))))
                               (slot-value obj 'valuator-mask))))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)))
 
 (defclass xcb:xinput:KeyRelease
   (xcb:-event xcb:xinput:KeyPress)
@@ -2337,17 +2386,16 @@
    (flags :initarg :flags :type xcb:CARD32)
    (mods :initarg :mods :type xcb:xinput:ModifierInfo)
    (group :initarg :group :type xcb:xinput:GroupInfo)
-   (button-mask :initarg :button-mask :type xcb:-ignore)
    (button-mask~ :initform
                 '(name button-mask type xcb:CARD32 size
                        (xcb:-fieldref 'buttons-len))
                 :type xcb:-list)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+   (button-mask :initarg :button-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2361,7 +2409,8 @@
                                    '(obj)
                                    i))))
                               (slot-value obj 'valuator-mask))))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)))
 
 (defclass xcb:xinput:ButtonRelease
   (xcb:-event xcb:xinput:ButtonPress)
@@ -2407,11 +2456,11 @@
    (buttons-len :initarg :buttons-len :type xcb:CARD16)
    (mods :initarg :mods :type xcb:xinput:ModifierInfo)
    (group :initarg :group :type xcb:xinput:GroupInfo)
-   (buttons :initarg :buttons :type xcb:-ignore)
    (buttons~ :initform
             '(name buttons type xcb:CARD32 size
                    (xcb:-fieldref 'buttons-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (buttons :initarg :buttons :type xcb:-ignore)))
 
 (defclass xcb:xinput:Leave
   (xcb:-event xcb:xinput:Enter)
@@ -2451,11 +2500,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (num-infos :initarg :num-infos :type xcb:CARD16)
    (pad~0 :initform 10 :type xcb:-pad)
-   (infos :initarg :infos :type xcb:-ignore)
    (infos~ :initform
           '(name infos type xcb:xinput:HierarchyInfo size
                  (xcb:-fieldref 'num-infos))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (infos :initarg :infos :type xcb:-ignore)))
 
 (defconst xcb:xinput:PropertyFlag:Deleted 0)
 (defconst xcb:xinput:PropertyFlag:Created 1)
@@ -2480,12 +2529,11 @@
    (valuators-len :initarg :valuators-len :type xcb:CARD16)
    (flags :initarg :flags :type xcb:CARD32)
    (pad~0 :initform 4 :type xcb:-pad)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2500,7 +2548,7 @@
                                    i))))
                               (slot-value obj 'valuator-mask))))
                :type xcb:-list)
-   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)
    (axisvalues-raw~ :initform
                    '(name axisvalues-raw type xcb:xinput:FP3232 size
                           (apply #'+
@@ -2514,7 +2562,8 @@
                                        '(obj)
                                        i))))
                                   (slot-value obj 'valuator-mask))))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
 
 (defclass xcb:xinput:RawKeyRelease
   (xcb:-event xcb:xinput:RawKeyPress)
@@ -2530,12 +2579,11 @@
    (valuators-len :initarg :valuators-len :type xcb:CARD16)
    (flags :initarg :flags :type xcb:CARD32)
    (pad~0 :initform 4 :type xcb:-pad)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2550,7 +2598,7 @@
                                    i))))
                               (slot-value obj 'valuator-mask))))
                :type xcb:-list)
-   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)
    (axisvalues-raw~ :initform
                    '(name axisvalues-raw type xcb:xinput:FP3232 size
                           (apply #'+
@@ -2564,7 +2612,8 @@
                                        '(obj)
                                        i))))
                                   (slot-value obj 'valuator-mask))))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
 
 (defclass xcb:xinput:RawButtonRelease
   (xcb:-event xcb:xinput:RawButtonPress)
@@ -2597,17 +2646,16 @@
    (flags :initarg :flags :type xcb:CARD32)
    (mods :initarg :mods :type xcb:xinput:ModifierInfo)
    (group :initarg :group :type xcb:xinput:GroupInfo)
-   (button-mask :initarg :button-mask :type xcb:-ignore)
    (button-mask~ :initform
                 '(name button-mask type xcb:CARD32 size
                        (xcb:-fieldref 'buttons-len))
                 :type xcb:-list)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
+   (button-mask :initarg :button-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2621,7 +2669,8 @@
                                    '(obj)
                                    i))))
                               (slot-value obj 'valuator-mask))))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)))
 
 (defclass xcb:xinput:TouchUpdate
   (xcb:-event xcb:xinput:TouchBegin)
@@ -2657,12 +2706,11 @@
    (valuators-len :initarg :valuators-len :type xcb:CARD16)
    (flags :initarg :flags :type xcb:CARD32)
    (pad~0 :initform 4 :type xcb:-pad)
-   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (valuator-mask~ :initform
                   '(name valuator-mask type xcb:CARD32 size
                          (xcb:-fieldref 'valuators-len))
                   :type xcb:-list)
-   (axisvalues :initarg :axisvalues :type xcb:-ignore)
+   (valuator-mask :initarg :valuator-mask :type xcb:-ignore)
    (axisvalues~ :initform
                '(name axisvalues type xcb:xinput:FP3232 size
                       (apply #'+
@@ -2677,7 +2725,7 @@
                                    i))))
                               (slot-value obj 'valuator-mask))))
                :type xcb:-list)
-   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)
+   (axisvalues :initarg :axisvalues :type xcb:-ignore)
    (axisvalues-raw~ :initform
                    '(name axisvalues-raw type xcb:xinput:FP3232 size
                           (apply #'+
@@ -2691,7 +2739,8 @@
                                        '(obj)
                                        i))))
                                   (slot-value obj 'valuator-mask))))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (axisvalues-raw :initarg :axisvalues-raw :type xcb:-ignore)))
 
 (defclass xcb:xinput:RawTouchUpdate
   (xcb:-event xcb:xinput:RawTouchBegin)
@@ -2739,16 +2788,16 @@
    (num-classes :initarg :num-classes :type xcb:CARD16)
    (num-events :initarg :num-events :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
-   (events :initarg :events :type xcb:-ignore)
    (events~ :initform
            '(name events type xcb:xinput:EventForSend size
                   (xcb:-fieldref 'num-events))
            :type xcb:-list)
-   (classes :initarg :classes :type xcb:-ignore)
+   (events :initarg :events :type xcb:-ignore)
    (classes~ :initform
             '(name classes type xcb:xinput:EventClass size
                    (xcb:-fieldref 'num-classes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (classes :initarg :classes :type xcb:-ignore)))
 
 (defclass xcb:xinput:Device
   (xcb:-error)
diff --git a/xcb-xkb.el b/xcb-xkb.el
index 1ffcce4..55501f9 100644
--- a/xcb-xkb.el
+++ b/xcb-xkb.el
@@ -296,31 +296,30 @@
 
 (defclass xcb:xkb:KeyName
   (xcb:-struct)
-  ((name :initarg :name :type xcb:-ignore)
-   (name~ :initform
+  ((name~ :initform
          '(name name type xcb:char size 4)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:xkb:KeyAlias
   (xcb:-struct)
-  ((real :initarg :real :type xcb:-ignore)
-   (real~ :initform
+  ((real~ :initform
          '(name real type xcb:char size 4)
          :type xcb:-list)
-   (alias :initarg :alias :type xcb:-ignore)
+   (real :initarg :real :type xcb:-ignore)
    (alias~ :initform
           '(name alias type xcb:char size 4)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (alias :initarg :alias :type xcb:-ignore)))
 
 (defclass xcb:xkb:CountedString16
   (xcb:-struct)
   ((length :initarg :length :type xcb:CARD16)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'length))
            :type xcb:-list)
-   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)
+   (string :initarg :string :type xcb:-ignore)
    (alignment-pad~ :initform
                   '(name alignment-pad type xcb:void size
                          (-
@@ -332,7 +331,8 @@
                           (+
                            (xcb:-fieldref 'length)
                            2)))
-                  :type xcb:-list)))
+                  :type xcb:-list)
+   (alignment-pad :initarg :alignment-pad :type xcb:-ignore)))
 
 (defclass xcb:xkb:KTMapEntry
   (xcb:-struct)
@@ -352,33 +352,33 @@
    (nMapEntries :initarg :nMapEntries :type xcb:CARD8)
    (hasPreserve :initarg :hasPreserve :type xcb:BOOL)
    (pad~0 :initform 1 :type xcb:-pad)
-   (map :initarg :map :type xcb:-ignore)
    (map~ :initform
         '(name map type xcb:xkb:KTMapEntry size
                (xcb:-fieldref 'nMapEntries))
         :type xcb:-list)
-   (preserve :initarg :preserve :type xcb:-ignore)
+   (map :initarg :map :type xcb:-ignore)
    (preserve~ :initform
              '(name preserve type xcb:xkb:ModDef size
                     (*
                      (xcb:-fieldref 'hasPreserve)
                      (xcb:-fieldref 'nMapEntries)))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (preserve :initarg :preserve :type xcb:-ignore)))
 
 (defclass xcb:xkb:KeySymMap
   (xcb:-struct)
-  ((kt-index :initarg :kt-index :type xcb:-ignore)
-   (kt-index~ :initform
+  ((kt-index~ :initform
              '(name kt-index type xcb:CARD8 size 4)
              :type xcb:-list)
+   (kt-index :initarg :kt-index :type xcb:-ignore)
    (groupInfo :initarg :groupInfo :type xcb:CARD8)
    (width :initarg :width :type xcb:CARD8)
    (nSyms :initarg :nSyms :type xcb:CARD16)
-   (syms :initarg :syms :type xcb:-ignore)
    (syms~ :initform
          '(name syms type xcb:KEYSYM size
                 (xcb:-fieldref 'nSyms))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (syms :initarg :syms :type xcb:-ignore)))
 
 (defclass xcb:xkb:CommonBehavior
   (xcb:-struct)
@@ -470,18 +470,18 @@
    (nMapEntries :initarg :nMapEntries :type xcb:CARD8)
    (preserve :initarg :preserve :type xcb:BOOL)
    (pad~0 :initform 1 :type xcb:-pad)
-   (entries :initarg :entries :type xcb:-ignore)
    (entries~ :initform
             '(name entries type xcb:xkb:KTSetMapEntry size
                    (xcb:-fieldref 'nMapEntries))
             :type xcb:-list)
-   (preserve-entries :initarg :preserve-entries :type xcb:-ignore)
+   (entries :initarg :entries :type xcb:-ignore)
    (preserve-entries~ :initform
                      '(name preserve-entries type xcb:xkb:KTSetMapEntry size
                             (*
                              (xcb:-fieldref 'preserve)
                              (xcb:-fieldref 'nMapEntries)))
-                     :type xcb:-list)))
+                     :type xcb:-list)
+   (preserve-entries :initarg :preserve-entries :type xcb:-ignore)))
 
 (xcb:deftypealias 'xcb:xkb:STRING8 'xcb:char)
 
@@ -490,11 +490,11 @@
   ((nPoints :initarg :nPoints :type xcb:CARD8)
    (cornerRadius :initarg :cornerRadius :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:POINT size
                   (xcb:-fieldref 'nPoints))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:xkb:Shape
   (xcb:-struct)
@@ -503,54 +503,54 @@
    (primaryNdx :initarg :primaryNdx :type xcb:CARD8)
    (approxNdx :initarg :approxNdx :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (outlines :initarg :outlines :type xcb:-ignore)
    (outlines~ :initform
              '(name outlines type xcb:xkb:Outline size
                     (xcb:-fieldref 'nOutlines))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (outlines :initarg :outlines :type xcb:-ignore)))
 
 (defclass xcb:xkb:Key
   (xcb:-struct)
-  ((name :initarg :name :type xcb:-ignore)
-   (name~ :initform
+  ((name~ :initform
          '(name name type xcb:xkb:STRING8 size 4)
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (gap :initarg :gap :type xcb:INT16)
    (shapeNdx :initarg :shapeNdx :type xcb:CARD8)
    (colorNdx :initarg :colorNdx :type xcb:CARD8)))
 
 (defclass xcb:xkb:OverlayKey
   (xcb:-struct)
-  ((over :initarg :over :type xcb:-ignore)
-   (over~ :initform
+  ((over~ :initform
          '(name over type xcb:xkb:STRING8 size 4)
          :type xcb:-list)
-   (under :initarg :under :type xcb:-ignore)
+   (over :initarg :over :type xcb:-ignore)
    (under~ :initform
           '(name under type xcb:xkb:STRING8 size 4)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (under :initarg :under :type xcb:-ignore)))
 
 (defclass xcb:xkb:OverlayRow
   (xcb:-struct)
   ((rowUnder :initarg :rowUnder :type xcb:CARD8)
    (nKeys :initarg :nKeys :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:xkb:OverlayKey size
                 (xcb:-fieldref 'nKeys))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:xkb:Overlay
   (xcb:-struct)
   ((name :initarg :name :type xcb:ATOM)
    (nRows :initarg :nRows :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
-   (rows :initarg :rows :type xcb:-ignore)
    (rows~ :initform
          '(name rows type xcb:xkb:OverlayRow size
                 (xcb:-fieldref 'nRows))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (rows :initarg :rows :type xcb:-ignore)))
 
 (defclass xcb:xkb:Row
   (xcb:-struct)
@@ -559,11 +559,11 @@
    (nKeys :initarg :nKeys :type xcb:CARD8)
    (vertical :initarg :vertical :type xcb:BOOL)
    (pad~0 :initform 2 :type xcb:-pad)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:xkb:Key size
                 (xcb:-fieldref 'nKeys))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defconst xcb:xkb:DoodadType:Outline 1)
 (defconst xcb:xkb:DoodadType:Solid 2)
@@ -575,11 +575,11 @@
   (xcb:-struct)
   ((flags :initarg :flags :type xcb:CARD16)
    (length :initarg :length :type xcb:CARD16)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:xkb:STRING8 size
                   (xcb:-fieldref 'length))
            :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)
    (pad~0 :initform 2 :type xcb:-pad-align)))
 
 (defclass xcb:xkb:DeviceLedInfo
@@ -590,18 +590,18 @@
    (mapsPresent :initarg :mapsPresent :type xcb:CARD32)
    (physIndicators :initarg :physIndicators :type xcb:CARD32)
    (state :initarg :state :type xcb:CARD32)
-   (names :initarg :names :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:ATOM size
                  (xcb:-popcount
                   (xcb:-fieldref 'namesPresent)))
           :type xcb:-list)
-   (maps :initarg :maps :type xcb:-ignore)
+   (names :initarg :names :type xcb:-ignore)
    (maps~ :initform
          '(name maps type xcb:xkb:IndicatorMap size
                 (xcb:-popcount
                  (xcb:-fieldref 'mapsPresent)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (maps :initarg :maps :type xcb:-ignore)))
 
 (defconst xcb:xkb:Error:BadDevice 255)
 (defconst xcb:xkb:Error:BadClass 254)
@@ -783,10 +783,10 @@
   (xcb:-struct)
   ((type :initarg :type :type xcb:CARD8)
    (flags :initarg :flags :type xcb:CARD8)
-   (message :initarg :message :type xcb:-ignore)
    (message~ :initform
             '(name message type xcb:CARD8 size 6)
-            :type xcb:-list)))
+            :type xcb:-list)
+   (message :initarg :message :type xcb:-ignore)))
 
 (defclass xcb:xkb:SARedirectKey
   (xcb:-struct)
@@ -841,10 +841,10 @@
 (defclass xcb:xkb:SIAction
   (xcb:-struct)
   ((type :initarg :type :type xcb:CARD8)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD8 size 7)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:xkb:SymInterpret
   (xcb:-struct)
@@ -1043,10 +1043,10 @@
    (accessXTimeoutMask :initarg :accessXTimeoutMask :type xcb:CARD32)
    (accessXTimeoutValues :initarg :accessXTimeoutValues :type xcb:CARD32)
    (enabledControls :initarg :enabledControls :type xcb:CARD32)
-   (perKeyRepeat :initarg :perKeyRepeat :type xcb:-ignore)
    (perKeyRepeat~ :initform
                  '(name perKeyRepeat type xcb:CARD8 size 32)
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (perKeyRepeat :initarg :perKeyRepeat :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetControls
   (xcb:-request)
@@ -1081,10 +1081,10 @@
    (accessXTimeoutValues :initarg :accessXTimeoutValues :type xcb:CARD32)
    (accessXTimeoutOptionsMask :initarg :accessXTimeoutOptionsMask :type 
xcb:CARD16)
    (accessXTimeoutOptionsValues :initarg :accessXTimeoutOptionsValues :type 
xcb:CARD16)
-   (perKeyRepeat :initarg :perKeyRepeat :type xcb:-ignore)
    (perKeyRepeat~ :initform
                  '(name perKeyRepeat type xcb:CARD8 size 32)
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (perKeyRepeat :initarg :perKeyRepeat :type xcb:-ignore)))
 
 (defclass xcb:xkb:GetMap
   (xcb:-request)
@@ -1144,65 +1144,65 @@
        '(expression
          (xcb:-fieldref 'present)
          cases
-         ((1 types-rtrn)
-          (2 syms-rtrn)
-          (16 acts-rtrn-count pad~2 acts-rtrn-acts)
-          (32 behaviors-rtrn)
-          (64 vmods-rtrn pad~3)
-          (8 explicit-rtrn pad~4)
-          (4 modmap-rtrn pad~5)
-          (128 vmodmap-rtrn)))
+         ((1 types-rtrn~)
+          (2 syms-rtrn~)
+          (16 acts-rtrn-count~ pad~2 acts-rtrn-acts~)
+          (32 behaviors-rtrn~)
+          (64 vmods-rtrn~ pad~3)
+          (8 explicit-rtrn~ pad~4)
+          (4 modmap-rtrn~ pad~5)
+          (128 vmodmap-rtrn~)))
        :type xcb:-switch)
-   (types-rtrn :initarg :types-rtrn :type xcb:-ignore)
    (types-rtrn~ :initform
                '(name types-rtrn type xcb:xkb:KeyType size
                       (xcb:-fieldref 'nTypes))
                :type xcb:-list)
-   (syms-rtrn :initarg :syms-rtrn :type xcb:-ignore)
+   (types-rtrn :initarg :types-rtrn :type xcb:-ignore)
    (syms-rtrn~ :initform
               '(name syms-rtrn type xcb:xkb:KeySymMap size
                      (xcb:-fieldref 'nKeySyms))
               :type xcb:-list)
-   (acts-rtrn-count :initarg :acts-rtrn-count :type xcb:-ignore)
+   (syms-rtrn :initarg :syms-rtrn :type xcb:-ignore)
    (acts-rtrn-count~ :initform
                     '(name acts-rtrn-count type xcb:CARD8 size
                            (xcb:-fieldref 'nKeyActions))
                     :type xcb:-list)
+   (acts-rtrn-count :initarg :acts-rtrn-count :type xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (acts-rtrn-acts :initarg :acts-rtrn-acts :type xcb:-ignore)
    (acts-rtrn-acts~ :initform
                    '(name acts-rtrn-acts type xcb:xkb:Action size
                           (xcb:-fieldref 'totalActions))
                    :type xcb:-list)
-   (behaviors-rtrn :initarg :behaviors-rtrn :type xcb:-ignore)
+   (acts-rtrn-acts :initarg :acts-rtrn-acts :type xcb:-ignore)
    (behaviors-rtrn~ :initform
                    '(name behaviors-rtrn type xcb:xkb:SetBehavior size
                           (xcb:-fieldref 'totalKeyBehaviors))
                    :type xcb:-list)
-   (vmods-rtrn :initarg :vmods-rtrn :type xcb:-ignore)
+   (behaviors-rtrn :initarg :behaviors-rtrn :type xcb:-ignore)
    (vmods-rtrn~ :initform
                '(name vmods-rtrn type xcb:CARD8 size
                       (xcb:-popcount
                        (xcb:-fieldref 'virtualMods)))
                :type xcb:-list)
+   (vmods-rtrn :initarg :vmods-rtrn :type xcb:-ignore)
    (pad~3 :initform 4 :type xcb:-pad-align)
-   (explicit-rtrn :initarg :explicit-rtrn :type xcb:-ignore)
    (explicit-rtrn~ :initform
                   '(name explicit-rtrn type xcb:xkb:SetExplicit size
                          (xcb:-fieldref 'totalKeyExplicit))
                   :type xcb:-list)
+   (explicit-rtrn :initarg :explicit-rtrn :type xcb:-ignore)
    (pad~4 :initform 4 :type xcb:-pad-align)
-   (modmap-rtrn :initarg :modmap-rtrn :type xcb:-ignore)
    (modmap-rtrn~ :initform
                 '(name modmap-rtrn type xcb:xkb:KeyModMap size
                        (xcb:-fieldref 'totalModMapKeys))
                 :type xcb:-list)
+   (modmap-rtrn :initarg :modmap-rtrn :type xcb:-ignore)
    (pad~5 :initform 4 :type xcb:-pad-align)
-   (vmodmap-rtrn :initarg :vmodmap-rtrn :type xcb:-ignore)
    (vmodmap-rtrn~ :initform
                  '(name vmodmap-rtrn type xcb:xkb:KeyVModMap size
                         (xcb:-fieldref 'totalVModMapKeys))
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (vmodmap-rtrn :initarg :vmodmap-rtrn :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetMap
   (xcb:-request)
@@ -1237,63 +1237,63 @@
           '(expression
             (xcb:-fieldref 'present)
             cases
-            ((1 types)
-             (2 syms)
-             (16 actionsCount pad~0 actions)
-             (32 behaviors)
-             (64 vmods pad~1)
-             (8 explicit)
-             (4 modmap)
-             (128 vmodmap)))
+            ((1 types~)
+             (2 syms~)
+             (16 actionsCount~ pad~0 actions~)
+             (32 behaviors~)
+             (64 vmods~ pad~1)
+             (8 explicit~)
+             (4 modmap~)
+             (128 vmodmap~)))
           :type xcb:-switch)
-   (types :initarg :types :type xcb:-ignore)
    (types~ :initform
           '(name types type xcb:xkb:SetKeyType size
                  (xcb:-fieldref 'nTypes))
           :type xcb:-list)
-   (syms :initarg :syms :type xcb:-ignore)
+   (types :initarg :types :type xcb:-ignore)
    (syms~ :initform
          '(name syms type xcb:xkb:KeySymMap size
                 (xcb:-fieldref 'nKeySyms))
          :type xcb:-list)
-   (actionsCount :initarg :actionsCount :type xcb:-ignore)
+   (syms :initarg :syms :type xcb:-ignore)
    (actionsCount~ :initform
                  '(name actionsCount type xcb:CARD8 size
                         (xcb:-fieldref 'nKeyActions))
                  :type xcb:-list)
+   (actionsCount :initarg :actionsCount :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)
-   (actions :initarg :actions :type xcb:-ignore)
    (actions~ :initform
             '(name actions type xcb:xkb:Action size
                    (xcb:-fieldref 'totalActions))
             :type xcb:-list)
-   (behaviors :initarg :behaviors :type xcb:-ignore)
+   (actions :initarg :actions :type xcb:-ignore)
    (behaviors~ :initform
               '(name behaviors type xcb:xkb:SetBehavior size
                      (xcb:-fieldref 'totalKeyBehaviors))
               :type xcb:-list)
-   (vmods :initarg :vmods :type xcb:-ignore)
+   (behaviors :initarg :behaviors :type xcb:-ignore)
    (vmods~ :initform
           '(name vmods type xcb:CARD8 size
                  (xcb:-popcount
                   (xcb:-fieldref 'virtualMods)))
           :type xcb:-list)
+   (vmods :initarg :vmods :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (explicit :initarg :explicit :type xcb:-ignore)
    (explicit~ :initform
              '(name explicit type xcb:xkb:SetExplicit size
                     (xcb:-fieldref 'totalKeyExplicit))
              :type xcb:-list)
-   (modmap :initarg :modmap :type xcb:-ignore)
+   (explicit :initarg :explicit :type xcb:-ignore)
    (modmap~ :initform
            '(name modmap type xcb:xkb:KeyModMap size
                   (xcb:-fieldref 'totalModMapKeys))
            :type xcb:-list)
-   (vmodmap :initarg :vmodmap :type xcb:-ignore)
+   (modmap :initarg :modmap :type xcb:-ignore)
    (vmodmap~ :initform
             '(name vmodmap type xcb:xkb:KeyVModMap size
                    (xcb:-fieldref 'totalVModMapKeys))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (vmodmap :initarg :vmodmap :type xcb:-ignore)))
 
 (defclass xcb:xkb:GetCompatMap
   (xcb:-request)
@@ -1314,17 +1314,17 @@
    (nSIRtrn :initarg :nSIRtrn :type xcb:CARD16)
    (nTotalSI :initarg :nTotalSI :type xcb:CARD16)
    (pad~1 :initform 16 :type xcb:-pad)
-   (si-rtrn :initarg :si-rtrn :type xcb:-ignore)
    (si-rtrn~ :initform
             '(name si-rtrn type xcb:xkb:SymInterpret size
                    (xcb:-fieldref 'nSIRtrn))
             :type xcb:-list)
-   (group-rtrn :initarg :group-rtrn :type xcb:-ignore)
+   (si-rtrn :initarg :si-rtrn :type xcb:-ignore)
    (group-rtrn~ :initform
                '(name group-rtrn type xcb:xkb:ModDef size
                       (xcb:-popcount
                        (xcb:-fieldref 'groupsRtrn)))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (group-rtrn :initarg :group-rtrn :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetCompatMap
   (xcb:-request)
@@ -1337,17 +1337,17 @@
    (firstSI :initarg :firstSI :type xcb:CARD16)
    (nSI :initarg :nSI :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (si :initarg :si :type xcb:-ignore)
    (si~ :initform
        '(name si type xcb:xkb:SymInterpret size
               (xcb:-fieldref 'nSI))
        :type xcb:-list)
-   (groupMaps :initarg :groupMaps :type xcb:-ignore)
+   (si :initarg :si :type xcb:-ignore)
    (groupMaps~ :initform
               '(name groupMaps type xcb:xkb:ModDef size
                      (xcb:-popcount
                       (xcb:-fieldref 'groups)))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (groupMaps :initarg :groupMaps :type xcb:-ignore)))
 
 (defclass xcb:xkb:GetIndicatorState
   (xcb:-request)
@@ -1377,12 +1377,12 @@
    (realIndicators :initarg :realIndicators :type xcb:CARD32)
    (nIndicators :initarg :nIndicators :type xcb:CARD8)
    (pad~0 :initform 15 :type xcb:-pad)
-   (maps :initarg :maps :type xcb:-ignore)
    (maps~ :initform
          '(name maps type xcb:xkb:IndicatorMap size
                 (xcb:-popcount
                  (xcb:-fieldref 'which)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (maps :initarg :maps :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetIndicatorMap
   (xcb:-request)
@@ -1390,12 +1390,12 @@
    (deviceSpec :initarg :deviceSpec :type xcb:xkb:DeviceSpec)
    (pad~0 :initform 2 :type xcb:-pad)
    (which :initarg :which :type xcb:CARD32)
-   (maps :initarg :maps :type xcb:-ignore)
    (maps~ :initform
          '(name maps type xcb:xkb:IndicatorMap size
                 (xcb:-popcount
                  (xcb:-fieldref 'which)))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (maps :initarg :maps :type xcb:-ignore)))
 
 (defclass xcb:xkb:GetNamedIndicator
   (xcb:-request)
@@ -1481,14 +1481,14 @@
                 (8 physSymbolsName)
                 (16 typesName)
                 (32 compatName)
-                (64 typeNames)
-                (128 nLevelsPerType pad~1 ktLevelNames)
-                (256 indicatorNames)
-                (2048 virtualModNames)
-                (4096 groups)
-                (512 keyNames)
-                (1024 keyAliases)
-                (8192 radioGroupNames)))
+                (64 typeNames~)
+                (128 nLevelsPerType~ pad~1 ktLevelNames~)
+                (256 indicatorNames~)
+                (2048 virtualModNames~)
+                (4096 groups~)
+                (512 keyNames~)
+                (1024 keyAliases~)
+                (8192 radioGroupNames~)))
              :type xcb:-switch)
    (keycodesName :initarg :keycodesName :type xcb:ATOM)
    (geometryName :initarg :geometryName :type xcb:ATOM)
@@ -1496,56 +1496,56 @@
    (physSymbolsName :initarg :physSymbolsName :type xcb:ATOM)
    (typesName :initarg :typesName :type xcb:ATOM)
    (compatName :initarg :compatName :type xcb:ATOM)
-   (typeNames :initarg :typeNames :type xcb:-ignore)
    (typeNames~ :initform
               '(name typeNames type xcb:ATOM size
                      (xcb:-fieldref 'nTypes))
               :type xcb:-list)
-   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
+   (typeNames :initarg :typeNames :type xcb:-ignore)
    (nLevelsPerType~ :initform
                    '(name nLevelsPerType type xcb:CARD8 size
                           (xcb:-fieldref 'nTypes))
                    :type xcb:-list)
+   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (ktLevelNames~ :initform
                  '(name ktLevelNames type xcb:ATOM size
                         (apply #'+
                                (slot-value obj 'nLevelsPerType)))
                  :type xcb:-list)
-   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
+   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (indicatorNames~ :initform
                    '(name indicatorNames type xcb:ATOM size
                           (xcb:-popcount
                            (xcb:-fieldref 'indicators)))
                    :type xcb:-list)
-   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
+   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
    (virtualModNames~ :initform
                     '(name virtualModNames type xcb:ATOM size
                            (xcb:-popcount
                             (xcb:-fieldref 'virtualMods)))
                     :type xcb:-list)
-   (groups :initarg :groups :type xcb:-ignore)
+   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
    (groups~ :initform
            '(name groups type xcb:ATOM size
                   (xcb:-popcount
                    (xcb:-fieldref 'groupNames)))
            :type xcb:-list)
-   (keyNames :initarg :keyNames :type xcb:-ignore)
+   (groups :initarg :groups :type xcb:-ignore)
    (keyNames~ :initform
              '(name keyNames type xcb:xkb:KeyName size
                     (xcb:-fieldref 'nKeys))
              :type xcb:-list)
-   (keyAliases :initarg :keyAliases :type xcb:-ignore)
+   (keyNames :initarg :keyNames :type xcb:-ignore)
    (keyAliases~ :initform
                '(name keyAliases type xcb:xkb:KeyAlias size
                       (xcb:-fieldref 'nKeyAliases))
                :type xcb:-list)
-   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)
+   (keyAliases :initarg :keyAliases :type xcb:-ignore)
    (radioGroupNames~ :initform
                     '(name radioGroupNames type xcb:ATOM size
                            (xcb:-fieldref 'nRadioGroups))
-                    :type xcb:-list)))
+                    :type xcb:-list)
+   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetNames
   (xcb:-request)
@@ -1575,14 +1575,14 @@
              (8 physSymbolsName)
              (16 typesName)
              (32 compatName)
-             (64 typeNames)
-             (128 nLevelsPerType pad~1 ktLevelNames)
-             (256 indicatorNames)
-             (2048 virtualModNames)
-             (4096 groups)
-             (512 keyNames)
-             (1024 keyAliases)
-             (8192 radioGroupNames)))
+             (64 typeNames~)
+             (128 nLevelsPerType~ pad~1 ktLevelNames~)
+             (256 indicatorNames~)
+             (2048 virtualModNames~)
+             (4096 groups~)
+             (512 keyNames~)
+             (1024 keyAliases~)
+             (8192 radioGroupNames~)))
           :type xcb:-switch)
    (keycodesName :initarg :keycodesName :type xcb:ATOM)
    (geometryName :initarg :geometryName :type xcb:ATOM)
@@ -1590,56 +1590,56 @@
    (physSymbolsName :initarg :physSymbolsName :type xcb:ATOM)
    (typesName :initarg :typesName :type xcb:ATOM)
    (compatName :initarg :compatName :type xcb:ATOM)
-   (typeNames :initarg :typeNames :type xcb:-ignore)
    (typeNames~ :initform
               '(name typeNames type xcb:ATOM size
                      (xcb:-fieldref 'nTypes))
               :type xcb:-list)
-   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
+   (typeNames :initarg :typeNames :type xcb:-ignore)
    (nLevelsPerType~ :initform
                    '(name nLevelsPerType type xcb:CARD8 size
                           (xcb:-fieldref 'nTypes))
                    :type xcb:-list)
+   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (ktLevelNames~ :initform
                  '(name ktLevelNames type xcb:ATOM size
                         (apply #'+
                                (slot-value obj 'nLevelsPerType)))
                  :type xcb:-list)
-   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
+   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (indicatorNames~ :initform
                    '(name indicatorNames type xcb:ATOM size
                           (xcb:-popcount
                            (xcb:-fieldref 'indicators)))
                    :type xcb:-list)
-   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
+   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
    (virtualModNames~ :initform
                     '(name virtualModNames type xcb:ATOM size
                            (xcb:-popcount
                             (xcb:-fieldref 'virtualMods)))
                     :type xcb:-list)
-   (groups :initarg :groups :type xcb:-ignore)
+   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
    (groups~ :initform
            '(name groups type xcb:ATOM size
                   (xcb:-popcount
                    (xcb:-fieldref 'groupNames)))
            :type xcb:-list)
-   (keyNames :initarg :keyNames :type xcb:-ignore)
+   (groups :initarg :groups :type xcb:-ignore)
    (keyNames~ :initform
              '(name keyNames type xcb:xkb:KeyName size
                     (xcb:-fieldref 'nKeys))
              :type xcb:-list)
-   (keyAliases :initarg :keyAliases :type xcb:-ignore)
+   (keyNames :initarg :keyNames :type xcb:-ignore)
    (keyAliases~ :initform
                '(name keyAliases type xcb:xkb:KeyAlias size
                       (xcb:-fieldref 'nKeyAliases))
                :type xcb:-list)
-   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)
+   (keyAliases :initarg :keyAliases :type xcb:-ignore)
    (radioGroupNames~ :initform
                     '(name radioGroupNames type xcb:ATOM size
                            (xcb:-fieldref 'nRadioGroups))
-                    :type xcb:-list)))
+                    :type xcb:-list)
+   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)))
 
 (defclass xcb:xkb:PerClientFlags
   (xcb:-request)
@@ -1680,36 +1680,36 @@
    (nGeometries :initarg :nGeometries :type xcb:CARD16)
    (extra :initarg :extra :type xcb:CARD16)
    (pad~0 :initform 10 :type xcb:-pad)
-   (keymaps :initarg :keymaps :type xcb:-ignore)
    (keymaps~ :initform
             '(name keymaps type xcb:xkb:Listing size
                    (xcb:-fieldref 'nKeymaps))
             :type xcb:-list)
-   (keycodes :initarg :keycodes :type xcb:-ignore)
+   (keymaps :initarg :keymaps :type xcb:-ignore)
    (keycodes~ :initform
              '(name keycodes type xcb:xkb:Listing size
                     (xcb:-fieldref 'nKeycodes))
              :type xcb:-list)
-   (types :initarg :types :type xcb:-ignore)
+   (keycodes :initarg :keycodes :type xcb:-ignore)
    (types~ :initform
           '(name types type xcb:xkb:Listing size
                  (xcb:-fieldref 'nTypes))
           :type xcb:-list)
-   (compatMaps :initarg :compatMaps :type xcb:-ignore)
+   (types :initarg :types :type xcb:-ignore)
    (compatMaps~ :initform
                '(name compatMaps type xcb:xkb:Listing size
                       (xcb:-fieldref 'nCompatMaps))
                :type xcb:-list)
-   (symbols :initarg :symbols :type xcb:-ignore)
+   (compatMaps :initarg :compatMaps :type xcb:-ignore)
    (symbols~ :initform
             '(name symbols type xcb:xkb:Listing size
                    (xcb:-fieldref 'nSymbols))
             :type xcb:-list)
-   (geometries :initarg :geometries :type xcb:-ignore)
+   (symbols :initarg :symbols :type xcb:-ignore)
    (geometries~ :initform
                '(name geometries type xcb:xkb:Listing size
                       (xcb:-fieldref 'nGeometries))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (geometries :initarg :geometries :type xcb:-ignore)))
 
 (defclass xcb:xkb:GetKbdByName
   (xcb:-request)
@@ -1743,8 +1743,8 @@
              (xcb:-fieldref 'reported)
              cases
              ((13 getmap-type typeDeviceID getmap-sequence getmap-length pad~1 
typeMinKeyCode typeMaxKeyCode present firstType nTypes totalTypes firstKeySym 
totalSyms nKeySyms firstKeyAction totalActions nKeyActions firstKeyBehavior 
nKeyBehaviors totalKeyBehaviors firstKeyExplicit nKeyExplicit totalKeyExplicit 
firstModMapKey nModMapKeys totalModMapKeys firstVModMapKey nVModMapKeys 
totalVModMapKeys pad~2 virtualMods map)
-              (2 compatmap-type compatDeviceID compatmap-sequence 
compatmap-length groupsRtrn pad~7 firstSIRtrn nSIRtrn nTotalSI pad~8 si-rtrn 
group-rtrn)
-              (16 indicatormap-type indicatorDeviceID indicatormap-sequence 
indicatormap-length which realIndicators nIndicators pad~9 maps)
+              (2 compatmap-type compatDeviceID compatmap-sequence 
compatmap-length groupsRtrn pad~7 firstSIRtrn nSIRtrn nTotalSI pad~8 si-rtrn~ 
group-rtrn~)
+              (16 indicatormap-type indicatorDeviceID indicatormap-sequence 
indicatormap-length which realIndicators nIndicators pad~9 maps~)
               (160 keyname-type keyDeviceID keyname-sequence keyname-length 
which* keyMinKeyCode keyMaxKeyCode nTypes* groupNames virtualMods* firstKey 
nKeys indicators nRadioGroups nKeyAliases nKTLevels pad~10 valueList)
               (64 geometry-type geometryDeviceID geometry-sequence 
geometry-length name geometryFound pad~12 widthMM heightMM nProperties nColors 
nShapes nSections nDoodads nKeyAliases* baseColorNdx labelColorNdx labelFont)))
            :type xcb:-switch)
@@ -1783,65 +1783,65 @@
        '(expression
          (xcb:-fieldref 'present)
          cases
-         ((1 types-rtrn)
-          (2 syms-rtrn)
-          (16 acts-rtrn-count pad~3 acts-rtrn-acts)
-          (32 behaviors-rtrn)
-          (64 vmods-rtrn pad~4)
-          (8 explicit-rtrn pad~5)
-          (4 modmap-rtrn pad~6)
-          (128 vmodmap-rtrn)))
+         ((1 types-rtrn~)
+          (2 syms-rtrn~)
+          (16 acts-rtrn-count~ pad~3 acts-rtrn-acts~)
+          (32 behaviors-rtrn~)
+          (64 vmods-rtrn~ pad~4)
+          (8 explicit-rtrn~ pad~5)
+          (4 modmap-rtrn~ pad~6)
+          (128 vmodmap-rtrn~)))
        :type xcb:-switch)
-   (types-rtrn :initarg :types-rtrn :type xcb:-ignore)
    (types-rtrn~ :initform
                '(name types-rtrn type xcb:xkb:KeyType size
                       (xcb:-fieldref 'nTypes))
                :type xcb:-list)
-   (syms-rtrn :initarg :syms-rtrn :type xcb:-ignore)
+   (types-rtrn :initarg :types-rtrn :type xcb:-ignore)
    (syms-rtrn~ :initform
               '(name syms-rtrn type xcb:xkb:KeySymMap size
                      (xcb:-fieldref 'nKeySyms))
               :type xcb:-list)
-   (acts-rtrn-count :initarg :acts-rtrn-count :type xcb:-ignore)
+   (syms-rtrn :initarg :syms-rtrn :type xcb:-ignore)
    (acts-rtrn-count~ :initform
                     '(name acts-rtrn-count type xcb:CARD8 size
                            (xcb:-fieldref 'nKeyActions))
                     :type xcb:-list)
+   (acts-rtrn-count :initarg :acts-rtrn-count :type xcb:-ignore)
    (pad~3 :initform 4 :type xcb:-pad-align)
-   (acts-rtrn-acts :initarg :acts-rtrn-acts :type xcb:-ignore)
    (acts-rtrn-acts~ :initform
                    '(name acts-rtrn-acts type xcb:xkb:Action size
                           (xcb:-fieldref 'totalActions))
                    :type xcb:-list)
-   (behaviors-rtrn :initarg :behaviors-rtrn :type xcb:-ignore)
+   (acts-rtrn-acts :initarg :acts-rtrn-acts :type xcb:-ignore)
    (behaviors-rtrn~ :initform
                    '(name behaviors-rtrn type xcb:xkb:SetBehavior size
                           (xcb:-fieldref 'totalKeyBehaviors))
                    :type xcb:-list)
-   (vmods-rtrn :initarg :vmods-rtrn :type xcb:-ignore)
+   (behaviors-rtrn :initarg :behaviors-rtrn :type xcb:-ignore)
    (vmods-rtrn~ :initform
                '(name vmods-rtrn type xcb:CARD8 size
                       (xcb:-popcount
                        (xcb:-fieldref 'virtualMods)))
                :type xcb:-list)
+   (vmods-rtrn :initarg :vmods-rtrn :type xcb:-ignore)
    (pad~4 :initform 4 :type xcb:-pad-align)
-   (explicit-rtrn :initarg :explicit-rtrn :type xcb:-ignore)
    (explicit-rtrn~ :initform
                   '(name explicit-rtrn type xcb:xkb:SetExplicit size
                          (xcb:-fieldref 'totalKeyExplicit))
                   :type xcb:-list)
+   (explicit-rtrn :initarg :explicit-rtrn :type xcb:-ignore)
    (pad~5 :initform 4 :type xcb:-pad-align)
-   (modmap-rtrn :initarg :modmap-rtrn :type xcb:-ignore)
    (modmap-rtrn~ :initform
                 '(name modmap-rtrn type xcb:xkb:KeyModMap size
                        (xcb:-fieldref 'totalModMapKeys))
                 :type xcb:-list)
+   (modmap-rtrn :initarg :modmap-rtrn :type xcb:-ignore)
    (pad~6 :initform 4 :type xcb:-pad-align)
-   (vmodmap-rtrn :initarg :vmodmap-rtrn :type xcb:-ignore)
    (vmodmap-rtrn~ :initform
                  '(name vmodmap-rtrn type xcb:xkb:KeyVModMap size
                         (xcb:-fieldref 'totalVModMapKeys))
                  :type xcb:-list)
+   (vmodmap-rtrn :initarg :vmodmap-rtrn :type xcb:-ignore)
    (compatmap-type :initarg :compatmap-type :type xcb:CARD8)
    (compatDeviceID :initarg :compatDeviceID :type xcb:CARD8)
    (compatmap-sequence :initarg :compatmap-sequence :type xcb:CARD16)
@@ -1852,17 +1852,17 @@
    (nSIRtrn :initarg :nSIRtrn :type xcb:CARD16)
    (nTotalSI :initarg :nTotalSI :type xcb:CARD16)
    (pad~8 :initform 16 :type xcb:-pad)
-   (si-rtrn :initarg :si-rtrn :type xcb:-ignore)
    (si-rtrn~ :initform
             '(name si-rtrn type xcb:xkb:SymInterpret size
                    (xcb:-fieldref 'nSIRtrn))
             :type xcb:-list)
-   (group-rtrn :initarg :group-rtrn :type xcb:-ignore)
+   (si-rtrn :initarg :si-rtrn :type xcb:-ignore)
    (group-rtrn~ :initform
                '(name group-rtrn type xcb:xkb:ModDef size
                       (xcb:-popcount
                        (xcb:-fieldref 'groupsRtrn)))
                :type xcb:-list)
+   (group-rtrn :initarg :group-rtrn :type xcb:-ignore)
    (indicatormap-type :initarg :indicatormap-type :type xcb:CARD8)
    (indicatorDeviceID :initarg :indicatorDeviceID :type xcb:CARD8)
    (indicatormap-sequence :initarg :indicatormap-sequence :type xcb:CARD16)
@@ -1871,11 +1871,11 @@
    (realIndicators :initarg :realIndicators :type xcb:CARD32)
    (nIndicators :initarg :nIndicators :type xcb:CARD8)
    (pad~9 :initform 15 :type xcb:-pad)
-   (maps :initarg :maps :type xcb:-ignore)
    (maps~ :initform
          '(name maps type xcb:xkb:IndicatorMap size
                 (xcb:-fieldref 'nIndicators))
          :type xcb:-list)
+   (maps :initarg :maps :type xcb:-ignore)
    (keyname-type :initarg :keyname-type :type xcb:CARD8)
    (keyDeviceID :initarg :keyDeviceID :type xcb:CARD8)
    (keyname-sequence :initarg :keyname-sequence :type xcb:CARD16)
@@ -1903,14 +1903,14 @@
                 (8 physSymbolsName)
                 (16 typesName)
                 (32 compatName)
-                (64 typeNames)
-                (128 nLevelsPerType pad~11 ktLevelNames)
-                (256 indicatorNames)
-                (2048 virtualModNames)
-                (4096 groups)
-                (512 keyNames)
-                (1024 keyAliases)
-                (8192 radioGroupNames)))
+                (64 typeNames~)
+                (128 nLevelsPerType~ pad~11 ktLevelNames~)
+                (256 indicatorNames~)
+                (2048 virtualModNames~)
+                (4096 groups~)
+                (512 keyNames~)
+                (1024 keyAliases~)
+                (8192 radioGroupNames~)))
              :type xcb:-switch)
    (keycodesName :initarg :keycodesName :type xcb:ATOM)
    (geometryName :initarg :geometryName :type xcb:ATOM)
@@ -1918,56 +1918,56 @@
    (physSymbolsName :initarg :physSymbolsName :type xcb:ATOM)
    (typesName :initarg :typesName :type xcb:ATOM)
    (compatName :initarg :compatName :type xcb:ATOM)
-   (typeNames :initarg :typeNames :type xcb:-ignore)
    (typeNames~ :initform
               '(name typeNames type xcb:ATOM size
                      (xcb:-fieldref 'nTypes))
               :type xcb:-list)
-   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
+   (typeNames :initarg :typeNames :type xcb:-ignore)
    (nLevelsPerType~ :initform
                    '(name nLevelsPerType type xcb:CARD8 size
                           (xcb:-fieldref 'nTypes))
                    :type xcb:-list)
+   (nLevelsPerType :initarg :nLevelsPerType :type xcb:-ignore)
    (pad~11 :initform 4 :type xcb:-pad-align)
-   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (ktLevelNames~ :initform
                  '(name ktLevelNames type xcb:ATOM size
                         (apply #'+
                                (slot-value obj 'nLevelsPerType)))
                  :type xcb:-list)
-   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
+   (ktLevelNames :initarg :ktLevelNames :type xcb:-ignore)
    (indicatorNames~ :initform
                    '(name indicatorNames type xcb:ATOM size
                           (xcb:-popcount
                            (xcb:-fieldref 'indicators)))
                    :type xcb:-list)
-   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
+   (indicatorNames :initarg :indicatorNames :type xcb:-ignore)
    (virtualModNames~ :initform
                     '(name virtualModNames type xcb:ATOM size
                            (xcb:-popcount
                             (xcb:-fieldref 'virtualMods)))
                     :type xcb:-list)
-   (groups :initarg :groups :type xcb:-ignore)
+   (virtualModNames :initarg :virtualModNames :type xcb:-ignore)
    (groups~ :initform
            '(name groups type xcb:ATOM size
                   (xcb:-popcount
                    (xcb:-fieldref 'groupNames)))
            :type xcb:-list)
-   (keyNames :initarg :keyNames :type xcb:-ignore)
+   (groups :initarg :groups :type xcb:-ignore)
    (keyNames~ :initform
              '(name keyNames type xcb:xkb:KeyName size
                     (xcb:-fieldref 'nKeys))
              :type xcb:-list)
-   (keyAliases :initarg :keyAliases :type xcb:-ignore)
+   (keyNames :initarg :keyNames :type xcb:-ignore)
    (keyAliases~ :initform
                '(name keyAliases type xcb:xkb:KeyAlias size
                       (xcb:-fieldref 'nKeyAliases))
                :type xcb:-list)
-   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)
+   (keyAliases :initarg :keyAliases :type xcb:-ignore)
    (radioGroupNames~ :initform
                     '(name radioGroupNames type xcb:ATOM size
                            (xcb:-fieldref 'nRadioGroups))
                     :type xcb:-list)
+   (radioGroupNames :initarg :radioGroupNames :type xcb:-ignore)
    (geometry-type :initarg :geometry-type :type xcb:CARD8)
    (geometryDeviceID :initarg :geometryDeviceID :type xcb:CARD8)
    (geometry-sequence :initarg :geometry-sequence :type xcb:CARD16)
@@ -2023,22 +2023,22 @@
    (pad~0 :initform 2 :type xcb:-pad)
    (devType :initarg :devType :type xcb:ATOM)
    (nameLen :initarg :nameLen :type xcb:CARD16)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:xkb:STRING8 size
                 (xcb:-fieldref 'nameLen))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (btnActions :initarg :btnActions :type xcb:-ignore)
    (btnActions~ :initform
                '(name btnActions type xcb:xkb:Action size
                       (xcb:-fieldref 'nBtnsRtrn))
                :type xcb:-list)
-   (leds :initarg :leds :type xcb:-ignore)
+   (btnActions :initarg :btnActions :type xcb:-ignore)
    (leds~ :initform
          '(name leds type xcb:xkb:DeviceLedInfo size
                 (xcb:-fieldref 'nDeviceLedFBs))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (leds :initarg :leds :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetDeviceInfo
   (xcb:-request)
@@ -2048,16 +2048,16 @@
    (nBtns :initarg :nBtns :type xcb:CARD8)
    (change :initarg :change :type xcb:CARD16)
    (nDeviceLedFBs :initarg :nDeviceLedFBs :type xcb:CARD16)
-   (btnActions :initarg :btnActions :type xcb:-ignore)
    (btnActions~ :initform
                '(name btnActions type xcb:xkb:Action size
                       (xcb:-fieldref 'nBtns))
                :type xcb:-list)
-   (leds :initarg :leds :type xcb:-ignore)
+   (btnActions :initarg :btnActions :type xcb:-ignore)
    (leds~ :initform
          '(name leds type xcb:xkb:DeviceLedInfo size
                 (xcb:-fieldref 'nDeviceLedFBs))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (leds :initarg :leds :type xcb:-ignore)))
 
 (defclass xcb:xkb:SetDebuggingFlags
   (xcb:-request)
@@ -2068,11 +2068,11 @@
    (flags :initarg :flags :type xcb:CARD32)
    (affectCtrls :initarg :affectCtrls :type xcb:CARD32)
    (ctrls :initarg :ctrls :type xcb:CARD32)
-   (message :initarg :message :type xcb:-ignore)
    (message~ :initform
             '(name message type xcb:xkb:STRING8 size
                    (xcb:-fieldref 'msgLength))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (message :initarg :message :type xcb:-ignore)))
 (defclass xcb:xkb:SetDebuggingFlags~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -2263,10 +2263,10 @@
    (keyEventFollows :initarg :keyEventFollows :type xcb:BOOL)
    (mods :initarg :mods :type xcb:CARD8)
    (group :initarg :group :type xcb:CARD8)
-   (message :initarg :message :type xcb:-ignore)
    (message~ :initform
             '(name message type xcb:xkb:STRING8 size 8)
             :type xcb:-list)
+   (message :initarg :message :type xcb:-ignore)
    (pad~0 :initform 10 :type xcb:-pad)))
 
 (defclass xcb:xkb:AccessXNotify
diff --git a/xcb-xprint.el b/xcb-xprint.el
index bc77c6b..f9646b6 100644
--- a/xcb-xprint.el
+++ b/xcb-xprint.el
@@ -38,18 +38,18 @@
 (defclass xcb:xprint:PRINTER
   (xcb:-struct)
   ((nameLen :initarg :nameLen :type xcb:CARD32)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:xprint:STRING8 size
                 (xcb:-fieldref 'nameLen))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)
    (descLen :initarg :descLen :type xcb:CARD32)
-   (description :initarg :description :type xcb:-ignore)
    (description~ :initform
                 '(name description type xcb:xprint:STRING8 size
                        (xcb:-fieldref 'descLen))
                 :type xcb:-list)
+   (description :initarg :description :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (xcb:deftypealias 'xcb:xprint:PCONTEXT 'xcb:-u4)
@@ -92,16 +92,16 @@
   ((~opcode :initform 1 :type xcb:-u1)
    (printerNameLen :initarg :printerNameLen :type xcb:CARD32)
    (localeLen :initarg :localeLen :type xcb:CARD32)
-   (printer-name :initarg :printer-name :type xcb:-ignore)
    (printer-name~ :initform
                  '(name printer-name type xcb:xprint:STRING8 size
                         (xcb:-fieldref 'printerNameLen))
                  :type xcb:-list)
-   (locale :initarg :locale :type xcb:-ignore)
+   (printer-name :initarg :printer-name :type xcb:-ignore)
    (locale~ :initform
            '(name locale type xcb:xprint:STRING8 size
                   (xcb:-fieldref 'localeLen))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (locale :initarg :locale :type xcb:-ignore)))
 (defclass xcb:xprint:PrintGetPrinterList~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -109,11 +109,11 @@
    (length :type xcb:CARD32)
    (listCount :initarg :listCount :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (printers :initarg :printers :type xcb:-ignore)
    (printers~ :initform
              '(name printers type xcb:xprint:PRINTER size
                     (xcb:-fieldref 'listCount))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (printers :initarg :printers :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintRehashPrinterList
   (xcb:-request)
@@ -125,16 +125,16 @@
    (context-id :initarg :context-id :type xcb:CARD32)
    (printerNameLen :initarg :printerNameLen :type xcb:CARD32)
    (localeLen :initarg :localeLen :type xcb:CARD32)
-   (printerName :initarg :printerName :type xcb:-ignore)
    (printerName~ :initform
                 '(name printerName type xcb:xprint:STRING8 size
                        (xcb:-fieldref 'printerNameLen))
                 :type xcb:-list)
-   (locale :initarg :locale :type xcb:-ignore)
+   (printerName :initarg :printerName :type xcb:-ignore)
    (locale~ :initform
            '(name locale type xcb:xprint:STRING8 size
                   (xcb:-fieldref 'localeLen))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (locale :initarg :locale :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintSetContext
   (xcb:-request)
@@ -193,21 +193,21 @@
    (len-data :initarg :len-data :type xcb:CARD32)
    (len-fmt :initarg :len-fmt :type xcb:CARD16)
    (len-options :initarg :len-options :type xcb:CARD16)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (xcb:-fieldref 'len-data))
          :type xcb:-list)
-   (doc-format :initarg :doc-format :type xcb:-ignore)
+   (data :initarg :data :type xcb:-ignore)
    (doc-format~ :initform
                '(name doc-format type xcb:xprint:STRING8 size
                       (xcb:-fieldref 'len-fmt))
                :type xcb:-list)
-   (options :initarg :options :type xcb:-ignore)
+   (doc-format :initarg :doc-format :type xcb:-ignore)
    (options~ :initform
             '(name options type xcb:xprint:STRING8 size
                    (xcb:-fieldref 'len-options))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (options :initarg :options :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintGetDocumentData
   (xcb:-request)
@@ -223,11 +223,11 @@
    (finished-flag :initarg :finished-flag :type xcb:CARD32)
    (dataLen :initarg :dataLen :type xcb:CARD32)
    (pad~1 :initform 12 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (xcb:-fieldref 'dataLen))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintStartPage
   (xcb:-request)
@@ -271,11 +271,11 @@
    (length :type xcb:CARD32)
    (stringLen :initarg :stringLen :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (attributes :initarg :attributes :type xcb:-ignore)
    (attributes~ :initform
                '(name attributes type xcb:xprint:STRING8 size
                       (xcb:-fieldref 'stringLen))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (attributes :initarg :attributes :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintGetOneAttributes
   (xcb:-request)
@@ -284,11 +284,11 @@
    (nameLen :initarg :nameLen :type xcb:CARD32)
    (pool :initarg :pool :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:xprint:STRING8 size
                 (xcb:-fieldref 'nameLen))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:xprint:PrintGetOneAttributes~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -296,11 +296,11 @@
    (length :type xcb:CARD32)
    (valueLen :initarg :valueLen :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (value :initarg :value :type xcb:-ignore)
    (value~ :initform
           '(name value type xcb:xprint:STRING8 size
                  (xcb:-fieldref 'valueLen))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (value :initarg :value :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintSetAttributes
   (xcb:-request)
@@ -310,10 +310,10 @@
    (pool :initarg :pool :type xcb:CARD8)
    (rule :initarg :rule :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (attributes :initarg :attributes :type xcb:-ignore)
    (attributes~ :initform
                '(name attributes type xcb:xprint:STRING8 size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (attributes :initarg :attributes :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintGetPageDimensions
   (xcb:-request)
@@ -341,11 +341,11 @@
    (length :type xcb:CARD32)
    (listCount :initarg :listCount :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (roots :initarg :roots :type xcb:-ignore)
    (roots~ :initform
           '(name roots type xcb:WINDOW size
                  (xcb:-fieldref 'listCount))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (roots :initarg :roots :type xcb:-ignore)))
 
 (defclass xcb:xprint:PrintSetImageResolution
   (xcb:-request)
diff --git a/xcb-xproto.el b/xcb-xproto.el
index 1b6ddb2..fbe948e 100644
--- a/xcb-xproto.el
+++ b/xcb-xproto.el
@@ -115,11 +115,11 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (visuals-len :initarg :visuals-len :type xcb:CARD16)
    (pad~1 :initform 4 :type xcb:-pad)
-   (visuals :initarg :visuals :type xcb:-ignore)
    (visuals~ :initform
             '(name visuals type xcb:VISUALTYPE size
                    (xcb:-fieldref 'visuals-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (visuals :initarg :visuals :type xcb:-ignore)))
 
 (defconst xcb:EventMask:NoEvent 0)
 (defconst xcb:EventMask:KeyPress 1)
@@ -170,11 +170,11 @@
    (save-unders :initarg :save-unders :type xcb:BOOL)
    (root-depth :initarg :root-depth :type xcb:CARD8)
    (allowed-depths-len :initarg :allowed-depths-len :type xcb:CARD8)
-   (allowed-depths :initarg :allowed-depths :type xcb:-ignore)
    (allowed-depths~ :initform
                    '(name allowed-depths type xcb:DEPTH size
                           (xcb:-fieldref 'allowed-depths-len))
-                   :type xcb:-list)))
+                   :type xcb:-list)
+   (allowed-depths :initarg :allowed-depths :type xcb:-ignore)))
 
 (defclass xcb:SetupRequest
   (xcb:-struct)
@@ -185,17 +185,17 @@
    (authorization-protocol-name-len :initarg :authorization-protocol-name-len 
:type xcb:CARD16)
    (authorization-protocol-data-len :initarg :authorization-protocol-data-len 
:type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (authorization-protocol-name :initarg :authorization-protocol-name :type 
xcb:-ignore)
    (authorization-protocol-name~ :initform
                                 '(name authorization-protocol-name type 
xcb:char size
                                        (xcb:-fieldref 
'authorization-protocol-name-len))
                                 :type xcb:-list)
+   (authorization-protocol-name :initarg :authorization-protocol-name :type 
xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (authorization-protocol-data :initarg :authorization-protocol-data :type 
xcb:-ignore)
    (authorization-protocol-data~ :initform
                                 '(name authorization-protocol-data type 
xcb:char size
                                        (xcb:-fieldref 
'authorization-protocol-data-len))
                                 :type xcb:-list)
+   (authorization-protocol-data :initarg :authorization-protocol-data :type 
xcb:-ignore)
    (pad~3 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:SetupFailed
@@ -205,24 +205,24 @@
    (protocol-major-version :initarg :protocol-major-version :type xcb:CARD16)
    (protocol-minor-version :initarg :protocol-minor-version :type xcb:CARD16)
    (length :initarg :length :type xcb:CARD16)
-   (reason :initarg :reason :type xcb:-ignore)
    (reason~ :initform
            '(name reason type xcb:char size
                   (xcb:-fieldref 'reason-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (reason :initarg :reason :type xcb:-ignore)))
 
 (defclass xcb:SetupAuthenticate
   (xcb:-struct)
   ((status :initarg :status :type xcb:CARD8)
    (pad~0 :initform 5 :type xcb:-pad)
    (length :initarg :length :type xcb:CARD16)
-   (reason :initarg :reason :type xcb:-ignore)
    (reason~ :initform
            '(name reason type xcb:char size
                   (*
                    (xcb:-fieldref 'length)
                    4))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (reason :initarg :reason :type xcb:-ignore)))
 
 (defconst xcb:ImageOrder:LSBFirst 0)
 (defconst xcb:ImageOrder:MSBFirst 1)
@@ -249,22 +249,22 @@
    (min-keycode :initarg :min-keycode :type xcb:KEYCODE)
    (max-keycode :initarg :max-keycode :type xcb:KEYCODE)
    (pad~1 :initform 4 :type xcb:-pad)
-   (vendor :initarg :vendor :type xcb:-ignore)
    (vendor~ :initform
            '(name vendor type xcb:char size
                   (xcb:-fieldref 'vendor-len))
            :type xcb:-list)
+   (vendor :initarg :vendor :type xcb:-ignore)
    (pad~2 :initform 4 :type xcb:-pad-align)
-   (pixmap-formats :initarg :pixmap-formats :type xcb:-ignore)
    (pixmap-formats~ :initform
                    '(name pixmap-formats type xcb:FORMAT size
                           (xcb:-fieldref 'pixmap-formats-len))
                    :type xcb:-list)
-   (roots :initarg :roots :type xcb:-ignore)
+   (pixmap-formats :initarg :pixmap-formats :type xcb:-ignore)
    (roots~ :initform
           '(name roots type xcb:SCREEN size
                  (xcb:-fieldref 'roots-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (roots :initarg :roots :type xcb:-ignore)))
 
 (defconst xcb:ModMask:Shift 1)
 (defconst xcb:ModMask:Lock 2)
@@ -412,10 +412,10 @@
 (defclass xcb:KeymapNotify
   (xcb:-event)
   ((~code :initform 11)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 31)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:Expose
   (xcb:-event)
@@ -738,18 +738,18 @@
 (defclass xcb:ClientMessageData
   (xcb:-union)
   ((~size :initform 20)
-   (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
           '(name data8 type xcb:CARD8 size 20)
           :type xcb:-list)
-   (data16 :initarg :data16 :type xcb:-ignore)
+   (data8 :initarg :data8 :type xcb:-ignore)
    (data16~ :initform
            '(name data16 type xcb:CARD16 size 10)
            :type xcb:-list)
-   (data32 :initarg :data32 :type xcb:-ignore)
+   (data16 :initarg :data16 :type xcb:-ignore)
    (data32~ :initform
            '(name data32 type xcb:CARD32 size 5)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (data32 :initarg :data32 :type xcb:-ignore)))
 
 (defclass xcb:ClientMessage
   (xcb:-event)
@@ -1148,11 +1148,11 @@
    (parent :initarg :parent :type xcb:WINDOW)
    (children-len :initarg :children-len :type xcb:CARD16)
    (pad~1 :initform 14 :type xcb:-pad)
-   (children :initarg :children :type xcb:-ignore)
    (children~ :initform
              '(name children type xcb:WINDOW size
                     (xcb:-fieldref 'children-len))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (children :initarg :children :type xcb:-ignore)))
 
 (defclass xcb:InternAtom
   (xcb:-request)
@@ -1160,11 +1160,11 @@
    (only-if-exists :initarg :only-if-exists :type xcb:BOOL)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:InternAtom~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -1184,11 +1184,11 @@
    (length :type xcb:CARD32)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defconst xcb:PropMode:Replace 0)
 (defconst xcb:PropMode:Prepend 1)
@@ -1204,7 +1204,6 @@
    (format :initarg :format :type xcb:CARD8)
    (pad~0 :initform 3 :type xcb:-pad)
    (data-len :initarg :data-len :type xcb:CARD32)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:void size
                 (/
@@ -1212,7 +1211,8 @@
                   (xcb:-fieldref 'data-len)
                   (xcb:-fieldref 'format))
                  8))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:DeleteProperty
   (xcb:-request)
@@ -1241,7 +1241,6 @@
    (bytes-after :initarg :bytes-after :type xcb:CARD32)
    (value-len :initarg :value-len :type xcb:CARD32)
    (pad~0 :initform 12 :type xcb:-pad)
-   (value :initarg :value :type xcb:-ignore)
    (value~ :initform
           '(name value type xcb:void size
                  (*
@@ -1249,7 +1248,8 @@
                   (/
                    (xcb:-fieldref 'format)
                    8)))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (value :initarg :value :type xcb:-ignore)))
 
 (defclass xcb:ListProperties
   (xcb:-request)
@@ -1263,11 +1263,11 @@
    (length :type xcb:CARD32)
    (atoms-len :initarg :atoms-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (atoms :initarg :atoms :type xcb:-ignore)
    (atoms~ :initform
           '(name atoms type xcb:ATOM size
                  (xcb:-fieldref 'atoms-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (atoms :initarg :atoms :type xcb:-ignore)))
 
 (defclass xcb:SetSelectionOwner
   (xcb:-request)
@@ -1308,10 +1308,10 @@
    (propagate :initarg :propagate :type xcb:BOOL)
    (destination :initarg :destination :type xcb:WINDOW)
    (event-mask :initarg :event-mask :type xcb:CARD32)
-   (event :initarg :event :type xcb:-ignore)
    (event~ :initform
           '(name event type xcb:char size 32)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (event :initarg :event :type xcb:-ignore)))
 
 (defconst xcb:GrabMode:Sync 0)
 (defconst xcb:GrabMode:Async 1)
@@ -1489,11 +1489,11 @@
    (length :type xcb:CARD32)
    (events-len :initarg :events-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (events :initarg :events :type xcb:-ignore)
    (events~ :initform
            '(name events type xcb:TIMECOORD size
                   (xcb:-fieldref 'events-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (events :initarg :events :type xcb:-ignore)))
 
 (defclass xcb:TranslateCoordinates
   (xcb:-request)
@@ -1555,10 +1555,10 @@
   ((pad~0 :initform 1 :type xcb:-pad)
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
-   (keys :initarg :keys :type xcb:-ignore)
    (keys~ :initform
          '(name keys type xcb:CARD8 size 32)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (keys :initarg :keys :type xcb:-ignore)))
 
 (defclass xcb:OpenFont
   (xcb:-request)
@@ -1567,11 +1567,11 @@
    (fid :initarg :fid :type xcb:FONT)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:CloseFont
   (xcb:-request)
@@ -1621,26 +1621,26 @@
    (font-ascent :initarg :font-ascent :type xcb:INT16)
    (font-descent :initarg :font-descent :type xcb:INT16)
    (char-infos-len :initarg :char-infos-len :type xcb:CARD32)
-   (properties :initarg :properties :type xcb:-ignore)
    (properties~ :initform
                '(name properties type xcb:FONTPROP size
                       (xcb:-fieldref 'properties-len))
                :type xcb:-list)
-   (char-infos :initarg :char-infos :type xcb:-ignore)
+   (properties :initarg :properties :type xcb:-ignore)
    (char-infos~ :initform
                '(name char-infos type xcb:CHARINFO size
                       (xcb:-fieldref 'char-infos-len))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (char-infos :initarg :char-infos :type xcb:-ignore)))
 
 (defclass xcb:QueryTextExtents
   (xcb:-request)
   ((~opcode :initform 48 :type xcb:-u1)
    (odd-length :type xcb:BOOL)
    (font :initarg :font :type xcb:FONTABLE)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:CHAR2B size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 (cl-defmethod xcb:marshal
   ((obj xcb:QueryTextExtents))
   nil
@@ -1667,11 +1667,11 @@
 (defclass xcb:STR
   (xcb:-struct)
   ((name-len :initarg :name-len :type xcb:CARD8)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:ListFonts
   (xcb:-request)
@@ -1679,11 +1679,11 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (max-names :initarg :max-names :type xcb:CARD16)
    (pattern-len :initarg :pattern-len :type xcb:CARD16)
-   (pattern :initarg :pattern :type xcb:-ignore)
    (pattern~ :initform
             '(name pattern type xcb:char size
                    (xcb:-fieldref 'pattern-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (pattern :initarg :pattern :type xcb:-ignore)))
 (defclass xcb:ListFonts~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -1691,11 +1691,11 @@
    (length :type xcb:CARD32)
    (names-len :initarg :names-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (names :initarg :names :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:STR size
                  (xcb:-fieldref 'names-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (names :initarg :names :type xcb:-ignore)))
 
 (defclass xcb:ListFontsWithInfo
   (xcb:-request)
@@ -1703,11 +1703,11 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (max-names :initarg :max-names :type xcb:CARD16)
    (pattern-len :initarg :pattern-len :type xcb:CARD16)
-   (pattern :initarg :pattern :type xcb:-ignore)
    (pattern~ :initform
             '(name pattern type xcb:char size
                    (xcb:-fieldref 'pattern-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (pattern :initarg :pattern :type xcb:-ignore)))
 (defclass xcb:ListFontsWithInfo~reply
   (xcb:-reply)
   ((name-len :initarg :name-len :type xcb:CARD8)
@@ -1728,16 +1728,16 @@
    (font-ascent :initarg :font-ascent :type xcb:INT16)
    (font-descent :initarg :font-descent :type xcb:INT16)
    (replies-hint :initarg :replies-hint :type xcb:CARD32)
-   (properties :initarg :properties :type xcb:-ignore)
    (properties~ :initform
                '(name properties type xcb:FONTPROP size
                       (xcb:-fieldref 'properties-len))
                :type xcb:-list)
-   (name :initarg :name :type xcb:-ignore)
+   (properties :initarg :properties :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:SetFontPath
   (xcb:-request)
@@ -1745,11 +1745,11 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (font-qty :initarg :font-qty :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (font :initarg :font :type xcb:-ignore)
    (font~ :initform
          '(name font type xcb:STR size
                 (xcb:-fieldref 'font-qty))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (font :initarg :font :type xcb:-ignore)))
 
 (defclass xcb:GetFontPath
   (xcb:-request)
@@ -1761,11 +1761,11 @@
    (length :type xcb:CARD32)
    (path-len :initarg :path-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (path :initarg :path :type xcb:-ignore)
    (path~ :initform
          '(name path type xcb:STR size
                 (xcb:-fieldref 'path-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (path :initarg :path :type xcb:-ignore)))
 
 (defclass xcb:CreatePixmap
   (xcb:-request)
@@ -1982,11 +1982,11 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (dash-offset :initarg :dash-offset :type xcb:CARD16)
    (dashes-len :initarg :dashes-len :type xcb:CARD16)
-   (dashes :initarg :dashes :type xcb:-ignore)
    (dashes~ :initform
            '(name dashes type xcb:CARD8 size
                   (xcb:-fieldref 'dashes-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (dashes :initarg :dashes :type xcb:-ignore)))
 
 (defconst xcb:ClipOrdering:Unsorted 0)
 (defconst xcb:ClipOrdering:YSorted 1)
@@ -2000,10 +2000,10 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (clip-x-origin :initarg :clip-x-origin :type xcb:INT16)
    (clip-y-origin :initarg :clip-y-origin :type xcb:INT16)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:FreeGC
   (xcb:-request)
@@ -2059,10 +2059,10 @@
    (coordinate-mode :initarg :coordinate-mode :type xcb:BYTE)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:POINT size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:PolyLine
   (xcb:-request)
@@ -2070,10 +2070,10 @@
    (coordinate-mode :initarg :coordinate-mode :type xcb:BYTE)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:POINT size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:SEGMENT
   (xcb:-struct)
@@ -2088,10 +2088,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (segments :initarg :segments :type xcb:-ignore)
    (segments~ :initform
              '(name segments type xcb:SEGMENT size nil)
-             :type xcb:-list)))
+             :type xcb:-list)
+   (segments :initarg :segments :type xcb:-ignore)))
 
 (defclass xcb:PolyRectangle
   (xcb:-request)
@@ -2099,10 +2099,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:PolyArc
   (xcb:-request)
@@ -2110,10 +2110,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (arcs :initarg :arcs :type xcb:-ignore)
    (arcs~ :initform
          '(name arcs type xcb:ARC size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (arcs :initarg :arcs :type xcb:-ignore)))
 
 (defconst xcb:PolyShape:Complex 0)
 (defconst xcb:PolyShape:Nonconvex 1)
@@ -2128,10 +2128,10 @@
    (shape :initarg :shape :type xcb:CARD8)
    (coordinate-mode :initarg :coordinate-mode :type xcb:CARD8)
    (pad~1 :initform 2 :type xcb:-pad)
-   (points :initarg :points :type xcb:-ignore)
    (points~ :initform
            '(name points type xcb:POINT size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (points :initarg :points :type xcb:-ignore)))
 
 (defclass xcb:PolyFillRectangle
   (xcb:-request)
@@ -2139,10 +2139,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (rectangles :initarg :rectangles :type xcb:-ignore)
    (rectangles~ :initform
                '(name rectangles type xcb:RECTANGLE size nil)
-               :type xcb:-list)))
+               :type xcb:-list)
+   (rectangles :initarg :rectangles :type xcb:-ignore)))
 
 (defclass xcb:PolyFillArc
   (xcb:-request)
@@ -2150,10 +2150,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (drawable :initarg :drawable :type xcb:DRAWABLE)
    (gc :initarg :gc :type xcb:GCONTEXT)
-   (arcs :initarg :arcs :type xcb:-ignore)
    (arcs~ :initform
          '(name arcs type xcb:ARC size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (arcs :initarg :arcs :type xcb:-ignore)))
 
 (defconst xcb:ImageFormat:XYBitmap 0)
 (defconst xcb:ImageFormat:XYPixmap 1)
@@ -2172,10 +2172,10 @@
    (left-pad :initarg :left-pad :type xcb:CARD8)
    (depth :initarg :depth :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:GetImage
   (xcb:-request)
@@ -2194,13 +2194,13 @@
    (length :type xcb:CARD32)
    (visual :initarg :visual :type xcb:VISUALID)
    (pad~0 :initform 20 :type xcb:-pad)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:BYTE size
                 (*
                  (xcb:-fieldref 'length)
                  4))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:PolyText8
   (xcb:-request)
@@ -2210,10 +2210,10 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (x :initarg :x :type xcb:INT16)
    (y :initarg :y :type xcb:INT16)
-   (items :initarg :items :type xcb:-ignore)
    (items~ :initform
           '(name items type xcb:BYTE size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (items :initarg :items :type xcb:-ignore)))
 
 (defclass xcb:PolyText16
   (xcb:-request)
@@ -2223,10 +2223,10 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (x :initarg :x :type xcb:INT16)
    (y :initarg :y :type xcb:INT16)
-   (items :initarg :items :type xcb:-ignore)
    (items~ :initform
           '(name items type xcb:BYTE size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (items :initarg :items :type xcb:-ignore)))
 
 (defclass xcb:ImageText8
   (xcb:-request)
@@ -2236,11 +2236,11 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (x :initarg :x :type xcb:INT16)
    (y :initarg :y :type xcb:INT16)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:char size
                   (xcb:-fieldref 'string-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defclass xcb:ImageText16
   (xcb:-request)
@@ -2250,11 +2250,11 @@
    (gc :initarg :gc :type xcb:GCONTEXT)
    (x :initarg :x :type xcb:INT16)
    (y :initarg :y :type xcb:INT16)
-   (string :initarg :string :type xcb:-ignore)
    (string~ :initform
            '(name string type xcb:CHAR2B size
                   (xcb:-fieldref 'string-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (string :initarg :string :type xcb:-ignore)))
 
 (defconst xcb:ColormapAlloc:None 0)
 (defconst xcb:ColormapAlloc:All 1)
@@ -2304,11 +2304,11 @@
    (length :type xcb:CARD32)
    (cmaps-len :initarg :cmaps-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (cmaps :initarg :cmaps :type xcb:-ignore)
    (cmaps~ :initform
           '(name cmaps type xcb:COLORMAP size
                  (xcb:-fieldref 'cmaps-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (cmaps :initarg :cmaps :type xcb:-ignore)))
 
 (defclass xcb:AllocColor
   (xcb:-request)
@@ -2337,11 +2337,11 @@
    (cmap :initarg :cmap :type xcb:COLORMAP)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:AllocNamedColor~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -2370,16 +2370,16 @@
    (pixels-len :initarg :pixels-len :type xcb:CARD16)
    (masks-len :initarg :masks-len :type xcb:CARD16)
    (pad~1 :initform 20 :type xcb:-pad)
-   (pixels :initarg :pixels :type xcb:-ignore)
    (pixels~ :initform
            '(name pixels type xcb:CARD32 size
                   (xcb:-fieldref 'pixels-len))
            :type xcb:-list)
-   (masks :initarg :masks :type xcb:-ignore)
+   (pixels :initarg :pixels :type xcb:-ignore)
    (masks~ :initform
           '(name masks type xcb:CARD32 size
                  (xcb:-fieldref 'masks-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (masks :initarg :masks :type xcb:-ignore)))
 
 (defclass xcb:AllocColorPlanes
   (xcb:-request)
@@ -2401,11 +2401,11 @@
    (green-mask :initarg :green-mask :type xcb:CARD32)
    (blue-mask :initarg :blue-mask :type xcb:CARD32)
    (pad~2 :initform 8 :type xcb:-pad)
-   (pixels :initarg :pixels :type xcb:-ignore)
    (pixels~ :initform
            '(name pixels type xcb:CARD32 size
                   (xcb:-fieldref 'pixels-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (pixels :initarg :pixels :type xcb:-ignore)))
 
 (defclass xcb:FreeColors
   (xcb:-request)
@@ -2413,10 +2413,10 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (cmap :initarg :cmap :type xcb:COLORMAP)
    (plane-mask :initarg :plane-mask :type xcb:CARD32)
-   (pixels :initarg :pixels :type xcb:-ignore)
    (pixels~ :initform
            '(name pixels type xcb:CARD32 size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (pixels :initarg :pixels :type xcb:-ignore)))
 
 (defconst xcb:ColorFlag:Red 1)
 (defconst xcb:ColorFlag:Green 2)
@@ -2436,10 +2436,10 @@
   ((~opcode :initform 89 :type xcb:-u1)
    (pad~0 :initform 1 :type xcb:-pad)
    (cmap :initarg :cmap :type xcb:COLORMAP)
-   (items :initarg :items :type xcb:-ignore)
    (items~ :initform
           '(name items type xcb:COLORITEM size nil)
-          :type xcb:-list)))
+          :type xcb:-list)
+   (items :initarg :items :type xcb:-ignore)))
 
 (defclass xcb:StoreNamedColor
   (xcb:-request)
@@ -2449,11 +2449,11 @@
    (pixel :initarg :pixel :type xcb:CARD32)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 
 (defclass xcb:RGB
   (xcb:-struct)
@@ -2467,10 +2467,10 @@
   ((~opcode :initform 91 :type xcb:-u1)
    (pad~0 :initform 1 :type xcb:-pad)
    (cmap :initarg :cmap :type xcb:COLORMAP)
-   (pixels :initarg :pixels :type xcb:-ignore)
    (pixels~ :initform
            '(name pixels type xcb:CARD32 size nil)
-           :type xcb:-list)))
+           :type xcb:-list)
+   (pixels :initarg :pixels :type xcb:-ignore)))
 (defclass xcb:QueryColors~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -2478,11 +2478,11 @@
    (length :type xcb:CARD32)
    (colors-len :initarg :colors-len :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (colors :initarg :colors :type xcb:-ignore)
    (colors~ :initform
            '(name colors type xcb:RGB size
                   (xcb:-fieldref 'colors-len))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (colors :initarg :colors :type xcb:-ignore)))
 
 (defclass xcb:LookupColor
   (xcb:-request)
@@ -2491,11 +2491,11 @@
    (cmap :initarg :cmap :type xcb:COLORMAP)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:LookupColor~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -2587,11 +2587,11 @@
    (pad~0 :initform 1 :type xcb:-pad)
    (name-len :initarg :name-len :type xcb:CARD16)
    (pad~1 :initform 2 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-len))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)))
 (defclass xcb:QueryExtension~reply
   (xcb:-reply)
   ((pad~0 :initform 1 :type xcb:-pad)
@@ -2611,11 +2611,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~0 :initform 24 :type xcb:-pad)
-   (names :initarg :names :type xcb:-ignore)
    (names~ :initform
           '(name names type xcb:STR size
                  (xcb:-fieldref 'names-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (names :initarg :names :type xcb:-ignore)))
 
 (defclass xcb:ChangeKeyboardMapping
   (xcb:-request)
@@ -2624,13 +2624,13 @@
    (first-keycode :initarg :first-keycode :type xcb:KEYCODE)
    (keysyms-per-keycode :initarg :keysyms-per-keycode :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (*
                     (xcb:-fieldref 'keycode-count)
                     (xcb:-fieldref 'keysyms-per-keycode)))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defclass xcb:GetKeyboardMapping
   (xcb:-request)
@@ -2644,11 +2644,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~0 :initform 24 :type xcb:-pad)
-   (keysyms :initarg :keysyms :type xcb:-ignore)
    (keysyms~ :initform
             '(name keysyms type xcb:KEYSYM size
                    (xcb:-fieldref 'length))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (keysyms :initarg :keysyms :type xcb:-ignore)))
 
 (defconst xcb:KB:KeyClickPercent 1)
 (defconst xcb:KB:BellPercent 2)
@@ -2707,10 +2707,10 @@
    (bell-pitch :initarg :bell-pitch :type xcb:CARD16)
    (bell-duration :initarg :bell-duration :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
-   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)
    (auto-repeats~ :initform
                  '(name auto-repeats type xcb:CARD8 size 32)
-                 :type xcb:-list)))
+                 :type xcb:-list)
+   (auto-repeats :initarg :auto-repeats :type xcb:-ignore)))
 
 (defclass xcb:Bell
   (xcb:-request)
@@ -2787,22 +2787,22 @@
    (family :initarg :family :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
    (address-len :initarg :address-len :type xcb:CARD16)
-   (address :initarg :address :type xcb:-ignore)
    (address~ :initform
             '(name address type xcb:BYTE size
                    (xcb:-fieldref 'address-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (address :initarg :address :type xcb:-ignore)))
 
 (defclass xcb:HOST
   (xcb:-struct)
   ((family :initarg :family :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
    (address-len :initarg :address-len :type xcb:CARD16)
-   (address :initarg :address :type xcb:-ignore)
    (address~ :initform
             '(name address type xcb:BYTE size
                    (xcb:-fieldref 'address-len))
             :type xcb:-list)
+   (address :initarg :address :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:ListHosts
@@ -2815,11 +2815,11 @@
    (length :type xcb:CARD32)
    (hosts-len :initarg :hosts-len :type xcb:CARD16)
    (pad~0 :initform 22 :type xcb:-pad)
-   (hosts :initarg :hosts :type xcb:-ignore)
    (hosts~ :initform
           '(name hosts type xcb:HOST size
                  (xcb:-fieldref 'hosts-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (hosts :initarg :hosts :type xcb:-ignore)))
 
 (defconst xcb:AccessControl:Disable 0)
 (defconst xcb:AccessControl:Enable 1)
@@ -2853,11 +2853,11 @@
    (window :initarg :window :type xcb:WINDOW)
    (atoms-len :initarg :atoms-len :type xcb:CARD16)
    (delta :initarg :delta :type xcb:INT16)
-   (atoms :initarg :atoms :type xcb:-ignore)
    (atoms~ :initform
           '(name atoms type xcb:ATOM size
                  (xcb:-fieldref 'atoms-len))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (atoms :initarg :atoms :type xcb:-ignore)))
 
 (defconst xcb:ScreenSaver:Reset 0)
 (defconst xcb:ScreenSaver:Active 1)
@@ -2875,11 +2875,11 @@
   (xcb:-request)
   ((~opcode :initform 116 :type xcb:-u1)
    (map-len :initarg :map-len :type xcb:CARD8)
-   (map :initarg :map :type xcb:-ignore)
    (map~ :initform
         '(name map type xcb:CARD8 size
                (xcb:-fieldref 'map-len))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (map :initarg :map :type xcb:-ignore)))
 (defclass xcb:SetPointerMapping~reply
   (xcb:-reply)
   ((status :initarg :status :type xcb:BYTE)
@@ -2895,11 +2895,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~0 :initform 24 :type xcb:-pad)
-   (map :initarg :map :type xcb:-ignore)
    (map~ :initform
         '(name map type xcb:CARD8 size
                (xcb:-fieldref 'map-len))
-        :type xcb:-list)))
+        :type xcb:-list)
+   (map :initarg :map :type xcb:-ignore)))
 
 (defconst xcb:MapIndex:Shift 0)
 (defconst xcb:MapIndex:Lock 1)
@@ -2914,13 +2914,13 @@
   (xcb:-request)
   ((~opcode :initform 118 :type xcb:-u1)
    (keycodes-per-modifier :initarg :keycodes-per-modifier :type xcb:CARD8)
-   (keycodes :initarg :keycodes :type xcb:-ignore)
    (keycodes~ :initform
              '(name keycodes type xcb:KEYCODE size
                     (*
                      (xcb:-fieldref 'keycodes-per-modifier)
                      8))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (keycodes :initarg :keycodes :type xcb:-ignore)))
 (defclass xcb:SetModifierMapping~reply
   (xcb:-reply)
   ((status :initarg :status :type xcb:BYTE)
@@ -2936,13 +2936,13 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~0 :initform 24 :type xcb:-pad)
-   (keycodes :initarg :keycodes :type xcb:-ignore)
    (keycodes~ :initform
              '(name keycodes type xcb:KEYCODE size
                     (*
                      (xcb:-fieldref 'keycodes-per-modifier)
                      8))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (keycodes :initarg :keycodes :type xcb:-ignore)))
 
 (defclass xcb:NoOperation
   (xcb:-request)
diff --git a/xcb-xselinux.el b/xcb-xselinux.el
index 47f421d..2812858 100644
--- a/xcb-xselinux.el
+++ b/xcb-xselinux.el
@@ -50,11 +50,11 @@
   (xcb:-request)
   ((~opcode :initform 1 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetDeviceCreateContext
   (xcb:-request)
@@ -66,22 +66,22 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:SetDeviceContext
   (xcb:-request)
   ((~opcode :initform 3 :type xcb:-u1)
    (device :initarg :device :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetDeviceContext
   (xcb:-request)
@@ -94,21 +94,21 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:SetWindowCreateContext
   (xcb:-request)
   ((~opcode :initform 5 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetWindowCreateContext
   (xcb:-request)
@@ -120,11 +120,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetWindowContext
   (xcb:-request)
@@ -137,39 +137,39 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:ListItem
   (xcb:-struct)
   ((name :initarg :name :type xcb:ATOM)
    (object-context-len :initarg :object-context-len :type xcb:CARD32)
    (data-context-len :initarg :data-context-len :type xcb:CARD32)
-   (object-context :initarg :object-context :type xcb:-ignore)
    (object-context~ :initform
                    '(name object-context type xcb:char size
                           (xcb:-fieldref 'object-context-len))
                    :type xcb:-list)
+   (object-context :initarg :object-context :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)
-   (data-context :initarg :data-context :type xcb:-ignore)
    (data-context~ :initform
                  '(name data-context type xcb:char size
                         (xcb:-fieldref 'data-context-len))
                  :type xcb:-list)
+   (data-context :initarg :data-context :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xselinux:SetPropertyCreateContext
   (xcb:-request)
   ((~opcode :initform 8 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetPropertyCreateContext
   (xcb:-request)
@@ -181,21 +181,21 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:SetPropertyUseContext
   (xcb:-request)
   ((~opcode :initform 10 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetPropertyUseContext
   (xcb:-request)
@@ -207,11 +207,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetPropertyContext
   (xcb:-request)
@@ -225,11 +225,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetPropertyDataContext
   (xcb:-request)
@@ -243,11 +243,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:ListProperties
   (xcb:-request)
@@ -260,21 +260,21 @@
    (length :type xcb:CARD32)
    (properties-len :initarg :properties-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (properties :initarg :properties :type xcb:-ignore)
    (properties~ :initform
                '(name properties type xcb:xselinux:ListItem size
                       (xcb:-fieldref 'properties-len))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (properties :initarg :properties :type xcb:-ignore)))
 
 (defclass xcb:xselinux:SetSelectionCreateContext
   (xcb:-request)
   ((~opcode :initform 15 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetSelectionCreateContext
   (xcb:-request)
@@ -286,21 +286,21 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:SetSelectionUseContext
   (xcb:-request)
   ((~opcode :initform 17 :type xcb:-u1)
    (context-len :initarg :context-len :type xcb:CARD32)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetSelectionUseContext
   (xcb:-request)
@@ -312,11 +312,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetSelectionContext
   (xcb:-request)
@@ -329,11 +329,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetSelectionDataContext
   (xcb:-request)
@@ -346,11 +346,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 (defclass xcb:xselinux:ListSelections
   (xcb:-request)
@@ -362,11 +362,11 @@
    (length :type xcb:CARD32)
    (selections-len :initarg :selections-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (selections :initarg :selections :type xcb:-ignore)
    (selections~ :initform
                '(name selections type xcb:xselinux:ListItem size
                       (xcb:-fieldref 'selections-len))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (selections :initarg :selections :type xcb:-ignore)))
 
 (defclass xcb:xselinux:GetClientContext
   (xcb:-request)
@@ -379,11 +379,11 @@
    (length :type xcb:CARD32)
    (context-len :initarg :context-len :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (context :initarg :context :type xcb:-ignore)
    (context~ :initform
             '(name context type xcb:char size
                    (xcb:-fieldref 'context-len))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (context :initarg :context :type xcb:-ignore)))
 
 
 
diff --git a/xcb-xv.el b/xcb-xv.el
index e820718..becfb1f 100644
--- a/xcb-xv.el
+++ b/xcb-xv.el
@@ -89,17 +89,17 @@
    (num-formats :initarg :num-formats :type xcb:CARD16)
    (type :initarg :type :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-size))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)
-   (formats :initarg :formats :type xcb:-ignore)
    (formats~ :initform
             '(name formats type xcb:xv:Format size
                    (xcb:-fieldref 'num-formats))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (formats :initarg :formats :type xcb:-ignore)))
 
 (defclass xcb:xv:EncodingInfo
   (xcb:-struct)
@@ -109,11 +109,11 @@
    (height :initarg :height :type xcb:CARD16)
    (pad~0 :initform 2 :type xcb:-pad)
    (rate :initarg :rate :type xcb:xv:Rational)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'name-size))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~1 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xv:Image
@@ -123,21 +123,21 @@
    (height :initarg :height :type xcb:CARD16)
    (data-size :initarg :data-size :type xcb:CARD32)
    (num-planes :initarg :num-planes :type xcb:CARD32)
-   (pitches :initarg :pitches :type xcb:-ignore)
    (pitches~ :initform
             '(name pitches type xcb:CARD32 size
                    (xcb:-fieldref 'num-planes))
             :type xcb:-list)
-   (offsets :initarg :offsets :type xcb:-ignore)
+   (pitches :initarg :pitches :type xcb:-ignore)
    (offsets~ :initform
             '(name offsets type xcb:CARD32 size
                    (xcb:-fieldref 'num-planes))
             :type xcb:-list)
-   (data :initarg :data :type xcb:-ignore)
+   (offsets :initarg :offsets :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD8 size
                 (xcb:-fieldref 'data-size))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:xv:AttributeInfo
   (xcb:-struct)
@@ -145,11 +145,11 @@
    (min :initarg :min :type xcb:INT32)
    (max :initarg :max :type xcb:INT32)
    (size :initarg :size :type xcb:CARD32)
-   (name :initarg :name :type xcb:-ignore)
    (name~ :initform
          '(name name type xcb:char size
                 (xcb:-fieldref 'size))
          :type xcb:-list)
+   (name :initarg :name :type xcb:-ignore)
    (pad~0 :initform 4 :type xcb:-pad-align)))
 
 (defclass xcb:xv:ImageFormatInfo
@@ -158,10 +158,10 @@
    (type :initarg :type :type xcb:CARD8)
    (byte-order :initarg :byte-order :type xcb:CARD8)
    (pad~0 :initform 2 :type xcb:-pad)
-   (guid :initarg :guid :type xcb:-ignore)
    (guid~ :initform
          '(name guid type xcb:CARD8 size 16)
          :type xcb:-list)
+   (guid :initarg :guid :type xcb:-ignore)
    (bpp :initarg :bpp :type xcb:CARD8)
    (num-planes :initarg :num-planes :type xcb:CARD8)
    (pad~1 :initform 2 :type xcb:-pad)
@@ -181,10 +181,10 @@
    (vvert-y-period :initarg :vvert-y-period :type xcb:CARD32)
    (vvert-u-period :initarg :vvert-u-period :type xcb:CARD32)
    (vvert-v-period :initarg :vvert-v-period :type xcb:CARD32)
-   (vcomp-order :initarg :vcomp-order :type xcb:-ignore)
    (vcomp-order~ :initform
                 '(name vcomp-order type xcb:CARD8 size 32)
                 :type xcb:-list)
+   (vcomp-order :initarg :vcomp-order :type xcb:-ignore)
    (vscanline-order :initarg :vscanline-order :type xcb:CARD8)
    (pad~4 :initform 11 :type xcb:-pad)))
 
@@ -241,11 +241,11 @@
    (length :type xcb:CARD32)
    (num-adaptors :initarg :num-adaptors :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (info :initarg :info :type xcb:-ignore)
    (info~ :initform
          '(name info type xcb:xv:AdaptorInfo size
                 (xcb:-fieldref 'num-adaptors))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (info :initarg :info :type xcb:-ignore)))
 
 (defclass xcb:xv:QueryEncodings
   (xcb:-request)
@@ -258,11 +258,11 @@
    (length :type xcb:CARD32)
    (num-encodings :initarg :num-encodings :type xcb:CARD16)
    (pad~1 :initform 22 :type xcb:-pad)
-   (info :initarg :info :type xcb:-ignore)
    (info~ :initform
          '(name info type xcb:xv:EncodingInfo size
                 (xcb:-fieldref 'num-encodings))
-         :type xcb:-list)))
+         :type xcb:-list)
+   (info :initarg :info :type xcb:-ignore)))
 
 (defclass xcb:xv:GrabPort
   (xcb:-request)
@@ -410,11 +410,11 @@
    (num-attributes :initarg :num-attributes :type xcb:CARD32)
    (text-size :initarg :text-size :type xcb:CARD32)
    (pad~1 :initform 16 :type xcb:-pad)
-   (attributes :initarg :attributes :type xcb:-ignore)
    (attributes~ :initform
                '(name attributes type xcb:xv:AttributeInfo size
                       (xcb:-fieldref 'num-attributes))
-               :type xcb:-list)))
+               :type xcb:-list)
+   (attributes :initarg :attributes :type xcb:-ignore)))
 
 (defclass xcb:xv:ListImageFormats
   (xcb:-request)
@@ -427,11 +427,11 @@
    (length :type xcb:CARD32)
    (num-formats :initarg :num-formats :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (format :initarg :format :type xcb:-ignore)
    (format~ :initform
            '(name format type xcb:xv:ImageFormatInfo size
                   (xcb:-fieldref 'num-formats))
-           :type xcb:-list)))
+           :type xcb:-list)
+   (format :initarg :format :type xcb:-ignore)))
 
 (defclass xcb:xv:QueryImageAttributes
   (xcb:-request)
@@ -450,16 +450,16 @@
    (width :initarg :width :type xcb:CARD16)
    (height :initarg :height :type xcb:CARD16)
    (pad~1 :initform 12 :type xcb:-pad)
-   (pitches :initarg :pitches :type xcb:-ignore)
    (pitches~ :initform
             '(name pitches type xcb:CARD32 size
                    (xcb:-fieldref 'num-planes))
             :type xcb:-list)
-   (offsets :initarg :offsets :type xcb:-ignore)
+   (pitches :initarg :pitches :type xcb:-ignore)
    (offsets~ :initform
             '(name offsets type xcb:CARD32 size
                    (xcb:-fieldref 'num-planes))
-            :type xcb:-list)))
+            :type xcb:-list)
+   (offsets :initarg :offsets :type xcb:-ignore)))
 
 (defclass xcb:xv:PutImage
   (xcb:-request)
@@ -478,10 +478,10 @@
    (drw-h :initarg :drw-h :type xcb:CARD16)
    (width :initarg :width :type xcb:CARD16)
    (height :initarg :height :type xcb:CARD16)
-   (data :initarg :data :type xcb:-ignore)
    (data~ :initform
          '(name data type xcb:CARD8 size nil)
-         :type xcb:-list)))
+         :type xcb:-list)
+   (data :initarg :data :type xcb:-ignore)))
 
 (defclass xcb:xv:ShmPutImage
   (xcb:-request)
diff --git a/xcb-xvmc.el b/xcb-xvmc.el
index c48268a..3ed5b87 100644
--- a/xcb-xvmc.el
+++ b/xcb-xvmc.el
@@ -73,11 +73,11 @@
    (length :type xcb:CARD32)
    (num :initarg :num :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (surfaces :initarg :surfaces :type xcb:-ignore)
    (surfaces~ :initform
              '(name surfaces type xcb:xvmc:SurfaceInfo size
                     (xcb:-fieldref 'num))
-             :type xcb:-list)))
+             :type xcb:-list)
+   (surfaces :initarg :surfaces :type xcb:-ignore)))
 
 (defclass xcb:xvmc:CreateContext
   (xcb:-request)
@@ -97,11 +97,11 @@
    (height-actual :initarg :height-actual :type xcb:CARD16)
    (flags-return :initarg :flags-return :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (priv-data :initarg :priv-data :type xcb:-ignore)
    (priv-data~ :initform
               '(name priv-data type xcb:CARD32 size
                      (xcb:-fieldref 'length))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (priv-data :initarg :priv-data :type xcb:-ignore)))
 
 (defclass xcb:xvmc:DestroyContext
   (xcb:-request)
@@ -119,11 +119,11 @@
    (~sequence :type xcb:CARD16)
    (length :type xcb:CARD32)
    (pad~1 :initform 24 :type xcb:-pad)
-   (priv-data :initarg :priv-data :type xcb:-ignore)
    (priv-data~ :initform
               '(name priv-data type xcb:CARD32 size
                      (xcb:-fieldref 'length))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (priv-data :initarg :priv-data :type xcb:-ignore)))
 
 (defclass xcb:xvmc:DestroySurface
   (xcb:-request)
@@ -147,16 +147,16 @@
    (height-actual :initarg :height-actual :type xcb:CARD16)
    (num-palette-entries :initarg :num-palette-entries :type xcb:CARD16)
    (entry-bytes :initarg :entry-bytes :type xcb:CARD16)
-   (component-order :initarg :component-order :type xcb:-ignore)
    (component-order~ :initform
                     '(name component-order type xcb:CARD8 size 4)
                     :type xcb:-list)
+   (component-order :initarg :component-order :type xcb:-ignore)
    (pad~1 :initform 12 :type xcb:-pad)
-   (priv-data :initarg :priv-data :type xcb:-ignore)
    (priv-data~ :initform
               '(name priv-data type xcb:CARD32 size
                      (xcb:-fieldref 'length))
-              :type xcb:-list)))
+              :type xcb:-list)
+   (priv-data :initarg :priv-data :type xcb:-ignore)))
 
 (defclass xcb:xvmc:DestroySubpicture
   (xcb:-request)
@@ -175,11 +175,11 @@
    (length :type xcb:CARD32)
    (num :initarg :num :type xcb:CARD32)
    (pad~1 :initform 20 :type xcb:-pad)
-   (types :initarg :types :type xcb:-ignore)
    (types~ :initform
           '(name types type xcb:xv:ImageFormatInfo size
                  (xcb:-fieldref 'num))
-          :type xcb:-list)))
+          :type xcb:-list)
+   (types :initarg :types :type xcb:-ignore)))
 
 
 
diff --git a/xcb.el b/xcb.el
index 28a7c4d..466945e 100644
--- a/xcb.el
+++ b/xcb.el
@@ -59,19 +59,11 @@
 (eval-when-compile (require 'cl-lib))
 (require 'xcb-xproto)
 
-(eval-when-compile
-  (defvar xcb:debug-on nil "Non-nil to turn on debug."))
-
-(defmacro xcb:-log (format-string &rest args)
-  "Print debug info."
-  (when xcb:debug-on
-    `(message (concat "[XELB LOG] " ,format-string) ,@args)))
-
 (defvar xcb:connection-timeout 3 "Connection timeout.")
 
 ;;;; X connection related
 
-(defclass xcb:connection ()
+(defclass xcb:connection (xcb:--struct)
   ((process :initarg :process :initform nil)
    (connected :initform nil)  ;non-nil indicates connected to X server
    (display :initarg :display :initform nil)
@@ -96,7 +88,7 @@
    (extra-plist :initform nil)) ;for storing extra data (e.g. by extensions)
   :documentation "X connection.")
 
-(defclass xcb:auth-info ()
+(defclass xcb:auth-info (xcb:--struct)
   ((name :initarg :name :initform "" :type string)
    (data :initarg :data :initform "" :type string))
   :documentation "X connection authentication info.")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]