[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/xelb 2f9c5e5 01/10: Enable XKB module
From: |
Chris Feng |
Subject: |
[elpa] externals/xelb 2f9c5e5 01/10: Enable XKB module |
Date: |
Fri, 29 Jul 2016 09:15:57 +0000 (UTC) |
branch: externals/xelb
commit 2f9c5e55b50b898235be5666192d4fade0930e91
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Enable XKB module
* .elpaignore: Unblock almost all files.
* el_client.el (xelb-excluded-replies<25): New constants storing replies
that should not be loaded on Emacs 24.
(xelb-parse-request): Prevent loading replies stored in
`xelb-excluded-replies<25' on Emacs 24.
* xcb-xkb.el: Regenerated.
---
.elpaignore | 5 -----
el_client.el | 16 +++++++++++++++-
xcb-xkb.el | 12 ++++++++++++
3 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/.elpaignore b/.elpaignore
index 319bcbf..b43bf86 100644
--- a/.elpaignore
+++ b/.elpaignore
@@ -1,6 +1 @@
-Makefile
README.md
-el_client.el
-
-# Exclude xcb-xkb.el for now, as it does not work on Emacs 24
-xcb-xkb.el
diff --git a/el_client.el b/el_client.el
index 02d78ad..1a0f300 100644
--- a/el_client.el
+++ b/el_client.el
@@ -45,6 +45,9 @@
;;;; Variables
+(defconst xelb-excluded-replies<25 '(xcb:xkb:GetKbdByName~reply)
+ "Excluded replies for Emacs < 25 (they're too long to load/compile).")
+
(defvar xelb-prefix "xcb:" "Namespace of this module.")
(make-variable-buffer-local 'xelb-prefix)
@@ -362,10 +365,21 @@ The `combine-adjacent' attribute is simply ignored."
`(cl-defmethod xcb:marshal ((obj ,name)) nil
,@expressions
(cl-call-next-method obj)))
+ ,(when (memq reply-name xelb-excluded-replies<25)
+ ;; Redefine `defclass' as no-op.
+ '(eval-and-compile
+ (when (< emacs-major-version 25)
+ (fset 'xcb:-defclass (symbol-function 'defclass))
+ (defmacro defclass (&rest _args)))))
;; The optional reply body
,(when reply-name
(delq nil reply-contents)
- `(defclass ,reply-name (xcb:-reply) ,reply-contents))))))
+ `(defclass ,reply-name (xcb:-reply) ,reply-contents))
+ ,(when (memq reply-name xelb-excluded-replies<25)
+ ;; Bring back the original defination of `defclass'.
+ '(eval-and-compile
+ (when (< emacs-major-version 25)
+ (fset 'defclass (symbol-function 'xcb:-defclass)))))))))
(defun xelb-parse-event (node)
"Parse <event>.
diff --git a/xcb-xkb.el b/xcb-xkb.el
index 4d77cc2..46aad34 100644
--- a/xcb-xkb.el
+++ b/xcb-xkb.el
@@ -1712,6 +1712,13 @@
(want :initarg :want :type xcb:CARD16)
(load :initarg :load :type xcb:BOOL)
(pad~0 :initform 1 :type xcb:-pad)))
+(eval-and-compile
+ (when
+ (< emacs-major-version 25)
+ (fset 'xcb:-defclass
+ (symbol-function 'defclass))
+ (defmacro defclass
+ (&rest _args))))
(defclass xcb:xkb:GetKbdByName~reply
(xcb:-reply)
((deviceID :initarg :deviceID :type xcb:CARD8)
@@ -1973,6 +1980,11 @@
(baseColorNdx :initarg :baseColorNdx :type xcb:CARD8)
(labelColorNdx :initarg :labelColorNdx :type xcb:CARD8)
(labelFont :initarg :labelFont :type xcb:xkb:CountedString16)))
+(eval-and-compile
+ (when
+ (< emacs-major-version 25)
+ (fset 'defclass
+ (symbol-function 'xcb:-defclass))))
(defclass xcb:xkb:GetDeviceInfo
(xcb:-request)
- [elpa] externals/xelb updated (e58ac74 -> f5216dc), Chris Feng, 2016/07/29
- [elpa] externals/xelb bddad0e 04/10: Eliminate compile warnings for Emacs 24, Chris Feng, 2016/07/29
- [elpa] externals/xelb b1e83e8 05/10: Fix extension event number, Chris Feng, 2016/07/29
- [elpa] externals/xelb eee1348 03/10: Precompute the size of <union>, Chris Feng, 2016/07/29
- [elpa] externals/xelb 2f9c5e5 01/10: Enable XKB module,
Chris Feng <=
- [elpa] externals/xelb 39d4efb 07/10: Set XKB per-client flags, Chris Feng, 2016/07/29
- [elpa] externals/xelb 600b825 09/10: Support system-specific and legacy keysyms, Chris Feng, 2016/07/29
- [elpa] externals/xelb 9089f9c 08/10: Use numerical keysyms and mod-masks, Chris Feng, 2016/07/29
- [elpa] externals/xelb d7d1115 06/10: Adapt 'xcb-keysyms' library to use XKB, Chris Feng, 2016/07/29
- [elpa] externals/xelb 9a73b79 02/10: Fix issues with <switch>, Chris Feng, 2016/07/29
- [elpa] externals/xelb f5216dc 10/10: Merge branch 'feat/xkb' into externals/xelb, Chris Feng, 2016/07/29