X Strike Force SVN commit: rev 518 - in trunk/debian: . patches
Author: branden
Date: 2003-09-12 16:53:18 -0500 (Fri, 12 Sep 2003)
New Revision: 518
Modified:
trunk/debian/changelog
trunk/debian/patches/000_stolen_from_HEAD.diff
Log:
debian/patches/000_stolen_from_HEAD.diff: revert some problematic changes to
XKB;
+ (xc/programs/xkbcomp/symbols.c):
489. Fix an xkbcomp bug that prevents a later definition from
specifying actions if the previous definition didn't (#5471, Joe
Moss).
+ (xc/programs/xkbcomp/symbols.c,xc/lib/xkbfile/xkbmisc.c):
* In XFree86 4.3, Latin base maps can have many three- and four-level
keys. Some of the keys should behave as 'alphabetic' keys (should
depend on the CapsLock state) and others should be simple 'four level
keys'. To separate these two type of keys, people need to carefully
specify a type for each key in a symbols map. However, carelessness
can can be worked around if xkbcomp itself guesses the type of key.
This patch adds autodetection of four-level types in XKB symbols
maps.
+ (xc/programs/xkbcomp/misc.c):
* Xkbcomp has a check that prevents inclusion of the same partial map
in an include statement in different single layout maps. This made
sense before the multilayout mechanism was added. But now, it means
a complete layout can't be composed from 'single layout' maps if the
maps include the same file. Thus, this check has ben removed.
+ (xc/lib/xkbfile/xkbtext.c):
680. Correct problem when the server prints the name of a 'private
xkb action' in a format that xkbcomp cannot understand, and was
causing problems when calling XkbGetKeyboard (Ivan Pascal).
+ The above reversions should rectify some problems seen in 4.2.1-6.
(See what happens when one contracts Ben Collins's Disease?)
- xkbcomp chokes on XkbSymbols
'en_US(pc105)+se(nodeadkeys)+ctrl(nocaps)+inet(logicordless)'
(Closes: #182861)
- xkbcomp cannot load keymap with configuration
xfree86/pc102/fi/nodeadkeys (stock XFree86 4.2.1 works)
(Closes: #189298)
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2003-09-12 18:42:03 UTC (rev 517)
+++ trunk/debian/changelog 2003-09-12 21:53:18 UTC (rev 518)
@@ -175,8 +175,41 @@
- debian/xserver-common.preinst.in:
+ stop displacing /etc/X11/Xserver on upgrades from << 4.1.0-6
- -- Branden Robinson <branden@debian.org> Fri, 12 Sep 2003 12:43:00 -0500
+ * patch #000_stolen_from_HEAD: revert some problematic changes to XKB;
+ + (xc/programs/xkbcomp/symbols.c):
+ 489. Fix an xkbcomp bug that prevents a later definition from
+ specifying actions if the previous definition didn't (#5471, Joe
+ Moss).
+ + (xc/programs/xkbcomp/symbols.c,xc/lib/xkbfile/xkbmisc.c):
+ * In XFree86 4.3, Latin base maps can have many three- and four-level
+ keys. Some of the keys should behave as 'alphabetic' keys (should
+ depend on the CapsLock state) and others should be simple 'four level
+ keys'. To separate these two type of keys, people need to carefully
+ specify a type for each key in a symbols map. However, carelessness
+ can can be worked around if xkbcomp itself guesses the type of key.
+ This patch adds autodetection of four-level types in XKB symbols
+ maps.
+ + (xc/programs/xkbcomp/misc.c):
+ * Xkbcomp has a check that prevents inclusion of the same partial map
+ in an include statement in different single layout maps. This made
+ sense before the multilayout mechanism was added. But now, it means
+ a complete layout can't be composed from 'single layout' maps if the
+ maps include the same file. Thus, this check has ben removed.
+ + (xc/lib/xkbfile/xkbtext.c):
+ 680. Correct problem when the server prints the name of a 'private
+ xkb action' in a format that xkbcomp cannot understand, and was
+ causing problems when calling XkbGetKeyboard (Ivan Pascal).
+ + The above reversions should rectify some problems seen in 4.2.1-6.
+ (See what happens when one contracts Ben Collins's Disease?)
+ - xkbcomp chokes on XkbSymbols
+ 'en_US(pc105)+se(nodeadkeys)+ctrl(nocaps)+inet(logicordless)'
+ (Closes: #182861)
+ - xkbcomp cannot load keymap with configuration
+ xfree86/pc102/fi/nodeadkeys (stock XFree86 4.2.1 works)
+ (Closes: #189298)
+ -- Branden Robinson <branden@debian.org> Fri, 12 Sep 2003 16:12:55 -0500
+
xfree86 (4.2.1-11) unstable; urgency=medium
* urgency set to medium because bug #206790 bites a lot of people (but,
Modified: trunk/debian/patches/000_stolen_from_HEAD.diff
===================================================================
--- trunk/debian/patches/000_stolen_from_HEAD.diff 2003-09-12 18:42:03 UTC (rev 517)
+++ trunk/debian/patches/000_stolen_from_HEAD.diff 2003-09-12 21:53:18 UTC (rev 518)
@@ -76,8 +76,12 @@
- Document 'xset dpms force on'. (David Dawes)
- Don't assume mmap returns the pointer hint requested. This is in
the DENSE map code for Linux/alpha (#5439, Ray Strode).
+
+(xc/programs/xkbcomp/xkbcomp.c,xc/programs/xkbcomp/xkbcomp.man,
+ xc/programs/xkbcomp/xkbpath.c,xc/programs/xkbcomp/xkbpath.h):
- Fix a segfault when using xkbcomp's -I option, and update the man
page to correctly document the way this option works (#5447, Joe Moss).
+
- GLU and GLw aren't extension libraries, so key their default build
status to BuildLibraries. (David Dawes)
- BuildServersOnly fix when building on a system with no installed X
@@ -153,26 +157,6 @@
(xc/lib/Xt/Create.c): Clear memory allocated in xtWidgetAlloc() to avoid
garbage from malloc() being referenced later (#A.1114, Adam J. Richter).
-(xc/programs/xkbcomp/symbols.c):
- 489. Fix an xkbcomp bug that prevents a later definition from specifying
- actions if the previous definition didn't (#5471, Joe Moss).
-
-(xc/programs/xkbcomp/symbols.c,xc/lib/xkbfile/xkbmisc.c):
- * In XFree86 4.3, Latin base maps can have many three- and four-level
- keys. Some of the keys should behave as 'alphabetic' keys (should
- depend on the CapsLock state) and others should be simple 'four level
- keys'. To separate these two type of keys, people need to carefully specify
- a type for each key in a symbols map. However, carelessness can can be
- worked around if xkbcomp itself guesses the type of key. This patch
- adds autodetection of four-level types in XKB symbols maps.
-
-(xc/programs/xkbcomp/misc.c):
- * Xkbcomp has a check that prevents inclusion of the same partial map in
- an include statement in different single layout maps. This made sense
- before the multilayout mechanism was added. But now, it means a
- complete layout can't be composed from 'single layout' maps if the
- maps include the same file. Thus, this check has ben removed.
-
(xc/programs/Xserver/xkb/xkb.c):
676. If some LEDs are lighting when one reloads the XKB keyboard map
(using setxkbmap or xf86cfg) the LEDs become 'frozen' and can't
@@ -208,11 +192,6 @@
delete the old one if there is insufficient disk space (#5612,
Harald Hoyer).
-(xc/lib/xkbfile/xkbtext.c):
- 680. Correct problem when the server prints the name of a 'private
- xkb action' in a format that xkbcomp cannot understand, and
- was causing problems when calling XkbGetKeyboard (Ivan Pascal).
-
(xc/lib/Xrender/{Glyph.c,Xrenderint.h}):
+ Render uses int for 32 bits; Xlib uses long. This matters on Alpha.
(Keith Packard)
@@ -3891,205 +3870,6 @@
widget->core.constraints =
(csize ? (XtPointer)((char *)widget + wsize) : NULL);
}
---- xc/programs/xkbcomp/misc.c.orig 2001-01-17 18:45:44.000000000 -0500
-+++ xc/programs/xkbcomp/misc.c 2003-02-23 20:20:16.000000000 -0500
-@@ -108,12 +108,8 @@
- ACTION1("Include file \"%s\" ignored\n",stmt->file);
- return False;
- }
-- if (mapToUse->compiled) {
-- ERROR2("Map \"%s(%s)\" included more than once\n",stmt->file,
-- rtrn->name);
-- ACTION("Later inclusion ignored\n");
-- return False;
-- }
-+ /* FIXME: we have to check recursive includes here (or somewhere) */
-+
- mapToUse->compiled= True;
- *file_rtrn= mapToUse;
- *merge_rtrn= stmt->merge;
---- xc/programs/xkbcomp/symbols.c.orig 2001-02-20 11:43:14.000000000 -0500
-+++ xc/programs/xkbcomp/symbols.c 2003-02-23 20:20:16.000000000 -0500
-@@ -438,11 +438,19 @@
- uFree(into->syms[group]);
- if ((from->syms[group]!=NULL)&&(resultSyms!=from->syms[group]))
- uFree(from->syms[group]);
-+ if ((into->acts[group]!=NULL)&&(resultActs!=into->acts[group]))
-+ uFree(into->acts[group]);
-+ if ((from->acts[group]!=NULL)&&(resultActs!=from->acts[group]))
-+ uFree(from->acts[group]);
- into->numLevels[group]= resultWidth;
- into->syms[group]= resultSyms;
- from->syms[group]= NULL;
-+ into->acts[group]= resultActs;
-+ from->acts[group]= NULL;
- into->symsDefined|= (1<<group);
- from->symsDefined&= ~(1<<group);
-+ into->actsDefined|= (1<<group);
-+ from->actsDefined&= ~(1<<group);
- return True;
- }
-
-@@ -914,8 +922,6 @@
- key->symsDefined|= (1<<ndx);
- memcpy((char *)key->syms[ndx],(char *)value->value.list.syms,
- nSyms*sizeof(KeySym));
-- uFree(value->value.list.syms);
-- value->value.list.syms= NULL;
- for (i=key->numLevels[ndx]-1;(i>=0)&&(key->syms[ndx][i]==NoSymbol);i--) {
- key->numLevels[ndx]--;
- }
-@@ -1638,14 +1644,24 @@
- Atom * typeNameRtrn;
- #endif
- {
-- if ((width==1)||(width==0))
-+ if ((width==1)||(width==0)) {
- *typeNameRtrn= XkbInternAtom(NULL,"ONE_LEVEL",False);
-- else if ( syms && XkbKSIsLower(syms[0]) && XkbKSIsUpper(syms[1]) )
-- *typeNameRtrn= XkbInternAtom(NULL,"ALPHABETIC",False);
-- else if ( syms && (XkbKSIsKeypad(syms[0]) || XkbKSIsKeypad(syms[1])) )
-- *typeNameRtrn= XkbInternAtom(NULL,"KEYPAD",False);
-- else *typeNameRtrn= XkbInternAtom(NULL,"TWO_LEVEL",False);
-- return ((width>=0)&&(width<=2));
-+ } else if (width == 2) {
-+ if ( syms && XkbKSIsLower(syms[0]) && XkbKSIsUpper(syms[1]) )
-+ *typeNameRtrn= XkbInternAtom(NULL,"ALPHABETIC",False);
-+ else if ( syms && (XkbKSIsKeypad(syms[0]) || XkbKSIsKeypad(syms[1])) )
-+ *typeNameRtrn= XkbInternAtom(NULL,"KEYPAD",False);
-+ else *typeNameRtrn= XkbInternAtom(NULL,"TWO_LEVEL",False);
-+ } else if (width <= 4 ) {
-+ if ( syms && XkbKSIsLower(syms[0]) && XkbKSIsUpper(syms[1]) )
-+ *typeNameRtrn= XkbInternAtom(NULL,
-+ "FOUR_LEVEL_ALPHABETIC",False);
-+ else if ( syms && (XkbKSIsKeypad(syms[0]) || XkbKSIsKeypad(syms[1])) )
-+ *typeNameRtrn= XkbInternAtom(NULL,
-+ "FOUR_LEVEL_KEYPAD",False);
-+ else *typeNameRtrn= XkbInternAtom(NULL,"FOUR_LEVEL",False);
-+ }
-+ return ((width>=0)&&(width<=4));
- }
-
- static Bool
-@@ -1706,7 +1722,7 @@
- }
- }
- if (FindNamedType(xkb,key->types[i],&types[i])) {
-- if (!autoType)
-+ if (!autoType || key->numLevels[i] > 2)
- xkb->server->explicit[kc]|= (1<<i);
- }
- else {
-Index: xc/lib/xkbfile/xkbmisc.c
-===================================================================
-RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/xkbfile/xkbmisc.c,v
-retrieving revision 1.3
-retrieving revision 1.4
-diff -u -r1.3 -r1.4
---- xc/lib/xkbfile/xkbmisc.c 29 Jul 2001 05:01:13 -0000 1.3
-+++ xc/lib/xkbfile/xkbmisc.c 20 Dec 2002 20:18:35 -0000 1.4
-@@ -24,14 +24,12 @@
- THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- ********************************************************/
--/* $XFree86: xc/lib/xkbfile/xkbmisc.c,v 1.3 2001/07/29 05:01:13 tsi Exp $ */
-+/* $XFree86: xc/lib/xkbfile/xkbmisc.c,v 1.4 2002/12/20 20:18:35 paulo Exp $ */
-
- #include <stdio.h>
- #include <ctype.h>
- #include <stdlib.h>
-
--#define XK_CYRILLIC
--
- #include <X11/Xos.h>
- #include <X11/Xfuncs.h>
-
-@@ -69,19 +67,78 @@
- #endif
- {
- unsigned set,rtrn;
--unsigned char ch;
-
-- set= (ks & (~0xff));
-- ch= (char)(ks&0xff);
-+ set= (ks & (~0xff)) >> 8;
- rtrn= 0;
- switch (set) {
- case 0: /* latin 1 */
-- if (((ch>=XK_A)&&(ch<=XK_Z))||
-- ((ch>=XK_Agrave)&&(ch<=XK_THORN)&&(ch!=XK_multiply))) {
-+ if (((ks>=XK_A)&&(ks<=XK_Z))||
-+ ((ks>=XK_Agrave)&&(ks<=XK_THORN)&&(ks!=XK_multiply))) {
-+ rtrn|= _XkbKSUpper;
-+ }
-+ if (((ks>=XK_a)&&(ks<=XK_z))||
-+ ((ks>=XK_agrave)&&(ks<=XK_ydiaeresis))) {
-+ rtrn|= _XkbKSLower;
-+ }
-+ break;
-+ case 1: /* latin 2 */
-+ if (((ks>=XK_Aogonek)&&(ks<=XK_Zabovedot)&&(ks!=XK_breve))||
-+ ((ks>=XK_Racute)&&(ks<=XK_Tcedilla))) {
-+ rtrn|= _XkbKSUpper;
-+ }
-+ if (((ks>=XK_aogonek)&&(ks<=XK_zabovedot)&&(ks!=XK_caron))||
-+ ((ks>=XK_racute)&&(ks<=XK_tcedilla))) {
-+ rtrn|= _XkbKSLower;
-+ }
-+ break;
-+ case 2: /* latin 3 */
-+ if (((ks>=XK_Hstroke)&&(ks<=XK_Jcircumflex))||
-+ ((ks>=XK_Cabovedot)&&(ks<=XK_Scircumflex))) {
-+ rtrn|= _XkbKSUpper;
-+ }
-+ if (((ks>=XK_hstroke)&&(ks<=XK_jcircumflex))||
-+ ((ks>=XK_cabovedot)&&(ks<=XK_scircumflex))) {
-+ rtrn|= _XkbKSLower;
-+ }
-+ break;
-+ case 3: /* latin 4 */
-+ if (((ks>=XK_Rcedilla)&&(ks<=XK_Tslash))||
-+ (ks==XK_ENG)||
-+ ((ks>=XK_Amacron)&&(ks<=XK_Umacron))) {
-+ rtrn|= _XkbKSUpper;
-+ }
-+ if (((ks>=XK_rcedilla)&&(ks<=XK_tslash))||
-+ (ks==XK_eng)||
-+ ((ks>=XK_amacron)&&(ks<=XK_umacron))) {
-+ rtrn|= _XkbKSLower;
-+ }
-+ break;
-+ case 18: /* latin 8 */
-+ if ((ks==XK_Babovedot)||
-+ ((ks>=XK_Dabovedot)&&(ks<=XK_Wacute))||
-+ ((ks>=XK_Ygrave)&&(ks<=XK_Fabovedot))||
-+ (ks==XK_Mabovedot)||
-+ (ks==XK_Pabovedot)||
-+ (ks==XK_Sabovedot)||
-+ (ks==XK_Wdiaeresis)||
-+ ((ks>=XK_Wcircumflex)&&(ks<=XK_Ycircumflex))) {
-+ rtrn|= _XkbKSUpper;
-+ }
-+ if ((ks==XK_babovedot)||
-+ (ks==XK_dabovedot)||
-+ (ks==XK_fabovedot)||
-+ (ks==XK_mabovedot)||
-+ ((ks>=XK_wgrave)&&(ks<=XK_wacute))||
-+ (ks==XK_ygrave)||
-+ ((ks>=XK_wdiaeresis)&&(ks<=XK_ycircumflex))) {
-+ rtrn|= _XkbKSLower;
-+ }
-+ break;
-+ case 19: /* latin 9 */
-+ if ((ks==XK_OE)||(ks==XK_Ydiaeresis)) {
- rtrn|= _XkbKSUpper;
- }
-- if (((ch>=XK_a)&&(ch<=XK_z))||
-- ((ch>=XK_agrave)&&(ch<=XK_ydiaeresis))) {
-+ if (ks==XK_oe) {
- rtrn|= _XkbKSLower;
- }
- break;
--- xc/programs/Xserver/xkb/ddxConfig.c 23 Aug 2001 14:33:25 -0000 3.5
+++ xc/programs/Xserver/xkb/ddxConfig.c 20 Dec 2002 20:18:35 -0000 3.8
@@ -193,24 +193,29 @@
@@ -4379,32 +4159,6 @@
free (auth);
free (key);
free (auth->name);
-Index: xc/lib/xkbfile/xkbtext.c
-===================================================================
-RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/xkbfile/xkbtext.c,v
-retrieving revision 3.10
-retrieving revision 3.11
-diff -u -r3.10 -r3.11
---- xc/lib/xkbfile/xkbtext.c 28 Oct 2001 03:32:47 -0000 3.10
-+++ xc/lib/xkbfile/xkbtext.c 21 Dec 2002 18:49:02 -0000 3.11
-@@ -24,7 +24,7 @@
- THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- ********************************************************/
--/* $XFree86: xc/lib/xkbfile/xkbtext.c,v 3.10 2001/10/28 03:32:47 tsi Exp $ */
-+/* $XFree86: xc/lib/xkbfile/xkbtext.c,v 3.11 2002/12/21 18:49:02 paulo Exp $ */
-
- #include <stdio.h>
- #include <ctype.h>
-@@ -873,7 +873,7 @@
- }
- return rtrn;
- }
-- sprintf(buf,"0x%x",type);
-+ sprintf(buf,"Private");
- return buf;
- }
-
--- xc/lib/Xrender/Xrenderint.h 26 Sep 2002 02:56:52 -0000 1.3
+++ xc/lib/Xrender/Xrenderint.h 5 Nov 2002 23:22:35 -0000 1.4
@@ -47,4 +47,16 @@
Reply to: