[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#880551: xterm: corrections to man page



Package: xterm
Version: 327-2 (but I prepared the diff against xterm-330)
Severity: normal
Tags: upstream

Hi Thomas,

Here's a patch for various markup bugs and inconsistencies in the xterm
man page.

01. The local macro definitions for bP and NS were testing the values of
    registers which were likely to be undefined; e.g.
      "./xterm-330/xterm.man:64: warning: number register `.I' not defined"
    Make them test instead simply for "n" (nroff mode, as opposed to
    troff mode), since that appears to be the intention.

02. Use the \(ha, \(ga, and \(ti character escapes instead of ^`~
    literals, since these produce full-sized spacing glyphs instead of
    small ones intended as combining characters on troff output devices.

03. Use \- character escape in (especially in examples) when an ASCII
    "hyphen-minus" is intended; ensures that the correct glyph can be
    cut and pasted from the man page both from TTY and PDF output
    devices.

04. Apply font markup to "Control characters may be specified as ^char
    (e.g., ^c or ^u)", consistently with the ensuing discussion.

05. Minor style fix: "the feature is built in" vs. "the program's
    built-in features".

06. Remove no-op zero-width space character escapes from the xfontsel
    example.

07. Add linebreaks after sentences that had only one space between them
    and the succeeding sentence, so the roff system recognizes them as
    separate sentences and pads ("adjusts") the line appropriately.

08. Remove trailing whitespace from the ends of input lines.

09. Convert several uses of bare `` and '' to use the page's local
    string defines, for consistency with the rest of the page.

10. Remove boldfacing from portions of code examples; these escapes
    changed the font family back to Times from Courier.  If this change
    is unacceptable, I can come up with one that will stay within the
    Courier family, but it will only work for groff.  I don't know of
    a portable way to do what I think is desired here.

11. Remove trailing "\n\" from the BtnUp select-end example; it didn't
    seem necessary and the \<newline> was syntactically meaningful to
    roff so it didn't get rendered as expected and caused a warning:
      "./xterm-330/xterm.man:5033: warning: number register `.' not defined"
    It also turned off fill mode outside of the examples for a few
    paragraphs, making the output ugly.

12. "etc" is an abbreviation that gets a period.

13. Join two really short input lines about triple-clicking.

14. Use the local AQ string definition instead of bare 's in printf
    examples, for correct appearance and more successful cut and
    pasting.

15. In the big default charClass table, use a dingbat asterisk at the
    end of the C comment for symmetry with the beginning, which already
    uses one.

16. Rewrite the upper half of the charClass table so it depicts the
    actual (printable) glyphs in \x80-\xff.  What was there was largely
    incomprehensible to me.

17. Use character escape '\e' instead of '\\' in resource translation
    examples.  '\\' does not render as desired and makes the examples
    wrong.  (\(rs would be more strictly correct than \e, but is a
    groffism; \e is not an invariant glyph reference but instead means
    "whatever the current roff escape character is"; fortunately, most
    man pages do not change the escape character.  Traditional roff does
    not have a character escape for the "reverse solidus".)

18. The translation examples also don't need zero-width spaces (\&) at
    the ends of the input lines; this is a no-op.  Remove them.

19. Unindent the examples for the VT100 and Tektronix default
    translations by one space since some of the lines are very wide.
    One space was all the room available given the existing alignment.
    If desired, I can prepare a patch to step the font size down by
    a point or two, though this will not help TTY-like devices.

20. Fix missing word: "you could add a binding [to] shifted keys".

-- System Information:
Debian Release: 9.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=C (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages xterm depends on:
ii  libc6           2.24-11+deb9u1
ii  libfontconfig1  2.11.0-6.7+b1
ii  libice6         2:1.0.9-2
ii  libtinfo5       6.0+20161126-1+deb9u1
ii  libutempter0    1.1.6-3
ii  libx11-6        2:1.6.4-3
ii  libxaw7         2:1.0.13-1+b2
ii  libxft2         2.3.2-1+b2
ii  libxinerama1    2:1.1.3-1+b3
ii  libxmu6         2:1.1.2-2
ii  libxpm4         1:3.5.12-1
ii  libxt6          1:1.1.5-1
ii  xbitmaps        1.1.1-2

Versions of packages xterm recommends:
ii  x11-utils  7.7+3+b1

Versions of packages xterm suggests:
pn  xfonts-cyrillic  <none>

-- no debconf information

-- 
Regards,
Branden
Fix various markup bugs and inconsistencies.

01. The local macro definitions for bP and NS were testing the values of
    registers which were likely to be undefined; e.g.
      "./xterm-330/xterm.man:64: warning: number register `.I' not defined"
    Make them test instead simply for "n" (nroff mode, as opposed to
    troff mode), since that appears to be the intention.

02. Use the \(ha, \(ga, and \(ti character escapes instead of ^`~
    literals, since these produce full-sized spacing glyphs instead of
    small ones intended as combining characters on troff output devices.

03. Use \- character escape in (especially in examples) when an ASCII
    "hyphen-minus" is intended; ensures that the correct glyph can be
    cut and pasted from the man page both from TTY and PDF output
    devices.

04. Apply font markup to "Control characters may be specified as ^char
    (e.g., ^c or ^u)", consistently with the ensuing discussion.

05. Minor style fix: "the feature is built in" vs. "the program's
    built-in features".

06. Remove no-op zero-width space character escapes from the xfontsel
    example.

07. Add linebreaks after sentences that had only one space between them
    and the succeeding sentence, so the roff system recognizes them as
    separate sentences and pads ("adjusts") the line appropriately.

08. Remove trailing whitespace from the ends of input lines.

09. Convert several uses of bare `` and '' to use the page's local
    string defines, for consistency with the rest of the page.

10. Remove boldfacing from portions of code examples; these escapes
    changed the font family back to Times from Courier.  If this change
    is unacceptable, I can come up with one that will stay within the
    Courier family, but it will only work for groff.  I don't know of
    a portable way to do what I think is desired here.

11. Remove trailing "\n\" from the BtnUp select-end example; it didn't
    seem necessary and the \<newline> was syntactically meaningful to
    roff so it didn't get rendered as expected and caused a warning:
      "./xterm-330/xterm.man:5033: warning: number register `.' not defined"
    It also turned off fill mode outside of the examples for a few
    paragraphs, making the output ugly.

12. "etc" is an abbreviation that gets a period.

13. Join two really short input lines about triple-clicking.

14. Use the local AQ string definition instead of bare 's in printf
    examples, for correct appearance and more successful cut and
    pasting.

15. In the big default charClass table, use a dingbat asterisk at the
    end of the C comment for symmetry with the beginning, which already
    uses one.

16. Rewrite the upper half of the charClass table so it depicts the
    actual (printable) glyphs in \x80-\xff.  What was there was largely
    incomprehensible to me.

17. Use character escape '\e' instead of '\\' in resource translation
    examples.  '\\' does not render as desired and makes the examples
    wrong.  (\(rs would be more strictly correct than \e, but is a
    groffism; \e is not an invariant glyph reference but instead means
    "whatever the current roff escape character is"; fortunately, most
    man pages do not change the escape character.  Traditional roff does
    not have a character escape for the "reverse solidus".)

18. The translation examples also don't need zero-width spaces (\&) at
    the ends of the input lines; this is a no-op.  Remove them.

19. Unindent the examples for the VT100 and Tektronix default
    translations by one space since some of the lines are very wide.
    One space was all the room available given the existing alignment.
    If desired, I can prepare a patch to step the font size down by
    a point or two, though this will not help TTY-like devices.

20. Fix missing word: "you could add a binding [to] shifted keys".

diff -urN xterm-330/xterm.man xterm-330-branden/xterm.man
--- xterm-330/xterm.man	2017-06-18 14:07:02.000000000 -0400
+++ xterm-330-branden/xterm.man	2017-11-02 01:38:47.666040609 -0400
@@ -61,16 +61,16 @@
 .\"
 .\" Bulleted paragraph
 .de bP
-.ie \n(.IP \(bu 4
-.el    .IP \(bu 2
+.ie n .IP \(bu 4
+.el   .IP \(bu 2
 ..
 .\" these would be fallbacks for DS/DE,
 .\" but groff changed the meaning of the macros.
 .de NS
-.ie \n(.sp
-.el    .sp .5
-.ie \n(.in +4
-.el    .in +2
+.ie n .sp
+.el   .sp .5
+.ie n .in +4
+.el   .in +2
 .nf
 .ft C			\" Courier
 ..
@@ -912,7 +912,7 @@
 Also, \fI\*n\ \-e\fP is supposed to provide a consistent
 functionality for other applications that need to start text-mode
 programs in a window, and if \fBloginShell\fP were not ignored, the
-result of ~/.profile might interfere with that.
+result of \(ti/.profile might interfere with that.
 .IP
 If you do want the effect of \fB\-ls\fP and \fB\-e\fP simultaneously, you
 may get away with something like
@@ -1325,9 +1325,9 @@
 (the first two are equivalent
 since the descriptor follows the last \*(``/\*(''):
 .NS 15
--S/dev/pts/123/45
--S123/45
--Sab34
+\-S/dev/pts/123/45
+\-S123/45
+\-Sab34
 .NE
 .IP
 Note that \fI\*n\fP does not close any file descriptor
@@ -1488,13 +1488,13 @@
 .bP
 .B ptyInitialErase\fP (PIE), along with the
 .bP
-\fIstty\fP erase character (^H for backspace, ^? for delete)
+\fIstty\fP erase character (\(haH for backspace, \(ha? for delete)
 .RE
 .IP
 will affect DECBKM.  First, \fI\*n\fP obtains the initial \fIerase\fP character:
 .RS
 .bP
-\fI\*n\fP's internal value is ^H
+\fI\*n\fP's internal value is \(haH
 .bP
 \fI\*n\fP asks the operating system for the value which \fBstty\fP shows
 .bP
@@ -1509,14 +1509,14 @@
 _ _ _ _
 l c c c.
 \fBPIE\fR	\fBstty\fR	\fBtermcap\fR	\fIerase\fP
-false	^H	^H	^H
-false	^H	^?	^?
-false	^?	^H	^H
-false	^?	^?	^?
-true	^H	^H	^H
-true	^H	^?	^H
-true	^?	^H	^?
-true	^?	^?	^?
+false	\(haH	\(haH	\(haH
+false	\(haH	\(ha?	\(ha?
+false	\(ha?	\(haH	\(haH
+false	\(ha?	\(ha?	\(ha?
+true	\(haH	\(haH	\(haH
+true	\(haH	\(ha?	\(haH
+true	\(ha?	\(haH	\(ha?
+true	\(ha?	\(ha?	\(ha?
 .TE
 .IP
 Using that \fIerase\fP character, \fI\*n\fP allows further choices:
@@ -1540,14 +1540,14 @@
 _ _ _ _ _
 c l l c c.
 \fIerase\fR	\fBBKIE\fR	\fBBK\fR	\fBDECBKM\fP	\fIresult\fP
-^?	false	false	2	^H
-^?	false	true	2	^?
-^?	true	false	0	^?
-^?	true	true	1	^?
-^H	false	false	2	^H
-^H	false	true	2	^?
-^H	true	false	0	^H
-^H	true	true	1	^H
+\(ha?	false	false	2	\(haH
+\(ha?	false	true	2	\(ha?
+\(ha?	true	false	0	\(ha?
+\(ha?	true	true	1	\(ha?
+\(haH	false	false	2	\(haH
+\(haH	false	true	2	\(ha?
+\(haH	true	false	0	\(haH
+\(haH	true	true	1	\(haH
 .TE
 .TP 8
 .B "fullscreen\fP (class\fB Fullscreen\fP)"
@@ -1911,17 +1911,22 @@
 susp,
 swtch and
 weras.
-Control characters may be specified as ^char (e.g., ^c or ^u)
-and \fB^?\fP may be used to indicate delete (127).
-Use \fB^\-\fP to denote \fIundef\fP.
-Use \fB\\034\fP to represent \fB^\\\fP, since a literal backslash in
+Control characters may be specified as
+.BI \(ha char
+(e.g.,
+.B \(hac
+or
+.BR \(hau )
+and \fB\(ha?\fP may be used to indicate delete (127).
+Use \fB\(ha\-\fP to denote \fIundef\fP.
+Use \fB\e034\fP to represent \fB\(ha\e\fP, since a literal backslash in
 an X resource escapes the next character.
 .IP
 This is very useful for overriding
 the default terminal settings without having to do an \fIstty\fP every time
 an \fI\*n\fP is started.
 Note, however, that the \fIstty\fP program on a given host may use different
-keywords; \fI\*n\fR's table is built-in.
+keywords; \fI\*n\fR's table is built in.
 .IP
 If the \fBttyModes\fP resource specifies a value for \fBerase\fP,
 that overrides the \fBptyInitialErase\fP resource setting,
@@ -2443,7 +2448,7 @@
 .B "charClass\fP (class\fB CharClass\fP)"
 Specifies comma-separated lists of character class bindings of the form
 .NS
-\fIlow\fP[-\fIhigh]\fP[:\fIvalue\fP].
+\fIlow\fP[\-\fIhigh]\fP[:\fIvalue\fP].
 .NE
 .IP
 These are used in determining which
@@ -3064,9 +3069,9 @@
 .IP
 It is possible to select suitable bitmap fonts using a script such as this:
 .NS
-\&#!/bin/sh
-\&FONT=`xfontsel -print`
-\&test -n "$FONT" && xfd -fn "$FONT"
+#!/bin/sh
+FONT=\(gaxfontsel \-print\(ga
+test \-n "$FONT" && xfd \-fn "$FONT"
 .NE
 .IP
 However (even though \fIxfd\fP accepts a \*(``\fB\-fa\fP\*('' option
@@ -3074,7 +3079,7 @@
 \fIxfontsel\fP has not been similarly extended.
 As a workaround, you may try
 .NS
-fc-list :scalable=true:spacing=mono: family
+fc\-list :scalable=true:spacing=mono: family
 .NE
 .IP
 to find a list of scalable fixed-pitch fonts
@@ -3389,8 +3394,9 @@
 \fBCOMPOUND_TEXT\fP
 or
 \fBTEXT\fP.
-The default is \*(``true\*(''. It may be set to false in order to work around
-ICCCM violations by other X clients.
+The default is \*(``true\*(''.
+It may be set to false in order to work around ICCCM violations by other
+X clients.
 .TP 8
 .B "iconBorderColor\fP (class\fB BorderColor\fP)"
 Specifies the border color for the active icon window if this feature
@@ -3535,7 +3541,7 @@
 If the encoding converter requires command-line parameters,
 you can add those after the command, e.g.,
 .NS
-*localeFilter: xterm-filter -p
+*localeFilter: xterm\-filter \-p
 .NE
 .IP
 Alternatively,
@@ -3582,7 +3588,7 @@
 .IP
 The default is \*(``1000x1000\*('' (given as \fIwidth\fP by \fIheight\fP).
 .IP
-If the resource is \*(``auto\*('' then \fI\*n\fR will use the 
+If the resource is \*(``auto\*('' then \fI\*n\fR will use the
 \fBdecTerminalID\fP resource:
 .TS
 l l
@@ -3818,7 +3824,7 @@
 The \fBkeyboardType\fP resource is the preferred mechanism for selecting this mode.
 .IP
 The old-style escape sequences resemble VT220 keys,
-but appear to have been invented for \fI\*n\fP in X11R4. 
+but appear to have been invented for \fI\*n\fP in X11R4.
 .TP 8
 .B "on2Clicks\fP (class\fB On2Clicks\fP)"
 .TP
@@ -4065,7 +4071,7 @@
 .TP 8
 .B "privateColorRegisters\fP (class\fB PrivateColorRegisters\fP)"
 If \fI\*n\fR is configured to support ReGIS or SIXEL graphics,
-this controls whether \fI\*n\fR 
+this controls whether \fI\*n\fR
 allocates separate color registers for each sixel
 device control string, e.g., for DECGCI.
 If not true, color registers are allocated only once,
@@ -4165,8 +4171,8 @@
 This is a different issue than unsupported preedit type, etc.
 You may encounter retries if your X configuration (and its libraries)
 are missing pieces.
-Setting this resource to zero ``0'' will cancel the retrying.
-The default is ``3''.
+Setting this resource to zero \*(``0\*(`` will cancel the retrying.
+The default is \*(``3\*(``.
 .TP 8
 .B "reverseVideo\fP (class\fB ReverseVideo\fP)"
 Specifies whether or not reverse video should be simulated.
@@ -5020,7 +5026,7 @@
 Pointer button one (usually left)
 is used to save text into the cut buffer:
 .NS
-~Meta <Btn1Down>:\fBselect-start\fP()
+\(tiMeta <Btn1Down>:select\-start()
 .NE
 .IP
 Move the cursor to beginning of the text,
@@ -5029,16 +5035,15 @@
 The selected text is highlighted and is saved in the global \fIcut buffer\fP
 and made the selection when the button is released:
 .NS
-<BtnUp>:\fBselect-end\fP(\fBSELECT\fP, CUT_BUFFER0) \n\
+<BtnUp>:select\-end(SELECT, CUT_BUFFER0)
 .NE
 .IP
-Normally (but see the discussion of \fBon2Clicks\fP, etc):
+Normally (but see the discussion of \fBon2Clicks\fP, etc.):
 .RS
 .bP
 Double-clicking selects by words.
 .bP
-Triple-clicking
-selects by lines.
+Triple-clicking selects by lines.
 .bP
 Quadruple-clicking goes back to characters, etc.
 .RE
@@ -5058,14 +5063,14 @@
 the given selection, if any,
 otherwise from the cut buffer, inserting it as keyboard input:
 .NS
-~Ctrl ~Meta <Btn2Up>:\fB\fBinsert-selection\fP\fP(\fBSELECT\fP, CUT_BUFFER0)
+\(tiCtrl \(tiMeta <Btn2Up>:insert\-selection(SELECT, CUT_BUFFER0)
 .NE
 .
 .TP 5
 Pointer button three (usually right)
 \fIextends\fP the current selection.
 .NS
-~Ctrl ~Meta <Btn3Down>:\fB\fBstart-extend\fP\fP()
+\(tiCtrl \(tiMeta <Btn3Down>:start\-extend()
 .NE
 .IP
 (Without loss of generality,
@@ -5356,8 +5361,9 @@
 in CSS 2.2.
 .IP
 The font is whatever your browser uses for preformatted (<pre>)
-elements. The XHTML file references a cascading style sheet (CSS)
-named \*(``\fBxterm.css\fP\*('' that you can create to select a font or
+elements.
+The XHTML file references a cascading style sheet (CSS) named
+\*(``\fBxterm.css\fP\*('' that you can create to select a font or
 override properties.
 .RS
 .LP
@@ -5382,8 +5388,9 @@
 .RE
 .IP
 Attributes faint, reverse and blink are implemented as \fIstyle\fP attributes
-setting color properties. All colors are specified as RGB percentages
-in order to support displays with 10 bits per RGB.
+setting color properties.
+All colors are specified as RGB percentages in order to support displays
+with 10 bits per RGB.
 .IP
 The name of the file will be
 .NS
@@ -5407,7 +5414,7 @@
 The \fBdump-html\fP action can also be triggered using the Media Copy
 control sequence CSI 1 0 i, for example from a shell script with
 .NS
-printf '\\033[10i'
+printf \*(AQ\ee033[10i\*(AQ
 .NE
 .sp
 Only the UTF-8 encoding is supported.
@@ -5446,7 +5453,7 @@
 The \fBdump-svg\fP action can also be triggered using the Media Copy
 control sequence CSI 1 1 i, for example from a shell script with
 .NS
-printf '\\033[11i'
+printf \*(AQ\ee033[11i\*(AQ
 .NE
 .sp
 Only the UTF-8 encoding is supported.
@@ -5860,7 +5867,7 @@
 this command will launch \fI\*n\fP able to switch between UTF-8
 and ISO-8859-1 encoded fonts:
 .NS
-u\*n -class __default_class__
+u\*n \-class __default_class__
 .NE
 .RE
 .PP
@@ -6048,70 +6055,70 @@
 The default table starts as follows \-
 .NS
 static int charClass[256] = {
-/\(** NUL  SOH  STX  ETX  EOT  ENQ  ACK  BEL */
+/\(** NUL  SOH  STX  ETX  EOT  ENQ  ACK  BEL \(**/
     32,   1,   1,   1,   1,   1,   1,   1,
-/\(**  BS   HT   NL   VT   NP   CR   SO   SI */
+/\(**  BS   HT   NL   VT   NP   CR   SO   SI \(**/
      1,  32,   1,   1,   1,   1,   1,   1,
-/\(** DLE  DC1  DC2  DC3  DC4  NAK  SYN  ETB */
+/\(** DLE  DC1  DC2  DC3  DC4  NAK  SYN  ETB \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(** CAN   EM  SUB  ESC   FS   GS   RS   US */
+/\(** CAN   EM  SUB  ESC   FS   GS   RS   US \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(**  SP    !    "    #    $    %    &    \*(AQ */
+/\(**  SP    !    "    #    $    %    &    \*(AQ \(**/
 .\"   " <- for emacs autocolor to work well :-)
     32,  33,  34,  35,  36,  37,  38,  39,
-/\(**   (    )    *    +    ,    \-    .    / */
+/\(**   (    )    *    +    ,    \-    .    / \(**/
     40,  41,  42,  43,  44,  45,  46,  47,
-/\(**   0    1    2    3    4    5    6    7 */
+/\(**   0    1    2    3    4    5    6    7 \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   8    9    :    ;    <    =    >    ? */
+/\(**   8    9    :    ;    <    =    >    ? \(**/
     48,  48,  58,  59,  60,  61,  62,  63,
-/\(**   @    A    B    C    D    E    F    G */
+/\(**   @    A    B    C    D    E    F    G \(**/
     64,  48,  48,  48,  48,  48,  48,  48,
-/\(**   H    I    J    K    L    M    N    O */
+/\(**   H    I    J    K    L    M    N    O \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   P    Q    R    S    T    U    V    W */
+/\(**   P    Q    R    S    T    U    V    W \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   X    Y    Z    [    \\    ]    ^    _ */
+/\(**   X    Y    Z    [    \e    ]    \(ha    _ \(**/
     48,  48,  48,  91,  92,  93,  94,  48,
-/\(**   `    a    b    c    d    e    f    g */
+/\(**   \(ga    a    b    c    d    e    f    g \(**/
     96,  48,  48,  48,  48,  48,  48,  48,
-/\(**   h    i    j    k    l    m    n    o */
+/\(**   h    i    j    k    l    m    n    o \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   p    q    r    s    t    u    v    w */
+/\(**   p    q    r    s    t    u    v    w \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   x    y    z    {    |    }    ~  DEL */
+/\(**   x    y    z    {    |    }    \(ti  DEL \(**/
     48,  48,  48, 123, 124, 125, 126,   1,
-/\(** x80  x81  x82  x83  IND  NEL  SSA  ESA */
+/\(** x80  x81  x82  x83  IND  NEL  SSA  ESA \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(** HTS  HTJ  VTS  PLD  PLU   RI  SS2  SS3 */
+/\(** HTS  HTJ  VTS  PLD  PLU   RI  SS2  SS3 \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(** DCS  PU1  PU2  STS  CCH   MW  SPA  EPA */
+/\(** DCS  PU1  PU2  STS  CCH   MW  SPA  EPA \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(** x98  x99  x9A  CSI   ST  OSC   PM  APC */
+/\(** x98  x99  x9A  CSI   ST  OSC   PM  APC \(**/
      1,   1,   1,   1,   1,   1,   1,   1,
-/\(**   \-    i   c/    L   ox   Y\-    |   So */
+/\(** nbsp   \(r!    \(ct    \(Po    \(Cs    \(Ye    \(bb    \(sc \(**/
    160, 161, 162, 163, 164, 165, 166, 167,
-/\(**  ..   c0   ip   <<    _        R0    \- */
+/\(**   \(ad    \(co    \(Of    \(Fo    \(no  shy    \(rg    \(a- \(**/
    168, 169, 170, 171, 172, 173, 174, 175,
-/\(**   o   +\-    2    3    \*(AQ    u   q|    . */
+/\(**   \(de    \(+-    \(S2    \(S3    \(aa    \(mc    \(ps    \(pc \(**/
    176, 177, 178, 179, 180, 181, 182, 183,
-/\(**   ,    1    2   >>  1/4  1/2  3/4    ? */
+/\(**   \(ac    \(S1    \(Om    \(Fc    \(14    \(12    \(34    \(r? \(**/
    184, 185, 186, 187, 188, 189, 190, 191,
-/\(**  A`   A\*(AQ   A^   A~   A:   Ao   AE   C, */
+/\(**   \(`A    \('A    \(^A    \(~A    \(:A    \(oA    \(AE    \(,C \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**  E`   E\*(AQ   E^   E:   I`   I\*(AQ   I^   I: */
+/\(**   \(`E    \('E    \(^E    \(:E    \(`I    \('I    \(^I    \(:I \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**  D\-   N~   O`   O\*(AQ   O^   O~   O:    X */
+/\(**   \(-D    \(~N    \(`O    \('O    \(^O    \(~O    \(:O    \(mu \(**/
     48,  48,  48,  48,  48,  48,  48, 215,
-/\(**  O/   U`   U\*(AQ   U^   U:   Y\*(AQ    P    B */
+/\(**   \(/O    \(`U    \('U    \(^U    \(:U    \('Y    \(TP    \(ss \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**  a`   a\*(AQ   a^   a~   a:   ao   ae   c, */
+/\(**   \(`a    \('a    \(^a    \(~a    \(:a    \(oa    \(ae    \(,c \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**  e`   e\*(AQ   e^   e:   i`   i\*(AQ   i^   i: */
+/\(**   \(`e    \('e    \(^e    \(:e    \(`i    \('i    \(^i    \(:i \(**/
     48,  48,  48,  48,  48,  48,  48,  48,
-/\(**   d   n~   o`   o\*(AQ   o^   o~   o:   \-: */
+/\(**   \(Sd    \(~n    \(`o    \('o    \(^o    \(~o    \(:o    \(di \(**/
     48,  48,  48,  48,  48,  48,  48, 247,
-/\(**  o/   u`   u\*(AQ   u^   u:   y\*(AQ    P   y: */
+/\(**   \(/o    \(`u    \('u    \(^u    \(:u    \('y    \(Tp    \(:y \(**/
     48,  48,  48,  48,  48,  48,  48,  48};
 .NE
 .IP
@@ -6208,8 +6215,8 @@
 of \*(``dynamic abbreviation\*('' expansion in Emacs (bound there to M\-/).
 Here is a resource setting for \fI\*n\fP which will do the same thing:
 .NS
-*VT100*translations:    #override \\n\\\&
-        Meta <KeyPress> /:\fBdabbrev-expand\fP()
+*VT100*translations:    #override \en\e
+        Meta <KeyPress> /:dabbrev\-expand()
 .NE
 .TP 8
 .B "deiconify()"
@@ -6224,7 +6231,7 @@
 (i.e., character line and column) in the following format:
 .sp
 .in +8
-^X ESC G <line+\*(`` \*(''> <col+\*(`` \*(''>
+\(haX ESC G <line+\*(`` \*(''> <col+\*(`` \*(''>
 .in -8
 .TP 8
 .B "exec-formatted(\fIformat\fP, \fIsourcename\fP [, ...])"
@@ -6285,8 +6292,8 @@
 to view a file whose name is selected while holding the shift key down.
 The new process is started when the mouse button is released:
 .NS
-*VT100*translations: #override Shift \\
-    <Btn1Up>:\fBexec-formatted\fP("xterm -e view '%t'", \fBSELECT\fP)
+*VT100*translations: #override Shift \e
+    <Btn1Up>:exec\-formatted("xterm \-e view \*(AQ%t\*(AQ", SELECT)
 .NE
 .TP 8
 .B "exec-selectable(\fIformat\fP, \fIonClicks\fP)"
@@ -6377,8 +6384,8 @@
 the host.
 This works by inserting the control sequence at the front
 of the input buffer.
-Use \*(``\\\*('' to escape octal digits in the string.
-Xt does not allow you to put a null character (i.e., \*(``\\000\*('') in the string.
+Use \*(``\e\*('' to escape octal digits in the string.
+Xt does not allow you to put a null character (i.e., \*(``\e000\*('') in the string.
 .TP 8
 .B "keymap(\fIname\fP)"
 This action dynamically defines a new translation table whose resource
@@ -6424,33 +6431,33 @@
 .TP 5
 noFormFeed
 no form feed will be sent at the end of the last line printed
-(i.e., \fBprinterFormFeed\fP is ``false'').
+(i.e., \fBprinterFormFeed\fP is \*(``false\*(``).
 .TP 5
 FormFeed
 a form feed will be sent at the end of the last line printed
-(i.e., \fBprinterFormFeed\fP is ``true'').
+(i.e., \fBprinterFormFeed\fP is \*(``true\*(``).
 .TP 5
 noNewLine
 no newline will be sent at the end of the last line printed,
 and wrapped lines will be combined into long lines
-(i.e., \fBprinterNewLine\fP is ``false'').
+(i.e., \fBprinterNewLine\fP is \*(``false\*(``).
 .TP 5
 NewLine
 a newline will be sent at the end of the last line printed,
 and each line will be limited (by adding a newline) to the screen width
-(i.e., \fBprinterNewLine\fP is ``true'').
+(i.e., \fBprinterNewLine\fP is \*(``true\*(``).
 .TP 5
 noAttrs
 the page is printed without attributes
-(i.e., \fBprintAttributes\fP is ``0'').
+(i.e., \fBprintAttributes\fP is \*(``0\*(``).
 .TP 5
 monoAttrs
 the page is printed with monochrome (vt220) attributes
-(i.e., \fBprintAttributes\fP is ``1'').
+(i.e., \fBprintAttributes\fP is \*(``1\*(``).
 .TP 5
 colorAttrs
 the page is printed with ANSI color attributes
-(i.e., \fBprintAttributes\fP is ``2'').
+(i.e., \fBprintAttributes\fP is \*(``2\*(``).
 .RE
 .TP 8
 .B "print-everything(\fIprinter-flags\fP)"
@@ -6869,16 +6876,16 @@
 in the screen relative to the current line:
 .sp
 .in +8
-ESC ^P
+ESC \(haP
 .in -8
 or
 .in +8
-ESC ^N
+ESC \(haN
 .in -8
 .sp
 according to whether the event is before, or after the current line,
 respectively.
-The ^N (or ^P) is repeated once for each line that the event differs
+The \(haN (or \(haP) is repeated once for each line that the event differs
 from the current line.
 The control sequence is omitted altogether if the button event is on the
 current line.
@@ -6898,70 +6905,70 @@
 which is set by the \fBselectToClipboard\fP resource.
 These are for the \fIvt100\fP widget:
 .NS
-          Shift <KeyPress> Prior:\fBscroll-back\fP(1,halfpage) \\n\\\&
-           Shift <KeyPress> Next:\fBscroll-forw\fP(1,halfpage) \\n\\\&
-         Shift <KeyPress> Select:\fBselect-cursor-start\fP() \\\&
-                                 \fBselect-cursor-end\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\&
-         Shift <KeyPress> Insert:\fBinsert-selection\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\&
-                 Alt <Key>Return:\fBfullscreen\fP() \\n\\\&
-        <KeyRelease> Scroll_Lock:\fBscroll-lock\fP() \\n\\\&
-    Shift~Ctrl <KeyPress> KP_Add:\fBlarger-vt-font\fP() \\n\\\&
-    Shift Ctrl <KeyPress> KP_Add:\fBsmaller-vt-font\fP() \\n\\\&
-    Shift <KeyPress> KP_Subtract:\fBsmaller-vt-font\fP() \\n\\\&
-                ~Meta <KeyPress>:\fBinsert-seven-bit\fP() \\n\\\&
-                 Meta <KeyPress>:\fBinsert-eight-bit\fP() \\n\\\&
-                !Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\&
-           !Lock Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\&
- !Lock Ctrl @Num_Lock <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\&
-     ! @Num_Lock Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\&
-                ~Meta <Btn1Down>:\fBselect-start\fP() \\n\\\&
-              ~Meta <Btn1Motion>:\fBselect-extend\fP() \\n\\\&
-                !Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\&
-           !Lock Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\&
- !Lock Ctrl @Num_Lock <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\&
-     ! @Num_Lock Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\&
-          ~Ctrl ~Meta <Btn2Down>:\fBignore\fP() \\n\\\&
-                 Meta <Btn2Down>:\fBclear-saved-lines\fP() \\n\\\&
-            ~Ctrl ~Meta <Btn2Up>:\fBinsert-selection\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\&
-                !Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\&
-           !Lock Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\&
- !Lock Ctrl @Num_Lock <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\&
-     ! @Num_Lock Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\&
-          ~Ctrl ~Meta <Btn3Down>:\fBstart-extend\fP() \\n\\\&
-              ~Meta <Btn3Motion>:\fBselect-extend\fP() \\n\\\&
-                 Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\&
-            Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\&
-  Lock @Num_Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\&
-       @Num_Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\&
-                      <Btn4Down>:\fBscroll-back\fP(5,line,m)     \\n\\\&
-                 Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\&
-            Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\&
-  Lock @Num_Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\&
-       @Num_Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\&
-                      <Btn5Down>:\fBscroll-forw\fP(5,line,m)     \\n\\\&
-                         <BtnUp>:\fBselect-end\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\&
-                       <BtnDown>:\fBignore\fP()
+         Shift <KeyPress> Prior:scroll\-back(1,halfpage) \en\e
+          Shift <KeyPress> Next:scroll\-forw(1,halfpage) \en\e
+        Shift <KeyPress> Select:select\-cursor-start() \e
+                                select\-cursor-end(SELECT, CUT_BUFFER0) \en\e
+        Shift <KeyPress> Insert:insert\-selection(SELECT, CUT_BUFFER0) \en\e
+                Alt <Key>Return:fullscreen() \en\e
+       <KeyRelease> Scroll_Lock:scroll\-lock() \en\e
+   Shift\(tiCtrl <KeyPress> KP_Add:larger\-vt-font() \en\e
+   Shift Ctrl <KeyPress> KP_Add:smaller\-vt-font() \en\e
+   Shift <KeyPress> KP_Subtract:smaller\-vt-font() \en\e
+               \(tiMeta <KeyPress>:insert\-seven-bit() \en\e
+                Meta <KeyPress>:insert\-eight-bit() \en\e
+               !Ctrl <Btn1Down>:popup\-menu(mainMenu) \en\e
+          !Lock Ctrl <Btn1Down>:popup\-menu(mainMenu) \en\e
+!Lock Ctrl @Num_Lock <Btn1Down>:popup\-menu(mainMenu) \en\e
+    ! @Num_Lock Ctrl <Btn1Down>:popup\-menu(mainMenu) \en\e
+               \(tiMeta <Btn1Down>:select\-start() \en\e
+             \(tiMeta <Btn1Motion>:select\-extend() \en\e
+               !Ctrl <Btn2Down>:popup\-menu(vtMenu) \en\e
+          !Lock Ctrl <Btn2Down>:popup\-menu(vtMenu) \en\e
+!Lock Ctrl @Num_Lock <Btn2Down>:popup\-menu(vtMenu) \en\e
+    ! @Num_Lock Ctrl <Btn2Down>:popup\-menu(vtMenu) \en\e
+         \(tiCtrl \(tiMeta <Btn2Down>:ignore() \en\e
+                Meta <Btn2Down>:clear\-saved-lines() \en\e
+           \(tiCtrl \(tiMeta <Btn2Up>:insert\-selection(SELECT, CUT_BUFFER0) \en\e
+               !Ctrl <Btn3Down>:popup\-menu(fontMenu) \en\e
+          !Lock Ctrl <Btn3Down>:popup\-menu(fontMenu) \en\e
+!Lock Ctrl @Num_Lock <Btn3Down>:popup\-menu(fontMenu) \en\e
+    ! @Num_Lock Ctrl <Btn3Down>:popup\-menu(fontMenu) \en\e
+         \(tiCtrl \(tiMeta <Btn3Down>:start\-extend() \en\e
+             \(tiMeta <Btn3Motion>:select\-extend() \en\e
+                Ctrl <Btn4Down>:scroll\-back(1,halfpage,m) \en\e
+           Lock Ctrl <Btn4Down>:scroll\-back(1,halfpage,m) \en\e
+ Lock @Num_Lock Ctrl <Btn4Down>:scroll\-back(1,halfpage,m) \en\e
+      @Num_Lock Ctrl <Btn4Down>:scroll\-back(1,halfpage,m) \en\e
+                     <Btn4Down>:scroll\-back(5,line,m)     \en\e
+                Ctrl <Btn5Down>:scroll\-forw(1,halfpage,m) \en\e
+           Lock Ctrl <Btn5Down>:scroll\-forw(1,halfpage,m) \en\e
+ Lock @Num_Lock Ctrl <Btn5Down>:scroll\-forw(1,halfpage,m) \en\e
+      @Num_Lock Ctrl <Btn5Down>:scroll\-forw(1,halfpage,m) \en\e
+                     <Btn5Down>:scroll\-forw(5,line,m)     \en\e
+                        <BtnUp>:select\-end(SELECT, CUT_BUFFER0) \en\e
+                      <BtnDown>:ignore()
 .NE
 .PP
 The default bindings in the Tektronix window are analogous but less extensive.
 These are for the \fItek4014\fP widget:
 .NS
-                 ~Meta<KeyPress>: \fBinsert-seven-bit\fP() \\n\\\&
-                  Meta<KeyPress>: \fBinsert-eight-bit\fP() \\n\\\&
-                !Ctrl <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\&
-           !Lock Ctrl <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\&
- !Lock Ctrl @Num_Lock <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\&
-      !Ctrl @Num_Lock <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\&
-                !Ctrl <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\&
-           !Lock Ctrl <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\&
- !Lock Ctrl @Num_Lock <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\&
-      !Ctrl @Num_Lock <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\&
-           Shift ~Meta<Btn1Down>: \fBgin-press\fP(L) \\n\\\&
-                 ~Meta<Btn1Down>: \fBgin-press\fP(l) \\n\\\&
-           Shift ~Meta<Btn2Down>: \fBgin-press\fP(M) \\n\\\&
-                 ~Meta<Btn2Down>: \fBgin-press\fP(m) \\n\\\&
-           Shift ~Meta<Btn3Down>: \fBgin-press\fP(R) \\n\\\&
-                 ~Meta<Btn3Down>: \fBgin-press\fP(r)
+                 \(tiMeta<KeyPress>: insert\-seven-bit() \en\e
+                  Meta<KeyPress>: insert\-eight-bit() \en\e
+                !Ctrl <Btn1Down>: popup\-menu(mainMenu) \en\e
+           !Lock Ctrl <Btn1Down>: popup\-menu(mainMenu) \en\e
+ !Lock Ctrl @Num_Lock <Btn1Down>: popup\-menu(mainMenu) \en\e
+      !Ctrl @Num_Lock <Btn1Down>: popup\-menu(mainMenu) \en\e
+                !Ctrl <Btn2Down>: popup\-menu(tekMenu) \en\e
+           !Lock Ctrl <Btn2Down>: popup\-menu(tekMenu) \en\e
+ !Lock Ctrl @Num_Lock <Btn2Down>: popup\-menu(tekMenu) \en\e
+      !Ctrl @Num_Lock <Btn2Down>: popup\-menu(tekMenu) \en\e
+           Shift \(tiMeta<Btn1Down>: gin\-press(L) \en\e
+                 \(tiMeta<Btn1Down>: gin\-press(l) \en\e
+           Shift \(tiMeta<Btn2Down>: gin\-press(M) \en\e
+                 \(tiMeta<Btn2Down>: gin\-press(m) \en\e
+           Shift \(tiMeta<Btn3Down>: gin\-press(R) \en\e
+                 \(tiMeta<Btn3Down>: gin\-press(r)
 .NE
 .SS Custom Key Bindings
 .PP
@@ -6979,11 +6986,11 @@
 When it loses the selection, it removes the corresponding highlight.
 But you can still paste from the corresponding cut buffer.
 .NS
-*VT100*translations:    #override \\n\\\&
-   ~Shift~Ctrl<Btn2Up>: \fBinsert-selection\fP(\fBPRIMARY\fP, CUT_BUFFER0) \\n\\\&
-    Shift~Ctrl<Btn2Up>: \fBinsert-selection\fP(\fBCLIPBOARD\fP, CUT_BUFFER1) \\n\\\&
-   ~Shift     <BtnUp> : \fBselect-end\fP(\fBPRIMARY\fP, CUT_BUFFER0) \\n\\\&
-    Shift     <BtnUp> : \fBselect-end\fP(\fBCLIPBOARD\fP, CUT_BUFFER1)
+*VT100*translations:    #override \en\e
+   \(tiShift\(tiCtrl<Btn2Up>: insert\-selection(PRIMARY, CUT_BUFFER0) \en\e
+    Shift\(tiCtrl<Btn2Up>: insert\-selection(CLIPBOARD, CUT_BUFFER1) \en\e
+   \(tiShift     <BtnUp> : select\-end(PRIMARY, CUT_BUFFER0) \en\e
+    Shift     <BtnUp> : select\-end(CLIPBOARD, CUT_BUFFER1)
 .NE
 .PP
 In the example, the class name \fBVT100\fP is used rather than the widget name.
@@ -6994,17 +7001,17 @@
 .PP
 Not everyone finds the three-button mouse bindings easy to use.
 In a wheel mouse, the middle button might be the wheel.
-As an alternative, you could add a binding shifted keys:
+As an alternative, you could add a binding to shifted keys:
 .NS
-*VT100*translations:      #override \\n\\
-    Shift <Key>Home:    \fBcopy-selection\fP(\fBSELECT\fP) \\n\\
-    Shift <Key>Insert:  \fBcopy-selection\fP(\fBSELECT\fP) \\n\\
-    Ctrl Shift <Key>C:  \fBcopy-selection\fP(\fBSELECT\fP) \\n\\
-    Ctrl Shift <Key>V:  \fBinsert-selection\fP(\fBSELECT\fP)
+*VT100*translations:      #override \en\e
+    Shift <Key>Home:    copy\-selection(SELECT) \en\e
+    Shift <Key>Insert:  copy\-selection(SELECT) \en\e
+    Ctrl Shift <Key>C:  copy\-selection(SELECT) \en\e
+    Ctrl Shift <Key>V:  insert\-selection(SELECT)
 .NE
 .PP
 You would still use the left- and right-mouse buttons (typically 1 and 3)
-for beginning and extending selections. 
+for beginning and extending selections.
 .PP
 Besides mouse problems, there are also keyboards with inconvenient layouts.
 Some lack a numeric keypad, making it hard to use the shifted keypad plus
@@ -7012,9 +7019,9 @@
 You can work around that by assigning the actions to more readily accessed
 keys:
 .NS
-*VT100*translations:      #override \\n\\
-    Ctrl <Key> +:       \fBlarger-vt-font\fP() \\n\\
-    Ctrl <Key> -:       \fBsmaller-vt-font\fP()
+*VT100*translations:      #override \en\e
+    Ctrl <Key> +:       \fBlarger\-vt-font\fP() \en\e
+    Ctrl <Key> \-:       \fBsmaller-vt-font\fP()
 .NE
 .PP
 The keymap feature allows you to switch between sets of translations.
@@ -7023,16 +7030,16 @@
 keys for entering commonly-typed words:
 .NS
 *VT100.Translations: #override <Key>F13: keymap(dbx)
-*VT100.dbxKeymap.translations: \\\&
-        <Key>F14:       \fBkeymap\fP(None) \\n\\\&
-        <Key>F17:       \fBstring\fP("next") \\n\\
-                        \fBstring\fP(0x0d) \\n\\\&
-        <Key>F18:       \fBstring\fP("step") \\n\\
-                        \fBstring\fP(0x0d) \\n\\\&
-        <Key>F19:       \fBstring\fP("continue") \\n\\
-                        \fBstring\fP(0x0d) \\n\\\&
-        <Key>F20:       \fBstring\fP("print ") \\n\\
-                        \fBinsert-selection\fP(\fBPRIMARY\fP, CUT_BUFFER0)
+*VT100.dbxKeymap.translations: \e
+        <Key>F14:       keymap(None) \en\e
+        <Key>F17:       string("next") \en\e
+                        string(0x0d) \en\e
+        <Key>F18:       string("step") \en\e
+                        string(0x0d) \en\e
+        <Key>F19:       string("continue") \en\e
+                        string(0x0d) \en\e
+        <Key>F20:       string("print ") \en\e
+                        insert\-selection(PRIMARY, CUT_BUFFER0)
 .NE
 .SS Default Scrollbar Bindings
 .PP
@@ -7051,12 +7058,12 @@
 .PP
 The default bindings for the scrollbar widget use only mouse-button events:
 .NS
-   <Btn5Down>: StartScroll(Forward) \\n\\\&
-   <Btn1Down>: StartScroll(Forward) \\n\\\&
-   <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \\n\\\&
-   <Btn3Down>: StartScroll(Backward) \\n\\\&
-   <Btn4Down>: StartScroll(Backward) \\n\\\&
-   <Btn2Motion>: MoveThumb() NotifyThumb() \\n\\\&
+   <Btn5Down>: StartScroll(Forward) \en\e
+   <Btn1Down>: StartScroll(Forward) \en\e
+   <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \en\e
+   <Btn3Down>: StartScroll(Backward) \en\e
+   <Btn4Down>: StartScroll(Backward) \en\e
+   <Btn2Motion>: MoveThumb() NotifyThumb() \en\e
    <BtnUp>:    NotifyScroll(Proportional) EndScroll()
 .NE
 .PP
@@ -7089,11 +7096,11 @@
 for dragging the scrollbar thumb.
 That can be set up by altering the translations resource, e.g.,
 .NS
-*VT100.scrollbar.translations:  #override \\n\\\&
-   <Btn5Down>:     StartScroll(Forward) \\n\\\&
-   <Btn1Down>:     StartScroll(Continuous) MoveThumb() NotifyThumb() \\n\\\&
-   <Btn4Down>:     StartScroll(Backward) \\n\\\&
-   <Btn1Motion>:   MoveThumb() NotifyThumb() \\n\\\&
+*VT100.scrollbar.translations:  #override \en\e
+   <Btn5Down>:     StartScroll(Forward) \en\e
+   <Btn1Down>:     StartScroll(Continuous) MoveThumb() NotifyThumb() \en\e
+   <Btn4Down>:     StartScroll(Backward) \en\e
+   <Btn1Motion>:   MoveThumb() NotifyThumb() \en\e
    <BtnUp>:        NotifyScroll(Proportional) EndScroll()
 .NE
 .SH "CONTROL SEQUENCES AND KEYBOARD"
@@ -7150,7 +7157,7 @@
 .SS Window and Icon Titles
 .PP
 Some scripts use \fBecho\fP with options \fB\-e\fP and \fB\-n\fP to tell
-the shell to interpret the string \*(``\\e\*('' as the \fIescape\fP character and
+the shell to interpret the string \*(``\ee\*('' as the \fIescape\fP character and
 to suppress a trailing newline on output.
 Those are not portable, not recommended.
 Instead, use \fBprintf\fP (POSIX).
@@ -7158,23 +7165,23 @@
 For example, to set the \fIwindow title\fP to \*(``Hello world!\*('',
 you could use one of these commands in a script:
 .NS
-printf '\\033]2;Hello world!\\033\\'
-printf '\\033]2;Hello world!\\007'
-printf '\\033]2;%s\\033\\' "Hello world!"
-printf '\\033]2;%s\\007' "Hello world!"
+printf \*(AQ\ee033]2;Hello world!\ee033\ee\*(AQ
+printf \*(AQ\ee033]2;Hello world!\ee007\*(AQ
+printf \*(AQ\ee033]2;%s\ee033\ee\*(AQ "Hello world!"
+printf \*(AQ\ee033]2;%s\ee007\*(AQ "Hello world!"
 .NE
 .PP
-The \fBprintf\fP command interprets the octal value \*(``\\033\*('' for
+The \fBprintf\fP command interprets the octal value \*(``\e033\*('' for
 \fIescape\fP, and (since it was not given in the format) omits a trailing
 newline from the output.
 .PP
 Some programs (such as \fBscreen\fP(1)) set both window- and icon-titles
 at the same time, using a slightly different control sequence:
 .NS
-printf '\\033]0;Hello world!\\033\\'
-printf '\\033]0;Hello world!\\007'
-printf '\\033]0;%s\\033\\' "Hello world!"
-printf '\\033]0;%s\\007' "Hello world!"
+printf \*(AQ\ee033]0;Hello world!\ee033\ee\*(AQ
+printf \*(AQ\ee033]0;Hello world!\ee007\*(AQ
+printf \*(AQ\ee033]0;%s\ee033\ee\*(AQ "Hello world!"
+printf \*(AQ\ee033]0;%s\ee007\*(AQ "Hello world!"
 .NE
 .PP
 The difference is the \fIparameter\fP \*(``0\*('' in each command.
@@ -7183,10 +7190,10 @@
 You can tell \fI\*n\fP to ask for this with a different parameter
 in the control sequence:
 .NS
-printf '\\033]1;Hello world!\\033\\'
-printf '\\033]1;Hello world!\\007'
-printf '\\033]1;%s\\033\\' "Hello world!"
-printf '\\033]1;%s\\007' "Hello world!"
+printf \*(AQ\ee033]1;Hello world!\ee033\ee\*(AQ
+printf \*(AQ\ee033]1;Hello world!\ee007\*(AQ
+printf \*(AQ\ee033]1;%s\ee033\ee\*(AQ "Hello world!"
+printf \*(AQ\ee033]1;%s\ee007\*(AQ "Hello world!"
 .NE
 .
 .SS Special Keys
@@ -7195,13 +7202,13 @@
 has two modes for the \fIspecial keys\fP (cursor-keys, numeric keypad,
 and certain function-keys):
 .bP
-\fInormal mode\fP, which makes the special keys transmit 
+\fInormal mode\fP, which makes the special keys transmit
 \*(``useful\*('' sequences such as the control sequence for cursor-up
 when pressing the up-arrow, and
 .bP
 \fIapplication mode\fP,
 which uses a different control sequence that cannot be mistaken for
-the 
+the
 \*(``useful\*('' sequences.
 .PP
 The main difference between the two modes is that normal mode sequences
@@ -7242,9 +7249,9 @@
 normal or application mode initially.
 Here is an example:
 .NS
-[[ "$terminfo[kcuu1]" == "^[O"* ]] && \\
-bindkey -M viins "${terminfo[kcuu1]/O/[}" \\
-vi-up-line-or-history
+[[ "$terminfo[kcuu1]" == "\(ha[O"* ]] && \e
+bindkey \-M viins "${terminfo[kcuu1]/O/[}" \e
+vi\-up-line-or-history
 .NE
 .
 .
@@ -7259,12 +7266,12 @@
 Because there is no guidance in the POSIX standard, each shell addresses
 the problem in a different way:
 .bP
-\fBbash\fP treats characters within 
-\*(``\\[\*('' and
-\*(``\\]\*(''
+\fBbash\fP treats characters within
+\*(``\e[\*('' and
+\*(``\e]\*(''
 as nonprinting (using no width on the screen).
 .bP
-\fBzsh\fP treats characters within 
+\fBzsh\fP treats characters within
 \*(``%{\*('' and
 \*(``%}\*(''
 as nonprinting.

Attachment: signature.asc
Description: PGP signature


Reply to: