Hi,

this xterm update is quite small, but still I'd prefer to get some
testing/oks before committing it

Apply in /usr/xenocara/app/xterm
make obj
make build

                            Patch #375 - 2022/10/23

     * improve error-recovery when setting a bitmap font for the VT100
       window, e.g., in case OSC 50 failed, restoring the most recent
       valid font so that a subsequent OSC 50 reports this correctly
       (report by David Leadbeater).
     * exclude MC_XDG_OPEN from environment variables trimmed on startup
       (report by Gabor Hauzer).
     * check for null pointer in isSelect() (report by Column Paget).


Index: MANIFEST
===================================================================
RCS file: /cvs/xenocara/app/xterm/MANIFEST,v
retrieving revision 1.51
diff -u -p -u -r1.51 MANIFEST
--- MANIFEST    7 Nov 2022 11:15:27 -0000       1.51
+++ MANIFEST    7 Nov 2022 12:12:59 -0000
@@ -1,4 +1,4 @@
-MANIFEST for xterm, version xterm-374
+MANIFEST for xterm, version xterm-375
 
--------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
Index: NEWS
===================================================================
RCS file: /cvs/xenocara/app/xterm/NEWS,v
retrieving revision 1.11
diff -u -p -u -r1.11 NEWS
--- NEWS        7 Nov 2022 11:15:27 -0000       1.11
+++ NEWS        7 Nov 2022 12:12:59 -0000
@@ -1,24 +1,13 @@
 The NEWS file was generated from xterm.log.html, which serves as the changelog
 for xterm.
 
--------------------------------------------------------------------------------
-                            Patch #374 - 2022/10/10
+                            Patch #375 - 2022/10/23
 
-     * eliminate use of grep aliases from vttests scripts.
-     * amend  discussion  of  DECSDM  versus Sixel Scrolling in ctlseqs.ms
-       (reports by Hayaki Saito, Ben Wong).
-     * change   default   for  sixelScrolling  resource  to  better  match
-       VT330/VT340 DECSDM setting (patch by Ben Wong).
-     * fix some gcc and coverity warnings.
-     * improve memory usage for OSC 52 (report by David Leadbeater).
-     * fix    regression    in    xterm-373    change   adding   resources
-       xftTrackMemUsage  to  xftMaxGlyphMemory,  which did not first cache
-       the server's resource-settings (report/testcase by Gabor Hauzer, as
-       well as Debian #1021243).
-     * fix  regression  in  xterm-373  change for status-line vs alternate
-       screen (report by Rajeev V. Pillai).
-     * configure script improvements:
-          + modify  CF_XOPEN_SOURCE  to handle more special cases of Linux
-            (reports by Adam Sampson, Sven Joachim).
-          + modify  checks  for egrep/fgrep aliases to work around warning
-            messages from GNU grep 3.8
+     * improve  error-recovery  when  setting  a bitmap font for the VT100
+       window,  e.g.,  in  case  OSC 50  failed, restoring the most recent
+       valid  font  so  that  a  subsequent  OSC 50 reports this correctly
+       (report by David Leadbeater).
+     * exclude  MC_XDG_OPEN  from environment variables trimmed on startup
+       (report by Gabor Hauzer).
+     * check for null pointer in isSelect() (report by Column Paget).
 
Index: button.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/button.c,v
retrieving revision 1.45
diff -u -p -u -r1.45 button.c
--- button.c    7 Nov 2022 11:15:27 -0000       1.45
+++ button.c    7 Nov 2022 12:13:00 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.642 2022/10/06 16:52:06 tom Exp $ */
+/* $XTermId: button.c,v 1.645 2022/10/23 22:59:52 tom Exp $ */
 
 /*
  * Copyright 1999-2021,2022 by Thomas E. Dickey
@@ -2012,7 +2012,7 @@ _SelectionTargets(Widget w)
     return result;
 }
 
-#define isSELECT(value) (!strcmp(value, "SELECT"))
+#define isSELECT(value) (!strcmp(NonNull(value), "SELECT"))
 
 static int
 DefaultSelection(TScreen *screen)
@@ -2051,13 +2051,8 @@ void
 UnmapSelections(XtermWidget xw)
 {
     TScreen *screen = TScreenOf(xw);
-    Cardinal n;
 
-    if (screen->mappedSelect) {
-       for (n = 0; screen->mappedSelect[n] != 0; ++n)
-           free((void *) screen->mappedSelect[n]);
-       FreeAndNull(screen->mappedSelect);
-    }
+    FreeAndNull(screen->mappedSelect);
 }
 
 /*
@@ -2093,14 +2088,11 @@ MapSelections(XtermWidget xw, String *pa
            if ((result = TypeMallocN(String, num_params + 1)) != 0) {
                result[num_params] = 0;
                for (j = 0; j < num_params; ++j) {
-                   result[j] = x_strdup((isSELECT(params[j])
+                   result[j] = (String) (isSELECT(params[j])
                                          ? mapTo
-                                         : params[j]));
+                                         : params[j]);
                    if (result[j] == 0) {
                        UnmapSelections(xw);
-                       while (j != 0) {
-                           free((void *) result[--j]);
-                       }
                        FreeAndNull(result);
                        break;
                    }
Index: charproc.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/charproc.c,v
retrieving revision 1.53
diff -u -p -u -r1.53 charproc.c
--- charproc.c  7 Nov 2022 11:15:27 -0000       1.53
+++ charproc.c  7 Nov 2022 12:13:02 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.1906 2022/10/10 15:42:50 tom Exp $ */
+/* $XTermId: charproc.c,v 1.1908 2022/10/23 20:34:18 tom Exp $ */
 
 /*
  * Copyright 1999-2021,2022 by Thomas E. Dickey
@@ -13662,7 +13662,6 @@ DoSetSelectedFont(Widget w,
        Bell(xw, XkbBI_MinorError, 0);
     } else {
        Boolean failed = False;
-       int oldFont = TScreenOf(xw)->menu_font_number;
        char *save = TScreenOf(xw)->SelectFontName();
        char *val;
        char *test;
@@ -13707,10 +13706,6 @@ DoSetSelectedFont(Widget w,
                failed = True;
            }
            if (failed) {
-               (void) xtermLoadFont(xw,
-                                    
xtermFontName(TScreenOf(xw)->MenuFontName(oldFont)),
-                                    True,
-                                    oldFont);
                Bell(xw, XkbBI_MinorError, 0);
            }
            free(used);
@@ -13719,7 +13714,7 @@ DoSetSelectedFont(Widget w,
     }
 }
 
-void
+Bool
 FindFontSelection(XtermWidget xw, const char *atom_name, Bool justprobe)
 {
     TScreen *screen = TScreenOf(xw);
@@ -13759,7 +13754,7 @@ FindFontSelection(XtermWidget xw, const 
                            DoSetSelectedFont, NULL,
                            XtLastTimestampProcessed(XtDisplay(xw)));
     }
-    return;
+    return (screen->SelectFontName() != NULL) ? True : False;
 }
 
 Bool
Index: doublechr.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/doublechr.c,v
retrieving revision 1.17
diff -u -p -u -r1.17 doublechr.c
--- doublechr.c 7 Nov 2022 11:15:27 -0000       1.17
+++ doublechr.c 7 Nov 2022 12:13:02 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: doublechr.c,v 1.107 2022/05/05 22:23:43 tom Exp $ */
+/* $XTermId: doublechr.c,v 1.108 2022/10/23 14:46:14 tom Exp $ */
 
 /*
  * Copyright 1997-2021,2022 by Thomas E. Dickey
@@ -295,7 +295,7 @@ xterm_DoubleGC(XTermDraw * params, GC ol
            temp.flags = (params->attr_flags & BOLD);
            temp.warn = fwResource;
 
-           if (!xtermOpenFont(params->xw, name, &temp, False)) {
+           if (!xtermOpenFont(params->xw, name, &temp, NULL, False)) {
                XTermDraw local = *params;
                char *nname;
 
@@ -304,7 +304,7 @@ xterm_DoubleGC(XTermDraw * params, GC ol
                nname = xtermSpecialFont(&local);
                if (nname != 0) {
                    found = (Boolean) xtermOpenFont(params->xw, nname, &temp,
-                                                   False);
+                                                   NULL, False);
                    free(nname);
                }
            } else {
Index: fontutils.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/fontutils.c,v
retrieving revision 1.40
diff -u -p -u -r1.40 fontutils.c
--- fontutils.c 7 Nov 2022 11:15:27 -0000       1.40
+++ fontutils.c 7 Nov 2022 12:13:02 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: fontutils.c,v 1.743 2022/10/06 23:48:16 tom Exp $ */
+/* $XTermId: fontutils.c,v 1.750 2022/10/23 22:55:11 tom Exp $ */
 
 /*
  * Copyright 1998-2021,2022 by Thomas E. Dickey
@@ -102,9 +102,9 @@
 }
 
 #define FREE_FNAME(field) \
-           if (fonts == 0 || myfonts.field != fonts->field) { \
-               FREE_STRING(myfonts.field); \
-               myfonts.field = 0; \
+           if (fonts == 0 || new_fnames.field != fonts->field) { \
+               FREE_STRING(new_fnames.field); \
+               new_fnames.field = 0; \
            }
 
 /*
@@ -599,7 +599,7 @@ open_italic_font(XtermWidget xw, int n, 
        if ((name = italic_font_name(fp, slant[pass])) != 0) {
            TRACE(("open_italic_font %s %s\n",
                   whichFontEnum((VTFontEnum) n), name));
-           if (xtermOpenFont(xw, name, data, False)) {
+           if (xtermOpenFont(xw, name, data, NULL, False)) {
                result = (data->fs != 0);
 #if OPT_REPORT_FONTS
                if (resource.reportFonts) {
@@ -1063,20 +1063,26 @@ xtermLoadQueryFont(XtermWidget xw, const
 }
 
 /*
- * Open the given font and verify that it is non-empty.  Return a null on
+ * Open the given font and verify that it is non-empty.  Return false on
  * failure.
  */
 Bool
 xtermOpenFont(XtermWidget xw,
              const char *name,
              XTermFonts * result,
+             XTermFonts * current,
              Bool force)
 {
     Bool code = False;
 
     TRACE(("xtermOpenFont %d:%d '%s'\n",
           result->warn, xw->misc.fontWarnings, NonNull(name)));
+
     if (!IsEmpty(name)) {
+       Bool existing = (current != NULL
+                        && current->fs != NULL
+                        && current->fn != NULL);
+
        if ((result->fs = xtermLoadQueryFont(xw, name)) != 0) {
            code = True;
            if (EmptyFont(result->fs)) {
@@ -1095,9 +1101,13 @@ xtermOpenFont(XtermWidget xw,
            } else {
                TRACE(("xtermOpenFont: cannot load font '%s'\n", name));
            }
-           if (force) {
+           if (existing) {
+               TRACE(("...continue using font '%s'\n", current->fn));
+               result->fn = x_strdup(current->fn);
+               result->fs = current->fs;
+           } else if (force) {
                NoFontWarning(result);
-               code = xtermOpenFont(xw, DEFFONT, result, True);
+               code = xtermOpenFont(xw, DEFFONT, result, NULL, True);
            }
        }
     }
@@ -1349,6 +1359,7 @@ static Bool
 loadNormFP(XtermWidget xw,
           char **nameOutP,
           XTermFonts * infoOut,
+          XTermFonts * current,
           int fontnum)
 {
     Bool status = True;
@@ -1358,7 +1369,7 @@ loadNormFP(XtermWidget xw,
     if (!xtermOpenFont(xw,
                       *nameOutP,
                       infoOut,
-                      (fontnum == fontMenu_default))) {
+                      current, (fontnum == fontMenu_default))) {
        /*
         * If we are opening the default font, and it happens to be missing,
         * force that to the compiled-in default font, e.g., "fixed".  If we
@@ -1393,10 +1404,10 @@ loadBoldFP(XtermWidget xw,
        if (fp != 0) {
            NoFontWarning(infoOut);
            *nameOutP = bold_font_name(fp, fp->average_width);
-           if (!xtermOpenFont(xw, *nameOutP, infoOut, False)) {
+           if (!xtermOpenFont(xw, *nameOutP, infoOut, NULL, False)) {
                free(*nameOutP);
                *nameOutP = bold_font_name(fp, -1);
-               xtermOpenFont(xw, *nameOutP, infoOut, False);
+               xtermOpenFont(xw, *nameOutP, infoOut, NULL, False);
            }
            TRACE(("...derived bold '%s'\n", NonNull(*nameOutP)));
        }
@@ -1414,7 +1425,7 @@ loadBoldFP(XtermWidget xw,
            TRACE(("...did not get a matching bold font\n"));
        }
        free(normal);
-    } else if (!xtermOpenFont(xw, *nameOutP, infoOut, False)) {
+    } else if (!xtermOpenFont(xw, *nameOutP, infoOut, NULL, False)) {
        xtermCopyFontInfo(infoOut, infoRef);
        TRACE(("...cannot load bold font '%s'\n", NonNull(*nameOutP)));
     } else {
@@ -1468,7 +1479,7 @@ loadWideFP(XtermWidget xw,
     }
 
     if (check_fontname(*nameOutP)) {
-       if (xtermOpenFont(xw, *nameOutP, infoOut, False)
+       if (xtermOpenFont(xw, *nameOutP, infoOut, NULL, False)
            && is_derived_font_name(*nameOutP)
            && EmptyFont(infoOut->fs)) {
            xtermCloseFont2(xw, infoOut - fWide, fWide);
@@ -1521,7 +1532,7 @@ loadWBoldFP(XtermWidget xw,
 
     if (check_fontname(*nameOutP)) {
 
-       if (xtermOpenFont(xw, *nameOutP, infoOut, False)
+       if (xtermOpenFont(xw, *nameOutP, infoOut, NULL, False)
            && is_derived_font_name(*nameOutP)
            && !compatibleWideCounts(wideInfoRef->fs, infoOut->fs)) {
            xtermCloseFont2(xw, infoOut - fWBold, fWBold);
@@ -1574,6 +1585,10 @@ loadWBoldFP(XtermWidget xw,
 }
 #endif
 
+/*
+ * Load a given bitmap font, along with the bold/wide variants.
+ * Returns nonzero on success.
+ */
 int
 xtermLoadFont(XtermWidget xw,
              const VTFontNames * fonts,
@@ -1583,33 +1598,37 @@ xtermLoadFont(XtermWidget xw,
     TScreen *screen = TScreenOf(xw);
     VTwin *win = WhichVWin(screen);
 
-    VTFontNames myfonts;
-    XTermFonts fnts[fMAX];
+    VTFontNames new_fnames;
+    XTermFonts new_fonts[fMAX];
+    XTermFonts old_fonts[fMAX];
     char *tmpname = NULL;
     Boolean proportional = False;
+    Boolean recovered;
+    int code = 0;
 
-    memset(&myfonts, 0, sizeof(myfonts));
-    memset(fnts, 0, sizeof(fnts));
+    memset(&new_fnames, 0, sizeof(new_fnames));
+    memset(new_fonts, 0, sizeof(new_fonts));
+    memcpy(&old_fonts, screen->fnts, sizeof(old_fonts));
 
     if (fonts != 0)
-       myfonts = *fonts;
-    if (!check_fontname(myfonts.f_n))
-       return 0;
+       new_fnames = *fonts;
+    if (!check_fontname(new_fnames.f_n))
+       return code;
 
     if (fontnum == fontMenu_fontescape
-       && myfonts.f_n != screen->MenuFontName(fontnum)) {
-       if ((tmpname = x_strdup(myfonts.f_n)) == 0)
-           return 0;
+       && new_fnames.f_n != screen->MenuFontName(fontnum)) {
+       if ((tmpname = x_strdup(new_fnames.f_n)) == 0)
+           return code;
     }
 
-    TRACE(("Begin Cgs - xtermLoadFont(%s)\n", myfonts.f_n));
+    TRACE(("Begin Cgs - xtermLoadFont(%s)\n", new_fnames.f_n));
     releaseWindowGCs(xw, win);
 
 #define DbgResource(name, field, index) \
     TRACE(("xtermLoadFont #%d "name" %s%s\n", \
           fontnum, \
-          (fnts[index].warn == fwResource) ? "*" : " ", \
-          NonNull(myfonts.field)))
+          (new_fonts[index].warn == fwResource) ? "*" : " ", \
+          NonNull(new_fnames.field)))
     DbgResource("normal", f_n, fNorm);
     DbgResource("bold  ", f_b, fBold);
 #if OPT_WIDE_CHARS
@@ -1618,16 +1637,17 @@ xtermLoadFont(XtermWidget xw,
 #endif
 
     if (!loadNormFP(xw,
-                   &myfonts.f_n,
-                   &fnts[fNorm],
+                   &new_fnames.f_n,
+                   &new_fonts[fNorm],
+                   &old_fonts[fNorm],
                    fontnum))
        goto bad;
 
     if (!loadBoldFP(xw,
-                   &myfonts.f_b,
-                   &fnts[fBold],
-                   myfonts.f_n,
-                   &fnts[fNorm],
+                   &new_fnames.f_b,
+                   &new_fonts[fBold],
+                   new_fnames.f_n,
+                   &new_fonts[fNorm],
                    fontnum))
        goto bad;
 
@@ -1639,20 +1659,20 @@ xtermLoadFont(XtermWidget xw,
     if_OPT_WIDE_CHARS(screen, {
 
        if (!loadWideFP(xw,
-                       &myfonts.f_w,
-                       &fnts[fWide],
-                       myfonts.f_n,
-                       &fnts[fNorm],
+                       &new_fnames.f_w,
+                       &new_fonts[fWide],
+                       new_fnames.f_n,
+                       &new_fonts[fNorm],
                        fontnum))
            goto bad;
 
        if (!loadWBoldFP(xw,
-                        &myfonts.f_wb,
-                        &fnts[fWBold],
-                        myfonts.f_w,
-                        &fnts[fWide],
-                        myfonts.f_b,
-                        &fnts[fBold],
+                        &new_fnames.f_wb,
+                        &new_fonts[fWBold],
+                        new_fnames.f_w,
+                        &new_fonts[fWide],
+                        new_fnames.f_b,
+                        &new_fonts[fBold],
                         fontnum))
            goto bad;
 
@@ -1662,30 +1682,30 @@ xtermLoadFont(XtermWidget xw,
      * Normal/bold fonts should be the same width.  Also, the min/max
      * values should be the same.
      */
-    if (fnts[fNorm].fs != 0
-       && fnts[fBold].fs != 0
-       && (!is_fixed_font(fnts[fNorm].fs)
-           || !is_fixed_font(fnts[fBold].fs)
-           || differing_widths(fnts[fNorm].fs, fnts[fBold].fs))) {
+    if (new_fonts[fNorm].fs != 0
+       && new_fonts[fBold].fs != 0
+       && (!is_fixed_font(new_fonts[fNorm].fs)
+           || !is_fixed_font(new_fonts[fBold].fs)
+           || differing_widths(new_fonts[fNorm].fs, new_fonts[fBold].fs))) {
        TRACE(("Proportional font! normal %d/%d, bold %d/%d\n",
-              fnts[fNorm].fs->min_bounds.width,
-              fnts[fNorm].fs->max_bounds.width,
-              fnts[fBold].fs->min_bounds.width,
-              fnts[fBold].fs->max_bounds.width));
+              new_fonts[fNorm].fs->min_bounds.width,
+              new_fonts[fNorm].fs->max_bounds.width,
+              new_fonts[fBold].fs->min_bounds.width,
+              new_fonts[fBold].fs->max_bounds.width));
        proportional = True;
     }
 
     if_OPT_WIDE_CHARS(screen, {
-       if (fnts[fWide].fs != 0
-           && fnts[fWBold].fs != 0
-           && (!is_fixed_font(fnts[fWide].fs)
-               || !is_fixed_font(fnts[fWBold].fs)
-               || differing_widths(fnts[fWide].fs, fnts[fWBold].fs))) {
+       if (new_fonts[fWide].fs != 0
+           && new_fonts[fWBold].fs != 0
+           && (!is_fixed_font(new_fonts[fWide].fs)
+               || !is_fixed_font(new_fonts[fWBold].fs)
+               || differing_widths(new_fonts[fWide].fs, 
new_fonts[fWBold].fs))) {
            TRACE(("Proportional font! wide %d/%d, wide bold %d/%d\n",
-                  fnts[fWide].fs->min_bounds.width,
-                  fnts[fWide].fs->max_bounds.width,
-                  fnts[fWBold].fs->min_bounds.width,
-                  fnts[fWBold].fs->max_bounds.width));
+                  new_fonts[fWide].fs->min_bounds.width,
+                  new_fonts[fWide].fs->max_bounds.width,
+                  new_fonts[fWBold].fs->min_bounds.width,
+                  new_fonts[fWBold].fs->max_bounds.width));
            proportional = True;
        }
     });
@@ -1704,13 +1724,13 @@ xtermLoadFont(XtermWidget xw,
     screen->ifnts_ok = False;
 #endif
 
-    xtermCopyFontInfo(GetNormalFont(screen, fNorm), &fnts[fNorm]);
-    xtermCopyFontInfo(GetNormalFont(screen, fBold), &fnts[fBold]);
+    xtermCopyFontInfo(GetNormalFont(screen, fNorm), &new_fonts[fNorm]);
+    xtermCopyFontInfo(GetNormalFont(screen, fBold), &new_fonts[fBold]);
 #if OPT_WIDE_CHARS
-    xtermCopyFontInfo(GetNormalFont(screen, fWide), &fnts[fWide]);
-    if (fnts[fWBold].fs == NULL)
-       xtermCopyFontInfo(GetNormalFont(screen, fWide), &fnts[fWide]);
-    xtermCopyFontInfo(GetNormalFont(screen, fWBold), &fnts[fWBold]);
+    xtermCopyFontInfo(GetNormalFont(screen, fWide), &new_fonts[fWide]);
+    if (new_fonts[fWBold].fs == NULL)
+       xtermCopyFontInfo(GetNormalFont(screen, fWide), &new_fonts[fWide]);
+    xtermCopyFontInfo(GetNormalFont(screen, fWBold), &new_fonts[fWBold]);
 #endif
 
     xtermUpdateFontGCs(xw, getNormalFont);
@@ -1741,7 +1761,7 @@ xtermLoadFont(XtermWidget xw,
        unsigned ch;
 
 #if OPT_TRACE
-#define TRACE_MISS(index) show_font_misses(#index, &fnts[index])
+#define TRACE_MISS(index) show_font_misses(#index, &new_fonts[index])
        TRACE_MISS(fNorm);
        TRACE_MISS(fBold);
 #if OPT_WIDE_CHARS
@@ -1758,8 +1778,8 @@ xtermLoadFont(XtermWidget xw,
                if ((n != UCS_REPL)
                    && (n != ch)
                    && (screen->fnt_boxes & 2)) {
-                   if (xtermMissingChar(n, &fnts[fNorm]) ||
-                       xtermMissingChar(n, &fnts[fBold])) {
+                   if (xtermMissingChar(n, &new_fonts[fNorm]) ||
+                       xtermMissingChar(n, &new_fonts[fBold])) {
                        UIntClr(screen->fnt_boxes, 2);
                        TRACE(("missing graphics character #%d, U+%04X\n",
                               ch, n));
@@ -1771,12 +1791,12 @@ xtermLoadFont(XtermWidget xw,
 #endif
 
        for (ch = 1; ch < 32; ch++) {
-           if (xtermMissingChar(ch, &fnts[fNorm])) {
+           if (xtermMissingChar(ch, &new_fonts[fNorm])) {
                TRACE(("missing normal char #%d\n", ch));
                UIntClr(screen->fnt_boxes, 1);
                break;
            }
-           if (xtermMissingChar(ch, &fnts[fBold])) {
+           if (xtermMissingChar(ch, &new_fonts[fBold])) {
                TRACE(("missing bold   char #%d\n", ch));
                UIntClr(screen->fnt_boxes, 1);
                break;
@@ -1793,8 +1813,8 @@ xtermLoadFont(XtermWidget xw,
        screen->enbolden = screen->bold_mode;
     } else {
        screen->enbolden = screen->bold_mode
-           && ((fnts[fNorm].fs == fnts[fBold].fs)
-               || same_font_name(myfonts.f_n, myfonts.f_b));
+           && ((new_fonts[fNorm].fs == new_fonts[fBold].fs)
+               || same_font_name(new_fnames.f_n, new_fnames.f_b));
     }
     TRACE(("Will %suse 1-pixel offset/overstrike to simulate bold\n",
           screen->enbolden ? "" : "not "));
@@ -1810,7 +1830,7 @@ xtermLoadFont(XtermWidget xw,
            update_font_escape();
        }
 #if OPT_SHIFT_FONTS
-       screen->menu_font_sizes[fontnum] = FontSize(fnts[fNorm].fs);
+       screen->menu_font_sizes[fontnum] = FontSize(new_fonts[fNorm].fs);
 #endif
     }
     set_cursor_gcs(xw);
@@ -1825,20 +1845,21 @@ xtermLoadFont(XtermWidget xw,
     FREE_FNAME(f_w);
     FREE_FNAME(f_wb);
 #endif
-    if (fnts[fNorm].fn == fnts[fBold].fn) {
-       free(fnts[fNorm].fn);
+    if (new_fonts[fNorm].fn == new_fonts[fBold].fn) {
+       free(new_fonts[fNorm].fn);
     } else {
-       free(fnts[fNorm].fn);
-       free(fnts[fBold].fn);
+       free(new_fonts[fNorm].fn);
+       free(new_fonts[fBold].fn);
     }
 #if OPT_WIDE_CHARS
-    free(fnts[fWide].fn);
-    free(fnts[fWBold].fn);
+    free(new_fonts[fWide].fn);
+    free(new_fonts[fWBold].fn);
 #endif
     xtermSetWinSize(xw);
     return 1;
 
   bad:
+    recovered = False;
     free(tmpname);
 
 #if OPT_RENDERFONT
@@ -1848,15 +1869,15 @@ xtermLoadFont(XtermWidget xw,
        SetItemSensitivity(fontMenuEntries[fontnum].widget, True);
 #endif
        Bell(xw, XkbBI_MinorError, 0);
-       myfonts.f_n = screen->MenuFontName(old_fontnum);
-       return xtermLoadFont(xw, &myfonts, doresize, old_fontnum);
-    } else if (x_strcasecmp(myfonts.f_n, DEFFONT)) {
-       int code;
-
-       myfonts.f_n = x_strdup(DEFFONT);
-       TRACE(("...recovering for TrueType fonts\n"));
-       code = xtermLoadFont(xw, &myfonts, doresize, fontnum);
-       if (code) {
+       new_fnames.f_n = screen->MenuFontName(old_fontnum);
+       if (xtermLoadFont(xw, &new_fnames, doresize, old_fontnum))
+           recovered = True;
+    } else if (x_strcasecmp(new_fnames.f_n, DEFFONT)
+              && x_strcasecmp(new_fnames.f_n, old_fonts[fNorm].fn)) {
+       new_fnames.f_n = x_strdup(old_fonts[fNorm].fn);
+       TRACE(("...recovering from failed font-load\n"));
+       if (xtermLoadFont(xw, &new_fnames, doresize, fontnum)) {
+           recovered = True;
            if (fontnum != fontMenu_fontsel) {
                SetItemSensitivity(fontMenuEntries[fontnum].widget,
                                   UsingRenderFont(xw));
@@ -1865,15 +1886,15 @@ xtermLoadFont(XtermWidget xw,
                   FontHeight(screen),
                   FontWidth(screen)));
        }
-       return code;
     }
 #endif
-
-    releaseWindowGCs(xw, win);
-
-    xtermCloseFonts(xw, fnts);
-    TRACE(("Fail Cgs - xtermLoadFont\n"));
-    return 0;
+    if (!recovered) {
+       releaseWindowGCs(xw, win);
+       xtermCloseFonts(xw, new_fonts);
+       TRACE(("Fail Cgs - xtermLoadFont\n"));
+       code = 0;
+    }
+    return code;
 }
 
 #if OPT_WIDE_ATTRS
@@ -1921,7 +1942,7 @@ xtermLoadItalics(XtermWidget xw)
                        } else {
                            xtermOpenFont(xw,
                                          getNormalFont(screen, n)->fn,
-                                         data, False);
+                                         data, NULL, False);
                        }
                    }
                }
@@ -4357,9 +4378,7 @@ findXftGlyph(XtermWidget xw, XTermXftFon
        FcPatternDestroy(myPattern);
 
        fontData->fs_size = (unsigned) fontData->fontset->nfont;
-    }
-
-    {
+    } {
        XftFont *check;
        Cardinal empty = fontData->fs_size;
 
@@ -4505,6 +4524,8 @@ xtermXftMissing(XtermWidget xw,
                }
            } while ((base = FcCharSetNextPage(font->charset, map,
                                               &nextPage)) != FC_CHARSET_DONE);
+           (void) added;
+           (void) actual;
            TRACE(("xtermXftMissing U+%04X #%-3d %6u added vs %6u of %6ld %s\n",
                   wc,
                   font_map->depth,
@@ -4677,7 +4698,7 @@ lookupOneFontSize(XtermWidget xw, int fo
 
        memset(&fnt, 0, sizeof(fnt));
        screen->menu_font_sizes[fontnum] = -1;
-       if (xtermOpenFont(xw, screen->MenuFontName(fontnum), &fnt, True)) {
+       if (xtermOpenFont(xw, screen->MenuFontName(fontnum), &fnt, NULL, True)) 
{
            if (fontnum <= fontMenu_lastBuiltin
                || strcmp(fnt.fn, DEFFONT)) {
                screen->menu_font_sizes[fontnum] = FontSize(fnt.fs);
@@ -5093,13 +5114,14 @@ HandleSetFont(Widget w,
     }
 }
 
-void
+Bool
 SetVTFont(XtermWidget xw,
          int which,
          Bool doresize,
          const VTFontNames * fonts)
 {
     TScreen *screen = TScreenOf(xw);
+    Bool result = False;
 
     TRACE(("SetVTFont(which=%d, f_n=%s, f_b=%s)\n", which,
           (fonts && fonts->f_n) ? fonts->f_n : "<null>",
@@ -5108,34 +5130,31 @@ SetVTFont(XtermWidget xw,
     if (IsIcon(screen)) {
        Bell(xw, XkbBI_MinorError, 0);
     } else if (which >= 0 && which < NMENUFONTS) {
-       VTFontNames myfonts;
+       VTFontNames new_fnames;
 
-       memset(&myfonts, 0, sizeof(myfonts));
+       memset(&new_fnames, 0, sizeof(new_fnames));
        if (fonts != 0)
-           myfonts = *fonts;
+           new_fnames = *fonts;
 
        if (which == fontMenu_fontsel) {        /* go get the selection */
-           FindFontSelection(xw, myfonts.f_n, False);
+           result = FindFontSelection(xw, new_fnames.f_n, False);
        } else {
-           int oldFont = screen->menu_font_number;
-
 #define USE_CACHED(field, name) \
-           if (myfonts.field == 0) { \
-               myfonts.field = x_strdup(screen->menu_font_names[which][name]); 
\
-               TRACE(("set myfonts." #field " from menu_font_names[%d][" #name 
"] %s\n", \
-                      which, NonNull(myfonts.field))); \
+           if (new_fnames.field == NULL) { \
+               new_fnames.field = 
x_strdup(screen->menu_font_names[which][name]); \
+               TRACE(("set new_fnames." #field " from menu_font_names[%d][" 
#name "] %s\n", \
+                      which, NonNull(new_fnames.field))); \
            } else { \
-               TRACE(("set myfonts." #field " reused\n")); \
+               TRACE(("set new_fnames." #field " reused\n")); \
            }
 #define SAVE_FNAME(field, name) \
-           if (myfonts.field != 0) { \
-               if (screen->menu_font_names[which][name] == 0 \
-                || strcmp(screen->menu_font_names[which][name], 
myfonts.field)) { \
-                   TRACE(("updating menu_font_names[%d][" #name "] to 
\"%s\"\n", \
-                          which, myfonts.field)); \
-                   FREE_STRING(screen->menu_font_names[which][name]); \
-                   screen->menu_font_names[which][name] = 
x_strdup(myfonts.field); \
-               } \
+           if (new_fnames.field != NULL \
+               && (screen->menu_font_names[which][name] == NULL \
+                || strcmp(screen->menu_font_names[which][name], 
new_fnames.field))) { \
+               TRACE(("updating menu_font_names[%d][" #name "] to \"%s\"\n", \
+                      which, new_fnames.field)); \
+               FREE_STRING(screen->menu_font_names[which][name]); \
+               screen->menu_font_names[which][name] = 
x_strdup(new_fnames.field); \
            }
 
            USE_CACHED(f_n, fNorm);
@@ -5145,7 +5164,7 @@ SetVTFont(XtermWidget xw,
            USE_CACHED(f_wb, fWBold);
 #endif
            if (xtermLoadFont(xw,
-                             &myfonts,
+                             &new_fnames,
                              doresize, which)) {
                /*
                 * If successful, save the data so that a subsequent query via
@@ -5157,10 +5176,8 @@ SetVTFont(XtermWidget xw,
                SAVE_FNAME(f_w, fWide);
                SAVE_FNAME(f_wb, fWBold);
 #endif
+               result = True;
            } else {
-               (void) xtermLoadFont(xw,
-                                    
xtermFontName(screen->MenuFontName(oldFont)),
-                                    doresize, oldFont);
                Bell(xw, XkbBI_MinorError, 0);
            }
            FREE_FNAME(f_n);
@@ -5173,7 +5190,8 @@ SetVTFont(XtermWidget xw,
     } else {
        Bell(xw, XkbBI_MinorError, 0);
     }
-    return;
+    TRACE(("...SetVTFont: %d\n", result));
+    return result;
 }
 
 #if OPT_RENDERFONT
Index: fontutils.h
===================================================================
RCS file: /cvs/xenocara/app/xterm/fontutils.h,v
retrieving revision 1.20
diff -u -p -u -r1.20 fontutils.h
--- fontutils.h 7 Nov 2022 11:15:27 -0000       1.20
+++ fontutils.h 7 Nov 2022 12:13:02 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: fontutils.h,v 1.140 2022/05/05 22:24:02 tom Exp $ */
+/* $XTermId: fontutils.h,v 1.142 2022/10/23 14:47:45 tom Exp $ */
 
 /*
  * Copyright 1998-2021,2022 by Thomas E. Dickey
@@ -37,7 +37,7 @@
 /* *INDENT-OFF* */
 
 extern Bool xtermLoadDefaultFonts (XtermWidget /* xw */);
-extern Bool xtermOpenFont (XtermWidget /* xw */, const char */* name */, 
XTermFonts * /* result */, Bool /* force */);
+extern Bool xtermOpenFont (XtermWidget /* xw */, const char */* name */, 
XTermFonts * /* result */, XTermFonts * /* current */, Bool /* force */);
 extern XFontStruct * xtermLoadQueryFont(XtermWidget /* xw */, const char * 
/*name */);
 extern XTermFonts * getDoubleFont (TScreen * /* screen */, int /* which */);
 extern XTermFonts * getItalicFont (TScreen * /* screen */, int /* which */);
@@ -51,7 +51,7 @@ extern int lookupRelativeFontSize (Xterm
 extern int xtermGetFont (const char * /* param */);
 extern int xtermLoadFont (XtermWidget /* xw */, const VTFontNames */* fonts 
*/, Bool /* doresize */, int /* fontnum */);
 extern void HandleSetFont PROTO_XT_ACTIONS_ARGS;
-extern void SetVTFont (XtermWidget /* xw */, int /* i */, Bool /* doresize */, 
const VTFontNames */* fonts */);
+extern Bool SetVTFont (XtermWidget /* xw */, int /* i */, Bool /* doresize */, 
const VTFontNames */* fonts */);
 extern void allocFontList (XtermWidget /* xw */, const char * /* name */, 
XtermFontNames * /* target */, VTFontEnum /* which */, const char * /* source 
*/, Bool /* ttf */);
 extern void copyFontList (char *** /* targetp */, char ** /* source */);
 extern void initFontLists (XtermWidget /* xw */);
Index: main.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/main.c,v
retrieving revision 1.61
diff -u -p -u -r1.61 main.c
--- main.c      7 Nov 2022 11:15:27 -0000       1.61
+++ main.c      7 Nov 2022 12:13:02 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.889 2022/07/13 07:57:08 Brendan.O.Dea Exp $ */
+/* $XTermId: main.c,v 1.891 2022/10/21 23:02:38 tom Exp $ */
 
 /*
  * Copyright 2002-2021,2022 by Thomas E. Dickey
@@ -3756,62 +3756,73 @@ resetShell(char *oldPath)
 static void
 xtermTrimEnv(void)
 {
-#define DATA(wild,name) { wild, #name }
+#define KEEP(wild,name) { 0, wild, #name }
+#define TRIM(wild,name) { 1, wild, #name }
     /* *INDENT-OFF* */
-    static struct {
+    static const struct {
+       int trim;
        int wild;
        const char *name;
     } table[] = {
-       DATA(0, COLUMNS),
-       DATA(0, DEFAULT_COLORS),
-       DATA(0, DESKTOP_STARTUP_ID),
-       DATA(0, LINES),
-       DATA(0, SHLVL),         /* ksh, bash */
-       DATA(0, STY),           /* screen */
-       DATA(0, TERMCAP),
-       DATA(0, TMUX),
-       DATA(0, TMUX_PANE),
-       DATA(0, WCWIDTH_CJK_LEGACY),
-       DATA(0, WINDOW),        /* screen */
-       DATA(0, XCURSOR_PATH),
-       DATA(1, COLORFGBG),
-       DATA(1, COLORTERM),
-       DATA(1, GIO_LAUNCHED_),
-       DATA(1, ITERM2_),
-       DATA(1, MC_),
-       DATA(1, MINTTY_),
-       DATA(1, PUTTY),
-       DATA(1, RXVT_),
-       DATA(1, TERM_),
-       DATA(1, URXVT_),
-       DATA(1, VTE_),
-       DATA(1, XTERM_),
+       TRIM(0, COLUMNS),
+       TRIM(0, DEFAULT_COLORS),
+       TRIM(0, DESKTOP_STARTUP_ID),
+       TRIM(0, LINES),
+       TRIM(0, SHLVL),         /* ksh, bash */
+       TRIM(0, STY),           /* screen */
+       TRIM(0, TERMCAP),
+       TRIM(0, TMUX),
+       TRIM(0, TMUX_PANE),
+       TRIM(0, WCWIDTH_CJK_LEGACY),
+       TRIM(0, WINDOW),        /* screen */
+       TRIM(0, XCURSOR_PATH),
+       KEEP(0, MC_XDG_OPEN),
+       TRIM(1, COLORFGBG),
+       TRIM(1, COLORTERM),
+       TRIM(1, GIO_LAUNCHED_),
+       TRIM(1, ITERM2_),
+       TRIM(1, MC_),
+       TRIM(1, MINTTY_),
+       TRIM(1, PUTTY),
+       TRIM(1, RXVT_),
+       TRIM(1, TERM_),
+       TRIM(1, URXVT_),
+       TRIM(1, VTE_),
+       TRIM(1, XTERM_),
     };
-#undef DATA
+#undef TRIM
     /* *INDENT-ON* */
-    Cardinal n;
+    Cardinal j, k;
+
+    for (j = 0; environ[j] != NULL; ++j) {
+       char *equals = strchr(environ[j], '=');
+       size_t dstlen = strlen(environ[j]);
+
+       if (equals == NULL)
+           equals = (environ[j] + dstlen);
+       else
+           dstlen = (size_t) (equals - environ[j]);
 
-    for (n = 0; n < XtNumber(table); ++n) {
-       int s;
-       if (table[n].wild) {
-           size_t srclen = strlen(table[n].name);
-           for (s = 0; environ[s] != NULL; ++s) {
-               size_t dstlen = strlen(environ[s]);
-               if (dstlen > srclen) {
-                   char *dstend = strchr(environ[s], '=');
+       for (k = 0; k < XtNumber(table); ++k) {
+           size_t srclen = strlen(table[k].name);
+           if (table[k].wild) {
+               if (dstlen >= srclen &&
+                   !strncmp(environ[j], table[k].name, srclen)) {
                    char *my_var;
-                   if (dstend != NULL &&
-                       (dstlen = (size_t) (dstend - environ[s])) >= srclen &&
-                       !strncmp(table[n].name, environ[s], srclen) &&
-                       (my_var = x_strdup(environ[s])) != NULL) {
+                   if (table[k].trim &&
+                       (my_var = x_strdup(environ[j])) != NULL) {
                        my_var[dstlen] = '\0';
                        xtermUnsetenv(my_var);
                        free(my_var);
                    }
+                   break;
                }
+           } else if (dstlen == srclen &&
+                      !strncmp(environ[j], table[k].name, srclen)) {
+               if (table[k].trim)
+                   xtermUnsetenv(table[k].name);
+               break;
            }
-       } else if (getenv(table[n].name) != NULL) {
-           xtermUnsetenv(table[n].name);
        }
     }
 }
Index: misc.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/misc.c,v
retrieving revision 1.48
diff -u -p -u -r1.48 misc.c
--- misc.c      7 Nov 2022 11:15:27 -0000       1.48
+++ misc.c      7 Nov 2022 12:13:03 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.1028 2022/10/06 22:24:07 tom Exp $ */
+/* $XTermId: misc.c,v 1.1030 2022/10/23 22:56:44 tom Exp $ */
 
 /*
  * Copyright 1999-2021,2022 by Thomas E. Dickey
@@ -3955,9 +3955,9 @@ ChangeFontRequest(XtermWidget xw, String
            {
                memset(&fonts, 0, sizeof(fonts));
                fonts.f_n = name;
-               SetVTFont(xw, num, True, &fonts);
-               if (num == screen->menu_font_number &&
-                   num != fontMenu_fontescape) {
+               if (SetVTFont(xw, num, True, &fonts)
+                   && num == screen->menu_font_number
+                   && num != fontMenu_fontescape) {
                    screen->EscapeFontName() = x_strdup(name);
                }
            }
@@ -6436,7 +6436,6 @@ xtermSetenv(const char *var, const char 
 
            found = envindex;
            environ[found + 1] = NULL;
-           environ = environ;
        }
 
        environ[found] = malloc(2 + len + strlen(value));
Index: screen.c
===================================================================
RCS file: /cvs/xenocara/app/xterm/screen.c,v
retrieving revision 1.34
diff -u -p -u -r1.34 screen.c
--- screen.c    7 Nov 2022 11:15:27 -0000       1.34
+++ screen.c    7 Nov 2022 12:13:03 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: screen.c,v 1.626 2022/09/19 23:08:41 tom Exp $ */
+/* $XTermId: screen.c,v 1.627 2022/10/23 22:57:40 tom Exp $ */
 
 /*
  * Copyright 1999-2021,2022 by Thomas E. Dickey
@@ -1454,7 +1454,7 @@ ScrnRefresh(XtermWidget xw,
        maxrow += StatusLineRows;
     }
 #endif
-
+    (void) recurse;
     ++recurse;
 
     if (screen->cursorp.col >= leftcol
Index: version.h
===================================================================
RCS file: /cvs/xenocara/app/xterm/version.h,v
retrieving revision 1.56
diff -u -p -u -r1.56 version.h
--- version.h   7 Nov 2022 11:15:27 -0000       1.56
+++ version.h   7 Nov 2022 12:13:03 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.527 2022/10/10 16:31:27 tom Exp $ */
+/* $XTermId: version.h,v 1.529 2022/10/24 00:25:39 tom Exp $ */
 
 /*
  * Copyright 1998-2021,2022 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   374
-#define XTERM_DATE    2022-10-10
+#define XTERM_PATCH   375
+#define XTERM_DATE    2022-10-23
 
 #ifndef __vendorversion__
 #define __vendorversion__ "XTerm/OpenBSD"
Index: xterm.appdata.xml
===================================================================
RCS file: /cvs/xenocara/app/xterm/xterm.appdata.xml,v
retrieving revision 1.10
diff -u -p -u -r1.10 xterm.appdata.xml
--- xterm.appdata.xml   7 Nov 2022 11:15:27 -0000       1.10
+++ xterm.appdata.xml   7 Nov 2022 12:13:03 -0000
@@ -35,7 +35,7 @@
     <keyword>terminal</keyword>
   </keywords>
   <releases>
-    <release version="374" date="2022-10-10"/>
+    <release version="375" date="2022-10-23"/>
   </releases>
   <url type="homepage">https://invisible-island.net/xterm/</url>
   <update_contact>dic...@invisible-island.net</update_contact>
Index: xterm.h
===================================================================
RCS file: /cvs/xenocara/app/xterm/xterm.h,v
retrieving revision 1.52
diff -u -p -u -r1.52 xterm.h
--- xterm.h     7 Nov 2022 11:15:27 -0000       1.52
+++ xterm.h     7 Nov 2022 12:13:03 -0000
@@ -1,4 +1,4 @@
-/* $XTermId: xterm.h,v 1.918 2022/10/06 19:48:28 tom Exp $ */
+/* $XTermId: xterm.h,v 1.919 2022/10/23 13:37:56 tom Exp $ */
 
 /*
  * Copyright 1999-2021,2022 by Thomas E. Dickey
@@ -1009,7 +1009,7 @@ extern Bool CheckBufPtrs (TScreen * /* s
 extern Bool set_cursor_gcs (XtermWidget /* xw */);
 extern char * vt100ResourceToString (XtermWidget /* xw */, const char * /* 
name */);
 extern int VTInit (XtermWidget /* xw */);
-extern void FindFontSelection (XtermWidget /* xw */, const char * /* atom_name 
*/, Bool  /* justprobe */);
+extern Bool FindFontSelection (XtermWidget /* xw */, const char * /* atom_name 
*/, Bool  /* justprobe */);
 extern void HideCursor (XtermWidget /* xw */);
 extern void RestartBlinking(XtermWidget /* xw */);
 extern void ShowCursor (XtermWidget /* xw */);
Index: xterm.log.html
===================================================================
RCS file: /cvs/xenocara/app/xterm/xterm.log.html,v
retrieving revision 1.52
diff -u -p -u -r1.52 xterm.log.html
--- xterm.log.html      7 Nov 2022 11:15:27 -0000       1.52
+++ xterm.log.html      7 Nov 2022 12:13:04 -0000
@@ -30,7 +30,7 @@
  * sale, use or other dealings in this Software without prior written        *
  * authorization.                                                            *
  *****************************************************************************
-  $XTermId: xterm.log.html,v 1.2447 2022/10/11 00:04:21 tom Exp $
+  $XTermId: xterm.log.html,v 1.2453 2022/10/24 00:25:20 tom Exp $
   -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
@@ -70,6 +70,8 @@
   CHANGELOG</a>).</p>
 
   <ul>
+    <li><a href="#xterm_375">Patch #375 - 2022/10/23</a></li>
+
     <li><a href="#xterm_374">Patch #374 - 2022/10/10</a></li>
 
     <li><a href="#xterm_373">Patch #373 - 2022/09/25</a></li>
@@ -1024,6 +1026,23 @@
     <li><a href="#xterm_02">Patch #2 - 1996/1/7</a></li>
 
     <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
+  </ul>
+
+  <h1><a name="xterm_375" id="xterm_375">Patch #375 -
+  2022/10/23</a></h1>
+
+  <ul>
+    <li>improve error-recovery when setting a bitmap font for the
+    VT100 window, e.g., in case <em>OSC&nbsp;50</em> failed,
+    restoring the most recent valid font so that a subsequent
+    <em>OSC&nbsp;50</em> reports this correctly (report by David
+    Leadbeater).</li>
+
+    <li>exclude <code>MC_XDG_OPEN</code> from environment variables
+    trimmed on startup (report by Gabor Hauzer).</li>
+
+    <li>check for null pointer in <code>isSelect()</code> (report
+    by Column Paget).</li>
   </ul>
 
   <h1><a name="xterm_374" id="xterm_374">Patch #374 -
Index: package/xterm.spec
===================================================================
RCS file: /cvs/xenocara/app/xterm/package/xterm.spec,v
retrieving revision 1.35
diff -u -p -u -r1.35 xterm.spec
--- package/xterm.spec  7 Nov 2022 11:15:27 -0000       1.35
+++ package/xterm.spec  7 Nov 2022 12:13:04 -0000
@@ -1,11 +1,11 @@
-# $XTermId: xterm.spec,v 1.151 2022/09/27 08:18:41 tom Exp $
+# $XTermId: xterm.spec,v 1.152 2022/10/21 00:45:30 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: 374
+Version: 375
 Release: 1
 License: X11
 Group: User Interface/X
Index: package/debian/changelog
===================================================================
RCS file: /cvs/xenocara/app/xterm/package/debian/changelog,v
retrieving revision 1.36
diff -u -p -u -r1.36 changelog
--- package/debian/changelog    7 Nov 2022 11:15:27 -0000       1.36
+++ package/debian/changelog    7 Nov 2022 12:13:04 -0000
@@ -1,3 +1,9 @@
+xterm-dev (375) unstable; urgency=low
+
+  * maintenance updates
+
+ -- Thomas E. Dickey <dic...@invisible-island.net>  Thu, 20 Oct 2022 20:45:30 
-0400
+
 xterm-dev (374) unstable; urgency=low
 
   * maintenance updates
Index: package/freebsd/Makefile
===================================================================
RCS file: /cvs/xenocara/app/xterm/package/freebsd/Makefile,v
retrieving revision 1.25
diff -u -p -u -r1.25 Makefile
--- package/freebsd/Makefile    7 Nov 2022 11:15:27 -0000       1.25
+++ package/freebsd/Makefile    7 Nov 2022 12:13:04 -0000
@@ -1,4 +1,4 @@
-# $XTermId: Makefile,v 1.95 2022/09/27 08:18:41 tom Exp $
+# $XTermId: Makefile,v 1.96 2022/10/21 00:45:30 tom Exp $
 # $FreeBSD: head/x11/xterm/Makefile 492827 2019-02-13 06:43:36Z ehaupt $
 
 # This is adapted from the FreeBSD port, installing as "xterm-dev" with
@@ -7,7 +7,7 @@
 # and "make makesum".
 
 PORTNAME=      xterm
-PORTVERSION=   374
+PORTVERSION=   375
 CATEGORIES=    x11
 MASTER_SITES=  ftp://ftp.invisible-island.net/xterm/:src1 \
                https://invisible-mirror.net/archives/xterm/:src1
Index: package/pkgsrc/Makefile
===================================================================
RCS file: /cvs/xenocara/app/xterm/package/pkgsrc/Makefile,v
retrieving revision 1.7
diff -u -p -u -r1.7 Makefile
--- package/pkgsrc/Makefile     7 Nov 2022 11:15:28 -0000       1.7
+++ package/pkgsrc/Makefile     7 Nov 2022 12:13:04 -0000
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.117 2018/03/12 11:18:00 wiz Exp $
 
-DISTNAME=      xterm-374
+DISTNAME=      xterm-375
 PKGREVISION=   1
 CATEGORIES=    x11
 MASTER_SITES=  ftp://ftp.invisible-island.net/xterm/

-- 
Matthieu Herrb


Reply via email to