2016-05-21  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.7

2016-05-17  Chris Feng	<chris.w.feng@gmail.com>

	Improve performance of `xcb:create-auth-info'

	* xcb.el (xcb:create-auth-info): Improve performance.

2016-05-17  Chris Feng	<chris.w.feng@gmail.com>

	Fix the parsing of X11 properties

	* xcb-icccm.el (xcb:icccm:-GetProperty~reply): Do not use the
	'bytes-after' field.

2016-05-13  Chris Feng	<chris.w.feng@gmail.com>

	Implement basic authentication during connection setup

	* xcb.el (xcb:create-auth-info): Implement the MIT-MAGIC-COOKIE-1 
	authentication protocol.
	(xcb:connect): Try sockets as well; deprecate the '_screen' argument.
	(xcb:display->socket): New function returns the socket path for an X11 
	display name.
	(xcb:connect-to-display-with-auth-info): Use `xcb:create-auth-info'; 
	deprecate the '_screen' argument.
	(xcb:parse-display): Simplify regexps (don't know why they were written 
	that way).
	(xcb:connect-to-socket): Use `xcb:display->socket' and
	`xcb:create-auth-info'.

2016-04-21  Chris Feng	<chris.w.feng@gmail.com>

	Add 'MANAGER' atom

	* xcb-icccm.el (xcb:icccm:-atoms): Add 'MANAGER' atom.

2016-03-25  Chris Feng	<chris.w.feng@gmail.com>

	Avoid using the global value `x-display-name'

	* xcb.el (xcb:connect-to-display-with-auth-info, xcb:connect-to-socket): 
	Use the frame parameter 'display' instead of `x-display-name' since the 
	latter can be cleared by e.g. launching an emacsclient.

2016-03-06  Chris Feng	<chris.w.feng@gmail.com>

	Detect implicit list length

	* el_client.el (xelb-request-fields): New variable holding fields in the 
	current request.
	(xelb-parse-request): Set/Clear the variable accordingly.
	(xelb-parse-fieldref): Detect implicit list length.

	* el_client.el (xelb-parse-request): Remove the extra argument.
	(xelb-parse-exprfield): Remove the extra quote.

2016-02-28  Chris Feng	<chris.w.feng@gmail.com>

	Add renderutil library

	* xcb-renderutil: New library adding utility functions for the Render 
	extension.

2016-02-22  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.6

2016-02-19  Chris Feng	<chris.w.feng@gmail.com>

	Clear modifier bits for modifier key events

	* xcb-keysyms.el (xcb:keysyms:keysym->event): Clear modifier bits for 
	modifier keys.

2016-02-19  Chris Feng	<chris.w.feng@gmail.com>

	Avoid loading cl-lib at runtime

2016-02-19  Chris Feng	<chris.w.feng@gmail.com>

	Avoid duplicated initialization

	* xcb-ewmh.el, xcb-icccm.el, xcb-systemtray.el, xcb-xembed.el: Avoid
	duplicated initialization.

2016-02-19  Chris Feng	<chris.w.feng@gmail.com>

	Implement XEmbed and System Tray protocols

	* xcb-xembed.el: New module implementing the XEmbed protocol.

	* xcb-systemtray.el: New module implementing the System Tray protocol.

	* xcb-ewmh.el (xcb:ewmh:--ClientMessage): Removed.

	* xcb-icccm.el, xcb-ewmh.el: Fix comments.

2016-02-12  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.5

2016-02-11  Chris Feng	<chris.w.feng@gmail.com>

	Fixes for compatibility and compilation issues

	* xcb-types.el: Backport the version of `with-slots' from Emacs 25 to
	24.

	* xcb-keysyms.el (xcb:keysyms:init): Remove error logs which break after 
	compilation.

	* el_client.el: Eliminate a compilation warning.

2016-02-11  Chris Feng	<chris.w.feng@gmail.com>

	Data types related fixes

	* el_client.el (xelb-imports, xelb-parse-import): Save imported libs in
	new variable `xelb-imports'.
	(xelb-node-type, xelb-parse-field, xelb-parse-list,
	xelb-parse-exprfield): Use new function `xelb-node-type' to search
	defined types.
	* xcb-composite.el:
	* xcb-damage.el:
	* xcb-glx.el:
	* xcb-present.el:
	* xcb-randr.el:
	* xcb-xfixes.el:
	* xcb-xinput.el:
	* xcb-xv.el:
	* xcb-xvmc.el: Data types corrected.

	* xcb-types.el: Add new 8 bytes data types `xcb:-u8' and `xcb:CARD64'. 
	Define `xcb:-fd' as an alias of `xcb:-i4'.
	(xcb:-pack-u8, xcb:-pack-u8-lsb, xcb:-unpack-u8, xcb:-unpack-u8-lsb): 
	New functions for packing/unpacking 8 bytes data on 64/32-bit machines.

	* Makefile: Eliminate a warning.

2016-02-10  Chris Feng	<chris.w.feng@gmail.com>

	Allow users to disable the keyboard mapping auto-update feature

	* xcb-keysyms.el (xcb:keysyms:auto-update, xcb:keysyms:init): Use new 
	variable `xcb:keysyms:auto-update' to control the keyboard mapping 
	auto-update feature.  This feature does not work well with e.g. XTEST 
	extension and should be disabled sometimes.  We need to switch to use
	the Xkb extension (does not work with Emacs 24) to resolve the problem.

2016-02-07  Chris Feng	<chris.w.feng@gmail.com>

	Handle MappingNotfiy event

	* xcb-keysyms.el (xcb:keysyms:init): Update keyboard/modifier mapping on 
	MappingNotfiy event.

2016-01-06  Chris Feng	<chris.w.feng@gmail.com>

	Update copyright year to 2016

2016-01-06  Chris Feng	<chris.w.feng@gmail.com>

	Sync with upstream protocol

	* el_client.el (xelb-parse-structure-content, xelb-parse-switch): Ignore 
	node <required_start_align /> (used for alignment checking purpose
	only).

	* xcb-xkb.el: Add various explicit paddings.

2015-12-13  Chris Feng	<chris.w.feng@gmail.com>

	Improve the handling of modifier keys

	* xcb-keysyms.el (xcb:keysyms:update-modifier-mapping): Find modifiers 
	according to x_find_modifier_meanings in xterm.c.

	(xcb:keysyms:event->keysym, xcb:keysyms:keysym->event): Take
	x-alt-keysym, x-meta-keysym, x-hyper-keysym and x-super-keysym into
	account when doing X KEYSYM <-> Emacs event translation.

2015-12-13  Chris Feng	<chris.w.feng@gmail.com>

	Escape an open-parenthesis

2015-11-09  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.4

2015-11-08  Chris Feng	<chris.w.feng@gmail.com>

	Fix a mouse event to KEYSYM translation issue

	* xcb-keysyms.el (xcb:keysyms:event->keysym): Prevent adding implicit
	shift
	 modifier for mouse events.

2015-11-06  Chris Feng	<chris.w.feng@gmail.com>

	Minor fix for the sequence number comparison function

	* xcb.el (xcb:-sequence-cmp16): Return the difference of sequence
	numbers
	 instead.

2015-11-05  Chris Feng	<chris.w.feng@gmail.com>

	Fix the reply/error sequence number overflow issue

	* xcb.el (xcb:-+reply, xcb:-request-check, xcb:aux:sync): The sequence
	 number of a reply/error is always 16 bits (taken as the least
	 significant word of the sequence number of the corresponding request).

	* xcb.el (xcb:-sequence-cmp16): New function for comparing 16-bit
	sequence
	 numbers.
	 (xcb:+request-unchecked, xcb:-request-check, xcb:aux:sync): Compare
	 sequence numbers using xcb:-sequence-cmp16.

2015-11-01  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.3

2015-10-31  Chris Feng	<chris.w.feng@gmail.com>

	Fix a typo and silence a compilation warning

2015-10-30  Chris Feng	<chris.w.feng@gmail.com>

	Add necessary shift mask for event to KEYSYM conversion

	* xcb-keysyms.el (xcb:keysyms:event->keysym): Add necessary shift mask
	 (required by characters like '!@#' on US keyboard).
	 (xcb:keysyms:event->keysym, xcb:keysyms:keysym->event): Turned into
	 methods of xcb:connection.
	 (xcb:keysyms:update-modifier-mapping): Use new calling conventions.

2015-10-28  Chris Feng	<chris.w.feng@gmail.com>

	Handle missing modifier keys when converting event to keysym

	* xcb-keysyms.el (xcb:keysyms:event->keysym): Return nil when any
	modifier
	 key in the event is not present.

2015-10-28  Chris Feng	<chris.w.feng@gmail.com>

	Sync with upstream protocol

	; Add explicit paddings.

2015-10-27  Chris Feng	<chris.w.feng@gmail.com>

	Handle nonlocal exits when calling event handlers

	* xcb.el (xcb:-connection-filter): Do cleanups from nonlocal exits.

2015-10-26  Chris Feng	<chris.w.feng@gmail.com>

	Fix shift key issues

	* xcb-keysyms.el (xcb:keysyms:keycode->keysym): Restrict case
	conversions
	 to Latin-1 KEYSYMs/characters.

	* xcb-keysyms.el (xcb:keysyms:keysym->keycode): Allow shift modifier for
	 KEYSYMs/characters not in Latin-1 (e.g. function keys).

2015-10-25  Chris Feng	<chris.w.feng@gmail.com>

	Ignore errors from event handlers

	* xcb.el (xcb:-connection-filter): Ignore errors from event handlers to
	 prevent them from freezing XELB.

2015-09-27  Chris Feng	<chris.w.feng@gmail.com>

	Minor fixes

	* el_client.el:
	* xcb-keysyms.el:
	 Use the new syntax for number comparison

	* xcb-types.el:
	 Fix use of eval-when-compile / eval-and-compile.

2015-09-26  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.2

2015-09-26  Chris Feng	<chris.w.feng@gmail.com>

	Fix packaging issues; add support for ISO function keys

	* .elpaignore: Add xcb-xkb.el as it does not work on Emacs 24.

	* xcb-types.el:
	* xcb-xim.el:
	 Fix compilation errors on Emacs 24.

	* README.md: Renamed from README.org, or its content will be taken as
	the
	 long description of this package by GNU ELPA.

	* xcb-keysyms.el (xcb:keysyms:-xf86-keys, xcb:keysyms:keysym->event):
	Fix
	 typos about XF86keysym.

	* xcb-keysyms.el (xcb:keysyms:-iso-function-keys)
	 (xcb:keysyms:event->keysym, xcb:keysyms:keysym->event): Add support for
	 ISO function keys.

2015-09-22  Chris Feng	<chris.w.feng@gmail.com>

	Bump version to 0.1

2015-09-21  Chris Feng	<chris.w.feng@gmail.com>

	Clean up backport code

	* xelb.el: Add cl-generic as dependency.

	* xcb-types.el: Load cl-generic;
	 Remove backport code for cl-defgeneric, cl-defmethod,
	 cl-call-next-method, cl--slot-descriptor-name and
	 cl--slot-descriptor-initform;
	 Backport eieio-slot-descriptor-name.

	* xcb.el (xcb:disconnect):
	* xcb-types.el (xcb:marshal of xcb:-struct, xcb:-marshal-field)
	 (xcb:unmarshal of xcb-struct, xcb:unmarshal of xcb:-union)
	 (xcb:-unmarshal-field, xcb:marshal of xcb:-union):
	* xcb-icccm.el (xcb:unmarshal of xcb:icccm:-GetProperty-explicit~reply)
	 (xcb:marshal of xcb:icccm:-ChangeProperty-explicit):
	 Use eieio-slot-descriptor-name instead of cl--slot-descriptor-name;
	 avoid using cl--slot-descriptor-initform.

	* xcb.el (xcb:connection): Provide default values for all slots.

	* README.org: Renamed from README.md; add note on cl-generic package.

2015-09-20  Chris Feng	<chris.w.feng@gmail.com>

	Backport cl-defgeneric to Emacs 24

	* xcb-types.el: Define cl-defgeneric as an alias to defgeneric.

2015-09-19  Chris Feng	<chris.w.feng@gmail.com>

	Avoid autoloading an EIEIO method

	* xcb.el:
	* xcb-type.el:
	 Avoid autoloading xcb:-error-or-event-class->number.

2015-09-19  Chris Feng	<chris.w.feng@gmail.com>

	Update SHM and GLX libraries

	* xcb-shm.el (xcb:shm:PutImage): The send-event slot is now of type
	xcb:BOOL.

	* xcb-glx.el (xcb:glx:IsEnabled, xcb:glx:IsEnabled~reply): New request
	and
	 reply.

2015-09-19  Chris Feng	<chris.w.feng@gmail.com>

	Fix copyright and coding conventions

	* el_client.el: Prefix global definitions.

	* Add copyright/license and fix library header/footer conventions for
	 generated libraries.

2015-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	Add copyright line to generated files; Add elpa files to gitignore

2015-09-11  Chris Feng	<chris.w.feng@gmail.com>

	Minor fix

	* el_client.el: Should require `pp' library.

2015-09-08  Chris Feng	<chris.w.feng@gmail.com>

	Fix remaining compile warnings

	* el_client.el (parse): remove a warning concerning pp-escape-newlines
	* xcb_types.el: remove warnings about the backward-compatible code
	* xcb.el: autoload xcb:connection and xcb:-error-or-event-class->number

2015-09-07  Chris Feng	<chris.w.feng@gmail.com>

	Add support for XF86 keysyms

	* xcb-keysyms.el: new vector xcb:keysyms:-xf86-keys
	* xcb-keysyms.el (xcb:keysyms:event->keysym, xcb:keysyms:keysym->event):
	add
	 support for XF86 keysyms

2015-09-07  Chris Feng	<chris.w.feng@gmail.com>

	Add a missing function key

	* xcb-keysyms.el (xcb:keysyms:-function-keys): add a missing function
	key

2015-09-06  Chris Feng	<chris.w.feng@gmail.com>

	Code cleanups

	* xcb-keysyms.el (xcb:keysyms:-function-keys): change from list to
	vector
	* xcb-keysyms.el (xcb:keysyms:event->keysym), xcb-types.el
	 (cl--slot-descriptor-name, cl--slot-descriptor-initform)
	 (cl--slot-descriptor-type, xcb:-unpack-u1, xcb:-unpack-u2)
	 (xcb:-unpack-u2-lsb, xcb:-unpack-u4, xcb:-unpack-u4-lsb)
	 (xcb:-unmarshal-field), xcb.el (xcb:-connection-filter): use `aref`
	instead
	 of `elt` to index vectors
	* xelb.el, xcb.el: fix first line
	* .elpaignore: ignore Makefile and README.md

2015-09-05  Chris Feng	<chris.w.feng@gmail.com>

	Protect process-send-string

	* xcb.el (xcb:flush): protect process-send-string since input might also
	come
	 when calling it. Courtesy of @pipcet.

2015-09-04  Chris Feng	<chris.w.feng@gmail.com>

	Flatten directory structure

	It seems to be the only way to get this package built.

2015-09-03  Chris Feng	<chris.w.feng@gmail.com>

	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

2015-09-03  Chris Feng	<chris.w.feng@gmail.com>

	Prepare for GNU ELPA release

	* Transfer copyright to Free Software Foundation
	* Add packaging components (e.g. headers)
	* Drop support for Emacs < 24.4
	* Coding style fixes:
	 + Quote functions with "#'"
	 + Wrap long lines
	 + Fix doc strings / comments
	* Replace `string-to-int' with `string-to-number'
	* Fix compiling errors / eliminate compiling warnings
	* Remove the redundant COPYING file
	* Add .gitignore and .elpaignore
	* Rename README to README.md since the former may be used as the package
	 description by packaging systems (we prefer the ';;; Commentary'
	header)

2015-09-01  Chris Feng	<chris.w.feng@gmail.com>

	Fix race conditions

	* Ensure event handlers are running sequentially
	* Only accept outputs from the current process when calling
	 `accept-process-output process` (close ch11ng/exwm#53)

2015-08-30  Chris Feng	<chris.w.feng@gmail.com>

	Generate implicit paddings at compile time

	This commit improves aaddcd9 by generating implicit paddings at compile
	time rather than deducting them at runtime.

2015-08-28  Chris Feng	<chris.w.feng@gmail.com>

	Merge xelb-util into this repo

2015-08-28  Chris Feng	<chris.w.feng@gmail.com>

	Move generated libraries to lib/

2015-08-27  Chris Feng	<chris.w.feng@gmail.com>

	Fix a typo in 32-bit version `xcb:-unpack-u4-lsb`

2015-08-23  Chris Feng	<chris.w.feng@gmail.com>

	Merge pull request #4 from pipcet/data-offset

	Adjust to unmarshalling API changes.

2015-08-23  Philip  <pipcet@gmail.com>

	Adjust to unmarshalling API changes.

2015-08-23  Philip  <pipcet@gmail.com>

	Improve performance when unmarshalling long vectors.

	Avoid using `substring'; instead, use an extra offset argument.

	https://github.com/ch11ng/xelb/pull/2

2015-08-22  Chris Feng	<chris.w.feng@gmail.com>

	Merge pull request #3 from pipcet/ignore-missing-values

	It's valid for WM_NORMAL_HINTS responses only to have 15 words.

2015-08-22  Philip  <pipcet@gmail.com>

	It's valid for WM_NORMAL_HINTS responses only to have 15 words.

		* xcb-icccm.el (xcb:unmarshal): Accept short responses to the
	WM_NORMAL_HINTS property, such as that provided by Xnest.

2015-08-21  Philip  <pipcet@gmail.com>

	Don't assume key events are numbers; they can be symbols.

		* xcb-keysyms.el (xcb:keysyms:keysym->event): Don't die when
	translating events like shift-KP7.

2015-08-17  Chris Feng	<chris.w.feng@gmail.com>

	Provide a way to disable auto-padding

	The auto-padding feature need to be disabled for at least XIM. Perhaps
	it's better to insert auto-padding fields with code generator directly.

2015-08-17  Chris Feng	<chris.w.feng@gmail.com>

	Disable auto-padding for xcb-xim

2015-08-17  Chris Feng	<chris.w.feng@gmail.com>

	Add implicit paddings after variable-length <list>

	The XCB-XML description files omit paddings after <list>. This commit
	enables XELB to take these paddings into account when
	marshalling/unmarshalling.

2015-08-16  Chris Feng	<chris.w.feng@gmail.com>

	Make the manipulation of message cache more robust

	On Fedora 22 with Xorg 1.17.2, lots of redundant bytes are received
	during connection setup. This commit uses a more reliable way to
	calculate the consumed bytes.

	Fix ch11ng/exwm#26.

2015-08-15  Philip  <pipcet@gmail.com>

	allow key mappings without mode switch or NumLock keys

2015-08-12  Chris Feng	<chris.w.feng@gmail.com>

	Fix keyboard mapping update problem

	Keep result from previous update.

2015-08-11  Chris Feng	<chris.w.feng@gmail.com>

	Check `length` slot in `xcb:icccm:-GetProperty~reply`

	Some program (GIMP sometimes) seems only set `length` slot to 0 while
	leaving other slots (including `value-len`) uninitialized. This commit
	makes sure
	`length` slot is also checked.

2015-08-10  Chris Feng	<chris.w.feng@gmail.com>

	Fix an emacsclient bug

	When calling `xcb:keysyms:update-modifier-mapping` from a terminal
	(e.g. created by `emacsclient -t`), the selected frame cannot be used to 
	receive X events.

2015-08-10  Chris Feng	<chris.w.feng@gmail.com>

	Set the `display` slot of `xcb:connection` in `xcb:connect-to-socket`

	The slot value is guessed from the socket name, which is not always
	accurate.

2015-08-09  Chris Feng	<chris.w.feng@gmail.com>

	Fix ch11ng/exwm#16 (cursor size not matching)

2015-08-09  Chris Feng	<chris.w.feng@gmail.com>

	Disable concurrency of events

	The event handling mechanism was designed to be preemptive, which made
	events arriving in a wrong order (for applications using this library)
	and caused many problems therefore. This commit disables such behavior.

2015-08-06  Chris Feng	<chris.w.feng@gmail.com>

	Provide more verbose message when connection failed or auth required

2015-08-06  Chris Feng	<chris.w.feng@gmail.com>

	Fix integer overflow on 32-bit platform

2015-08-06  Chris Feng	<chris.w.feng@gmail.com>

	Fix for 32bit platform

2015-08-05  Chris Feng	<chris.w.feng@gmail.com>

	Update xcb-randr.el

	Was: randr: add RandR 1.5 requests and data types

2015-08-04  Chris Feng	<chris.w.feng@gmail.com>

	Cleanup code

	Also make <pad> counter more robust.

2015-07-19  Chris Feng	<chris.w.feng@gmail.com>

	Fix shift bit for converting from keysym to Emacs event

	Emacs only set shift bit for letters.

2015-07-17  Chris Feng	<chris.w.feng@gmail.com>

	First commit

2015-07-17  Chris Feng	<chris.w.feng@gmail.com>

	First commit

