Debian Emacs Devel Commit: r92 - in emacs21/pkg/trunk/debian: . patches
Jerome Marant
jerome@haydn.debian.org
Fri, 08 Oct 2004 15:00:13 -0600
Author: jerome
Date: 2004-10-08 15:00:08 -0600 (Fri, 08 Oct 2004)
New Revision: 92
Added:
emacs21/pkg/trunk/debian/patches/xfree86-4.3-modifiers.dpatch
Modified:
emacs21/pkg/trunk/debian/changelog
emacs21/pkg/trunk/debian/patches/00list
Log:
Fix handling of logo keys seen as Meta (#255286)
Modified: emacs21/pkg/trunk/debian/changelog
===================================================================
--- emacs21/pkg/trunk/debian/changelog 2004-08-03 16:54:50 UTC (rev 91)
+++ emacs21/pkg/trunk/debian/changelog 2004-10-08 21:00:08 UTC (rev 92)
@@ -1,3 +1,15 @@
+emacs21 (21.3+1-8) unstable; urgency=low
+
+ * Apply patch from Denis Barbier <barbier@linufr.org> allowing
+ Emacs to properly interpret logo keys as Meta rather than
+ Meta+Super+Hyper. This problem has been showing up since latest
+ XFree86 and Xorg introducted `fake keys'.
+ (closes: #255286, #274103) [Jérôme Marant]
+ - debian/patches/xfree86-4.3-modifiers.dpatch: new file
+ - debian/patches/00list: updated
+
+ --
+
emacs21 (21.3+1-7) unstable; urgency=medium
* set recompile against libtiff4-dev and upload with
Modified: emacs21/pkg/trunk/debian/patches/00list
===================================================================
--- emacs21/pkg/trunk/debian/patches/00list 2004-08-03 16:54:50 UTC (rev 91)
+++ emacs21/pkg/trunk/debian/patches/00list 2004-10-08 21:00:08 UTC (rev 92)
@@ -16,4 +16,5 @@
emacsclient-alternate-editor
startup-auto-save-file-name-transforms
python-completion-ignored-extensions
+xfree86-4.3-modifiers
fix-x-vs-no-x-diffs
Added: emacs21/pkg/trunk/debian/patches/xfree86-4.3-modifiers.dpatch
===================================================================
--- emacs21/pkg/trunk/debian/patches/xfree86-4.3-modifiers.dpatch 2004-08-03 16:54:50 UTC (rev 91)
+++ emacs21/pkg/trunk/debian/patches/xfree86-4.3-modifiers.dpatch 2004-10-08 21:00:08 UTC (rev 92)
@@ -0,0 +1,92 @@
+#!/bin/sh -e
+## xfree86-4.3-modifers.dpatch by Denis Barbier <barbier@linuxfr.org>
+##
+## DP: ** This patch allows Emacs to properly interpret logo keys
+## DP: as Meta rather than Meta+Super+Hyper. This problem has been
+## DP: showing up since latest XFree86 and Xorg introducted
+## DP: `fake keys'.
+## DP: Author: Denis Barbier <barbier@linuxfr.org>
+## DP: Status: has been applied upstream
+## DP: Date: Fri, 8 Oct 2004 22:37:15 +0200
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- emacs-21.3+1.orig/src/xterm 2004-09-14 19:06:11.000000000 +0200
++++ emacs-21.3+1/src/xterm.c 2004-09-16 22:23:24.000000000 +0200
+@@ -6380,8 +6380,11 @@
+ Alt keysyms are on. */
+ {
+ int row, col; /* The row and column in the modifier table. */
++ int found_alt_or_meta;
+
+ for (row = 3; row < 8; row++)
++ {
++ found_alt_or_meta = 0;
+ for (col = 0; col < mods->max_keypermod; col++)
+ {
+ KeyCode code
+@@ -6403,33 +6406,44 @@
+ {
+ case XK_Meta_L:
+ case XK_Meta_R:
++ found_alt_or_meta = 1;
+ dpyinfo->meta_mod_mask |= (1 << row);
+ break;
+
+ case XK_Alt_L:
+ case XK_Alt_R:
++ found_alt_or_meta = 1;
+ dpyinfo->alt_mod_mask |= (1 << row);
+ break;
+
+ case XK_Hyper_L:
+ case XK_Hyper_R:
+- dpyinfo->hyper_mod_mask |= (1 << row);
++ if (!found_alt_or_meta)
++ dpyinfo->hyper_mod_mask |= (1 << row);
++ code_col = syms_per_code;
++ col = mods->max_keypermod;
+ break;
+
+ case XK_Super_L:
+ case XK_Super_R:
+- dpyinfo->super_mod_mask |= (1 << row);
++ if (!found_alt_or_meta)
++ dpyinfo->super_mod_mask |= (1 << row);
++ code_col = syms_per_code;
++ col = mods->max_keypermod;
+ break;
+
+ case XK_Shift_Lock:
+ /* Ignore this if it's not on the lock modifier. */
+- if ((1 << row) == LockMask)
++ if (!found_alt_or_meta && ((1 << row) == LockMask))
+ dpyinfo->shift_lock_mask = LockMask;
++ code_col = syms_per_code;
++ col = mods->max_keypermod;
+ break;
+ }
+ }
+ }
+ }
++ }
+ }
+
+ /* If we couldn't find any meta keys, accept any alt keys as meta keys. */
Property changes on: emacs21/pkg/trunk/debian/patches/xfree86-4.3-modifiers.dpatch
___________________________________________________________________
Name: svn:executable
+ *