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 <[email protected]> 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 <[email protected]> Tue, 21 Jun 2011 17:36:00 +0200 + -- Cyril Brulebois <[email protected]> Tue, 21 Jun 2011 17:37:06 +0200 x11-xkb-utils (7.6+3) unstable; urgency=low commit 1eb4f836623e9766feb6ddaa9acfdbefd0e447a0 Author: Cyril Brulebois <[email protected]> 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 <[email protected]> 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 <[email protected]> +Date: Tue Jun 21 16:04:45 2011 +0100 + + Bump to 1.2.3 + + Signed-off-by: Daniel Stone <[email protected]> + +commit 3caab5aa37decb7b5dc1642a0452efc3e1f5100e +Author: Daniel Stone <[email protected]> +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 <[email protected]> + +commit b34af8b0aec3a1dfc58f9732996274cbf2646a53 +Author: Daniel Stone <[email protected]> +Date: Tue Jun 21 15:55:28 2011 +0100 + + Constify LookupKeysym input argument + + Signed-off-by: Daniel Stone <[email protected]> + commit e68a8ef1067f98056237d8067052e2a0d9896133 Author: Daniel Stone <[email protected]> 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 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

