[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/xelb 6c4ab31 1/2: Fix copyright and coding conventions
From: |
Chris Feng |
Subject: |
[elpa] externals/xelb 6c4ab31 1/2: Fix copyright and coding conventions |
Date: |
Sat, 19 Sep 2015 02:01:42 +0000 |
branch: externals/xelb
commit 6c4ab318a9c1c2e87639d88fe42a7e458d78f885
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Fix copyright and coding conventions
* el_client.el: Prefix global definitions.
* Add copyright/license and fix library header/footer conventions for
generated libraries.
---
el_client.el | 455 +++++++++++++++++++++++++++++-----------------------
xcb-bigreq.el | 28 +++-
xcb-composite.el | 28 +++-
xcb-damage.el | 28 +++-
xcb-dpms.el | 28 +++-
xcb-dri2.el | 32 ++++-
xcb-dri3.el | 28 +++-
xcb-ge.el | 28 +++-
xcb-glx.el | 28 +++-
xcb-present.el | 28 +++-
xcb-randr.el | 28 +++-
xcb-record.el | 28 +++-
xcb-render.el | 28 +++-
xcb-res.el | 28 +++-
xcb-screensaver.el | 28 +++-
xcb-shape.el | 28 +++-
xcb-shm.el | 28 +++-
xcb-sync.el | 28 +++-
xcb-xc_misc.el | 28 +++-
xcb-xevie.el | 28 +++-
xcb-xf86dri.el | 28 +++-
xcb-xf86vidmode.el | 56 +++++--
xcb-xfixes.el | 28 +++-
xcb-xinerama.el | 28 +++-
xcb-xinput.el | 28 +++-
xcb-xkb.el | 44 ++++--
xcb-xprint.el | 28 +++-
xcb-xproto.el | 28 +++-
xcb-xselinux.el | 28 +++-
xcb-xtest.el | 28 +++-
xcb-xv.el | 28 +++-
xcb-xvmc.el | 28 +++-
32 files changed, 1081 insertions(+), 290 deletions(-)
diff --git a/el_client.el b/el_client.el
index bc0be64..1657b6e 100644
--- a/el_client.el
+++ b/el_client.el
@@ -45,41 +45,41 @@
;;;; Variables
-(defvar ec-prefix "xcb:" "Namespace of this module.")
-(make-variable-buffer-local 'ec-prefix)
+(defvar xelb-prefix "xcb:" "Namespace of this module.")
+(make-variable-buffer-local 'xelb-prefix)
-(defvar error-alist nil "Record X errors in this module.")
-(make-variable-buffer-local 'error-alist)
+(defvar xelb-error-alist nil "Record X errors in this module.")
+(make-variable-buffer-local 'xelb-error-alist)
-(defvar event-alist nil "Record X events in this module.")
-(make-variable-buffer-local 'event-alist)
+(defvar xelb-event-alist nil "Record X events in this module.")
+(make-variable-buffer-local 'xelb-event-alist)
-(defvar pad-count -1 "<pad> node counter.")
-(make-variable-buffer-local 'pad-count)
+(defvar xelb-pad-count -1 "<pad> node counter.")
+(make-variable-buffer-local 'xelb-pad-count)
;;;; Helper functions
-(defsubst node-name (node)
+(defsubst xelb-node-name (node)
"Return the tag name of node NODE."
(car node))
-(defsubst node-attr (node attr)
+(defsubst xelb-node-attr (node attr)
"Return the attribute ATTR of node NODE."
(cdr (assoc attr (cadr node))))
-(defsubst escape-name (name)
+(defsubst xelb-escape-name (name)
"Replace underscores in NAME with dashes."
(replace-regexp-in-string "_" "-" name))
-(defsubst node-name-escape (node)
+(defsubst xelb-node-name-escape (node)
"Return the tag name of node NODE and escape it."
- (escape-name (node-name node)))
+ (xelb-escape-name (xelb-node-name node)))
-(defsubst node-attr-escape (node attr)
+(defsubst xelb-node-attr-escape (node attr)
"Return the attribute ATTR of node NODE and escape it."
- (escape-name (node-attr node attr)))
+ (xelb-escape-name (xelb-node-attr node attr)))
-(defsubst node-subnodes (node &optional mark-auto-padding)
+(defsubst xelb-node-subnodes (node &optional mark-auto-padding)
"Return all the subnodes of node NODE as a list.
If MARK-AUTO-PADDING is non-nil, all <list>'s fitting for padding will include
@@ -90,181 +90,223 @@ an `xelb-auto-padding' attribute."
(cl-delete-if (lambda (i) (or (eq 'comment (car i)) (eq 'doc (car i))))
subnodes)
(dotimes (i (1- (length subnodes)))
- (when (and (eq 'list (node-name (elt subnodes i)))
- (pcase (node-name (elt subnodes (1+ i)))
+ (when (and (eq 'list (xelb-node-name (elt subnodes i)))
+ (pcase (xelb-node-name (elt subnodes (1+ i)))
((or `reply `pad))
(_ t)))
(setf (cadr (elt subnodes i))
(nconc (cadr (elt subnodes i)) `((xelb-auto-padding . t)))))))
subnodes))
-(defsubst node-subnode (node)
+(defsubst xelb-node-subnode (node)
"Return the (only) subnode of node NODE with useless contents skipped."
- (let ((result (node-subnodes node)))
+ (let ((result (xelb-node-subnodes node)))
(catch 'break
(dolist (i result)
(unless (and (listp i)
- (or (eq (node-name i) 'comment) (eq (node-name i) 'doc)))
+ (or (eq (xelb-node-name i) 'comment)
+ (eq (xelb-node-name i) 'doc)))
(throw 'break i))))))
-(defsubst generate-pad-name ()
+(defsubst xelb-generate-pad-name ()
"Generate a new slot name for <pad>."
- (make-symbol (format "pad~%d" (cl-incf pad-count))))
+ (make-symbol (format "pad~%d" (cl-incf xelb-pad-count))))
;;;; Entry & root element
-(defun parse (file)
+(defun xelb-parse (file)
"Parse an XCB protocol description file FILE (XML)."
(let ((pp-escape-newlines nil) ;do not escape newlines
result header)
(with-temp-buffer
(insert-file-contents file)
(setq result (libxml-parse-xml-region (point-min) (point-max) nil t))
- (cl-assert (eq 'xcb (node-name result)))
- (setq header (node-attr result 'header))
+ (cl-assert (eq 'xcb (xelb-node-name result)))
+ (setq header (xelb-node-attr result 'header))
(unless (string= header "xproto")
- (setq ec-prefix (concat ec-prefix header ":")))
+ (setq xelb-prefix (concat xelb-prefix header ":")))
;; Print header
(princ (format "\
-;;; -*- lexical-binding: t -*-
-;; This file was generated from `%s' by `el_client.el'.
-\n(require 'xcb-types)\n\n" (file-name-nondirectory file)))
+;;; xcb-%s.el --- X11 %s -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from '%s',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
+
+(require 'xcb-types)
+
+" header (let ((extension-name (xelb-node-attr result 'extension-name)))
+ (if extension-name
+ (concat extension-name " extension")
+ "core protocol"))
+ (file-name-nondirectory file)))
;; Print extension info (if any)
- (let ((extension-xname (node-attr result 'extension-xname))
- (extension-name (node-attr result 'extension-name))
- (major-version (node-attr result 'major-version))
- (minor-version (node-attr result 'minor-version)))
+ (let ((extension-xname (xelb-node-attr result 'extension-xname))
+ (extension-name (xelb-node-attr result 'extension-name))
+ (major-version (xelb-node-attr result 'major-version))
+ (minor-version (xelb-node-attr result 'minor-version)))
(when extension-xname
- (pp `(defconst ,(intern (concat ec-prefix "-extension-xname"))
+ (pp `(defconst ,(intern (concat xelb-prefix "-extension-xname"))
,extension-xname)))
(when extension-name
- (pp `(defconst ,(intern (concat ec-prefix "-extension-name"))
+ (pp `(defconst ,(intern (concat xelb-prefix "-extension-name"))
,extension-name)))
(when major-version
- (pp `(defconst ,(intern (concat ec-prefix "-major-version"))
+ (pp `(defconst ,(intern (concat xelb-prefix "-major-version"))
,(string-to-number major-version))))
(when minor-version
- (pp `(defconst ,(intern (concat ec-prefix "-minor-version"))
+ (pp `(defconst ,(intern (concat xelb-prefix "-minor-version"))
,(string-to-number minor-version))))
(when (or extension-xname extension-name major-version minor-version)
(princ "\n")))
;; Print contents
- (dolist (i (node-subnodes result))
- (let ((result (parse-top-level-element i)))
+ (dolist (i (xelb-node-subnodes result))
+ (let ((result (xelb-parse-top-level-element i)))
(when result ;skip <doc>, comments, etc
(dolist (j result)
(pp j))
(princ "\n"))))
;; Print error/event alists
- (when error-alist
- (pp `(defconst ,(intern (concat ec-prefix "error-number-class-alist"))
- ',error-alist "(error-number . error-class) alist"))
+ (when xelb-error-alist
+ (pp
+ `(defconst ,(intern (concat xelb-prefix "error-number-class-alist"))
+ ',xelb-error-alist "(error-number . error-class) alist"))
(princ "\n"))
- (when event-alist
- (pp `(defconst ,(intern (concat ec-prefix "event-number-class-alist"))
- ',event-alist "(event-number . event-class) alist"))
+ (when xelb-event-alist
+ (pp
+ `(defconst ,(intern (concat xelb-prefix "event-number-class-alist"))
+ ',xelb-event-alist "(event-number . event-class) alist"))
(princ "\n"))
;; Print footer
- (princ (format "\n\n(provide 'xcb-%s)\n" header)))))
+ (princ (format "\
+
+
+(provide 'xcb-%s)
+
+;;; xcb-%s.el ends here
+" header header)))))
;;;; XCB: top-level elements
-(defun parse-top-level-element (node)
+(defun xelb-parse-top-level-element (node)
"Parse a top-level node NODE."
- (setq pad-count -1)
- (pcase (node-name node)
- (`import (parse-import node))
- (`struct (parse-struct node))
- (`union (parse-union node))
+ (setq xelb-pad-count -1)
+ (pcase (xelb-node-name node)
+ (`import (xelb-parse-import node))
+ (`struct (xelb-parse-struct node))
+ (`union (xelb-parse-union node))
((or `xidtype `xidunion)
- (parse-xidtype node)) ;they are basically the same
- (`enum (parse-enum node))
- (`typedef (parse-typedef node))
- (`request (parse-request node))
- (`event (parse-event node))
- (`error (parse-error node))
- (`eventcopy (parse-eventcopy node))
- (`errorcopy (parse-errorcopy node))
+ (xelb-parse-xidtype node)) ;they are basically the same
+ (`enum (xelb-parse-enum node))
+ (`typedef (xelb-parse-typedef node))
+ (`request (xelb-parse-request node))
+ (`event (xelb-parse-event node))
+ (`error (xelb-parse-error node))
+ (`eventcopy (xelb-parse-eventcopy node))
+ (`errorcopy (xelb-parse-errorcopy node))
((or `comment `doc)) ;ignored
(x (error "Unsupported top-level element: <%s>" x))))
-(defun parse-import (node)
+(defun xelb-parse-import (node)
"Parse <import>."
- (let ((header (intern (concat "xcb-" (node-subnode node)))))
+ (let ((header (intern (concat "xcb-" (xelb-node-subnode node)))))
(require header)
`((require ',header))))
-(defun parse-struct (node)
+(defun xelb-parse-struct (node)
"Parse <struct>."
- (let ((name (intern (concat ec-prefix (node-attr node 'name))))
- (contents (node-subnodes node t)))
+ (let ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (contents (xelb-node-subnodes node t)))
`((defclass ,name (xcb:-struct)
- ,(apply #'nconc (mapcar #'parse-structure-content contents))))))
+ ,(apply #'nconc (mapcar #'xelb-parse-structure-content contents))))))
-(defun parse-union (node)
+(defun xelb-parse-union (node)
"Parse <union>."
- (let ((name (intern (concat ec-prefix (node-attr node 'name))))
- (contents (node-subnodes node)))
+ (let ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (contents (xelb-node-subnodes node)))
`((defclass ,name (xcb:-union)
- ,(apply #'nconc (mapcar #'parse-structure-content contents))))))
+ ,(apply #'nconc (mapcar #'xelb-parse-structure-content contents))))))
-(defun parse-xidtype (node)
+(defun xelb-parse-xidtype (node)
"Parse <xidtype>."
- (let ((name (intern (concat ec-prefix (node-attr node 'name)))))
+ (let ((name (intern (concat xelb-prefix (xelb-node-attr node 'name)))))
`((xcb:deftypealias ',name 'xcb:-u4))))
-(defun parse-enum (node)
+(defun xelb-parse-enum (node)
"Parse <enum>."
- (let ((name-prefix (concat ec-prefix (node-attr node 'name) ":"))
- (items (node-subnodes node))
+ (let ((name-prefix (concat xelb-prefix (xelb-node-attr node 'name) ":"))
+ (items (xelb-node-subnodes node))
(value 0))
(delq nil ;remove nil's produced by tags like <doc>
(mapcar (lambda (i)
- (when (eq (node-name i) 'item) ;only handle <item> tags
- (let* ((name (node-attr i 'name))
+ (when (eq (xelb-node-name i) 'item)
+ ;; Only handle <item> tags
+ (let* ((name (xelb-node-attr i 'name))
(name (intern (concat name-prefix name)))
- (expression (node-subnode i)))
+ (expression (xelb-node-subnode i)))
(if expression
- (setq value (parse-expression expression))
+ (setq value (xelb-parse-expression expression))
(setq value (1+ value)))
`(defconst ,name ,value))))
items))))
-(defun parse-typedef (node)
+(defun xelb-parse-typedef (node)
"Parse <typedef>."
- (let* ((oldname (node-attr node 'oldname))
+ (let* ((oldname (xelb-node-attr node 'oldname))
(oldname (or (intern-soft (concat "xcb:" oldname))
- (intern (concat ec-prefix oldname))))
- (newname (intern (concat ec-prefix (node-attr node 'newname)))))
+ (intern (concat xelb-prefix oldname))))
+ (newname (intern (concat xelb-prefix
+ (xelb-node-attr node 'newname)))))
`((xcb:deftypealias ',newname ',oldname))))
-(defun parse-request (node)
+(defun xelb-parse-request (node)
"Parse <request>.
The `combine-adjacent' attribute is simply ignored."
- (let* ((name (intern (concat ec-prefix (node-attr node 'name))))
- (opcode (string-to-number (node-attr node 'opcode)))
+ (let* ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (opcode (string-to-number (xelb-node-attr node 'opcode)))
(contents `((~opcode :initform ,opcode :type xcb:-u1)))
- (subnodes (node-subnodes node t))
+ (subnodes (xelb-node-subnodes node t))
expressions
result reply-name reply-contents)
(dolist (i subnodes)
- (if (not (eq (node-name i) 'reply))
+ (if (not (eq (xelb-node-name i) 'reply))
(progn
- (setq result (parse-structure-content i))
- (if (eq 'exprfield (node-name i))
+ (setq result (xelb-parse-structure-content i))
+ (if (eq 'exprfield (xelb-node-name i))
;; Split into field and expression
(setq contents (nconc contents (list (car result)))
expressions (nconc expressions (list (cadr result))))
(setq contents (nconc contents result))))
;; Parse <reply>
- (setq pad-count -1) ;reset padding counter
+ (setq xelb-pad-count -1) ;reset padding counter
(setq reply-name
- (intern (concat ec-prefix (node-attr node 'name) "~reply")))
- (setq reply-contents (node-subnodes i t))
+ (intern (concat xelb-prefix (xelb-node-attr node 'name)
+ "~reply")))
+ (setq reply-contents (xelb-node-subnodes i t))
(setq reply-contents
(apply #'nconc
- (mapcar #'parse-structure-content reply-contents)))))
+ (mapcar #'xelb-parse-structure-content reply-contents)))))
(delq nil contents)
(delq nil
`((defclass ,name (xcb:-request) ,contents)
@@ -278,16 +320,17 @@ The `combine-adjacent' attribute is simply ignored."
(delq nil reply-contents)
`(defclass ,reply-name (xcb:-reply) ,reply-contents))))))
-(defun parse-event (node)
+(defun xelb-parse-event (node)
"Parse <event>.
The `no-sequence-number' is ignored here since it's only used for
KeymapNotify event; instead, we handle this case in `xcb:unmarshal'."
- (let ((name (intern (concat ec-prefix (node-attr node 'name))))
- (event-number (string-to-number (node-attr node 'number)))
- (xge (node-attr node 'xge))
- (contents (node-subnodes node t)))
- (setq contents (apply #'nconc (mapcar #'parse-structure-content contents)))
+ (let ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (event-number (string-to-number (xelb-node-attr node 'number)))
+ (xge (xelb-node-attr node 'xge))
+ (contents (xelb-node-subnodes node t)))
+ (setq contents
+ (apply #'nconc (mapcar #'xelb-parse-structure-content contents)))
(when xge ;generic event
(setq contents
(append
@@ -295,86 +338,86 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
(length :type xcb:CARD32)
(evtype :type xcb:CARD16))
contents)))
- (setq event-alist (nconc event-alist `((,event-number . ,name))))
+ (setq xelb-event-alist (nconc xelb-event-alist `((,event-number . ,name))))
`((defclass ,name (xcb:-event) ,contents))))
-(defun parse-error (node)
+(defun xelb-parse-error (node)
"Parse <error>."
- (let ((name (intern (concat ec-prefix (node-attr node 'name))))
- (error-number (string-to-number (node-attr node 'number)))
- (contents (node-subnodes node t)))
- (setq error-alist (nconc error-alist `((,error-number . ,name))))
+ (let ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (error-number (string-to-number (xelb-node-attr node 'number)))
+ (contents (xelb-node-subnodes node t)))
+ (setq xelb-error-alist (nconc xelb-error-alist `((,error-number . ,name))))
`((defclass ,name (xcb:-error)
- ,(apply #'nconc (mapcar #'parse-structure-content contents))))))
+ ,(apply #'nconc (mapcar #'xelb-parse-structure-content contents))))))
-(defun parse-eventcopy (node)
+(defun xelb-parse-eventcopy (node)
"Parse <eventcopy>."
- (let* ((name (intern (concat ec-prefix (node-attr node 'name))))
- (refname (node-attr node 'ref))
+ (let* ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (refname (xelb-node-attr node 'ref))
(refname (or (intern-soft (concat "xcb:" refname))
- (intern (concat ec-prefix refname))))
- (event-number (string-to-number (node-attr node 'number))))
- (setq event-alist (nconc event-alist `((,event-number . ,name))))
+ (intern (concat xelb-prefix refname))))
+ (event-number (string-to-number (xelb-node-attr node 'number))))
+ (setq xelb-event-alist (nconc xelb-event-alist `((,event-number . ,name))))
`((defclass ,name (xcb:-event ,refname) nil)))) ;shadow the method of ref
-(defun parse-errorcopy (node)
+(defun xelb-parse-errorcopy (node)
"Parse <errorcopy>."
- (let* ((name (intern (concat ec-prefix (node-attr node 'name))))
- (refname (node-attr node 'ref))
+ (let* ((name (intern (concat xelb-prefix (xelb-node-attr node 'name))))
+ (refname (xelb-node-attr node 'ref))
(refname (or (intern-soft (concat "xcb:" refname))
- (intern (concat ec-prefix refname))))
- (error-number (string-to-number (node-attr node 'number))))
- (setq error-alist (nconc error-alist `((,error-number . ,name))))
+ (intern (concat xelb-prefix refname))))
+ (error-number (string-to-number (xelb-node-attr node 'number))))
+ (setq xelb-error-alist (nconc xelb-error-alist `((,error-number . ,name))))
`((defclass ,name (xcb:-error ,refname) nil)))) ;shadow the method of ref
;;;; XCB: structure contents
-(defun parse-structure-content (node)
+(defun xelb-parse-structure-content (node)
"Parse a structure content node NODE."
- (pcase (node-name node)
- (`pad (parse-pad node))
- (`field (parse-field node))
- (`fd (parse-fd node))
- (`list (parse-list node))
- (`exprfield (parse-exprfield node))
- (`switch (parse-switch node))
+ (pcase (xelb-node-name node)
+ (`pad (xelb-parse-pad node))
+ (`field (xelb-parse-field node))
+ (`fd (xelb-parse-fd node))
+ (`list (xelb-parse-list node))
+ (`exprfield (xelb-parse-exprfield node))
+ (`switch (xelb-parse-switch node))
((or `comment `doc)) ;simply ignored
(x (error "Unsupported structure content: <%s>" x))))
;; The car of the result shall be renamed to prevent duplication of slot names
-(defun parse-pad (node)
+(defun xelb-parse-pad (node)
"Parse <pad>."
- (let ((bytes (node-attr node 'bytes))
- (align (node-attr node 'align)))
+ (let ((bytes (xelb-node-attr node 'bytes))
+ (align (xelb-node-attr node 'align)))
(if bytes
- `((,(generate-pad-name)
+ `((,(xelb-generate-pad-name)
:initform ,(string-to-number bytes) :type xcb:-pad))
(if align
- `((,(generate-pad-name)
+ `((,(xelb-generate-pad-name)
:initform ,(string-to-number align) :type xcb:-pad-align))
(error "Invalid <pad> field")))))
-(defun parse-field (node)
+(defun xelb-parse-field (node)
"Parse <field>."
- (let* ((name (intern (node-attr-escape node 'name)))
- (type (node-attr node 'type))
+ (let* ((name (intern (xelb-node-attr-escape node 'name)))
+ (type (xelb-node-attr node 'type))
(type (or (intern-soft (concat "xcb:" type)) ;extension or xproto
- (intern (concat ec-prefix type)))))
+ (intern (concat xelb-prefix type)))))
`((,name :initarg ,(intern (concat ":" (symbol-name name))) :type ,type))))
-(defun parse-fd (node)
+(defun xelb-parse-fd (node)
"Parse <fd>."
- (let ((name (intern (node-attr-escape node 'name))))
+ (let ((name (intern (xelb-node-attr-escape node 'name))))
`((,name :type xcb:-fd))))
-(defun parse-list (node)
+(defun xelb-parse-list (node)
"Parse <list>."
- (let* ((name (intern (node-attr-escape node 'name)))
- (name-alt (intern (concat (node-attr-escape node 'name) "~")))
- (type (node-attr node 'type))
+ (let* ((name (intern (xelb-node-attr-escape node 'name)))
+ (name-alt (intern (concat (xelb-node-attr-escape node 'name) "~")))
+ (type (xelb-node-attr node 'type))
(type (or (intern-soft (concat "xcb:" type))
- (intern (concat ec-prefix type))))
- (size (parse-expression (node-subnode node))))
+ (intern (concat xelb-prefix type))))
+ (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)
@@ -382,40 +425,41 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
;; Auto padding after variable-length list
;; FIXME: according to the definition of `XCB_TYPE_PAD' in xcb.h, it does
;; not always padding to 4 bytes.
- ,@(when (and (node-attr node 'xelb-auto-padding) (not (integerp size)))
- `((,(generate-pad-name) :initform 4 :type xcb:-pad-align))))))
+ ,@(when (and (xelb-node-attr node 'xelb-auto-padding)
+ (not (integerp size)))
+ `((,(xelb-generate-pad-name) :initform 4 :type xcb:-pad-align))))))
;; The car of result is the field declaration, and the cadr is the expression
;; to be evaluated.
-(defun parse-exprfield (node)
+(defun xelb-parse-exprfield (node)
"Parse <exprfield>."
- (let* ((name (intern (node-attr-escape node 'name)))
- (type (node-attr node 'type))
+ (let* ((name (intern (xelb-node-attr-escape node 'name)))
+ (type (xelb-node-attr node 'type))
(type (or (intern-soft (concat "xcb:" type))
- (intern (concat ec-prefix type))))
- (value (parse-expression (node-subnode node))))
+ (intern (concat xelb-prefix type))))
+ (value (xelb-parse-expression (xelb-node-subnode node))))
`((,name :type ,type)
(setf (slot-value obj ',name) ',value))))
;; The only difference between <bitcase> and <case> is whether the `condition'
;; is a list
;; The name attribute of <bitcase> and <case> seems not useful here.
-(defun parse-switch (node)
+(defun xelb-parse-switch (node)
"Parse <switch>."
- (let ((name (intern (node-attr-escape node 'name)))
- (expression (parse-expression (car (node-subnodes node))))
- (cases (cdr (node-subnodes node)))
+ (let ((name (intern (xelb-node-attr-escape node 'name)))
+ (expression (xelb-parse-expression (car (xelb-node-subnodes node))))
+ (cases (cdr (xelb-node-subnodes node)))
fields)
;; Avoid duplicated slot names by appending "*" if necessary
(let (names name)
(dolist (case cases)
- (pcase (node-name case)
+ (pcase (xelb-node-name case)
((or `bitcase `case)
- (dolist (field (node-subnodes case))
- (pcase (node-name field)
+ (dolist (field (xelb-node-subnodes case))
+ (pcase (xelb-node-name field)
((or `enumref `pad `doc `comment))
(_
- (setq name (node-attr field 'name))
+ (setq name (xelb-node-attr field 'name))
(when (member name names)
(while (member name names)
(setq name (concat name "*")))
@@ -423,16 +467,17 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
(cl-pushnew name names :test #'equal))))))))
(setq cases
(mapcar (lambda (i)
- (let ((case-name (node-name i))
+ (let ((case-name (xelb-node-name i))
condition name-list tmp)
(when (or (eq case-name 'bitcase) (eq case-name 'case))
- (dolist (j (node-subnodes i t))
- (pcase (node-name j)
+ (dolist (j (xelb-node-subnodes i t))
+ (pcase (xelb-node-name j)
(`enumref
(setq condition
- (nconc condition (list (parse-enumref j)))))
+ (nconc condition
+ (list (xelb-parse-enumref j)))))
(_
- (setq tmp (parse-structure-content j))
+ (setq tmp (xelb-parse-structure-content j))
(setq fields (nconc fields tmp))
(setq name-list
(nconc name-list (list (caar tmp)))))))
@@ -448,29 +493,29 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
;;;; XCB: expressions
-(defun parse-expression (node)
+(defun xelb-parse-expression (node)
"Parse an expression node NODE."
(when node
- (pcase (node-name node)
- (`op (parse-op node))
- (`fieldref (parse-fieldref node))
- (`paramref (parse-paramref node))
- (`value (parse-value node))
- (`bit (parse-bit node))
- (`enumref (parse-enumref node))
- (`unop (parse-unop node))
- (`sumof (parse-sumof node))
- (`popcount (parse-popcount node))
- (`listelement-ref (parse-listelement-ref node))
+ (pcase (xelb-node-name node)
+ (`op (xelb-parse-op node))
+ (`fieldref (xelb-parse-fieldref node))
+ (`paramref (xelb-parse-paramref node))
+ (`value (xelb-parse-value node))
+ (`bit (xelb-parse-bit node))
+ (`enumref (xelb-parse-enumref node))
+ (`unop (xelb-parse-unop node))
+ (`sumof (xelb-parse-sumof node))
+ (`popcount (xelb-parse-popcount node))
+ (`listelement-ref (xelb-parse-listelement-ref node))
((or `comment `doc)) ;simply ignored
(x (error "Unsupported expression: <%s>" x)))))
-(defun parse-op (node)
+(defun xelb-parse-op (node)
"Parse <op>."
- (let* ((subnodes (node-subnodes node))
- (x (parse-expression (car subnodes)))
- (y (parse-expression (cadr subnodes))))
- (pcase (node-attr node 'op)
+ (let* ((subnodes (xelb-node-subnodes node))
+ (x (xelb-parse-expression (car subnodes)))
+ (y (xelb-parse-expression (cadr subnodes))))
+ (pcase (xelb-node-attr node 'op)
("+" `(+ ,x ,y))
("-" `(- ,x ,y))
("*" `(* ,x ,y))
@@ -479,53 +524,55 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
("<<" `(lsh ,x ,y))
(x (error "Unsupported operator: `%s'" x)))))
-(defun parse-fieldref (node)
+(defun xelb-parse-fieldref (node)
"Parse <fieldref>."
- `(xcb:-fieldref ',(intern (escape-name (node-subnode node)))))
+ `(xcb:-fieldref ',(intern (xelb-escape-name (xelb-node-subnode node)))))
-(defun parse-paramref (node)
+(defun xelb-parse-paramref (node)
"Parse <paramref>."
- `(xcb:-paramref ',(intern (escape-name (node-subnode node)))))
+ `(xcb:-paramref ',(intern (xelb-escape-name (xelb-node-subnode node)))))
-(defun parse-value (node)
+(defun xelb-parse-value (node)
"Parse <value>."
- (string-to-number (replace-regexp-in-string "^0x" "#x" (node-subnode node))))
+ (string-to-number
+ (replace-regexp-in-string "^0x" "#x" (xelb-node-subnode node))))
-(defun parse-bit (node)
+(defun xelb-parse-bit (node)
"Parse <bit>."
- (let ((bit (string-to-number (node-subnode node))))
+ (let ((bit (string-to-number (xelb-node-subnode node))))
(cl-assert (and (<= 0 bit) (>= 31 bit)))
(lsh 1 bit)))
-(defun parse-enumref (node)
+(defun xelb-parse-enumref (node)
"Parse <enumref>."
- (let ((name (concat (node-attr node 'ref) ":" (node-subnode node))))
+ (let ((name (concat (xelb-node-attr node 'ref) ":"
+ (xelb-node-subnode node))))
(or (intern-soft (concat "xcb:" name))
- (intern (concat ec-prefix name)))))
+ (intern (concat xelb-prefix name)))))
-(defun parse-unop (node)
+(defun xelb-parse-unop (node)
"Parse <unop>."
- (cl-assert (string= "~" (node-attr node 'op)))
- `(lognot (parse-expression (node-subnode node))))
+ (cl-assert (string= "~" (xelb-node-attr node 'op)))
+ `(lognot (xelb-parse-expression (xelb-node-subnode node))))
-(defun parse-sumof (node)
+(defun xelb-parse-sumof (node)
"Parse <sumof>."
- (let* ((ref (intern (node-attr-escape node 'ref)))
- (expression (node-subnode node))
+ (let* ((ref (intern (xelb-node-attr-escape node 'ref)))
+ (expression (xelb-node-subnode node))
(list-data `(slot-value obj ',ref)))
(if (not expression)
`(apply #'+ ,list-data)
- (setq expression (parse-expression expression))
+ (setq expression (xelb-parse-expression expression))
`(apply #'+ (mapcar (lambda (i)
(eval ',expression (list (nconc '(obj) i))))
,list-data)))))
-(defun parse-popcount (node)
+(defun xelb-parse-popcount (node)
"Parse <popcount>."
- (let ((expression (parse-expression (node-subnode node))))
+ (let ((expression (xelb-parse-expression (xelb-node-subnode node))))
`(xcb:-popcount ,expression)))
-(defun parse-listelement-ref (_node)
+(defun xelb-parse-listelement-ref (_node)
"Parse <listelement-ref>."
'obj) ;a list element is internally named 'obj'
@@ -540,6 +587,6 @@ KeymapNotify event; instead, we handle this case in
`xcb:unmarshal'."
(dolist (i (cdr argv))
(add-to-list 'load-path i))
(require 'xcb-types)
- (parse (car argv)))
+ (xelb-parse (car argv)))
;;; el_client.el ends here
diff --git a/xcb-bigreq.el b/xcb-bigreq.el
index 685dc45..34de062 100644
--- a/xcb-bigreq.el
+++ b/xcb-bigreq.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-bigreq.el --- X11 BigRequests extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `bigreq.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'bigreq.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -20,3 +42,5 @@
(provide 'xcb-bigreq)
+
+;;; xcb-bigreq.el ends here
diff --git a/xcb-composite.el b/xcb-composite.el
index dea81eb..12beb8b 100644
--- a/xcb-composite.el
+++ b/xcb-composite.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-composite.el --- X11 Composite extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `composite.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'composite.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -86,3 +108,5 @@
(provide 'xcb-composite)
+
+;;; xcb-composite.el ends here
diff --git a/xcb-damage.el b/xcb-damage.el
index a603906..4f93d9b 100644
--- a/xcb-damage.el
+++ b/xcb-damage.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-damage.el --- X11 Damage extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `damage.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'damage.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -82,3 +104,5 @@
(provide 'xcb-damage)
+
+;;; xcb-damage.el ends here
diff --git a/xcb-dpms.el b/xcb-dpms.el
index 5b2f02c..589aa2d 100644
--- a/xcb-dpms.el
+++ b/xcb-dpms.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-dpms.el --- X11 DPMS extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `dpms.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'dpms.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -78,3 +100,5 @@
(provide 'xcb-dpms)
+
+;;; xcb-dpms.el ends here
diff --git a/xcb-dri2.el b/xcb-dri2.el
index ba2443c..60b446d 100644
--- a/xcb-dri2.el
+++ b/xcb-dri2.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-dri2.el --- X11 DRI2 extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `dri2.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'dri2.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -80,8 +102,8 @@
(xcb:-fieldref 'driver-name-length)
3)
(lognot
- (parse-expression
- (node-subnode node))))
+ (xelb-parse-expression
+ (xelb-node-subnode node))))
(xcb:-fieldref 'driver-name-length)))
:type xcb:-list)
(pad~3 :initform 4 :type xcb:-pad-align)
@@ -274,3 +296,5 @@
(provide 'xcb-dri2)
+
+;;; xcb-dri2.el ends here
diff --git a/xcb-dri3.el b/xcb-dri3.el
index 7f2c8b9..f66d18d 100644
--- a/xcb-dri3.el
+++ b/xcb-dri3.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-dri3.el --- X11 DRI3 extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `dri3.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'dri3.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -85,3 +107,5 @@
(provide 'xcb-dri3)
+
+;;; xcb-dri3.el ends here
diff --git a/xcb-ge.el b/xcb-ge.el
index 82c7257..9028935 100644
--- a/xcb-ge.el
+++ b/xcb-ge.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-ge.el --- X11 GenericEvent extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `ge.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'ge.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -24,3 +46,5 @@
(provide 'xcb-ge)
+
+;;; xcb-ge.el ends here
diff --git a/xcb-glx.el b/xcb-glx.el
index 423035d..cc09060 100644
--- a/xcb-glx.el
+++ b/xcb-glx.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-glx.el --- X11 Glx extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `glx.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'glx.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -1684,3 +1706,5 @@
(provide 'xcb-glx)
+
+;;; xcb-glx.el ends here
diff --git a/xcb-present.el b/xcb-present.el
index dba8764..3ea01b2 100644
--- a/xcb-present.el
+++ b/xcb-present.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-present.el --- X11 Present extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `present.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'present.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -205,3 +227,5 @@
(provide 'xcb-present)
+
+;;; xcb-present.el ends here
diff --git a/xcb-randr.el b/xcb-randr.el
index e0d9296..50dc2a9 100644
--- a/xcb-randr.el
+++ b/xcb-randr.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-randr.el --- X11 RandR extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `randr.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'randr.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -1016,3 +1038,5 @@
(provide 'xcb-randr)
+
+;;; xcb-randr.el ends here
diff --git a/xcb-record.el b/xcb-record.el
index b458c59..7f1771c 100644
--- a/xcb-record.el
+++ b/xcb-record.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-record.el --- X11 Record extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `record.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'record.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -182,3 +204,5 @@
(provide 'xcb-record)
+
+;;; xcb-record.el ends here
diff --git a/xcb-render.el b/xcb-render.el
index ebffb05..2fa91b7 100644
--- a/xcb-render.el
+++ b/xcb-render.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-render.el --- X11 Render extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `render.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'render.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -737,3 +759,5 @@
(provide 'xcb-render)
+
+;;; xcb-render.el ends here
diff --git a/xcb-res.el b/xcb-res.el
index 980fad8..da290a2 100644
--- a/xcb-res.el
+++ b/xcb-res.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-res.el --- X11 Res extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `res.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'res.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -155,3 +177,5 @@
(provide 'xcb-res)
+
+;;; xcb-res.el ends here
diff --git a/xcb-screensaver.el b/xcb-screensaver.el
index 5b62dba..7997ea5 100644
--- a/xcb-screensaver.el
+++ b/xcb-screensaver.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-screensaver.el --- X11 ScreenSaver extension -*- lexical-binding: t
-*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `screensaver.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'screensaver.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -133,3 +155,5 @@
(provide 'xcb-screensaver)
+
+;;; xcb-screensaver.el ends here
diff --git a/xcb-shape.el b/xcb-shape.el
index 8e240cb..44131a1 100644
--- a/xcb-shape.el
+++ b/xcb-shape.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-shape.el --- X11 Shape extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `shape.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'shape.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -151,3 +173,5 @@
(provide 'xcb-shape)
+
+;;; xcb-shape.el ends here
diff --git a/xcb-shm.el b/xcb-shm.el
index 5399460..5fc11bd 100644
--- a/xcb-shm.el
+++ b/xcb-shm.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-shm.el --- X11 Shm extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `shm.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'shm.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -136,3 +158,5 @@
(provide 'xcb-shm)
+
+;;; xcb-shm.el ends here
diff --git a/xcb-sync.el b/xcb-sync.el
index 8e14f6e..467097f 100644
--- a/xcb-sync.el
+++ b/xcb-sync.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-sync.el --- X11 Sync extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `sync.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'sync.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -295,3 +317,5 @@
(provide 'xcb-sync)
+
+;;; xcb-sync.el ends here
diff --git a/xcb-xc_misc.el b/xcb-xc_misc.el
index 9529b90..3c920a2 100644
--- a/xcb-xc_misc.el
+++ b/xcb-xc_misc.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xc_misc.el --- X11 XCMisc extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xc_misc.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xc_misc.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -47,3 +69,5 @@
(provide 'xcb-xc_misc)
+
+;;; xcb-xc_misc.el ends here
diff --git a/xcb-xevie.el b/xcb-xevie.el
index 412e636..32291b8 100644
--- a/xcb-xevie.el
+++ b/xcb-xevie.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xevie.el --- X11 Xevie extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xevie.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xevie.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -69,3 +91,5 @@
(provide 'xcb-xevie)
+
+;;; xcb-xevie.el ends here
diff --git a/xcb-xf86dri.el b/xcb-xf86dri.el
index 17c9b9f..3ba38fe 100644
--- a/xcb-xf86dri.el
+++ b/xcb-xf86dri.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xf86dri.el --- X11 XF86Dri extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xf86dri.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xf86dri.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -170,3 +192,5 @@
(provide 'xcb-xf86dri)
+
+;;; xcb-xf86dri.el ends here
diff --git a/xcb-xf86vidmode.el b/xcb-xf86vidmode.el
index c0545db..df6eb3a 100644
--- a/xcb-xf86vidmode.el
+++ b/xcb-xf86vidmode.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xf86vidmode.el --- X11 XF86VidMode extension -*- lexical-binding: t
-*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xf86vidmode.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xf86vidmode.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -155,8 +177,8 @@
(xcb:-fieldref 'vendor-length)
3)
(lognot
- (parse-expression
- (node-subnode node))))
+ (xelb-parse-expression
+ (xelb-node-subnode node))))
(xcb:-fieldref 'vendor-length)))
:type xcb:-list)
(pad~5 :initform 4 :type xcb:-pad-align)
@@ -392,8 +414,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)
(pad~2 :initform 4 :type xcb:-pad-align)
(green :initarg :green :type xcb:-ignore)
@@ -404,8 +426,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)
(pad~3 :initform 4 :type xcb:-pad-align)
(blue :initarg :blue :type xcb:-ignore)
@@ -416,8 +438,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)))
(defclass xcb:xf86vidmode:SetGammaRamp
@@ -433,8 +455,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)
(pad~0 :initform 4 :type xcb:-pad-align)
(green :initarg :green :type xcb:-ignore)
@@ -445,8 +467,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)
(pad~1 :initform 4 :type xcb:-pad-align)
(blue :initarg :blue :type xcb:-ignore)
@@ -457,8 +479,8 @@
(xcb:-fieldref 'size)
1)
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
:type xcb:-list)))
(defclass xcb:xf86vidmode:GetGammaRampSize
@@ -524,3 +546,5 @@
(provide 'xcb-xf86vidmode)
+
+;;; xcb-xf86vidmode.el ends here
diff --git a/xcb-xfixes.el b/xcb-xfixes.el
index 283b261..5fa463c 100644
--- a/xcb-xfixes.el
+++ b/xcb-xfixes.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xfixes.el --- X11 XFixes extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xfixes.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xfixes.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -396,3 +418,5 @@
(provide 'xcb-xfixes)
+
+;;; xcb-xfixes.el ends here
diff --git a/xcb-xinerama.el b/xcb-xinerama.el
index bcde6b0..0e12865 100644
--- a/xcb-xinerama.el
+++ b/xcb-xinerama.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xinerama.el --- X11 Xinerama extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xinerama.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xinerama.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -85,3 +107,5 @@
(provide 'xcb-xinerama)
+
+;;; xcb-xinerama.el ends here
diff --git a/xcb-xinput.el b/xcb-xinput.el
index 93ae129..e0ca191 100644
--- a/xcb-xinput.el
+++ b/xcb-xinput.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xinput.el --- X11 Input extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xinput.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xinput.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -2792,3 +2814,5 @@
(provide 'xcb-xinput)
+
+;;; xcb-xinput.el ends here
diff --git a/xcb-xkb.el b/xcb-xkb.el
index 0f5440c..d30e87d 100644
--- a/xcb-xkb.el
+++ b/xcb-xkb.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xkb.el --- X11 xkb extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xkb.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xkb.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -311,8 +333,8 @@
(xcb:-fieldref 'length)
5)
(lognot
- (parse-expression
- (node-subnode node))))
+ (xelb-parse-expression
+ (xelb-node-subnode node))))
(+
(xcb:-fieldref 'length)
2)))
@@ -891,11 +913,11 @@
(xcb:-fieldref 'affectWhich)
(logand
(lognot
- (parse-expression
- (node-subnode node)))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))
(lognot
- (parse-expression
- (node-subnode node)))))
+ (xelb-parse-expression
+ (xelb-node-subnode node)))))
cases
((xcb:xkb:EventType:NewKeyboardNotify affectNewKeyboard
newKeyboardDetails)
(xcb:xkb:EventType:StateNotify affectState stateDetails)
@@ -1484,8 +1506,8 @@
(xcb:-fieldref 'nTypes)
3)
(lognot
- (parse-expression
- (node-subnode node))))
+ (xelb-parse-expression
+ (xelb-node-subnode node))))
(xcb:-fieldref 'nTypes)))
:type xcb:-list)
(pad~2 :initform 4 :type xcb:-pad-align)
@@ -2266,3 +2288,5 @@
(provide 'xcb-xkb)
+
+;;; xcb-xkb.el ends here
diff --git a/xcb-xprint.el b/xcb-xprint.el
index a59a120..edc12dc 100644
--- a/xcb-xprint.el
+++ b/xcb-xprint.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xprint.el --- X11 XPrint extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xprint.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xprint.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -358,3 +380,5 @@
(provide 'xcb-xprint)
+
+;;; xcb-xprint.el ends here
diff --git a/xcb-xproto.el b/xcb-xproto.el
index 1cb0fae..957b6d9 100644
--- a/xcb-xproto.el
+++ b/xcb-xproto.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xproto.el --- X11 core protocol -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xproto.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xproto.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -2853,3 +2875,5 @@
(provide 'xcb-xproto)
+
+;;; xcb-xproto.el ends here
diff --git a/xcb-xselinux.el b/xcb-xselinux.el
index 6e7ff0a..3eb9f1e 100644
--- a/xcb-xselinux.el
+++ b/xcb-xselinux.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xselinux.el --- X11 SELinux extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xselinux.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xselinux.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -333,3 +355,5 @@
(provide 'xcb-xselinux)
+
+;;; xcb-xselinux.el ends here
diff --git a/xcb-xtest.el b/xcb-xtest.el
index 3a9ae0c..a0b3baa 100644
--- a/xcb-xtest.el
+++ b/xcb-xtest.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xtest.el --- X11 Test extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xtest.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xtest.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -57,3 +79,5 @@
(provide 'xcb-xtest)
+
+;;; xcb-xtest.el ends here
diff --git a/xcb-xv.el b/xcb-xv.el
index a2407f1..8adc411 100644
--- a/xcb-xv.el
+++ b/xcb-xv.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xv.el --- X11 Xv extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xv.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xv.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -476,3 +498,5 @@
(provide 'xcb-xv)
+
+;;; xcb-xv.el ends here
diff --git a/xcb-xvmc.el b/xcb-xvmc.el
index 91ad77f..1462655 100644
--- a/xcb-xvmc.el
+++ b/xcb-xvmc.el
@@ -1,6 +1,28 @@
-;;; -*- lexical-binding: t -*-
+;;; xcb-xvmc.el --- X11 XvMC extension -*- lexical-binding: t -*-
+
;; Copyright (C) 2015 Free Software Foundation, Inc.
-;; This file was generated from `xvmc.xml' by `el_client.el'.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file was generated by 'el_client.el' from 'xvmc.xml',
+;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.
+
+;;; Code:
(require 'xcb-types)
@@ -150,3 +172,5 @@
(provide 'xcb-xvmc)
+
+;;; xcb-xvmc.el ends here