diff --git a/bugzilla-244613-cut-paste-64bit-non-ascii.patch b/bugzilla-244613-cut-paste-64bit-non-ascii.patch new file mode 100644 index 0000000..a65e066 --- /dev/null +++ b/bugzilla-244613-cut-paste-64bit-non-ascii.patch @@ -0,0 +1,31 @@ +--- xemacs-21.5.27.20060705.orig/src/select-x.c 2007-02-16 12:42:44.000000000 +0100 ++++ xemacs-21.5.27.20060705/src/select-x.c 2007-02-16 16:09:32.000000000 +0100 +@@ -1048,7 +1048,10 @@ + return; + } + +- total_size = bytes_remaining + 1; ++ if (sizeof(long) == 8 && *actual_format_ret == 32) ++ total_size = 2 * bytes_remaining + 1; ++ else ++ total_size = bytes_remaining + 1; + *data_ret = xnew_rawbytes (total_size); + + /* Now read, until we've gotten it all. */ +--- xemacs/src/select-x.c-dist 2007-02-15 01:49:41.000000000 +0100 ++++ xemacs/src/select-x.c 2007-02-15 03:09:54.000000000 +0100 +@@ -1072,7 +1074,13 @@ x_get_window_property (Display *display, + reading it. Deal with that, I guess.... + */ + if (result != Success) break; +- *actual_size_ret *= *actual_format_ret / 8; ++ /* What a mess, XGetWindowProperty() returns "long" array on LP64 ++ even if format == 32... ++ */ ++ if (sizeof(long) == 8 && *actual_format_ret == 32) ++ *actual_size_ret *= 8; ++ else ++ *actual_size_ret *= *actual_format_ret / 8; + memcpy ((*data_ret) + offset, tmp_data, *actual_size_ret); + offset += *actual_size_ret; + XFree ((char *) tmp_data); diff --git a/xemacs.changes b/xemacs.changes index 2f2c8c5..a4e458b 100644 --- a/xemacs.changes +++ b/xemacs.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 14 19:32:36 CET 2007 - mfabian@suse.de + +- Bugzilla #244613: Fix cut & paste problems on 64 bit platforms + by using XGetWindowProperty() correctly. + ------------------------------------------------------------------- Mon Sep 25 18:43:30 CEST 2006 - mfabian@suse.de diff --git a/xemacs.spec b/xemacs.spec index 63744ca..3b2e56b 100644 --- a/xemacs.spec +++ b/xemacs.spec @@ -1,7 +1,7 @@ # # spec file for package xemacs (Version 21.5.27.20060705) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -24,14 +24,14 @@ BuildRequires: canna-devel compface db-devel fwnndev gcc-c++ krb5 libpng-devel %define xlibraries /usr/X11R6/%{_lib} %endif URL: http://www.xemacs.org -License: GPL +License: GNU General Public License (GPL) Group: Productivity/Editors/Emacs Obsoletes: xe_exec Prereq: permissions Requires: xemacs-info xemacs-packages ctags Autoreqprov: on Version: 21.5.27.20060705 -Release: 8 +Release: 40 Summary: XEmacs BuildRoot: %{_tmppath}/%{name}-%{version}-build # Howto get the cvs tree of XEmacs: @@ -71,6 +71,7 @@ Patch33: set-locale-to-c-when-not-supported-by-x.patch Patch34: suppress-warning-about-undefined-unicode-key-mappings.patch Patch38: unitialized-variables.patch Patch40: cast-pointer-integer-different-size.patch +Patch41: bugzilla-244613-cut-paste-64bit-non-ascii.patch %description This is the current version of XEmacs, formerly known as Lucid-Emacs. @@ -157,6 +158,7 @@ Authors: #%patch34 -p1 %patch38 -p1 %patch40 -p1 +%patch41 -p1 %patch0 -p1 find lisp/ etc/ -name '*.elc' | xargs -r rm -f %ifarch ia64 @@ -553,7 +555,10 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr %dir /usr/share/xemacs/site-packages/lisp/ %dir /usr/share/xemacs/site-packages/lisp/term/ -%changelog -n xemacs +%changelog +* Wed Feb 14 2007 - mfabian@suse.de +- Bugzilla #244613: Fix cut & paste problems on 64 bit platforms + by using XGetWindowProperty() correctly. * Mon Sep 25 2006 - mfabian@suse.de - Bugzilla #207941: add "texinfo" to BuildRequires. * Mon Aug 07 2006 - mfabian@suse.de @@ -1125,9 +1130,9 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr - specfile: re-done %%setup section for new tar * Tue Jan 25 2000 - werner@suse.de - New version 21.1.8 -- New tarballs 2000-01-24 -- New fix for vm package -- /usr/man -> /usr/share/man + - New tarballs 2000-01-24 + - New fix for vm package + - /usr/man -> /usr/share/man * Fri Jan 14 2000 - werner@suse.de - Fix vm package: macros arn't autoloadable by xemacs 21.x * Wed Dec 22 1999 - werner@suse.de @@ -1138,7 +1143,7 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr - Fix the site-package extension * ispell menus * xterm/console key mappings -- Fix font menu: set `ignore scaled fonts' to nil + - Fix font menu: set `ignore scaled fonts' to nil * Fri Nov 05 1999 - werner@suse.de - Change file list of xe_info and xe_lisp * Thu Nov 04 1999 - werner@suse.de @@ -1158,21 +1163,21 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr * Wed Oct 20 1999 - werner@suse.de - New version 21.1.7 * avoid locale problems due to lisp formats of time e.g. -- Use xemacs-mule-sumo-1999-05-27.tar.gz to avoid trouble + - Use xemacs-mule-sumo-1999-05-27.tar.gz to avoid trouble with not synched mule versions of xemacs and mule-sumo -- Use xemacs-sumo-1999-07-29.tar.gz + - Use xemacs-sumo-1999-07-29.tar.gz * Many bug fixes due to missed load statements and minor version comparision: (19.)13 > (21.)1 -- Add the already used bug fixes and changes + - Add the already used bug fixes and changes * security * ispell menu * dinbrief.el for auctex * ... -- Store xemacs in /usr/share/xemacs// + - Store xemacs in /usr/share/xemacs// and /usr//xemacs// -- Move info to /usr/share/xemacs/info/ -- Enable site-lisp and move it to /usr/share/xemacs/site-lisp/ -- Make configured in paths work + - Move info to /usr/share/xemacs/info/ + - Enable site-lisp and move it to /usr/share/xemacs/site-lisp/ + - Make configured in paths work * Mon Sep 27 1999 - bs@suse.de - fixed requirements for sub packages * Mon Sep 13 1999 - bs@suse.de @@ -1181,13 +1186,13 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr - fix locale handling of xemacs * overwrite LC_NUMERIC, LC_TIME, and LC_MESSAGES to "C" to get something what can xemacs can handle -- fix dinbrief.el + - fix dinbrief.el * Mon Apr 05 1999 - bs@suse.de - fixed date strings in .changes. * Mon Mar 08 1999 - werner@suse.de - Remove site-lisp/ispell.el* to use the dynamic rebuild of the Spell menu of the ispell package -- Create a site-start.el to do that + - Create a site-start.el to do that * Thu Nov 12 1998 - bs@suse.de - fixed spec file for new rpm. * Tue Nov 03 1998 - werner@suse.de @@ -1196,7 +1201,7 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr * Tue Jul 28 1998 - werner@suse.de - Do not use system malloc ... some parts of xemacs arn't smart enough for that. -- Disable const + - Disable const * Mon Jul 27 1998 - werner@suse.de - Use redhat patch for alpha ... means make it work for all arch's. This because I do not want use ordinary linkage which @@ -1205,47 +1210,47 @@ mv $RPM_BUILD_ROOT/usr/share/applications/xemacs.desktop.new $RPM_BUILD_ROOT/usr - use mktemp if avaliable * Fri Jul 10 1998 - werner@suse.de - Check all script in lib-src against tmp exploits -- Fix pstogif (exploit and uninitialized variables) -- Add disp-table to site-load + - Fix pstogif (exploit and uninitialized variables) + - Add disp-table to site-load * Thu Jul 09 1998 - werner@suse.de - Add american to the (i)spell menu -- Use -fno-force-mem (egcs-bug) -- Use -rpath-link /usr/X11R6/lib -- Avoid multiple common -- Remove and set some CONST + - Use -fno-force-mem (egcs-bug) + - Use -rpath-link /usr/X11R6/lib + - Avoid multiple common + - Remove and set some CONST * Wed May 27 1998 - werner@suse.de - Use Xaw3d instead of Xaw to avoid trouble with xaw3dd -- Change pop service "pop" to "pop3" + - Change pop service "pop" to "pop3" * Tue Mar 03 1998 - werner@suse.de - New version 20.4 -- Same changes done for 20.3 (hacked ispell.el for our new ditcs) -- Fix the change doe for viper-ex.el -- Remove ctags (own package), send-pr and install-sid (gnats) + - Same changes done for 20.3 (hacked ispell.el for our new ditcs) + - Fix the change doe for viper-ex.el + - Remove ctags (own package), send-pr and install-sid (gnats) out of /usr/X11R6/bin/ * Wed Feb 11 1998 - werner@suse.de - New version 20.3 * Dead keys seems to work * Now BS and DEL are distinct -- Some changes, e.g. hacked ispell.el for our new ditcs + - Some changes, e.g. hacked ispell.el for our new ditcs * Thu Nov 06 1997 - werner@suse.de - New version 20.2 -- Add XFree86 deadlock keys to x-compose.el and x-iso8859-1.el -- Some changes + - Add XFree86 deadlock keys to x-compose.el and x-iso8859-1.el + - Some changes * Fri Jul 18 1997 - werner@suse.de - New patchlevel 19.15pl7 -- Remove one change of a patch to save choosen fonts in + - Remove one change of a patch to save choosen fonts in `save options' -- Add deadlock keys to x-compose.el and x-iso8859-1.el + - Add deadlock keys to x-compose.el and x-iso8859-1.el * Sun May 25 1997 - werner@suse.de - New version: 19.15 -- some changes in keycode under TERM=xterm (term/xterm.el) -- info goes to /usr/X11R6/lib/xemacs/info/ + - some changes in keycode under TERM=xterm (term/xterm.el) + - info goes to /usr/X11R6/lib/xemacs/info/ * Tue Feb 04 1997 - werner@suse.de - Aufraeumen von term/linux.el und term/xterm.el: Statt setzten von delete/backspace wird nun delbackspace.el verwendet. -- Fix in einer Info-Seite + - Fix in einer Info-Seite * Thu Jan 02 1997 - werner@suse.de - Neue Version von Xemacs: 19.14 -- Anpassungen an TERM=linux, TERM=xterm -- Delete loescht Zeichen unter dem Cursor + - Anpassungen an TERM=linux, TERM=xterm + - Delete loescht Zeichen unter dem Cursor