Module Name:    xsrc
Committed By:   mrg
Date:           Sun Jul 19 08:13:11 UTC 2015

Modified Files:
        xsrc/external/mit/libX11/dist/man: XCreateGC.man
        xsrc/external/mit/libX11/dist/modules/lc/gen: lcGenConv.c
        xsrc/external/mit/libX11/dist/nls/en_US.UTF-8: Compose.pre
        xsrc/external/mit/libX11/dist/src: Font.c FontNames.c GetFPath.c
            ListExt.c ModMap.c XlibInt.c
        xsrc/external/mit/libX11/dist/src/xkb: XKBMAlloc.c
Removed Files:
        xsrc/external/mit/libX11/dist/modules/lc/xlocale: Makefile.am
            Makefile.in lcEuc.c lcJis.c lcSjis.c

Log Message:
merge libX11 1.6.3.

this properly fixes src/xkb/XKBMAlloc.c rev 1.2 as well (this probably
should be looked at for pull up as patch.)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/libX11/dist/man/XCreateGC.man
cvs rdiff -u -r1.6 -r1.7 \
    xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
cvs rdiff -u -r1.1.1.4 -r0 \
    xsrc/external/mit/libX11/dist/modules/lc/xlocale/Makefile.am \
    xsrc/external/mit/libX11/dist/modules/lc/xlocale/lcEuc.c \
    xsrc/external/mit/libX11/dist/modules/lc/xlocale/lcSjis.c
cvs rdiff -u -r1.1.1.12 -r0 \
    xsrc/external/mit/libX11/dist/modules/lc/xlocale/Makefile.in
cvs rdiff -u -r1.1.1.6 -r0 \
    xsrc/external/mit/libX11/dist/modules/lc/xlocale/lcJis.c
cvs rdiff -u -r1.2 -r1.3 \
    xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/libX11/dist/src/Font.c \
    xsrc/external/mit/libX11/dist/src/FontNames.c \
    xsrc/external/mit/libX11/dist/src/GetFPath.c \
    xsrc/external/mit/libX11/dist/src/ListExt.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/libX11/dist/src/ModMap.c
cvs rdiff -u -r1.7 -r1.8 xsrc/external/mit/libX11/dist/src/XlibInt.c
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/libX11/dist/man/XCreateGC.man
diff -u xsrc/external/mit/libX11/dist/man/XCreateGC.man:1.3 xsrc/external/mit/libX11/dist/man/XCreateGC.man:1.4
--- xsrc/external/mit/libX11/dist/man/XCreateGC.man:1.3	Thu May 30 23:09:16 2013
+++ xsrc/external/mit/libX11/dist/man/XCreateGC.man	Sun Jul 19 08:13:11 2015
@@ -247,173 +247,127 @@ The
 .ZN XGCValues
 structure contains:
 .LP
-.LP
 /\&* GC attribute value mask bits */
 .TS
 lw(.5i) lw(2.5i) lw(.75i).
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCFunction
 T}	T{
 (1L<<0)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCPlaneMask
 T}	T{
 (1L<<1)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCForeground
 T}	T{
 (1L<<2)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCBackground
 T}	T{
 (1L<<3)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCLineWidth
 T}	T{
 (1L<<4)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCLineStyle
 T}	T{
 (1L<<5)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCCapStyle
 T}	T{
 (1L<<6)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCJoinStyle
 T}	T{
 (1L<<7)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCFillStyle
 T}	T{
 (1L<<8)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCFillRule
 T}	T{
 (1L<<9)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCTile
 T}	T{
 (1L<<10)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCStipple
 T}	T{
 (1L<<11)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCTileStipXOrigin
 T}	T{
 (1L<<12)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCTileStipYOrigin
 T}	T{
 (1L<<13)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCFont
 T}	T{
 (1L<<14)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCSubwindowMode
 T}	T{
 (1L<<15)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCGraphicsExposures
 T}	T{
 (1L<<16)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCClipXOrigin
 T}	T{
 (1L<<17)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCClipYOrigin
 T}	T{
 (1L<<18)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCClipMask
 T}	T{
 (1L<<19)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCDashOffset
 T}	T{
 (1L<<20)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCDashList
 T}	T{
 (1L<<21)
 T}
-T{
-\&#define
-T}	T{
+\&#define	T{
 .ZN GCArcMode
 T}	T{
 (1L<<22)
 T}
 .TE
 .IN "XGCValues" "" "@DEF@"
+.LP
 .Ds 0
 /\&* Values */
 

Index: xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
diff -u xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.6 xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.7
--- xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.6	Sun Mar 16 22:48:34 2014
+++ xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c	Sun Jul 19 08:13:11 2015
@@ -753,7 +753,7 @@ mbstowcs_org(
 
     CodeSet codeset = NULL;
 
-    const char *inbufptr = *from;
+    const char *inbufptr;
     wchar_t *outbufptr = (wchar_t *) *to;
     int from_size = *from_left;
 
@@ -764,6 +764,8 @@ mbstowcs_org(
         return( 0 );
     }
 
+    inbufptr = *from;
+
     while (*from_left && *to_left) {
 
 	ch = *inbufptr++;
@@ -1223,8 +1225,7 @@ stdc_wcstocts(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -1252,7 +1253,7 @@ ctstowcs(
     CodeSet codeset = NULL;
     XlcCharSet charset_tmp;
 
-    const char *inbufptr = *from;
+    const char *inbufptr;
     wchar_t *outbufptr = (wchar_t *) *to;
     int from_size = *from_left;
 
@@ -1262,6 +1263,7 @@ ctstowcs(
 	_XlcResetConverter(conv);
         return( 0 );
     }
+    inbufptr = *from;
 
     while (*from_left && *to_left) {
 
@@ -1437,7 +1439,7 @@ cstowcs(
     CodeSet codeset = NULL;
     XlcCharSet charset, charset_tmp;
 
-    const char *inbufptr = *from;
+    const char *inbufptr;
     wchar_t *outbufptr = (wchar_t *) *to;
     int from_size = *from_left;
 
@@ -1445,6 +1447,8 @@ cstowcs(
         return( 0 );
     }
 
+    inbufptr = *from;
+
     charset = (XlcCharSet) args[0];
 
     while (*from_left && *to_left) {
@@ -1543,8 +1547,7 @@ stdc_ctstowcs(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -1579,8 +1582,7 @@ stdc_cstowcs(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -1615,8 +1617,7 @@ mbstocts(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -1643,7 +1644,7 @@ mbstostr(
 
     CodeSet codeset = NULL;
 
-    const char *inbufptr = *from;
+    const char *inbufptr;
     char *outbufptr = *to;
     int from_size = *from_left;
 
@@ -1654,6 +1655,8 @@ mbstostr(
         return( 0 );
     }
 
+    inbufptr = *from;
+
     while (*from_left && *to_left) {
 
 	ch = *inbufptr++;
@@ -1758,7 +1761,7 @@ mbtocs(
     CodeSet codeset = NULL;
     XlcCharSet charset = NULL;
 
-    const char *inbufptr = *from;
+    const char *inbufptr;
     char *outbufptr = *to;
     int from_size = *from_left;
 
@@ -1769,6 +1772,8 @@ mbtocs(
         return( 0 );
     }
 
+    inbufptr = *from;
+
     while (*from_left && *to_left) {
 
 	ch = *inbufptr++;
@@ -2062,8 +2067,7 @@ stdc_wcstostr(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -2337,8 +2341,7 @@ ctstombs(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -2373,8 +2376,7 @@ cstombs(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -2582,8 +2584,7 @@ stdc_strtowcs(
         goto ret;
 
 ret:
-    if (buf)
-	Xfree(buf);
+    Xfree(buf);
 
     return (unconv_num1 + unconv_num2);
 }
@@ -2596,14 +2597,8 @@ static void
 close_converter(
     XlcConv conv)
 {
-    if (conv->state) {
-	Xfree(conv->state);
-    }
-
-    if (conv->methods) {
-	Xfree(conv->methods);
-    }
-
+    Xfree(conv->state);
+    Xfree(conv->methods);
     Xfree(conv);
 }
 

Index: xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre
diff -u xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.2 xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.3
--- xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.2	Wed Apr 30 12:35:55 2014
+++ xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre	Sun Jul 19 08:13:11 2015
@@ -103,6 +103,7 @@ XCOMM Spaces
 <Multi_key> <o> <R>              	: "®"   registered # REGISTERED SIGN
 <Multi_key> <O> <r>              	: "®"   registered # REGISTERED SIGN
 <Multi_key> <O> <R>              	: "®"   registered # REGISTERED SIGN
+<Multi_key> <R> <o> 			: "®"   registered # REGISTERED SIGN
 <Multi_key> <R> <O> 			: "®"   registered # REGISTERED SIGN
 
 <Multi_key> <period> <greater>   	: "›"   U203a # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
@@ -119,8 +120,6 @@ XCOMM Spaces
 <Multi_key> <plus> <minus>       	: "±"   plusminus # PLUS-MINUS SIGN
 <Multi_key> <minus> <plus> 		: "±"   plusminus # PLUS-MINUS SIGN
 <Multi_key> <question> <question> 	: "¿"   questiondown # INVERTED QUESTION MARK
-<Multi_key> <minus> <d>          	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
-<Multi_key> <minus> <D>          	: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
 <Multi_key> <s> <s>              	: "ß"   ssharp # LATIN SMALL LETTER SHARP S
 <Multi_key> <S> <S>              	: "ẞ"   U1e9e # LATIN CAPITAL LETTER SHARP S
 
@@ -200,21 +199,24 @@ XCOMM "₲" U20b2 GUARANI SIGN
 XCOMM "₳" U20b3 AUSTRAL SIGN
 XCOMM "₴" U20b4 HRYVNIA SIGN
 XCOMM "₵" U20b5 CEDI SIGN
+<Multi_key> <R> <equal>          	: "₹" U20b9 # INDIAN RUPEE SIGN
+<Multi_key> <equal> <R>          	: "₹" U20b9 # INDIAN RUPEE SIGN
+<Multi_key> <r> <equal>          	: "₹" U20b9 # INDIAN RUPEE SIGN
+<Multi_key> <equal> <r>          	: "₹" U20b9 # INDIAN RUPEE SIGN
 
-
-<Multi_key> <bar> <C>            	: "¢"   cent # CENT SIGN
-<Multi_key> <bar> <c>            	: "¢"   cent # CENT SIGN
 <Multi_key> <C> <bar>            	: "¢"   cent # CENT SIGN
+<Multi_key> <bar> <C>			: "¢"   cent # CENT SIGN
 <Multi_key> <c> <bar>            	: "¢"   cent # CENT SIGN
+<Multi_key> <bar> <c>			: "¢"   cent # CENT SIGN
 <Multi_key> <c> <slash>          	: "¢"   cent # CENT SIGN
 <Multi_key> <slash> <c>          	: "¢"   cent # CENT SIGN
 <Multi_key> <L> <minus>          	: "£"   sterling # POUND SIGN
-<Multi_key> <l> <minus>          	: "£"   sterling # POUND SIGN
 <Multi_key> <minus> <L>          	: "£"   sterling # POUND SIGN
+<Multi_key> <l> <minus> 		: "£"   sterling # POUND SIGN
 <Multi_key> <minus> <l>          	: "£"   sterling # POUND SIGN
 <Multi_key> <Y> <equal>          	: "¥"   yen # YEN SIGN
-<Multi_key> <y> <equal>          	: "¥"   yen # YEN SIGN
 <Multi_key> <equal> <Y>          	: "¥"   yen # YEN SIGN
+<Multi_key> <y> <equal> 		: "¥"   yen # YEN SIGN
 <Multi_key> <equal> <y>          	: "¥"   yen # YEN SIGN
 <Multi_key> <Y> <minus> 		: "¥"   yen # YEN SIGN
 <Multi_key> <minus> <Y> 		: "¥"   yen # YEN SIGN
@@ -275,6 +277,9 @@ XCOMM Other symbols
 <Multi_key> <colon> <parenright>        : "☺"   U263A # WHITE SMILING FACE
 <Multi_key> <colon> <parenleft>         : "☹"   U2639 # WHITE FROWNING FACE
 
+<Multi_key> <F> <U>                     : "🖕"  U1F595 # REVERSED HAND WITH MIDDLE FINGER EXTENDED
+<Multi_key> <L> <L> <A> <P>             : "🖖"  U1F596 # RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
+
 XCOMM Part 2
 
 XCOMM Compose map for Korean Hangul(Choseongul) Conjoining Jamos  automatically
@@ -285,7 +290,7 @@ XCOMM There are some conflicts among seq
 XCOMM
 XCOMM group 1: cluster jamos made of three basic jamos
 
-/* The follwing block gets overridden by later shorter compositions
+/* The following block gets overridden by later shorter compositions
  * <Multi_key> <U1107> <U1109> <U1100> 	: "ᄢ"   U1122 # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
  * <Multi_key> <U1107> <U1109> <U1103> 	: "ᄣ"   U1123 # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
  * <Multi_key> <U1107> <U1109> <U1107> 	: "ᄤ"   U1124 # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
@@ -527,24 +532,24 @@ XCOMM Part 3
 <Multi_key> <asciicircum> <underbar> <a> 	: "ª"   ordfeminine # FEMININE ORDINAL INDICATOR
 <dead_circumflex> <2>            	: "²"   twosuperior # SUPERSCRIPT TWO
 <Multi_key> <asciicircum> <2>    	: "²"   twosuperior # SUPERSCRIPT TWO
+<Multi_key> <2> <asciicircum> 		: "²"   twosuperior # SUPERSCRIPT TWO
 <dead_circumflex> <KP_Space>     	: "²"   twosuperior # SUPERSCRIPT TWO
 <Multi_key> <asciicircum> <KP_Space> 	: "²"   twosuperior # SUPERSCRIPT TWO
 <dead_circumflex> <KP_2>         	: "²"   twosuperior # SUPERSCRIPT TWO
 <Multi_key> <asciicircum> <KP_2> 	: "²"   twosuperior # SUPERSCRIPT TWO
-<Multi_key> <2> <asciicircum> 		: "²"   twosuperior # SUPERSCRIPT TWO
 <dead_circumflex> <3>            	: "³"   threesuperior # SUPERSCRIPT THREE
 <Multi_key> <asciicircum> <3>    	: "³"   threesuperior # SUPERSCRIPT THREE
+<Multi_key> <3> <asciicircum> 		: "³"   threesuperior # SUPERSCRIPT THREE
 <dead_circumflex> <KP_3>         	: "³"   threesuperior # SUPERSCRIPT THREE
 <Multi_key> <asciicircum> <KP_3> 	: "³"   threesuperior # SUPERSCRIPT THREE
-<Multi_key> <3> <asciicircum> 		: "³"   threesuperior # SUPERSCRIPT THREE
 <Multi_key> <m> <u>              	: "µ"   mu # MICRO SIGN
 <Multi_key> <slash> <u> 		: "µ"   mu # MICRO SIGN
 <Multi_key> <u> <slash> 		: "µ"   mu # MICRO SIGN
 <dead_circumflex> <1>            	: "¹"   onesuperior # SUPERSCRIPT ONE
 <Multi_key> <asciicircum> <1>    	: "¹"   onesuperior # SUPERSCRIPT ONE
+<Multi_key> <1> <asciicircum> 		: "¹"   onesuperior # SUPERSCRIPT ONE
 <dead_circumflex> <KP_1>         	: "¹"   onesuperior # SUPERSCRIPT ONE
 <Multi_key> <asciicircum> <KP_1> 	: "¹"   onesuperior # SUPERSCRIPT ONE
-<Multi_key> <1> <asciicircum> 		: "¹"   onesuperior # SUPERSCRIPT ONE
 <dead_circumflex> <Multi_key> <underscore> <o> 	: "º"   masculine # MASCULINE ORDINAL INDICATOR
 <Multi_key> <asciicircum> <underscore> <o> 	: "º"   masculine # MASCULINE ORDINAL INDICATOR
 <dead_circumflex> <Multi_key> <underbar> <o> 	: "º"   masculine # MASCULINE ORDINAL INDICATOR
@@ -557,22 +562,22 @@ XCOMM Part 3
 <Multi_key> <A> <grave> 		: "À"   Agrave # LATIN CAPITAL LETTER A WITH GRAVE
 <dead_acute> <A>                 	: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
 <Multi_key> <acute> <A>          	: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
+<Multi_key> <A> <acute> 		: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
 <Multi_key> <apostrophe> <A>     	: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
 <Multi_key> <A> <apostrophe> 		: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
-<Multi_key> <A> <acute> 		: "Á"   Aacute # LATIN CAPITAL LETTER A WITH ACUTE
 <dead_circumflex> <A>            	: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
 <Multi_key> <asciicircum> <A>    	: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<Multi_key> <A> <asciicircum> 		: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
 <Multi_key> <greater> <A> 		: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
 <Multi_key> <A> <greater> 		: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-<Multi_key> <A> <asciicircum> 		: "Â"   Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
 <dead_tilde> <A>                 	: "Ã"   Atilde # LATIN CAPITAL LETTER A WITH TILDE
 <Multi_key> <asciitilde> <A>     	: "Ã"   Atilde # LATIN CAPITAL LETTER A WITH TILDE
 <Multi_key> <A> <asciitilde> 		: "Ã"   Atilde # LATIN CAPITAL LETTER A WITH TILDE
 <dead_diaeresis> <A>             	: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
 <Multi_key> <quotedbl> <A>       	: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
 <Multi_key> <A> <quotedbl> 		: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
-<Multi_key> <A> <diaeresis> 		: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
 <Multi_key> <diaeresis> <A> 		: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
+<Multi_key> <A> <diaeresis> 		: "Ä"   Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS
 <dead_abovering> <A>             	: "Å"   Aring # LATIN CAPITAL LETTER A WITH RING ABOVE
 <Multi_key> <o> <A>              	: "Å"   Aring # LATIN CAPITAL LETTER A WITH RING ABOVE
 <Multi_key> <asterisk> <A> 		: "Å"   Aring # LATIN CAPITAL LETTER A WITH RING ABOVE
@@ -587,19 +592,19 @@ XCOMM Part 3
 <Multi_key> <E> <grave> 		: "È"   Egrave # LATIN CAPITAL LETTER E WITH GRAVE
 <dead_acute> <E>                 	: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
 <Multi_key> <acute> <E>          	: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
+<Multi_key> <E> <acute> 		: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
 <Multi_key> <apostrophe> <E>     	: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
 <Multi_key> <E> <apostrophe> 		: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
-<Multi_key> <E> <acute> 		: "É"   Eacute # LATIN CAPITAL LETTER E WITH ACUTE
 <dead_circumflex> <E>            	: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
 <Multi_key> <asciicircum> <E>    	: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<Multi_key> <E> <asciicircum> 		: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
 <Multi_key> <greater> <E> 		: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
 <Multi_key> <E> <greater> 		: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-<Multi_key> <E> <asciicircum> 		: "Ê"   Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
 <dead_diaeresis> <E>             	: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
 <Multi_key> <quotedbl> <E>       	: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
 <Multi_key> <E> <quotedbl> 		: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
-<Multi_key> <E> <diaeresis> 		: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
 <Multi_key> <diaeresis> <E> 		: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
+<Multi_key> <E> <diaeresis> 		: "Ë"   Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS
 <dead_grave> <I>                 	: "Ì"   Igrave # LATIN CAPITAL LETTER I WITH GRAVE
 <Multi_key> <grave> <I>          	: "Ì"   Igrave # LATIN CAPITAL LETTER I WITH GRAVE
 <Multi_key> <I> <grave> 		: "Ì"   Igrave # LATIN CAPITAL LETTER I WITH GRAVE
@@ -818,22 +823,26 @@ XCOMM Part 3
 <Multi_key> <macron> <a>         	: "ā"   U0101 # LATIN SMALL LETTER A WITH MACRON
 <Multi_key> <underscore> <a>     	: "ā"   U0101 # LATIN SMALL LETTER A WITH MACRON
 <Multi_key> <a> <underscore>     	: "ā"   U0101 # LATIN SMALL LETTER A WITH MACRON
-<Multi_key> <minus> <a>          	: "ā"   U0100 # LATIN CAPITAL LETTER A WITH MACRON
-<Multi_key> <a> <minus>          	: "ā"   U0100 # LATIN CAPITAL LETTER A WITH MACRON
+<Multi_key> <minus> <a>          	: "ā"   U0101 # LATIN SMALL LETTER A WITH MACRON
+<Multi_key> <a> <minus>          	: "ā"   U0101 # LATIN SMALL LETTER A WITH MACRON
 <dead_breve> <A>                 	: "Ă"   U0102 # LATIN CAPITAL LETTER A WITH BREVE
 <Multi_key> <U> <A>              	: "Ă"   U0102 # LATIN CAPITAL LETTER A WITH BREVE
+<Multi_key> <u> <A>              	: "Ă"   U0102 # LATIN CAPITAL LETTER A WITH BREVE
 <Multi_key> <b> <A>              	: "Ă"   U0102 # LATIN CAPITAL LETTER A WITH BREVE
 <Multi_key> <A> <parenleft> 		: "Ă"   U0102 # LATIN CAPITAL LETTER A WITH BREVE
 <dead_breve> <a>                 	: "ă"   U0103 # LATIN SMALL LETTER A WITH BREVE
 <Multi_key> <U> <a>              	: "ă"   U0103 # LATIN SMALL LETTER A WITH BREVE
+<Multi_key> <u> <a>              	: "ă"   U0103 # LATIN SMALL LETTER A WITH BREVE
 <Multi_key> <b> <a>              	: "ă"   U0103 # LATIN SMALL LETTER A WITH BREVE
 <Multi_key> <a> <parenleft> 		: "ă"   U0103 # LATIN SMALL LETTER A WITH BREVE
 <dead_ogonek> <A>                	: "Ą"   U0104 # LATIN CAPITAL LETTER A WITH OGONEK
 <Multi_key> <semicolon> <A>      	: "Ą"   U0104 # LATIN CAPITAL LETTER A WITH OGONEK
+<Multi_key> <A> <semicolon>      	: "Ą"   U0104 # LATIN CAPITAL LETTER A WITH OGONEK
 <Multi_key> <comma> <A>         	: "Ą"   U0104 # LATIN CAPITAL LETTER A WITH OGONEK
 <Multi_key> <A> <comma> 		: "Ą"   U0104 # LATIN CAPITAL LETTER A WITH OGONEK
 <dead_ogonek> <a>                	: "ą"   U0105 # LATIN SMALL LETTER A WITH OGONEK
 <Multi_key> <semicolon> <a>      	: "ą"   U0105 # LATIN SMALL LETTER A WITH OGONEK
+<Multi_key> <a> <semicolon>      	: "ą"   U0105 # LATIN SMALL LETTER A WITH OGONEK
 <Multi_key> <comma> <a>         	: "ą"   U0105 # LATIN SMALL LETTER A WITH OGONEK
 <Multi_key> <a> <comma> 		: "ą"   U0105 # LATIN SMALL LETTER A WITH OGONEK
 <dead_acute> <C>                 	: "Ć"   U0106 # LATIN CAPITAL LETTER C WITH ACUTE
@@ -871,12 +880,14 @@ XCOMM Part 3
 <Multi_key> <less> <d> 			: "ď"   U010F # LATIN SMALL LETTER D WITH CARON
 <Multi_key> <d> <less> 			: "ď"   U010F # LATIN SMALL LETTER D WITH CARON
 <dead_stroke> <D>               	: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
+<Multi_key> <minus> <D>          	: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
+<Multi_key> <D> <minus> 		: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
 <Multi_key> <slash> <D>          	: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
 <Multi_key> <KP_Divide> <D>      	: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
-<Multi_key> <D> <minus> 		: "Đ"   Dstroke # LATIN CAPITAL LETTER D WITH STROKE
 <dead_stroke> <d>               	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
-<Multi_key> <slash> <d>          	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
+<Multi_key> <minus> <d>          	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
 <Multi_key> <d> <minus> 		: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
+<Multi_key> <slash> <d>          	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
 <Multi_key> <KP_Divide> <d>      	: "đ"   dstroke # LATIN SMALL LETTER D WITH STROKE
 <dead_macron> <E>                	: "Ē"   U0112 # LATIN CAPITAL LETTER E WITH MACRON
 <Multi_key> <macron> <E>         	: "Ē"   U0112 # LATIN CAPITAL LETTER E WITH MACRON
@@ -904,10 +915,12 @@ XCOMM Part 3
 <Multi_key> <e> <period> 		: "ė"   U0117 # LATIN SMALL LETTER E WITH DOT ABOVE
 <dead_ogonek> <E>                	: "Ę"   U0118 # LATIN CAPITAL LETTER E WITH OGONEK
 <Multi_key> <semicolon> <E>      	: "Ę"   U0118 # LATIN CAPITAL LETTER E WITH OGONEK
+<Multi_key> <E> <semicolon>      	: "Ę"   U0118 # LATIN CAPITAL LETTER E WITH OGONEK
 <Multi_key> <comma> <E>          	: "Ę"   U0118 # LATIN CAPITAL LETTER E WITH OGONEK
 <Multi_key> <E> <comma> 		: "Ę"   U0118 # LATIN CAPITAL LETTER E WITH OGONEK
 <dead_ogonek> <e>                	: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
 <Multi_key> <semicolon> <e>      	: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
+<Multi_key> <e> <semicolon>      	: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
 <Multi_key> <comma> <e>          	: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
 <Multi_key> <e> <comma> 		: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
 <dead_caron> <E>                 	: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
@@ -986,6 +999,7 @@ XCOMM Part 3
 <Multi_key> <b> <i>              	: "ĭ"   U012D # LATIN SMALL LETTER I WITH BREVE
 <dead_ogonek> <I>                	: "Į"   U012E # LATIN CAPITAL LETTER I WITH OGONEK
 <Multi_key> <semicolon> <I>      	: "Į"   U012E # LATIN CAPITAL LETTER I WITH OGONEK
+<Multi_key> <I> <semicolon>      	: "Į"   U012E # LATIN CAPITAL LETTER I WITH OGONEK
 <Multi_key> <comma> <I>         	: "Į"   U012E # LATIN CAPITAL LETTER I WITH OGONEK
 <Multi_key> <I> <comma> 		: "Į"   U012E # LATIN CAPITAL LETTER I WITH OGONEK
 <dead_ogonek> <i>                	: "į"   U012F # LATIN SMALL LETTER I WITH OGONEK
@@ -1191,6 +1205,7 @@ XCOMM Part 3
 <Multi_key> <u> <minus> 		: "ū"   U016B # LATIN SMALL LETTER U WITH MACRON
 <dead_breve> <U>                 	: "Ŭ"   U016C # LATIN CAPITAL LETTER U WITH BREVE
 <Multi_key> <U> <U>              	: "Ŭ"   U016C # LATIN CAPITAL LETTER U WITH BREVE
+<Multi_key> <u> <U>              	: "Ŭ"   U016C # LATIN CAPITAL LETTER U WITH BREVE
 <Multi_key> <b> <U>              	: "Ŭ"   U016C # LATIN CAPITAL LETTER U WITH BREVE
 <dead_breve> <u>                 	: "ŭ"   U016D # LATIN SMALL LETTER U WITH BREVE
 <Multi_key> <U> <u>              	: "ŭ"   U016D # LATIN SMALL LETTER U WITH BREVE
@@ -1210,10 +1225,12 @@ XCOMM Part 3
 <Multi_key> <equal> <u>          	: "ű"   U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE
 <dead_ogonek> <U>                	: "Ų"   U0172 # LATIN CAPITAL LETTER U WITH OGONEK
 <Multi_key> <semicolon> <U>      	: "Ų"   U0172 # LATIN CAPITAL LETTER U WITH OGONEK
+<Multi_key> <U> <semicolon>      	: "Ų"   U0172 # LATIN CAPITAL LETTER U WITH OGONEK
 <Multi_key> <comma> <U>         	: "Ų"   U0172 # LATIN CAPITAL LETTER U WITH OGONEK
 <Multi_key> <U> <comma> 		: "Ų"   U0172 # LATIN CAPITAL LETTER U WITH OGONEK
 <dead_ogonek> <u>                	: "ų"   U0173 # LATIN SMALL LETTER U WITH OGONEK
 <Multi_key> <semicolon> <u>      	: "ų"   U0173 # LATIN SMALL LETTER U WITH OGONEK
+<Multi_key> <u> <semicolon>      	: "ų"   U0173 # LATIN SMALL LETTER U WITH OGONEK
 <Multi_key> <comma> <u>         	: "ų"   U0173 # LATIN SMALL LETTER U WITH OGONEK
 <Multi_key> <u> <comma> 		: "ų"   U0173 # LATIN SMALL LETTER U WITH OGONEK
 <dead_circumflex> <W>            	: "Ŵ"   U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
@@ -1411,8 +1428,14 @@ XCOMM Part 3
 <Multi_key> <c> <k>              	: "ǩ"   U01E9 # LATIN SMALL LETTER K WITH CARON
 <dead_ogonek> <O>                	: "Ǫ"   U01EA # LATIN CAPITAL LETTER O WITH OGONEK
 <Multi_key> <semicolon> <O>      	: "Ǫ"   U01EA # LATIN CAPITAL LETTER O WITH OGONEK
+<Multi_key> <O> <semicolon>      	: "Ǫ"   U01EA # LATIN CAPITAL LETTER O WITH OGONEK
+<Multi_key> <comma> <O>      		: "Ǫ"   U01EA # LATIN CAPITAL LETTER O WITH OGONEK
+<Multi_key> <O> <comma>      		: "Ǫ"   U01EA # LATIN CAPITAL LETTER O WITH OGONEK
 <dead_ogonek> <o>                	: "ǫ"   U01EB # LATIN SMALL LETTER O WITH OGONEK
 <Multi_key> <semicolon> <o>      	: "ǫ"   U01EB # LATIN SMALL LETTER O WITH OGONEK
+<Multi_key> <o> <semicolon>      	: "ǫ"   U01EB # LATIN SMALL LETTER O WITH OGONEK
+<Multi_key> <comma> <o>      		: "ǫ"   U01EB # LATIN SMALL LETTER O WITH OGONEK
+<Multi_key> <o> <comma>      		: "ǫ"   U01EB # LATIN SMALL LETTER O WITH OGONEK
 <dead_macron> <U01EA>        	: "Ǭ"   U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
 <Multi_key> <macron> <U01EA> 	: "Ǭ"   U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
 <Multi_key> <underscore> <U01EA> 	: "Ǭ"   U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
@@ -2800,7 +2823,6 @@ XCOMM Part 3
 <Multi_key> <asciicircum> <exclam> <o> 	: "ộ"   U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
 <dead_belowdot> <ocircumflex>    	: "ộ"   U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
 <dead_acute> <Ohorn>             	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-<dead_acute> <U01A0>         	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
 <Multi_key> <acute> <Ohorn>      	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <Ohorn> 	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
 <dead_acute> <dead_horn> <O>     	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
@@ -2810,7 +2832,6 @@ XCOMM Part 3
 <Multi_key> <apostrophe> <dead_horn> <O> 	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <plus> <O> 	: "Ớ"   U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
 <dead_acute> <ohorn>             	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
-<dead_acute> <U01A1>         	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
 <Multi_key> <acute> <ohorn>      	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <ohorn> 	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
 <dead_acute> <dead_horn> <o>     	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
@@ -2820,56 +2841,48 @@ XCOMM Part 3
 <Multi_key> <apostrophe> <dead_horn> <o> 	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <plus> <o> 	: "ớ"   U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE
 <dead_grave> <Ohorn>             	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-<dead_grave> <U01A0>         	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <Ohorn>      	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <dead_grave> <dead_horn> <O>     	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <dead_grave> <Multi_key> <plus> <O> 	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <dead_horn> <O> 	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <plus> <O>   	: "Ờ"   U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
 <dead_grave> <ohorn>             	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
-<dead_grave> <U01A1>         	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <ohorn>      	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <dead_grave> <dead_horn> <o>     	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <dead_grave> <Multi_key> <plus> <o> 	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <dead_horn> <o> 	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <Multi_key> <grave> <plus> <o>   	: "ờ"   U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE
 <dead_hook> <Ohorn>              	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-<dead_hook> <U01A0>          	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <Ohorn>   	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <dead_hook> <dead_horn> <O>      	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <dead_hook> <Multi_key> <plus> <O> 	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <dead_horn> <O> 	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <plus> <O> 	: "Ở"   U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
 <dead_hook> <ohorn>              	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-<dead_hook> <U01A1>          	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <ohorn>   	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <dead_hook> <dead_horn> <o>      	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <dead_hook> <Multi_key> <plus> <o> 	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <dead_horn> <o> 	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <plus> <o> 	: "ở"   U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
 <dead_tilde> <Ohorn>             	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-<dead_tilde> <U01A0>         	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <Ohorn> 	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <dead_tilde> <dead_horn> <O>     	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <dead_tilde> <Multi_key> <plus> <O> 	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <dead_horn> <O> 	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <plus> <O> 	: "Ỡ"   U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE
 <dead_tilde> <ohorn>             	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
-<dead_tilde> <U01A1>         	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <ohorn> 	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <dead_tilde> <dead_horn> <o>     	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <dead_tilde> <Multi_key> <plus> <o> 	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <dead_horn> <o> 	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <Multi_key> <asciitilde> <plus> <o> 	: "ỡ"   U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE
 <dead_belowdot> <Ohorn>          	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-<dead_belowdot> <U01A0>      	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <Ohorn>     	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <dead_belowdot> <dead_horn> <O>  	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <dead_belowdot> <Multi_key> <plus> <O> 	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <dead_horn> <O> 	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <plus> <O>  	: "Ợ"   U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 <dead_belowdot> <ohorn>          	: "ợ"   U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-<dead_belowdot> <U01A1>      	: "ợ"   U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <ohorn>     	: "ợ"   U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
 <dead_belowdot> <dead_horn> <o>  	: "ợ"   U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
 <dead_belowdot> <Multi_key> <plus> <o> 	: "ợ"   U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
@@ -2884,7 +2897,6 @@ XCOMM Part 3
 <dead_hook> <u>                  	: "ủ"   U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE
 <Multi_key> <question> <u>       	: "ủ"   U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE
 <dead_acute> <Uhorn>             	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-<dead_acute> <U01AF>         	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 <Multi_key> <acute> <Uhorn>      	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <Uhorn> 	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 <dead_acute> <dead_horn> <U>     	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
@@ -2894,7 +2906,6 @@ XCOMM Part 3
 <Multi_key> <apostrophe> <dead_horn> <U> 	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <plus> <U> 	: "Ứ"   U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 <dead_acute> <uhorn>             	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
-<dead_acute> <U01B0>         	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
 <Multi_key> <acute> <uhorn>      	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <uhorn> 	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
 <dead_acute> <dead_horn> <u>     	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
@@ -2904,56 +2915,48 @@ XCOMM Part 3
 <Multi_key> <apostrophe> <dead_horn> <u> 	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
 <Multi_key> <apostrophe> <plus> <u> 	: "ứ"   U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE
 <dead_grave> <Uhorn>             	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-<dead_grave> <U01AF>         	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <Uhorn>      	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <dead_grave> <dead_horn> <U>     	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <dead_grave> <Multi_key> <plus> <U> 	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <dead_horn> <U> 	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <plus> <U>   	: "Ừ"   U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
 <dead_grave> <uhorn>             	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
-<dead_grave> <U01B0>         	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <uhorn>      	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <dead_grave> <dead_horn> <u>     	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <dead_grave> <Multi_key> <plus> <u> 	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <dead_horn> <u> 	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <Multi_key> <grave> <plus> <u>   	: "ừ"   U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE
 <dead_hook> <Uhorn>              	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-<dead_hook> <U01AF>          	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <Uhorn>   	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <dead_hook> <dead_horn> <U>      	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <dead_hook> <Multi_key> <plus> <U> 	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <dead_horn> <U> 	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <plus> <U> 	: "Ử"   U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
 <dead_hook> <uhorn>              	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-<dead_hook> <U01B0>          	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <uhorn>   	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <dead_hook> <dead_horn> <u>      	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <dead_hook> <Multi_key> <plus> <u> 	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <dead_horn> <u> 	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <Multi_key> <question> <plus> <u> 	: "ử"   U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
 <dead_tilde> <Uhorn>             	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-<dead_tilde> <U01AF>         	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <Uhorn> 	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <dead_tilde> <dead_horn> <U>     	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <dead_tilde> <Multi_key> <plus> <U> 	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <dead_horn> <U> 	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <plus> <U> 	: "Ữ"   U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE
 <dead_tilde> <uhorn>             	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
-<dead_tilde> <U01B0>         	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <uhorn> 	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <dead_tilde> <dead_horn> <u>     	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <dead_tilde> <Multi_key> <plus> <u> 	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <dead_horn> <u> 	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <Multi_key> <asciitilde> <plus> <u> 	: "ữ"   U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE
 <dead_belowdot> <Uhorn>          	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-<dead_belowdot> <U01AF>      	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <Uhorn>     	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <dead_belowdot> <dead_horn> <U>  	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <dead_belowdot> <Multi_key> <plus> <U> 	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <dead_horn> <U> 	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <plus> <U>  	: "Ự"   U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 <dead_belowdot> <uhorn>          	: "ự"   U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-<dead_belowdot> <U01B0>      	: "ự"   U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
 <Multi_key> <exclam> <uhorn>     	: "ự"   U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
 <dead_belowdot> <dead_horn> <u>  	: "ự"   U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
 <dead_belowdot> <Multi_key> <plus> <u> 	: "ự"   U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
@@ -4426,7 +4429,8 @@ XCOMM Part 3
 <Multi_key> <asciicircum> <plus> 	: "⁺"   U207A # SUPERSCRIPT PLUS SIGN
 <dead_circumflex> <KP_Add>       	: "⁺"   U207A # SUPERSCRIPT PLUS SIGN
 <Multi_key> <asciicircum> <KP_Add> 	: "⁺"   U207A # SUPERSCRIPT PLUS SIGN
-<dead_circumflex> <U2212>    	: "⁻"   U207B # SUPERSCRIPT MINUS
+<dead_circumflex> <minus> 		: "⁻"   U207B # SUPERSCRIPT MINUS
+<dead_circumflex> <U2212> 		: "⁻"   U207B # SUPERSCRIPT MINUS
 <Multi_key> <asciicircum> <U2212> 	: "⁻"   U207B # SUPERSCRIPT MINUS
 <dead_circumflex> <equal>        	: "⁼"   U207C # SUPERSCRIPT EQUALS SIGN
 <Multi_key> <asciicircum> <equal> 	: "⁼"   U207C # SUPERSCRIPT EQUALS SIGN
@@ -4536,6 +4540,7 @@ XCOMM Part 3
 <Multi_key> <KP_Divide> <U2194> 	: "↮"   U21AE # LEFT RIGHT ARROW WITH STROKE
 <Multi_key> <less> <minus> 	: "←" U2190 # LEFTWARDS ARROW
 <Multi_key> <minus> <greater> 	: "→" U2192 # RIGHTWARDS ARROW
+<Multi_key> <equal> <greater> 	: "⇒" U21D2 # RIGHTWARDS DOUBLE ARROW
 <Multi_key> <U2203> <U0338> 	: "∄"   U2204 # THERE DOES NOT EXIST
 <Multi_key> <braceleft> <braceright>	: "∅"   U2205 # EMPTY SET
 <Multi_key> <U2208> <U0338> 	: "∉"   U2209 # NOT AN ELEMENT OF
@@ -5069,13 +5074,18 @@ XCOMM Part 3
 <Multi_key> <parenleft> <U30F0> <parenright> 	: "㋼"   U32FC # CIRCLED KATAKANA WI
 <Multi_key> <parenleft> <U30F1> <parenright> 	: "㋽"   U32FD # CIRCLED KATAKANA WE
 <Multi_key> <parenleft> <kana_WO> <parenright> 	: "㋾"   U32FE # CIRCLED KATAKANA WO
+
+XCOMM
+XCOMM Hebrew letters with accents
+XCOMM
+
 <Multi_key> <U05B4> <hebrew_yod> 	: "יִ"   UFB1D # HEBREW LETTER YOD WITH HIRIQ
-<Multi_key> <U05B7> <U05F2> 	: "ײַ"   UFB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+<Multi_key> <U05B7> <U05F2> 		: "ײַ"   UFB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH
 <Multi_key> <U05C1> <hebrew_shin> 	: "שׁ"   UFB2A # HEBREW LETTER SHIN WITH SHIN DOT
 <Multi_key> <U05C2> <hebrew_shin> 	: "שׂ"   UFB2B # HEBREW LETTER SHIN WITH SIN DOT
-<Multi_key> <U05C1> <UFB49> 	: "שּׁ"   UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+<Multi_key> <U05C1> <UFB49> 			: "שּׁ"   UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
 <Multi_key> <U05C1> <U05BC> <hebrew_shin> 	: "שּׁ"   UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-<Multi_key> <U05C2> <UFB49> 	: "שּׂ"   UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+<Multi_key> <U05C2> <UFB49> 			: "שּׂ"   UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
 <Multi_key> <U05C2> <U05BC> <hebrew_shin> 	: "שּׂ"   UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
 <Multi_key> <U05B7> <hebrew_aleph> 	: "אַ"   UFB2E # HEBREW LETTER ALEF WITH PATAH
 <Multi_key> <U05B8> <hebrew_aleph> 	: "אָ"   UFB2F # HEBREW LETTER ALEF WITH QAMATS
@@ -5216,7 +5226,6 @@ XCOMM
 <dead_cedilla> <U0114> 		      : "Ḝ"   U1E1C               # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
 <dead_cedilla> <U0115> 		      : "ḝ"   U1E1D               # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
 <dead_cedilla> <nobreakspace> 	      : "̧"   U0327               # COMBINING CEDILLA
-<dead_circumflex> <minus> 	      : "⁻"   U207B               # SUPERSCRIPT MINUS
 <dead_circumflex> <Aacute> 	      : "Ấ"   Acircumflexacute    # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
 <dead_circumflex> <Agrave> 	      : "Ầ"   Acircumflexgrave    # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
 <dead_circumflex> <Ahook> 	      : "Ẩ"   Acircumflexhook     # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
@@ -5243,9 +5252,17 @@ XCOMM
 <dead_circumflex> <otilde> 	      : "ỗ"   ocircumflextilde    # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
 <dead_circumflex> <nobreakspace>      : "̂"   U0302               # COMBINING CIRCUMFLEX ACCENT
 <dead_belowcomma> <S> 		      : "Ș"   U0218               # LATIN CAPITAL LETTER S WITH COMMA BELOW
+<Multi_key> <semicolon> <S> 	      : "Ș"   U0218               # LATIN CAPITAL LETTER S WITH COMMA BELOW
+<Multi_key> <S> <semicolon> 	      : "Ș"   U0218               # LATIN CAPITAL LETTER S WITH COMMA BELOW
 <dead_belowcomma> <s> 		      : "ș"   U0219               # LATIN SMALL LETTER S WITH COMMA BELOW
+<Multi_key> <semicolon> <s> 	      : "ș"   U0219               # LATIN SMALL LETTER S WITH COMMA BELOW
+<Multi_key> <s> <semicolon> 	      : "ș"   U0219               # LATIN SMALL LETTER S WITH COMMA BELOW
 <dead_belowcomma> <T> 		      : "Ț"   U021A               # LATIN CAPITAL LETTER T WITH COMMA BELOW
+<Multi_key> <semicolon> <T> 	      : "Ț"   U021A               # LATIN CAPITAL LETTER T WITH COMMA BELOW
+<Multi_key> <T> <semicolon> 	      : "Ț"   U021A               # LATIN CAPITAL LETTER T WITH COMMA BELOW
 <dead_belowcomma> <t> 		      : "ț"   U021B               # LATIN SMALL LETTER T WITH COMMA BELOW
+<Multi_key> <semicolon> <t> 	      : "ț"   U021B               # LATIN SMALL LETTER T WITH COMMA BELOW
+<Multi_key> <t> <semicolon> 	      : "ț"   U021B               # LATIN SMALL LETTER T WITH COMMA BELOW
 <dead_belowcomma> <dead_belowcomma>   : ","   comma               # COMMA
 <dead_belowcomma> <nobreakspace>      : "̦"   U0326               # COMBINING COMMA BELOW
 <dead_belowcomma> <space> 	      : ","   comma               # COMMA
@@ -5859,8 +5876,8 @@ XCOMM Characters from "Mathematical Oper
 <Multi_key> <greater> <less>                    : "⋄"   U22c4   # > < DIAMOND OPERATOR
 <Multi_key> <U2227> <U2228>                     : "⋄"   U22c4   # ∧ ∨ DIAMOND OPERATOR
 <Multi_key> <U2228> <U2227>                     : "⋄"   U22c4   # ∨ ∧ DIAMOND OPERATOR
-<Multi_key> <colon> <period>                    : "∴"   therefore # THEREFORE
-<Multi_key> <period> <colon>                    : "∵"   because # BECAUSE
+<Multi_key> <colon> <period>                    : "∴"   therefore   # : . THEREFORE
+<Multi_key> <period> <colon>                    : "∵"   because     # . : BECAUSE
 
 XCOMM Characters from "Miscellaneous Technical"
 

Index: xsrc/external/mit/libX11/dist/src/Font.c
diff -u xsrc/external/mit/libX11/dist/src/Font.c:1.3 xsrc/external/mit/libX11/dist/src/Font.c:1.4
--- xsrc/external/mit/libX11/dist/src/Font.c:1.3	Sun Mar 16 22:48:34 2014
+++ xsrc/external/mit/libX11/dist/src/Font.c	Sun Jul 19 08:13:11 2015
@@ -170,8 +170,8 @@ XFreeFont(
 #endif
     }
     _XFreeExtData(fs->ext_data);
-    if (fs->properties)
-	Xfree (fs->properties);
+
+    Xfree (fs->properties);
     Xfree (fs);
     return 1;
 }
@@ -271,7 +271,7 @@ _XQueryFont (
 	    }
 	}
 	if (! fs->per_char) {
-	    if (fs->properties) Xfree(fs->properties);
+	    Xfree(fs->properties);
 	    Xfree(fs);
 	    _XEatDataWords(dpy, reply_left);
 	    return (XFontStruct *)NULL;
@@ -524,14 +524,14 @@ _XF86BigfontQueryFont (
 	             + (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16);
 	    pUniqCI = Xmalloc (nbytes);
 	    if (!pUniqCI) {
-		if (fs->properties) Xfree(fs->properties);
+		Xfree(fs->properties);
 		Xfree(fs);
 		_XEatDataWords(dpy, reply_left);
 		return (XFontStruct *)NULL;
 	    }
 	    if (! (fs->per_char = Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) {
 		Xfree(pUniqCI);
-		if (fs->properties) Xfree(fs->properties);
+		Xfree(fs->properties);
 		Xfree(fs);
 		_XEatDataWords(dpy, reply_left);
 		return (XFontStruct *)NULL;
@@ -542,7 +542,7 @@ _XF86BigfontQueryFont (
 		if (pIndex2UniqIndex[i] >= reply.nUniqCharInfos) {
 		    fprintf(stderr, "_XF86BigfontQueryFont: server returned wrong data\n");
 		    Xfree(pUniqCI);
-		    if (fs->properties) Xfree(fs->properties);
+		    Xfree(fs->properties);
 		    Xfree(fs);
 		    return (XFontStruct *)NULL;
 		}
@@ -558,7 +558,7 @@ _XF86BigfontQueryFont (
 
 	    pData = Xmalloc(sizeof(XExtData));
 	    if (!pData) {
-		if (fs->properties) Xfree(fs->properties);
+		Xfree(fs->properties);
 		Xfree(fs);
 		return (XFontStruct *)NULL;
 	    }
@@ -578,7 +578,7 @@ _XF86BigfontQueryFont (
 		if (extcodes->serverCapabilities & CAP_VerifiedLocal)
 		    fprintf(stderr, "_XF86BigfontQueryFont: could not attach shm segment\n");
 	        Xfree(pData);
-	        if (fs->properties) Xfree(fs->properties);
+	        Xfree(fs->properties);
 	        Xfree(fs);
 		/* Stop requesting shared memory transport from now on. */
 		extcodes->serverCapabilities &= ~ XF86Bigfont_CAP_LocalShm;
@@ -593,7 +593,7 @@ _XF86BigfontQueryFont (
 		      && *(CARD32 *)(addr + reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct)) == extcodes->serverSignature)) {
 		    shmdt(addr);
 		    Xfree(pData);
-		    if (fs->properties) Xfree(fs->properties);
+		    Xfree(fs->properties);
 		    Xfree(fs);
 		    /* Stop requesting shared memory transport from now on. */
 		    extcodes->serverCapabilities &= ~ XF86Bigfont_CAP_LocalShm;
@@ -697,8 +697,8 @@ int _XF86LoadQueryLocaleFont(
 #endif
 	}
 	_XFreeExtData(fs->ext_data);
-	if (fs->properties)
-	    Xfree (fs->properties);
+
+	Xfree (fs->properties);
 	*fidp = fs->fid;
 	Xfree (fs);
     } else {
Index: xsrc/external/mit/libX11/dist/src/FontNames.c
diff -u xsrc/external/mit/libX11/dist/src/FontNames.c:1.3 xsrc/external/mit/libX11/dist/src/FontNames.c:1.4
--- xsrc/external/mit/libX11/dist/src/FontNames.c:1.3	Sun Mar 16 22:48:34 2014
+++ xsrc/external/mit/libX11/dist/src/FontNames.c	Sun Jul 19 08:13:11 2015
@@ -73,8 +73,8 @@ int *actualCount)	/* RETURN */
 	}
 
 	if ((! flist) || (! ch)) {
-	    if (flist) Xfree(flist);
-	    if (ch) Xfree(ch);
+	    Xfree(flist);
+	    Xfree(ch);
 	    _XEatDataWords(dpy, rep.length);
 	    *actualCount = 0;
 	    UnlockDisplay(dpy);
Index: xsrc/external/mit/libX11/dist/src/GetFPath.c
diff -u xsrc/external/mit/libX11/dist/src/GetFPath.c:1.3 xsrc/external/mit/libX11/dist/src/GetFPath.c:1.4
--- xsrc/external/mit/libX11/dist/src/GetFPath.c:1.3	Sun Mar 16 22:48:34 2014
+++ xsrc/external/mit/libX11/dist/src/GetFPath.c	Sun Jul 19 08:13:11 2015
@@ -57,8 +57,8 @@ char **XGetFontPath(
 	    }
 
 	    if ((! flist) || (! ch)) {
-		if (flist) Xfree(flist);
-		if (ch) Xfree(ch);
+		Xfree(flist);
+		Xfree(ch);
 		_XEatDataWords(dpy, rep.length);
 		UnlockDisplay(dpy);
 		SyncHandle();
Index: xsrc/external/mit/libX11/dist/src/ListExt.c
diff -u xsrc/external/mit/libX11/dist/src/ListExt.c:1.3 xsrc/external/mit/libX11/dist/src/ListExt.c:1.4
--- xsrc/external/mit/libX11/dist/src/ListExt.c:1.3	Sun Mar 16 22:48:34 2014
+++ xsrc/external/mit/libX11/dist/src/ListExt.c	Sun Jul 19 08:13:11 2015
@@ -62,8 +62,8 @@ char **XListExtensions(
 	    }
 
 	    if ((!list) || (!ch)) {
-		if (list) Xfree(list);
-		if (ch)   Xfree(ch);
+		Xfree(list);
+		Xfree(ch);
 		_XEatDataWords(dpy, rep.length);
 		UnlockDisplay(dpy);
 		SyncHandle();

Index: xsrc/external/mit/libX11/dist/src/ModMap.c
diff -u xsrc/external/mit/libX11/dist/src/ModMap.c:1.4 xsrc/external/mit/libX11/dist/src/ModMap.c:1.5
--- xsrc/external/mit/libX11/dist/src/ModMap.c:1.4	Sun Mar 30 16:39:42 2014
+++ xsrc/external/mit/libX11/dist/src/ModMap.c	Sun Jul 19 08:13:11 2015
@@ -50,7 +50,7 @@ XGetModifierMapping(register Display *dp
     } else
 	res = NULL;
     if ((! res) || (! res->modifiermap)) {
-	if (res) Xfree(res);
+	Xfree(res);
 	res = (XModifierKeymap *) NULL;
 	_XEatDataWords(dpy, rep.length);
     } else {
@@ -114,8 +114,7 @@ int
 XFreeModifiermap(XModifierKeymap *map)
 {
     if (map) {
-	if (map->modifiermap)
-	    Xfree(map->modifiermap);
+        Xfree(map->modifiermap);
 	Xfree(map);
     }
     return 1;

Index: xsrc/external/mit/libX11/dist/src/XlibInt.c
diff -u xsrc/external/mit/libX11/dist/src/XlibInt.c:1.7 xsrc/external/mit/libX11/dist/src/XlibInt.c:1.8
--- xsrc/external/mit/libX11/dist/src/XlibInt.c:1.7	Mon Aug 25 11:48:49 2014
+++ xsrc/external/mit/libX11/dist/src/XlibInt.c	Sun Jul 19 08:13:11 2015
@@ -74,27 +74,6 @@ xthread_t (*_Xthread_self_fn)(void) = NU
 
 #endif /* XTHREADS */
 
-/* check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
- * systems are broken and return EWOULDBLOCK when they should return EAGAIN
- */
-#ifdef WIN32
-#define ETEST() (WSAGetLastError() == WSAEWOULDBLOCK)
-#else
-#ifdef __CYGWIN__ /* Cygwin uses ENOBUFS to signal socket is full */
-#define ETEST() (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS)
-#else
-#if defined(EAGAIN) && defined(EWOULDBLOCK)
-#define ETEST() (errno == EAGAIN || errno == EWOULDBLOCK)
-#else
-#ifdef EAGAIN
-#define ETEST() (errno == EAGAIN)
-#else
-#define ETEST() (errno == EWOULDBLOCK)
-#endif /* EAGAIN */
-#endif /* EAGAIN && EWOULDBLOCK */
-#endif /* __CYGWIN__ */
-#endif /* WIN32 */
-
 #ifdef WIN32
 #define ECHECK(err) (WSAGetLastError() == err)
 #define ESET(val) WSASetLastError(val)
@@ -108,18 +87,6 @@ xthread_t (*_Xthread_self_fn)(void) = NU
 #endif
 #endif
 
-#if defined(LOCALCONN) || defined(LACHMAN)
-#ifdef EMSGSIZE
-#define ESZTEST() (ECHECK(EMSGSIZE) || ECHECK(ERANGE))
-#else
-#define ESZTEST() ECHECK(ERANGE)
-#endif
-#else
-#ifdef EMSGSIZE
-#define ESZTEST() ECHECK(EMSGSIZE)
-#endif
-#endif
-
 #ifdef __UNIXOS2__
 #include <limits.h>
 #define MAX_PATH _POSIX_PATH_MAX
@@ -431,8 +398,7 @@ _XUnregisterInternalConnection(
 		 watch=watch->next, wd++) {
 		(*watch->fn) (dpy, watch->client_data, fd, False, wd);
 	    }
-	    if (info_list->watch_data)
-		Xfree (info_list->watch_data);
+	    Xfree (info_list->watch_data);
 	    Xfree (info_list);
 	    break;
 	}
@@ -1517,8 +1483,9 @@ char *_XAllocScratch(
 	unsigned long nbytes)
 {
 	if (nbytes > dpy->scratch_length) {
-	    if (dpy->scratch_buffer) Xfree (dpy->scratch_buffer);
-	    if ((dpy->scratch_buffer = Xmalloc(nbytes)))
+	    Xfree (dpy->scratch_buffer);
+	    dpy->scratch_buffer = Xmalloc(nbytes);
+	    if (dpy->scratch_buffer)
 		dpy->scratch_length = nbytes;
 	    else dpy->scratch_length = 0;
 	}
@@ -1546,8 +1513,8 @@ void _XFreeTemp(
     char *buf,
     unsigned long nbytes)
 {
-    if (dpy->scratch_buffer)
-	Xfree(dpy->scratch_buffer);
+
+    Xfree(dpy->scratch_buffer);
     dpy->scratch_buffer = buf;
     dpy->scratch_length = nbytes;
 }

Index: xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c
diff -u xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.2 xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.3
--- xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c:1.2	Sun Jul 13 16:37:45 2014
+++ xsrc/external/mit/libX11/dist/src/xkb/XKBMAlloc.c	Sun Jul 19 08:13:11 2015
@@ -226,18 +226,16 @@ XkbCopyKeyType(XkbKeyTypePtr from, XkbKe
 {
     if ((!from) || (!into))
         return BadMatch;
-    if (into->map) {
-        _XkbFree(into->map);
-        into->map = NULL;
-    }
-    if (into->preserve) {
-        _XkbFree(into->preserve);
-        into->preserve = NULL;
-    }
-    if (into->level_names) {
-        _XkbFree(into->level_names);
-        into->level_names = NULL;
-    }
+
+    _XkbFree(into->map);
+    into->map = NULL;
+
+    _XkbFree(into->preserve);
+    into->preserve = NULL;
+
+    _XkbFree(into->level_names);
+    into->level_names = NULL;
+
     *into = *from;
     if ((from->map) && (into->map_count > 0)) {
         into->map = _XkbTypedCalloc(into->map_count, XkbKTMapEntryRec);
@@ -302,7 +300,7 @@ XkbAddKeyType(XkbDescPtr xkb,
             }
         }
     }
-    if ((!map) || (!map->types) || !(map->num_types < XkbNumRequiredTypes)) {
+    if ((!map) || (!map->types) || (map->num_types < XkbNumRequiredTypes)) {
         tmp = XkbNumRequiredTypes + 1;
         if (XkbAllocClientMap(xkb, XkbKeyTypesMask, tmp) != Success)
             return NULL;
@@ -385,11 +383,9 @@ XkbResizeKeyType(XkbDescPtr xkb,
     }
     type = &xkb->map->types[type_ndx];
     if (map_count == 0) {
-        if (type->map != NULL)
-            _XkbFree(type->map);
+        _XkbFree(type->map);
         type->map = NULL;
-        if (type->preserve != NULL)
-            _XkbFree(type->preserve);
+        _XkbFree(type->preserve);
         type->preserve = NULL;
         type->map_count = 0;
     }
@@ -400,8 +396,7 @@ XkbResizeKeyType(XkbDescPtr xkb,
             type->map =
                 _XkbTypedRealloc(type->map, map_count, XkbKTMapEntryRec);
         if (!type->map) {
-            if (prev_map)
-                _XkbFree(prev_map);
+            _XkbFree(prev_map);
             return BadAlloc;
         }
         if (want_preserve) {
@@ -412,12 +407,11 @@ XkbResizeKeyType(XkbDescPtr xkb,
                                                   XkbModsRec);
             }
             if (!type->preserve) {
-                if (prev_preserve)
-                    _XkbFree(prev_preserve);
+                _XkbFree(prev_preserve);
                 return BadAlloc;
             }
         }
-        else if (type->preserve != NULL) {
+        else {
             _XkbFree(type->preserve);
             type->preserve = NULL;
         }
@@ -430,8 +424,7 @@ XkbResizeKeyType(XkbDescPtr xkb,
         type->level_names =
             _XkbTypedRealloc(type->level_names, new_num_lvls, Atom);
         if (!type->level_names) {
-            if (prev_level_names)
-                _XkbFree(prev_level_names);
+            _XkbFree(prev_level_names);
             return BadAlloc;
         }
     }
@@ -919,19 +912,16 @@ XkbFreeClientMap(XkbDescPtr xkb, unsigne
                 XkbKeyTypePtr type;
 
                 for (i = 0, type = map->types; i < map->num_types; i++, type++) {
-                    if (type->map != NULL) {
-                        _XkbFree(type->map);
-                        type->map = NULL;
-                    }
-                    if (type->preserve != NULL) {
-                        _XkbFree(type->preserve);
-                        type->preserve = NULL;
-                    }
+                    _XkbFree(type->map);
+                    type->map = NULL;
+
+                    _XkbFree(type->preserve);
+                    type->preserve = NULL;
+
                     type->map_count = 0;
-                    if (type->level_names != NULL) {
-                        _XkbFree(type->level_names);
-                        type->level_names = NULL;
-                    }
+
+                    _XkbFree(type->level_names);
+                    type->level_names = NULL;
                 }
             }
             _XkbFree(map->types);
@@ -940,17 +930,14 @@ XkbFreeClientMap(XkbDescPtr xkb, unsigne
         }
     }
     if (what & XkbKeySymsMask) {
-        if (map->key_sym_map != NULL) {
-            _XkbFree(map->key_sym_map);
-            map->key_sym_map = NULL;
-        }
-        if (map->syms != NULL) {
-            _XkbFree(map->syms);
-            map->size_syms = map->num_syms = 0;
-            map->syms = NULL;
-        }
+        _XkbFree(map->key_sym_map);
+        map->key_sym_map = NULL;
+
+        _XkbFree(map->syms);
+        map->size_syms = map->num_syms = 0;
+        map->syms = NULL;
     }
-    if ((what & XkbModifierMapMask) && (map->modmap != NULL)) {
+    if (what & XkbModifierMapMask) {
         _XkbFree(map->modmap);
         map->modmap = NULL;
     }
@@ -971,26 +958,23 @@ XkbFreeServerMap(XkbDescPtr xkb, unsigne
     if (freeMap)
         what = XkbAllServerInfoMask;
     map = xkb->server;
-    if ((what & XkbExplicitComponentsMask) && (map->explicit != NULL)) {
+    if (what & XkbExplicitComponentsMask) {
         _XkbFree(map->explicit);
         map->explicit = NULL;
     }
     if (what & XkbKeyActionsMask) {
-        if (map->key_acts != NULL) {
-            _XkbFree(map->key_acts);
+           _XkbFree(map->key_acts);
             map->key_acts = NULL;
-        }
-        if (map->acts != NULL) {
-            _XkbFree(map->acts);
+
+           _XkbFree(map->acts);
             map->num_acts = map->size_acts = 0;
             map->acts = NULL;
-        }
     }
-    if ((what & XkbKeyBehaviorsMask) && (map->behaviors != NULL)) {
+    if (what & XkbKeyBehaviorsMask) {
         _XkbFree(map->behaviors);
         map->behaviors = NULL;
     }
-    if ((what & XkbVirtualModMapMask) && (map->vmodmap != NULL)) {
+    if (what & XkbVirtualModMapMask)  {
         _XkbFree(map->vmodmap);
         map->vmodmap = NULL;
     }

Reply via email to