Skip to content

Commit

Permalink
snapshot of project "xterm", label xterm-390d
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasDickey committed May 12, 2024
1 parent 171258e commit 69daabc
Show file tree
Hide file tree
Showing 10 changed files with 2,063 additions and 1,595 deletions.
2 changes: 1 addition & 1 deletion MANIFEST
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
MANIFEST for xterm, version xterm-390c
MANIFEST for xterm, version xterm-390d
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
Expand Down
48 changes: 46 additions & 2 deletions aclocal.m4
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
dnl $XTermId: aclocal.m4,v 1.523 2023/12/04 00:56:22 tom Exp $
dnl $XTermId: aclocal.m4,v 1.526 2024/05/11 17:41:03 tom Exp $
dnl
dnl ---------------------------------------------------------------------------
dnl
dnl Copyright 1997-2022,2023 by Thomas E. Dickey
dnl Copyright 1997-2023,2024 by Thomas E. Dickey
dnl
dnl All Rights Reserved
dnl
Expand Down Expand Up @@ -847,6 +847,50 @@ fi
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_GETTIME version: 3 updated: 2024/05/11 13:40:02
dnl ---------------
dnl Check for gettimeofday or clock_gettime. In 2023, the former is still more
dnl widely supported, but "deprecated" (2008), so we will use the latter if it
dnl is available, to reduce compiler warnings.
AC_DEFUN([CF_FUNC_GETTIME],[
cf_save_libs="$LIBS"
AC_CHECK_FUNC(clock_gettime,
cf_cv_test_clock_gettime=yes,
AC_CHECK_LIB(rt, clock_gettime,
[LIBS="-lrt $LIBS"
cf_cv_test_clock_gettime=yes],
cf_cv_test_clock_gettime=no))
if test "$cf_cv_test_clock_gettime" = yes ; then
AC_CACHE_CHECK(if clock_gettime links,cf_cv_func_clock_gettime,[
AC_TRY_LINK([
$ac_includes_default
#include <time.h>
],
[struct timespec ts;
int rc = clock_gettime(CLOCK_REALTIME, &ts)
+ clock_gettime(CLOCK_MONOTONIC, &ts);
(void) rc; (void)ts],
[cf_cv_func_clock_gettime=yes],
[cf_cv_func_clock_gettime=no])
])
else
cf_cv_func_clock_gettime=no
fi
if test "$cf_cv_func_clock_gettime" = yes
then
AC_DEFINE(HAVE_CLOCK_GETTIME,1,[Define to 1 if we have clock_gettime function])
else
AC_CHECK_FUNC(gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
AC_CHECK_LIB(bsd, gettimeofday,
AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_FUNC_GRANTPT version: 15 updated: 2020/12/31 18:40:20
dnl ---------------
dnl Check for grantpt versus openpty, as well as functions that "should" be
Expand Down
41 changes: 16 additions & 25 deletions charproc.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* $XTermId: charproc.c,v 1.2015 2024/05/05 20:38:22 tom Exp $ */
/* $XTermId: charproc.c,v 1.2018 2024/05/10 23:11:45 tom Exp $ */

/*
* Copyright 1999-2023,2024 by Thomas E. Dickey
Expand Down Expand Up @@ -3098,34 +3098,21 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
* with values in the C1 range to use them as printable characters,
* provided that they are not intermixed with an escape sequence.
*/
if (screen->c1_printable
&& (c >= 128 && c < 256)) {
sp->nextstate = (sp->parsestate == esc_table
? CASE_ESC_IGNORE
: sp->parsestate[E2A(160)]);
TRACE(("allowC1Printable %04X %s ->%s\n",
c, which_table(sp->parsestate),
visibleVTparse(sp->nextstate)));
}
#endif

#if OPT_WIDE_CHARS
/*
* If we have a C1 code and the c1_printable flag is not set, simply
* ignore it when it was translated from UTF-8. That is because the
* value could not have been present as-is in the UTF-8.
*
* To see that CASE_IGNORE is a consistent value, note that it is
* always used for NUL and other uninteresting C0 controls.
*/
#if OPT_C1_PRINT
if (!screen->c1_printable)
if (!screen->wide_chars)
#endif
if (screen->wide_chars
&& (c >= 128 && c < 160)) {
sp->nextstate = CASE_IGNORE;
if (screen->c1_printable
&& (c >= 128 && c < 256)) {
sp->nextstate = (sp->parsestate == esc_table
? CASE_ESC_IGNORE
: sp->parsestate[E2A(160)]);
TRACE(("allowC1Printable %04X %s ->%s\n",
c, which_table(sp->parsestate),
visibleVTparse(sp->nextstate)));
}
#endif

#if OPT_WIDE_CHARS
/*
* If this character is a different width than the last one, put the
* previous text into the buffer and draw it now.
Expand Down Expand Up @@ -11234,6 +11221,10 @@ VTInitialize(Widget wrequest,
TRACE(("initialized PRIVATE_COLOR_REGISTERS to resource default: %s\n",
BtoS(screen->privatecolorregisters)));
screen->privatecolorregisters0 = screen->privatecolorregisters;

init_Bres(screen.incremental_graphics);
TRACE(("initialized INCREMENTAL_GRAPHICS to resource default: %s\n",
BtoS(screen->incremental_graphics)));
#endif

#if OPT_GRAPHICS
Expand Down
Loading

0 comments on commit 69daabc

Please sign in to comment.