Module Name: xsrc
Committed By: mrg
Date: Tue Apr 27 01:58:19 UTC 2021
Modified Files:
xsrc/external/mit/xterm/dist: fontutils.c linedata.c misc.c ptyx.h
resize.c xterm.h xterm.man
xsrc/external/mit/xterm/include: xtermcfg.h
Log Message:
merge xterm 367.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/xterm/dist/fontutils.c
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xterm/dist/linedata.c
cvs rdiff -u -r1.17 -r1.18 xsrc/external/mit/xterm/dist/misc.c \
xsrc/external/mit/xterm/dist/xterm.man
cvs rdiff -u -r1.15 -r1.16 xsrc/external/mit/xterm/dist/ptyx.h
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xterm/dist/resize.c
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/xterm/dist/xterm.h
cvs rdiff -u -r1.15 -r1.16 xsrc/external/mit/xterm/include/xtermcfg.h
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/xterm/dist/fontutils.c
diff -u xsrc/external/mit/xterm/dist/fontutils.c:1.8 xsrc/external/mit/xterm/dist/fontutils.c:1.9
--- xsrc/external/mit/xterm/dist/fontutils.c:1.8 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/fontutils.c Tue Apr 27 01:58:18 2021
@@ -1,4 +1,4 @@
-/* $XTermId: fontutils.c,v 1.701 2021/02/02 00:40:30 tom Exp $ */
+/* $XTermId: fontutils.c,v 1.703 2021/03/02 00:25:24 tom Exp $ */
/*
* Copyright 1998-2020,2021 by Thomas E. Dickey
@@ -1020,6 +1020,20 @@ noUsableXft(XtermWidget xw, const char *
}
#endif
+XFontStruct *
+xtermLoadQueryFont(XtermWidget xw, const char *name)
+{
+ XFontStruct *result = NULL;
+ size_t have = strlen(name);
+ if (have == 0 || have > MAX_U_STRING) {
+ ; /* just ignore it */
+ } else {
+ TScreen *screen = TScreenOf(xw);
+ result = XLoadQueryFont(screen->display, name);
+ }
+ return result;
+}
+
/*
* Open the given font and verify that it is non-empty. Return a null on
* failure.
@@ -1031,12 +1045,11 @@ xtermOpenFont(XtermWidget xw,
Bool force)
{
Bool code = False;
- TScreen *screen = TScreenOf(xw);
TRACE(("xtermOpenFont %d:%d '%s'\n",
result->warn, xw->misc.fontWarnings, NonNull(name)));
if (!IsEmpty(name)) {
- if ((result->fs = XLoadQueryFont(screen->display, name)) != 0) {
+ if ((result->fs = xtermLoadQueryFont(xw, name)) != 0) {
code = True;
if (EmptyFont(result->fs)) {
xtermCloseFont(xw, result);
@@ -5105,7 +5118,7 @@ save2FontList(XtermWidget xw,
next[count++] = value;
next[count] = 0;
*list = next;
- TRACE(("... saved %s %s %lu:%s\n",
+ TRACE(("... saved \"%s\" \"%s\" %lu:\"%s\"\n",
whichFontList(xw, target),
whichFontList2(xw, *list),
(unsigned long) count,
@@ -5163,7 +5176,8 @@ allocFontList(XtermWidget xw,
int pass;
char **list = 0;
- TRACE(("allocFontList %s %s '%s'\n", whichFontEnum(which), name, blob));
+ TRACE(("allocFontList %s name=\"%s\" source=\"%s\"\n",
+ whichFontEnum(which), name, blob));
for (pass = 0; pass < 2; ++pass) {
unsigned count = 0;
Index: xsrc/external/mit/xterm/dist/linedata.c
diff -u xsrc/external/mit/xterm/dist/linedata.c:1.6 xsrc/external/mit/xterm/dist/linedata.c:1.7
--- xsrc/external/mit/xterm/dist/linedata.c:1.6 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/linedata.c Tue Apr 27 01:58:18 2021
@@ -1,7 +1,7 @@
-/* $XTermId: linedata.c,v 1.97 2019/06/30 19:10:53 tom Exp $ */
+/* $XTermId: linedata.c,v 1.99 2021/03/08 00:24:12 tom Exp $ */
/*
- * Copyright 2009-2018,2019 by Thomas E. Dickey
+ * Copyright 2009-2019,2021 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -251,7 +251,7 @@ saveCellData(TScreen *screen,
&& (limits == NULL
|| (column + 1) >= limits->right)));
if (blank) {
- item->charData = (Char) ' ';
+ item->charData = (CharData) ' ';
}
item->combSize = blank ? 0 : ld->combSize;
for_each_combData(off, item) {
Index: xsrc/external/mit/xterm/dist/misc.c
diff -u xsrc/external/mit/xterm/dist/misc.c:1.17 xsrc/external/mit/xterm/dist/misc.c:1.18
--- xsrc/external/mit/xterm/dist/misc.c:1.17 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/misc.c Tue Apr 27 01:58:18 2021
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.968 2021/02/10 00:50:59 tom Exp $ */
+/* $XTermId: misc.c,v 1.979 2021/03/24 00:27:48 tom Exp $ */
/*
* Copyright 1999-2020,2021 by Thomas E. Dickey
@@ -67,7 +67,6 @@
#include <X11/keysym.h>
#include <X11/Xatom.h>
-#include <X11/cursorfont.h>
#include <X11/Xmu/Error.h>
#include <X11/Xmu/SysUtil.h>
@@ -220,7 +219,7 @@ unselectwindow(XtermWidget xw, int flag)
if (screen->hide_pointer && screen->pointer_mode < pFocused) {
screen->hide_pointer = False;
- xtermDisplayCursor(xw);
+ xtermDisplayPointer(xw);
}
screen->select &= ~flag;
@@ -314,16 +313,16 @@ do_xevents(XtermWidget xw)
}
void
-xtermDisplayCursor(XtermWidget xw)
+xtermDisplayPointer(XtermWidget xw)
{
TScreen *screen = TScreenOf(xw);
if (screen->Vshow) {
if (screen->hide_pointer) {
- TRACE(("Display hidden_cursor\n"));
+ TRACE(("Display text pointer (hidden)\n"));
XDefineCursor(screen->display, VWindow(screen), screen->hidden_cursor);
} else {
- TRACE(("Display pointer_cursor\n"));
+ TRACE(("Display text pointer (visible)\n"));
recolor_cursor(screen,
screen->pointer_cursor,
T_COLOR(screen, MOUSE_FG),
@@ -366,7 +365,7 @@ xtermShowPointer(XtermWidget xw, Bool en
if (enable) {
if (screen->hide_pointer) {
screen->hide_pointer = False;
- xtermDisplayCursor(xw);
+ xtermDisplayPointer(xw);
switch (screen->send_mouse_pos) {
case ANY_EVENT_MOUSE:
break;
@@ -384,7 +383,7 @@ xtermShowPointer(XtermWidget xw, Bool en
} else {
tried = 0;
screen->hide_pointer = True;
- xtermDisplayCursor(xw);
+ xtermDisplayPointer(xw);
MotionOn(screen, xw);
}
}
@@ -717,9 +716,9 @@ make_hidden_cursor(XtermWidget xw)
* server insists on drawing _something_.
*/
TRACE(("Ask for nil2 font\n"));
- if ((fn = XLoadQueryFont(dpy, "nil2")) == 0) {
+ if ((fn = xtermLoadQueryFont(xw, "nil2")) == 0) {
TRACE(("...Ask for fixed font\n"));
- fn = XLoadQueryFont(dpy, DEFFONT);
+ fn = xtermLoadQueryFont(xw, DEFFONT);
}
if (fn != None) {
@@ -739,10 +738,10 @@ make_hidden_cursor(XtermWidget xw)
* default theme. Testing seems to show that we only have to provide this
* until the window is initialized.
*/
+#ifdef HAVE_LIB_XCURSOR
void
init_colored_cursor(Display *dpy)
{
-#ifdef HAVE_LIB_XCURSOR
static const char theme[] = "index.theme";
static const char pattern[] = "xtermXXXXXX";
char *env = getenv("XCURSOR_THEME");
@@ -753,7 +752,11 @@ init_colored_cursor(Display *dpy)
*/
if (IsEmpty(env)) {
env = XGetDefault(dpy, "Xcursor", "theme");
+ TRACE(("XGetDefault Xcursor theme \"%s\"\n", NonNull(env)));
+ } else {
+ TRACE(("getenv(XCURSOR_THEME) \"%s\"\n", NonNull(env)));
}
+
/*
* If neither found, provide our own default theme.
*/
@@ -762,6 +765,8 @@ init_colored_cursor(Display *dpy)
char *filename;
size_t needed;
+ TRACE(("init_colored_cursor will make an empty Xcursor theme\n"));
+
if ((tmp_dir = getenv("TMPDIR")) == 0) {
tmp_dir = P_tmpdir;
}
@@ -790,21 +795,25 @@ init_colored_cursor(Display *dpy)
strcat(leaf, "/");
strcat(leaf, theme);
+
if ((fp = fopen(xterm_cursor_theme, "w")) != 0) {
fprintf(fp, "[Icon Theme]\n");
fclose(fp);
*leaf = '\0';
xtermSetenv("XCURSOR_PATH", xterm_cursor_theme);
*leaf = '/';
+
+ TRACE(("...initialized xterm_cursor_theme \"%s\"\n",
+ xterm_cursor_theme));
+ atexit(cleanup_colored_cursor);
+ } else {
+ FreeAndNull(xterm_cursor_theme);
}
- atexit(cleanup_colored_cursor);
}
}
}
-#else
- (void) dpy;
-#endif /* HAVE_LIB_XCURSOR */
}
+#endif /* HAVE_LIB_XCURSOR */
/*
* Once done, discard the file and directory holding it.
@@ -821,9 +830,8 @@ cleanup_colored_cursor(void)
&& (sb.st_mode & S_IFMT) == S_IFDIR) {
unlink(xterm_cursor_theme);
rmdir(my_path);
- free(xterm_cursor_theme);
- xterm_cursor_theme = 0;
}
+ FreeAndNull(xterm_cursor_theme);
}
#endif /* HAVE_LIB_XCURSOR */
}
@@ -843,7 +851,8 @@ make_colored_cursor(unsigned c_index, /
/* adapted from XCreateFontCursor(), which hardcodes the font name */
TRACE(("loading cursor from alternate cursor font\n"));
- if ((myFont.fs = XLoadQueryFont(dpy, screen->cursor_font_name)) != 0) {
+ myFont.fs = xtermLoadQueryFont(term, screen->cursor_font_name);
+ if (myFont.fs != NULL) {
if (!xtermMissingChar(c_index, &myFont)
&& !xtermMissingChar(c_index + 1, &myFont)) {
#define DATA(c) { 0UL, c, c, c, 0, 0 }
@@ -881,6 +890,148 @@ make_colored_cursor(unsigned c_index, /
return c;
}
+/* adapted from <X11/cursorfont.h> */
+static int
+LookupCursorShape(const char *name)
+{
+#define DATA(name) { XC_##name, #name }
+ static struct {
+ int code;
+ const char name[25];
+ } table[] = {
+ DATA(X_cursor),
+ DATA(arrow),
+ DATA(based_arrow_down),
+ DATA(based_arrow_up),
+ DATA(boat),
+ DATA(bogosity),
+ DATA(bottom_left_corner),
+ DATA(bottom_right_corner),
+ DATA(bottom_side),
+ DATA(bottom_tee),
+ DATA(box_spiral),
+ DATA(center_ptr),
+ DATA(circle),
+ DATA(clock),
+ DATA(coffee_mug),
+ DATA(cross),
+ DATA(cross_reverse),
+ DATA(crosshair),
+ DATA(diamond_cross),
+ DATA(dot),
+ DATA(dotbox),
+ DATA(double_arrow),
+ DATA(draft_large),
+ DATA(draft_small),
+ DATA(draped_box),
+ DATA(exchange),
+ DATA(fleur),
+ DATA(gobbler),
+ DATA(gumby),
+ DATA(hand1),
+ DATA(hand2),
+ DATA(heart),
+ DATA(icon),
+ DATA(iron_cross),
+ DATA(left_ptr),
+ DATA(left_side),
+ DATA(left_tee),
+ DATA(leftbutton),
+ DATA(ll_angle),
+ DATA(lr_angle),
+ DATA(man),
+ DATA(middlebutton),
+ DATA(mouse),
+ DATA(pencil),
+ DATA(pirate),
+ DATA(plus),
+ DATA(question_arrow),
+ DATA(right_ptr),
+ DATA(right_side),
+ DATA(right_tee),
+ DATA(rightbutton),
+ DATA(rtl_logo),
+ DATA(sailboat),
+ DATA(sb_down_arrow),
+ DATA(sb_h_double_arrow),
+ DATA(sb_left_arrow),
+ DATA(sb_right_arrow),
+ DATA(sb_up_arrow),
+ DATA(sb_v_double_arrow),
+ DATA(shuttle),
+ DATA(sizing),
+ DATA(spider),
+ DATA(spraycan),
+ DATA(star),
+ DATA(target),
+ DATA(tcross),
+ DATA(top_left_arrow),
+ DATA(top_left_corner),
+ DATA(top_right_corner),
+ DATA(top_side),
+ DATA(top_tee),
+ DATA(trek),
+ DATA(ul_angle),
+ DATA(umbrella),
+ DATA(ur_angle),
+ DATA(watch),
+ DATA(xterm),
+ };
+#undef DATA
+ Cardinal j;
+ int result = -1;
+ if (!IsEmpty(name)) {
+ for (j = 0; j < XtNumber(table); ++j) {
+ if (!strcmp(name, table[j].name)) {
+ result = table[j].code;
+ break;
+ }
+ }
+ }
+ return result;
+}
+
+void
+xtermSetupPointer(XtermWidget xw, const char *theShape)
+{
+ TScreen *screen = TScreenOf(xw);
+ unsigned shape = XC_xterm;
+ int other = LookupCursorShape(theShape);
+ unsigned which;
+
+ if (other >= 0 && other < XC_num_glyphs)
+ shape = (unsigned) other;
+
+ TRACE(("looked up shape index %d from shape name \"%s\"\n", other,
+ NonNull(theShape)));
+
+ which = (unsigned) (shape / 2);
+ if (xw->work.pointer_cursors[which] == None) {
+ TRACE(("creating text pointer cursor from shape %d\n", shape));
+ xw->work.pointer_cursors[which] =
+ make_colored_cursor(shape,
+ T_COLOR(screen, MOUSE_FG),
+ T_COLOR(screen, MOUSE_BG));
+ } else {
+ TRACE(("updating text pointer cursor for shape %d\n", shape));
+ recolor_cursor(screen,
+ screen->pointer_cursor,
+ T_COLOR(screen, MOUSE_FG),
+ T_COLOR(screen, MOUSE_BG));
+ }
+ if (screen->pointer_cursor != xw->work.pointer_cursors[which]) {
+ screen->pointer_cursor = xw->work.pointer_cursors[which];
+ TRACE(("defining text pointer cursor with shape %d\n", shape));
+ XDefineCursor(screen->display, VShellWindow(xw), screen->pointer_cursor);
+ if (XtIsRealized((Widget) xw)) {
+ /* briefly override pointerMode after changing the pointer */
+ if (screen->pointer_mode != pNever)
+ screen->hide_pointer = True;
+ xtermShowPointer(xw, True);
+ }
+ }
+}
+
/* ARGSUSED */
void
HandleKeyPressed(Widget w GCC_UNUSED,
@@ -3092,8 +3243,13 @@ xtermAllocColor(XtermWidget xw, XColor *
Boolean result = False;
TScreen *screen = TScreenOf(xw);
Colormap cmap = xw->core.colormap;
+ size_t have = strlen(spec);
- if (XParseColor(screen->display, cmap, spec, def)) {
+ if (have == 0 || have > MAX_U_STRING) {
+ if (resource.reportColors) {
+ printf("color (ignored, length %lu)\n", have);
+ }
+ } else if (XParseColor(screen->display, cmap, spec, def)) {
XColor save_def = *def;
if (resource.reportColors) {
printf("color %04x/%04x/%04x = \"%s\"\n",
@@ -4177,6 +4333,10 @@ do_osc(XtermWidget xw, Char *oscbuf, siz
}
break;
+ case 22:
+ xtermSetupPointer(xw, buf);
+ break;
+
case 30:
case 31:
/* reserved for Konsole (Stephan Binner <[email protected]>) */
@@ -6921,8 +7081,6 @@ xtermOpenApplication(XtAppContext * app_
fallback_resources,
NULL, 0);
#endif /* OPT_SESSION_MGT */
- init_colored_cursor(XtDisplay(result));
-
XtSetErrorHandler(NULL);
return result;
Index: xsrc/external/mit/xterm/dist/xterm.man
diff -u xsrc/external/mit/xterm/dist/xterm.man:1.17 xsrc/external/mit/xterm/dist/xterm.man:1.18
--- xsrc/external/mit/xterm/dist/xterm.man:1.17 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/xterm.man Tue Apr 27 01:58:18 2021
@@ -1,5 +1,5 @@
'\" t
-.\" $XTermId: xterm.man,v 1.839 2021/02/02 00:24:46 tom Exp $
+.\" $XTermId: xterm.man,v 1.844 2021/03/26 23:11:13 tom Exp $
.\"
.\" Copyright 1996-2020,2021 by Thomas E. Dickey
.\"
@@ -1627,6 +1627,34 @@ The default is
\*(``40\*(''
and is limited to the range 1 through 100.
.TP 8
+.B "cursorTheme\fP (class\fB CursorTheme\fP)"
+The Xcursor(__miscmansuffix__) library provides a way to
+The X11 library uses this library to extend the font- and glyph-cursor
+calls used by applications such as \fI\*n\fP to substitute external
+files for the built-in \*(``core\*('' cursors provided by X.
+.IP
+\fI\*N\fP uses the \fBpointerShape\fP resource to select the X cursor shape.
+Most of the available sets of cursor themes provide an incomplete set
+of \*(``core\*('' cursors (while possibly adding other cursors).
+Because of this limitation, \fI\*n\fP disables the feature by default.
+.IP
+The cursor theme feature can be useful because X cursors are not scalable
+and on a high-resolution display, the cursors are hard to find.
+Some of the cursor themes include
+larger cursors to work around this limitation:
+.RS
+.bP
+The default core cursors are 8x8 pixels;
+.bP
+Some cursor themes include cursors up to the X server limit of 64x64 pixels.
+.RE
+.IP
+At startup, \fI\*n\fP sets the \fBXCURSOR_THEME\fP environment variable
+to enable or disable the cursor theme feature.
+The default value is \*(``none\*(''.
+Other values (including \*(``default\*('') are passed to the Xcursor
+library to select a cursor theme.
+.TP 8
.B "fullscreen\fP (class\fB Fullscreen\fP)"
Specifies whether or not \fI\*n\fP should ask the window manager to
use a fullscreen layout on startup.
@@ -4449,6 +4477,94 @@ always.
.B "pointerShape\fP (class\fB Cursor\fP)"
Specifies the name of the shape of the pointer.
The default is \*(``xterm\*(''.
+.IP
+Other shapes can be selected.
+Here is a list of the \*(``core\*('' (i.e., \fIstandard\fP) names
+extracted from <X11/cursorfont.h>:
+.RS 5
+.IP
+X_cursor,
+arrow,
+based_arrow_down,
+based_arrow_up,
+boat,
+bogosity,
+bottom_left_corner,
+bottom_right_corner,
+bottom_side,
+bottom_tee,
+box_spiral,
+center_ptr,
+circle,
+clock,
+coffee_mug,
+cross,
+cross_reverse,
+crosshair,
+diamond_cross,
+dot,
+dotbox,
+double_arrow,
+draft_large,
+draft_small,
+draped_box,
+exchange,
+fleur,
+gobbler,
+gumby,
+hand1,
+hand2,
+heart,
+icon,
+iron_cross,
+left_ptr,
+left_side,
+left_tee,
+leftbutton,
+ll_angle,
+lr_angle,
+man,
+middlebutton,
+mouse,
+pencil,
+pirate,
+plus,
+question_arrow,
+right_ptr,
+right_side,
+right_tee,
+rightbutton,
+rtl_logo,
+sailboat,
+sb_down_arrow,
+sb_h_double_arrow,
+sb_left_arrow,
+sb_right_arrow,
+sb_up_arrow,
+sb_v_double_arrow,
+shuttle,
+sizing,
+spider,
+spraycan,
+star,
+target,
+tcross,
+top_left_arrow,
+top_left_corner,
+top_right_corner,
+top_side,
+top_tee,
+trek,
+ul_angle,
+umbrella,
+ur_angle,
+watch,
+xterm
+.RE
+.IP
+If you are using a \fIcursor theme\fP,
+expect it to provide about a third of those names,
+while adding others.
.TP 8
.B "popOnBell\fP (class\fB PopOnBell\fP)"
Specifies whether the window would be raised when Control-G is received.
@@ -4697,6 +4813,20 @@ then start by using the TrueType font ra
.RE
.RE
.TP 8
+.B "resizeByPixel\fP (class\fB ResizeByPixel\fP)"
+Set this \*(``true\*(''
+to disable hints to the window manager that request resizing
+by character rather than pixels.
+.IP
+Most window managers provide visual feedback showing the size of a
+window as you resize it, using these hints.
+When you maximize \fI\*n\fP, it disables those hints to allow
+the window manager to make better use of fractional rows or columns.
+Setting this resource disables the hints all the time.
+.IP
+The default is
+\*(``false\*(''.
+.TP 8
.B "resizeGravity\fP (class\fB ResizeGravity\fP)"
Affects the behavior when the window is resized to be taller or shorter.
\fBNorthWest\fP
@@ -6872,70 +7002,70 @@ UTF-8 mode, only the first 256 entries o
The default table starts as follows \-
.NS
static int charClass[256] = {
-/\(** NUL SOH STX ETX EOT ENQ ACK BEL */
+/* NUL SOH STX ETX EOT ENQ ACK BEL */
32, 1, 1, 1, 1, 1, 1, 1,
-/\(** BS HT NL VT NP CR SO SI */
+/* BS HT NL VT NP CR SO SI */
1, 32, 1, 1, 1, 1, 1, 1,
-/\(** DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
+/* DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** CAN EM SUB ESC FS GS RS US */
+/* CAN EM SUB ESC FS GS RS US */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** SP ! " # $ % & \*(AQ */
+/* SP ! " # $ % & \*(AQ */
.\" " <- for emacs autocolor to work well :-)
32, 33, 34, 35, 36, 37, 38, 39,
-/\(** ( ) * + , \- . / */
+/* ( ) * + , \- . / */
40, 41, 42, 43, 44, 45, 46, 47,
-/\(** 0 1 2 3 4 5 6 7 */
+/* 0 1 2 3 4 5 6 7 */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** 8 9 : ; < = > ? */
+/* 8 9 : ; < = > ? */
48, 48, 58, 59, 60, 61, 62, 63,
-/\(** @ A B C D E F G */
+/* @ A B C D E F G */
64, 48, 48, 48, 48, 48, 48, 48,
-/\(** H I J K L M N O */
+/* H I J K L M N O */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** P Q R S T U V W */
+/* P Q R S T U V W */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** X Y Z [ \\ ] ^ _ */
+/* X Y Z [ \\ ] ^ _ */
48, 48, 48, 91, 92, 93, 94, 48,
-/\(** ` a b c d e f g */
+/* ` a b c d e f g */
96, 48, 48, 48, 48, 48, 48, 48,
-/\(** h i j k l m n o */
+/* h i j k l m n o */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** p q r s t u v w */
+/* p q r s t u v w */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** x y z { | } ~ DEL */
+/* x y z { | } ~ DEL */
48, 48, 48, 123, 124, 125, 126, 1,
-/\(** x80 x81 x82 x83 IND NEL SSA ESA */
+/* x80 x81 x82 x83 IND NEL SSA ESA */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** HTS HTJ VTS PLD PLU RI SS2 SS3 */
+/* HTS HTJ VTS PLD PLU RI SS2 SS3 */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** DCS PU1 PU2 STS CCH MW SPA EPA */
+/* DCS PU1 PU2 STS CCH MW SPA EPA */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** x98 x99 x9A CSI ST OSC PM APC */
+/* x98 x99 x9A CSI ST OSC PM APC */
1, 1, 1, 1, 1, 1, 1, 1,
-/\(** \- i c/ L ox Y\- | So */
+/* \- i c/ L ox Y\- | So */
160, 161, 162, 163, 164, 165, 166, 167,
-/\(** .. c0 ip << _ R0 \- */
+/* .. c0 ip << _ R0 \- */
168, 169, 170, 171, 172, 173, 174, 175,
-/\(** o +\- 2 3 \*(AQ u q| . */
+/* o +\- 2 3 \*(AQ u q| . */
176, 177, 178, 179, 180, 181, 182, 183,
-/\(** , 1 2 >> 1/4 1/2 3/4 ? */
+/* , 1 2 >> 1/4 1/2 3/4 ? */
184, 185, 186, 187, 188, 189, 190, 191,
-/\(** A` A\*(AQ A^ A~ A: Ao AE C, */
+/* A` A\*(AQ A^ A~ A: Ao AE C, */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** E` E\*(AQ E^ E: I` I\*(AQ I^ I: */
+/* E` E\*(AQ E^ E: I` I\*(AQ I^ I: */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** D\- N~ O` O\*(AQ O^ O~ O: X */
+/* D\- N~ O` O\*(AQ O^ O~ O: X */
48, 48, 48, 48, 48, 48, 48, 215,
-/\(** O/ U` U\*(AQ U^ U: Y\*(AQ P B */
+/* O/ U` U\*(AQ U^ U: Y\*(AQ P B */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** a` a\*(AQ a^ a~ a: ao ae c, */
+/* a` a\*(AQ a^ a~ a: ao ae c, */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** e` e\*(AQ e^ e: i` i\*(AQ i^ i: */
+/* e` e\*(AQ e^ e: i` i\*(AQ i^ i: */
48, 48, 48, 48, 48, 48, 48, 48,
-/\(** d n~ o` o\*(AQ o^ o~ o: \-: */
+/* d n~ o` o\*(AQ o^ o~ o: \-: */
48, 48, 48, 48, 48, 48, 48, 247,
-/\(** o/ u` u\*(AQ u^ u: y\*(AQ P y: */
+/* o/ u` u\*(AQ u^ u: y\*(AQ P y: */
48, 48, 48, 48, 48, 48, 48, 48};
.NE
.IP
@@ -7130,15 +7260,15 @@ the data as in the \fBon2Clicks\fP resou
.B "fullscreen(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBfullscreen\fP resource.
.TP 8
-.B "iconify()"
-Iconifies the window.
-.TP 8
.B "hard\-reset()"
This action resets the scrolling region, tabs, window size, and cursor keys
and clears the screen.
It is also invoked from the \fBhardreset\fP
entry in \fIvtMenu\fP.
.TP 8
+.B "iconify()"
+Iconifies the window.
+.TP 8
.B "ignore()"
This action ignores the event but checks for special pointer position
escape sequences.
@@ -7371,11 +7501,6 @@ mouse reporting is enabled.
This action is similar to \fBscroll\-back\fP except that it scrolls
in the other direction.
.TP 8
-.B "secure()"
-This action toggles the \fISecure Keyboard\fP mode
-(see \fBSECURITY\fP), and is invoked from the \fBsecurekbd\fP
-entry in \fImainMenu\fP.
-.TP 8
.B "scroll\-lock(\fIon/off/toggle\fP)"
This action sets, unsets or toggles internal state which tells
\fI\*n\fP whether Scroll Lock is active,
@@ -7394,6 +7519,11 @@ Scroll to the beginning of the saved lin
Scroll to the end of the saved lines, i.e., to the currently active page.
.RE
.TP 8
+.B "secure()"
+This action toggles the \fISecure Keyboard\fP mode
+(see \fBSECURITY\fP), and is invoked from the \fBsecurekbd\fP
+entry in \fImainMenu\fP.
+.TP 8
.B "select\-cursor\-end(\fIdestname\fP [, \&...\&])"
This action is similar to \fBselect\-end\fP except that it should be used
with \fBselect\-cursor\-start\fP.
@@ -7481,26 +7611,18 @@ It is also invoked from the \fBbackarrow
This action sets, unsets or toggles the \fBbellIsUrgent\fP resource.
It is also invoked by the \fBbellIsUrgent\fP entry in \fIvtMenu\fP.
.TP 8
-.B "set\-cursorblink(\fIon/off/toggle\fP)"
-This action sets, unsets or toggles the \fBcursorBlink\fP resource.
-It is also invoked from the \fBcursorblink\fP entry in \fIvtMenu\fP.
-.TP 8
.B "set\-cursesemul(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBcurses\fP resource.
It is also invoked from the \fBcursesemul\fP entry in \fIvtMenu\fP.
.TP 8
+.B "set\-cursorblink(\fIon/off/toggle\fP)"
+This action sets, unsets or toggles the \fBcursorBlink\fP resource.
+It is also invoked from the \fBcursorblink\fP entry in \fIvtMenu\fP.
+.TP 8
.B "set\-font\-doublesize(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBfontDoublesize\fP resource.
It is also invoked by the \fBfont\-doublesize\fP entry in \fIfontMenu\fP.
.TP 8
-.B "set\-hp\-function\-keys(\fIon/off/toggle\fP)"
-This action sets, unsets or toggles the \fBhpFunctionKeys\fP resource.
-It is also invoked by the \fBhpFunctionKeys\fP entry in \fImainMenu\fP.
-.TP 8
-.B "set\-jumpscroll(\fIon/off/toggle\fP)"
-This action sets, unsets or toggles the \fBjumpscroll\fP resource.
-It is also invoked by the \fBjumpscroll\fP entry in \fIvtMenu\fP.
-.TP 8
.B "set\-font\-linedrawing(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fI\*n\fR's state regarding whether
the current font has line-drawing characters and whether it should draw them
@@ -7518,6 +7640,14 @@ This action sets, unsets or toggles the
which controls use of the font's minimum or maximum glyph width.
It is also invoked by the \fBfont\-packed\fP entry in \fIfontMenu\fP.
.TP 8
+.B "set\-hp\-function\-keys(\fIon/off/toggle\fP)"
+This action sets, unsets or toggles the \fBhpFunctionKeys\fP resource.
+It is also invoked by the \fBhpFunctionKeys\fP entry in \fImainMenu\fP.
+.TP 8
+.B "set\-jumpscroll(\fIon/off/toggle\fP)"
+This action sets, unsets or toggles the \fBjumpscroll\fP resource.
+It is also invoked by the \fBjumpscroll\fP entry in \fIvtMenu\fP.
+.TP 8
.B "set\-keep\-clipboard(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBkeepClipboard\fP resource.
.TP 8
@@ -7528,16 +7658,16 @@ It is also invoked by the \fBkeepSelecti
.B "set\-logging(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the state of the logging option.
.TP 8
-.B "set\-old\-function\-keys(\fIon/off/toggle\fP)"
-This action sets, unsets or toggles the state of legacy function keys.
-It is also invoked by the \fBoldFunctionKeys\fP entry in \fImainMenu\fP.
-.TP 8
.B "set\-marginbell(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBmarginBell\fP resource.
.TP 8
.B "set\-num\-lock(\fIon/off/toggle\fP)"
This action toggles the state of the \fBnumLock\fP resource.
.TP 8
+.B "set\-old\-function\-keys(\fIon/off/toggle\fP)"
+This action sets, unsets or toggles the state of legacy function keys.
+It is also invoked by the \fBoldFunctionKeys\fP entry in \fImainMenu\fP.
+.TP 8
.B "set\-pop\-on\-bell(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBpopOnBell\fP resource.
It is also invoked by the \fBpoponbell\fP entry in \fIvtMenu\fP.
@@ -7557,6 +7687,10 @@ It is also invoked by the \fBreversevide
This action sets, unsets or toggles the \fBreverseWrap\fP resource.
It is also invoked by the \fBreversewrap\fP entry in \fIvtMenu\fP.
.TP 8
+.B "set\-sco\-function\-keys(\fIon/off/toggle\fP)"
+This action sets, unsets or toggles the \fBscoFunctionKeys\fP resource.
+It is also invoked by the \fBscoFunctionKeys\fP entry in \fImainMenu\fP.
+.TP 8
.B "set\-scroll\-on\-key(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBscrollKey\fP resource.
It is also invoked from the \fBscrollkey\fP entry in \fIvtMenu\fP.
@@ -7569,10 +7703,6 @@ It is also invoked from the \fBscrolltty
This action sets, unsets or toggles the \fBscrollbar\fP resource.
It is also invoked by the \fBscrollbar\fP entry in \fIvtMenu\fP.
.TP 8
-.B "set\-sco\-function\-keys(\fIon/off/toggle\fP)"
-This action sets, unsets or toggles the \fBscoFunctionKeys\fP resource.
-It is also invoked by the \fBscoFunctionKeys\fP entry in \fImainMenu\fP.
-.TP 8
.B "set\-select(\fIon/off/toggle\fP)"
This action sets, unsets or toggles the \fBselectToClipboard\fP resource.
It is also invoked by the \fBselectToClipboard\fP entry in \fIvtMenu\fP.
@@ -7697,14 +7827,14 @@ Otherwise, use the \fB$PATH\fP variable
If parameters are given in the action,
pass them to the new \fI\*n\fP process.
.TP 8
-.B "start\-extend()"
-This action is similar to \fBselect\-start\fP except that the
-selection is extended to the current pointer location.
-.TP 8
.B "start\-cursor\-extend()"
This action is similar to \fBselect\-extend\fP except that the
selection is extended to the current text cursor position.
.TP 8
+.B "start\-extend()"
+This action is similar to \fBselect\-start\fP except that the
+selection is extended to the current pointer location.
+.TP 8
.B "string(\fIstring\fP)"
This action inserts the specified text string as if it had been typed.
Quotation is necessary if the string contains whitespace or
@@ -8652,6 +8782,7 @@ resize(__mansuffix__),
luit(__mansuffix__),
u\*n(__mansuffix__),
X(__miscmansuffix__),
+Xcursor(__miscmansuffix__),
pty(4),
tty(4)
.ad
Index: xsrc/external/mit/xterm/dist/ptyx.h
diff -u xsrc/external/mit/xterm/dist/ptyx.h:1.15 xsrc/external/mit/xterm/dist/ptyx.h:1.16
--- xsrc/external/mit/xterm/dist/ptyx.h:1.15 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/ptyx.h Tue Apr 27 01:58:18 2021
@@ -1,7 +1,7 @@
-/* $XTermId: ptyx.h,v 1.1026 2020/12/25 15:15:37 tom Exp $ */
+/* $XTermId: ptyx.h,v 1.1030 2021/03/21 22:11:10 tom Exp $ */
/*
- * Copyright 1999-2019,2020 by Thomas E. Dickey
+ * Copyright 1999-2020,2021 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -67,6 +67,8 @@
#include <X11/Shell.h> /* for XtNdieCallback, etc. */
#include <X11/StringDefs.h> /* for standard resource names */
#include <X11/Xmu/Misc.h> /* For Max() and Min(). */
+#include <X11/cursorfont.h>
+
#undef bcopy
#undef bzero
@@ -407,6 +409,12 @@ typedef struct {
#define DFT_KBD_DIALECT "B" /* default USASCII */
#endif
+#define MAX_I_PARAM 65535 /* parameters */
+#define MAX_I_DELAY 32767 /* time-delay in ReGIS */
+#define MAX_U_COLOR 65535u /* colors */
+#define MAX_U_COORD 32767u /* coordinates */
+#define MAX_U_STRING 65535u /* string-length */
+
/* constants used for utf8 mode */
#define UCS_REPL 0xfffd
#define UCS_LIMIT 0x80000000U /* both limit and flag for non-UCS */
@@ -2518,7 +2526,7 @@ typedef struct {
int pointer_mode0; /* ...initial value */
Boolean hide_pointer; /* true to use "hidden_cursor" */
String pointer_shape; /* name of shape in cursor font */
- Cursor pointer_cursor; /* pointer cursor in window */
+ Cursor pointer_cursor; /* current pointer cursor */
Cursor hidden_cursor; /* hidden cursor in window */
String answer_back; /* response to ENQ */
@@ -3112,6 +3120,7 @@ typedef struct _Misc {
Boolean login_shell;
Boolean re_verse;
Boolean re_verse0; /* initial value of "-rv" */
+ Boolean resizeByPixel;
XtGravity resizeGravity;
Boolean reverseWrap;
Boolean autoWrap;
@@ -3177,6 +3186,8 @@ typedef struct _Work {
char *str;
int len;
} user_keys[MAX_UDK];
+#define MAX_POINTER (XC_num_glyphs/2)
+ Cursor pointer_cursors[MAX_POINTER]; /* saved cursors */
#ifndef NO_ACTIVE_ICON
int active_icon; /* use application icon window */
char *wm_name;
Index: xsrc/external/mit/xterm/dist/resize.c
diff -u xsrc/external/mit/xterm/dist/resize.c:1.2 xsrc/external/mit/xterm/dist/resize.c:1.3
--- xsrc/external/mit/xterm/dist/resize.c:1.2 Sat Feb 27 15:37:38 2021
+++ xsrc/external/mit/xterm/dist/resize.c Tue Apr 27 01:58:18 2021
@@ -1,7 +1,7 @@
-/* $XTermId: resize.c,v 1.144 2020/06/03 00:26:23 tom Exp $ */
+/* $XTermId: resize.c,v 1.145 2021/03/21 20:03:17 tom Exp $ */
/*
- * Copyright 2003-2018,2020 by Thomas E. Dickey
+ * Copyright 2003-2020,2021 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -107,7 +107,6 @@ int ignore_unused;
#define SHELL_UNKNOWN 0
#define SHELL_C 1
#define SHELL_BOURNE 2
-
/* *INDENT-OFF* */
static struct {
const char *name;
@@ -186,10 +185,10 @@ static const char *wsize[EMULATIONS] =
};
#endif /* USE_STRUCT_WINSIZE */
-static void failed(const char *) GCC_NORETURN;
-static void onintr(int) GCC_NORETURN;
-static void resize_timeout(int) GCC_NORETURN;
-static void Usage(void) GCC_NORETURN;
+static GCC_NORETURN void failed(const char *);
+static GCC_NORETURN void onintr(int);
+static GCC_NORETURN void resize_timeout(int);
+static GCC_NORETURN void Usage(void);
static void
failed(const char *s)
Index: xsrc/external/mit/xterm/dist/xterm.h
diff -u xsrc/external/mit/xterm/dist/xterm.h:1.3 xsrc/external/mit/xterm/dist/xterm.h:1.4
--- xsrc/external/mit/xterm/dist/xterm.h:1.3 Thu Feb 11 12:24:39 2021
+++ xsrc/external/mit/xterm/dist/xterm.h Tue Apr 27 01:58:18 2021
@@ -1,7 +1,7 @@
-/* $XTermId: xterm.h,v 1.884 2020/12/23 00:21:44 tom Exp $ */
+/* $XTermId: xterm.h,v 1.890 2021/03/21 22:44:36 tom Exp $ */
/*
- * Copyright 1999-2019,2020 by Thomas E. Dickey
+ * Copyright 1999-2020,2021 by Thomas E. Dickey
*
* All Rights Reserved
*
@@ -271,6 +271,12 @@ extern int errno;
#include <X11/Xlocale.h>
+#ifdef HAVE_STDNORETURN_H
+#include <stdnoreturn.h>
+#undef GCC_NORETURN
+#define GCC_NORETURN STDC_NORETURN
+#endif
+
/*
* FIXME: Toggling logging from xterm hangs under Linux 2.0.29 with libc5 if
* we use 'waitpid()', while 'wait()' seems to work properly.
@@ -588,6 +594,7 @@ extern char **environ;
#define XtNregisDefaultFont "regisDefaultFont"
#define XtNregisScreenSize "regisScreenSize"
#define XtNrenderFont "renderFont"
+#define XtNresizeByPixel "resizeByPixel"
#define XtNresizeGravity "resizeGravity"
#define XtNretryInputMethod "retryInputMethod"
#define XtNreverseWrap "reverseWrap"
@@ -787,6 +794,7 @@ extern char **environ;
#define XtCRegisDefaultFont "RegisDefaultFont"
#define XtCRegisScreenSize "RegisScreenSize"
#define XtCRenderFont "RenderFont"
+#define XtCResizeByPixel "ResizeByPixel"
#define XtCResizeGravity "ResizeGravity"
#define XtCRetryInputMethod "RetryInputMethod"
#define XtCReverseWrap "ReverseWrap"
@@ -992,7 +1000,7 @@ extern void ShowCursor (XtermWidget /* x
extern void SwitchBufPtrs (TScreen * /* screen */, int /* toBuf */);
extern void ToggleAlternate (XtermWidget /* xw */);
extern void VTInitTranslations (void);
-extern void VTReset (XtermWidget /* xw */, int /* full */, int /* saved */) GCC_NORETURN;
+extern GCC_NORETURN void VTReset (XtermWidget /* xw */, int /* full */, int /* saved */);
extern void VTRun (XtermWidget /* xw */);
extern void dotext (XtermWidget /* xw */, DECNRCM_codes /* charset */, IChar * /* buf */, Cardinal /* len */);
extern void getKeymapResources(Widget /* w */, const char * /*mapName */, const char * /* mapClass */, const char * /* type */, void * /* result */, size_t /* size */);
@@ -1120,7 +1128,7 @@ extern void first_map_occurred (void);
#define first_map_occurred() /* nothing */
#endif
-extern void Exit (int /* n */) GCC_NORETURN;
+extern GCC_NORETURN void Exit (int /* n */);
#ifndef SIG_ATOMIC_T
#define SIG_ATOMIC_T int
@@ -1178,7 +1186,7 @@ extern void ChangeGroup(XtermWidget /* x
extern void ChangeIconName (XtermWidget /* xw */, char * /* name */);
extern void ChangeTitle (XtermWidget /* xw */, char * /* name */);
extern void ChangeXprop (char * /* name */);
-extern void Cleanup (int /* code */) GCC_NORETURN;
+extern GCC_NORETURN void Cleanup (int /* code */);
extern void HandleBellPropertyChange PROTO_XT_EV_HANDLER_ARGS;
extern void HandleEightBitKeyPressed PROTO_XT_ACTIONS_ARGS;
extern void HandleEnterWindow PROTO_XT_EV_HANDLER_ARGS;
@@ -1192,7 +1200,7 @@ extern void NormalExit (void);
extern void Panic (const char * /* s */, int /* a */);
extern void Redraw (void);
extern void ReverseOldColors (XtermWidget /* xw */);
-extern void SysError (int /* i */) GCC_NORETURN;
+extern GCC_NORETURN void SysError (int /* i */);
extern void VisualBell (void);
extern void cleanup_colored_cursor (void);
extern void do_ansi_rqm (XtermWidget /* xw */, int /* nparam */, int * /* params */);
@@ -1205,7 +1213,7 @@ extern void end_vt_mode (void);
extern void free_string(String value);
extern void hide_tek_window (void);
extern void hide_vt_window (void);
-extern void ice_error (IceConn /* iceConn */) GCC_NORETURN;
+extern GCC_NORETURN void ice_error (IceConn /* iceConn */);
extern void init_colored_cursor (Display * /* dpy */);
extern void reset_decudk (XtermWidget /* xw */);
extern void set_tek_visibility (Bool /* on */);
@@ -1213,16 +1221,17 @@ extern void set_vt_visibility (Bool /* o
extern void switch_modes (Bool /* tovt */);
extern void timestamp_filename(char * /* dst */, const char * /* src */);
extern void xevents (XtermWidget /* xw */);
-extern void xt_error (String /* message */) GCC_NORETURN;
+extern GCC_NORETURN void xt_error (String /* message */);
extern void xtermBell(XtermWidget /* xw */, int /* which */, int /* percent */);
extern void xtermCopyEnv (char ** /* oldenv */);
-extern void xtermDisplayCursor (XtermWidget /* xw */);
+extern void xtermDisplayPointer (XtermWidget /* xw */);
extern void xtermDeiconify (XtermWidget /* xw */);
extern void xtermEmbedWindow (Window /* winToEmbedInfo */);
extern void xtermIconify (XtermWidget /* xw */);
extern void xtermLoadIcon (XtermWidget /* xw */, const char * /* icon_hint */);
extern void xtermPerror (const char * /*fmt*/,...) GCC_PRINTFLIKE(1,2);
extern void xtermSetenv (const char * /* var */, const char * /* value */);
+extern void xtermSetupPointer (XtermWidget /* xw */, const char * /* theShape */);
extern void xtermSetWinSize (XtermWidget /* xw */);
extern void xtermShowPointer (XtermWidget /* xw */, Bool /* enable */);
extern void xtermUnsetenv (const char * /* var */);
Index: xsrc/external/mit/xterm/include/xtermcfg.h
diff -u xsrc/external/mit/xterm/include/xtermcfg.h:1.15 xsrc/external/mit/xterm/include/xtermcfg.h:1.16
--- xsrc/external/mit/xterm/include/xtermcfg.h:1.15 Wed Feb 17 03:03:27 2021
+++ xsrc/external/mit/xterm/include/xtermcfg.h Tue Apr 27 01:58:18 2021
@@ -98,6 +98,7 @@
#define HAVE_SETPGID 1 /* AC_CHECK_FUNCS(setpgid) */
#define HAVE_STDINT_H 1 /* AC_PROG_CC_STDC */
#define HAVE_STDLIB_H 1 /* AC_CHECK_HEADERS(stdlib.h) */
+#define HAVE_STDNORETURN_H 1 /* CF_C11_NORETURN */
#define HAVE_STRFTIME 1 /* AC_CHECK_FUNCS(strftime) */
/* #undef HAVE_SYS_TIME_H */ /* AC_HEADER_TIME */
#define HAVE_SYS_TTYDEFAULTS_H 1 /* AC_CHECK_HEADERS(sys/ttydefaults.h) */
@@ -190,7 +191,7 @@
/* #undef OPT_TOOLBAR */ /* CF_ARG_ENABLE(toolbar) */
/* #undef OPT_VT52_MODE */ /* CF_ARG_DISABLE(vt52) */
/* #undef OPT_WIDER_ICHAR */ /* CF_ARG_ENABLE(16bit-chars) */
-/* #undef OPT_WIDE_ATTRS */ /* CF_ARG_DISABLE(wide-attrs) */
+#define OPT_WIDE_ATTRS 1 /* CF_ARG_DISABLE(wide-attrs) */
#define OPT_WIDE_CHARS 1 /* CF_ARG_DISABLE(wide-chars) */
/* #undef OPT_XMC_GLITCH */ /* CF_ARG_ENABLE(xmc-glitch) */
/* #undef OPT_ZICONBEEP */ /* CF_ARG_DISABLE(ziconbeep) */
@@ -199,6 +200,7 @@
/* #undef PROCFS_ROOT */ /* CF_ARG_ENABLE(exec-xterm) */
#define SCROLLBAR_RIGHT 1 /* CF_ARG_ENABLE(rightbar) */
#define SIG_ATOMIC_T volatile sig_atomic_t /* CF_SIG_ATOMIC_T */
+#define STDC_NORETURN 1 /* CF_C11_NORETURN */
/* #undef SVR4 */ /* CF_SVR4, imake */
/* #undef SYSV */ /* CF_SYSV, imake */
#define TIME_WITH_SYS_TIME 1 /* AC_HEADER_TIME */
@@ -239,7 +241,7 @@
*/
#ifndef __cplusplus
#define GCC_PRINTF 1
-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((__format__(__printf__,fmt,var)))
#define GCC_NORETURN __attribute__((__noreturn__))
#define GCC_UNUSED __attribute__((__unused__))
#endif