XPost: linux.debian.maint.emacsen
Source: xelb
Version: 0.20-1
Severity: minor
Tags: trixie sid ftbfs
User:
lucas@debian.org
Usertags: ftbfs-shuffle
Hi,
GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See
https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila:
https://people.debian.org/~sanvila/make-shuffle/
This package fails to build with make --shuffle=reverse.
This is likely to be caused by a missing dependency in
debian/rules or an upstream Makefile.
More information about this mass bug filing is available at
https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle
Relevant part (hopefully):
make[1]: Entering directory '/build/reproducible-path/xelb-0.20'
Makefile:13: update target 'xcb-xproto.el' due to: target does not exist
echo -n "\n"Generating xcb-xproto.el...
Generating xcb-xproto.el..../xelb-gen /usr/share/xcb/xproto.xml > xcb-xproto.el
Makefile:30: update target 'clean' due to: target is .PHONY
rm -vf xcb-xproto.el xcb-bigreq.el xcb-composite.el xcb-damage.el xcb-dbe.el xcb-dpms.el xcb-dri2.el xcb-dri3.el xcb-ge.el xcb-glx.el xcb-present.el xcb-randr.el xcb-record.el xcb-render.el xcb-res.el xcb-screensaver.el xcb-shape.el xcb-shm.el xcb-sync.
el xcb-xc_misc.el xcb-xevie.el xcb-xf86dri.el xcb-xf86vidmode.el xcb-xfixes.el xcb-xinerama.el xcb-xinput.el xcb-xkb.el xcb-xprint.el xcb-xselinux.el xcb-xtest.el xcb-xvmc.el xcb-xv.el
removed 'xcb-xproto.el'
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Using vacuous schema
Makefile:13: update target 'xcb-shm.el' due to: target does not exist
echo -n "\n"Generating xcb-shm.el...
Makefile:13: update target 'xcb-xtest.el' due to: target does not exist
echo -n "\n"Generating xcb-xtest.el...
Makefile:13: update target 'xcb-xselinux.el' due to: target does not exist echo -n "\n"Generating xcb-xselinux.el...
Makefile:13: update target 'xcb-xprint.el' due to: target does not exist
echo -n "\n"Generating xcb-xprint.el...
Generating xcb-shm.el..../xelb-gen /usr/share/xcb/shm.xml > xcb-shm.el
Generating xcb-xtest.el...Makefile:13: update target 'xcb-xkb.el' due to: target does not exist
echo -n "\n"Generating xcb-xkb.el...
Generating xcb-xselinux.el..../xelb-gen /usr/share/xcb/xtest.xml > xcb-xtest.el
Generating xcb-xprint.el..../xelb-gen /usr/share/xcb/xselinux.xml > xcb-xselinux.el
./xelb-gen /usr/share/xcb/xprint.xml > xcb-xprint.el
Makefile:13: update target 'xcb-shape.el' due to: target does not exist
echo -n "\n"Generating xcb-shape.el...
Generating xcb-xkb.el..../xelb-gen /usr/share/xcb/xkb.xml > xcb-xkb.el Makefile:13: update target 'xcb-render.el' due to: target does not exist
echo -n "\n"Generating xcb-render.el...
Generating xcb-shape.el..../xelb-gen /usr/share/xcb/shape.xml > xcb-shape.el Makefile:13: update target 'xcb-xinerama.el' due to: target does not exist echo -n "\n"Generating xcb-xinerama.el...
Generating xcb-render.el..../xelb-gen /usr/share/xcb/render.xml > xcb-render.el
Generating xcb-xinerama.el..../xelb-gen /usr/share/xcb/xinerama.xml > xcb-xinerama.el
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/00debian.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "xcb-xproto")
require(xcb-xproto)
(let* ((name (xelb-node-subnode node)) (header (intern (concat "xcb-" name)))) (require header) (setq xelb-imports (cons (concat "xcb:" name ":") xelb-imports)) (list (list 'require (list 'quote header))))
xelb-parse-import((import nil "xproto"))
(let nil (xelb-parse-import node))
(cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil (xelb-parse-xidtype node))) ((eq val 'enum)
(let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) (let nil (xelb-parse-error node))) ((eq
val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (let ((x val)) (error "Unsupported top-
level element: <%s>" x))))
(let* ((val (xelb-node-name node))) (cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil (xelb-
parse-xidtype node))) ((eq val 'enum) (let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) (
let nil (xelb-parse-error node))) ((eq val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (
let ((x val)) (error "Unsupported top-level element: <%s>" x)))))
xelb-parse-top-level-element((import nil "xproto"))
(let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let ((j ...)) (eval j) (pp j) (setq tail (cdr tail))))) (princ "\n"))))
(let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let (...) (eval j) (pp j) (setq tail ...)))) (princ "\n")))) (setq tail (cdr tail)))
(while tail (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let ... ... ... ...))) (princ "\n")))) (setq tail (cdr tail))))
(let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let (...) (while tail ...)) (princ "\n")))) (setq tail (cdr tail)))))
(progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '
(eq 'xcb (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;;
Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free
Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\n\n;;; Commentary:\
n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result 'extension-name))) (if
extension-name (concat extension-name " extension") "core protocol")) (file-name-nondirectory file))) (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))) (if extension-xname (progn (pp (list 'defconst (intern (concat xelb-prefix "-extension-xname")) extension-xname)))) (if extension-name (progn (pp (list 'defconst (intern (
concat xelb-prefix "-extension-name")) extension-name)))) (if major-version (progn (pp (list 'defconst (intern (concat xelb-prefix "-major-version")) (string-to-number major-version))))) (if minor-version (progn (pp (list 'defconst (intern (concat xelb-
prefix "-minor-version")) (string-to-number minor-version))))) (if (or extension-xname extension-name major-version minor-version) (progn (princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result (xelb-
parse-top-level-element i))) (if result (progn (let ... ...) (princ "\n")))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix "error-number-class-alist")) (cons (list ... xelb-error-alist) '...)))
) (princ "\n"))) (if xelb-event-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix "event-number-class-alist")) (cons (list ... xelb-event-alist) '...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern (concat
xelb-prefix "xge-number-class-alist")) (cons (list ... xelb-xge-alist) '...)))) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header)))
(unwind-protect (progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) (cl--
assertion-failed '(eq 'xcb (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding:
t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;;
the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\
n\n;;; Commentary:\n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result ...))) (if
extension-name (concat extension-name " extension") "core protocol")) (file-name-nondirectory file))) (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))) (if extension-xname (progn (pp (list 'defconst (intern ...) extension-xname)))) (if extension-name (progn (pp (list 'defconst (intern ...) extension-name)))) (if major-
version (progn (pp (list 'defconst (intern ...) (string-to-number major-version))))) (if minor-version (progn (pp (list 'defconst (intern ...) (string-to-number minor-version))))) (if (or extension-xname extension-name major-version minor-version) (progn
(princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result ...)) (if result (progn ... ...))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (
princ "\n"))) (if xelb-event-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\
n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (
progn (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '(eq ... ...))) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el ---
X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public
License as published by\n;; the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the
implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://
www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ((extension-name ...)) (if
extension-name (concat extension-name " extension") "core protocol")) (file-name-nondirectory file))) (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))) (if extension-xname (progn (pp (list ... ... extension-xname)))) (if extension-name (progn (pp (list ... ... extension-name)))) (if major-version (progn (pp (list ... ... ...)
))) (if minor-version (progn (pp (list ... ... ...)))) (if (or extension-xname extension-name major-version minor-version) (progn (princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let ((i ...)) (let (...) (if result ...)) (setq tail (
cdr tail))))) (if xelb-error-alist (progn (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-event-alist (progn (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (
princ (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name
result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '...)) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix
header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\
n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;;
but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;;
along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\
n" header (let (...) (if extension-name ... "core protocol")) (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result ...)) (extension-name (xelb-node-attr result ...)) (major-version (xelb-node-attr result ...)) (minor-version (
xelb-node-attr result ...))) (if extension-xname (progn (pp ...))) (if extension-name (progn (pp ...))) (if major-version (progn (pp ...))) (if minor-version (progn (pp ...))) (if (or extension-xname extension-name major-version minor-version) (progn (
princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let (...) (let ... ...) (setq tail ...)))) (if xelb-error-alist (progn (pp (cons ... ...)) (princ "\n"))) (if xelb-event-alist (progn (pp (cons ... ...)) (princ "\n"))) (if xelb-xge-
alist (progn (pp (cons ... ...)) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(let ((pp-escape-newlines nil) (pp-default-function 'pp-28) result header) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) (setq result (libxml-
parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq ... ...) (cl--assertion-failed ...)) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "
xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is
free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is
distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have
received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.
org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ... ...) (file-name-nondirectory file))) (let ((extension-xname ...) (extension-name ...) (major-version ...) (minor-version ...)) (if extension-xname (progn ...)) (if extension-name (
progn ...)) (if major-version (progn ...)) (if minor-version (progn ...)) (if (or extension-xname extension-name major-version minor-version) (progn ...))) (let ((tail ...)) (while tail (let ... ... ...))) (if xelb-error-alist (progn (pp ...) (princ "\n")
)) (if xelb-event-alist (progn (pp ...) (princ "\n"))) (if xelb-xge-alist (progn (pp ...) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
xelb-parse("/usr/share/xcb/xprint.xml")
(if (not argv) (error "Usage: xelb-gen <protocol.xml> [additional_load_paths]") (add-to-list 'load-path default-directory) (let ((tail (cdr argv))) (while tail (let ((i (car tail))) (add-to-list 'load-path i) (setq tail (cdr tail))))) (require 'xcb-
types) (xelb-parse (car argv)))
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>(#<buffer *load*> "/build/reproducible-path/xelb-0.20/xelb-gen")
load-with-code-conversion("/build/reproducible-path/xelb-0.20/xelb-gen" "/build/reproducible-path/xelb-0.20/xelb-gen" nil t #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>)
command-line--load-script("/build/reproducible-path/xelb-0.20/xelb-gen")
command-line-1(("--no-splash" "-scriptload" "./xelb-gen" "/usr/share/xcb/xprint.xml"))
command-line()
normal-top-level()
Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "xcb-xproto")
require(xcb-xproto)
(let* ((name (xelb-node-subnode node)) (header (intern (concat "xcb-" name)))) (require header) (setq xelb-imports (cons (concat "xcb:" name ":") xelb-imports)) (list (list 'require (list 'quote header))))
xelb-parse-import((import nil "xproto"))
(let nil (xelb-parse-import node))
(cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil (xelb-parse-xidtype node))) ((eq val 'enum)
(let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) (let nil (xelb-parse-error node))) ((eq
val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (let ((x val)) (error "Unsupported top-
level element: <%s>" x))))
(let* ((val (xelb-node-name node))) (cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil (xelb-
parse-xidtype node))) ((eq val 'enum) (let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) (
let nil (xelb-parse-error node))) ((eq val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (
let ((x val)) (error "Unsupported top-level element: <%s>" x)))))
xelb-parse-top-level-element((import nil "xproto"))
(let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let ((j ...)) (eval j) (pp j) (setq tail (cdr tail))))) (princ "\n"))))
(let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let (...) (eval j) (pp j) (setq tail ...)))) (princ "\n")))) (setq tail (cdr tail)))
(while tail (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) (while tail (let ... ... ... ...))) (princ "\n")))) (setq tail (cdr tail))))
(let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if result (progn (let (...) (while tail ...)) (princ "\n")))) (setq tail (cdr tail)))))
(progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '
(eq 'xcb (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;;
Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free
Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\n\n;;; Commentary:\
n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result 'extension-name))) (if
extension-name (concat extension-name " extension") "core protocol")) (file-name-nondirectory file))) (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))) (if extension-xname (progn (pp (list 'defconst (intern (concat xelb-prefix "-extension-xname")) extension-xname)))) (if extension-name (progn (pp (list 'defconst (intern (
concat xelb-prefix "-extension-name")) extension-name)))) (if major-version (progn (pp (list 'defconst (intern (concat xelb-prefix "-major-version")) (string-to-number major-version))))) (if minor-version (progn (pp (list 'defconst (intern (concat xelb-
prefix "-minor-version")) (string-to-number minor-version))))) (if (or extension-xname extension-name major-version minor-version) (progn (princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result (xelb-
parse-top-level-element i))) (if result (progn (let ... ...) (princ "\n")))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix "error-number-class-alist")) (cons (list ... xelb-error-alist) '...)))
) (princ "\n"))) (if xelb-event-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix "event-number-class-alist")) (cons (list ... xelb-event-alist) '...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern (concat
xelb-prefix "xge-number-class-alist")) (cons (list ... xelb-xge-alist) '...)))) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header)))
(unwind-protect (progn (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) (cl--
assertion-failed '(eq 'xcb (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding:
t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;;
the Free Software Foundation, either version 3 of the License, or\n;; (at your option) any later version.\n\n;; GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; You should have received a copy of the GNU General Public License\n;; along with GNU Emacs. If not, see <
http://www.gnu.org/licenses/>.\
n\n;;; Commentary:\n\n;; This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result ...))) (if
extension-name (concat extension-name " extension") "core protocol")) (file-name-nondirectory file))) (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))) (if extension-xname (progn (pp (list 'defconst (intern ...) extension-xname)))) (if extension-name (progn (pp (list 'defconst (intern ...) extension-name)))) (if major-
version (progn (pp (list 'defconst (intern ...) (string-to-number major-version))))) (if minor-version (progn (pp (list 'defconst (intern ...) (string-to-number minor-version))))) (if (or extension-xname extension-name major-version minor-version) (progn
(princ "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result ...)) (if result (progn ... ...))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (
princ "\n"))) (if xelb-event-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (princ (format "\f\n\n(provide 'xcb-%s)\n\
n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)