Package: expect
Version: 5.45.4-3+b1
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with a new version

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -ww -z < "man page"

  [Use "groff -e ' $' <file>" to find trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?


an.tmac:<stdin>:1: style: .TH missing fourth argument; consider package/project 
name and version (e.g., "groff 1.23.0")
an.tmac:<stdin>:111: style: 4 leading space(s) on input line
troff:<stdin>:126: warning: trailing space in the line
troff:<stdin>:133: warning: trailing space in the line
an.tmac:<stdin>:212: style: 4 leading space(s) on input line
troff:<stdin>:220: warning: trailing space in the line
an.tmac:<stdin>:317: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:323: warning: trailing space in the line
troff:<stdin>:359: warning: trailing space in the line
troff:<stdin>:373: warning: trailing space in the line
troff:<stdin>:440: warning: trailing space in the line
troff:<stdin>:504: warning: trailing space in the line
troff:<stdin>:620: warning: trailing space in the line
troff:<stdin>:804: warning: trailing space in the line
troff:<stdin>:927: warning: trailing space in the line
an.tmac:<stdin>:954: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:1016: warning: trailing space in the line
troff:<stdin>:1173: warning: trailing space in the line
troff:<stdin>:1203: warning: trailing space in the line
troff:<stdin>:1341: warning: trailing space in the line
troff:<stdin>:1343: warning: trailing space in the line
troff:<stdin>:1354: warning: trailing space in the line
troff:<stdin>:1412: warning: trailing space in the line
an.tmac:<stdin>:1550: style: .IR expects at least 2 arguments, got 1
troff:<stdin>:1588: warning: trailing space in the line
troff:<stdin>:1613: warning: trailing space in the line
an.tmac:<stdin>:1626: style: .IR expects at least 2 arguments, got 1
troff:<stdin>:1634: warning: trailing space in the line
troff:<stdin>:1635: warning: trailing space in the line
an.tmac:<stdin>:1665: style: .BR expects at least 2 arguments, got 1
an.tmac:<stdin>:1668: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:2056: warning: trailing space in the line
troff:<stdin>:2101: warning: trailing space in the line
troff:<stdin>:2148: warning: trailing space in the line
troff:<stdin>:2164: warning: trailing space in the line
troff:<stdin>:2271: warning: trailing space in the line
troff:<stdin>:2292: warning: trailing space in the line

   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.10-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages expect depends on:
ii  libc6       2.40-4
ii  libtcl8.6   8.6.15+dfsg-2
ii  tcl-expect  5.45.4-3+b1
ii  tcl8.6      8.6.15+dfsg-2

expect recommends no packages.

Versions of packages expect suggests:
ii  tk8.6  8.6.15-1

-- no debconf information
Input file is expect.1

  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8  <man page>

  The same goes for man pages that are used as an input.

  For a style guide use

  mandoc -T lint

-.-

  So any 'generator' should check its products with the above mentioned
'groff', 'mandoc',  and additionally with 'nroff ...'.

  This is just a simple quality control measure.

  The 'generator' may have to be corrected to get a better man page,
the source file may, and any additional file may.

  Common defects:

  Input text line longer than 80 bytes.

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  Not beginning each input sentence on a new line.
Lines should thus be shorter.

  See man-pages(7), item 'semantic newline'.

-.-

The difference between the formatted output of the original and patched file
can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - "

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output of 'diff -u' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)


-.-.

Output from "mandoc -T lint  expect.1": (shortened list)

      5 input text line longer than 80 bytes
      1 line scope broken
     30 whitespace at end of input line

-.-.

Output from "test-groff -mandoc -t -ww -z expect.1": (shortened list)

     28 trailing space in the line

-.-.

Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

Number of lines affected is

31

-.-.

Change '-' (\-) to '\(en' (en-dash) for a numeric range.
GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.

expect.1:2066:    %d      day of the month (01-31)
expect.1:2067:    %H      hour (00-23)
expect.1:2068:    %I      hour (01-12)
expect.1:2069:    %j      day (001-366)
expect.1:2070:    %m      month (01-12)
expect.1:2071:    %M      minute (00-59)
expect.1:2073:    %S      second (00-61)
expect.1:2074:    %u      day (1-7, Monday is first day of week)
expect.1:2075:    %U      week (00-53, first Sunday is first day of week one)
expect.1:2076:    %V      week (01-53, ISO 8601 style)
expect.1:2077:    %w      day (0-6)
expect.1:2078:    %W      week (00-53, first Monday is first day of week one)
expect.1:2081:    %y      year (00-99)
expect.1:2561:\fRby Don Libes, pp. 602, ISBN 1-56592-090-2, O'Reilly and 
Associates, 1995.
expect.1:2566:Anaheim, California, June 11-15, 1990.
expect.1:2573:Conference, Colorado Springs, Colorado, October 17-19, 1990.
expect.1:2578:Washington, D.C., January 22-26, 1990.
expect.1:2587:Libes, Proceedings of the Summer 1992 USENIX Conference, pp. 
135-144,
expect.1:2588:San Antonio, TX, June 12-15, 1992.
expect.1:2597:Proceedings of the 1993 Tcl/Tk Workshop, Berkeley, CA, June 
10-11, 1993.

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

317:.BR \-onexec
954:.BR expect_background
1550:.IR "program args"
1626:.IR string
1665:.BR \-null
1668:.BR \-null

-.-.

Use "\e" to print the escape character instead of "\\" (which gets
interpreted in copy mode).

251:    send_user "$argv0 [lrange $argv 0 2]\\n"
389:    send_user "password?\\ "
390:    expect_user \-re "(.*)\\n"
396:        send "$expect_out(1,string)\\r"
642:        busy               {puts busy\\n ; exp_continue}
666:        busy       {puts busy\\n ; exp_continue}
750:For example, if a process has produced output of "abcdefgh\\n", the result 
of:
763:and "efgh\\n" is left in the output buffer.
764:If a process produced the output "abbbcabkkkka\\n", the result of:
785:and "a\\n" is left in the output buffer.  The pattern "*" (and \-re ".*") 
will
819:        \-i $proc2 busy {puts busy\\n ; exp_continue}
879:            expect_user \-re "(.*)\\n"
880:            send_user "\\n"
881:            send "$expect_out(1,string)\\r"
885:            send_user "invalid password or account\\n"
888:            send_user "connection to $host timed out\\n"
891:            send_user \\
915:        "p" {send "\\r\\r\\r"; exp_continue}
1124:    set CTRLZ \\032
1127:        \\001   {send_user "you typed a control\-A\\n";
1128:                send "\\001"
1131:        \\003   exit
1202:    interact \-input $user_spawn_id timeout 3600 return \-output \\
1319:        interact \-nobuffer \-re "(.*)\\r" return
1631:    send "hello world\\r"
1642:character is denoted "\\r".
1758:    send password\\r
2021:    expect_user \-re "(.*)\\n"
2330:does represent a single argument which has multiple embedded \\n's
2415:    send "speed 9600\\r";
2418:        timeout {send "\\r"; exp_continue}
2449:    set prompt "(%|#|\\\\$) $"          ;# default prompt
2507:explicitly matches the two lines, from, say, printf("foo\\nbar"),
2508:you should use the pattern "foo\\r\\nbar".

-.-.

Move a full stop (period) and a comma outside of a quoted text, if it is
at the end of the quote and does not end a quoted sentence.

687:note below on "system indigestion.")

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.

2335:-brace forces a single argument to be handle as multiple patterns/actions.
2360:define TERM.  Thus, you must set it explicitly - to what type is
2372:them explicitly - to what type is usually irrelevant.  It just has to

-.-.

Find a repeated word

! 626 --> may

-.-.

Add a comma (or \&) after "e.g." and "i.e.", or use English words
(man-pages(7)).
Abbreviation points should be protected against being interpreted as
an end of sentence, if they are not, and that independent of the
current place on the line.

1040:but it reads characters from /dev/tty (i.e. keystrokes from the user).
1054:but it reads characters from stdin (i.e. keystrokes from the user).
1910:cannot be spawned successfully because exec(2) fails (e.g. when

-.-.

Wrong distance between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

-.-

Mark a abbreviation point as such by suffixing them with "\\&".

108:may also be invoked implicitly on systems which support the #! notation
164:the #! notation (see above),
207:This can usefully be placed in the #! line to prevent any flag-like
215:when adding arguments to the #! line.
463:executing rather than returning as it normally would. By
466:resets the timeout timer. The
468:flag prevents timer from being restarted. (See
684:lines respectively. However, because expect is not line oriented,
1040:but it reads characters from /dev/tty (i.e. keystrokes from the user).
1054:but it reads characters from stdin (i.e. keystrokes from the user).
1095:string is not sent to the current process.)   The
1155:Any pattern beginning with a "\-" should be protected this way.    (All 
strings
1730:output and for human-style output are mutually exclusive. Only the one
1731:specified last will be used. Furthermore, no
1910:cannot be spawned successfully because exec(2) fails (e.g. when
2561:\fRby Don Libes, pp. 602, ISBN 1-56592-090-2, O'Reilly and Associates, 
1995.
2582:Computing Systems, Vol. 4, No. 2, University of California Press Journals,
2587:Libes, Proceedings of the Summer 1992 USENIX Conference, pp. 135-144,
2593:Vol. 23, No. 5, May, 1993.
2612:was paid for in part by the U.S. government and is therefore in the public

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.

Line 74, length 91

Run fsck, and in response to its questions, answer "yes", "no" or give control 
back to you,

Line 1023, length 143

By default, it reports on the current spawn id.  An optional spawn id 
specification may be given for information on that spawn id.  For example

Line 1262, length 89

itself, first call interpreter (perhaps by using an escape character), and then 
press ^Z.

Line 1320, length 82

        puts $log "[clock format [clock seconds]]: dialed 
$interact_out(1,string)"

Line 2446, length 104

can be used.  If EXPECT_PROMPT doesn't exist, the code still has a good chance 
of functioning correctly.

-.-.

Use \(en (en-dash) for a dash at the beginning of a line,
or between space characters,
not a minus (\-) or a hyphen (-), except in the NAME section.

expect.1:2360:define TERM.  Thus, you must set it explicitly - to what type is
expect.1:2372:them explicitly - to what type is usually irrelevant.  It just 
has to

-.-.

Do not use more than two space characters between sentences or (better)
only a new line character.

1095:string is not sent to the current process.)   The
1155:Any pattern beginning with a "\-" should be protected this way.    (All 
strings

-.-.

Add a zero (0) in front of a decimal fraction that begins with a period
(.)

1687:must be separated.  For example, "set send_slow {10 .001}" would force
1701:transitions.  The third parameter is a measure of variability where .1
1714:    set send_human {.1 .3 1 .05 2}
1721:    set send_human {.4 .4 .2 .5 100}

-.-.

Split a punctuation from a single argument, if a two-font macro is meant

843:.I any_spawn_id.

-.-.

Name of a manual is set in bold, the section in roman.
See man-pages(7).

1910:cannot be spawned successfully because exec(2) fails (e.g. when
2187:See signal(3) for more info.

-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".

Not considered in a patch, too many lines.

expect.1:45:can also be used directly in C or C++ (that is, without Tcl).
expect.1:70:restart it (again and again) until it does,
expect.1:78:Connect to another network or BBS (e.g., MCI Mail, CompuServe) and
[...]
expect.1:2530:It is often useful to store passwords (or other private 
information)
expect.1:2545:script (that contains the secret data) as usual.
expect.1:2546:Make its permissions be 750 (\-rwxr\-x\-\-\-) and owned by a 
trusted group,
expect.1:2549:permissions 2751 (\-rwxr\-s\-\-x) owned by the same group as 
before.

-.-.

"[" and "]", showing optional arguments to options, should be typeset in
roman.

Too many lines to include in a patch.

15:.BR \- [ f | b ]
296:.BI close " [\-slave] [\-onexec 0|1] [\-i spawn_id]"
342:.BI debug " [[\-now] 0|1]"
416:.BI exit " [\-opts] [status]"
472:.BI exp_internal " [\-f file] value"
494:.BI exp_open " [args] [\-i spawn_id]"
509:.BI exp_pid " [\-i spawn_id]"
535:.BI exp_version " [[\-exit] version]"
574:.BI expect " [[\-opts] pat1 body1] ... [\-opts] patn [bodyn]"
931:.BI expect_after " [expect_args]"
944:.BI expect_background " [expect_args]"
987:.BI expect_before " [expect_args]"
1037:.BI expect_tty " [expect_args]"
1051:.BI expect_user " [expect_args]"
1088:.BI interact " [string1 body1] ... [stringn [bodyn]]"
1483:.BI log_file " [args] [[\-a] file]"
1533:.BI match_max " [\-d] [\-i spawn_id] [size]"
1548:.BI overlay " [\-# spawn_id] [\-# spawn_id] [...] program [args]"
1577:.BI parity " [\-d] [\-i spawn_id] [value]"
1595:.BI remove_nulls " [\-d] [\-i spawn_id] [value]"
1624:.BI send " [\-flags] string"
1771:.BI send_error " [\-flags] string"
1777:.BI send_log " [\-\-] string"
1784:.BI send_tty " [\-flags] string"
1790:.BI send_user " [\-flags] string"
1801:.BI spawn " [args] program [args]"
2049:.BI timestamp " [args]"
2100:.BI trap " [[command] signals]"
2189:.BI wait " [args]"

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z 
":

an.tmac:<stdin>:1: style: .TH missing fourth argument; consider package/project 
name and version (e.g., "groff 1.23.0")
an.tmac:<stdin>:111: style: 4 leading space(s) on input line
troff:<stdin>:126: warning: trailing space in the line
troff:<stdin>:133: warning: trailing space in the line
an.tmac:<stdin>:212: style: 4 leading space(s) on input line
troff:<stdin>:220: warning: trailing space in the line
an.tmac:<stdin>:317: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:323: warning: trailing space in the line
troff:<stdin>:359: warning: trailing space in the line
troff:<stdin>:373: warning: trailing space in the line
troff:<stdin>:440: warning: trailing space in the line
troff:<stdin>:504: warning: trailing space in the line
troff:<stdin>:620: warning: trailing space in the line
troff:<stdin>:804: warning: trailing space in the line
troff:<stdin>:927: warning: trailing space in the line
an.tmac:<stdin>:954: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:1016: warning: trailing space in the line
troff:<stdin>:1173: warning: trailing space in the line
troff:<stdin>:1203: warning: trailing space in the line
troff:<stdin>:1341: warning: trailing space in the line
troff:<stdin>:1343: warning: trailing space in the line
troff:<stdin>:1354: warning: trailing space in the line
troff:<stdin>:1412: warning: trailing space in the line
an.tmac:<stdin>:1550: style: .IR expects at least 2 arguments, got 1
troff:<stdin>:1588: warning: trailing space in the line
troff:<stdin>:1613: warning: trailing space in the line
an.tmac:<stdin>:1626: style: .IR expects at least 2 arguments, got 1
troff:<stdin>:1634: warning: trailing space in the line
troff:<stdin>:1635: warning: trailing space in the line
an.tmac:<stdin>:1665: style: .BR expects at least 2 arguments, got 1
an.tmac:<stdin>:1668: style: .BR expects at least 2 arguments, got 1
troff:<stdin>:2056: warning: trailing space in the line
troff:<stdin>:2101: warning: trailing space in the line
troff:<stdin>:2148: warning: trailing space in the line
troff:<stdin>:2164: warning: trailing space in the line
troff:<stdin>:2271: warning: trailing space in the line
troff:<stdin>:2292: warning: trailing space in the line


-.-.

  Additionally (general):

  Abbreviations get a '\&' added after their final full stop (.) to mark them
as such and not as an end of a sentence.
--- expect.1    2024-12-14 13:56:39.527874044 +0000
+++ expect.1.new        2024-12-17 01:23:12.246228976 +0000
@@ -71,7 +71,8 @@ restart it (again and again) until it do
 then hand over control to you.
 .TP
 \(bu
-Run fsck, and in response to its questions, answer "yes", "no" or give control 
back to you,
+Run fsck, and in response to its questions,
+answer "yes", "no" or give control back to you,
 based on predetermined criteria.
 .TP
 \(bu
@@ -105,7 +106,7 @@ reads
 .I cmdfile
 for a list of commands to execute.
 .B Expect
-may also be invoked implicitly on systems which support the #! notation
+may also be invoked implicitly on systems which support the #!\& notation
 by marking the script executable, and making the first line in your script:
 
     #!/usr/bin/expect \-f
@@ -123,14 +124,14 @@ Multiple commands may be
 executed with a single
 .B \-c
 by separating them with semicolons.
-Commands are executed in the order they appear.  
+Commands are executed in the order they appear.
 (When using Expectk, this option is specified as
 .BR \-command .)
 .PP
 The
 .B \-d
 flag enables some diagnostic output, which
-primarily reports internal activity of commands such as 
+primarily reports internal activity of commands such as
 .B expect
 and
 .BR interact .
@@ -161,7 +162,7 @@ The
 .B \-f
 flag prefaces a file from which to read commands from.
 The flag itself is optional as it is only useful when using
-the #! notation (see above),
+the #!\& notation (see above),
 so that other arguments may be supplied on the command line.
 (When using Expectk, this option is specified as
 .BR \-file .)
@@ -204,7 +205,7 @@ may be used to delimit the end of the op
 you want to pass an option-like argument to your script without it being
 interpreted by
 .BR Expect .
-This can usefully be placed in the #! line to prevent any flag-like
+This can usefully be placed in the #!\& line to prevent any flag-like
 interpretation by Expect.  For example, the following will leave the
 original arguments (including the script name) in the variable
 .IR argv .
@@ -212,12 +213,12 @@ original arguments (including the script
     #!/usr/bin/expect \-\-
 
 Note that the usual getopt(3) and execve(2) conventions must be observed
-when adding arguments to the #! line.
+when adding arguments to the #!\& line.
 .PP
 The file $exp_library/expect.rc is sourced automatically if present, unless
 the
 .B \-N
-flag is used.  
+flag is used.
 (When using Expectk, this option is specified as
 .BR \-NORC .)
 Immediately after this,
@@ -248,7 +249,7 @@ For example,
 the following prints out the name of the script and the first three arguments:
 .nf
 
-    send_user "$argv0 [lrange $argv 0 2]\\n"
+    send_user "$argv0 [lrange $argv 0 2]\en"
 
 .fi
 .SH COMMANDS
@@ -314,13 +315,13 @@ you will need to explicitly call
 .BR close .
 
 The
-.BR \-onexec
+.B \-onexec
 flag determines whether the spawn id will be closed in any new spawned
 processes or if the process is overlayed.  To leave a spawn id open,
 use the value 0.  A non-zero integer value will force the spawn closed
 (the default) in any new processes.
 
-The 
+The
 .B \-slave
 flag closes the slave associated with the spawn id.  (See "spawn \-pty".)
 When the connection is closed, the slave is automatically closed as
@@ -356,7 +357,7 @@ Tcl statement.
 
 The
 .B debug
-command does not change any traps.  Compare this to starting Expect with the 
+command does not change any traps.  Compare this to starting Expect with the
 .B \-D
 flag (see above).
 
@@ -370,7 +371,7 @@ Standard I/O is redirected to /dev/null.
 .IP
 The following fragment uses
 .B disconnect
-to continue running the script in the background.  
+to continue running the script in the background.
 .nf
 
     if {[fork]!=0} exit
@@ -386,14 +387,14 @@ the password so that you only have to ty
 command which demonstrates how to turn off password echoing.)
 .nf
 
-    send_user "password?\\ "
-    expect_user \-re "(.*)\\n"
+    send_user "password?\e "
+    expect_user \-re "(.*)\en"
     for {} 1 {} {
         if {[fork]!=0} {sleep 3600;continue}
         disconnect
         spawn priv_prog
         expect Password:
-        send "$expect_out(1,string)\\r"
+        send "$expect_out(1,string)\er"
         . . .
         exit
     }
@@ -437,7 +438,7 @@ so that other Tcl extensions can clean u
 .B exit
 is called again (however this might occur), the handlers are not rerun.
 
-Upon exiting, 
+Upon exiting,
 all connections to spawned processes are closed.  Closure will be detected
 as an EOF by spawned processes.
 .B exit
@@ -460,12 +461,14 @@ The command
 allows
 .B expect
 itself to continue
-executing rather than returning as it normally would. By
-default
+executing rather than returning as it normally would.
+By default
 .B exp_continue
-resets the timeout timer. The
+resets the timeout timer.
+The
 .I \-continue_timer
-flag prevents timer from being restarted. (See
+flag prevents timer from being restarted.
+(See
 .B expect
 for more information.)
 .TP
@@ -501,7 +504,7 @@ should not be executed.
 
 The
 .B \-leaveopen
-flag leaves the spawn id open for access through 
+flag leaves the spawn id open for access through
 Expect commands.  A
 .B wait
 must be executed on the spawn id.
@@ -547,7 +550,7 @@ is the major number.  Scripts written fo
 .B Expect
 with a
 different major number will almost certainly not work.
-.B exp_version 
+.B exp_version
 returns an error if the major numbers do not match.
 .IP
 Second is the minor number.  Scripts written for a version with a
@@ -617,13 +620,13 @@ In situations where there is no prompt,
 .B timeout
 (just like you would if you were interacting manually).
 .IP
-Patterns are specified in three ways.  By default, 
+Patterns are specified in three ways.  By default,
 patterns are specified as with Tcl's
 .B string match
 command.  (Such patterns are also similar to C-shell regular expressions
 usually referred to as "glob" patterns).  The
 .B \-gl
-flag may may
+flag may
 be used to protect patterns that might otherwise match
 .B expect
 flags from doing so.
@@ -639,7 +642,7 @@ is presumed to be a procedure defined el
 
 .ta \w'      expect 'u +\w'invalid password    'u
     expect {
-        busy               {puts busy\\n ; exp_continue}
+        busy               {puts busy\en ; exp_continue}
         failed             abort
         "invalid password" abort
         timeout            abort
@@ -663,7 +666,7 @@ The previous example can be rewritten us
 
 .ta \w'      expect 'u +\w'connected    'u
     expect {
-        busy       {puts busy\\n ; exp_continue}
+        busy       {puts busy\en ; exp_continue}
         \-re "failed|invalid password" abort
         timeout    abort
         connected
@@ -681,10 +684,11 @@ can look unnatural.  Thus, use of $ is e
 describe the characters at the end of a string.
 
 Note that in many editors, the ^ and $ match the beginning and end of
-lines respectively. However, because expect is not line oriented,
+lines respectively.
+However, because expect is not line oriented,
 these characters match the beginning and end of the data (as opposed
 to lines) currently in the expect matching buffer.  (Also, see the
-note below on "system indigestion.")
+note below on "system indigestion".)
 
 The
 .B \-ex
@@ -747,7 +751,7 @@ and
 where X is a digit, corresponds to the substring position in the buffer.
 0 refers to strings which matched the entire pattern
 and is generated for glob patterns as well as regexp patterns.
-For example, if a process has produced output of "abcdefgh\\n", the result of:
+For example, if a process has produced output of "abcdefgh\en", the result of:
 .nf
 
     expect "cd"
@@ -760,8 +764,8 @@ is as if the following statements had ex
     set expect_out(buffer) abcd
 
 .fi
-and "efgh\\n" is left in the output buffer.
-If a process produced the output "abbbcabkkkka\\n", the result of:
+and "efgh\en" is left in the output buffer.
+If a process produced the output "abbbcabkkkka\en", the result of:
 .nf
 
     expect \-indices \-re "b(b*).*(k+)"
@@ -782,7 +786,7 @@ is as if the following statements had ex
     set expect_out(buffer) abbbcabkkkk
 
 .fi
-and "a\\n" is left in the output buffer.  The pattern "*" (and \-re ".*") will
+and "a\en" is left in the output buffer.  The pattern "*" (and \-re ".*") will
 flush the output buffer without reading any more output from the
 process.
 .IP
@@ -801,7 +805,7 @@ The
 flag causes the current expect command to use the following value
 as a timeout instead of using the value of the timeout variable.
 
-By default, 
+By default,
 patterns are matched against output from the current process, however the
 .B \-i
 flag declares the output from the named spawn_id list be matched against
@@ -816,7 +820,7 @@ password" from the spawn_id named by $pr
 .nf
 
     expect {
-        \-i $proc2 busy {puts busy\\n ; exp_continue}
+        \-i $proc2 busy {puts busy\en ; exp_continue}
         \-re "failed|invalid password" abort
         timeout abort
         connected
@@ -840,7 +844,7 @@ is made available to any other patterns
 in the same
 .B expect
 command associated with
-.I any_spawn_id.
+.IR any_spawn_id .
 
 The
 .B \-i
@@ -876,19 +880,19 @@ statement (to look for the prompt again)
         Password: {
             stty \-echo
             send_user "password (for $user) on $host: "
-            expect_user \-re "(.*)\\n"
-            send_user "\\n"
-            send "$expect_out(1,string)\\r"
+            expect_user \-re "(.*)\en"
+            send_user "\en"
+            send "$expect_out(1,string)\er"
             stty echo
             exp_continue
         } incorrect {
-            send_user "invalid password or account\\n"
+            send_user "invalid password or account\en"
             exit
         } timeout {
-            send_user "connection to $host timed out\\n"
+            send_user "connection to $host timed out\en"
             exit
         } eof {
-            send_user \\
+            send_user \e
                 "connection to host failed: $expect_out(buffer)"
             exit
         } \-re $prompt
@@ -912,7 +916,7 @@ current action.
     stty raw \-echo
     expect_after {
         \-i $user_spawn_id
-        "p" {send "\\r\\r\\r"; exp_continue}
+        "p" {send "\er\er\er"; exp_continue}
         "+" {incr foo; exp_continue}
         "i" {interact; exp_continue}
         "quit" exit
@@ -924,7 +928,7 @@ By default,
 .B exp_continue
 resets the timeout timer.  The timer is not restarted, if
 .B exp_continue
-is called with the 
+is called with the
 .B \-continue_timer
 flag.
 .TP
@@ -951,7 +955,7 @@ The pattern
 and
 .B default
 are meaningless to
-.BR expect_background
+.B expect_background
 and are silently discarded.
 Otherwise, the
 .B expect_background
@@ -1013,14 +1017,18 @@ Unless overridden by a
 .B \-i
 flag,
 .B expect_before
-patterns match against the spawn id defined at the time that the 
+patterns match against the spawn id defined at the time that the
 .B expect_before
 command was executed (not when its pattern is matched).
 
 The \-info flag causes
 .B expect_before
 to return the current specifications of what patterns it will match.
-By default, it reports on the current spawn id.  An optional spawn id 
specification may be given for information on that spawn id.  For example
+By default,
+it reports on the current spawn id.
+An optional spawn id specification may be given for information on that spawn
+id.
+For example
 .nf
 
     expect_before \-info \-i $proc
@@ -1037,7 +1045,8 @@ The output of the \-info flag can be reu
 .BI expect_tty " [expect_args]"
 is like
 .B expect
-but it reads characters from /dev/tty (i.e. keystrokes from the user).
+but it reads characters from /dev/tty
+(i.e., keystrokes from the user).
 By default, reading is performed in cooked mode.
 Thus, lines must end with a return in order for
 .B expect
@@ -1051,7 +1060,8 @@ command below).
 .BI expect_user " [expect_args]"
 is like
 .B expect
-but it reads characters from stdin (i.e. keystrokes from the user).
+but it reads characters from stdin
+(i.e., keystrokes from the user).
 By default, reading is performed in cooked mode.
 Thus, lines must end with a return in order for
 .B expect
@@ -1091,8 +1101,9 @@ keystrokes are sent to the current proce
 and the stdout and stderr of the current process are returned.
 .IP
 String-body pairs may be specified as arguments, in which case the
-body is executed when the corresponding string is entered.  (By default, the
-string is not sent to the current process.)   The
+body is executed when the corresponding string is entered.
+(By default, the string is not sent to the current process.)
+The
 .B interpreter
 command is assumed, if the final body is missing.
 .IP
@@ -1121,14 +1132,14 @@ interpreter runs interactively.
 .nf
 
 .ta \w'    interact 'u +\w'$CTRLZ  'u +\w'{'u
-    set CTRLZ \\032
+    set CTRLZ \e032
     interact {
         \-reset $CTRLZ {exec kill \-STOP [pid]}
-        \\001   {send_user "you typed a control\-A\\n";
-                send "\\001"
+        \e001   {send_user "you typed a control\-A\en";
+                send "\e001"
                }
         $      {send_user "The date is [clock format [clock seconds]]."}
-        \\003   exit
+        \e003   exit
         foo    {send_user "bar"}
         ~~
     }
@@ -1152,8 +1163,8 @@ command uses glob-style patterns by defa
 flag may be used to protect patterns that might otherwise match
 .B interact
 flags from doing so.
-Any pattern beginning with a "\-" should be protected this way.    (All strings
-starting with "\-" are reserved for future options.)
+Any pattern beginning with a "\-" should be protected this way.
+(All strings starting with "\-" are reserved for future options.)
 
 The
 .B \-re
@@ -1170,7 +1181,7 @@ flag is similarly supported.
 
 The pattern
 .B eof
-introduces an action that is 
+introduces an action that is
 executed upon end-of-file.  A separate
 .B eof
 pattern may also follow the
@@ -1199,8 +1210,8 @@ not typed anything for an hour but who s
 messages:
 .nf
 
-    interact \-input $user_spawn_id timeout 3600 return \-output \\
-        $spawn_id 
+    interact \-input $user_spawn_id timeout 3600 return \-output \e
+        $spawn_id
 
 .fi
 
@@ -1259,7 +1270,9 @@ If you really want to send a SIGSTOP to
 consider spawning csh first and then running your program.
 On the other hand, if you want to send a SIGSTOP to
 .B Expect
-itself, first call interpreter (perhaps by using an escape character), and 
then press ^Z.
+itself, first call interpreter
+(perhaps by using an escape character),
+and then press ^Z.
 .IP
 String-body pairs can be used as a shorthand for avoiding having
 to enter the interpreter and execute commands interactively.  The previous
@@ -1316,7 +1329,7 @@ logs the rest of the line.
 .nf
 
     proc lognumber {} {
-        interact \-nobuffer \-re "(.*)\\r" return
+        interact \-nobuffer \-re "(.*)\er" return
         puts $log "[clock format [clock seconds]]: dialed 
$interact_out(1,string)"
     }
 
@@ -1338,9 +1351,9 @@ The
 flag causes any following key-body pairs to be applied to the output of
 the current process.
 This can be useful, for example, when dealing with hosts that
-send unwanted characters during a telnet session.  
+send unwanted characters during a telnet session.
 .IP
-By default, 
+By default,
 .B interact
 expects the user to be writing stdin and reading stdout of the
 .B Expect
@@ -1351,7 +1364,7 @@ The
 flag (for "user") makes
 .B interact
 look for the user as the process named by its argument
-(which must be a spawned id).  
+(which must be a spawned id).
 .IP
 This allows two unrelated processes to be joined
 together without using an explicit loop.  To aid in debugging, Expect
@@ -1409,7 +1422,7 @@ it overrides $spawn_id.  Additional
 flags may be specified.
 
 The two implied input processes default to having their outputs specified as
-$spawn_id and $user_spawn_id (in reverse).  
+$spawn_id and $user_spawn_id (in reverse).
 If a
 .B \-input
 flag appears
@@ -1547,7 +1560,7 @@ the current process.
 .TP
 .BI overlay " [\-# spawn_id] [\-# spawn_id] [...] program [args]"
 executes
-.IR "program args"
+.I "program args"
 in place of the current
 .B Expect
 program, which terminates.
@@ -1585,7 +1598,7 @@ argument, the current value is returned.
 .IP
 With the
 .B \-d
-flag, the default parity value is set.  (The initial default is 1, i.e., 
+flag, the default parity value is set.  (The initial default is 1, i.e.,
 parity is not stripped.)
 With the
 .B \-i
@@ -1596,7 +1609,7 @@ the current process.
 defines whether nulls are retained or removed from the output of
 spawned processes before pattern matching
 or storing in the variable
-.I expect_out 
+.I expect_out
 or
 .IR interact_out .
 If
@@ -1610,7 +1623,7 @@ argument, the current value is returned.
 .IP
 With the
 .B \-d
-flag, the default value is set.  (The initial default is 1, i.e., 
+flag, the default value is set.  (The initial default is 1, i.e.,
 nulls are removed.)
 With the
 .B \-i
@@ -1623,23 +1636,23 @@ will record null bytes to the log and st
 .TP
 .BI send " [\-flags] string"
 Sends
-.IR string
+.I string
 to the current process.
 For example, the command
 .nf
 
-    send "hello world\\r"
+    send "hello world\er"
 
 .fi
-sends the characters, h e l l o <blank> w o r l d <return> to the 
-current process.  
+sends the characters, h e l l o <blank> w o r l d <return> to the
+current process.
 (Tcl includes a printf-like command (called
 .BR format )
 which can build arbitrarily complex strings.)
 .IP
 Characters are sent immediately although programs with line-buffered input
 will not read the characters until a return character is sent.  A return
-character is denoted "\\r".
+character is denoted "\er".
 
 The
 .B \-\-
@@ -1662,10 +1675,10 @@ The
 flag disables this translation.
 
 The
-.BR \-null
+.B \-null
 flag sends null characters (0 bytes).  By default, one null is sent.
 An integer may follow the
-.BR \-null
+.B \-null
 to indicate how many nulls to send.
 
 The
@@ -1684,7 +1697,7 @@ controlled by the value of the variable
 element list.  The first element is an integer that describes the
 number of bytes to send atomically.  The second element is a real
 number that describes the number of seconds by which the atomic sends
-must be separated.  For example, "set send_slow {10 .001}" would force
+must be separated.  For example, "set send_slow {10 0.001}" would force
 "send \-s" to send strings with 1 millisecond in between each 10
 characters sent.
 
@@ -1698,7 +1711,7 @@ the variable "send_human" which takes a
 two elements are average interarrival time of characters in seconds.
 The first is used by default.  The second is used at word endings, to
 simulate the subtle pauses that occasionally occur at such
-transitions.  The third parameter is a measure of variability where .1
+transitions.  The third parameter is a measure of variability where 0.1
 is quite variable, 1 is reasonably variable, and 10 is quite
 invariable.  The extremes are 0 to infinity.  The last two parameters
 are, respectively, a minimum and maximum interarrival time.
@@ -1711,14 +1724,14 @@ example, the following command emulates
 consistent typist:
 .nf
 
-    set send_human {.1 .3 1 .05 2}
+    set send_human {0.1 0.3 1 0.05 2}
     send \-h "I'm hungry.  Let's do lunch."
 
 .fi
 while the following might be more suitable after a hangover:
 .nf
 
-    set send_human {.4 .4 .2 .5 100}
+    set send_human {0.4 0.4 0.2 0.5 100}
     send \-h "Goodd party lash night!"
 
 .fi
@@ -1727,8 +1740,9 @@ correction situations yourself by embedd
 in a send argument.
 
 The flags for sending null characters, for sending breaks, for forcing slow
-output and for human-style output are mutually exclusive. Only the one
-specified last will be used. Furthermore, no
+output and for human-style output are mutually exclusive.
+Only the one specified last will be used.
+Furthermore, no
 .I string
 argument can be specified with the flags for sending null characters or breaks.
 
@@ -1755,7 +1769,7 @@ by a delay as in:
     # Wait for 5 seconds for exec to complete
     spawn telnet very.secure.gov
     sleep 5
-    send password\\r
+    send password\er
 
 .fi
 .B exp_send
@@ -1907,9 +1921,13 @@ be to reboot.
 
 If
 .I program
-cannot be spawned successfully because exec(2) fails (e.g. when
+cannot be spawned successfully because
+.BR exec (2)
+fails
+(e.g., when
 .I program
-doesn't exist), an error message will be returned by the next
+doesn't exist),
+an error message will be returned by the next
 .B interact
 or
 .B expect
@@ -1986,7 +2004,7 @@ most recent non-info arguments given.
 changes terminal modes similarly to the external stty command.
 
 By default, the controlling terminal is accessed.  Other terminals can
-be accessed by appending "< /dev/tty..." to the command.  (Note that
+be accessed by appending "< /dev/tty...\&" to the command.  (Note that
 the arguments should not be grouped into a single argument.)
 
 Requests for status return it as the result of the command.  If no status
@@ -2018,7 +2036,7 @@ scripts to avoid embedding passwords in
 
     stty \-echo
     send_user "Password: "
-    expect_user \-re "(.*)\\n"
+    expect_user \-re "(.*)\en"
     set password $expect_out(1,string)
     stty echo
 
@@ -2053,7 +2071,7 @@ seconds since the epoch is returned.
 
 The
 .B \-format
-flag introduces a string which is returned but with 
+flag introduces a string which is returned but with
 substitutions made according to the
 POSIX rules for strftime.  For example %a is replaced by an abbreviated
 weekday name (i.e., Sat).  Others are:
@@ -2063,22 +2081,22 @@ weekday name (i.e., Sat).  Others are:
     %b      abbreviated month name
     %B      full month name
     %c      date-time as in: Wed Oct  6 11:45:56 1993
-    %d      day of the month (01-31)
-    %H      hour (00-23)
-    %I      hour (01-12)
-    %j      day (001-366)
-    %m      month (01-12)
-    %M      minute (00-59)
+    %d      day of the month (01\(en31)
+    %H      hour (00\(en23)
+    %I      hour (01\(en12)
+    %j      day (001\(en366)
+    %m      month (01\(en12)
+    %M      minute (00\(en59)
     %p      am or pm
-    %S      second (00-61)
-    %u      day (1-7, Monday is first day of week)
-    %U      week (00-53, first Sunday is first day of week one)
-    %V      week (01-53, ISO 8601 style)
-    %w      day (0-6)
-    %W      week (00-53, first Monday is first day of week one)
+    %S      second (00\(en61)
+    %u      day (1\(en7, Monday is first day of week)
+    %U      week (00\(en53, first Sunday is first day of week one)
+    %V      week (01\(en53, ISO 8601 style)
+    %w      day (0\(en6)
+    %W      week (00\(en53, first Monday is first day of week one)
     %x      date-time as in: Wed Oct  6 1993
     %X      time as in: 23:59:59
-    %y      year (00-99)
+    %y      year (00\(en99)
     %Y      year as in: 1993
     %Z      timezone (or nothing if not determinable)
     %%      a bare percent sign
@@ -2098,7 +2116,7 @@ flag forces timestamp output to use the
 the local timezone is used.
 .TP
 .BI trap " [[command] signals]"
-causes the given 
+causes the given
 .I command
 to be executed upon future receipt of any of the given signals.
 The command is executed in the global scope.
@@ -2106,14 +2124,16 @@ If
 .I command
 is absent, the signal action is returned.
 If
-.I command 
+.I command
 is the string SIG_IGN, the signals are ignored.
 If
 .I command
 is the string SIG_DFL, the signals are result to the system default.
 .I signals
 is either a single signal or a list of signals.  Signals may be specified
-numerically or symbolically as per signal(3).  The "SIG" prefix may be omitted.
+numerically or symbolically as per
+.BR signal (3).
+The "SIG" prefix may be omitted.
 
 With no arguments (or the argument \-number),
 .B trap
@@ -2145,7 +2165,7 @@ command to return the largest signal num
 For example, the command "trap {send_user "Ouch!"} SIGINT" will print "Ouch!"
 each time the user presses ^C.
 
-By default, SIGINT (which can usually be generated by pressing ^C) and 
+By default, SIGINT (which can usually be generated by pressing ^C) and
 SIGTERM cause Expect to exit.  This is due to the following trap, created
 by default when Expect starts.
 .nf
@@ -2161,7 +2181,7 @@ to start the interactive debugger.  This
 
 .fi
 The debugger trap can be changed by setting the environment variable
-EXPECT_DEBUG_INIT to a new trap command.  
+EXPECT_DEBUG_INIT to a new trap command.
 
 You can, of course, override both of these just by adding trap
 commands to your script.  In particular, if you have your own "trap
@@ -2268,7 +2288,7 @@ use syntax corresponding to earlier vers
 rationales are still valid and go into a lot more detail than this
 man page.
 .SH CAVEATS
-Extensions may collide with Expect's command names.  For example, 
+Extensions may collide with Expect's command names.  For example,
 .B send
 is defined by Tk for an entirely different purpose.
 For this reason, most of the
@@ -2289,7 +2309,7 @@ procedure you write that uses
 .BR expect .
 On the other hand, variables written are always in the local scope (unless
 a "global" command has been issued).  The most common problem this causes
-is when spawn is executed in a procedure.  Outside the procedure, 
+is when spawn is executed in a procedure.  Outside the procedure,
 .I spawn_id
 no longer exists, so the spawned process is no longer accessible
 simply because of scoping.  Add a "global spawn_id" to such a procedure.
@@ -2327,12 +2347,12 @@ variants and
 .BR interact )
 use a heuristic to decide if the list is actually one argument or
 many.  The heuristic can fail only in the case when the list actually
-does represent a single argument which has multiple embedded \\n's
+does represent a single argument which has multiple embedded \en's
 with non-whitespace characters between them.  This seems sufficiently
 improbable, however the argument "\-nobrace" can be used to force a
 single argument to be handled as a single argument.  This could
 conceivably be used with machine-generated Expect code.  Similarly,
--brace forces a single argument to be handle as multiple patterns/actions.
+\-brace forces a single argument to be handle as multiple patterns/actions.
 
 .SH BUGS
 It was really tempting to name the program "sex" (for either "Smart EXec"
@@ -2357,7 +2377,7 @@ Upgrade to IRIX 6.1.
 
 Telnet (verified only under SunOS 4.1.2) hangs if TERM is not set.
 This is a problem under cron, at and in cgi scripts, which do not
-define TERM.  Thus, you must set it explicitly - to what type is
+define TERM.  Thus, you must set it explicitly \(en to what type is
 usually irrelevant.  It just has to be set to something!  The
 following probably suffices for most cases.
 .nf
@@ -2369,7 +2389,7 @@ following probably suffices for most cas
 Tip (verified only under BSDI BSD/OS 3.1 i386) hangs if SHELL and HOME
 are not set.  This is a problem under cron, at and in cgi scripts,
 which do not define these environment variables.  Thus, you must set
-them explicitly - to what type is usually irrelevant.  It just has to
+them explicitly \(en to what type is usually irrelevant.  It just has to
 be set to something!  The following probably suffices for most cases.
 .nf
 
@@ -2412,10 +2432,10 @@ the hardware is ready to receive input.
 both strategies:
 .nf
 
-    send "speed 9600\\r";
+    send "speed 9600\er";
     sleep 1
     expect {
-        timeout {send "\\r"; exp_continue}
+        timeout {send "\er"; exp_continue}
         $prompt
     }
 
@@ -2443,10 +2463,12 @@ shells, portably automating rlogin can b
 the prompt.  A reasonable convention is to have users store a regular
 expression describing their prompt (in particular, the end of it) in
 the environment variable EXPECT_PROMPT.  Code like the following
-can be used.  If EXPECT_PROMPT doesn't exist, the code still has a good chance 
of functioning correctly.
+can be used.
+If EXPECT_PROMPT doesn't exist,
+the code still has a good chance of functioning correctly.
 .nf
 
-    set prompt "(%|#|\\\\$) $"          ;# default prompt
+    set prompt "(%|#|\e\e$) $"          ;# default prompt
     catch {set prompt $env(EXPECT_PROMPT)}
 
     expect \-re $prompt
@@ -2504,8 +2526,8 @@ is ever moved around, you won't have to
 
 Newlines are usually converted to carriage return, linefeed sequences
 when output by the terminal driver.  Thus, if you want a pattern that
-explicitly matches the two lines, from, say, printf("foo\\nbar"),
-you should use the pattern "foo\\r\\nbar".
+explicitly matches the two lines, from, say, printf("foo\enbar"),
+you should use the pattern "foo\er\enbar".
 .PP
 A similar translation occurs when reading from the user, via
 .BR expect_user .
@@ -2558,43 +2580,43 @@ script.
 .br
 .I
 "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs"
-\fRby Don Libes, pp. 602, ISBN 1-56592-090-2, O'Reilly and Associates, 1995.
+\fRby Don Libes, pp.\& 602, ISBN 1-56592-090-2, O'Reilly and Associates, 1995.
 .br
 .I
 "expect: Curing Those Uncontrollable Fits of Interactivity" \fRby Don Libes,
 Proceedings of the Summer 1990 USENIX Conference,
-Anaheim, California, June 11-15, 1990.
+Anaheim, California, June 11\(en15, 1990.
 .br
 .I
 "Using
 .B expect
 to Automate System Administration Tasks" \fRby Don Libes,
 Proceedings of the 1990 USENIX Large Installation Systems Administration
-Conference, Colorado Springs, Colorado, October 17-19, 1990.
+Conference, Colorado Springs, Colorado, October 17\(en19, 1990.
 .br
 .I
 "Tcl: An Embeddable Command Language" \fRby John Ousterhout,
 Proceedings of the Winter 1990 USENIX Conference,
-Washington, D.C., January 22-26, 1990.
+Washington, D.C., January 22\(en26, 1990.
 .br
 .I
 "expect: Scripts for Controlling Interactive Programs" \fRby Don Libes,
-Computing Systems, Vol. 4, No. 2, University of California Press Journals,
+Computing Systems, Vol. 4, No.\& 2, University of California Press Journals,
 November 1991.
 .br
 .I
 "Regression Testing and Conformance Testing Interactive Programs", \fRby Don
-Libes, Proceedings of the Summer 1992 USENIX Conference, pp. 135-144,
-San Antonio, TX, June 12-15, 1992.
+Libes, Proceedings of the Summer 1992 USENIX Conference, pp.\& 135\(en144,
+San Antonio, TX, June 12\(en15, 1992.
 .br
 .I
 "Kibitz \- Connecting Multiple Interactive Programs Together", \fRby Don Libes,
 Software \- Practice & Experience, John Wiley & Sons, West Sussex, England,
-Vol. 23, No. 5, May, 1993.
+Vol. 23, No.\& 5, May, 1993.
 .br
 .I
 "A Debugger for Tcl Applications", \fRby Don Libes,
-Proceedings of the 1993 Tcl/Tk Workshop, Berkeley, CA, June 10-11, 1993.
+Proceedings of the 1993 Tcl/Tk Workshop, Berkeley, CA, June 10\(en11, 1993.
 .SH AUTHOR
 Don Libes, National Institute of Standards and Technology
 .SH ACKNOWLEDGMENTS
@@ -2609,7 +2631,7 @@ and gave other assistance.
 .PP
 Design and implementation of
 .B Expect
-was paid for in part by the U.S. government and is therefore in the public
+was paid for in part by the U.S.\& government and is therefore in the public
 domain.
 However the author and NIST would like credit
 if this program and documentation or portions of them are used.

Reply via email to