Module Name:    xsrc
Committed By:   mrg
Date:           Tue Apr 27 06:14:35 UTC 2021

Modified Files:
        xsrc/external/mit/libX11/dist/m4: libtool.m4
        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: XlibInt.c
Removed Files:
        xsrc/external/mit/libX11/dist/nls/sr_CS.UTF-8: Compose.pre XI18N_OBJS
            XLC_LOCALE.pre

Log Message:
merge libX11 1.7.0.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 xsrc/external/mit/libX11/dist/m4/libtool.m4
cvs rdiff -u -r1.7 -r1.8 \
    xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
cvs rdiff -u -r1.6 -r1.7 \
    xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre
cvs rdiff -u -r1.1.1.2 -r0 \
    xsrc/external/mit/libX11/dist/nls/sr_CS.UTF-8/Compose.pre
cvs rdiff -u -r1.1.1.1 -r0 \
    xsrc/external/mit/libX11/dist/nls/sr_CS.UTF-8/XI18N_OBJS \
    xsrc/external/mit/libX11/dist/nls/sr_CS.UTF-8/XLC_LOCALE.pre
cvs rdiff -u -r1.13 -r1.14 xsrc/external/mit/libX11/dist/src/XlibInt.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/m4/libtool.m4
diff -u xsrc/external/mit/libX11/dist/m4/libtool.m4:1.9 xsrc/external/mit/libX11/dist/m4/libtool.m4:1.10
--- xsrc/external/mit/libX11/dist/m4/libtool.m4:1.9	Fri Jul 31 19:29:52 2020
+++ xsrc/external/mit/libX11/dist/m4/libtool.m4	Tue Apr 27 06:14:35 2021
@@ -1041,8 +1041,8 @@ int forced_loaded() { return 2;}
 _LT_EOF
       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
       cat > conftest.c << _LT_EOF
@@ -1492,7 +1492,7 @@ need_locks=$enable_libtool_lock
 m4_defun([_LT_PROG_AR],
 [AC_CHECK_TOOLS(AR, [ar], false)
 : ${AR=ar}
-: ${AR_FLAGS=cru}
+: ${AR_FLAGS=cr}
 _LT_DECL([], [AR], [1], [The archiver])
 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
 
@@ -4063,7 +4063,8 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -4703,6 +4704,12 @@ m4_if([$1], [CXX], [
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      # flang / f18. f95 an alias for gfortran or flang on Debian
+      flang* | f18* | f95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
@@ -6438,7 +6445,7 @@ if test yes != "$_lt_caught_CXX_error"; 
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
     else
       GXX=no
@@ -6813,7 +6820,7 @@ if test yes != "$_lt_caught_CXX_error"; 
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test yes = "$GXX"; then
@@ -6878,7 +6885,7 @@ if test yes != "$_lt_caught_CXX_error"; 
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test yes = "$GXX"; then
@@ -7217,7 +7224,7 @@ if test yes != "$_lt_caught_CXX_error"; 
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -7301,7 +7308,7 @@ if test yes != "$_lt_caught_CXX_error"; 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 	      else
 	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
 	        # platform.
@@ -7312,7 +7319,7 @@ if test yes != "$_lt_caught_CXX_error"; 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
 	      fi
 
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'

Index: xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c
diff -u xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.7 xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.8
--- xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c:1.7	Sun Jul 19 08:13:11 2015
+++ xsrc/external/mit/libX11/dist/modules/lc/gen/lcGenConv.c	Tue Apr 27 06:14:35 2021
@@ -940,7 +940,7 @@ wcstombs_org(
             if (*to_left < defstr_len)
 		break;
 	    if (outbufptr) {
-                strncpy((char *)outbufptr, default_string, defstr_len);
+                memcpy(outbufptr, default_string, defstr_len);
                 outbufptr += defstr_len;
             }
 	    (*to_left) -= defstr_len;
@@ -976,7 +976,7 @@ wcstombs_org(
                     if (*to_left < length)
 		        break;
 	            if (outbufptr) {
-                        strncpy((char *)outbufptr, encoding, length);
+			memcpy(outbufptr, encoding, length);
 	                outbufptr += length;
                     }
 	            (*to_left) -= length;
@@ -1966,7 +1966,7 @@ wcstostr(
             if (*to_left < defstr_len)
 		break;
 	    if (outbufptr) {
-                strncpy((char *)outbufptr, default_string, defstr_len);
+		memcpy(outbufptr, default_string, defstr_len);
 	        outbufptr += defstr_len;
             }
 	    (*to_left) -= defstr_len;
@@ -2005,7 +2005,7 @@ wcstostr(
 		            break;
 
 	                if (outbufptr) {
-                            strncpy((char *)outbufptr, encoding, length);
+			    memcpy(outbufptr, encoding, length);
 	                    outbufptr += length;
                         }
 	                (*to_left) -= length;
@@ -2462,7 +2462,7 @@ strtombs(
                 if (*to_left < length)
 		    break;
 	        if (outbufptr) {
-                    strncpy((char *)outbufptr, encoding, length);
+		    memcpy(outbufptr, encoding, length);
 	            outbufptr += length;
                 }
 	        (*to_left) -= length;

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.6 xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.7
--- xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre:1.6	Fri Jul 31 19:29:52 2020
+++ xsrc/external/mit/libX11/dist/nls/en_US.UTF-8/Compose.pre	Tue Apr 27 06:14:35 2021
@@ -88,6 +88,12 @@ XCOMM on some keyboards.
 <Multi_key> <minus> <space>      	: "~"   asciitilde # TILDE
 <Multi_key> <space> <minus>      	: "~"   asciitilde # TILDE
 
+<Multi_key> <L> <T>                 : "<"   less # LESS-THAN
+<Multi_key> <l> <t>                 : "<"   less # LESS-THAN
+
+<Multi_key> <G> <T>                 : ">"   greater # GREATER-THAN
+<Multi_key> <g> <t>                 : ">"   greater # GREATER-THAN
+
 XCOMM Spaces
 <Multi_key> <space> <space>      	: " "   nobreakspace # NO-BREAK SPACE
 <Multi_key> <space> <period>     	: " "   U2008 # PUNCTUATION SPACE
@@ -876,18 +882,22 @@ XCOMM Part 3
 <Multi_key> <c> <period> 		: "ċ"   U010B # LATIN SMALL LETTER C WITH DOT ABOVE
 <dead_caron> <C>                 	: "Č"   U010C # LATIN CAPITAL LETTER C WITH CARON
 <Multi_key> <c> <C>              	: "Č"   U010C # LATIN CAPITAL LETTER C WITH CARON
+<Multi_key> <v> <C>              	: "Č"   U010C # LATIN CAPITAL LETTER C WITH CARON
 <Multi_key> <less> <C> 			: "Č"   U010C # LATIN CAPITAL LETTER C WITH CARON
 <Multi_key> <C> <less> 			: "Č"   U010C # LATIN CAPITAL LETTER C WITH CARON
 <dead_caron> <c>                 	: "č"   U010D # LATIN SMALL LETTER C WITH CARON
 <Multi_key> <c> <c>              	: "č"   U010D # LATIN SMALL LETTER C WITH CARON
+<Multi_key> <v> <c>              	: "č"   U010D # LATIN SMALL LETTER C WITH CARON
 <Multi_key> <less> <c> 			: "č"   U010D # LATIN SMALL LETTER C WITH CARON
 <Multi_key> <c> <less> 			: "č"   U010D # LATIN SMALL LETTER C WITH CARON
 <dead_caron> <D>                 	: "Ď"   U010E # LATIN CAPITAL LETTER D WITH CARON
 <Multi_key> <c> <D>              	: "Ď"   U010E # LATIN CAPITAL LETTER D WITH CARON
+<Multi_key> <v> <D>              	: "Ď"   U010E # LATIN CAPITAL LETTER D WITH CARON
 <Multi_key> <less> <D> 			: "Ď"   U010E # LATIN CAPITAL LETTER D WITH CARON
 <Multi_key> <D> <less> 			: "Ď"   U010E # LATIN CAPITAL LETTER D WITH CARON
 <dead_caron> <d>                 	: "ď"   U010F # LATIN SMALL LETTER D WITH CARON
 <Multi_key> <c> <d>              	: "ď"   U010F # LATIN SMALL LETTER D WITH CARON
+<Multi_key> <v> <d>              	: "ď"   U010F # LATIN SMALL LETTER D WITH CARON
 <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
@@ -936,10 +946,12 @@ XCOMM Part 3
 <Multi_key> <e> <comma> 		: "ę"   U0119 # LATIN SMALL LETTER E WITH OGONEK
 <dead_caron> <E>                 	: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
 <Multi_key> <c> <E>              	: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
+<Multi_key> <v> <E>              	: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
 <Multi_key> <less> <E> 			: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
 <Multi_key> <E> <less> 			: "Ě"   U011A # LATIN CAPITAL LETTER E WITH CARON
 <dead_caron> <e>                 	: "ě"   U011B # LATIN SMALL LETTER E WITH CARON
 <Multi_key> <c> <e>              	: "ě"   U011B # LATIN SMALL LETTER E WITH CARON
+<Multi_key> <v> <e>              	: "ě"   U011B # LATIN SMALL LETTER E WITH CARON
 <Multi_key> <less> <e> 			: "ě"   U011B # LATIN SMALL LETTER E WITH CARON
 <Multi_key> <e> <less> 			: "ě"   U011B # LATIN SMALL LETTER E WITH CARON
 <dead_circumflex> <G>            	: "Ĝ"   U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
@@ -1087,10 +1099,12 @@ XCOMM Part 3
 <Multi_key> <cedilla> <n>          	: "ņ"   U0146 # LATIN SMALL LETTER N WITH CEDILLA
 <dead_caron> <N>                 	: "Ň"   U0147 # LATIN CAPITAL LETTER N WITH CARON
 <Multi_key> <c> <N>              	: "Ň"   U0147 # LATIN CAPITAL LETTER N WITH CARON
+<Multi_key> <v> <N>              	: "Ň"   U0147 # LATIN CAPITAL LETTER N WITH CARON
 <Multi_key> <less> <N> 			: "Ň"   U0147 # LATIN CAPITAL LETTER N WITH CARON
 <Multi_key> <N> <less> 			: "Ň"   U0147 # LATIN CAPITAL LETTER N WITH CARON
 <dead_caron> <n>                 	: "ň"   U0148 # LATIN SMALL LETTER N WITH CARON
 <Multi_key> <c> <n>              	: "ň"   U0148 # LATIN SMALL LETTER N WITH CARON
+<Multi_key> <v> <n>              	: "ň"   U0148 # LATIN SMALL LETTER N WITH CARON
 <Multi_key> <less> <n> 			: "ň"   U0148 # LATIN SMALL LETTER N WITH CARON
 <Multi_key> <n> <less> 			: "ň"   U0148 # LATIN SMALL LETTER N WITH CARON
 <Multi_key> <N> <G>              	: "Ŋ"   U014A # LATIN CAPITAL LETTER ENG
@@ -1135,10 +1149,12 @@ XCOMM Part 3
 <Multi_key> <cedilla> <r>          	: "ŗ"   U0157 # LATIN SMALL LETTER R WITH CEDILLA
 <dead_caron> <R>                 	: "Ř"   U0158 # LATIN CAPITAL LETTER R WITH CARON
 <Multi_key> <c> <R>              	: "Ř"   U0158 # LATIN CAPITAL LETTER R WITH CARON
+<Multi_key> <v> <R>              	: "Ř"   U0158 # LATIN CAPITAL LETTER R WITH CARON
 <Multi_key> <less> <R> 			: "Ř"   U0158 # LATIN CAPITAL LETTER R WITH CARON
 <Multi_key> <R> <less> 			: "Ř"   U0158 # LATIN CAPITAL LETTER R WITH CARON
 <dead_caron> <r>                 	: "ř"   U0159 # LATIN SMALL LETTER R WITH CARON
 <Multi_key> <c> <r>              	: "ř"   U0159 # LATIN SMALL LETTER R WITH CARON
+<Multi_key> <v> <r>              	: "ř"   U0159 # LATIN SMALL LETTER R WITH CARON
 <Multi_key> <less> <r> 			: "ř"   U0159 # LATIN SMALL LETTER R WITH CARON
 <Multi_key> <r> <less> 			: "ř"   U0159 # LATIN SMALL LETTER R WITH CARON
 <dead_acute> <S>                 	: "Ś"   U015A # LATIN CAPITAL LETTER S WITH ACUTE
@@ -1164,10 +1180,12 @@ XCOMM Part 3
 <Multi_key> <s> <cedilla> 		: "ş"   U015F # LATIN SMALL LETTER S WITH CEDILLA
 <dead_caron> <S>                 	: "Š"   U0160 # LATIN CAPITAL LETTER S WITH CARON
 <Multi_key> <c> <S>              	: "Š"   U0160 # LATIN CAPITAL LETTER S WITH CARON
+<Multi_key> <v> <S>              	: "Š"   U0160 # LATIN CAPITAL LETTER S WITH CARON
 <Multi_key> <less> <S> 			: "Š"   U0160 # LATIN CAPITAL LETTER S WITH CARON
 <Multi_key> <S> <less> 			: "Š"   U0160 # LATIN CAPITAL LETTER S WITH CARON
 <dead_caron> <s>                 	: "š"   U0161 # LATIN SMALL LETTER S WITH CARON
 <Multi_key> <c> <s>              	: "š"   U0161 # LATIN SMALL LETTER S WITH CARON
+<Multi_key> <v> <s>              	: "š"   U0161 # LATIN SMALL LETTER S WITH CARON
 <Multi_key> <less> <s> 			: "š"   U0161 # LATIN SMALL LETTER S WITH CARON
 <Multi_key> <s> <less> 			: "š"   U0161 # LATIN SMALL LETTER S WITH CARON
 <dead_cedilla> <T>               	: "Ţ"   U0162 # LATIN CAPITAL LETTER T WITH CEDILLA
@@ -1180,10 +1198,12 @@ XCOMM Part 3
 <Multi_key> <cedilla> <t>          	: "ţ"   U0163 # LATIN SMALL LETTER T WITH CEDILLA
 <dead_caron> <T>                 	: "Ť"   U0164 # LATIN CAPITAL LETTER T WITH CARON
 <Multi_key> <c> <T>              	: "Ť"   U0164 # LATIN CAPITAL LETTER T WITH CARON
+<Multi_key> <v> <T>              	: "Ť"   U0164 # LATIN CAPITAL LETTER T WITH CARON
 <Multi_key> <less> <T> 			: "Ť"   U0164 # LATIN CAPITAL LETTER T WITH CARON
 <Multi_key> <T> <less> 			: "Ť"   U0164 # LATIN CAPITAL LETTER T WITH CARON
 <dead_caron> <t>                 	: "ť"   U0165 # LATIN SMALL LETTER T WITH CARON
 <Multi_key> <c> <t>              	: "ť"   U0165 # LATIN SMALL LETTER T WITH CARON
+<Multi_key> <v> <t>              	: "ť"   U0165 # LATIN SMALL LETTER T WITH CARON
 <Multi_key> <less> <t> 			: "ť"   U0165 # LATIN SMALL LETTER T WITH CARON
 <Multi_key> <t> <less> 			: "ť"   U0165 # LATIN SMALL LETTER T WITH CARON
 <dead_stroke> <T>               	: "Ŧ"   U0166 # LATIN CAPITAL LETTER T WITH STROKE
@@ -1307,20 +1327,28 @@ XCOMM Part 3
 <Multi_key> <KP_Divide> <z>      	: "ƶ"   U01B6 # LATIN SMALL LETTER Z WITH STROKE
 <dead_caron> <A>                 	: "Ǎ"   U01CD # LATIN CAPITAL LETTER A WITH CARON
 <Multi_key> <c> <A>              	: "Ǎ"   U01CD # LATIN CAPITAL LETTER A WITH CARON
+<Multi_key> <v> <A>              	: "Ǎ"   U01CD # LATIN CAPITAL LETTER A WITH CARON
 <dead_caron> <a>                 	: "ǎ"   U01CE # LATIN SMALL LETTER A WITH CARON
 <Multi_key> <c> <a>              	: "ǎ"   U01CE # LATIN SMALL LETTER A WITH CARON
+<Multi_key> <v> <a>              	: "ǎ"   U01CE # LATIN SMALL LETTER A WITH CARON
 <dead_caron> <I>                 	: "Ǐ"   U01CF # LATIN CAPITAL LETTER I WITH CARON
 <Multi_key> <c> <I>              	: "Ǐ"   U01CF # LATIN CAPITAL LETTER I WITH CARON
+<Multi_key> <v> <I>              	: "Ǐ"   U01CF # LATIN CAPITAL LETTER I WITH CARON
 <dead_caron> <i>                 	: "ǐ"   U01D0 # LATIN SMALL LETTER I WITH CARON
 <Multi_key> <c> <i>              	: "ǐ"   U01D0 # LATIN SMALL LETTER I WITH CARON
+<Multi_key> <v> <i>              	: "ǐ"   U01D0 # LATIN SMALL LETTER I WITH CARON
 <dead_caron> <O>                 	: "Ǒ"   U01D1 # LATIN CAPITAL LETTER O WITH CARON
 <Multi_key> <c> <O>              	: "Ǒ"   U01D1 # LATIN CAPITAL LETTER O WITH CARON
+<Multi_key> <v> <O>              	: "Ǒ"   U01D1 # LATIN CAPITAL LETTER O WITH CARON
 <dead_caron> <o>                 	: "ǒ"   U01D2 # LATIN SMALL LETTER O WITH CARON
 <Multi_key> <c> <o>              	: "ǒ"   U01D2 # LATIN SMALL LETTER O WITH CARON
+<Multi_key> <v> <o>              	: "ǒ"   U01D2 # LATIN SMALL LETTER O WITH CARON
 <dead_caron> <U>                 	: "Ǔ"   U01D3 # LATIN CAPITAL LETTER U WITH CARON
 <Multi_key> <c> <U>              	: "Ǔ"   U01D3 # LATIN CAPITAL LETTER U WITH CARON
+<Multi_key> <v> <U>              	: "Ǔ"   U01D3 # LATIN CAPITAL LETTER U WITH CARON
 <dead_caron> <u>                 	: "ǔ"   U01D4 # LATIN SMALL LETTER U WITH CARON
 <Multi_key> <c> <u>              	: "ǔ"   U01D4 # LATIN SMALL LETTER U WITH CARON
+<Multi_key> <v> <u>              	: "ǔ"   U01D4 # LATIN SMALL LETTER U WITH CARON
 <dead_macron> <Udiaeresis>           	: "Ǖ"   U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
 <Multi_key> <macron> <Udiaeresis>    	: "Ǖ"   U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
 <Multi_key> <underscore> <Udiaeresis> 	: "Ǖ"   U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
@@ -1431,12 +1459,16 @@ XCOMM Part 3
 <Multi_key> <KP_Divide> <g>      	: "ǥ"   U01E5 # LATIN SMALL LETTER G WITH STROKE
 <dead_caron> <G>                 	: "Ǧ"   U01E6 # LATIN CAPITAL LETTER G WITH CARON
 <Multi_key> <c> <G>              	: "Ǧ"   U01E6 # LATIN CAPITAL LETTER G WITH CARON
+<Multi_key> <v> <G>              	: "Ǧ"   U01E6 # LATIN CAPITAL LETTER G WITH CARON
 <dead_caron> <g>                 	: "ǧ"   U01E7 # LATIN SMALL LETTER G WITH CARON
 <Multi_key> <c> <g>              	: "ǧ"   U01E7 # LATIN SMALL LETTER G WITH CARON
+<Multi_key> <v> <g>              	: "ǧ"   U01E7 # LATIN SMALL LETTER G WITH CARON
 <dead_caron> <K>                 	: "Ǩ"   U01E8 # LATIN CAPITAL LETTER K WITH CARON
 <Multi_key> <c> <K>              	: "Ǩ"   U01E8 # LATIN CAPITAL LETTER K WITH CARON
+<Multi_key> <v> <K>              	: "Ǩ"   U01E8 # LATIN CAPITAL LETTER K WITH CARON
 <dead_caron> <k>                 	: "ǩ"   U01E9 # LATIN SMALL LETTER K WITH CARON
 <Multi_key> <c> <k>              	: "ǩ"   U01E9 # LATIN SMALL LETTER K WITH CARON
+<Multi_key> <v> <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
@@ -1467,10 +1499,13 @@ XCOMM Part 3
 <Multi_key> <underscore> <semicolon> <o> 	: "ǭ"   U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON
 <dead_caron> <EZH>         	: "Ǯ"   U01EE # LATIN CAPITAL LETTER EZH WITH CARON
 <Multi_key> <c> <EZH>      	: "Ǯ"   U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<Multi_key> <v> <EZH>      	: "Ǯ"   U01EE # LATIN CAPITAL LETTER EZH WITH CARON
 <dead_caron> <ezh>         	: "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH CARON
 <Multi_key> <c> <ezh>      	: "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH CARON
+<Multi_key> <v> <ezh>      	: "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH CARON
 <dead_caron> <j>                 	: "ǰ"   U01F0 # LATIN SMALL LETTER J WITH CARON
 <Multi_key> <c> <j>              	: "ǰ"   U01F0 # LATIN SMALL LETTER J WITH CARON
+<Multi_key> <v> <j>              	: "ǰ"   U01F0 # LATIN SMALL LETTER J WITH CARON
 <dead_acute> <G>                 	: "Ǵ"   U01F4 # LATIN CAPITAL LETTER G WITH ACUTE
 <Multi_key> <acute> <G>          	: "Ǵ"   U01F4 # LATIN CAPITAL LETTER G WITH ACUTE
 <Multi_key> <apostrophe> <G>     	: "Ǵ"   U01F4 # LATIN CAPITAL LETTER G WITH ACUTE
@@ -1551,8 +1586,10 @@ XCOMM Part 3
 <dead_invertedbreve> <u>                  	: "ȗ"   U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE
 <dead_caron> <H>                 	: "Ȟ"   U021E # LATIN CAPITAL LETTER H WITH CARON
 <Multi_key> <c> <H>              	: "Ȟ"   U021E # LATIN CAPITAL LETTER H WITH CARON
+<Multi_key> <v> <H>              	: "Ȟ"   U021E # LATIN CAPITAL LETTER H WITH CARON
 <dead_caron> <h>                 	: "ȟ"   U021F # LATIN SMALL LETTER H WITH CARON
 <Multi_key> <c> <h>              	: "ȟ"   U021F # LATIN SMALL LETTER H WITH CARON
+<Multi_key> <v> <h>              	: "ȟ"   U021F # LATIN SMALL LETTER H WITH CARON
 <dead_abovedot> <A>              	: "Ȧ"   U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE
 <Multi_key> <period> <A>         	: "Ȧ"   U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE
 <dead_abovedot> <a>              	: "ȧ"   U0227 # LATIN SMALL LETTER A WITH DOT ABOVE
@@ -4550,7 +4587,11 @@ XCOMM Part 3
 <Multi_key> <slash> <U2194>  	: "↮"   U21AE # LEFT RIGHT ARROW WITH STROKE
 <Multi_key> <KP_Divide> <U2194> 	: "↮"   U21AE # LEFT RIGHT ARROW WITH STROKE
 <Multi_key> <less> <minus> 	: "←" U2190 # LEFTWARDS ARROW
+<Multi_key> <bar> <asciicircum> : "↑" U2191 # UPWARDS ARROW
+<Multi_key> <asciicircum> <bar> : "↑" U2191 # UPWARDS ARROW
 <Multi_key> <minus> <greater> 	: "→" U2192 # RIGHTWARDS ARROW
+<Multi_key> <bar> <v>           : "↓" U2193 # DOWNWARDS ARROW
+<Multi_key> <v> <bar>           : "↓" U2193 # DOWNWARDS 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
@@ -5899,6 +5940,7 @@ XCOMM Characters from "Mathematical Oper
 <Multi_key> <v> <slash>                         : "√"   U221a   # v / SQUARE ROOT
 <Multi_key> <slash> <v>                         : "√"   U221a   # / v SQUARE ROOT
 <Multi_key> <8> <8>                             : "∞"   U221e   # 8 8 INFINITY
+<Multi_key> <asciitilde> <asciitilde>           : "≈"   U2248   # ~ ~ ALMOST EQUAL TO
 <Multi_key> <equal> <underscore>                : "≡"   U2261   # = _ IDENTICAL TO
 <Multi_key> <underscore> <U2260>                : "≢"   U2262   # _ ≠ NOT IDENTICAL TO
 <Multi_key> <U2260> <underscore>                : "≢"   U2262   # ≠ _ NOT IDENTICAL TO

Index: xsrc/external/mit/libX11/dist/src/XlibInt.c
diff -u xsrc/external/mit/libX11/dist/src/XlibInt.c:1.13 xsrc/external/mit/libX11/dist/src/XlibInt.c:1.14
--- xsrc/external/mit/libX11/dist/src/XlibInt.c:1.13	Fri Jul 31 19:29:52 2020
+++ xsrc/external/mit/libX11/dist/src/XlibInt.c	Tue Apr 27 06:14:35 2021
@@ -218,12 +218,10 @@ void _XSeqSyncFunction(
     xGetInputFocusReply rep;
     _X_UNUSED register xReq *req;
 
-    if ((X_DPY_GET_REQUEST(dpy) - X_DPY_GET_LAST_REQUEST_READ(dpy)) >= (65535 - BUFSIZE/SIZEOF(xReq)) && !dpy->req_seq_syncing) {
-	dpy->req_seq_syncing = True;
+    if ((X_DPY_GET_REQUEST(dpy) - X_DPY_GET_LAST_REQUEST_READ(dpy)) >= (65535 - BUFSIZE/SIZEOF(xReq))) {
 	GetEmptyReq(GetInputFocus, req);
 	(void) _XReply (dpy, (xReply *)&rep, 0, xTrue);
 	sync_while_locked(dpy);
-	dpy->req_seq_syncing = False;
     } else if (sync_hazard(dpy))
 	_XSetPrivSyncFunction(dpy);
 }
@@ -269,7 +267,7 @@ void _XSetSeqSyncFunction(Display *dpy)
 #ifdef LONG64
 void _XRead32(
     Display *dpy,
-    register long *data,
+    long *data,
     long len)
 {
     register int *buf;
@@ -652,11 +650,10 @@ _XFreeEventCookies(Display *dpy)
     head = (struct stored_event**)&dpy->cookiejar;
 
     DL_FOREACH_SAFE(*head, e, tmp) {
-        if (dpy->cookiejar == e)
-            dpy->cookiejar = NULL;
         XFree(e->ev.data);
         XFree(e);
     }
+    dpy->cookiejar = NULL;
 }
 
 /**
@@ -678,6 +675,7 @@ _XStoreEventCookie(Display *dpy, XEvent 
     if (!add) {
         ESET(ENOMEM);
         _XIOError(dpy);
+        return;
     }
     add->ev = *cookie;
     DL_APPEND(*head, add);
@@ -752,6 +750,7 @@ void _XEnq(
 		/* Malloc call failed! */
 		ESET(ENOMEM);
 		_XIOError(dpy);
+		return;
 	}
 	qelt->next = NULL;
 
@@ -1271,6 +1270,14 @@ SocketBytesReadable(Display *dpy)
     return bytes;
 }
 
+_X_NORETURN void _XDefaultIOErrorExit(
+	Display *dpy,
+	void *user_data)
+{
+    exit(1);
+    /*NOTREACHED*/
+}
+
 /*
  * _XDefaultIOError - Default fatal system error reporting routine.  Called
  * when an X internal system error is encountered.
@@ -1484,6 +1491,11 @@ int _XError (
     if (_XErrorFunction != NULL) {
 	int rtn_val;
 #ifdef XTHREADS
+	struct _XErrorThreadInfo thread_info = {
+		.error_thread = xthread_self(),
+		.next = dpy->error_threads
+	}, **prev;
+	dpy->error_threads = &thread_info;
 	if (dpy->lock)
 	    (*dpy->lock->user_lock_display)(dpy);
 	UnlockDisplay(dpy);
@@ -1493,6 +1505,11 @@ int _XError (
 	LockDisplay(dpy);
 	if (dpy->lock)
 	    (*dpy->lock->user_unlock_display)(dpy);
+
+	/* unlink thread_info from the list */
+	for (prev = &dpy->error_threads; *prev != &thread_info; prev = &(*prev)->next)
+		;
+	*prev = thread_info.next;
 #endif
 	return rtn_val;
     } else {
@@ -1507,6 +1524,9 @@ int
 _XIOError (
     Display *dpy)
 {
+    XIOErrorExitHandler exit_handler;
+    void *exit_handler_data;
+
     dpy->flags |= XlibDisplayIOError;
 #ifdef WIN32
     errno = WSAGetLastError();
@@ -1520,14 +1540,17 @@ _XIOError (
     if (dpy->lock)
 	(*dpy->lock->user_lock_display)(dpy);
 #endif
+    exit_handler = dpy->exit_handler;
+    exit_handler_data = dpy->exit_handler_data;
     UnlockDisplay(dpy);
 
     if (_XIOErrorFunction != NULL)
 	(*_XIOErrorFunction)(dpy);
     else
 	_XDefaultIOError(dpy);
-    exit (1);
-    /*NOTREACHED*/
+
+    exit_handler(dpy, exit_handler_data);
+    return 1;
 }
 
 
@@ -1648,7 +1671,7 @@ void Data(
 int
 _XData32(
     Display *dpy,
-    register _Xconst long *data,
+    _Xconst long *data,
     unsigned len)
 {
     register int *buf;

Reply via email to