[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: