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

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

[elpa] externals/xelb 41cca58 35/42: Fix compiling issues


From: Chris Feng
Subject: [elpa] externals/xelb 41cca58 35/42: Fix compiling issues
Date: Thu, 17 Sep 2015 23:16:50 +0000

branch: externals/xelb
commit 41cca582c040fea69f61135634e0530621867802
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix compiling issues
    
    * util/xcb-ewmh.el, util/xcb-icccm.el: eliminate compile warnings by 
defining
      atom variables at compile time
    * xcb.el: `xcb:debug-on' should be used just in this file
---
 util/xcb-ewmh.el  |  188 +++++++++++++++++++++++++++--------------------------
 util/xcb-icccm.el |   32 +++++----
 xcb.el            |    2 +-
 3 files changed, 115 insertions(+), 107 deletions(-)

diff --git a/util/xcb-ewmh.el b/util/xcb-ewmh.el
index 84161ee..3295baa 100644
--- a/util/xcb-ewmh.el
+++ b/util/xcb-ewmh.el
@@ -47,98 +47,102 @@
 
 ;;;; EWMH Atoms
 
-(defconst xcb:ewmh:-atoms               ;_NET_WM_CM_Sn are left out
-  '(;; Root Window Properties (and Related Messages)
-    _NET_SUPPORTED
-    _NET_CLIENT_LIST
-    _NET_CLIENT_LIST_STACKING
-    _NET_NUMBER_OF_DESKTOPS
-    _NET_DESKTOP_GEOMETRY
-    _NET_DESKTOP_VIEWPORT
-    _NET_CURRENT_DESKTOP
-    _NET_DESKTOP_NAMES
-    _NET_ACTIVE_WINDOW
-    _NET_WORKAREA
-    _NET_SUPPORTING_WM_CHECK
-    _NET_VIRTUAL_ROOTS
-    _NET_DESKTOP_LAYOUT
-    _NET_SHOWING_DESKTOP
-    ;; Other Root Window Messages
-    _NET_CLOSE_WINDOW
-    _NET_MOVERESIZE_WINDOW
-    _NET_WM_MOVERESIZE
-    _NET_RESTACK_WINDOW
-    _NET_REQUEST_FRAME_EXTENTS
-    ;; Application Window Properties
-    _NET_WM_NAME
-    _NET_WM_VISIBLE_NAME
-    _NET_WM_ICON_NAME
-    _NET_WM_VISIBLE_ICON_NAME
-    _NET_WM_DESKTOP
-    _NET_WM_WINDOW_TYPE
-    _NET_WM_STATE
-    _NET_WM_ALLOWED_ACTIONS
-    _NET_WM_STRUT
-    _NET_WM_STRUT_PARTIAL
-    _NET_WM_ICON_GEOMETRY
-    _NET_WM_ICON
-    _NET_WM_PID
-    _NET_WM_HANDLED_ICONS
-    _NET_WM_USER_TIME
-    _NET_WM_USER_TIME_WINDOW
-    _NET_FRAME_EXTENTS
-    _NET_WM_OPAQUE_REGION
-    _NET_WM_BYPASS_COMPOSITOR
-    ;; Window Manager Protocols
-    _NET_WM_PING
-    _NET_WM_SYNC_REQUEST
-    _NET_WM_SYNC_REQUEST_COUNTER
-    _NET_WM_FULLSCREEN_MONITORS
-    ;; Other Properties
-    _NET_WM_FULL_PLACEMENT
-    ;; _NET_WM_WINDOW_TYPE hint
-    _NET_WM_WINDOW_TYPE_DESKTOP
-    _NET_WM_WINDOW_TYPE_DOCK
-    _NET_WM_WINDOW_TYPE_TOOLBAR
-    _NET_WM_WINDOW_TYPE_MENU
-    _NET_WM_WINDOW_TYPE_UTILITY
-    _NET_WM_WINDOW_TYPE_SPLASH
-    _NET_WM_WINDOW_TYPE_DIALOG
-    _NET_WM_WINDOW_TYPE_DROPDOWN_MENU
-    _NET_WM_WINDOW_TYPE_POPUP_MENU
-    _NET_WM_WINDOW_TYPE_TOOLTIP
-    _NET_WM_WINDOW_TYPE_NOTIFICATION
-    _NET_WM_WINDOW_TYPE_COMBO
-    _NET_WM_WINDOW_TYPE_DND
-    _NET_WM_WINDOW_TYPE_NORMAL
-    ;; _NET_WM_STATE hint
-    _NET_WM_STATE_MODAL
-    _NET_WM_STATE_STICKY
-    _NET_WM_STATE_MAXIMIZED_VERT
-    _NET_WM_STATE_MAXIMIZED_HORZ
-    _NET_WM_STATE_SHADED
-    _NET_WM_STATE_SKIP_TASKBAR
-    _NET_WM_STATE_SKIP_PAGER
-    _NET_WM_STATE_HIDDEN
-    _NET_WM_STATE_FULLSCREEN
-    _NET_WM_STATE_ABOVE
-    _NET_WM_STATE_BELOW
-    _NET_WM_STATE_DEMANDS_ATTENTION
-    _NET_WM_STATE_FOCUSED
-    ;; _NET_WM_ACTION hint
-    _NET_WM_ACTION_MOVE
-    _NET_WM_ACTION_RESIZE
-    _NET_WM_ACTION_MINIMIZE
-    _NET_WM_ACTION_SHADE
-    _NET_WM_ACTION_STICK
-    _NET_WM_ACTION_MAXIMIZE_HORZ
-    _NET_WM_ACTION_MAXIMIZE_VERT
-    _NET_WM_ACTION_FULLSCREEN
-    _NET_WM_ACTION_CHANGE_DESKTOP
-    _NET_WM_ACTION_CLOSE
-    _NET_WM_ACTION_ABOVE
-    _NET_WM_ACTION_BELOW)
-  "EWMH atoms.")
+(eval-and-compile
+  (defconst xcb:ewmh:-atoms             ;_NET_WM_CM_Sn are left out
+    '( ;; Root Window Properties (and Related Messages)
+      _NET_SUPPORTED
+      _NET_CLIENT_LIST
+      _NET_CLIENT_LIST_STACKING
+      _NET_NUMBER_OF_DESKTOPS
+      _NET_DESKTOP_GEOMETRY
+      _NET_DESKTOP_VIEWPORT
+      _NET_CURRENT_DESKTOP
+      _NET_DESKTOP_NAMES
+      _NET_ACTIVE_WINDOW
+      _NET_WORKAREA
+      _NET_SUPPORTING_WM_CHECK
+      _NET_VIRTUAL_ROOTS
+      _NET_DESKTOP_LAYOUT
+      _NET_SHOWING_DESKTOP
+      ;; Other Root Window Messages
+      _NET_CLOSE_WINDOW
+      _NET_MOVERESIZE_WINDOW
+      _NET_WM_MOVERESIZE
+      _NET_RESTACK_WINDOW
+      _NET_REQUEST_FRAME_EXTENTS
+      ;; Application Window Properties
+      _NET_WM_NAME
+      _NET_WM_VISIBLE_NAME
+      _NET_WM_ICON_NAME
+      _NET_WM_VISIBLE_ICON_NAME
+      _NET_WM_DESKTOP
+      _NET_WM_WINDOW_TYPE
+      _NET_WM_STATE
+      _NET_WM_ALLOWED_ACTIONS
+      _NET_WM_STRUT
+      _NET_WM_STRUT_PARTIAL
+      _NET_WM_ICON_GEOMETRY
+      _NET_WM_ICON
+      _NET_WM_PID
+      _NET_WM_HANDLED_ICONS
+      _NET_WM_USER_TIME
+      _NET_WM_USER_TIME_WINDOW
+      _NET_FRAME_EXTENTS
+      _NET_WM_OPAQUE_REGION
+      _NET_WM_BYPASS_COMPOSITOR
+      ;; Window Manager Protocols
+      _NET_WM_PING
+      _NET_WM_SYNC_REQUEST
+      _NET_WM_SYNC_REQUEST_COUNTER
+      _NET_WM_FULLSCREEN_MONITORS
+      ;; Other Properties
+      _NET_WM_FULL_PLACEMENT
+      ;; _NET_WM_WINDOW_TYPE hint
+      _NET_WM_WINDOW_TYPE_DESKTOP
+      _NET_WM_WINDOW_TYPE_DOCK
+      _NET_WM_WINDOW_TYPE_TOOLBAR
+      _NET_WM_WINDOW_TYPE_MENU
+      _NET_WM_WINDOW_TYPE_UTILITY
+      _NET_WM_WINDOW_TYPE_SPLASH
+      _NET_WM_WINDOW_TYPE_DIALOG
+      _NET_WM_WINDOW_TYPE_DROPDOWN_MENU
+      _NET_WM_WINDOW_TYPE_POPUP_MENU
+      _NET_WM_WINDOW_TYPE_TOOLTIP
+      _NET_WM_WINDOW_TYPE_NOTIFICATION
+      _NET_WM_WINDOW_TYPE_COMBO
+      _NET_WM_WINDOW_TYPE_DND
+      _NET_WM_WINDOW_TYPE_NORMAL
+      ;; _NET_WM_STATE hint
+      _NET_WM_STATE_MODAL
+      _NET_WM_STATE_STICKY
+      _NET_WM_STATE_MAXIMIZED_VERT
+      _NET_WM_STATE_MAXIMIZED_HORZ
+      _NET_WM_STATE_SHADED
+      _NET_WM_STATE_SKIP_TASKBAR
+      _NET_WM_STATE_SKIP_PAGER
+      _NET_WM_STATE_HIDDEN
+      _NET_WM_STATE_FULLSCREEN
+      _NET_WM_STATE_ABOVE
+      _NET_WM_STATE_BELOW
+      _NET_WM_STATE_DEMANDS_ATTENTION
+      _NET_WM_STATE_FOCUSED
+      ;; _NET_WM_ACTION hint
+      _NET_WM_ACTION_MOVE
+      _NET_WM_ACTION_RESIZE
+      _NET_WM_ACTION_MINIMIZE
+      _NET_WM_ACTION_SHADE
+      _NET_WM_ACTION_STICK
+      _NET_WM_ACTION_MAXIMIZE_HORZ
+      _NET_WM_ACTION_MAXIMIZE_VERT
+      _NET_WM_ACTION_FULLSCREEN
+      _NET_WM_ACTION_CHANGE_DESKTOP
+      _NET_WM_ACTION_CLOSE
+      _NET_WM_ACTION_ABOVE
+      _NET_WM_ACTION_BELOW)
+    "EWMH atoms.")
+
+  (dolist (atom xcb:ewmh:-atoms)
+    (eval `(defvar ,(intern (concat "xcb:Atom:" (symbol-name atom))) nil))))
 
 (cl-defmethod xcb:ewmh:init ((obj xcb:connection))
   "Initialize EWMH module.
diff --git a/util/xcb-icccm.el b/util/xcb-icccm.el
index 3608c1b..0c5af72 100644
--- a/util/xcb-icccm.el
+++ b/util/xcb-icccm.el
@@ -44,10 +44,14 @@
 
 ;;;; ICCCM atoms
 
-(defconst xcb:icccm:-atoms
-  '(UTF8_STRING COMPOUND_TEXT TEXT C_STRING
-    WM_PROTOCOLS WM_TAKE_FOCUS WM_DELETE_WINDOW WM_STATE)
-  "Atoms involved in ICCCM.")
+(eval-and-compile
+  (defconst xcb:icccm:-atoms
+    '(UTF8_STRING COMPOUND_TEXT TEXT C_STRING
+                  WM_PROTOCOLS WM_TAKE_FOCUS WM_DELETE_WINDOW WM_STATE)
+    "Atoms involved in ICCCM.")
+
+  (dolist (atom xcb:icccm:-atoms)
+    (eval `(defvar ,(intern (concat "xcb:Atom:" (symbol-name atom))) nil))))
 
 (cl-defmethod xcb:icccm:init ((obj xcb:connection))
   "Initialize ICCCM module.
@@ -60,16 +64,16 @@ This method must be called before using any other method in 
this module."
 
 The value of these atoms will be available in `xcb:Atom' namespace."
   (dolist (atom atoms)
-    (let ((name (symbol-name atom))
-          reply)
-      (unless (boundp atom)
-        (setq reply (xcb:+request-unchecked+reply obj
-                        (make-instance 'xcb:InternAtom
-                                       :only-if-exists 0
-                                       :name-len (length name)
-                                       :name name)))
-        (eval `(defvar ,(intern (concat "xcb:Atom:" name)) ;add prefix
-                 (slot-value ,reply 'atom)))))))
+    (let* ((name (symbol-name atom))
+           (var-name (intern (concat "xcb:Atom:" name))))
+      (unless (and (boundp var-name) (symbol-value var-name))
+        (set var-name
+             (slot-value (xcb:+request-unchecked+reply obj
+                             (make-instance 'xcb:InternAtom
+                                            :only-if-exists 0
+                                            :name-len (length name)
+                                            :name name))
+                         'atom))))))
 
 ;;;; Client message
 
diff --git a/xcb.el b/xcb.el
index 4735406..88ff1fb 100644
--- a/xcb.el
+++ b/xcb.el
@@ -60,7 +60,7 @@
 
 (require 'xcb-xproto)
 
-(eval-and-compile
+(eval-when-compile
   (defvar xcb:debug-on nil "Non-nil to turn on debug."))
 
 (defmacro xcb:-log (format-string &rest args)



reply via email to

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