Description: Correct 64 Architecture implementation of 32 bit data Author: Chris Donoghue Bug-Debian: http://bugs.debian.org/362068 --- wmctrl-1.07.orig/main.c +++ wmctrl-1.07/main.c @@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis * * long_length = Specifies the length in 32-bit multiples of the * data to be retrieved. + * + * NOTE: see + * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html + * In particular: + * + * When the X window system was ported to 64-bit architectures, a + * rather peculiar design decision was made. 32-bit quantities such + * as Window IDs, atoms, etc, were kept as longs in the client side + * APIs, even when long was changed to 64 bits. + * */ if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, xa_prop_type, &xa_ret_type, &ret_format, @@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis /* null terminate the result to make string handling easier */ tmp_size = (ret_format / 8) * ret_nitems; + /* Correct 64 Architecture implementation of 32 bit data */ + if(ret_format==32) tmp_size *= sizeof(long)/4; ret = g_malloc(tmp_size + 1); memcpy(ret, ret_prop, tmp_size); ret[tmp_size] = '\0'; -geiser.el?id=350843a5be998c915c19cccc4e748e07fd33a66c'>commitdiff
path: root/emacs/guix-geiser.el
AgeCommit message (Expand)Author
2015-10-09emacs: Fix 'guix-devel-setup-repl'....Setting up guix ports needs to be done in Geiser REPL synchronously, otherwise this operation may not be finished before the further evaluating of guile code. * emacs/guix-guile.el (guix-guile-prompt?): New function. * emacs/guix-geiser.el (guix-geiser-eval-in-repl-synchronously): New function. * emacs/guix-devel.el (guix-devel-setup-repl): Use it. Alex Kost
2015-09-22emacs: Add code to call guile procedures....* emacs/guix-guile.el (guix-guile-make-call-expression): New function. * emacs/guix-geiser.el: Require 'guix-guile'. (guix-geiser-call, guix-geiser-call-in-repl): New functions. Alex Kost
2015-09-22emacs: Move code for evaluating to "guix-geiser.el"....* emacs/guix-backend.el: Adjust commentary. Move "eval" code to ... (guix-eval, guix-eval-read, guix-eval-in-repl): Adjust to use new functions. * emacs/guix-geiser.el: ...here. New file. (guix-geiser-eval, guix-geiser-eval-read, guix-geiser-eval-in-repl, guix-repl-send): New functions. * emacs.am (ELFILES): Add "guix-geiser.el". Alex Kost