Update to xterm 322. Tested by shadchin@ and jsg@. Thanks.
This commit is contained in:
parent
8d4acd4c62
commit
17886faaf7
@ -1,4 +1,4 @@
|
||||
MANIFEST for xterm-320, version xterm-320
|
||||
MANIFEST for xterm-322, version xterm-322
|
||||
--------------------------------------------------------------------------------
|
||||
MANIFEST this file
|
||||
256colres.h resource-definitions for 256-color mode
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.26 2014/08/13 21:02:16 matthieu Exp $
|
||||
# $OpenBSD: Makefile,v 1.27 2016/01/13 20:40:08 matthieu Exp $
|
||||
.include <bsd.xconf.mk>
|
||||
|
||||
SUBDIR= icons resize
|
||||
@ -15,8 +15,8 @@ CPPFLAGS+= -I. -I${.CURDIR} -I${X11BASE}/include \
|
||||
-DFUNCPROTO=15 -DNARROWPROTO -DXFREE86_FT2 -DUTMP \
|
||||
-DDEF_ALLOW_FONT=False -DDEF_ALLOW_TCAP=False \
|
||||
-DDEF_ALLOW_WINDOW=False
|
||||
LDADD+= -L${X11BASE}/lib -lXaw -lXpm -lXt -lSM -lICE \
|
||||
-lXmu -lXft -lXrender -lX11 -lxcb -lXext -lXau -lXdmcp \
|
||||
LDADD+= -L${X11BASE}/lib -lXaw -lXpm -lXt -lSM -lICE -lXmu \
|
||||
-lXft -lXrender -lXinerama -lX11 -lxcb -lXext -lXau -lXdmcp \
|
||||
-lfontconfig -lexpat -lfreetype -lutil -ltermcap -lz
|
||||
|
||||
SRCS= TekPrsTbl.c Tekproc.c VTPrsTbl.c button.c cachedGCs.c \
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: button.c,v 1.494 2015/08/27 23:47:56 tom Exp $ */
|
||||
/* $XTermId: button.c,v 1.498 2015/12/31 11:26:38 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
@ -3829,6 +3829,8 @@ _ConvertSelectionHelper(Widget w,
|
||||
Atom *type,
|
||||
XtPointer *value,
|
||||
unsigned long *length,
|
||||
Char *data,
|
||||
unsigned long remaining,
|
||||
int *format,
|
||||
int (*conversion_function) (Display *,
|
||||
char **, int,
|
||||
@ -3848,9 +3850,8 @@ _ConvertSelectionHelper(Widget w,
|
||||
Display *dpy = XtDisplay(w);
|
||||
XTextProperty textprop;
|
||||
int out_n = 0;
|
||||
unsigned long remaining = screen->selection_length;
|
||||
char *result = 0;
|
||||
char *the_data = (char *) screen->selection_data;
|
||||
char *the_data = (char *) data;
|
||||
char *the_next;
|
||||
|
||||
TRACE(("converting %ld:'%s'\n",
|
||||
@ -3937,6 +3938,9 @@ SaveConvertedLength(XtPointer *target, unsigned long source)
|
||||
return result;
|
||||
}
|
||||
|
||||
#define keepClipboard(atom) ((screen->keepClipboard) && \
|
||||
(atom == XInternAtom(screen->display, "CLIPBOARD", False)))
|
||||
|
||||
static Boolean
|
||||
ConvertSelection(Widget w,
|
||||
Atom *selection,
|
||||
@ -3950,6 +3954,9 @@ ConvertSelection(Widget w,
|
||||
TScreen *screen;
|
||||
Bool result = False;
|
||||
|
||||
Char *data;
|
||||
unsigned long data_length;
|
||||
|
||||
XtermWidget xw;
|
||||
|
||||
if ((xw = getXtermWidget(w)) == 0)
|
||||
@ -3960,7 +3967,17 @@ ConvertSelection(Widget w,
|
||||
TRACE(("ConvertSelection %s\n",
|
||||
visibleSelectionTarget(dpy, *target)));
|
||||
|
||||
if (screen->selection_data == NULL) {
|
||||
if (keepClipboard(*selection)) {
|
||||
TRACE(("asked for clipboard\n"));
|
||||
data = screen->clipboard_data;
|
||||
data_length = screen->clipboard_size;
|
||||
} else {
|
||||
TRACE(("asked for selection\n"));
|
||||
data = screen->selection_data;
|
||||
data_length = screen->selection_length;
|
||||
}
|
||||
|
||||
if (data == NULL) {
|
||||
TRACE(("...FIXME: no selection_data\n"));
|
||||
return False; /* can this happen? */
|
||||
}
|
||||
@ -4009,28 +4026,32 @@ ConvertSelection(Widget w,
|
||||
else if (screen->wide_chars && *target == XA_STRING) {
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
Xutf8TextListToTextProperty,
|
||||
XStringStyle);
|
||||
TRACE(("...Xutf8TextListToTextProperty:%d\n", result));
|
||||
} else if (screen->wide_chars && *target == XA_UTF8_STRING(dpy)) {
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
Xutf8TextListToTextProperty,
|
||||
XUTF8StringStyle);
|
||||
TRACE(("...Xutf8TextListToTextProperty:%d\n", result));
|
||||
} else if (screen->wide_chars && *target == XA_TEXT(dpy)) {
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
Xutf8TextListToTextProperty,
|
||||
XStdICCTextStyle);
|
||||
TRACE(("...Xutf8TextListToTextProperty:%d\n", result));
|
||||
} else if (screen->wide_chars && *target == XA_COMPOUND_TEXT(dpy)) {
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
Xutf8TextListToTextProperty,
|
||||
XCompoundTextStyle);
|
||||
TRACE(("...Xutf8TextListToTextProperty:%d\n", result));
|
||||
@ -4053,14 +4074,16 @@ ConvertSelection(Widget w,
|
||||
} else if (*target == XA_TEXT(dpy)) { /* not wide_chars */
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
XmbTextListToTextProperty,
|
||||
XStdICCTextStyle);
|
||||
TRACE(("...XmbTextListToTextProperty(StdICC):%d\n", result));
|
||||
} else if (*target == XA_COMPOUND_TEXT(dpy)) { /* not wide_chars */
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
XmbTextListToTextProperty,
|
||||
XCompoundTextStyle);
|
||||
TRACE(("...XmbTextListToTextProperty(Compound):%d\n", result));
|
||||
@ -4069,7 +4092,8 @@ ConvertSelection(Widget w,
|
||||
else if (*target == XA_UTF8_STRING(dpy)) { /* not wide_chars */
|
||||
result =
|
||||
_ConvertSelectionHelper(w,
|
||||
type, value, length, format,
|
||||
type, value, length, data,
|
||||
data_length, format,
|
||||
XmbTextListToTextProperty,
|
||||
XUTF8StringStyle);
|
||||
TRACE(("...XmbTextListToTextProperty(UTF8):%d\n", result));
|
||||
@ -4203,6 +4227,16 @@ _OwnSelection(XtermWidget xw,
|
||||
(int) length,
|
||||
cutbuffer);
|
||||
}
|
||||
} else if (keepClipboard(atoms[i])) {
|
||||
Char *buf;
|
||||
TRACE(("saving selection to clipboard buffer\n"));
|
||||
if ((buf = (Char *) malloc((size_t) screen->selection_length)) == 0)
|
||||
SysError(ERROR_BMALLOC2);
|
||||
|
||||
XtFree((char *) screen->clipboard_data);
|
||||
memcpy(buf, screen->selection_data, screen->selection_length);
|
||||
screen->clipboard_data = buf;
|
||||
screen->clipboard_size = screen->selection_length;
|
||||
} else if (screen->selection_length == 0) {
|
||||
XtDisownSelection((Widget) xw, atoms[i], screen->selection_time);
|
||||
} else if (!screen->replyToEmacs) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: charproc.c,v 1.1413 2015/07/15 09:21:40 tom Exp $ */
|
||||
/* $XTermId: charproc.c,v 1.1414 2015/12/30 09:38:49 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
@ -279,6 +279,7 @@ static XtActionsRec actionsList[] = {
|
||||
{ "set-bellIsUrgent", HandleBellIsUrgent },
|
||||
{ "set-cursesemul", HandleCursesEmul },
|
||||
{ "set-jumpscroll", HandleJumpscroll },
|
||||
{ "set-keep-clipboard", HandleKeepClipboard },
|
||||
{ "set-keep-selection", HandleKeepSelection },
|
||||
{ "set-marginbell", HandleMarginBell },
|
||||
{ "set-old-function-keys", HandleOldFunctionKeys },
|
||||
@ -442,6 +443,7 @@ static XtResource xterm_resources[] =
|
||||
Bres(XtNi18nSelections, XtCI18nSelections, screen.i18nSelections, True),
|
||||
Bres(XtNfastScroll, XtCFastScroll, screen.fastscroll, False),
|
||||
Bres(XtNjumpScroll, XtCJumpScroll, screen.jumpscroll, True),
|
||||
Bres(XtNkeepClipboard, XtCKeepClipboard, screen.keepClipboard, False),
|
||||
Bres(XtNkeepSelection, XtCKeepSelection, screen.keepSelection, True),
|
||||
Bres(XtNloginShell, XtCLoginShell, misc.login_shell, False),
|
||||
Bres(XtNmarginBell, XtCMarginBell, screen.marginbell, False),
|
||||
@ -5603,6 +5605,10 @@ dpmodes(XtermWidget xw, BitFunc func)
|
||||
set_bool_mode(screen->poponbell);
|
||||
update_poponbell();
|
||||
break;
|
||||
case srm_KEEP_CLIPBOARD:
|
||||
set_bool_mode(screen->keepClipboard);
|
||||
update_keepClipboard();
|
||||
break;
|
||||
case srm_TITE_INHIBIT:
|
||||
if (!xw->misc.titeInhibit) {
|
||||
if (IsSM())
|
||||
@ -5873,6 +5879,9 @@ savemodes(XtermWidget xw)
|
||||
case srm_POP_ON_BELL:
|
||||
DoSM(DP_POP_ON_BELL, screen->poponbell);
|
||||
break;
|
||||
case srm_KEEP_CLIPBOARD:
|
||||
DoSM(DP_KEEP_CLIPBOARD, screen->keepClipboard);
|
||||
break;
|
||||
#if OPT_TCAP_FKEYS
|
||||
case srm_TCAP_FKEYS:
|
||||
/* FALLTHRU */
|
||||
@ -6208,6 +6217,10 @@ restoremodes(XtermWidget xw)
|
||||
DoRM(DP_POP_ON_BELL, screen->poponbell);
|
||||
update_poponbell();
|
||||
break;
|
||||
case srm_KEEP_CLIPBOARD:
|
||||
DoRM(DP_KEEP_CLIPBOARD, screen->keepClipboard);
|
||||
update_keepClipboard();
|
||||
break;
|
||||
#if OPT_TCAP_FKEYS
|
||||
case srm_TCAP_FKEYS:
|
||||
/* FALLTHRU */
|
||||
@ -7955,6 +7968,7 @@ VTInitialize(Widget wrequest,
|
||||
init_Bres(screen.highlight_selection);
|
||||
init_Bres(screen.show_wrap_marks);
|
||||
init_Bres(screen.i18nSelections);
|
||||
init_Bres(screen.keepClipboard);
|
||||
init_Bres(screen.keepSelection);
|
||||
init_Bres(screen.selectToClipboard);
|
||||
init_Bres(screen.trim_selection);
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\"#! troff -ms $1 -*- Nroff -*-
|
||||
.\" "Xterm Control Sequences" document
|
||||
.\" $XTermId: ctlseqs.ms,v 1.324 2015/08/19 23:20:41 tom Exp $
|
||||
.\" $XTermId: ctlseqs.ms,v 1.326 2015/12/30 10:02:15 tom Exp $
|
||||
.\"
|
||||
.\"
|
||||
.\" Copyright 1996-2014,2015 by Thomas E. Dickey
|
||||
@ -69,8 +69,8 @@
|
||||
.\"
|
||||
.ds XT XTerm
|
||||
.ds xt xterm
|
||||
.ds LF Patch #318
|
||||
.ds RF 2015/08/19
|
||||
.ds LF Patch #321
|
||||
.ds RF 2015/12/30
|
||||
.\"
|
||||
.if n .pl 9999v \" no page breaks in nroff
|
||||
.ND
|
||||
@ -1001,6 +1001,8 @@ See the section \fBMouse Tracking\fP. This is the X11 xterm mouse protocol.
|
||||
(This enables the \fBbellIsUrgent\fP resource).
|
||||
\*(Ps = \*1\*0\*4\*3 \(-> Enable raising of the window when Control-G is received.
|
||||
(enables the \fBpopOnBell\fP resource).
|
||||
\*(Ps = \*1\*0\*4\*4 \(-> Reuse the most recent data copied to CLIPBOARD.
|
||||
(This enables the \fBkeepClipboard\fP resource).
|
||||
\*(Ps = \*1\*0\*4\*7 \(-> Use Alternate Screen Buffer. (This may be
|
||||
disabled by the \fBtiteInhibit\fP resource).
|
||||
\*(Ps = \*1\*0\*4\*8 \(-> Save cursor as in DECSC. (This may be
|
||||
@ -1193,10 +1195,10 @@ ISO-8613-3 can be interpreted in more than one way;
|
||||
.RE
|
||||
.sP
|
||||
These ISO-8613-3 controls are supported:
|
||||
\*(Ps = \*3\*8\*;\*2\*;\*(Pr\*;\*(Pg\*;\*(Pb \(-> Set foreground color to the closest match in \fIxterm\fP's palette for the given RGB \*(Pr/\*(Pg/\*(Pb.
|
||||
\*(Ps = \*3\*8\*;\*5\*;\*(Ps \(-> Set foreground color to the second \*(Ps.
|
||||
\*(Ps = \*4\*8\*;\*2\*;\*(Pr\*;\*(Pg\*;\*(Pb \(-> Set background color to the closest match in \fIxterm\fP's palette for the given RGB \*(Pr/\*(Pg/\*(Pb.
|
||||
\*(Ps = \*4\*8\*;\*5\*;\*(Ps \(-> Set background color to the second \*(Ps.
|
||||
\*(Pm = \*3\*8\*;\*2\*;\*(Pr\*;\*(Pg\*;\*(Pb \(-> Set foreground color to the closest match in \fIxterm\fP's palette for the given RGB \*(Pr/\*(Pg/\*(Pb.
|
||||
\*(Pm = \*3\*8\*;\*5\*;\*(Ps \(-> Set foreground color to the second \*(Ps.
|
||||
\*(Pm = \*4\*8\*;\*2\*;\*(Pr\*;\*(Pg\*;\*(Pb \(-> Set background color to the closest match in \fIxterm\fP's palette for the given RGB \*(Pr/\*(Pg/\*(Pb.
|
||||
\*(Pm = \*4\*8\*;\*5\*;\*(Ps \(-> Set background color to the second \*(Ps.
|
||||
.sp
|
||||
.
|
||||
.IP \\*(Cs\\*>\\*(Ps\\*;\\*(Ps\\*s\\*m
|
||||
|
@ -21,7 +21,7 @@
|
||||
Thomas Dickey
|
||||
XFree86 Project (1996-2006)
|
||||
invisible-island.net (2006-2015)
|
||||
updated for XTerm Patch #318 (2015/08/19)
|
||||
updated for XTerm Patch #321 (2015/12/30)
|
||||
|
||||
|
||||
|
||||
@ -491,6 +491,8 @@ CSI ? Pm h
|
||||
resource).
|
||||
Ps = 1 0 4 3 -> Enable raising of the window when Control-G
|
||||
is received. (enables the popOnBell resource).
|
||||
Ps = 1 0 4 4 -> Reuse the most recent data copied to CLIP-
|
||||
BOARD. (This enables the keepClipboard resource).
|
||||
Ps = 1 0 4 7 -> Use Alternate Screen Buffer. (This may be
|
||||
disabled by the titeInhibit resource).
|
||||
Ps = 1 0 4 8 -> Save cursor as in DECSC. (This may be dis-
|
||||
@ -678,12 +680,12 @@ CSI Pm m Character Attributes (SGR).
|
||||
colons (but after the first colon, colons must be used).
|
||||
|
||||
These ISO-8613-3 controls are supported:
|
||||
Ps = 3 8 ; 2 ; Pr; Pg; Pb -> Set foreground color to the
|
||||
Pm = 3 8 ; 2 ; Pr; Pg; Pb -> Set foreground color to the
|
||||
closest match in xterm's palette for the given RGB Pr/Pg/Pb.
|
||||
Ps = 3 8 ; 5 ; Ps -> Set foreground color to the second Ps.
|
||||
Ps = 4 8 ; 2 ; Pr; Pg; Pb -> Set background color to the
|
||||
Pm = 3 8 ; 5 ; Ps -> Set foreground color to the second Ps.
|
||||
Pm = 4 8 ; 2 ; Pr; Pg; Pb -> Set background color to the
|
||||
closest match in xterm's palette for the given RGB Pr/Pg/Pb.
|
||||
Ps = 4 8 ; 5 ; Ps -> Set background color to the second Ps.
|
||||
Pm = 4 8 ; 5 ; Ps -> Set background color to the second Ps.
|
||||
|
||||
CSI > Ps; Ps m
|
||||
Set or reset resource-values used by xterm to decide whether
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $XTermId: main.c,v 1.773 2015/08/26 23:39:36 tom Exp $ */
|
||||
/* $XTermId: main.c,v 1.777 2016/01/02 14:12:19 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 2002-2014,2015 by Thomas E. Dickey
|
||||
* Copyright 2002-2015,2016 by Thomas E. Dickey
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
@ -1947,6 +1947,23 @@ setEffectiveUser(uid_t user)
|
||||
#endif
|
||||
#endif /* HAVE_POSIX_SAVED_IDS */
|
||||
|
||||
#if OPT_LUIT_PROG
|
||||
static Boolean
|
||||
complex_command(char **args)
|
||||
{
|
||||
Boolean result = False;
|
||||
if (x_countargv(args) == 1) {
|
||||
char *check = xtermFindShell(args[0], False);
|
||||
if (check == 0) {
|
||||
result = True;
|
||||
} else {
|
||||
free(check);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
main(int argc, char *argv[]ENVP_ARG)
|
||||
{
|
||||
@ -2448,10 +2465,15 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
}
|
||||
command_length_with_luit = x_countargv(command_to_exec_with_luit);
|
||||
if (count_exec) {
|
||||
static char *fixup_shell[] =
|
||||
{"sh", "-c", 0};
|
||||
char *delimiter[2];
|
||||
delimiter[0] = x_strdup("--");
|
||||
delimiter[1] = 0;
|
||||
x_appendargv(command_to_exec_with_luit, delimiter);
|
||||
if (complex_command(command_to_exec)) {
|
||||
x_appendargv(command_to_exec_with_luit, fixup_shell);
|
||||
}
|
||||
x_appendargv(command_to_exec_with_luit, command_to_exec);
|
||||
}
|
||||
TRACE_ARGV("luit command", command_to_exec_with_luit);
|
||||
@ -2647,6 +2669,10 @@ get_pty(int *pty, char *from GCC_UNUSED)
|
||||
|
||||
#if defined(USE_OPENPTY)
|
||||
result = openpty(pty, &opened_tty, ttydev, NULL, NULL);
|
||||
if (opened_tty >= 0) {
|
||||
close(opened_tty);
|
||||
opened_tty = -1;
|
||||
}
|
||||
#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY)
|
||||
if ((*pty = posix_openpt(O_RDWR)) >= 0) {
|
||||
char *name = ptsname(*pty);
|
||||
@ -2802,12 +2828,6 @@ get_pty(int *pty, char *from)
|
||||
seteuid(save_ruid);
|
||||
TRACE_IDS;
|
||||
|
||||
#ifdef USE_OPENPTY
|
||||
if (opened_tty >= 0) {
|
||||
close(opened_tty);
|
||||
opened_tty = -1;
|
||||
}
|
||||
#endif
|
||||
} else if (m_pty != -1) {
|
||||
*pty = m_pty;
|
||||
result = 0;
|
||||
@ -2819,6 +2839,12 @@ get_pty(int *pty, char *from)
|
||||
ptydev != 0 ? ptydev : "?",
|
||||
result ? "FAIL" : "OK",
|
||||
pty != 0 ? *pty : -1));
|
||||
#ifdef USE_OPENPTY
|
||||
if (opened_tty >= 0) {
|
||||
close(opened_tty);
|
||||
opened_tty = -1;
|
||||
}
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
@ -3241,7 +3267,8 @@ validShell(const char *pathname)
|
||||
if (validProgram(pathname)
|
||||
&& stat(ok_shells, &sb) == 0
|
||||
&& (sb.st_mode & S_IFMT) == S_IFREG
|
||||
&& (sb.st_size != 0)
|
||||
&& ((size_t) sb.st_size > 0)
|
||||
&& ((size_t) sb.st_size < (((size_t) ~0) - 2))
|
||||
&& (blob = calloc((size_t) sb.st_size + 2, sizeof(char))) != 0) {
|
||||
if ((fp = fopen(ok_shells, "r")) != 0) {
|
||||
rc = fread(blob, sizeof(char), (size_t) sb.st_size, fp);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: menu.c,v 1.331 2015/04/10 01:11:52 tom Exp $ */
|
||||
/* $XTermId: menu.c,v 1.332 2015/12/30 09:40:28 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
@ -157,6 +157,7 @@ static void do_delete_del PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_hardreset PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_interrupt PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_jumpscroll PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_keepClipboard PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_keepSelection PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_kill PROTO_XT_CALLBACK_ARGS;
|
||||
static void do_old_fkeys PROTO_XT_CALLBACK_ARGS;
|
||||
@ -1470,6 +1471,17 @@ do_scrollttyoutput(Widget gw GCC_UNUSED,
|
||||
update_scrollttyoutput();
|
||||
}
|
||||
|
||||
static void
|
||||
do_keepClipboard(Widget gw GCC_UNUSED,
|
||||
XtPointer closure GCC_UNUSED,
|
||||
XtPointer data GCC_UNUSED)
|
||||
{
|
||||
TScreen *screen = TScreenOf(term);
|
||||
|
||||
ToggleFlag(screen->keepClipboard);
|
||||
update_keepClipboard();
|
||||
}
|
||||
|
||||
static void
|
||||
do_keepSelection(Widget gw GCC_UNUSED,
|
||||
XtPointer closure GCC_UNUSED,
|
||||
@ -2421,6 +2433,15 @@ HandleJumpscroll(Widget w,
|
||||
HANDLE_VT_TOGGLE(jumpscroll);
|
||||
}
|
||||
|
||||
void
|
||||
HandleKeepClipboard(Widget w,
|
||||
XEvent *event GCC_UNUSED,
|
||||
String *params,
|
||||
Cardinal *param_count)
|
||||
{
|
||||
HANDLE_VT_TOGGLE(keepClipboard);
|
||||
}
|
||||
|
||||
void
|
||||
HandleKeepSelection(Widget w,
|
||||
XEvent *event GCC_UNUSED,
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $XTermId: menu.h,v 1.135 2014/09/04 00:17:55 tom Exp $ */
|
||||
/* $XTermId: menu.h,v 1.136 2015/12/30 09:53:02 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2013,2014 by Thomas E. Dickey
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
@ -104,6 +104,7 @@ extern void HandleFullscreen PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleHardReset PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleHpFunctionKeys PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleJumpscroll PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleKeepClipboard PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleKeepSelection PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleLogging PROTO_XT_ACTIONS_ARGS;
|
||||
extern void HandleMarginBell PROTO_XT_ACTIONS_ARGS;
|
||||
@ -450,6 +451,7 @@ extern void update_visualbell(void);
|
||||
extern void update_bellIsUrgent(void);
|
||||
extern void update_poponbell(void);
|
||||
|
||||
#define update_keepClipboard() /* nothing */
|
||||
#define update_marginbell() /* nothing */
|
||||
|
||||
#if OPT_LOAD_VTFONTS
|
||||
|
@ -1,3 +1,15 @@
|
||||
xterm-dev (322) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Jan 2016 08:42:56 -0500
|
||||
|
||||
xterm-dev (321) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 27 Sep 2015 19:17:50 -0400
|
||||
|
||||
xterm-dev (320) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
@ -35,7 +35,7 @@ authorization.
|
||||
Files: * */*
|
||||
License: MIT-X11
|
||||
|
||||
Copyright 1996-2014,2015 by Thomas E. Dickey
|
||||
Copyright 1996-2015,2016 by Thomas E. Dickey
|
||||
|
||||
(date ranges vary, depending on when the respective files were first changed
|
||||
significantly, and run through the most recent change date).
|
||||
|
@ -5,7 +5,7 @@
|
||||
# and "make makesum".
|
||||
|
||||
PORTNAME= xterm
|
||||
PORTVERSION= 320
|
||||
PORTVERSION= 322
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= ftp://invisible-island.net/xterm/ \
|
||||
CRITICAL
|
||||
|
@ -1,11 +1,11 @@
|
||||
# $XTermId: xterm.spec,v 1.85 2015/08/26 21:52:20 tom Exp $
|
||||
# $XTermId: xterm.spec,v 1.87 2016/01/02 13:42:56 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: 320
|
||||
Version: 322
|
||||
Release: 1
|
||||
License: X11
|
||||
Group: User Interface/X
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: ptyx.h,v 1.823 2015/02/16 00:25:27 tom Exp $ */
|
||||
/* $XTermId: ptyx.h,v 1.825 2015/12/30 02:07:03 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
@ -1067,6 +1067,7 @@ typedef enum {
|
||||
,srm_SELECT_TO_CLIPBOARD = 1041
|
||||
,srm_BELL_IS_URGENT = 1042
|
||||
,srm_POP_ON_BELL = 1043
|
||||
,srm_KEEP_CLIPBOARD = 1044
|
||||
,srm_TITE_INHIBIT = 1048
|
||||
#if OPT_TCAP_FKEYS
|
||||
,srm_TCAP_FKEYS = 1050
|
||||
@ -1661,6 +1662,7 @@ typedef enum {
|
||||
DP_DECTCEM,
|
||||
DP_DELETE_IS_DEL,
|
||||
DP_EIGHT_BIT_META,
|
||||
DP_KEEP_CLIPBOARD,
|
||||
DP_KEEP_SELECTION,
|
||||
DP_KEYBOARD_TYPE,
|
||||
DP_POP_ON_BELL,
|
||||
@ -2320,11 +2322,14 @@ typedef struct {
|
||||
Boolean trim_selection; /* controls trimming of selection */
|
||||
Boolean i18nSelections;
|
||||
Boolean brokenSelections;
|
||||
Boolean keepClipboard; /* retain data sent to clipboard */
|
||||
Boolean keepSelection; /* do not lose selection on output */
|
||||
Boolean replyToEmacs; /* Send emacs escape code when done selecting or extending? */
|
||||
Char *selection_data; /* the current selection */
|
||||
int selection_size; /* size of allocated buffer */
|
||||
unsigned long selection_length; /* number of significant bytes */
|
||||
Char *clipboard_data; /* the current clipboard */
|
||||
unsigned long clipboard_size; /* size of allocated buffer */
|
||||
EventMode eventMode;
|
||||
Time selection_time; /* latest event timestamp */
|
||||
Time lastButtonUpTime;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $XTermId: version.h,v 1.418 2015/08/28 08:40:40 tom Exp $ */
|
||||
/* $XTermId: version.h,v 1.422 2016/01/02 14:15:49 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1998-2014,2015 by Thomas E. Dickey
|
||||
* Copyright 1998-2015,2016 by Thomas E. Dickey
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
@ -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 320
|
||||
#define XTERM_DATE 2015-08-28
|
||||
#define XTERM_PATCH 322
|
||||
#define XTERM_DATE 2016-01-02
|
||||
|
||||
#ifndef __vendorversion__
|
||||
#define __vendorversion__ "XTerm/OpenBSD"
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: xterm.h,v 1.758 2015/08/19 00:26:56 tom Exp $ */
|
||||
/* $XTermId: xterm.h,v 1.759 2015/12/30 02:00:38 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2014,2015 by Thomas E. Dickey
|
||||
@ -474,6 +474,7 @@ extern char **environ;
|
||||
#define XtNinternalBorder "internalBorder"
|
||||
#define XtNitalicULMode "italicULMode"
|
||||
#define XtNjumpScroll "jumpScroll"
|
||||
#define XtNkeepClipboard "keepClipboard"
|
||||
#define XtNkeepSelection "keepSelection"
|
||||
#define XtNkeyboardDialect "keyboardDialect"
|
||||
#define XtNlimitResize "limitResize"
|
||||
@ -658,6 +659,7 @@ extern char **environ;
|
||||
#define XtCIconHint "IconHint"
|
||||
#define XtCInitialFont "InitialFont"
|
||||
#define XtCJumpScroll "JumpScroll"
|
||||
#define XtCKeepClipboard "KeepClipboard"
|
||||
#define XtCKeepSelection "KeepSelection"
|
||||
#define XtCKeyboardDialect "KeyboardDialect"
|
||||
#define XtCLimitResize "LimitResize"
|
||||
|
@ -2,7 +2,7 @@
|
||||
*****************************************************************************
|
||||
* this file is part of xterm *
|
||||
* *
|
||||
* Copyright 1997-2014,2015 by Thomas E. Dickey *
|
||||
* Copyright 1997-2015,2016 by Thomas E. Dickey *
|
||||
* *
|
||||
* All Rights Reserved *
|
||||
* *
|
||||
@ -30,7 +30,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
*****************************************************************************
|
||||
$XTermId: xterm.log.html,v 1.1624 2015/08/28 08:40:19 tom Exp $
|
||||
$XTermId: xterm.log.html,v 1.1638 2016/01/02 14:26:50 tom Exp $
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
|
||||
@ -72,6 +72,10 @@
|
||||
CHANGELOG</a>).</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="#xterm_322">Patch #322 - 2016/01/02</a></li>
|
||||
|
||||
<li><a href="#xterm_321">Patch #321 - 2015/12/31</a></li>
|
||||
|
||||
<li><a href="#xterm_320">Patch #320 - 2015/08/28</a></li>
|
||||
|
||||
<li><a href="#xterm_319">Patch #319 - 2015/08/19</a></li>
|
||||
@ -925,6 +929,49 @@
|
||||
<li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_322" id="xterm_322">Patch #322 -
|
||||
2016/01/02</a></h1>
|
||||
|
||||
<ul>
|
||||
<li>fix regression due to incorrect fix for compiler warning
|
||||
when allocating storage for <code>/etc/shells</code> (reports
|
||||
by Ashish Shukla, Debian #809646).</li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_321" id="xterm_321">Patch #321 -
|
||||
2015/12/31</a></h1>
|
||||
|
||||
<ul>
|
||||
<li>add resource <code>keepClipboard</code>, escape sequence
|
||||
and action <code>keep-clipboard</code>.</li>
|
||||
|
||||
<li>add optional feature to capture text copied to clipboard at
|
||||
the time of copying rather than at the time the clipboard
|
||||
contents are requested for pasting (patch by Milan
|
||||
Mehner).</li>
|
||||
|
||||
<li>improve a special case where the <code>-e</code> option was
|
||||
used to pass a single-quoted command via <code>luit</code>, by
|
||||
wrapping it in a “sh -c” (report by Keith
|
||||
Hedger).</li>
|
||||
|
||||
<li>minor fix for type-cleanliness when allocating storage for
|
||||
<code>/etc/shells</code> (Tobias Stoeckmann).</li>
|
||||
|
||||
<li>fix a typo in manual page (Dan Church).</li>
|
||||
|
||||
<li>fix minor file-descriptor leak; after calling
|
||||
<code>openpty</code>, the slave's file descriptor is not needed
|
||||
(report by Juha Nurmela).</li>
|
||||
|
||||
<li>editorial change to ctlseqs.ms (report by David
|
||||
Gomboc).</li>
|
||||
|
||||
<li>minor updates for autoconf macros.</li>
|
||||
|
||||
<li>update config.guess, config.sub</li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_320" id="xterm_320">Patch #320 -
|
||||
2015/08/28</a></h1>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
'\" t
|
||||
.\" $XTermId: xterm.man,v 1.617 2015/08/28 08:48:38 tom Exp $
|
||||
.\" $XTermId: xterm.man,v 1.619 2015/12/31 12:41:07 tom Exp $
|
||||
.\"
|
||||
.\" Copyright 1996-2014,2015 by Thomas E. Dickey
|
||||
.\"
|
||||
@ -423,7 +423,7 @@ set the amount of time text cursor is off when blinking via the
|
||||
.TP 8
|
||||
.BI \-bcn " milliseconds"
|
||||
set the amount of time text cursor is on when blinking via the
|
||||
\fIcursorOffTime\fP resource.
|
||||
\fIcursorOnTime\fP resource.
|
||||
.TP 8
|
||||
.B "\-bdc"
|
||||
Set the \fIvt100\fP resource \fBcolorBDMode\fR to \*(``false\*('',
|
||||
@ -3223,6 +3223,12 @@ This corresponds to the VT102 DECSCLM private mode.
|
||||
The default is \*(``true\*(''.
|
||||
See \fBfastScroll\fP for a variation.
|
||||
.TP 8
|
||||
.B "keepClipboard (\fPclass\fB KeepClipboard)"
|
||||
Specifies whether \fI\*n\fR will reuse the selection data which it
|
||||
copied to the keyboard rather than asking the clipboard for its
|
||||
current contents when told to provide the selection.
|
||||
The default is \*(``false\*(''.
|
||||
.TP 8
|
||||
.B "keepSelection (\fPclass\fB KeepSelection)"
|
||||
Specifies whether \fI\*n\fR will keep the selection even after the
|
||||
selected area was touched by some output to the terminal.
|
||||
@ -6178,6 +6184,9 @@ This action sets, unsets or toggles the \fIforcePackedFont\fR's resource
|
||||
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-keep-clipboard(\fIon/off/toggle\fP)"
|
||||
This action sets, unsets or toggles the \fBkeepClipboard\fP resource.
|
||||
.TP 8
|
||||
.B "set-keep-selection(\fIon/off/toggle\fP)"
|
||||
This action sets, unsets or toggles the \fBkeepSelection\fP resource.
|
||||
It is also invoked by the \fBkeepSelection\fP entry in \fIvtMenu\fP.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $XTermId: xtermcfg.hin,v 1.205 2014/05/08 08:05:07 tom Exp $ */
|
||||
/* $XTermId: xtermcfg.hin,v 1.209 2015/08/10 23:40:17 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1997-2013,2014 by Thomas E. Dickey
|
||||
* Copyright 1997-2014,2015 by Thomas E. Dickey
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
@ -44,6 +44,7 @@
|
||||
/* #undef DEF_ALT_SENDS_ESC */ /* CF_ARG_ENABLE(alt-sends-esc) */
|
||||
/* #undef DEF_BACKARO_BS */ /* CF_ARG_DISABLE(backarrow-key) */
|
||||
#define DEF_BACKARO_ERASE 1 /* CF_ARG_ENABLE(backarrow-is-erase) */
|
||||
/* #undef DEF_INITIAL_ERASE /* CF_ARG_DISABLE(initial-erase) */
|
||||
/* #undef DEF_META_SENDS_ESC */ /* CF_ARG_ENABLE(meta-sends-esc) */
|
||||
/* #undef DFT_COLORMODE */ /* AC_ARG_WITH(default-color-mode) */
|
||||
#define DFT_DECID "100" /* AC_ARG_WITH(default-terminal-id) */
|
||||
@ -101,6 +102,7 @@
|
||||
#define HAVE_WCSWIDTH 1 /* AC_CHECK_FUNCS(wcswidth) */
|
||||
#define HAVE_WCWIDTH 1 /* AC_CHECK_FUNCS(wcwidth) */
|
||||
#define HAVE_X11_DECKEYSYM_H 1 /* AC_CHECK_HEADERS(X11/DECkeysym.h) */
|
||||
#define HAVE_X11_EXTENSIONS_XINERAMA_H /* AC_CHECK_HEADERS(X11/extensions/Xinerama.h) */
|
||||
#define HAVE_X11_EXTENSIONS_XKB_H /* AC_CHECK_HEADERS(X11/extensions/XKB.h) */
|
||||
#define HAVE_X11_SUNKEYSYM_H 1 /* AC_CHECK_HEADERS(X11/Sunkeysym.h) */
|
||||
#define HAVE_X11_XF86KEYSYM_H 1 /* AC_CHECK_HEADERS(X11/XF86keysym.h) */
|
||||
@ -122,6 +124,7 @@
|
||||
/* #undef OPT_BOX_CHARS */ /* CF_ARG_DISABLE(boxchars) */
|
||||
#define OPT_BROKEN_OSC 0 /* CF_ARG_ENABLE(broken-osc) */
|
||||
#define OPT_BROKEN_ST 0 /* CF_ARG_DISABLE(broken-st) */
|
||||
/* #undef OPT_BUILTIN_XPMS */ /* CF_ARG_ENABLE(builtin-xpms) */
|
||||
/* #undef OPT_C1_PRINT */ /* CF_ARG_DISABLE(c1-print) */
|
||||
/* #undef OPT_COLOR_CLASS */ /* CF_ARG_DISABLE(color-class) */
|
||||
/* #undef OPT_DABBREV */ /* CF_ARG_ENABLE(dabbrev) */
|
||||
@ -210,6 +213,7 @@
|
||||
#ifndef __cplusplus
|
||||
/* #undef GCC_PRINTF */
|
||||
/* #undef GCC_PRINTFLIKE */
|
||||
/* #undef GCC_NORETURN */
|
||||
/* #undef GCC_UNUSED */
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user