Mailinglist Archive: opensuse-commit (1670 mails)
| < Previous | Next > |
commit xterm
- From: root@xxxxxxx (h_root)
- Date: Mon, 9 Oct 2006 19:32:47 +0200 (CEST)
- Message-id: <20061009173247.DBF2E7F4AB@xxxxxxxxxxxxxxx>
Hello community,
here is the log from the commit of package xterm
checked in at Mon Oct 9 19:32:47 CEST 2006.
--------
--- xterm/xterm.changes 2006-09-11 17:18:31.000000000 +0200
+++ /mounts/work_src_done/STABLE/xterm/xterm.changes 2006-10-09 18:29:01.000000000 +0200
@@ -1,0 +2,17 @@
+Mon Oct 9 18:28:29 CEST 2006 - sndirsch@xxxxxxx
+
+- updated to xterm-221
+ * fix for regular expressions: the code which converted the column
+ offset within a line did not check properly for the end of a line,
+ and if allowed to match the whole line, would select the beginning
+ of the following line. If the following line were empty, in turn
+ it would select from the next, etc. (report by Sean
+ Reifschneider).
+ * minor optimization of color allocation to avoid repainting the
+ screen if the corresponding color had not been allocated.
+ * fixes for vttests/256colors.pl (report by Egmont Koblinger).
+ * add terminfo building block entries for modifiers of the 6-key
+ editing keypad.
+ * fix for initialization of tek4014 which broke on QNX 6.1
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xterm.spec ++++++
--- /var/tmp/diff_new_pack.5Whu19/_old 2006-10-09 19:32:24.000000000 +0200
+++ /var/tmp/diff_new_pack.5Whu19/_new 2006-10-09 19:32:24.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package xterm (Version 220)
+# spec file for package xterm (Version 221)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,8 +17,8 @@
Group: System/X11/Utilities
Provides: xorg-x11:/usr/X11R6/bin/xterm XFree86:/usr/X11R6/bin/xterm
Autoreqprov: on
-Version: 220
-Release: 2
+Version: 221
+Release: 1
Summary: The basic X terminal program
Source: %name.tar.gz
Source1: luitx
@@ -183,6 +183,20 @@
/usr/share/pixmaps/terminal.png
%changelog -n xterm
+* Mon Oct 09 2006 - sndirsch@xxxxxxx
+- updated to xterm-221
+ * fix for regular expressions: the code which converted the column
+ offset within a line did not check properly for the end of a line,
+ and if allowed to match the whole line, would select the beginning
+ of the following line. If the following line were empty, in turn
+ it would select from the next, etc. (report by Sean
+ Reifschneider).
+ * minor optimization of color allocation to avoid repainting the
+ screen if the corresponding color had not been allocated.
+ * fixes for vttests/256colors.pl (report by Egmont Koblinger).
+ * add terminfo building block entries for modifiers of the 6-key
+ editing keypad.
+ * fix for initialization of tek4014 which broke on QNX 6.1
* Mon Sep 11 2006 - sndirsch@xxxxxxx
- fixed luit/luitx path (Bug #204861)
* Mon Sep 11 2006 - sndirsch@xxxxxxx
++++++ xterm.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/MANIFEST new/xterm-221/MANIFEST
--- old/xterm-220/MANIFEST 2006-09-10 17:16:27.000000000 +0200
+++ new/xterm-221/MANIFEST 2006-10-02 02:05:11.000000000 +0200
@@ -1,4 +1,4 @@
-MANIFEST for xterm, version xterm-220
+MANIFEST for xterm-221, version xterm-221
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/Tekproc.c new/xterm-221/Tekproc.c
--- old/xterm-220/Tekproc.c 2006-09-10 20:00:50.000000000 +0200
+++ new/xterm-221/Tekproc.c 2006-09-30 01:04:01.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: Tekproc.c,v 1.143 2006/09/10 18:00:50 tom Exp $ */
+/* $XTermId: Tekproc.c,v 1.145 2006/09/29 23:04:01 tom Exp $ */
/*
* Warning, there be crufty dragons here.
@@ -964,6 +964,15 @@
(tekscr->TekGIN && GINcursor) ? GINcursor : screen->arrow);
}
+void
+TekRepaint(TekWidget tw)
+{
+ TekScreen *tekscr = &tw->screen;
+
+ XClearWindow(XtDisplay(tw), TWindow(tekscr));
+ TekExpose((Widget) tw, (XEvent *) NULL, (Region) NULL);
+}
+
static void
TekPage(TekWidget tw)
{
@@ -1377,6 +1386,7 @@
unsigned TEKgcFontMask;
TRACE(("TekRealize\n"));
+ memset(tekscr, 0, sizeof(tekscr));
#ifndef NO_ACTIVE_ICON
tekscr->whichTwin = &tekscr->fullTwin;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/button.c new/xterm-221/button.c
--- old/xterm-220/button.c 2006-09-01 23:48:34.000000000 +0200
+++ new/xterm-221/button.c 2006-10-02 01:39:29.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.254 2006/09/01 21:48:34 tom Exp $ */
+/* $XTermId: button.c,v 1.255 2006/10/01 23:39:29 tom Exp $ */
/*
* Copyright 1999-2005,2006 by Thomas E. Dickey
@@ -2491,6 +2491,14 @@
if (col <= last) {
break;
}
+ /*
+ * Stop if the current row does not wrap (does not continue the current
+ * line).
+ */
+ if (!ScrnTstWrapped(screen, row)) {
+ col = last + 1;
+ break;
+ }
col -= (last + 1);
++row;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/charproc.c new/xterm-221/charproc.c
--- old/xterm-220/charproc.c 2006-09-05 02:13:33.000000000 +0200
+++ new/xterm-221/charproc.c 2006-09-28 02:06:28.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.734 2006/09/05 00:13:33 tom Exp $ */
+/* $XTermId: charproc.c,v 1.735 2006/09/28 00:06:28 tom Exp $ */
/* $XFree86: xc/programs/xterm/charproc.c,v 3.185 2006/06/20 00:42:38 dickey Exp $ */
@@ -5482,6 +5482,7 @@
init_Ires(misc.ctrl_fkeys);
#endif
#if OPT_TEK4014
+ TEK4014_SHOWN(wnew) = False; /* not a resource... */
init_Bres(misc.tekInhibit);
init_Bres(misc.tekSmall);
init_Bres(misc.TekEmu);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/main.c new/xterm-221/main.c
--- old/xterm-220/main.c 2006-09-02 02:38:48.000000000 +0200
+++ new/xterm-221/main.c 2006-09-28 02:06:41.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.529 2006/09/02 00:38:48 tom Exp $ */
+/* $XTermId: main.c,v 1.530 2006/09/28 00:06:41 tom Exp $ */
/*
* W A R N I N G
@@ -269,7 +269,8 @@
#else
#define USE_SYSV_PGRP
extern __inline__
-ttyslot()
+int
+ttyslot(void)
{
return 1; /* yuk */
}
@@ -3052,6 +3053,7 @@
ttyfd = -1;
errno = ENXIO;
}
+ pw = NULL;
#if OPT_INITIAL_ERASE
initial_erase = VAL_INITIAL_ERASE;
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/misc.c new/xterm-221/misc.c
--- old/xterm-220/misc.c 2006-09-04 00:15:15.000000000 +0200
+++ new/xterm-221/misc.c 2006-09-30 01:30:50.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.327 2006/09/03 22:15:15 tom Exp $ */
+/* $XTermId: misc.c,v 1.329 2006/09/29 23:30:50 tom Exp $ */
/* $XFree86: xc/programs/xterm/misc.c,v 3.107 2006/06/19 00:36:51 dickey Exp $ */
@@ -1462,11 +1462,21 @@
}
}
-static Bool
+/*
+ * Allocate a color for the "ANSI" colors. That actually includes colors up
+ * to 256.
+ *
+ * Returns
+ * -1 on error
+ * 0 on no change
+ * 1 if a new color was allocated.
+ */
+static int
AllocateAnsiColor(XtermWidget xw,
ColorRes * res,
char *spec)
{
+ int result;
XColor def;
TScreen *screen = &xw->screen;
Colormap cmap = xw->core.colormap;
@@ -1474,16 +1484,28 @@
if (XParseColor(screen->display, cmap, spec, &def)
&& (XAllocColor(screen->display, cmap, &def)
|| find_closest_color(screen->display, cmap, &def))) {
- SET_COLOR_RES(res, def.pixel);
- TRACE(("AllocateAnsiColor[%d] %s (pixel %#lx)\n",
- (res - screen->Acolors), spec, def.pixel));
+ if (
#if OPT_COLOR_RES
- res->mode = True;
+ res->mode == True &&
#endif
- return (True);
+ EQL_COLOR_RES(res, def.pixel)) {
+ result = 0;
+ } else {
+ result = 1;
+ SET_COLOR_RES(res, def.pixel);
+ TRACE(("AllocateAnsiColor[%d] %s (pixel %#lx)\n",
+ (res - screen->Acolors), spec, def.pixel));
+#if OPT_COLOR_RES
+ if (!res->mode)
+ result = 0;
+ res->mode = True;
+#endif
+ }
+ } else {
+ TRACE(("AllocateAnsiColor %s (failed)\n", spec));
+ result = -1;
}
- TRACE(("AllocateAnsiColor %s (failed)\n", spec));
- return (False);
+ return (result);
}
#if OPT_COLOR_RES
@@ -1501,7 +1523,7 @@
if (res >= term->screen.Acolors) {
assert(res - term->screen.Acolors < MAXCOLORS);
- if (!AllocateAnsiColor(term, res, res->resource)) {
+ if (AllocateAnsiColor(term, res, res->resource) < 0) {
res->value = term->screen.Tcolors[TEXT_FG].value;
res->mode = -True;
fprintf(stderr,
@@ -1525,7 +1547,8 @@
{
char *name;
int color;
- int r = False;
+ int repaint = False;
+ int code;
TRACE(("ChangeAnsiColorRequest string='%s'\n", buf));
@@ -1547,17 +1570,22 @@
ReportAnsiColorRequest(xw, color, final);
else {
TRACE(("ChangeAnsiColor for Acolors[%d]\n", color));
- if (!AllocateAnsiColor(xw, &(xw->screen.Acolors[color]), name))
+ code = AllocateAnsiColor(xw, &(xw->screen.Acolors[color]), name);
+ if (code < 0) {
+ /* stop on any error */
break;
+ } else if (code > 0) {
+ repaint = True;
+ }
/* FIXME: free old color somehow? We aren't for the other color
* change style (dynamic colors).
*/
- r = True;
}
}
- if (r)
- ChangeAnsiColors(xw);
- return (r);
+ if (repaint)
+ xtermRepaint(xw);
+
+ return (repaint);
}
#else
#define find_closest_color(display, cmap, def) 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/ptyx.h new/xterm-221/ptyx.h
--- old/xterm-220/ptyx.h 2006-09-04 00:11:00.000000000 +0200
+++ new/xterm-221/ptyx.h 2006-09-27 23:27:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: ptyx.h,v 1.443 2006/09/03 22:11:00 tom Exp $ */
+/* $XTermId: ptyx.h,v 1.444 2006/09/27 21:27:21 tom Exp $ */
/* $XFree86: xc/programs/xterm/ptyx.h,v 3.134 2006/06/19 00:36:51 dickey Exp $ */
@@ -1890,8 +1890,8 @@
#if OPT_TEK4014
typedef struct _TekWidgetRec {
CorePart core;
- TekPart tek;
- TekScreen screen;
+ TekPart tek; /* contains resources */
+ TekScreen screen; /* contains working data (no resources) */
Bool init_menu;
XSizeHints hints;
} TekWidgetRec, *TekWidget;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/terminfo new/xterm-221/terminfo
--- old/xterm-220/terminfo 2006-08-05 23:16:13.000000000 +0200
+++ new/xterm-221/terminfo 2006-10-02 00:18:13.000000000 +0200
@@ -1,8 +1,8 @@
-# $XTermId: terminfo,v 1.134 2006/08/05 21:16:13 tom Exp $
+# $XTermId: terminfo,v 1.145 2006/10/01 22:18:13 tom Exp $
#
# $XFree86: xc/programs/xterm/terminfo,v 3.59 2006/02/13 01:14:59 dickey Exp $
#
-# XFree86 updates/notes/new entries (including xterm-8bit, xterm-16color)
+# Updates/notes/new entries (e.g., xterm-8bit, xterm-16color, xterm-256color)
# - Thomas E. Dickey
#
#------------------------------------------------------------------------------
@@ -132,43 +132,46 @@
xterm-new|modern xterm terminal emulator,
npc,
indn=\E[%p1%dS,
- kDC=\E[3;2~,
- kEND=\E[1;2F,
- kHOM=\E[1;2H,
- kIC=\E[2;2~,
- kLFT=\E[1;2D,
- kNXT=\E[6;2~,
- kPRV=\E[5;2~,
- kRIT=\E[1;2C,
kb2=\EOE,
kcbt=\E[Z,
- kcub1=\EOD,
- kcud1=\EOB,
- kcuf1=\EOC,
- kcuu1=\EOA,
- kend=\EOF,
kent=\EOM,
- khome=\EOH,
- kich1=\E[2~,
- kind=\E[1;2B,
- knp=\E[6~,
- kpp=\E[5~,
- kri=\E[1;2A,
rin=\E[%p1%dT,
use=xterm+pcfkeys,
use=xterm-basic,
#
-# Encode modifiers using parameters (see ctlseqs.msg).
+# Encode modifiers using parameters (see "Xterm Control Sequences" ctlseqs.ms).
# Note that this is unrelated to PCTERM.
#
-# Some names are extensions allowed by ncurses:
+# Some names are extensions allowed by ncurses, e.g.,
# kDN, kDN5, kDN6, kLFT5, kLFT6, kRIT5, kRIT6, kUP, kUP5, kUP6
-# The numbers correspond to the modifier parameters, e.g., 5=control,
-# 6=control/shift.
+#
+# The uppercase names are made up, since there are no standards that apply.
+# If they were limited to two characters, they could in principle be translated
+# to termcap. However, termcap sizes are limited to 1023 bytes, so there is
+# little point in ensuring that extended key names can be translated to
+# termcap. A terminfo file can be up to 4096 bytes; using all extended keys
+# that xterm can generate would in fact exceed that limit.
+#
+# The numbers correspond to the modifier parameters documented in Xterm
+# Control Sequences:
+#
+# 2 Shift
+# 3 Alt
+# 4 Shift + Alt
+# 5 Control
+# 6 Shift + Control
+# 7 Alt + Control
+# 8 Shift + Alt + Control
+#
+# X/Open Curses defines some shift combinations, which are also used here
+# where applicable. Since it does define some shift combinations, no number
+# (2) is used for suffixing the made-up names. Some combinations are not
+# useful, e.g., they may reboot your computer, or they may require too many
+# fingers. I stopped at modifier 7, just to keep things simple -TD
#
# XTerm resources:
# ---------------
-# The xterm-pcfn, xterm-pcf0, xterm-pcf1, xterm-pcf2 and xterm-pcf3 fragments
+# The xterm+pcfn, xterm+pcf0, xterm+pcf1, xterm+pcf2 and xterm+pcf3 fragments
# correspond to default resource settings for xterm on a 104-key PC keyboard
# with 12 function-keys:
#
@@ -191,10 +194,12 @@
# an application that required it.
#
xterm+pcfkeys|fragment for PC-style keys,
+ use=xterm+app,
use=xterm+pcf2,
+ use=xterm+pce2,
use=xterm+pcc2,
#
-# The ctrlFKeys resource is only relevant to the xterm-pcfn and xterm-pcfN
+# The ctrlFKeys resource is only relevant to the xterm+pcfn and xterm+pcfN
# entries, since the modifyFunctionKeys resource overrides ctrlFKeys when it is
# positive. A different choice of ctrlFKeys would give a different set of
# function-key strings.
@@ -379,10 +384,10 @@
kf10=\E[21~,
kf11=\E[23~,
kf12=\E[24~,
- kf13=\E[2P,
- kf14=\E[2Q,
- kf15=\E[2R,
- kf16=\E[2S,
+ kf13=\E[1;2P,
+ kf14=\E[1;2Q,
+ kf15=\E[1;2R,
+ kf16=\E[1;2S,
kf17=\E[15;2~,
kf18=\E[17;2~,
kf19=\E[18;2~,
@@ -392,10 +397,10 @@
kf22=\E[21;2~,
kf23=\E[23;2~,
kf24=\E[24;2~,
- kf25=\E[5P,
- kf26=\E[5Q,
- kf27=\E[5R,
- kf28=\E[5S,
+ kf25=\E[1;5P,
+ kf26=\E[1;5Q,
+ kf27=\E[1;5R,
+ kf28=\E[1;5S,
kf29=\E[15;5~,
kf3=\EOR,
kf30=\E[17;5~,
@@ -405,11 +410,11 @@
kf34=\E[21;5~,
kf35=\E[23;5~,
kf36=\E[24;5~,
- kf37=\E[6P,
- kf38=\E[6Q,
- kf39=\E[6R,
+ kf37=\E[1;6P,
+ kf38=\E[1;6Q,
+ kf39=\E[1;6R,
kf4=\EOS,
- kf40=\E[6S,
+ kf40=\E[1;6S,
kf41=\E[15;6~,
kf42=\E[17;6~,
kf43=\E[18;6~,
@@ -418,11 +423,11 @@
kf46=\E[21;6~,
kf47=\E[23;6~,
kf48=\E[24;6~,
- kf49=\E[3P,
+ kf49=\E[1;3P,
kf5=\E[15~,
- kf50=\E[3Q,
- kf51=\E[3R,
- kf52=\E[3S,
+ kf50=\E[1;3Q,
+ kf51=\E[1;3R,
+ kf52=\E[1;3S,
kf53=\E[15;3~,
kf54=\E[17;3~,
kf55=\E[18;3~,
@@ -432,9 +437,9 @@
kf59=\E[23;3~,
kf6=\E[17~,
kf60=\E[24;3~,
- kf61=\E[4P,
- kf62=\E[4Q,
- kf63=\E[4R,
+ kf61=\E[1;4P,
+ kf62=\E[1;4Q,
+ kf63=\E[1;4R,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,
@@ -444,10 +449,10 @@
kf10=\E[21~,
kf11=\E[23~,
kf12=\E[24~,
- kf13=\E[2P,
- kf14=\E[2Q,
- kf15=\E[2R,
- kf16=\E[2S,
+ kf13=\E[>1;2P,
+ kf14=\E[>1;2Q,
+ kf15=\E[>1;2R,
+ kf16=\E[>1;2S,
kf17=\E[>15;2~,
kf18=\E[>17;2~,
kf19=\E[>18;2~,
@@ -457,10 +462,10 @@
kf22=\E[>21;2~,
kf23=\E[>23;2~,
kf24=\E[>24;2~,
- kf25=\E[5P,
- kf26=\E[5Q,
- kf27=\E[5R,
- kf28=\E[5S,
+ kf25=\E[>1;5P,
+ kf26=\E[>1;5Q,
+ kf27=\E[>1;5R,
+ kf28=\E[>1;5S,
kf29=\E[>15;5~,
kf3=\EOR,
kf30=\E[>17;5~,
@@ -470,11 +475,11 @@
kf34=\E[>21;5~,
kf35=\E[>23;5~,
kf36=\E[>24;5~,
- kf37=\E[6P,
- kf38=\E[6Q,
- kf39=\E[6R,
+ kf37=\E[>1;6P,
+ kf38=\E[>1;6Q,
+ kf39=\E[>1;6R,
kf4=\EOS,
- kf40=\E[6S,
+ kf40=\E[>1;6S,
kf41=\E[>15;6~,
kf42=\E[>17;6~,
kf43=\E[>18;6~,
@@ -483,11 +488,11 @@
kf46=\E[>21;6~,
kf47=\E[>23;6~,
kf48=\E[>24;6~,
- kf49=\E[3P,
+ kf49=\E[>1;3P,
kf5=\E[15~,
- kf50=\E[3Q,
- kf51=\E[3R,
- kf52=\E[3S,
+ kf50=\E[>1;3Q,
+ kf51=\E[>1;3R,
+ kf52=\E[>1;3S,
kf53=\E[>15;3~,
kf54=\E[>17;3~,
kf55=\E[>18;3~,
@@ -497,9 +502,9 @@
kf59=\E[>23;3~,
kf6=\E[17~,
kf60=\E[>24;3~,
- kf61=\E[4P,
- kf62=\E[4Q,
- kf63=\E[4R,
+ kf61=\E[>1;4P,
+ kf62=\E[>1;4Q,
+ kf63=\E[>1;4R,
kf7=\E[18~,
kf8=\E[19~,
kf9=\E[20~,
@@ -523,52 +528,203 @@
# modifyCursorKeys resource. These fragments list the modified cursor-keys
# that might apply to xterm+pcfkeys with different values of that resource.
xterm+pcc3|fragment with modifyCursorKeys:3,
+ kLFT=\E[>1;2D,
+ kRIT=\E[>1;2C,
+ kind=\E[>1;2B,
+ kri=\E[>1;2A,
kDN=\E[>1;2B,
+ kDN3=\E[>1;3B,
+ kDN4=\E[>1;4B,
kDN5=\E[>1;5B,
kDN6=\E[>1;6B,
+ kDN7=\E[>1;7B,
+ kLFT3=\E[>1;3D,
+ kLFT4=\E[>1;4D,
kLFT5=\E[>1;5D,
kLFT6=\E[>1;6D,
+ kLFT7=\E[>1;7D,
+ kRIT3=\E[>1;3C,
+ kRIT4=\E[>1;4C,
kRIT5=\E[>1;5C,
kRIT6=\E[>1;6C,
+ kRIT7=\E[>1;7C,
kUP=\E[>1;2A,
+ kUP3=\E[>1;3A,
+ kUP4=\E[>1;4A,
kUP5=\E[>1;5A,
kUP6=\E[>1;6A,
+ kUP7=\E[>1;7A,
xterm+pcc2|fragment with modifyCursorKeys:2,
+ kLFT=\E[1;2D,
+ kRIT=\E[1;2C,
+ kind=\E[1;2B,
+ kri=\E[1;2A,
kDN=\E[1;2B,
+ kDN3=\E[1;3B,
+ kDN4=\E[1;4B,
kDN5=\E[1;5B,
kDN6=\E[1;6B,
+ kDN7=\E[1;7B,
+ kLFT3=\E[1;3D,
+ kLFT4=\E[1;4D,
kLFT5=\E[1;5D,
kLFT6=\E[1;6D,
+ kLFT7=\E[1;7D,
+ kRIT3=\E[1;3C,
+ kRIT4=\E[1;4C,
kRIT5=\E[1;5C,
kRIT6=\E[1;6C,
+ kRIT7=\E[1;7C,
kUP=\E[1;2A,
+ kUP3=\E[1;3A,
+ kUP4=\E[1;4A,
kUP5=\E[1;5A,
kUP6=\E[1;6A,
+ kUP7=\E[1;7A,
xterm+pcc1|fragment with modifyCursorKeys:1,
+ kLFT=\E[2D,
+ kRIT=\E[2C,
+ kind=\E[2B,
+ kri=\E[2A,
kDN=\E[2B,
+ kDN3=\E[3B,
+ kDN4=\E[4B,
kDN5=\E[5B,
kDN6=\E[6B,
+ kDN7=\E[7B,
+ kLFT3=\E[3D,
+ kLFT4=\E[4D,
kLFT5=\E[5D,
kLFT6=\E[6D,
+ kLFT7=\E[7D,
+ kRIT3=\E[3C,
+ kRIT4=\E[4C,
kRIT5=\E[5C,
kRIT6=\E[6C,
+ kRIT7=\E[7C,
kUP=\E[2A,
+ kUP3=\E[3A,
+ kUP4=\E[4A,
kUP5=\E[5A,
kUP6=\E[6A,
+ kUP7=\E[7A,
xterm+pcc0|fragment with modifyCursorKeys:0,
+ kLFT=\EO2D,
+ kRIT=\EO2C,
+ kind=\EO2B,
+ kri=\EO2A,
kDN=\EO2B,
+ kDN3=\EO3B,
+ kDN4=\EO4B,
kDN5=\EO5B,
kDN6=\EO6B,
+ kDN7=\EO7B,
+ kLFT3=\EO3D,
+ kLFT4=\EO4D,
kLFT5=\EO5D,
kLFT6=\EO6D,
+ kLFT7=\EO7D,
+ kRIT3=\EO3C,
+ kRIT4=\EO4C,
kRIT5=\EO5C,
kRIT6=\EO6C,
+ kRIT7=\EO7C,
kUP=\EO2A,
+ kUP3=\EO3A,
+ kUP4=\EO4A,
kUP5=\EO5A,
kUP6=\EO6A,
+ kUP7=\EO7A,
+
+# The home/end keys on the editing keypad are also treated as cursor keys.
+xterm+pce3|fragment with modifyCursorKeys:3,
+ kEND=\E[>1;2F,
+ kHOM=\E[>1;2H,
+ kEND3=\E[>1;3F,
+ kEND4=\E[>1;4F,
+ kEND5=\E[>1;5F,
+ kEND6=\E[>1;6F,
+ kEND7=\E[>1;7F,
+ kHOM3=\E[>1;3H,
+ kHOM4=\E[>1;4H,
+ kHOM5=\E[>1;5H,
+ kHOM6=\E[>1;6H,
+ kHOM7=\E[>1;7H,
+ use=xterm+pce0,
+
+xterm+pce2|fragment with modifyCursorKeys:2,
+ kEND=\E[1;2F,
+ kHOM=\E[1;2H,
+ kEND3=\E[1;3F,
+ kEND4=\E[1;4F,
+ kEND5=\E[1;5F,
+ kEND6=\E[1;6F,
+ kEND7=\E[1;7F,
+ kHOM3=\E[1;3H,
+ kHOM4=\E[1;4H,
+ kHOM5=\E[1;5H,
+ kHOM6=\E[1;6H,
+ kHOM7=\E[1;7H,
+ use=xterm+pce0,
+
+xterm+pce1|fragment with modifyCursorKeys:1,
+ kEND=\E[2F,
+ kHOM=\E[2H,
+ kEND3=\E[3F,
+ kEND4=\E[4F,
+ kEND5=\E[5F,
+ kEND6=\E[6F,
+ kEND7=\E[7F,
+ kHOM3=\E[3H,
+ kHOM4=\E[4H,
+ kHOM5=\E[5H,
+ kHOM6=\E[6H,
+ kHOM7=\E[7H,
+ use=xterm+pce0,
+
+xterm+pce0|fragment with modifyCursorKeys:0,
+ kDC=\E[3;2~,
+ kEND=\EO2F,
+ kHOM=\EO2H,
+ kIC=\E[2;2~,
+ kNXT=\E[6;2~,
+ kPRV=\E[5;2~,
+ kich1=\E[2~,
+ knp=\E[6~,
+ kpp=\E[5~,
+ kDC3=\E[3;3~,
+ kDC4=\E[3;4~,
+ kDC5=\E[3;5~,
+ kDC6=\E[3;6~,
+ kDC7=\E[3;7~,
+ kEND3=\EO3F,
+ kEND4=\EO4F,
+ kEND5=\EO5F,
+ kEND6=\EO6F,
+ kEND7=\EO7F,
+ kHOM3=\EO3H,
+ kHOM4=\EO4H,
+ kHOM5=\EO5H,
+ kHOM6=\EO6H,
+ kHOM7=\EO7H,
+ kIC3=\E[2;3~,
+ kIC4=\E[2;4~,
+ kIC5=\E[2;5~,
+ kIC6=\E[2;6~,
+ kIC7=\E[2;7~,
+ kNXT3=\E[6;3~,
+ kNXT4=\E[6;4~,
+ kNXT5=\E[6;5~,
+ kNXT6=\E[6;6~,
+ kNXT7=\E[6;7~,
+ kPRV3=\E[5;3~,
+ kPRV4=\E[5;4~,
+ kPRV5=\E[5;5~,
+ kPRV6=\E[5;6~,
+ kPRV7=\E[5;7~,
#
# This chunk is used for building the VT220/Sun/PC keyboard variants.
xterm-basic|modern xterm terminal emulator - common,
@@ -688,10 +844,6 @@
kc1=\EOq,
kc3=\EOs,
kcbt=\E[Z,
- kcub1=\EOD,
- kcud1=\EOB,
- kcuf1=\EOC,
- kcuu1=\EOA,
kend=\E[4~,
kent=\EOM,
kf1=\EOP,
@@ -718,6 +870,11 @@
kich1=\E[2~,
knp=\E[6~,
kpp=\E[5~,
+ ka2=\EOx,
+ kb1=\EOt,
+ kb3=\EOv,
+ kc2=\EOr,
+ use=xterm+app,
use=xterm-basic,
#
xterm-vt52|xterm emulating dec vt52,
@@ -872,12 +1029,7 @@
#
xterm-sco|xterm with SCO function keys,
kbeg=\E[E,
- kcub1=\E[D,
- kcud1=\E[B,
- kcuf1=\E[C,
- kcuu1=\E[A,
kdch1=\177,
- kend=\E[F,
kf1=\E[M,
kf10=\E[V,
kf11=\E[W,
@@ -926,11 +1078,11 @@
kf7=\E[S,
kf8=\E[T,
kf9=\E[U,
- khome=\E[H,
kich1=\E[L,
kmous=\E[>M,
knp=\E[G,
kpp=\E[I,
+ use=xterm+noapp,
use=xterm-basic,
#
# Other variants:
@@ -992,15 +1144,28 @@
# programs are "smart" and disable these.
#
xterm-noapp|xterm with cursor keys in normal mode,
- kcub1=\E[D,
- kcud1=\E[B,
- kcuf1=\E[C,
- kcuu1=\E[A,
rmcup@,
rmkx=\E>,
smcup@,
smkx=\E=,
+ use=xterm+noapp,
use=xterm,
+
+xterm+noapp|fragment with cursor keys in normal mode,
+ kcub1=\E[D,
+ kcud1=\E[B,
+ kcuf1=\E[C,
+ kcuu1=\E[A,
+ kend=\E[F,
+ khome=\E[H,
+
+xterm+app|fragment with cursor keys in application mode,
+ kcub1=\EOD,
+ kcud1=\EOB,
+ kcuf1=\EOC,
+ kcuu1=\EOA,
+ kend=\EOF,
+ khome=\EOH,
#
# This should work for the commonly used "color xterm" variations (XFree86
# xterm, color_xterm, nxterm, rxvt). Note that it does not set 'bce', so for
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/util.c new/xterm-221/util.c
--- old/xterm-220/util.c 2006-09-10 17:22:06.000000000 +0200
+++ new/xterm-221/util.c 2006-09-30 01:01:54.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: util.c,v 1.301 2006/09/10 15:22:06 tom Exp $ */
+/* $XTermId: util.c,v 1.303 2006/09/29 23:01:54 tom Exp $ */
/* $XFree86: xc/programs/xterm/util.c,v 3.98 2006/06/19 00:36:52 dickey Exp $ */
@@ -1566,28 +1566,23 @@
COLOR_DEFINED(pNew, TEK_BG)) {
ChangeTekColors(tekWidget, screen, pNew);
if (TEK4014_SHOWN(xw)) {
- XClearWindow(screen->display, tek);
- TekExpose((Widget) tekWidget, (XEvent *) NULL, (Region) NULL);
+ TekRepaint(tekWidget);
}
} else if (COLOR_DEFINED(pNew, TEK_CURSOR)) {
ChangeTekColors(tekWidget, screen, pNew);
}
#endif
- if (repaint) {
- XClearWindow(screen->display, VWindow(screen));
- ScrnRefresh(xw, 0, 0, MaxRows(screen),
- MaxCols(screen), False);
- }
+ if (repaint)
+ xtermRepaint(xw);
}
void
-ChangeAnsiColors(XtermWidget xw)
+xtermRepaint(XtermWidget xw)
{
TScreen *screen = &xw->screen;
XClearWindow(screen->display, VWindow(screen));
- ScrnRefresh(xw, 0, 0,
- MaxRows(screen),
+ ScrnRefresh(xw, 0, 0, MaxRows(screen),
MaxCols(screen), False);
}
@@ -1677,14 +1672,11 @@
TekReverseVideo(tekWidget);
#endif
if (XtIsRealized((Widget) xw)) {
- XClearWindow(screen->display, VWindow(screen));
- ScrnRefresh(xw, 0, 0, MaxRows(screen),
- MaxCols(screen), False);
+ xtermRepaint(xw);
}
#if OPT_TEK4014
if (TEK4014_SHOWN(xw)) {
- XClearWindow(screen->display, tek);
- TekExpose((Widget) tekWidget, (XEvent *) NULL, (Region) NULL);
+ TekRepaint(tekWidget);
}
#endif
ReverseOldColors();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/version.h new/xterm-221/version.h
--- old/xterm-220/version.h 2006-09-10 17:16:33.000000000 +0200
+++ new/xterm-221/version.h 2006-09-26 23:45:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.275 2006/09/10 15:16:33 tom Exp $ */
+/* $XTermId: version.h,v 1.276 2006/09/26 21:45:37 tom Exp $ */
/* $XFree86: xc/programs/xterm/version.h,v 3.126 2006/06/20 00:42:38 dickey Exp $ */
/*
@@ -7,7 +7,7 @@
* version of X to which this version of xterm has been built. The number in
* parentheses is my patch number (T.Dickey).
*/
-#define XTERM_PATCH 220
+#define XTERM_PATCH 221
#ifndef __vendorversion__
#define __vendorversion__ "XTerm"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/vttests/256colors.pl new/xterm-221/vttests/256colors.pl
--- old/xterm-220/vttests/256colors.pl 1999-07-12 19:43:45.000000000 +0200
+++ new/xterm-221/vttests/256colors.pl 2006-09-29 23:49:03.000000000 +0200
@@ -1,12 +1,16 @@
#!/usr/bin/perl
+# $XTermId: 256colors.pl,v 1.3 2006/09/29 21:49:03 tom Exp $
# $XFree86: xc/programs/xterm/vttests/256colors.pl,v 1.1 1999/07/11 08:49:54 dawes Exp $
+#
+# This uses 33 print-lines on an 80-column display. Printing the numbers in
+# hexadecimal would make it compact enough for 24x80, but less readable.
for ($bg = 0; $bg < 256; $bg++) {
- print "\x1b[9;1H\x1b[2J";
+ # print "\x1b[9;1H\x1b[2J";
for ($fg = 0; $fg < 256; $fg++) {
print "\x1b[48;5;${bg}m\x1b[38;5;${fg}m";
printf "%03.3d/%03.3d ", $fg, $bg;
}
- sleep 1;
print "\n";
+ sleep 1;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/xterm.h new/xterm-221/xterm.h
--- old/xterm-220/xterm.h 2006-09-04 00:06:11.000000000 +0200
+++ new/xterm-221/xterm.h 2006-09-30 01:24:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* $XTermId: xterm.h,v 1.421 2006/09/03 22:06:11 tom Exp $ */
+/* $XTermId: xterm.h,v 1.424 2006/09/29 23:24:21 tom Exp $ */
/* $XFree86: xc/programs/xterm/xterm.h,v 3.117 2006/06/19 00:36:52 dickey Exp $ */
@@ -614,17 +614,18 @@
extern int TekInit (void);
extern int TekPtyData(void);
extern void ChangeTekColors (TekWidget /* tw */, TScreen * /* screen */, ScrnColors * /* pNew */);
+extern void HandleGINInput PROTO_XT_ACTIONS_ARGS;
extern void TCursorToggle (TekWidget /* tw */, int /* toggle */);
extern void TekCopy (TekWidget /* tw */);
extern void TekEnqMouse (TekWidget /* tw */, int /* c */);
extern void TekExpose (Widget /* w */, XEvent * /* event */, Region /* region */);
extern void TekGINoff (TekWidget /* tw */);
+extern void TekRefresh (TekWidget /* tw */);
+extern void TekRepaint (TekWidget /* xw */);
extern void TekReverseVideo (TekWidget /* tw */);
extern void TekRun (void);
extern void TekSetFontSize (TekWidget /* tw */, int /* newitem */);
extern void TekSimulatePageButton (TekWidget /* tw */, Bool /* reset */);
-extern void TekRefresh (TekWidget /* tw */);
-extern void HandleGINInput PROTO_XT_ACTIONS_ARGS;
#endif
/* button.c */
@@ -1005,7 +1006,6 @@
extern int HandleExposure (XtermWidget /* xw */, XEvent * /* event */);
extern int char2lower (int /* ch */);
extern int drawXtermText (XtermWidget /* xw */, unsigned /* flags */, GC /* gc */, int /* x */, int /* y */, int /* chrset */, PAIRED_CHARS(Char * /* text */, Char * /* text2 */), Cardinal /* len */, int /* on_wide */);
-extern void ChangeAnsiColors (XtermWidget /* xw */);
extern void ChangeColors (XtermWidget /* xw */, ScrnColors * /* pNew */);
extern void ClearRight (XtermWidget /* xw */, int /* n */);
extern void ClearScreen (XtermWidget /* xw */);
@@ -1028,6 +1028,7 @@
extern void set_keyboard_type (XtermWidget /* xw */, xtermKeyboardType /* type */, Bool /* set */);
extern void toggle_keyboard_type (XtermWidget /* xw */, xtermKeyboardType /* type */);
extern void update_keyboard_type (void);
+extern void xtermRepaint (XtermWidget /* xw */);
extern void xtermScroll (XtermWidget /* xw */, int /* amount */);
extern void xtermSizeHints (XtermWidget /* xw */, int /* scrollbarWidth */);
@@ -1053,11 +1054,13 @@
#if OPT_COLOR_RES
#define GET_COLOR_RES(res) xtermGetColorRes(&(res))
#define SET_COLOR_RES(res,color) (res)->value = color
+#define EQL_COLOR_RES(res,color) (res)->value == color
#define T_COLOR(v,n) (v)->Tcolors[n].value
extern Pixel xtermGetColorRes(ColorRes *res);
#else
#define GET_COLOR_RES(res) res
#define SET_COLOR_RES(res,color) *res = color
+#define EQL_COLOR_RES(res,color) *res == color
#define T_COLOR(v,n) (v)->Tcolors[n]
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xterm-220/xterm.log.html new/xterm-221/xterm.log.html
--- old/xterm-220/xterm.log.html 2006-09-10 20:02:03.000000000 +0200
+++ new/xterm-221/xterm.log.html 2006-10-02 01:48:09.000000000 +0200
@@ -20,7 +20,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
*****************************************************************************
- $XTermId: xterm.log.html,v 1.474 2006/09/10 18:02:03 tom Exp $
+ $XTermId: xterm.log.html,v 1.479 2006/10/01 23:48:09 tom Exp $
$XFree86: xc/programs/xterm/xterm.log.html,v 1.151 2006/06/20 00:42:38 dickey Exp $
-->
<HTML>
@@ -46,6 +46,7 @@
is the latest version of this file.
<UL>
+<LI><A HREF="#xterm_221">Patch #221 - 2006/10/1</A>
<LI><A HREF="#xterm_220">Patch #220 - 2006/9/10</A>
<LI><A HREF="#xterm_219">Patch #219 - 2006/9/4</A>
<LI><A HREF="#xterm_218">Patch #218 - 2006/8/27</A>
@@ -269,6 +270,26 @@
<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
</UL>
+<H1><A NAME="xterm_221">Patch #221 - 2006/10/1</A></H1>
+<ul>
+ <li>fix for regular expressions: the code which converted the column
+ offset within a line did not check properly for the end of a line,
+ and if allowed to match the whole line, would select the beginning
+ of the following line. If the following line were empty, in turn
+ it would select from the next, etc. (report by Sean
+ Reifschneider).
+
+ <li>minor optimization of color allocation to avoid repainting the
+ screen if the corresponding color had not been allocated.
+
+ <li>fixes for vttests/256colors.pl (report by Egmont Koblinger).
+
+ <li>add terminfo building block entries for modifiers of the 6-key
+ editing keypad.
+
+ <li>fix for initialization of tek4014 which broke on QNX 6.1
+</ul>
+
<H1><A NAME="xterm_220">Patch #220 - 2006/9/10</A></H1>
<ul>
<li>make "xterm -t -iconic" work as expected, i.e., start in tek4014
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |