# ftp://ftp.invisible-island.net/xterm/patches/xterm-340.patch.gz
# patch by Thomas E. Dickey <dickey@invisible-island.net>
# created  Mon Dec 17 01:42:48 UTC 2018
# ------------------------------------------------------------------------------
# MANIFEST                 |    2 -
# button.c                 |    6 ++--
# fontutils.c              |   57 +++++++++++++++++++++++++++++++++++++++------
# graphics_regis.c         |   12 ++++-----
# input.c                  |    4 +--
# main.c                   |   16 ++++++------
# menu.c                   |   36 +++++++++++++++++++++++++++-
# misc.c                   |    6 ++--
# package/debian/changelog |    6 ++++
# package/freebsd/Makefile |    2 -
# package/xterm.spec       |    4 +--
# resize.c                 |    6 ++--
# screen.c                 |   12 ++++-----
# util.c                   |    4 +--
# version.h                |    6 ++--
# xterm.h                  |    2 -
# xterm.log.html           |   18 +++++++++++++-
# xtermcap.c               |    4 +--
# 18 files changed, 151 insertions(+), 52 deletions(-)
# ------------------------------------------------------------------------------
Index: MANIFEST
--- xterm-339+/MANIFEST	2018-12-11 00:01:55.000000000 +0000
+++ xterm-340/MANIFEST	2018-12-14 00:10:48.000000000 +0000
@@ -1,4 +1,4 @@
-MANIFEST for xterm-339, version xterm-339
+MANIFEST for xterm-340, version xterm-340
 --------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
Index: button.c
--- xterm-339+/button.c	2018-12-09 22:30:39.000000000 +0000
+++ xterm-340/button.c	2018-12-15 15:02:52.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.559 2018/12/09 22:30:39 tom Exp $ */
+/* $XTermId: button.c,v 1.560 2018/12/15 15:02:52 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -1890,8 +1890,8 @@
 ToNational(XtermWidget xw, Char *buffer, unsigned *length)
 {
     TScreen *screen = TScreenOf(xw);
-    int gsetL = screen->gsets[screen->curgl];
-    int gsetR = screen->gsets[screen->curgr];
+    DECNRCM_codes gsetL = screen->gsets[screen->curgl];
+    DECNRCM_codes gsetR = screen->gsets[screen->curgr];
 
 #if OPT_WIDE_CHARS
     if ((screen->utf8_nrc_mode | screen->utf8_mode) != uFalse) {
Index: fontutils.c
--- xterm-339+/fontutils.c	2018-12-02 21:55:42.000000000 +0000
+++ xterm-340/fontutils.c	2018-12-15 15:05:02.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: fontutils.c,v 1.605 2018/12/02 21:55:42 tom Exp $ */
+/* $XTermId: fontutils.c,v 1.609 2018/12/15 15:05:02 tom Exp $ */
 
 /*
  * Copyright 1998-2017,2018 by Thomas E. Dickey
@@ -2210,17 +2210,22 @@
 }
 
 #define CACHE_XFT(dst,src) if (src.font != 0) {\
-	    failed += checkXft(xw, &(dst[fontnum]), &src);\
-	    TRACE(("Xft metrics %s[%d] = %d (%d,%d)%s advance %d, actual %d%s\n",\
+	    int err = checkXft(xw, &(dst[fontnum]), &src);\
+	    TRACE(("Xft metrics %s[%d] = %d (%d,%d)%s advance %d, actual %d%s%s\n",\
 		#dst,\
-	    	fontnum,\
+		fontnum,\
 		src.font->height,\
 		src.font->ascent,\
 		src.font->descent,\
 		((src.font->ascent + src.font->descent) > src.font->height ? "*" : ""),\
 		src.font->max_advance_width,\
 		dst[fontnum].map.min_width,\
-		dst[fontnum].map.mixed ? " mixed" : ""));\
+		dst[fontnum].map.mixed ? " mixed" : "",\
+		err ? " ERROR" : ""));\
+	    if (err) {\
+		xtermCloseXft(screen, &src);\
+		failed += err;\
+	    }\
 	}
 
 #if OPT_RENDERFONT
@@ -2316,12 +2321,32 @@
     FcChar32 c;
     Dimension width = 0;
     int failed = 0;
+    FcChar32 lo_check = 32;
+    FcChar32 hi_check = 255;
+#ifdef FC_COLOR
+    FcBool fcbogus;
+#endif
 
     target->font = source->font;
     target->pattern = source->pattern;
     target->map.min_width = 0;
     target->map.max_width = (Dimension) source->font->max_advance_width;
 
+#ifdef FC_COLOR
+#define GetFcBogus(pattern, what) \
+    (FcPatternGetBool(pattern, what, 0, &fcbogus) == FcResultMatch)
+    /*
+     * Check if this is a FC_COLOR font, which fontconfig misrepresents to
+     * "fix" a problem with web browsers.  As of 2018/12 (4 years later),
+     * Xft does not work with that.
+     */
+    if (GetFcBogus(source->pattern, FC_COLOR)
+	&& fcbogus) {
+	lo_check = 0;
+	hi_check = 0;
+    }
+#endif
+
     /*
      * For each ASCII or ISO-8859-1 printable code, ask what its width is.
      * Given the maximum width for those, we have a reasonable estimate of
@@ -2329,7 +2354,7 @@
      *
      * Ignore control characters - their extent information is misleading.
      */
-    for (c = 32; c < 256; ++c) {
+    for (c = lo_check; c < hi_check; ++c) {
 	if (c >= 127 && c <= 159)
 	    continue;
 	if (FcCharSetHasChar(source->font->charset, c)) {
@@ -2338,6 +2363,10 @@
 	    XftTextExtents32(XtDisplay(xw), source->font, &c, 1, &extents);
 	    if (width >= extents.width)
 		continue;
+	    if (extents.width >= (3 * target->map.max_width)) {
+		width = 0;	/* metrics are bogus - give up */
+		break;
+	    }
 	    if (extents.width > target->map.max_width)
 		continue;
 	    width = extents.width;
@@ -3797,11 +3826,25 @@
 		    for (m = 0; m <= n; ++m) {
 			if (check == which->cache[n].font) {
 			    giveup = True;
+			    TRACE(("found duplicate - stop\n"));
 			    break;
 			}
 		    }
+#ifdef FC_COLOR
+		    if (!giveup) {
+			FcBool fcbogus;
+			if (GetFcBogus(check->pattern, FC_COLOR)
+			    && (fcbogus != FcFalse)) {
+			    giveup = True;
+			    TRACE(("ignoring color-bitmap font match by fontconfig\n"));
+			} else if (GetFcBogus(check->pattern, FC_OUTLINE)
+				   && (fcbogus == FcFalse)) {
+			    giveup = True;
+			    TRACE(("ignoring non-scalable font match by fontconfig\n"));
+			}
+		    }
+#endif
 		    if (giveup) {
-			TRACE(("found duplicate - stop\n"));
 			XftFontClose(screen->display, check);
 		    } else if (foundXftGlyph(xw, check, wc)) {
 			if (resource.reportFonts) {
Index: graphics_regis.c
--- xterm-339+/graphics_regis.c	2018-09-09 15:31:01.000000000 +0000
+++ xterm-340/graphics_regis.c	2018-12-15 19:18:08.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: graphics_regis.c,v 1.107 2018/09/09 15:31:01 tom Exp $ */
+/* $XTermId: graphics_regis.c,v 1.108 2018/12/15 19:18:08 tom Exp $ */
 
 /*
  * Copyright 2014-2017,2018 by Ross Combs
@@ -146,7 +146,7 @@
 } RegisTextControls;
 
 #define FixedCopy(dst, src, len) strncpy(dst, src, len - 1)[len - 1] = '\0'
-#define CopyFontname(dst, src) FixedCopy(dst, src, REGIS_FONTNAME_LEN)
+#define CopyFontname(dst, src) FixedCopy(dst, src, (size_t) REGIS_FONTNAME_LEN)
 
 #define MAX_REGIS_PAGES 8U
 
@@ -599,7 +599,7 @@
 	}
     }
 
-    qsort(context->fill_points, context->fill_point_count,
+    qsort(context->fill_points, (size_t) context->fill_point_count,
 	  sizeof(context->fill_points[0]), sort_points);
 
     old_x = DUMMY_STACK_X;
@@ -1644,7 +1644,7 @@
 	workh = (unsigned) font->height + 2U;
     }
 
-    if (!(pixels = malloc(workw * workh))) {
+    if (!(pixels = malloc((size_t) (workw * workh)))) {
 	*w = 0U;
 	*h = 0U;
 	return;
@@ -2778,7 +2778,7 @@
     } else {
 	endpos = outlen - 1U;
     }
-    strncpy(out, &fragment->start[fragment->pos], endpos);
+    strncpy(out, &fragment->start[fragment->pos], (size_t) endpos);
     out[endpos] = '\0';
 }
 
@@ -7121,7 +7121,7 @@
 		* context->alphabets[state->load_index].pixh;
 	    if (context->alphabets[state->load_index].bytes == NULL) {
 		if (!(context->alphabets[state->load_index].bytes =
-		      calloc(MAX_GLYPHS * glyph_size, sizeof(unsigned char)))) {
+		      calloc((size_t) (MAX_GLYPHS * glyph_size), sizeof(unsigned char)))) {
 		    TRACE(("ERROR: unable to allocate %u bytes for glyph storage\n",
 			   MAX_GLYPHS * glyph_size));
 		    return 0;
Index: input.c
--- xterm-339+/input.c	2018-08-24 01:16:10.000000000 +0000
+++ xterm-340/input.c	2018-12-15 19:21:09.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: input.c,v 1.360 2018/08/24 01:16:10 tom Exp $ */
+/* $XTermId: input.c,v 1.361 2018/12/15 19:21:09 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -1352,7 +1352,7 @@
 		if ((xw->flags & NATIONAL) != 0) {
 		    unsigned cmp = xtermCharSetIn(xw,
 						  CharOf(kd.strbuf[0]),
-						  screen->keyboard_dialect[0]);
+						  (DECNRCM_codes) screen->keyboard_dialect[0]);
 		    TRACE(("...input NRC %d, %s %d\n",
 			   CharOf(kd.strbuf[0]),
 			   (CharOf(kd.strbuf[0]) == cmp)
Index: main.c
--- xterm-339+/main.c	2018-12-11 00:17:16.000000000 +0000
+++ xterm-340/main.c	2018-12-16 23:06:59.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.841 2018/12/11 00:17:16 tom Exp $ */
+/* $XTermId: main.c,v 1.845 2018/12/16 23:06:59 tom Exp $ */
 
 /*
  * Copyright 2002-2017,2018 by Thomas E. Dickey
@@ -866,7 +866,7 @@
 #  define SetUtmpSysLen(utmp) 			   \
 	{ \
 	    utmp.ut_host[sizeof(utmp.ut_host)-1] = '\0'; \
-	    utmp.ut_syslen = (short) strlen(utmp.ut_host) + 1; \
+	    utmp.ut_syslen = (short) ((int) strlen(utmp.ut_host) + 1); \
 	}
 #endif
 
@@ -4742,9 +4742,9 @@
 #ifdef USE_LASTLOGX
 	    if (xw->misc.login_shell) {
 		memset(&lastlogx, 0, sizeof(lastlogx));
-		(void) strncpy(lastlogx.ll_line,
-			       my_pty_name(ttydev),
-			       sizeof(lastlogx.ll_line));
+		copy_filled(lastlogx.ll_line,
+			    my_pty_name(ttydev),
+			    sizeof(lastlogx.ll_line));
 		X_GETTIMEOFDAY(&lastlogx.ll_tv);
 		SetUtmpHost(lastlogx.ll_host, screen);
 		updlastlogx(_PATH_LASTLOGX, screen->uid, &lastlogx);
@@ -4758,9 +4758,9 @@
 		off_t offset = (off_t) ((size_t) screen->uid * size);
 
 		memset(&lastlog, 0, size);
-		(void) strncpy(lastlog.ll_line,
-			       my_pty_name(ttydev),
-			       sizeof(lastlog.ll_line));
+		copy_filled(lastlog.ll_line,
+			    my_pty_name(ttydev),
+			    sizeof(lastlog.ll_line));
 		SetUtmpHost(lastlog.ll_host, screen);
 		lastlog.ll_time = time((time_t *) 0);
 		if (lseek(i, offset, 0) != (off_t) (-1)) {
Index: menu.c
--- xterm-339+/menu.c	2018-04-29 21:46:10.000000000 +0000
+++ xterm-340/menu.c	2018-12-16 22:37:07.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: menu.c,v 1.353 2018/04/29 21:46:10 tom Exp $ */
+/* $XTermId: menu.c,v 1.354 2018/12/16 22:37:07 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -642,6 +642,30 @@
 }
 
 /*
+ * When using the toolbar configuration, some systems (seen with Solaris 11)
+ * give a warning that (Xt) cannot find a usable font-set.  This does not stop
+ * the toolbars from working - ignore for now.
+ */
+#if OPT_TOOLBAR
+static void
+ignoreWarning(
+		 String p_name,
+		 String p_type,
+		 String p_class,
+		 String p_default,
+		 String *p_params,
+		 Cardinal *p_num_params)
+{
+    (void) p_name;
+    (void) p_type;
+    (void) p_class;
+    (void) p_default;
+    (void) p_params;
+    (void) p_num_params;
+}
+#endif
+
+/*
  * create_menu - create a popup shell and stuff the menu into it.
  */
 static Widget
@@ -690,6 +714,12 @@
     if (list->w != 0) {
 	Boolean *unused = unusedEntries(xw, num);
 	Cardinal n;
+#if OPT_TOOLBAR
+	Boolean useLocale = !strcmp(resource.menuLocale, "");
+	XtErrorMsgHandler warningHandler = 0;
+	if (!useLocale)
+	    warningHandler = XtAppSetWarningMsgHandler(app_con, ignoreWarning);
+#endif
 
 	list->entries = 0;
 
@@ -706,6 +736,10 @@
 		list->entries++;
 	    }
 	}
+#if OPT_TOOLBAR
+	if (!useLocale)
+	    XtAppSetWarningMsgHandler(app_con, warningHandler);
+#endif
     }
 #if !OPT_TOOLBAR
     (void) setMenuLocale(False, saveLocale);
Index: misc.c
--- xterm-339+/misc.c	2018-12-09 14:54:28.000000000 +0000
+++ xterm-340/misc.c	2018-12-15 21:50:47.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.849 2018/12/09 14:54:28 tom Exp $ */
+/* $XTermId: misc.c,v 1.852 2018/12/15 21:50:47 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -6369,9 +6369,9 @@
 #else
 	char *locale = xtermEnvLocale();
 	if (!strcmp(locale, "C") || !strcmp(locale, "POSIX")) {
-	    result = "ASCII";
+	    result = x_strdup("ASCII");
 	} else {
-	    result = "ISO-8859-1";
+	    result = x_strdup("ISO-8859-1");
 	}
 #endif
 	TRACE(("xtermEnvEncoding ->%s\n", result));
Index: package/debian/changelog
--- xterm-339+/package/debian/changelog	2018-12-11 00:01:55.000000000 +0000
+++ xterm-340/package/debian/changelog	2018-12-14 00:11:25.000000000 +0000
@@ -1,3 +1,9 @@
+xterm-dev (340) unstable; urgency=low
+
+  * maintenance updates
+
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Thu, 13 Dec 2018 19:11:25 -0500
+
 xterm-dev (339) unstable; urgency=low
 
   * maintenance updates
Index: package/freebsd/Makefile
--- xterm-339+/package/freebsd/Makefile	2018-12-11 00:01:55.000000000 +0000
+++ xterm-340/package/freebsd/Makefile	2018-12-14 00:11:25.000000000 +0000
@@ -5,7 +5,7 @@
 # and "make makesum".
 
 PORTNAME=	xterm
-PORTVERSION=	339
+PORTVERSION=	340
 CATEGORIES=	x11
 MASTER_SITES=	ftp://ftp.invisible-island.net/xterm/ \
 		CRITICAL
Index: package/xterm.spec
--- xterm-339+/package/xterm.spec	2018-12-11 00:01:55.000000000 +0000
+++ xterm-340/package/xterm.spec	2018-12-14 00:11:25.000000000 +0000
@@ -1,11 +1,11 @@
-# $XTermId: xterm.spec,v 1.109 2018/12/11 00:01:55 tom Exp $
+# $XTermId: xterm.spec,v 1.110 2018/12/14 00:11:25 tom Exp $
 Summary: X terminal emulator (development version)
 %global my_middle xterm
 %global my_suffix -dev
 %global fullname %{my_middle}%{my_suffix}
 %global my_class XTermDev
 Name: %{fullname}
-Version: 339
+Version: 340
 Release: 1
 License: X11
 Group: User Interface/X
Index: resize.c
--- xterm-339+/resize.c	2017-05-31 08:58:56.000000000 +0000
+++ xterm-340/resize.c	2018-12-16 22:47:21.000000000 +0000
@@ -1,7 +1,7 @@
-/* $XTermId: resize.c,v 1.139 2017/05/31 08:58:56 tom Exp $ */
+/* $XTermId: resize.c,v 1.142 2018/12/16 22:47:21 tom Exp $ */
 
 /*
- * Copyright 2003-2015,2017 by Thomas E. Dickey
+ * Copyright 2003-2017,2018 by Thomas E. Dickey
  *
  *                         All Rights Reserved
  *
@@ -416,7 +416,7 @@
     tty = fileno(ttyfp);
 #ifdef USE_TERMCAP
     if ((env = x_getenv("TERM")) == 0) {
-	env = DFT_TERMTYPE;
+	env = x_strdup(DFT_TERMTYPE);
 	if (SHELL_BOURNE == shell_type) {
 	    setname = "TERM=" DFT_TERMTYPE ";\nexport TERM;\n";
 	} else {
Index: screen.c
--- xterm-339+/screen.c	2018-12-10 00:27:09.000000000 +0000
+++ xterm-340/screen.c	2018-12-15 15:19:08.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: screen.c,v 1.568 2018/12/10 00:27:09 tom Exp $ */
+/* $XTermId: screen.c,v 1.569 2018/12/15 15:19:08 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -319,7 +319,7 @@
 Char *
 allocScrnData(TScreen *screen, unsigned nrow, unsigned ncol)
 {
-    Char *result;
+    Char *result = 0;
     size_t length;
 
     AlignValue(ncol);
@@ -744,7 +744,7 @@
 		    ++col;
 		}
 	    }
-	    if (last < src->lineSize) {
+	    if (last < (int) src->lineSize) {
 		if (dst->charData[last] == HIDDEN_CHAR) {
 		    if (down) {
 			Clear2Cell(dst, src, last - 1);
@@ -2454,7 +2454,7 @@
 			Clear1Cell(ld, left);
 		    }
 		}
-		if (right < ld->lineSize) {
+		if (right < (int) ld->lineSize) {
 		    if (ld->charData[right] == HIDDEN_CHAR) {
 			b_right = 1;
 			Clear1Cell(ld, right);
@@ -2767,7 +2767,7 @@
 			Clear1Cell(ld, left);
 		    }
 		}
-		if (right < ld->lineSize && !IsProtected(ld, right)) {
+		if (right < (int) ld->lineSize && !IsProtected(ld, right)) {
 		    if (ld->charData[right] == HIDDEN_CHAR) {
 			b_right = 1;
 			Clear1Cell(ld, right);
@@ -2837,7 +2837,7 @@
 	    ld = getLineData(screen, row);
 	    if (ld == 0)
 		continue;
-	    for (col = left; col <= right && col < ld->lineSize; ++col) {
+	    for (col = left; col <= right && col < (int) ld->lineSize; ++col) {
 		int ch = ((ld->attribs[col] & CHARDRAWN)
 			  ? (int) ld->charData[col]
 			  : ' ');
Index: util.c
--- xterm-339+/util.c	2018-12-09 14:09:03.000000000 +0000
+++ xterm-340/util.c	2018-12-15 15:00:21.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: util.c,v 1.782 2018/12/09 14:09:03 tom Exp $ */
+/* $XTermId: util.c,v 1.783 2018/12/15 15:00:21 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
@@ -524,7 +524,7 @@
 			    Clear1Cell(ld, left);
 			}
 		    }
-		    if (right + 1 < ld->lineSize) {
+		    if (right + 1 < (int) ld->lineSize) {
 			if (ld->charData[right + 1] == HIDDEN_CHAR) {
 			    Clear1Cell(ld, right);
 			    Clear1Cell(ld, right + 1);
Index: version.h
--- xterm-339+/version.h	2018-12-13 02:37:56.000000000 +0000
+++ xterm-340/version.h	2018-12-17 01:41:12.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.456 2018/12/13 02:37:56 tom Exp $ */
+/* $XTermId: version.h,v 1.458 2018/12/17 01:41:12 tom Exp $ */
 
 /*
  * Copyright 1998-2017,2018 by Thomas E. Dickey
@@ -38,8 +38,8 @@
  * version of X to which this version of xterm has been built.  The resulting
  * number in parentheses is my patch number (Thomas E. Dickey).
  */
-#define XTERM_PATCH   339
-#define XTERM_DATE    2018-12-12
+#define XTERM_PATCH   340
+#define XTERM_DATE    2018-12-16
 
 #ifndef __vendorversion__
 #define __vendorversion__ "XTerm"
Index: xterm.h
--- xterm-339+/xterm.h	2018-12-10 00:27:01.000000000 +0000
+++ xterm-340/xterm.h	2018-12-15 20:13:23.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: xterm.h,v 1.814 2018/12/10 00:27:01 tom Exp $ */
+/* $XTermId: xterm.h,v 1.816 2018/12/15 20:13:23 tom Exp $ */
 
 /*
  * Copyright 1999-2017,2018 by Thomas E. Dickey
Index: xterm.log.html
--- xterm-339+/xterm.log.html	2018-12-13 02:38:31.000000000 +0000
+++ xterm-340/xterm.log.html	2018-12-17 01:41:20.000000000 +0000
@@ -30,7 +30,7 @@
  * sale, use or other dealings in this Software without prior written        *
  * authorization.                                                            *
  *****************************************************************************
-  $XTermId: xterm.log.html,v 1.1959 2018/12/13 02:38:31 tom Exp $
+  $XTermId: xterm.log.html,v 1.1965 2018/12/17 01:41:20 tom Exp $
   -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 
@@ -72,6 +72,8 @@
   CHANGELOG</a>).</p>
 
   <ul>
+    <li><a href="#xterm_340">Patch #340 - 2018/12/16</a></li>
+
     <li><a href="#xterm_339">Patch #339 - 2018/12/12</a></li>
 
     <li><a href="#xterm_338">Patch #338 - 2018/12/09</a></li>
@@ -963,6 +965,20 @@
     <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
   </ul>
 
+  <h1><a name="xterm_340" id="xterm_340">Patch #340 -
+  2018/12/16</a></h1>
+
+  <ul>
+    <li>suppress a spurious warning about fontsets when
+    initializing menus for the toolbar configuration.</li>
+
+    <li>fix some strict compiler warnings.</li>
+
+    <li>improve checks for TrueType font, to help with the case of
+    color bitmap fonts, which fontconfig misrepresents (Arch Linux
+    #58706).</li>
+  </ul>
+
   <h1><a name="xterm_339" id="xterm_339">Patch #339 -
   2018/12/12</a></h1>
 
Index: xtermcap.c
--- xterm-339+/xtermcap.c	2018-08-12 17:23:53.000000000 +0000
+++ xterm-340/xtermcap.c	2018-12-15 15:15:00.000000000 +0000
@@ -1,4 +1,4 @@
-/* $XTermId: xtermcap.c,v 1.51 2018/08/12 17:23:53 tom Exp $ */
+/* $XTermId: xtermcap.c,v 1.52 2018/12/15 15:15:00 tom Exp $ */
 
 /*
  * Copyright 2007-2016,2018 by Thomas E. Dickey
@@ -292,7 +292,7 @@
 		}
 	    } else {
 		/* there is no data for the shifted key */
-		result = -1;
+		result = False;
 	    }
 	}
 #endif
