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

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

[elpa] externals/xelb 9a73b79 02/10: Fix issues with <switch>


From: Chris Feng
Subject: [elpa] externals/xelb 9a73b79 02/10: Fix issues with <switch>
Date: Fri, 29 Jul 2016 09:15:57 +0000 (UTC)

branch: externals/xelb
commit 9a73b79d764e1cdb6e644fc9447ff3208de26b50
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix issues with <switch>
    
    * el_client.el (xelb-parse): Evaluate just generated forms.
    (xelb-parse-enumref): Return the enum value instead of symbol.
    (xelb-parse-unop): Add a missing comma.
    
    * el_client.el (xelb-parse-switch): Aggressively simplify [bit]cases.
    
    * xcb-types.el (xcb:-marshal-field, xcb:-unmarshal-field): Adjust the
    checks for switch conditions; skip `xcb:-ignore' type slots.
    
    * xcb-dri2.el:
    * xcb-render.el:
    * xcb-screensaver.el:
    * xcb-sync.el:
    * xcb-xf86vidmode.el:
    * xcb-xinput.el:
    * xcb-xkb.el:
    * xcb-xproto.el: Regenerated.
---
 el_client.el       |   17 +++--
 xcb-dri2.el        |    4 +-
 xcb-render.el      |   52 +++++++--------
 xcb-screensaver.el |   30 ++++-----
 xcb-sync.el        |   24 +++----
 xcb-types.el       |   36 ++++++-----
 xcb-xf86vidmode.el |   28 ++------
 xcb-xinput.el      |  147 ++++++++++++++----------------------------
 xcb-xkb.el         |  176 ++++++++++++++++++++++++--------------------------
 xcb-xproto.el      |  182 ++++++++++++++++++++++++++--------------------------
 10 files changed, 317 insertions(+), 379 deletions(-)

diff --git a/el_client.el b/el_client.el
index 1a0f300..ee015da 100644
--- a/el_client.el
+++ b/el_client.el
@@ -223,6 +223,7 @@ an `xelb-auto-padding' attribute."
         (let ((result (xelb-parse-top-level-element i)))
           (when result                  ;skip <doc>, comments, etc
             (dolist (j result)
+              (eval j)                 ;Make it immediately available.
               (pp j))
             (princ "\n"))))
       ;; Print error/event alists
@@ -540,10 +541,16 @@ KeymapNotify event; instead, we handle this case in 
`xcb:unmarshal'."
                              (setq fields (nconc fields tmp))
                              (setq name-list
                                    (nconc name-list (list (caar tmp)))))))
-                        (when (eq case-name 'bitcase)
+                        (if (eq case-name 'case)
+                            (when (= 1 (length condition))
+                              ;; Flatten 1-element list.
+                              (setq condition (car condition)))
                           (setq condition (if (= 1 (length condition))
+                                              ;; Flatten 1-element list.
                                               (car condition)
-                                            `(logior ,@condition)))))
+                                            (if (cl-every #'integerp condition)
+                                                (apply #'logior condition)
+                                              `(logior ,@condition))))))
                       `(,condition ,@name-list)))
                   cases))
     `((,name :initform '(expression ,expression cases ,cases)
@@ -612,13 +619,13 @@ KeymapNotify event; instead, we handle this case in 
`xcb:unmarshal'."
   "Parse <enumref>."
   (let ((name (concat (xelb-node-attr node 'ref) ":"
                       (xelb-node-subnode node))))
-    (or (intern-soft (concat "xcb:" name))
-        (intern (concat xelb-prefix name)))))
+    (symbol-value (or (intern-soft (concat "xcb:" name))
+                      (intern (concat xelb-prefix name))))))
 
 (defun xelb-parse-unop (node)
   "Parse <unop>."
   (cl-assert (string= "~" (xelb-node-attr node 'op)))
-  `(lognot (xelb-parse-expression (xelb-node-subnode node))))
+  `(lognot ,(xelb-parse-expression (xelb-node-subnode node))))
 
 (defun xelb-parse-sumof (node)
   "Parse <sumof>."
diff --git a/xcb-dri2.el b/xcb-dri2.el
index 8e52916..b967349 100644
--- a/xcb-dri2.el
+++ b/xcb-dri2.el
@@ -101,9 +101,7 @@
                            (+
                             (xcb:-fieldref 'driver-name-length)
                             3)
-                           (lognot
-                            (xelb-parse-expression
-                             (xelb-node-subnode node))))
+                           (lognot 3))
                           (xcb:-fieldref 'driver-name-length)))
                   :type xcb:-list)
    (pad~3 :initform 4 :type xcb:-pad-align)
diff --git a/xcb-render.el b/xcb-render.el
index 7cb6f51..4be4fc1 100644
--- a/xcb-render.el
+++ b/xcb-render.el
@@ -316,19 +316,19 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:render:CP:Repeat repeat)
-                 (xcb:render:CP:AlphaMap alphamap)
-                 (xcb:render:CP:AlphaXOrigin alphaxorigin)
-                 (xcb:render:CP:AlphaYOrigin alphayorigin)
-                 (xcb:render:CP:ClipXOrigin clipxorigin)
-                 (xcb:render:CP:ClipYOrigin clipyorigin)
-                 (xcb:render:CP:ClipMask clipmask)
-                 (xcb:render:CP:GraphicsExposure graphicsexposure)
-                 (xcb:render:CP:SubwindowMode subwindowmode)
-                 (xcb:render:CP:PolyEdge polyedge)
-                 (xcb:render:CP:PolyMode polymode)
-                 (xcb:render:CP:Dither dither)
-                 (xcb:render:CP:ComponentAlpha componentalpha)))
+                ((1 repeat)
+                 (2 alphamap)
+                 (4 alphaxorigin)
+                 (8 alphayorigin)
+                 (16 clipxorigin)
+                 (32 clipyorigin)
+                 (64 clipmask)
+                 (128 graphicsexposure)
+                 (256 subwindowmode)
+                 (512 polyedge)
+                 (1024 polymode)
+                 (2048 dither)
+                 (4096 componentalpha)))
               :type xcb:-switch)
    (repeat :initarg :repeat :type xcb:CARD32)
    (alphamap :initarg :alphamap :type xcb:render:PICTURE)
@@ -353,19 +353,19 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:render:CP:Repeat repeat)
-                 (xcb:render:CP:AlphaMap alphamap)
-                 (xcb:render:CP:AlphaXOrigin alphaxorigin)
-                 (xcb:render:CP:AlphaYOrigin alphayorigin)
-                 (xcb:render:CP:ClipXOrigin clipxorigin)
-                 (xcb:render:CP:ClipYOrigin clipyorigin)
-                 (xcb:render:CP:ClipMask clipmask)
-                 (xcb:render:CP:GraphicsExposure graphicsexposure)
-                 (xcb:render:CP:SubwindowMode subwindowmode)
-                 (xcb:render:CP:PolyEdge polyedge)
-                 (xcb:render:CP:PolyMode polymode)
-                 (xcb:render:CP:Dither dither)
-                 (xcb:render:CP:ComponentAlpha componentalpha)))
+                ((1 repeat)
+                 (2 alphamap)
+                 (4 alphaxorigin)
+                 (8 alphayorigin)
+                 (16 clipxorigin)
+                 (32 clipyorigin)
+                 (64 clipmask)
+                 (128 graphicsexposure)
+                 (256 subwindowmode)
+                 (512 polyedge)
+                 (1024 polymode)
+                 (2048 dither)
+                 (4096 componentalpha)))
               :type xcb:-switch)
    (repeat :initarg :repeat :type xcb:CARD32)
    (alphamap :initarg :alphamap :type xcb:render:PICTURE)
diff --git a/xcb-screensaver.el b/xcb-screensaver.el
index 3375689..b7645f1 100644
--- a/xcb-screensaver.el
+++ b/xcb-screensaver.el
@@ -95,21 +95,21 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:CW:BackPixmap background-pixmap)
-                 (xcb:CW:BackPixel background-pixel)
-                 (xcb:CW:BorderPixmap border-pixmap)
-                 (xcb:CW:BorderPixel border-pixel)
-                 (xcb:CW:BitGravity bit-gravity)
-                 (xcb:CW:WinGravity win-gravity)
-                 (xcb:CW:BackingStore backing-store)
-                 (xcb:CW:BackingPlanes backing-planes)
-                 (xcb:CW:BackingPixel backing-pixel)
-                 (xcb:CW:OverrideRedirect override-redirect)
-                 (xcb:CW:SaveUnder save-under)
-                 (xcb:CW:EventMask event-mask)
-                 (xcb:CW:DontPropagate do-not-propogate-mask)
-                 (xcb:CW:Colormap colormap)
-                 (xcb:CW:Cursor cursor)))
+                ((1 background-pixmap)
+                 (2 background-pixel)
+                 (4 border-pixmap)
+                 (8 border-pixel)
+                 (16 bit-gravity)
+                 (32 win-gravity)
+                 (64 backing-store)
+                 (128 backing-planes)
+                 (256 backing-pixel)
+                 (512 override-redirect)
+                 (1024 save-under)
+                 (2048 event-mask)
+                 (4096 do-not-propogate-mask)
+                 (8192 colormap)
+                 (16384 cursor)))
               :type xcb:-switch)
    (background-pixmap :initarg :background-pixmap :type xcb:PIXMAP)
    (background-pixel :initarg :background-pixel :type xcb:CARD32)
diff --git a/xcb-sync.el b/xcb-sync.el
index b50e845..96f627d 100644
--- a/xcb-sync.el
+++ b/xcb-sync.el
@@ -174,12 +174,12 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:sync:CA:Counter counter)
-                 (xcb:sync:CA:ValueType valueType)
-                 (xcb:sync:CA:Value value)
-                 (xcb:sync:CA:TestType testType)
-                 (xcb:sync:CA:Delta delta)
-                 (xcb:sync:CA:Events events)))
+                ((1 counter)
+                 (2 valueType)
+                 (4 value)
+                 (8 testType)
+                 (16 delta)
+                 (32 events)))
               :type xcb:-switch)
    (counter :initarg :counter :type xcb:sync:COUNTER)
    (valueType :initarg :valueType :type xcb:CARD32)
@@ -197,12 +197,12 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:sync:CA:Counter counter)
-                 (xcb:sync:CA:ValueType valueType)
-                 (xcb:sync:CA:Value value)
-                 (xcb:sync:CA:TestType testType)
-                 (xcb:sync:CA:Delta delta)
-                 (xcb:sync:CA:Events events)))
+                ((1 counter)
+                 (2 valueType)
+                 (4 value)
+                 (8 testType)
+                 (16 delta)
+                 (32 events)))
               :type xcb:-switch)
    (counter :initarg :counter :type xcb:sync:COUNTER)
    (valueType :initarg :valueType :type xcb:CARD32)
diff --git a/xcb-types.el b/xcb-types.el
index f4e41f0..de4e394 100644
--- a/xcb-types.el
+++ b/xcb-types.el
@@ -516,15 +516,13 @@ The optional POS argument indicates current byte index of 
the field (used by
          (setq condition (car i))
          (setq name-list (cdr i))
          (setq flag nil)
-         (if (symbolp condition)
-             (setq condition (symbol-value condition))
-           (when (and (listp condition) (eq 'logior (car condition)))
-             (setq condition (apply #'logior (cdr condition)))))
          (cl-assert (or (integerp condition) (listp condition)))
          (if (integerp condition)
              (setq flag (/= 0 (logand expression condition)))
-           (while (and (not flag) condition)
-             (setq flag (or flag (= expression (pop condition))))))
+           (if (eq 'logior (car condition))
+               (setq flag (/= 0 (logand expression
+                                        (apply #'logior (cdr condition)))))
+             (setq flag (memq expression condition))))
          (when flag
            (dolist (name name-list)
              (catch 'break
@@ -532,11 +530,13 @@ The optional POS argument indicates current byte index of 
the field (used by
                  (when (eq name (eieio-slot-descriptor-name slot))
                    (setq slot-type (cl--slot-descriptor-type slot))
                    (throw 'break nil))))
-             (setq result
-                   (vconcat result
-                            (xcb:-marshal-field obj slot-type
-                                                (slot-value obj name)
-                                                (+ pos (length result))))))))
+             (unless (eq slot-type 'xcb:-ignore)
+               (setq result
+                     (vconcat result
+                              (xcb:-marshal-field obj slot-type
+                                                  (slot-value obj name)
+                                                  (+ pos
+                                                     (length result)))))))))
        result))
     ((guard (child-of-class-p type 'xcb:-struct))
      (xcb:marshal value))
@@ -652,13 +652,13 @@ and the second the consumed length."
          (setq condition (car i))
          (setq name-list (cdr i))
          (setq flag nil)
+         (cl-assert (or (integerp condition) (listp condition)))
          (if (integerp condition)
              (setq flag (/= 0 (logand expression condition)))
            (if (eq 'logior (car condition))
                (setq flag (/= 0 (logand expression
                                         (apply #'logior (cdr condition)))))
-             (while (and (not flag) condition)
-               (setq flag (or flag (= expression (pop condition)))))))
+             (setq flag (memq expression condition))))
          (when flag
            (dolist (name name-list)
              (catch 'break
@@ -666,10 +666,12 @@ and the second the consumed length."
                  (when (eq name (eieio-slot-descriptor-name slot))
                    (setq slot-type (cl--slot-descriptor-type slot))
                    (throw 'break nil))))
-             (setq tmp (xcb:-unmarshal-field obj slot-type data offset nil))
-             (setf (slot-value obj name) (car tmp))
-             (setq count (+ count (cadr tmp)))
-             (setq data (substring data (cadr tmp))))))
+             (unless (eq slot-type 'xcb:-ignore)
+               (setq tmp (xcb:-unmarshal-field obj slot-type data offset
+                                               (eieio-oref-default obj name)))
+               (setf (slot-value obj name) (car tmp))
+               (setq count (+ count (cadr tmp)))
+               (setq data (substring data (cadr tmp)))))))
        (list initform count)))
     ((and x (guard (child-of-class-p x 'xcb:-struct)))
      (let* ((struct-obj (make-instance x))
diff --git a/xcb-xf86vidmode.el b/xcb-xf86vidmode.el
index a4b20b4..c07aa32 100644
--- a/xcb-xf86vidmode.el
+++ b/xcb-xf86vidmode.el
@@ -176,9 +176,7 @@
                            (+
                             (xcb:-fieldref 'vendor-length)
                             3)
-                           (lognot
-                            (xelb-parse-expression
-                             (xelb-node-subnode node))))
+                           (lognot 3))
                           (xcb:-fieldref 'vendor-length)))
                   :type xcb:-list)
    (pad~5 :initform 4 :type xcb:-pad-align)
@@ -413,9 +411,7 @@
                 (+
                  (xcb:-fieldref 'size)
                  1)
-                (lognot
-                 (xelb-parse-expression
-                  (xelb-node-subnode node)))))
+                (lognot 1)))
         :type xcb:-list)
    (pad~2 :initform 4 :type xcb:-pad-align)
    (green :initarg :green :type xcb:-ignore)
@@ -425,9 +421,7 @@
                   (+
                    (xcb:-fieldref 'size)
                    1)
-                  (lognot
-                   (xelb-parse-expression
-                    (xelb-node-subnode node)))))
+                  (lognot 1)))
           :type xcb:-list)
    (pad~3 :initform 4 :type xcb:-pad-align)
    (blue :initarg :blue :type xcb:-ignore)
@@ -437,9 +431,7 @@
                  (+
                   (xcb:-fieldref 'size)
                   1)
-                 (lognot
-                  (xelb-parse-expression
-                   (xelb-node-subnode node)))))
+                 (lognot 1)))
          :type xcb:-list)))
 
 (defclass xcb:xf86vidmode:SetGammaRamp
@@ -454,9 +446,7 @@
                 (+
                  (xcb:-fieldref 'size)
                  1)
-                (lognot
-                 (xelb-parse-expression
-                  (xelb-node-subnode node)))))
+                (lognot 1)))
         :type xcb:-list)
    (pad~0 :initform 4 :type xcb:-pad-align)
    (green :initarg :green :type xcb:-ignore)
@@ -466,9 +456,7 @@
                   (+
                    (xcb:-fieldref 'size)
                    1)
-                  (lognot
-                   (xelb-parse-expression
-                    (xelb-node-subnode node)))))
+                  (lognot 1)))
           :type xcb:-list)
    (pad~1 :initform 4 :type xcb:-pad-align)
    (blue :initarg :blue :type xcb:-ignore)
@@ -478,9 +466,7 @@
                  (+
                   (xcb:-fieldref 'size)
                   1)
-                 (lognot
-                  (xelb-parse-expression
-                   (xelb-node-subnode node)))))
+                 (lognot 1)))
          :type xcb:-list)))
 
 (defclass xcb:xf86vidmode:GetGammaRampSize
diff --git a/xcb-xinput.el b/xcb-xinput.el
index 578d1e2..d33d9ca 100644
--- a/xcb-xinput.el
+++ b/xcb-xinput.el
@@ -133,12 +133,9 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          (((xcb:xinput:InputClass:Key)
-            min-keycode max-keycode num-keys pad~0)
-           ((xcb:xinput:InputClass:Button)
-            num-buttons)
-           ((xcb:xinput:InputClass:Valuator)
-            axes-len mode motion-size axes)))
+          ((0 min-keycode max-keycode num-keys pad~0)
+           (1 num-buttons)
+           (2 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)
@@ -567,18 +564,12 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          (((xcb:xinput:FeedbackClass:Keyboard)
-            pitch duration led-mask led-values global-auto-repeat click 
percent pad~0 auto-repeats)
-           ((xcb:xinput:FeedbackClass:Pointer)
-            pad~1 accel-num accel-denom threshold)
-           ((xcb:xinput:FeedbackClass:String)
-            max-symbols num-keysyms keysyms)
-           ((xcb:xinput:FeedbackClass:Integer)
-            resolution min-value max-value)
-           ((xcb:xinput:FeedbackClass:Led)
-            led-mask* led-values*)
-           ((xcb:xinput:FeedbackClass:Bell)
-            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)
@@ -700,18 +691,12 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          (((xcb:xinput:FeedbackClass:Keyboard)
-            key auto-repeat-mode key-click-percent bell-percent bell-pitch 
bell-duration led-mask led-values)
-           ((xcb:xinput:FeedbackClass:Pointer)
-            pad~0 num denom threshold)
-           ((xcb:xinput:FeedbackClass:String)
-            pad~1 num-keysyms keysyms)
-           ((xcb:xinput:FeedbackClass:Integer)
-            int-to-display)
-           ((xcb:xinput:FeedbackClass:Led)
-            led-mask* led-values*)
-           ((xcb:xinput:FeedbackClass:Bell)
-            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)
@@ -912,12 +897,9 @@
         '(expression
           (xcb:-fieldref 'class-id)
           cases
-          (((xcb:xinput:InputClass:Key)
-            num-keys pad~0 keys)
-           ((xcb:xinput:InputClass:Button)
-            num-buttons pad~1 buttons)
-           ((xcb:xinput:InputClass:Valuator)
-            num-valuators mode valuators)))
+          ((0 num-keys pad~0 keys)
+           (1 num-buttons pad~1 buttons)
+           (2 num-valuators mode valuators)))
         :type xcb:-switch)
    (num-keys :initarg :num-keys :type xcb:CARD8)
    (pad~0 :initform 1 :type xcb:-pad)
@@ -1080,16 +1062,11 @@
         '(expression
           (xcb:-fieldref 'control-id)
           cases
-          (((xcb:xinput:DeviceControl:resolution)
-            num-valuators resolution-values resolution-min resolution-max)
-           ((xcb:xinput:DeviceControl:abs_calib)
-            min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
-           ((xcb:xinput:DeviceControl:core)
-            status iscore pad~2)
-           ((xcb:xinput:DeviceControl:enable)
-            enable pad~3)
-           ((xcb:xinput:DeviceControl:abs_area)
-            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~2)
+           (4 enable pad~3)
+           (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)
@@ -1201,16 +1178,11 @@
         '(expression
           (xcb:-fieldref 'control-id)
           cases
-          (((xcb:xinput:DeviceControl:resolution)
-            first-valuator num-valuators pad~0 resolution-values)
-           ((xcb:xinput:DeviceControl:abs_calib)
-            min-x max-x min-y max-y flip-x flip-y rotation button-threshold)
-           ((xcb:xinput:DeviceControl:core)
-            status pad~1)
-           ((xcb:xinput:DeviceControl:enable)
-            enable pad~2)
-           ((xcb:xinput:DeviceControl:abs_area)
-            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)
@@ -1286,12 +1258,9 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           (((xcb:xinput:PropertyFormat:8Bits)
-             data8 pad~1)
-            ((xcb:xinput:PropertyFormat:16Bits)
-             data16 pad~2)
-            ((xcb:xinput:PropertyFormat:32Bits)
-             data32)))
+           ((8 data8 pad~1)
+            (16 data16 pad~2)
+            (32 data32)))
          :type xcb:-switch)
    (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
@@ -1341,12 +1310,9 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           (((xcb:xinput:PropertyFormat:8Bits)
-             data8 pad~1)
-            ((xcb:xinput:PropertyFormat:16Bits)
-             data16 pad~2)
-            ((xcb:xinput:PropertyFormat:32Bits)
-             data32)))
+           ((8 data8 pad~1)
+            (16 data16 pad~2)
+            (32 data32)))
          :type xcb:-switch)
    (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
@@ -1485,14 +1451,10 @@
         '(expression
           (xcb:-fieldref 'type)
           cases
-          (((xcb:xinput:HierarchyChangeType:AddMaster)
-            name-len send-core enable name pad~0)
-           ((xcb:xinput:HierarchyChangeType:RemoveMaster)
-            deviceid return-mode pad~1 return-pointer return-keyboard)
-           ((xcb:xinput:HierarchyChangeType:AttachSlave)
-            deviceid* master)
-           ((xcb:xinput:HierarchyChangeType:DetachSlave)
-            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)
@@ -1701,16 +1663,11 @@
         '(expression
           (xcb:-fieldref 'type)
           cases
-          (((xcb:xinput:DeviceClassType:Key)
-            num-keys keys)
-           ((xcb:xinput:DeviceClassType:Button)
-            num-buttons state labels)
-           ((xcb:xinput:DeviceClassType:Valuator)
-            number label min max value resolution mode pad~1)
-           ((xcb:xinput:DeviceClassType:Scroll)
-            number* scroll-type pad~2 flags increment)
-           ((xcb:xinput:DeviceClassType:Touch)
-            mode* num-touches)))
+          ((0 num-keys keys)
+           (1 num-buttons state labels)
+           (2 number label min max value resolution mode pad~1)
+           (3 number* scroll-type pad~2 flags increment)
+           (8 mode* num-touches)))
         :type xcb:-switch)
    (num-keys :initarg :num-keys :type xcb:CARD16)
    (keys :initarg :keys :type xcb:-ignore)
@@ -1957,12 +1914,9 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           (((xcb:xinput:PropertyFormat:8Bits)
-             data8 pad~0)
-            ((xcb:xinput:PropertyFormat:16Bits)
-             data16 pad~1)
-            ((xcb:xinput:PropertyFormat:32Bits)
-             data32)))
+           ((8 data8 pad~0)
+            (16 data16 pad~1)
+            (32 data32)))
          :type xcb:-switch)
    (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
@@ -2011,12 +1965,9 @@
          '(expression
            (xcb:-fieldref 'format)
            cases
-           (((xcb:xinput:PropertyFormat:8Bits)
-             data8 pad~2)
-            ((xcb:xinput:PropertyFormat:16Bits)
-             data16 pad~3)
-            ((xcb:xinput:PropertyFormat:32Bits)
-             data32)))
+           ((8 data8 pad~2)
+            (16 data16 pad~3)
+            (32 data32)))
          :type xcb:-switch)
    (data8 :initarg :data8 :type xcb:-ignore)
    (data8~ :initform
diff --git a/xcb-xkb.el b/xcb-xkb.el
index 46aad34..d3458f8 100644
--- a/xcb-xkb.el
+++ b/xcb-xkb.el
@@ -332,9 +332,7 @@
                            (+
                             (xcb:-fieldref 'length)
                             5)
-                           (lognot
-                            (xelb-parse-expression
-                             (xelb-node-subnode node))))
+                           (lognot 3))
                           (+
                            (xcb:-fieldref 'length)
                            2)))
@@ -914,23 +912,21 @@
               (xcb:-fieldref 'affectWhich)
               (logand
                (lognot
-                (xelb-parse-expression
-                 (xelb-node-subnode node)))
+                (xcb:-fieldref 'clear))
                (lognot
-                (xelb-parse-expression
-                 (xelb-node-subnode node)))))
+                (xcb:-fieldref 'selectAll))))
              cases
-             ((xcb:xkb:EventType:NewKeyboardNotify affectNewKeyboard 
newKeyboardDetails)
-              (xcb:xkb:EventType:StateNotify affectState stateDetails)
-              (xcb:xkb:EventType:ControlsNotify affectCtrls ctrlDetails)
-              (xcb:xkb:EventType:IndicatorStateNotify affectIndicatorState 
indicatorStateDetails)
-              (xcb:xkb:EventType:IndicatorMapNotify affectIndicatorMap 
indicatorMapDetails)
-              (xcb:xkb:EventType:NamesNotify affectNames namesDetails)
-              (xcb:xkb:EventType:CompatMapNotify affectCompat compatDetails)
-              (xcb:xkb:EventType:BellNotify affectBell bellDetails)
-              (xcb:xkb:EventType:ActionMessage affectMsgDetails msgDetails)
-              (xcb:xkb:EventType:AccessXNotify affectAccessX accessXDetails)
-              (xcb:xkb:EventType:ExtensionDeviceNotify affectExtDev 
extdevDetails)))
+             ((1 affectNewKeyboard newKeyboardDetails)
+              (4 affectState stateDetails)
+              (8 affectCtrls ctrlDetails)
+              (16 affectIndicatorState indicatorStateDetails)
+              (32 affectIndicatorMap indicatorMapDetails)
+              (64 affectNames namesDetails)
+              (128 affectCompat compatDetails)
+              (256 affectBell bellDetails)
+              (512 affectMsgDetails msgDetails)
+              (1024 affectAccessX accessXDetails)
+              (2048 affectExtDev extdevDetails)))
            :type xcb:-switch)
    (affectNewKeyboard :initarg :affectNewKeyboard :type xcb:CARD16)
    (newKeyboardDetails :initarg :newKeyboardDetails :type xcb:CARD16)
@@ -1144,14 +1140,14 @@
        '(expression
          (xcb:-fieldref 'present)
          cases
-         ((xcb:xkb:MapPart:KeyTypes types-rtrn)
-          (xcb:xkb:MapPart:KeySyms syms-rtrn)
-          (xcb:xkb:MapPart:KeyActions acts-rtrn-count pad~2 acts-rtrn-acts)
-          (xcb:xkb:MapPart:KeyBehaviors behaviors-rtrn)
-          (xcb:xkb:MapPart:VirtualMods vmods-rtrn pad~3)
-          (xcb:xkb:MapPart:ExplicitComponents explicit-rtrn pad~4)
-          (xcb:xkb:MapPart:ModifierMap modmap-rtrn pad~5)
-          (xcb:xkb:MapPart:VirtualModMap 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
@@ -1237,14 +1233,14 @@
           '(expression
             (xcb:-fieldref 'present)
             cases
-            ((xcb:xkb:MapPart:KeyTypes types)
-             (xcb:xkb:MapPart:KeySyms syms)
-             (xcb:xkb:MapPart:KeyActions actionsCount pad~0 actions)
-             (xcb:xkb:MapPart:KeyBehaviors behaviors)
-             (xcb:xkb:MapPart:VirtualMods vmods pad~1)
-             (xcb:xkb:MapPart:ExplicitComponents explicit)
-             (xcb:xkb:MapPart:ModifierMap modmap)
-             (xcb:xkb:MapPart:VirtualModMap 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
@@ -1467,20 +1463,20 @@
              '(expression
                (xcb:-fieldref 'which)
                cases
-               ((xcb:xkb:NameDetail:Keycodes keycodesName)
-                (xcb:xkb:NameDetail:Geometry geometryName)
-                (xcb:xkb:NameDetail:Symbols symbolsName)
-                (xcb:xkb:NameDetail:PhysSymbols physSymbolsName)
-                (xcb:xkb:NameDetail:Types typesName)
-                (xcb:xkb:NameDetail:Compat compatName)
-                (xcb:xkb:NameDetail:KeyTypeNames typeNames)
-                (xcb:xkb:NameDetail:KTLevelNames nLevelsPerType pad~1 
ktLevelNames)
-                (xcb:xkb:NameDetail:IndicatorNames indicatorNames)
-                (xcb:xkb:NameDetail:VirtualModNames virtualModNames)
-                (xcb:xkb:NameDetail:GroupNames groups)
-                (xcb:xkb:NameDetail:KeyNames keyNames)
-                (xcb:xkb:NameDetail:KeyAliases keyAliases)
-                (xcb:xkb:NameDetail:RGNames radioGroupNames)))
+               ((1 keycodesName)
+                (2 geometryName)
+                (4 symbolsName)
+                (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)))
              :type xcb:-switch)
    (keycodesName :initarg :keycodesName :type xcb:ATOM)
    (geometryName :initarg :geometryName :type xcb:ATOM)
@@ -1561,20 +1557,20 @@
           '(expression
             (xcb:-fieldref 'which)
             cases
-            ((xcb:xkb:NameDetail:Keycodes keycodesName)
-             (xcb:xkb:NameDetail:Geometry geometryName)
-             (xcb:xkb:NameDetail:Symbols symbolsName)
-             (xcb:xkb:NameDetail:PhysSymbols physSymbolsName)
-             (xcb:xkb:NameDetail:Types typesName)
-             (xcb:xkb:NameDetail:Compat compatName)
-             (xcb:xkb:NameDetail:KeyTypeNames typeNames)
-             (xcb:xkb:NameDetail:KTLevelNames nLevelsPerType pad~1 
ktLevelNames)
-             (xcb:xkb:NameDetail:IndicatorNames indicatorNames)
-             (xcb:xkb:NameDetail:VirtualModNames virtualModNames)
-             (xcb:xkb:NameDetail:GroupNames groups)
-             (xcb:xkb:NameDetail:KeyNames keyNames)
-             (xcb:xkb:NameDetail:KeyAliases keyAliases)
-             (xcb:xkb:NameDetail:RGNames radioGroupNames)))
+            ((1 keycodesName)
+             (2 geometryName)
+             (4 symbolsName)
+             (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)))
           :type xcb:-switch)
    (keycodesName :initarg :keycodesName :type xcb:ATOM)
    (geometryName :initarg :geometryName :type xcb:ATOM)
@@ -1733,13 +1729,11 @@
            '(expression
              (xcb:-fieldref 'reported)
              cases
-             (((logior xcb:xkb:GBNDetail:Types xcb:xkb:GBNDetail:ClientSymbols 
xcb:xkb:GBNDetail:ServerSymbols)
-               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)
-              (xcb:xkb:GBNDetail:CompatMap compatmap-type compatDeviceID 
compatmap-sequence compatmap-length groupsRtrn pad~7 firstSIRtrn nSIRtrn 
nTotalSI pad~8 si-rtrn group-rtrn)
-              (xcb:xkb:GBNDetail:IndicatorMaps indicatormap-type 
indicatorDeviceID indicatormap-sequence indicatormap-length which 
realIndicators nIndicators pad~10 maps)
-              ((logior xcb:xkb:GBNDetail:KeyNames xcb:xkb:GBNDetail:OtherNames)
-               keyname-type keyDeviceID keyname-sequence keyname-length which* 
keyMinKeyCode keyMaxKeyCode nTypes* groupNames virtualMods* firstKey nKeys 
indicators nRadioGroups nKeyAliases nKTLevels pad~11 valueList)
-              (xcb:xkb:GBNDetail:Geometry geometry-type geometryDeviceID 
geometry-sequence geometry-length name geometryFound pad~13 widthMM heightMM 
nProperties nColors nShapes nSections nDoodads nKeyAliases* baseColorNdx 
labelColorNdx labelFont)))
+             ((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~10 maps)
+              (160 keyname-type keyDeviceID keyname-sequence keyname-length 
which* keyMinKeyCode keyMaxKeyCode nTypes* groupNames virtualMods* firstKey 
nKeys indicators nRadioGroups nKeyAliases nKTLevels pad~11 valueList)
+              (64 geometry-type geometryDeviceID geometry-sequence 
geometry-length name geometryFound pad~13 widthMM heightMM nProperties nColors 
nShapes nSections nDoodads nKeyAliases* baseColorNdx labelColorNdx labelFont)))
            :type xcb:-switch)
    (getmap-type :initarg :getmap-type :type xcb:CARD8)
    (typeDeviceID :initarg :typeDeviceID :type xcb:CARD8)
@@ -1776,14 +1770,14 @@
        '(expression
          (xcb:-fieldref 'present)
          cases
-         ((xcb:xkb:MapPart:KeyTypes types-rtrn)
-          (xcb:xkb:MapPart:KeySyms syms-rtrn)
-          (xcb:xkb:MapPart:KeyActions acts-rtrn-count pad~3 acts-rtrn-acts)
-          (xcb:xkb:MapPart:KeyBehaviors behaviors-rtrn)
-          (xcb:xkb:MapPart:VirtualMods vmods-rtrn pad~4)
-          (xcb:xkb:MapPart:ExplicitComponents explicit-rtrn pad~5)
-          (xcb:xkb:MapPart:ModifierMap modmap-rtrn pad~6)
-          (xcb:xkb:MapPart:VirtualModMap 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
@@ -1891,20 +1885,20 @@
              '(expression
                (xcb:-fieldref 'which)
                cases
-               ((xcb:xkb:NameDetail:Keycodes keycodesName)
-                (xcb:xkb:NameDetail:Geometry geometryName)
-                (xcb:xkb:NameDetail:Symbols symbolsName)
-                (xcb:xkb:NameDetail:PhysSymbols physSymbolsName)
-                (xcb:xkb:NameDetail:Types typesName)
-                (xcb:xkb:NameDetail:Compat compatName)
-                (xcb:xkb:NameDetail:KeyTypeNames typeNames)
-                (xcb:xkb:NameDetail:KTLevelNames nLevelsPerType pad~12 
ktLevelNames)
-                (xcb:xkb:NameDetail:IndicatorNames indicatorNames)
-                (xcb:xkb:NameDetail:VirtualModNames virtualModNames)
-                (xcb:xkb:NameDetail:GroupNames groups)
-                (xcb:xkb:NameDetail:KeyNames keyNames)
-                (xcb:xkb:NameDetail:KeyAliases keyAliases)
-                (xcb:xkb:NameDetail:RGNames radioGroupNames)))
+               ((1 keycodesName)
+                (2 geometryName)
+                (4 symbolsName)
+                (8 physSymbolsName)
+                (16 typesName)
+                (32 compatName)
+                (64 typeNames)
+                (128 nLevelsPerType pad~12 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)
diff --git a/xcb-xproto.el b/xcb-xproto.el
index 92e4a22..599bc9a 100644
--- a/xcb-xproto.el
+++ b/xcb-xproto.el
@@ -853,21 +853,21 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:CW:BackPixmap background-pixmap)
-                 (xcb:CW:BackPixel background-pixel)
-                 (xcb:CW:BorderPixmap border-pixmap)
-                 (xcb:CW:BorderPixel border-pixel)
-                 (xcb:CW:BitGravity bit-gravity)
-                 (xcb:CW:WinGravity win-gravity)
-                 (xcb:CW:BackingStore backing-store)
-                 (xcb:CW:BackingPlanes backing-planes)
-                 (xcb:CW:BackingPixel backing-pixel)
-                 (xcb:CW:OverrideRedirect override-redirect)
-                 (xcb:CW:SaveUnder save-under)
-                 (xcb:CW:EventMask event-mask)
-                 (xcb:CW:DontPropagate do-not-propogate-mask)
-                 (xcb:CW:Colormap colormap)
-                 (xcb:CW:Cursor cursor)))
+                ((1 background-pixmap)
+                 (2 background-pixel)
+                 (4 border-pixmap)
+                 (8 border-pixel)
+                 (16 bit-gravity)
+                 (32 win-gravity)
+                 (64 backing-store)
+                 (128 backing-planes)
+                 (256 backing-pixel)
+                 (512 override-redirect)
+                 (1024 save-under)
+                 (2048 event-mask)
+                 (4096 do-not-propogate-mask)
+                 (8192 colormap)
+                 (16384 cursor)))
               :type xcb:-switch)
    (background-pixmap :initarg :background-pixmap :type xcb:PIXMAP)
    (background-pixel :initarg :background-pixel :type xcb:CARD32)
@@ -895,21 +895,21 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:CW:BackPixmap background-pixmap)
-                 (xcb:CW:BackPixel background-pixel)
-                 (xcb:CW:BorderPixmap border-pixmap)
-                 (xcb:CW:BorderPixel border-pixel)
-                 (xcb:CW:BitGravity bit-gravity)
-                 (xcb:CW:WinGravity win-gravity)
-                 (xcb:CW:BackingStore backing-store)
-                 (xcb:CW:BackingPlanes backing-planes)
-                 (xcb:CW:BackingPixel backing-pixel)
-                 (xcb:CW:OverrideRedirect override-redirect)
-                 (xcb:CW:SaveUnder save-under)
-                 (xcb:CW:EventMask event-mask)
-                 (xcb:CW:DontPropagate do-not-propogate-mask)
-                 (xcb:CW:Colormap colormap)
-                 (xcb:CW:Cursor cursor)))
+                ((1 background-pixmap)
+                 (2 background-pixel)
+                 (4 border-pixmap)
+                 (8 border-pixel)
+                 (16 bit-gravity)
+                 (32 win-gravity)
+                 (64 backing-store)
+                 (128 backing-planes)
+                 (256 backing-pixel)
+                 (512 override-redirect)
+                 (1024 save-under)
+                 (2048 event-mask)
+                 (4096 do-not-propogate-mask)
+                 (8192 colormap)
+                 (16384 cursor)))
               :type xcb:-switch)
    (background-pixmap :initarg :background-pixmap :type xcb:PIXMAP)
    (background-pixel :initarg :background-pixel :type xcb:CARD32)
@@ -1034,13 +1034,13 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:ConfigWindow:X x)
-                 (xcb:ConfigWindow:Y y)
-                 (xcb:ConfigWindow:Width width)
-                 (xcb:ConfigWindow:Height height)
-                 (xcb:ConfigWindow:BorderWidth border-width)
-                 (xcb:ConfigWindow:Sibling sibling)
-                 (xcb:ConfigWindow:StackMode stack-mode)))
+                ((1 x)
+                 (2 y)
+                 (4 width)
+                 (8 height)
+                 (16 border-width)
+                 (32 sibling)
+                 (64 stack-mode)))
               :type xcb:-switch)
    (x :initarg :x :type xcb:INT32)
    (y :initarg :y :type xcb:INT32)
@@ -1768,29 +1768,29 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:GC:Function function)
-                 (xcb:GC:PlaneMask plane-mask)
-                 (xcb:GC:Foreground foreground)
-                 (xcb:GC:Background background)
-                 (xcb:GC:LineWidth line-width)
-                 (xcb:GC:LineStyle line-style)
-                 (xcb:GC:CapStyle cap-style)
-                 (xcb:GC:JoinStyle join-style)
-                 (xcb:GC:FillStyle fill-style)
-                 (xcb:GC:FillRule fill-rule)
-                 (xcb:GC:Tile tile)
-                 (xcb:GC:Stipple stipple)
-                 (xcb:GC:TileStippleOriginX tile-stipple-x-origin)
-                 (xcb:GC:TileStippleOriginY tile-stipple-y-origin)
-                 (xcb:GC:Font font)
-                 (xcb:GC:SubwindowMode subwindow-mode)
-                 (xcb:GC:GraphicsExposures graphics-exposures)
-                 (xcb:GC:ClipOriginX clip-x-origin)
-                 (xcb:GC:ClipOriginY clip-y-origin)
-                 (xcb:GC:ClipMask clip-mask)
-                 (xcb:GC:DashOffset dash-offset)
-                 (xcb:GC:DashList dashes)
-                 (xcb:GC:ArcMode arc-mode)))
+                ((1 function)
+                 (2 plane-mask)
+                 (4 foreground)
+                 (8 background)
+                 (16 line-width)
+                 (32 line-style)
+                 (64 cap-style)
+                 (128 join-style)
+                 (256 fill-style)
+                 (512 fill-rule)
+                 (1024 tile)
+                 (2048 stipple)
+                 (4096 tile-stipple-x-origin)
+                 (8192 tile-stipple-y-origin)
+                 (16384 font)
+                 (32768 subwindow-mode)
+                 (65536 graphics-exposures)
+                 (131072 clip-x-origin)
+                 (262144 clip-y-origin)
+                 (524288 clip-mask)
+                 (1048576 dash-offset)
+                 (2097152 dashes)
+                 (4194304 arc-mode)))
               :type xcb:-switch)
    (function :initarg :function :type xcb:CARD32)
    (plane-mask :initarg :plane-mask :type xcb:CARD32)
@@ -1826,29 +1826,29 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:GC:Function function)
-                 (xcb:GC:PlaneMask plane-mask)
-                 (xcb:GC:Foreground foreground)
-                 (xcb:GC:Background background)
-                 (xcb:GC:LineWidth line-width)
-                 (xcb:GC:LineStyle line-style)
-                 (xcb:GC:CapStyle cap-style)
-                 (xcb:GC:JoinStyle join-style)
-                 (xcb:GC:FillStyle fill-style)
-                 (xcb:GC:FillRule fill-rule)
-                 (xcb:GC:Tile tile)
-                 (xcb:GC:Stipple stipple)
-                 (xcb:GC:TileStippleOriginX tile-stipple-x-origin)
-                 (xcb:GC:TileStippleOriginY tile-stipple-y-origin)
-                 (xcb:GC:Font font)
-                 (xcb:GC:SubwindowMode subwindow-mode)
-                 (xcb:GC:GraphicsExposures graphics-exposures)
-                 (xcb:GC:ClipOriginX clip-x-origin)
-                 (xcb:GC:ClipOriginY clip-y-origin)
-                 (xcb:GC:ClipMask clip-mask)
-                 (xcb:GC:DashOffset dash-offset)
-                 (xcb:GC:DashList dashes)
-                 (xcb:GC:ArcMode arc-mode)))
+                ((1 function)
+                 (2 plane-mask)
+                 (4 foreground)
+                 (8 background)
+                 (16 line-width)
+                 (32 line-style)
+                 (64 cap-style)
+                 (128 join-style)
+                 (256 fill-style)
+                 (512 fill-rule)
+                 (1024 tile)
+                 (2048 stipple)
+                 (4096 tile-stipple-x-origin)
+                 (8192 tile-stipple-y-origin)
+                 (16384 font)
+                 (32768 subwindow-mode)
+                 (65536 graphics-exposures)
+                 (131072 clip-x-origin)
+                 (262144 clip-y-origin)
+                 (524288 clip-mask)
+                 (1048576 dash-offset)
+                 (2097152 dashes)
+                 (4194304 arc-mode)))
               :type xcb:-switch)
    (function :initarg :function :type xcb:CARD32)
    (plane-mask :initarg :plane-mask :type xcb:CARD32)
@@ -2559,14 +2559,14 @@
               '(expression
                 (xcb:-fieldref 'value-mask)
                 cases
-                ((xcb:KB:KeyClickPercent key-click-percent)
-                 (xcb:KB:BellPercent bell-percent)
-                 (xcb:KB:BellPitch bell-pitch)
-                 (xcb:KB:BellDuration bell-duration)
-                 (xcb:KB:Led led)
-                 (xcb:KB:LedMode led-mode)
-                 (xcb:KB:Key key)
-                 (xcb:KB:AutoRepeatMode auto-repeat-mode)))
+                ((1 key-click-percent)
+                 (2 bell-percent)
+                 (4 bell-pitch)
+                 (8 bell-duration)
+                 (16 led)
+                 (32 led-mode)
+                 (64 key)
+                 (128 auto-repeat-mode)))
               :type xcb:-switch)
    (key-click-percent :initarg :key-click-percent :type xcb:INT32)
    (bell-percent :initarg :bell-percent :type xcb:INT32)



reply via email to

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