Your message dated Thu, 04 Jan 2018 17:20:38 +0000 with message-id <E1eX9C2-000A45-H1@fasolo.debian.org> and subject line Bug#880551: fixed in xterm 331-1 has caused the Debian Bug report #880551, regarding xterm: corrections to man page to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 880551: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880551 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: xterm: corrections to man page
- From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
- Date: Thu, 2 Nov 2017 02:20:54 -0400
- Message-id: <20171102062048.kpurx5lxzqqdo4a3@crack.deadbeast.net>
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, BrandenFix 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
--- End Message ---
--- Begin Message ---
- To: 880551-close@bugs.debian.org
- Subject: Bug#880551: fixed in xterm 331-1
- From: Sven Joachim <svenjoac@gmx.de>
- Date: Thu, 04 Jan 2018 17:20:38 +0000
- Message-id: <E1eX9C2-000A45-H1@fasolo.debian.org>
Source: xterm Source-Version: 331-1 We believe that the bug you reported is fixed in the latest version of xterm, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 880551@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Sven Joachim <svenjoac@gmx.de> (supplier of updated xterm package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Thu, 04 Jan 2018 18:06:06 +0100 Source: xterm Binary: xterm Architecture: source Version: 331-1 Distribution: unstable Urgency: medium Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Changed-By: Sven Joachim <svenjoac@gmx.de> Description: xterm - X terminal emulator Closes: 869248 877628 879936 880120 880407 880551 Changes: xterm (331-1) unstable; urgency=medium . * New upstream release. - Add workaround for improper grayscale adjustments made in FreeType library, exposed by changes to rounding in 2.8.1, which shows up as a gap in line-drawing characters (Closes: #880407). - Replace constant 10msec delay for next X event with new resource nextEventDelay, and reduce that to 1msec to accommodate faster machines than used when -hold was implemented in 1999 (Closes: #877628). - Add scroll-to action, which simplifies binding a key to scroll to the beginning or end of the saved-lines (Closes: #880120). - Improve workaround for #542434 by using the font's maximum width when no ISO-8859-1 glyphs are provided (Closes: #879936). - Additional manpage macro cleanup (Branden Robinson, Closes: #880551). - Fix typography in xterm.man (patch by Bjarni Ingi Gislason, Closes: #869248). * Refresh Debian patches. * Use https in the Homepage field. * Bump Standards-Version to 4.1.3, no changes needed. Checksums-Sha1: c374e845be7d2fbefdaf7066519ddd291860025f 2414 xterm_331-1.dsc ad8325e4a23cc32be0933b2f38ae11f96797b12a 1286312 xterm_331.orig.tar.gz b2bd9940b0593f9276f2951d7b66997f4061d1d3 250 xterm_331.orig.tar.gz.asc 8c9d438c458a3fd8e0de6bc464441bad1c104223 101352 xterm_331-1.debian.tar.xz dd4c4ffa274b073ad5c00d0d551adcc5dc7ea763 8446 xterm_331-1_source.buildinfo Checksums-Sha256: bb287af01a118ede5aca036de1bf6a515f5e952aa35685003dbf2e233d42bcbc 2414 xterm_331-1.dsc 9ae856a30fd93046be93952a6898ba47f6f88ad6a988a7c949c4c80d5199ef10 1286312 xterm_331.orig.tar.gz 96c928fd85081624286882ce42781d35f3e514b1eee807b65dacf6808d422a44 250 xterm_331.orig.tar.gz.asc 5d81b7d06318ce5c89fc69015369e5277404edbba7fb859bc7b297e2bcc0498a 101352 xterm_331-1.debian.tar.xz 368be1192471e5a28a4741f73b7e3a12b4ed4487163c26f1d7b0d6ffaf183b71 8446 xterm_331-1_source.buildinfo Files: 8874f62e04b34d893caee28e79d906a3 2414 x11 optional xterm_331-1.dsc e08455ab7d4fe8acbb0480dfc8d990f3 1286312 x11 optional xterm_331.orig.tar.gz fc6db39a424af15ea01f4ce2336773fe 250 x11 optional xterm_331.orig.tar.gz.asc b865fc197c43879030a521e54550c9de 101352 x11 optional xterm_331-1.debian.tar.xz c499a9f8cd42910c80f9641e424c9ca1 8446 x11 optional xterm_331-1_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEKF8heKgv5Jai5p4QOxBucY1rMawFAlpOX2cACgkQOxBucY1r MaxHEBAA21iMiV49OE7nGJNHWj/QY/3ZEhRGquwQtGIpLez+csEA83eE+hI7FSyW u4wcQqdgXwwvTR+MtixRj39X52YebaEjI5hiq/Q0l1BU6WCK2Lzxc6on8HVcNlsE siCSSX91392EkJqY8x7Fdgu0bu8+ZGfloRug2Ng35I0EYXXuF/pGdgYjUZrya+tI rtBQPSLHmBrIPgTLRy3xUJoXKwZdpDdGNQwkxirjMlKKuT/5igN/u5B9qW0Lz2ZC uCob0xF5Y4O2vG/ovabMWJjxhOP2O7IqH4Drtaq4Q4AqfvIq70nA9Kbek2lFXq1g EGlIcfnvv023KPmNrs0dy5O/us/ndWCvjRjSrsOsRRf+4O/oChqJFjMrGhUwWtyk JU0wl09A00evZ0h6ugl5Ag0uW9qN2nAqZ95Am0VhIA5lmiJXzqTPflmu9myjKMEW +vmrf7HhwvzCCkOCG/G53RbvFRAu1rW09BD2/71LA81V2UG2u3p8wDlSW8nqTZzT KGJ1jXCt8pMvhbHE2rNZkZBuOiC5gNwoStlvUOZWw/Qk7L/sH0nhifOnaY95uvVi V7Q10Gfp6nusM/dn4g0vNWFGay1k+79H4j/Mk+nHRMfwuthvFZ5ShQKpZGqyPWrd 4w8RuSKCrbWs1KkydeKiBBPYvMBnM4VoXnstoW7JeHjprsKa6pk= =xUV+ -----END PGP SIGNATURE-----
--- End Message ---