x11-xkb-utils: Changes to 'debian-unstable'
debian/changelog | 6 ++++++
xkbcomp/ChangeLog | 41 +++++++++++++++++++++++++++++++++++++++++
xkbcomp/compat.c | 4 ++--
xkbcomp/configure | 20 ++++++++++----------
xkbcomp/configure.ac | 2 +-
xkbcomp/parseutils.c | 9 ++++++---
xkbcomp/parseutils.h | 4 ++--
xkbcomp/xkbcomp.h | 1 +
xkbcomp/xkbparse.c | 4 ++--
xkbcomp/xkbparse.y | 4 ++--
10 files changed, 73 insertions(+), 22 deletions(-)
New commits:
commit fe23a727f05c7cc66527fc30fd598b8659285da0
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Jun 21 17:37:11 2011 +0200
Upload to unstable.
diff --git a/debian/changelog b/debian/changelog
index 54f1ecf..c22309e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-x11-xkb-utils (7.6+4) UNRELEASED; urgency=low
+x11-xkb-utils (7.6+4) unstable; urgency=low
* xkbcomp 1.2.3.
- -- Cyril Brulebois <kibi@debian.org> Tue, 21 Jun 2011 17:36:00 +0200
+ -- Cyril Brulebois <kibi@debian.org> Tue, 21 Jun 2011 17:37:06 +0200
x11-xkb-utils (7.6+3) unstable; urgency=low
commit 1eb4f836623e9766feb6ddaa9acfdbefd0e447a0
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Jun 21 17:37:02 2011 +0200
xkbcomp 1.2.3.
diff --git a/debian/changelog b/debian/changelog
index 3053c07..54f1ecf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+x11-xkb-utils (7.6+4) UNRELEASED; urgency=low
+
+ * xkbcomp 1.2.3.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 21 Jun 2011 17:36:00 +0200
+
x11-xkb-utils (7.6+3) unstable; urgency=low
[ Julien Cristau ]
diff --git a/xkbcomp/ChangeLog b/xkbcomp/ChangeLog
index a4cc18f..eba4470 100644
--- a/xkbcomp/ChangeLog
+++ b/xkbcomp/ChangeLog
@@ -1,3 +1,44 @@
+commit cef4ba4b8fdc9a5439f71437c08cf690a750bd6b
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 21 16:04:45 2011 +0100
+
+ Bump to 1.2.3
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 3caab5aa37decb7b5dc1642a0452efc3e1f5100e
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 21 15:55:59 2011 +0100
+
+ Interp: Allow explicit Any/NoSymbol mappings
+
+ Brown paper bag in full effect.
+
+ The previous fix, while crushing the previous problem where an unknown
+ keysym for an interp def would lead to every key matching it, also
+ ignored explicit Any+AnyOfOrNone(All) mappings.
+
+ Such as the one xkeyboard-config relied on for Control to actually
+ update the modifier state.
+
+ Fix this by allowing mappings explicitly declared as Any/NoSymbol, while
+ ignoring only those with failed keysym lookups. Unfortunately, due to
+ the structure of the parser, it's a deeply inelegant fix.
+
+ Verified with a quick check of all layouts (albeit using default
+ variants only) in xkeyboard-config that this results in no changes to
+ the output at all, compared to xkbcomp 1.1.1.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit b34af8b0aec3a1dfc58f9732996274cbf2646a53
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Tue Jun 21 15:55:28 2011 +0100
+
+ Constify LookupKeysym input argument
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
commit e68a8ef1067f98056237d8067052e2a0d9896133
Author: Daniel Stone <daniel@fooishbar.org>
Date: Tue Jun 21 14:06:05 2011 +0100
diff --git a/xkbcomp/compat.c b/xkbcomp/compat.c
index a058dfb..759535a 100644
--- a/xkbcomp/compat.c
+++ b/xkbcomp/compat.c
@@ -658,9 +658,9 @@ HandleInterpDef(InterpDef * def, XkbDescPtr xkb, unsigned merge,
ACTION("Symbol interpretation ignored\n");
return True;
}
- if (def->sym == NoSymbol)
+ if (def->ignore)
{
- ERROR("Couldn't determine keysym\n");
+ ERROR("Couldn't lookup keysym\n");
ACTION("Symbol interpretation ignored\n");
return True;
}
diff --git a/xkbcomp/configure b/xkbcomp/configure
index 36d48a5..2d22733 100755
--- a/xkbcomp/configure
+++ b/xkbcomp/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for xkbcomp 1.2.2.
+# Generated by GNU Autoconf 2.68 for xkbcomp 1.2.3.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -561,8 +561,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xkbcomp'
PACKAGE_TARNAME='xkbcomp'
-PACKAGE_VERSION='1.2.2'
-PACKAGE_STRING='xkbcomp 1.2.2'
+PACKAGE_VERSION='1.2.3'
+PACKAGE_STRING='xkbcomp 1.2.3'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@@ -1294,7 +1294,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xkbcomp 1.2.2 to adapt to many kinds of systems.
+\`configure' configures xkbcomp 1.2.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1364,7 +1364,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xkbcomp 1.2.2:";;
+ short | recursive ) echo "Configuration of xkbcomp 1.2.3:";;
esac
cat <<\_ACEOF
@@ -1480,7 +1480,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xkbcomp configure 1.2.2
+xkbcomp configure 1.2.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1804,7 +1804,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xkbcomp $as_me 1.2.2, which was
+It was created by xkbcomp $as_me 1.2.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2619,7 +2619,7 @@ fi
# Define the identity of the package.
PACKAGE='xkbcomp'
- VERSION='1.2.2'
+ VERSION='1.2.3'
cat >>confdefs.h <<_ACEOF
@@ -5494,7 +5494,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xkbcomp $as_me 1.2.2, which was
+This file was extended by xkbcomp $as_me 1.2.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5560,7 +5560,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xkbcomp config.status 1.2.2
+xkbcomp config.status 1.2.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/xkbcomp/configure.ac b/xkbcomp/configure.ac
index 3e3c6a2..252eb1a 100644
--- a/xkbcomp/configure.ac
+++ b/xkbcomp/configure.ac
@@ -21,7 +21,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.60])
-AC_INIT([xkbcomp], [1.2.2],
+AC_INIT([xkbcomp], [1.2.3],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xkbcomp])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/xkbcomp/parseutils.c b/xkbcomp/parseutils.c
index 4aa859d..ca665e2 100644
--- a/xkbcomp/parseutils.c
+++ b/xkbcomp/parseutils.c
@@ -220,7 +220,7 @@ BoolVarCreate(Atom nameToken, unsigned set)
}
InterpDef *
-InterpCreate(KeySym sym, ExprDef * match)
+InterpCreate(const char *sym_str, ExprDef * match)
{
InterpDef *def;
@@ -229,7 +229,10 @@ InterpCreate(KeySym sym, ExprDef * match)
{
def->common.stmtType = StmtInterpDef;
def->common.next = NULL;
- def->sym = sym;
+ if (LookupKeysym(sym_str, &def->sym) == 0)
+ def->ignore = True;
+ else
+ def->ignore = False;
def->match = match;
}
else
@@ -622,7 +625,7 @@ AppendKeysymList(ExprDef * list, char *sym)
}
int
-LookupKeysym(char *str, KeySym * sym_rtrn)
+LookupKeysym(const char *str, KeySym * sym_rtrn)
{
KeySym sym;
char *tmp;
diff --git a/xkbcomp/parseutils.h b/xkbcomp/parseutils.h
index 0d06ce9..8b8a6c1 100644
--- a/xkbcomp/parseutils.h
+++ b/xkbcomp/parseutils.h
@@ -88,7 +88,7 @@ extern VarDef *BoolVarCreate(Atom /* nameToken */ ,
unsigned /* set */
);
-extern InterpDef *InterpCreate(KeySym /* sym */ ,
+extern InterpDef *InterpCreate(const char * /* sym_str */ ,
ExprDef * /* match */
);
@@ -164,7 +164,7 @@ extern ExprDef *AppendKeysymList(ExprDef * /* list */ ,
char * /* sym */
);
-extern int LookupKeysym(char * /* str */ ,
+extern int LookupKeysym(const char * /* str */ ,
KeySym * /* sym_rtrn */
);
diff --git a/xkbcomp/xkbcomp.h b/xkbcomp/xkbcomp.h
index d6a7185..fb40061 100644
--- a/xkbcomp/xkbcomp.h
+++ b/xkbcomp/xkbcomp.h
@@ -243,6 +243,7 @@ typedef struct _InterpDef
KeySym sym;
ExprDef *match;
VarDef *def;
+ Bool ignore;
} InterpDef;
typedef struct _IndicatorNameDef
diff --git a/xkbcomp/xkbparse.c b/xkbcomp/xkbparse.c
index e19307d..7f635d8 100644
--- a/xkbcomp/xkbparse.c
+++ b/xkbcomp/xkbparse.c
@@ -2354,14 +2354,14 @@ yyreduce:
/* Line 1455 of yacc.c */
#line 377 "xkbparse.y"
- { (yyval.interp)= InterpCreate(XStringToKeysym((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].expr)); }
+ { (yyval.interp)= InterpCreate((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr)); }
break;
case 61:
/* Line 1455 of yacc.c */
#line 379 "xkbparse.y"
- { (yyval.interp)= InterpCreate(XStringToKeysym((yyvsp[(1) - (1)].str)), NULL); }
+ { (yyval.interp)= InterpCreate((yyvsp[(1) - (1)].str), NULL); }
break;
case 62:
diff --git a/xkbcomp/xkbparse.y b/xkbcomp/xkbparse.y
index d73b92a..51b3bf7 100644
--- a/xkbcomp/xkbparse.y
+++ b/xkbcomp/xkbparse.y
@@ -374,9 +374,9 @@ InterpretDecl : INTERPRET InterpretMatch OBRACE
;
InterpretMatch : KeySym PLUS Expr
- { $$= InterpCreate(XStringToKeysym($1), $3); }
+ { $$= InterpCreate($1, $3); }
| KeySym
- { $$= InterpCreate(XStringToKeysym($1), NULL); }
+ { $$= InterpCreate($1, NULL); }
;
VarDeclList : VarDeclList VarDecl
Reply to: