Hello community,

here is the log from the commit of package xterm for openSUSE:Factory checked 
in at 2012-12-05 14:10:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xterm (Old)
 and      /work/SRC/openSUSE:Factory/.xterm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xterm", Maintainer is "meiss...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xterm/xterm.changes      2012-10-31 
14:06:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xterm.new/xterm.changes 2012-12-05 
14:10:38.000000000 +0100
@@ -1,0 +2,44 @@
+Tue Nov 27 20:03:03 CET 2012 - sbra...@suse.cz
+
+- Verify GPG signatures.
+
+-------------------------------------------------------------------
+Mon Nov 26 15:00:14 UTC 2012 - meiss...@suse.com
+
+- Patch #287 - 2012/11/25
+  * fix  a case where in_put() loop could continue when it has found an
+    X  event  rather  than  the pty, causing the pty-read to be delayed
+    (patch by Balazs Kezes).
+  * add  option  to  pointerMode  resource  and  corresponding  control
+    sequences  to  allow  text-cursor  to  remain hidden if the pointer
+    leaves/enters  the  window  via  accelerator  keys. Ordinary motion
+    within the window restores the pointer (prompted by patch by Balazs
+    Kezes).
+  * remove   special   case   of  modifiers  for  the  Mode_switch  and
+    XK_ISO_Level3_Shift  from  patch  #223.  Verified that the conflict
+    which  this  was  intended  to  resolve  does not happen for normal
+    compose- or modeswitch-handling (prompted by patch by Balazs Kezes,
+    Debian #638694).
+  * modify  the  handling  of focus-change events to ignore those whose
+    detail  is  NotifyPointer,  since  those  are  sent  in addition to
+    focus-change  events  directed  to the old/new windows having focus
+    (prompted by patch by Balazs Kezes to prevent the urgency-hint from
+    being reset in this scenario).
+  * modify  description  of iconName in manpage to make it clearer that
+    this  resource does not specify the filename of an icon (discussion
+    with Ian Collier).  * modify  iconHint resource to allow suppressing
+    the built-in icon by setting this to "none" (discussion with Ian
+    Collier).
+  * make -iconic option work with the toolbar configuration.
+  * correct  initialization  of  window  manager  hints used to set the
+    icon-pixmap.  That  detail  from patch #282 overwrote state used to
+    control the -iconic command-line option (report by Ian Collier).
+  * fix paste64 feature for the case where the selection comes from the
+    current terminal. The selection callback can happen after the reply
+    is  partly  built, making it necessary to flush the reply-buffer to
+    keep things in the proper order (report by Ailin Nemui).
+  * reject  command-line  options  which are longer than the options in
+    xterm's table, to avoid mismatches (Redhat #875305).
+  * correct attribution for patch #282 changes.
+
+-------------------------------------------------------------------

Old:
----
  xterm-286.tgz
  xterm-286.tgz.asc

New:
----
  xterm-287.tgz
  xterm-287.tgz.asc
  xterm.keyring

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xterm.spec ++++++
--- /var/tmp/diff_new_pack.A7wtdZ/_old  2012-12-05 14:10:40.000000000 +0100
+++ /var/tmp/diff_new_pack.A7wtdZ/_new  2012-12-05 14:10:40.000000000 +0100
@@ -21,6 +21,7 @@
 BuildRequires:  fontpackages-devel
 %endif
 BuildRequires:  freetype2-devel
+BuildRequires:  gpg-offline
 BuildRequires:  ncurses-devel
 BuildRequires:  update-desktop-files
 %if 0%{?suse_version} > 1130
@@ -47,7 +48,7 @@
 %if 0%{?suse_version} > 1210
 Requires:       luit
 %endif
-Version:        286
+Version:        287
 Release:        0
 Summary:        The basic X terminal program
 License:        MIT
@@ -62,6 +63,7 @@
 %define vttest_version 20120506
 Source7:        ftp://invisible-island.net/vttest/vttest-%vttest_version.tgz
 Source10:       
ftp://invisible-island.net/vttest/vttest-%vttest_version.tgz.asc
+Source11:       %name.keyring
 Source8:        20x20ja.bdf.bz2
 Source9:        20x20ko.bdf.bz2
 # Snoop for the escape sequence assignment of the keypad
@@ -82,6 +84,7 @@
 This package contains the basic X.Org terminal program.
 
 %prep
+%gpg_verify %{S:2} %{S:10}
 %setup -q -b7
 %patch1 -p1 -b .xterm-settings
 %patch2 -p0 -b .xterm-sigwinch





++++++ xterm-286.tgz -> xterm-287.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/MANIFEST new/xterm-287/MANIFEST
--- old/xterm-286/MANIFEST      2012-10-25 12:53:12.000000000 +0200
+++ new/xterm-287/MANIFEST      2012-11-19 10:54:44.000000000 +0100
@@ -1,4 +1,4 @@
-MANIFEST for xterm-286, version xterm-286
+MANIFEST for xterm-287, version xterm-287
 
--------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/THANKS new/xterm-287/THANKS
--- old/xterm-286/THANKS        2012-08-21 00:21:54.000000000 +0200
+++ new/xterm-287/THANKS        2012-11-22 00:47:03.000000000 +0100
@@ -1,4 +1,4 @@
--- $XTermId: THANKS,v 1.6 2012/08/20 22:21:54 tom Exp $
+-- $XTermId: THANKS,v 1.8 2012/11/21 23:47:03 tom Exp $
 -- vile:txtmode fk=8bit
 There's no AUTHORS file in this distribution; it would be redundant since
 I (Thomas E. Dickey) have done more than 80% of the work on xterm since 1996.
@@ -24,6 +24,7 @@
 Andrew Tipton
 Andries E Brouwer
 Anton Kovalenko
+Balazs Kezes
 Ben Yoshino
 Bernhard R Link
 Bernhard Rosenkraenzer
@@ -101,6 +102,7 @@
 Keith Packard
 Ken Martin
 Kevin Buhr
+Kevin Ryde
 Kevin Schoedel
 Kiyokazu Suto
 Larry Riedel
@@ -131,9 +133,11 @@
 N�meth M�rton
 Nicolas George
 Ovidiu Gheorghioiu
+Paul Bolle
 Paul Gilmartin
 Paul Giordano
 Paul Lampert
+Paul Maier
 Paul Vojta
 Paul Williams
 Pavel Roskin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/button.c new/xterm-287/button.c
--- old/xterm-286/button.c      2012-05-10 13:06:10.000000000 +0200
+++ new/xterm-287/button.c      2012-11-20 02:15:57.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.434 2012/05/10 11:06:10 tom Exp $ */
+/* $XTermId: button.c,v 1.435 2012/11/20 01:15:57 tom Exp $ */
 
 /*
  * Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -1819,14 +1819,25 @@
 #endif /* OPT_PASTE64 */
 
 static void
-_qWriteSelectionData(TScreen * screen, Char * lag, unsigned length)
+_qWriteSelectionData(XtermWidget xw, Char * lag, unsigned length)
 {
+    TScreen *screen = TScreenOf(xw);
+
 #if OPT_PASTE64
     if (screen->base64_paste) {
        /* Send data as base64 */
        Char *p = lag;
        Char buf[64];
        unsigned x = 0;
+
+       /*
+        * Handle the case where the selection is from _this_ xterm, which
+        * puts part of the reply in the buffer before the selection callback
+        * happens.
+        */
+       if (screen->base64_paste && screen->unparse_len) {
+           unparse_end(xw);
+       }
        while (length--) {
            switch (screen->base64_count) {
            case 0:
@@ -1876,12 +1887,13 @@
 }
 
 static void
-_WriteSelectionData(TScreen * screen, Char * line, size_t length)
+_WriteSelectionData(XtermWidget xw, Char * line, size_t length)
 {
     /* Write data to pty a line at a time. */
     /* Doing this one line at a time may no longer be necessary
        because v_write has been re-written. */
 
+    TScreen *screen = TScreenOf(xw);
     Char *lag, *end;
 
     /* in the VMS version, if tt_pasting isn't set to True then qio
@@ -1897,7 +1909,7 @@
 
 #if OPT_PASTE64
     if (screen->base64_paste) {
-       _qWriteSelectionData(screen, lag, (unsigned) (end - lag));
+       _qWriteSelectionData(xw, lag, (unsigned) (end - lag));
        base64_flush(screen);
     } else
 #endif
@@ -1907,14 +1919,14 @@
            for (cp = line; cp != end; cp++) {
                if (*cp == '\n') {
                    *cp = '\r';
-                   _qWriteSelectionData(screen, lag, (unsigned) (cp - lag + 
1));
+                   _qWriteSelectionData(xw, lag, (unsigned) (cp - lag + 1));
                    lag = cp + 1;
                }
            }
        }
 
        if (lag != end) {
-           _qWriteSelectionData(screen, lag, (unsigned) (end - lag));
+           _qWriteSelectionData(xw, lag, (unsigned) (end - lag));
        }
     }
 #ifdef VMS
@@ -2061,7 +2073,7 @@
                    screen->internal_select = buffer;
                }
            } else {
-               _WriteSelectionData(screen, (Char *) text_list[i], len);
+               _WriteSelectionData(xw, (Char *) text_list[i], len);
            }
        }
 #if OPT_PASTE64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/charproc.c new/xterm-287/charproc.c
--- old/xterm-286/charproc.c    2012-10-29 01:50:03.000000000 +0100
+++ new/xterm-287/charproc.c    2012-11-25 20:25:10.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.1268 2012/10/29 00:50:03 tom Exp $ */
+/* $XTermId: charproc.c,v 1.1270 2012/11/25 19:25:10 Balazs.Kezes Exp $ */
 
 /*
  * Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -4257,7 +4257,7 @@
            select_timeout.tv_sec = 0;
            i = Select(max_plus1, &select_mask, &write_mask, 0,
                       &select_timeout);
-           if (i > 0)
+           if (i > 0 && FD_ISSET(screen->respond, &select_mask))
                continue;
            else
                break;
@@ -4273,7 +4273,7 @@
                select_timeout.tv_sec = 0;
                i = Select(max_plus1, &select_mask, &write_mask, 0,
                           &select_timeout);
-               if (i > 0) {
+               if (i > 0 && FD_ISSET(screen->respond, &select_mask)) {
                    sched_yield();
                } else
                    break;
@@ -8303,6 +8303,26 @@
 
     TRACE(("VTRealize\n"));
 
+#if OPT_TOOLBAR
+    /*
+     * Layout for the toolbar confuses the Shell widget.  Remind it that we
+     * would like to be iconified if the corresponding resource was set.
+     */
+    if (XtIsRealized(toplevel)) {
+       Boolean iconic = 0;
+
+       XtVaGetValues(toplevel,
+                     XtNiconic, &iconic,
+                     (XtPointer) 0);
+
+       if (iconic) {
+           XIconifyWindow(XtDisplay(toplevel),
+                          XtWindow(toplevel),
+                          DefaultScreen(XtDisplay(toplevel)));
+       }
+    }
+#endif
+
     TabReset(xw->tabs);
 
     if (screen->menu_font_number == fontMenu_default) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/ctlseqs.ms new/xterm-287/ctlseqs.ms
--- old/xterm-286/ctlseqs.ms    2012-09-26 10:51:31.000000000 +0200
+++ new/xterm-287/ctlseqs.ms    2012-11-25 17:23:14.000000000 +0100
@@ -1,6 +1,6 @@
 .\"#! troff -ms $1             -*- Nroff -*-
 .\" "Xterm Control Sequences" document
-.\" $XTermId: ctlseqs.ms,v 1.274 2012/09/26 08:51:31 tom Exp $
+.\" $XTermId: ctlseqs.ms,v 1.276 2012/11/25 16:23:14 tom Exp $
 .\"
 .\"
 .\" Copyright 1996-2011,2012 by Thomas E. Dickey
@@ -67,6 +67,11 @@
 .\"
 .\" Run this file through troff and use the -ms macro package.
 .\"
+.ds XT XTerm
+.ds xt xterm
+.ds LF Patch #287
+.ds RF 2012/11/25
+.\"
 .if n .pl 9999v                \" no page breaks in nroff
 .ND
 .\" Start a list of controls
@@ -108,7 +113,7 @@
 .B
 ..
 .ds CH \" as nothing
-.ds LH Xterm Control Sequences
+.ds LH \*(XT Control Sequences
 .nr s 6*\n(PS/10
 .ds L \s\nsBEL\s0
 .ds E \s\nsESC\s0
@@ -306,7 +311,7 @@
 .el .nr LL 72m
 .if n .na
 .TL
-Xterm Control Sequences
+\*(XT Control Sequences
 .AU
 Edward Moy
 .AI
@@ -322,6 +327,7 @@
 .AI
 XFree86 Project (1996-2006)
 invisible-island.net (2006-2012)
+updated for \*(XT \*(LF (\*(RF)
 .AU
 .
 .am BT                  \" add page numbers after first page
@@ -656,7 +662,7 @@
 \fIxterm\fP responds with
 \*(Dc\*1\*+\*r\*(Pt\*s\*(ST
 for valid requests, adding to \*(Pt an \*=,
-and the value of the corresponding string that xterm would send,
+and the value of the corresponding string that \*(xt would send,
 or
 \*(Dc\*0\*+\*r\*(Pt\*s\*(ST
 for invalid requests.
@@ -1169,7 +1175,8 @@
 Valid values for the parameter:
   \*(Ps = \*0 \(-> never hide the pointer.
   \*(Ps = \*1 \(-> hide if the mouse tracking mode is not enabled.
-  \*(Ps = \*2 \(-> always hide the pointer.
+  \*(Ps = \*2 \(-> always hide the pointer, except when leaving the window.
+  \*(Ps = \*3 \(-> always hide the pointer, even if leaving/entering the 
window.
 If no parameter is given, \fIxterm\fP uses the default,
 which is \*1.
 .
@@ -1435,7 +1442,7 @@
 Valid values for the parameter are:
   \*(Ps = \*0, 1 or omitted \(-> transmit a single DECLRP locator report.
 .sP
-If Locator Reporting has been enabled by a DECELR, xterm will respond
+If Locator Reporting has been enabled by a DECELR, \*(xt will respond
 with a DECLRP Locator Report.
 This report is also generated on button
 up and down events if they have been enabled with a DECSLE, or when
@@ -1448,7 +1455,7 @@
 .br
 Valid values for the event:
   \*(Pe = \*0 \(-> locator unavailable - no other parameters sent.
-  \*(Pe = \*1 \(-> request - xterm received a DECRQLP.
+  \*(Pe = \*1 \(-> request - \*(xt received a DECRQLP.
   \*(Pe = \*2 \(-> left button down.
   \*(Pe = \*3 \(-> left button up.
   \*(Pe = \*4 \(-> middle button down.
@@ -1467,9 +1474,9 @@
   \*(Pb & \*8 \(<- M4 button down.
 .br
 ``row'' and ``column'' parameters are the coordinates of the locator
-position in the xterm window, encoded as ASCII decimal.
+position in the \*(xt window, encoded as ASCII decimal.
 .br
-The ``page'' parameter is not used by xterm, and will be omitted.
+The ``page'' parameter is not used by \*(xt, and will be omitted.
 .
 .IP \\*(Cs\\*(Pm\\*s\\*(Sp\\*}
 Insert \*(Ps Column(s) (default = 1) (DECIC), VT420 and up.
@@ -1506,7 +1513,7 @@
 and if supported, the remainder of the 88-color or 256-color table.
 .sP
 If a "?" is given rather than a name or RGB specification,
-xterm replies with a control sequence of the same form which can be used
+\*(xt replies with a control sequence of the same form which can be used
 to set the corresponding color.
 Because more than one pair of color number and specification can
 be given in one control sequence, \fIxterm\fR can make more than one reply.
@@ -1536,7 +1543,7 @@
 The colors are specified by name or RGB specification as per \fIXParseColor\fP.
 .sP
 If a "?" is given rather than a name or RGB specification,
-xterm replies with a control sequence of the same form which can be used
+\*(xt replies with a control sequence of the same form which can be used
 to set the corresponding dynamic color.
 Because more than one pair of color number and specification can
 be given in one control sequence, \fIxterm\fR can make more than one reply.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/ctlseqs.txt new/xterm-287/ctlseqs.txt
--- old/xterm-286/ctlseqs.txt   2012-09-26 10:51:59.000000000 +0200
+++ new/xterm-287/ctlseqs.txt   2012-11-25 17:23:17.000000000 +0100
@@ -7,7 +7,7 @@
 
 
 
-                        Xterm Control Sequences
+                        XTerm Control Sequences
 
 
                                Edward Moy
@@ -21,6 +21,7 @@
                              Thomas Dickey
                       XFree86 Project (1996-2006)
                     invisible-island.net (2006-2012)
+               updated for XTerm Patch #287 (2012/11/25)
 
 
 
@@ -657,8 +658,11 @@
           Valid values for the parameter:
             Ps = 0  -> never hide the pointer.
             Ps = 1  -> hide if the mouse tracking mode is not enabled.
-            Ps = 2  -> always hide the pointer.  If no parameter is
-          given, xterm uses the default, which is 1 .
+            Ps = 2  -> always hide the pointer, except when leaving the
+          window.
+            Ps = 3  -> always hide the pointer, even if leaving/entering
+          the window.  If no parameter is given, xterm uses the default,
+          which is 1 .
 CSI ! p   Soft terminal reset (DECSTR).
 CSI Ps $ p
           Request ANSI mode (DECRQM).  For VT300 and up, reply is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/input.c new/xterm-287/input.c
--- old/xterm-286/input.c       2012-10-22 22:57:52.000000000 +0200
+++ new/xterm-287/input.c       2012-11-23 19:43:35.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: input.c,v 1.342 2012/10/22 20:57:52 tom Exp $ */
+/* $XTermId: input.c,v 1.344 2012/11/23 18:43:35 tom Exp $ */
 
 /*
  * Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -415,11 +415,7 @@
 {
     unsigned result = 0;
 #if OPT_NUM_LOCK
-    if (param > MOD_NONE
-       && ((ShiftMask
-            | ControlMask
-            | xw->work.alt_mods
-            | xw->work.meta_mods) & xw->work.other_mods) == 0) {
+    if (param > MOD_NONE) {
        if ((param - MOD_NONE) & MOD_SHIFT)
            UIntSet(result, ShiftMask);
        if ((param - MOD_NONE) & MOD_CTRL)
@@ -449,23 +445,21 @@
 
     TRACE(("xtermStateToParam %#x\n", state));
 #if OPT_NUM_LOCK
-    if ((state & xw->work.other_mods) == 0) {
-       if (state & ShiftMask) {
-           modify_parm += MOD_SHIFT;
-           UIntClr(state, ShiftMask);
-       }
-       if (state & ControlMask) {
-           modify_parm += MOD_CTRL;
-           UIntClr(state, ControlMask);
-       }
-       if ((state & xw->work.alt_mods) != 0) {
-           modify_parm += MOD_ALT;
-           UIntClr(state, xw->work.alt_mods);
-       }
-       if ((state & xw->work.meta_mods) != 0) {
-           modify_parm += MOD_META;
-           UIntClr(state, xw->work.meta_mods);
-       }
+    if (state & ShiftMask) {
+       modify_parm += MOD_SHIFT;
+       UIntClr(state, ShiftMask);
+    }
+    if (state & ControlMask) {
+       modify_parm += MOD_CTRL;
+       UIntClr(state, ControlMask);
+    }
+    if ((state & xw->work.alt_mods) != 0) {
+       modify_parm += MOD_ALT;
+       UIntClr(state, xw->work.alt_mods);
+    }
+    if ((state & xw->work.meta_mods) != 0) {
+       modify_parm += MOD_META;
+       UIntClr(state, xw->work.meta_mods);
     }
     if (modify_parm == MOD_NONE)
        modify_parm = 0;
@@ -605,11 +599,7 @@
        || IsCursorKey(kd->keysym)
        || IsPFKey(kd->keysym)
        || IsMiscFunctionKey(kd->keysym)
-       || IsPrivateKeypadKey(kd->keysym)
-#if OPT_NUM_LOCK
-       || (state & xw->work.other_mods) != 0
-#endif
-       ) {
+       || IsPrivateKeypadKey(kd->keysym)) {
        result = False;
     } else if (modify_parm != 0) {
        if (IsBackarrowToggle(keyboard, kd->keysym, state)) {
@@ -856,42 +846,27 @@
     return result;
 }
 
-void
-Input(XtermWidget xw,
-      XKeyEvent * event,
-      Bool eightbit)
+static Boolean
+lookupKeyData(KEY_DATA * kd, XtermWidget xw, XKeyEvent * event)
 {
-    Char *string;
-
-    TKeyboard *keyboard = &(xw->keyboard);
     TScreen *screen = TScreenOf(xw);
+    TKeyboard *keyboard = &(xw->keyboard);
+    Boolean result = True;
 
-    int j;
-    int key = False;
-    ANSI reply;
-    int dec_code;
-    unsigned modify_parm = 0;
-    int keypad_mode = ((keyboard->flags & MODE_DECKPAM) != 0);
-    unsigned evt_state = event->state;
-    unsigned mod_state;
-    KEY_DATA kd;
-
-    /* Ignore characters typed at the keyboard */
-    if (keyboard->flags & MODE_KAM)
-       return;
+    TRACE(("%s %#x\n", visibleEventType(event->type), event->keycode));
 
-    kd.keysym = 0;
-    kd.is_fkey = False;
+    kd->keysym = 0;
+    kd->is_fkey = False;
 #if OPT_TCAP_QUERY
     if (screen->tc_query_code >= 0) {
-       kd.keysym = (KeySym) screen->tc_query_code;
-       kd.is_fkey = screen->tc_query_fkey;
-       if (kd.keysym != XK_BackSpace) {
-           kd.nbytes = 0;
-           kd.strbuf[0] = 0;
+       kd->keysym = (KeySym) screen->tc_query_code;
+       kd->is_fkey = screen->tc_query_fkey;
+       if (kd->keysym != XK_BackSpace) {
+           kd->nbytes = 0;
+           kd->strbuf[0] = 0;
        } else {
-           kd.nbytes = 1;
-           kd.strbuf[0] = 8;
+           kd->nbytes = 1;
+           kd->strbuf[0] = 8;
        }
     } else
 #endif
@@ -902,27 +877,27 @@
            Status status_return;
 #if OPT_WIDE_CHARS
            if (screen->utf8_mode) {
-               kd.nbytes = Xutf8LookupString(input->xic, event,
-                                             kd.strbuf, (int) 
sizeof(kd.strbuf),
-                                             &kd.keysym, &status_return);
+               kd->nbytes = Xutf8LookupString(input->xic, event,
+                                              kd->strbuf, (int) 
sizeof(kd->strbuf),
+                                              &(kd->keysym), &status_return);
            } else
 #endif
            {
-               kd.nbytes = XmbLookupString(input->xic, event,
-                                           kd.strbuf, (int) sizeof(kd.strbuf),
-                                           &kd.keysym, &status_return);
+               kd->nbytes = XmbLookupString(input->xic, event,
+                                            kd->strbuf, (int) 
sizeof(kd->strbuf),
+                                            &(kd->keysym), &status_return);
            }
 #if OPT_MOD_FKEYS
            /*
             * Fill-in some code useful with IsControlAlias():
             */
            if (status_return == XLookupBoth
-               && kd.nbytes <= 1
-               && !IsPredefinedKey(kd.keysym)
+               && kd->nbytes <= 1
+               && !IsPredefinedKey(kd->keysym)
                && (keyboard->modify_now.other_keys > 1)
-               && !IsControlInput(&kd)) {
-               kd.nbytes = 1;
-               kd.strbuf[0] = (char) kd.keysym;
+               && !IsControlInput(kd)) {
+               kd->nbytes = 1;
+               kd->strbuf[0] = (char) kd->keysym;
            }
 #endif /* OPT_MOD_FKEYS */
        } else
@@ -930,11 +905,40 @@
        {
            static XComposeStatus compose_status =
            {NULL, 0};
-           kd.nbytes = XLookupString(event, kd.strbuf, (int) sizeof(kd.strbuf),
-                                     &kd.keysym, &compose_status);
+           kd->nbytes = XLookupString(event,
+                                      kd->strbuf, (int) sizeof(kd->strbuf),
+                                      &(kd->keysym), &compose_status);
        }
-       kd.is_fkey = IsFunctionKey(kd.keysym);
+       kd->is_fkey = IsFunctionKey(kd->keysym);
     }
+    return result;
+}
+
+void
+Input(XtermWidget xw,
+      XKeyEvent * event,
+      Bool eightbit)
+{
+    Char *string;
+
+    TKeyboard *keyboard = &(xw->keyboard);
+    TScreen *screen = TScreenOf(xw);
+
+    int j;
+    int key = False;
+    ANSI reply;
+    int dec_code;
+    unsigned modify_parm = 0;
+    int keypad_mode = ((keyboard->flags & MODE_DECKPAM) != 0);
+    unsigned evt_state = event->state;
+    unsigned mod_state;
+    KEY_DATA kd;
+
+    /* Ignore characters typed at the keyboard */
+    if (keyboard->flags & MODE_KAM)
+       return;
+
+    lookupKeyData(&kd, xw, event);
 
     memset(&reply, 0, sizeof(reply));
 
@@ -2075,23 +2079,6 @@
                            SaveMask(alt_mods);
                        } else if (keysym == XK_Meta_L || keysym == XK_Meta_R) {
                            SaveMask(meta_mods);
-                       } else if (mask == ShiftMask
-                                  && (keysym == XK_Shift_L
-                                      || keysym == XK_Shift_R)) {
-                           /* EMPTY */ ;
-                       } else if (mask == ControlMask
-                                  && (keysym == XK_Control_L
-                                      || keysym == XK_Control_R)) {
-                           /* EMPTY */ ;
-                       } else if (mask == LockMask
-                                  && (keysym == XK_Caps_Lock)) {
-                           /* EMPTY */ ;
-                       } else if (keysym == XK_Mode_switch
-#ifdef XK_ISO_Level3_Shift
-                                  || keysym == XK_ISO_Level3_Shift
-#endif
-                           ) {
-                           SaveMask(other_mods);
                        }
                    }
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/main.c new/xterm-287/main.c
--- old/xterm-286/main.c        2012-10-14 20:55:00.000000000 +0200
+++ new/xterm-287/main.c        2012-11-19 11:33:33.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: main.c,v 1.688 2012/10/14 18:55:00 tom Exp $ */
+/* $XTermId: main.c,v 1.689 2012/11/19 10:33:33 tom Exp $ */
 
 /*
  * Copyright 2002-2011,2012 by Thomas E. Dickey
@@ -1521,26 +1521,31 @@
 
     *valuep = 0;
     if (atbest >= 0) {
-       if (!exact && ambiguous1 >= 0 && ambiguous2 >= 0) {
-           xtermWarning(
-                           "ambiguous option \"%s\" vs \"%s\"\n",
-                           ITEM(ambiguous1)->option,
-                           ITEM(ambiguous2)->option);
-       }
        result = ITEM(atbest);
-       TRACE(("...result %s\n", result->option));
-       /* expand abbreviations */
-       if (result->argKind != XrmoptionStickyArg
-           && strcmp(argv[*num], x_strdup(result->option))) {
-           argv[*num] = x_strdup(result->option);
+       if (!exact) {
+           if (ambiguous1 >= 0 && ambiguous2 >= 0) {
+               xtermWarning("ambiguous option \"%s\" vs \"%s\"\n",
+                            ITEM(ambiguous1)->option,
+                            ITEM(ambiguous2)->option);
+           } else if (strlen(option) > strlen(result->option)) {
+               result = 0;
+           }
        }
+       if (result != 0) {
+           TRACE(("...result %s\n", result->option));
+           /* expand abbreviations */
+           if (result->argKind != XrmoptionStickyArg
+               && strcmp(argv[*num], x_strdup(result->option))) {
+               argv[*num] = x_strdup(result->option);
+           }
 
-       /* adjust (*num) to skip option value */
-       (*num) += countArg(result);
-       TRACE(("...next %s\n", NonNull(argv[*num])));
-       if (result->argKind == XrmoptionSkipArg) {
-           *valuep = argv[*num];
-           TRACE(("...parameter %s\n", NonNull(*valuep)));
+           /* adjust (*num) to skip option value */
+           (*num) += countArg(result);
+           TRACE(("...next %s\n", NonNull(argv[*num])));
+           if (result->argKind == XrmoptionSkipArg) {
+               *valuep = argv[*num];
+               TRACE(("...parameter %s\n", NonNull(*valuep)));
+           }
        }
     }
 #undef ITEM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/misc.c new/xterm-287/misc.c
--- old/xterm-286/misc.c        2012-10-29 00:09:35.000000000 +0100
+++ new/xterm-287/misc.c        2012-11-25 17:05:51.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: misc.c,v 1.627 2012/10/28 23:09:35 tom Exp $ */
+/* $XTermId: misc.c,v 1.631 2012/11/25 16:05:51 tom Exp $ */
 
 /*
  * Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -204,7 +204,7 @@
 
     TRACE(("unselectwindow(%d) flag=%d\n", screen->select, flag));
 
-    if (screen->hide_pointer) {
+    if (screen->hide_pointer && screen->pointer_mode < pFocused) {
        screen->hide_pointer = False;
        xtermDisplayCursor(xw);
     }
@@ -344,6 +344,7 @@
                enable = True;
            break;
        case pAlways:
+       case pFocused:
            break;
        }
     }
@@ -618,20 +619,28 @@
         * mouse pointer back on.
         */
        if (screen->hide_pointer) {
-           switch (event.xany.type) {
-           case KeyPress:
-           case KeyRelease:
-           case ButtonPress:
-           case ButtonRelease:
-               /* also these... */
-           case Expose:
-           case NoExpose:
-           case PropertyNotify:
-           case ClientMessage:
-               break;
-           default:
-               xtermShowPointer(xw, True);
-               break;
+           if (screen->pointer_mode >= pFocused) {
+               switch (event.xany.type) {
+               case MotionNotify:
+                   xtermShowPointer(xw, True);
+                   break;
+               }
+           } else {
+               switch (event.xany.type) {
+               case KeyPress:
+               case KeyRelease:
+               case ButtonPress:
+               case ButtonRelease:
+                   /* also these... */
+               case Expose:
+               case NoExpose:
+               case PropertyNotify:
+               case ClientMessage:
+                   break;
+               default:
+                   xtermShowPointer(xw, True);
+                   break;
+               }
            }
        }
 
@@ -915,15 +924,22 @@
     XtermWidget xw = term;
     TScreen *screen = TScreenOf(xw);
 
-    TRACE(("HandleFocusChange type=%s, mode=%d, detail=%d\n",
+    TRACE(("HandleFocusChange type=%s, mode=%s, detail=%s\n",
           visibleEventType(event->type),
-          event->mode,
-          event->detail));
+          visibleNotifyMode(event->mode),
+          visibleNotifyDetail(event->detail)));
     TRACE_FOCUS(xw, event);
 
     if (screen->quiet_grab
        && (event->mode == NotifyGrab || event->mode == NotifyUngrab)) {
        /* EMPTY */ ;
+    } else if ((event->type == FocusIn || event->type == FocusOut)
+              && event->detail == NotifyPointer) {
+       /*
+        * NotifyPointer is sent to the window where the pointer is, and is
+        * in addition to events sent to the old/new focus-windows.
+        */
+       /* EMPTY */ ;
     } else if (event->type == FocusIn) {
        setXUrgency(xw, False);
 
@@ -4369,6 +4385,26 @@
     return result;
 }
 #endif /* OPT_BUILTIN_XPMS */
+
+typedef enum {
+    eHintDefault = 0           /* use the largest builtin-icon */
+    ,eHintNone
+    ,eHintSearch
+} ICON_HINT;
+
+static ICON_HINT
+which_icon_hint(void)
+{
+    ICON_HINT result = eHintDefault;
+    if (!IsEmpty(resource.icon_hint)) {
+       if (!x_strcasecmp(resource.icon_hint, "none")) {
+           result = eHintNone;
+       } else {
+           result = eHintSearch;
+       }
+    }
+    return result;
+}
 #endif /* HAVE_LIBXPM */
 
 int
@@ -4403,6 +4439,7 @@
     Pixmap myIcon = 0;
     Pixmap myMask = 0;
     char *workname = 0;
+    ICON_HINT hint = which_icon_hint();
 #if OPT_BUILTIN_XPMS
 #include <icons/mini.xterm.xpms>
 #include <icons/filled-xterm.xpms>
@@ -4414,7 +4451,7 @@
 
     TRACE(("xtermLoadIcon %p:%s\n", (void *) xw, NonNull(resource.icon_hint)));
 
-    if (!IsEmpty(resource.icon_hint)) {
+    if (hint == eHintSearch) {
        int state = 0;
        while (x_find_icon(&workname, &state, ".xpm") != 0) {
            Pixmap resIcon = 0;
@@ -4442,7 +4479,7 @@
      * If no external file was found, look for the name in the built-in table.
      * If that fails, just use the biggest mini-icon.
      */
-    if (myIcon == 0) {
+    if (myIcon == 0 && hint != eHintNone) {
        char **data;
 #if OPT_BUILTIN_XPMS
        const XPM_DATA *myData = 0;
@@ -4474,7 +4511,7 @@
            hints = XAllocWMHints();
 
        if (hints) {
-           hints->flags = IconPixmapHint;
+           hints->flags |= IconPixmapHint;
            hints->icon_pixmap = myIcon;
            if (myMask) {
                hints->flags |= IconMaskHint;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/package/debian/changelog 
new/xterm-287/package/debian/changelog
--- old/xterm-286/package/debian/changelog      2012-10-25 12:56:37.000000000 
+0200
+++ new/xterm-287/package/debian/changelog      2012-11-19 11:36:06.000000000 
+0100
@@ -1,3 +1,10 @@
+xterm-dev (287) unstable; urgency=low
+
+  * Miscellaneous fixes.
+  * Redhat #874327, #875305.
+
+ -- Thomas E. Dickey <dic...@invisible-island.net>  Mon, 19 Nov 2012 04:53:39 
-0500
+
 xterm-dev (286) unstable; urgency=low
 
   * Redhat #869959
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/package/xterm.spec 
new/xterm-287/package/xterm.spec
--- old/xterm-286/package/xterm.spec    2012-10-25 12:55:22.000000000 +0200
+++ new/xterm-287/package/xterm.spec    2012-11-19 10:53:15.000000000 +0100
@@ -1,7 +1,7 @@
-# $XTermId: xterm.spec,v 1.39 2012/10/25 10:55:22 tom Exp $
+# $XTermId: xterm.spec,v 1.40 2012/11/19 09:53:15 tom Exp $
 Summary: X terminal emulator (development version)
 Name: xterm-dev
-Version: 286
+Version: 287
 Release: 1
 License: X11
 Group: User Interface/X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/ptyx.h new/xterm-287/ptyx.h
--- old/xterm-286/ptyx.h        2012-10-29 01:48:16.000000000 +0100
+++ new/xterm-287/ptyx.h        2012-11-25 17:05:51.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: ptyx.h,v 1.757 2012/10/29 00:48:16 tom Exp $ */
+/* $XTermId: ptyx.h,v 1.759 2012/11/25 16:05:51 tom Exp $ */
 
 /*
  * Copyright 1999-2011,2012 by Thomas E. Dickey
@@ -2227,9 +2227,10 @@
 } xtermKeyboardType;
 
 typedef enum {                 /* legal values for screen.pointer_mode */
-    pNever = 0,
-    pNoMouse = 1,
-    pAlways = 2
+    pNever = 0
+    , pNoMouse = 1
+    , pAlways = 2
+    , pFocused = 3
 } pointerModeTypes;
 
 typedef enum {                 /* legal values for screen.utf8_mode */
@@ -2421,7 +2422,6 @@
     unsigned num_lock;         /* modifier for Num_Lock */
     unsigned alt_mods;         /* modifier for Alt_L or Alt_R */
     unsigned meta_mods;                /* modifier for Meta_L or Meta_R */
-    unsigned other_mods;       /* conflicting modifiers, e.g., Mode_Switch */
 #endif
 #if OPT_RENDERFONT
     Boolean render_font;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/trace.c new/xterm-287/trace.c
--- old/xterm-286/trace.c       2012-10-14 20:54:05.000000000 +0200
+++ new/xterm-287/trace.c       2012-11-22 21:19:54.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: trace.c,v 1.141 2012/10/14 18:54:05 tom Exp $ */
+/* $XTermId: trace.c,v 1.142 2012/11/22 20:19:54 tom Exp $ */
 
 /*
  * Copyright 1997-2011,2012 by Thomas E. Dickey
@@ -375,6 +375,19 @@
 }
 
 const char *
+visibleNotifyMode(int code)
+{
+    const char *result = "?";
+    switch (code) {
+       CASETYPE(NotifyNormal);
+       CASETYPE(NotifyGrab);
+       CASETYPE(NotifyUngrab);
+       CASETYPE(NotifyWhileGrabbed);
+    }
+    return result;
+}
+
+const char *
 visibleNotifyDetail(int code)
 {
     const char *result = "?";
@@ -585,7 +598,7 @@
        {
            XFocusChangeEvent *event = (XFocusChangeEvent *) ev;
            TRACE(("\tdetail: %s\n", visibleNotifyDetail(event->detail)));
-           TRACE(("\tmode:   %d\n", event->mode));
+           TRACE(("\tmode:   %s\n", visibleNotifyMode(event->mode)));
            TRACE(("\twindow: %#lx\n", event->window));
        }
        break;
@@ -594,7 +607,7 @@
        {
            XCrossingEvent *event = (XCrossingEvent *) ev;
            TRACE(("\tdetail:    %s\n", visibleNotifyDetail(event->detail)));
-           TRACE(("\tmode:      %d\n", event->mode));
+           TRACE(("\tmode:      %s\n", visibleNotifyMode(event->mode)));
            TRACE(("\twindow:    %#lx\n", event->window));
            TRACE(("\tfocus:     %d\n", event->focus));
            TRACE(("\troot:      %#lx\n", event->root));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/trace.h new/xterm-287/trace.h
--- old/xterm-286/trace.h       2012-06-10 18:53:59.000000000 +0200
+++ new/xterm-287/trace.h       2012-11-22 21:22:15.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: trace.h,v 1.66 2012/06/10 16:53:59 tom Exp $ */
+/* $XTermId: trace.h,v 1.67 2012/11/22 20:22:15 tom Exp $ */
 
 /*
  * Copyright 1997-2011,2012 by Thomas E. Dickey
@@ -61,6 +61,7 @@
 extern const char * visibleChrsetName(unsigned /* chrset */);
 extern const char * visibleEventType (int);
 extern const char * visibleNotifyDetail(int /* code */);
+extern const char * visibleNotifyMode (int /* code */);
 extern const char * visibleSelectionTarget(Display * /* d */, Atom /* a */);
 extern const char * visibleXError (int /* code */);
 
@@ -168,4 +169,4 @@
 
 /* *INDENT-ON* */
 
-#endif /* included_trace_h */
+#endif /* included_trace_h */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/version.h new/xterm-287/version.h
--- old/xterm-286/version.h     2012-10-30 00:24:31.000000000 +0100
+++ new/xterm-287/version.h     2012-11-26 02:07:33.000000000 +0100
@@ -1,4 +1,4 @@
-/* $XTermId: version.h,v 1.350 2012/10/29 23:24:31 tom Exp $ */
+/* $XTermId: version.h,v 1.352 2012/11/26 01:07:33 tom Exp $ */
 
 /*
  * Copyright 1998-2011,2012 by Thomas E. Dickey
@@ -36,8 +36,8 @@
  * version of X to which this version of xterm has been built.  The number in
  * parentheses is my patch number (Thomas E. Dickey).
  */
-#define XTERM_PATCH   286
-#define XTERM_DATE    2012-10-29
+#define XTERM_PATCH   287
+#define XTERM_DATE    2012-11-25
 
 #ifndef __vendorversion__
 #define __vendorversion__ "XTerm"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/xterm.log.html new/xterm-287/xterm.log.html
--- old/xterm-286/xterm.log.html        2012-10-30 00:24:00.000000000 +0100
+++ new/xterm-287/xterm.log.html        2012-11-26 01:52:40.000000000 +0100
@@ -31,7 +31,7 @@
  * sale, use or other dealings in this Software without prior written        *
  * authorization.                                                            *
  *****************************************************************************
-  $XTermId: xterm.log.html,v 1.1265 2012/10/29 23:24:00 tom Exp $
+  $XTermId: xterm.log.html,v 1.1282 2012/11/26 00:52:40 tom Exp $
   -->
 
 <html>
@@ -70,6 +70,8 @@
   the latest version of this file.</p>
 
   <ul>
+    <li><a href="#xterm_287">Patch #287 - 2012/11/25</a></li>
+
     <li><a href="#xterm_286">Patch #286 - 2012/10/29</a></li>
 
     <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li>
@@ -855,6 +857,65 @@
     <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
   </ul>
 
+  <h1><a name="xterm_287" id="xterm_287">Patch #287 -
+  2012/11/25</a></h1>
+
+  <ul>
+    <li>fix a case where in_put() loop could continue when it has
+    found an X event rather than the pty, causing the pty-read to
+    be delayed (patch by Balazs Kezes).</li>
+
+    <li>add option to <code>pointerMode</code> resource and
+    corresponding control sequences to allow text-cursor to remain
+    hidden if the pointer leaves/enters the window via accelerator
+    keys. Ordinary motion within the window restores the pointer
+    (prompted by patch by Balazs Kezes).</li>
+
+    <li>remove special case of modifiers for the
+    <code>Mode_switch</code> and <code>XK_ISO_Level3_Shift</code>
+    from <a href="#xterm_223">patch #223</a>. Verified that the
+    conflict which this was intended to resolve does not happen for
+    normal compose- or modeswitch-handling (prompted by patch by
+    Balazs Kezes, Debian #638694).</li>
+
+    <li>modify the handling of focus-change events to ignore those
+    whose detail is <code>NotifyPointer</code>, since those are
+    sent in addition to focus-change events directed to the old/new
+    windows having focus (prompted by patch by Balazs Kezes to
+    prevent the urgency-hint from being reset in this
+    scenario).</li>
+
+    <li>modify description of <code>iconName</code> in manpage to
+    make it clearer that this resource does not specify the
+    filename of an icon (discussion with Ian Collier).</li>
+
+    <li>modify <code>iconHint</code> resource to allow suppressing
+    the built-in icon by setting this to "none" (discussion with
+    Ian Collier).</li>
+
+    <li>make <code>-iconic</code> option work with the toolbar
+    configuration.</li>
+
+    <li>correct initialization of window manager hints used to set
+    the icon-pixmap. That detail from <a href="#xterm_282">patch
+    #282</a> overwrote state used to control the
+    <code>-iconic</code> command-line option (report by Ian
+    Collier).</li>
+
+    <li>fix paste64 feature for the case where the selection comes
+    from the current terminal. The selection callback can happen
+    after the reply is partly built, making it necessary to flush
+    the reply-buffer to keep things in the proper order (report by
+    Ailin Nemui).</li>
+
+    <li>reject command-line options which are longer than the
+    options in xterm's table, to avoid mismatches (Redhat
+    #875305).</li>
+
+    <li>correct attribution for <a href="#xterm_282">patch #282</a>
+    changes.</li>
+  </ul>
+
   <h1><a name="xterm_286" id="xterm_286">Patch #286 -
   2012/10/29</a></h1>
 
@@ -1003,11 +1064,11 @@
 
     <li>add feature to optionally scroll current page before
     clearing, controlled by resource setting
-    <code>cdXtraScroll</code> (prompted by patch by Richard
-    Wagenblast):</li>
+    <code>cdXtraScroll</code> (prompted by patch by Balazs
+    Kezes):</li>
 
     <li>integrated patches from Arch Linux forum posting (patches
-    by Richard Wagenblast):
+    by Balazs Kezes):
 
       <ul>
         <li>modify reallocation limit of line-data when resizing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xterm-286/xterm.man new/xterm-287/xterm.man
--- old/xterm-286/xterm.man     2012-10-26 01:25:26.000000000 +0200
+++ new/xterm-287/xterm.man     2012-11-22 19:42:30.000000000 +0100
@@ -1,5 +1,5 @@
 '\" t
-.\" $XTermId: xterm.man,v 1.550 2012/10/25 23:25:26 tom Exp $
+.\" $XTermId: xterm.man,v 1.554 2012/11/22 18:42:30 tom Exp $
 .\"
 .\" Copyright 1996-2011,2012 by Thomas E. Dickey
 .\"
@@ -74,7 +74,6 @@
 .de NE
 .fi
 .ft P
-.sp
 .in -4
 ..
 .\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -260,6 +259,7 @@
 .NS
 \fB\*n \-z\fP
 .NE
+.PP
 If the logic for a particular option such as logging is not compiled
 into \fI\*n\fP, the help text for that option also is not displayed
 by the \fB\-help\fP option.
@@ -609,7 +609,7 @@
 octal or decimal according to whether it begins with "0x", "0" or neither),
 \fI\*n\fP will reparent its top-level shell widget to that window.
 This is used to embed \fI\*n\fP within other applications.
-.PP
+.IP
 For instance, there are scripts for Tcl/Tk and Gtk which can be used
 to demonstrate the feature.
 When using Gtk, there is a limitation of that toolkit which requires
@@ -734,6 +734,7 @@
 .NS 15
 \*n \-e /bin/bash \-l \-c "my command here"
 .NE
+.IP
 Finally, \fB\-ls\fP is not completely ignored,
 because \fI\*n\ \-ls\ \-e\fP does write a \fI/etc/wtmp\fP entry
 (if configured to do so),
@@ -1115,11 +1116,13 @@
 -S123/45
 -Sab34
 .NE
+.IP
 Note that \fI\*n\fP does not close any file descriptor
 which it did not open for its own use.
 It is possible (though probably not portable) to have an application
 which passes an open file descriptor down to \fI\*n\fP past the
 initialization or the \fB\-S\fP option to a process running in the \fI\*n\fP.
+.SS OLD OPTIONS
 .PP
 The following command line arguments are provided for compatibility with
 older versions.
@@ -1156,6 +1159,7 @@
 This option specifies the width in pixels of the border surrounding the window.
 It is equivalent to \fB\-borderwidth\fP or \fB\-bw\fP.
 .
+.SS X TOOLKIT OPTIONS
 .PP
 The following standard X Toolkit command line arguments are commonly used
 with \fI\*n\fP:
@@ -1295,6 +1299,9 @@
 Specifies a icon which will be added to the window manager hints.
 \fI\*n\fP provides no default value.
 .IP
+Set this resource to \*(``none\*('' to omit the hint entirely,
+using whatever the window manager may decide.
+.IP
 If the \fBiconHint\fP resource is given (or is set via the \fB\-n\fP option)
 \fI\*n\fP searches for a pixmap file with that name,
 in the current directory as well as in __pixmapsdir__.
@@ -1329,7 +1336,7 @@
 largest of the pixmaps as a default.
 That is, \*(``mini.\*n\*('' is the same as \*(``mini.\*n_48x48\*(''.
 .IP
-If no \fBiconHint\fP resource is given
+If no explicit \fBiconHint\fP resource is given
 (or if none of the compiled-in names matches),
 \*n uses \*(``mini.\*n\*('' (which is always compiled-in).
 .IP
@@ -1340,13 +1347,13 @@
 The more capable desktop systems allow changing the icon on a per-user basis.
 .TP 8
 .B "iconName (\fPclass\fB IconName)"
-Specifies the icon name.
+Specifies a label for \fI\*n\fP when iconified.
 \fI\*n\fP provides no default value;
 some window managers may assume the application name, e.g., \*(``\*n\*(''.
 .IP
-Setting the \fBiconName\fP resource sets the window title
+Setting the \fBiconName\fP resource sets the icon label
 unless overridden by \fBzIconBeep\fP
-or the control sequences which change the window title.
+or the control sequences which change the window and icon labels.
 .TP 8
 .B "keyboardType (\fPclass\fB KeyboardType)"
 Enables one (or none) of the various keyboard-type resources:
@@ -1390,7 +1397,7 @@
 See
 .BR mesg (1).
 The default is \*(``true\*(''.
-.TP 9
+.TP 8
 .B "menuLocale (\fPclass\fB MenuLocale)"
 Specify the locale used for character-set computations when loading
 the popup menus.
@@ -1678,6 +1685,7 @@
 support active icons,
 but do not support the extensions which allow \fI\*n\fP
 to identify the window manager.
+.RE
 .TP 8
 .B "allowBoldFonts (\fPclass\fB AllowBoldFonts)"
 When set to \*(``false\*('', \fI\*n\fP will not use bold fonts.
@@ -1970,10 +1978,12 @@
 .NS
 FontPath       "/usr/lib/X11/fonts/misc/"
 .NE
+.IP
 would become
 .NS
 FontPath       "/usr/lib/X11/fonts/misc/:unscaled"
 .NE
+.IP
 Depending on your configuration, the font server may have its own configuration
 file.
 The same \*(``:unscaled\*('' can be added to its configuration file at the
@@ -2617,6 +2627,7 @@
 \&FONT=`xfontsel -print`
 \&test -n "$FONT" && xfd -fn "$FONT"
 .NE
+.IP
 However (even though \fIxfd\fP accepts a \*(``\fB\-fa\fP\*('' option
 to denote FreeType fonts),
 \fIxfontsel\fP has not been similarly extended.
@@ -2624,6 +2635,7 @@
 .NS
 fc-list :scalable=true:spacing=mono: family
 .NE
+.IP
 to find a list of scalable fixed-pitch fonts
 which may be used for the \fBfaceName\fP resource value.
 .TP 8
@@ -2695,14 +2707,17 @@
 .NS
 *font: fixed
 .NE
+.IP
 which are overly broad, affecting both
 .NS
 xterm.vt100.font
 .NE
+.IP
 and
 .NS
 xterm.vt100.utf8Fonts.font
 .NE
+.IP
 which is probably not what you intended.
 .TP 8
 .B "fastScroll (\fPclass\fB FastScroll)"
@@ -3054,6 +3069,7 @@
 .NS
 *localeFilter: xterm-filter -p
 .NE
+.IP
 Alternatively,
 you may put those parameter within a shell script to execute the converter,
 and set this resource to point to the shell script.
@@ -4322,7 +4338,6 @@
 The selected text is highlighted and is saved in the global cut buffer
 and made the PRIMARY selection when the button is released.
 Normally (but see the discussion of \fBon2Clicks\fP, etc):
-.RS
 .bP
 Double-clicking selects by words.
 .bP
@@ -4330,7 +4345,6 @@
 selects by lines.
 .bP
 Quadruple-clicking goes back to characters, etc.
-.RE
 .PP
 Multiple-click is determined by the time from button up to
 button down, so you can change the selection unit in the middle of a selection.
@@ -5046,6 +5060,7 @@
 u\*n -class __default_class__
 .NE
 .RE
+.IP
 The fourth section allows you to enable or disable special operations
 which can be controlled by writing escape sequences to the terminal.
 These are disabled if the SendEvents feature is enabled:
@@ -5290,6 +5305,7 @@
 /\(**  o/   u`   u\*(AQ   u^   u:   y\*(AQ    P   y: */
     48,  48,  48,  48,  48,  48,  48,  48};
 .NE
+.IP
 For example, the string \*(``33:48,37:48,45\-47:48,38:48\*('' indicates that 
the
 exclamation mark, percent sign, dash, period, slash, and ampersand characters
 should be treated the same way as characters and numbers.
@@ -5297,13 +5313,15 @@
 for cutting and pasting electronic mailing addresses and filenames.
 .
 .
-.SH ACTIONS
+.SH KEY BINDINGS
+.PP
 It is possible to rebind keys (or sequences of keys) to arbitrary strings
 for input, by changing the \fBtranslations\fP resources
 for the vt100 or tek4014 widgets.
 Changing the \fBtranslations\fP resource
 for events other than key and button events is not expected,
 and will cause unpredictable behavior.
+.SS ACTIONS
 The following
 actions are provided for use within the \fIvt100\fP or \fItek4014\fP
 \fBtranslations\fP resources:
@@ -6013,6 +6031,7 @@
 .B "gin-press(\fIl/L/m/M/r/R\fP)"
 This action sends the indicated graphics input code.
 .
+.SS DEFAULT KEY BINDINGS
 .PP
 The default bindings in the VT102 window use the SELECT token,
 which is set by the \fBselectToClipboard\fP resource:
@@ -6062,6 +6081,7 @@
                          <BtnUp>:select-end(SELECT, CUT_BUFFER0) \\n\\\&
                        <BtnDown>:ignore()
 .NE
+.PP
 The default bindings for the scrollbar widget
 are separate from the VT100 widget:
 .NS
@@ -6074,6 +6094,7 @@
                       <Btn2Motion>: MoveThumb() NotifyThumb() \\n\\\&
                       <BtnUp>:    NotifyScroll(Proportional) EndScroll()
 .NE
+.PP
 The default bindings in the Tektronix window are:
 .NS
 .ta 2.5i
@@ -6094,6 +6115,7 @@
            Shift ~Meta<Btn3Down>: gin-press(R) \\n\\\&
                  ~Meta<Btn3Down>: gin-press(r)
 .NE
+.PP
 Here is an example which uses shifted select/paste to copy to the clipboard,
 and unshifted select/paste for the primary selection.
 In each case, a (different) cut buffer is
@@ -6112,6 +6134,7 @@
     ~Shift<BtnUp>:       select-end(PRIMARY, CUT_BUFFER0) \\n\\\&
     Shift<BtnUp>:        select-end(CLIPBOARD, CUT_BUFFER1)
 .NE
+.PP
 Below is a sample of how the \fBkeymap()\fP action is used to add special
 keys for entering commonly-typed works:
 .NS
@@ -6124,6 +6147,7 @@
        <Key>F19:       string("continue") string(0x0d) \\n\\\&
        <Key>F20:       string("print ") insert-selection(PRIMARY, CUT_BUFFER0)
 .NE
+.PP
 Some people prefer using the left pointer button
 for dragging the scrollbar thumb.
 That can be setup by altering the translations resource, e.g.,

++++++ xterm.keyring ++++++
pub   1024D/F7E48EDB 2004-01-05
uid                  Thomas Dickey <dic...@invisible-island.net>
sub   1024g/E4374AE1 2004-01-05

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)

mQGiBD/4r7IRBADFuacEqf9fye+NQSm7xjNP705aq75VrUd2hJyPmSiFUIyQEfc4
4GQXGdFg+/Apq4iq/50/8pR8YXOKwP5OE69emEp7IxjST41orGUk5ZwcnlSkaruN
WLTe/lN3e0oOIVbYig1lUbU5IxZu03KfNg2DZ9JiZdNBlzlqx1+oFlWFLwCg3awg
EfOUfbe4kVxNrsnxaCJYJ38EAMRVyUOfhkm9l0YuiC4ebOHrdmn9jFVW+XZPZDeb
8DcyTBNrgvVTnEmrNzVJgOyZIW+uraBVitak+No1kwXvC/i0kZEzYqfG87EdJSfe
OV7axIRisiTrcbZdRJ3CBDtGvLqJ9OuGFHPQmntnZfhiwJTR79hepndEQYyV5eQb
oQ+aA/0bI+/odyRDefc9HF1EhOcz8E76QP+VlvUfIDUJrmwv/3gLZ968HACOe0DE
+bcUockLJxoNwQFwCQPjm5S2+Ba2uY4hRhOA+MResZWlPouoosay2ADfiU7pdBCx
nbcLAuezgnZg4jcXvLl1QiAihxaEI2jqgZBnnierWzqRzRZM4LQrVGhvbWFzIERp
Y2tleSA8ZGlja2V5QGludmlzaWJsZS1pc2xhbmQubmV0PoheBBMRAgAeBQI/+K+y
AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEHAjU+D35I7bejEAnRYLqlswwk+F
+pWcppXLnsskhTfSAKCrg23hTwzaaW9mlbmDavid+QQu3bkBDQQ/+K+0EAQAjTl1
EeUt5EUq8tiGBq+KtFo3TxIdJKBtVFQ4btETdF23dkZ1o1642GmF7JJgn6PKUcJD
UlHhUO4IEcpHABAiU4HweoWh8yT/yaA9AXqRKcJpMQ5bEGoooHBIg0Uh8ahG6Q1c
HzgsGOaOK9YzFSvSIRXryMlrh1oITzvwEkXRfOcAAwcD/iRaNtGYaS05FwaaVvm0
Eexhhw2JzSaRP6PY3r/BGmgPVG9Uk9huk+Yk/pdW9Pa3KRj37ANK2svfwHx9A077
Ma9GoupZ/rjP01WO0ur8tzC7KsqCep9m33K9kdAeJZ0Ud+AwsnAEy/Q1XZin/jUU
5L1lzko010LXY9CqdrmCXhaqiEkEGBECAAkFAj/4r7QCGwwACgkQcCNT4Pfkjtuu
ngCg2es41JEYaarCcT+gFpyM0WCqAU8An3L0pkO4wtZ8SejpHa7WSR9M54xd
=VWbi
-----END PGP PUBLIC KEY BLOCK-----
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to