summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2000-04-22 13:17:38 +0000
committerwlemb <wlemb>2000-04-22 13:17:38 +0000
commitbd52bc42ff1ad211c8d67fd2d0d6295ceb7d1e58 (patch)
treec5790e68ecbe2999e266ae36e6b2a43f94ff5ed6
parentc645488b1cc07d4385fa70501046ec5c08be551c (diff)
downloadgroff-bd52bc42ff1ad211c8d67fd2d0d6295ceb7d1e58.tar.gz
* src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the
`.T' string register and the incompatible definition of the `.T' number register (compared to Unix troff). * man/groff_char.man: Add some missing characters. * font/devutf8/NOTES: Update. * src/include/htmlindicate.h, src/include/lib.h, src/include/posix.h: Fix copyright. * src/include/Makefile.sub: Update. * src/roff/troff/input.cc (input_char_description): Removing superfluous space char. * tmac/tmac.X: Fix typo (bq -> (Bq. * doc/groff.texinfo: Document EBCDIC. Introducing `shc' as the glyph name for the soft hyphen character. * tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html, font/devlatin1/R.proto: Use it. * NEWS: Updated. * src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing dependency on ASCII order.
-rw-r--r--ChangeLog41
-rw-r--r--NEWS5
-rw-r--r--doc/groff.texinfo176
-rw-r--r--font/devlatin1/R.proto3
-rw-r--r--font/devutf8/NOTES26
-rw-r--r--man/groff_char.man15
-rw-r--r--src/devices/grops/ps.cc7
-rw-r--r--src/include/Makefile.sub2
-rwxr-xr-xsrc/include/htmlindicate.h2
-rw-r--r--src/include/lib.h2
-rw-r--r--src/include/posix.h2
-rw-r--r--src/roff/troff/input.cc2
-rw-r--r--src/roff/troff/troff.man30
-rwxr-xr-xtmac/tmac.X2
-rwxr-xr-xtmac/tmac.html2
-rwxr-xr-xtmac/tmac.latin12
-rwxr-xr-xtmac/tmac.tty2
17 files changed, 234 insertions, 87 deletions
diff --git a/ChangeLog b/ChangeLog
index 1a11dc2a..2cf88f21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,43 @@
-2000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at>
+2000-04-22 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/troff.man, doc/groff.texinfo, NEWS: Document the
+ `.T' string register and the incompatible definition of the `.T'
+ number register (compared to Unix troff).
+
+ * man/groff_char.man: Add some missing characters.
+ * font/devutf8/NOTES: Update.
+
+2000-04-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/htmlindicate.h, src/include/lib.h,
+ src/include/posix.h: Fix copyright.
+
+ * src/include/Makefile.sub: Update.
+
+2000-04-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (input_char_description): Removing
+ superfluous space char.
+
+ * tmac/tmac.X: Fix typo \(bq -> \(Bq.
+
+ * doc/groff.texinfo: Document EBCDIC.
+
+2000-04-19 Werner LEMBERG <wl@gnu.org>
+
+ Introducing `shc' as the glyph name for the soft hyphen character.
+
+ * tmac/tmac.tty, tmac/tmac.latin1, tmac/tmac.html,
+ font/devlatin1/R.proto: Use it.
+
+ * NEWS: Updated.
+
+2000-04-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cc (ps_printer::flush_sbuf): Removing
+ dependency on ASCII order.
+
+2000-04-16 Sandor BARANY <S.Barany@infosys.tuwien.ac.at>
* src/libs/libgroff/illegal.c: Added EBCDIC table.
* src/roff/troff/input.cc: Added adaptation to EBCDIC.
diff --git a/NEWS b/NEWS
index b245efe3..6ddae3b8 100644
--- a/NEWS
+++ b/NEWS
@@ -63,6 +63,9 @@ Previously, the text after \fP appeared as bold.
The `substring' request is not new, but hasn't been documented before.
+The predefined `.T' string register (which holds the current output device)
+is not new, but hasn't been documented before.
+
A new request `length' computes the length of a string and returns it in
a number register.
@@ -73,6 +76,8 @@ A new resource file, `troffrc-end', is now available. It is invoked after
all user-specified macros. Currently used by the html device to include
tmac.html; thus no need for users to specify -mhtml anymore.
+The soft hyphen character now has a glyph name: `shc'.
+
Grotty
------
diff --git a/doc/groff.texinfo b/doc/groff.texinfo
index 7fee34ef..abeb4380 100644
--- a/doc/groff.texinfo
+++ b/doc/groff.texinfo
@@ -1057,6 +1057,13 @@ printers).
To produce @acronym{HTML} output.
@end table
+@vindex .T
+@maindex \*(.T
+The predefined @code{gtroff} string register @code{.T} contains the
+current output device; the read-only number register @code{.T} is set
+to@w{ }1 if this option is used (which is always true if @code{groff} is
+used to call @code{gtroff}). @xref{Built-in Registers}.
+
The postprocessor to be used for a device is specified by the
@code{postpro} command in the device description file. (@xref{Font
Files}, for more info.) This can be overridden with the @option{-X}
@@ -1078,7 +1085,10 @@ Safer mode. Pass the @option{-S} option to @code{gpic} and use the
@item -U
Unsafe mode. Reverts to the old unsafe behaviour.
@item -a
-Generate an @acronym{ASCII} approximation of the typeset output.
+@vindex .A
+Generate an @acronym{ASCII} approximation of the typeset output. The
+read-only register @code{.A} is then set to@w{ }1. @xref{Built-in
+Registers}.
@item -b
Print a backtrace with each warning or error message. This backtrace
should help track down the cause of the error. The line numbers given
@@ -2156,12 +2166,12 @@ character (at the end of a line), append @code{\&}.
@cindex character, tabulator
@code{gtroff} translates @dfn{tabulator characters}, also called
-@dfn{tabs} (normally code point @code{0x09}), in the input into
-movements to the next tabulator stop. These tab stops are initially
-located every half inch across the page. Using this simple tables can
-easily be made. However, it can often be deceptive as the appearance
-(and width) of the text on a terminal and the results from @code{gtroff}
-can vary greatly.
+@dfn{tabs} (normally code point @acronym{ASCII} @code{0x09} resp.@:
+@acronym{EBCDIC} @code{0x05}), in the input into movements to the next
+tabulator stop. These tab stops are initially located every half inch
+across the page. Using this simple tables can easily be made. However,
+it can often be deceptive as the appearance (and width) of the text on a
+terminal and the results from @code{gtroff} can vary greatly.
Also, a possible sticking point is that lines beginning with tab
characters will still be filled, again producing unexpected results.
@@ -2329,8 +2339,6 @@ Vertical space. This is equivalent to the current line spacing.
100ths of an em.
@end table
-@xref{Fractional Type Sizes}.
-
@menu
* Default Units::
@end menu
@@ -2491,18 +2499,26 @@ Whitespace characters (space, tabs, and newlines).
@cindex character, backspace
@cindex backspace character
@item
-Backspace (@code{0x08}) and character code @code{0x01}.
+Backspace (@acronym{ASCII}@w{ }@code{0x08} resp.@: @acronym{EBCDIC}@w{
+}@code{0x16}) and character code @code{0x01}.
@cindex illegal input characters
@cindex input characters, illegal
@cindex characters, illegal input
@cindex unicode
@item
-The following input characters are illegal and will be ignored, causing
-a warning message: @code{0x00}, @code{0x0B}, @code{0x0D}-@code{0x1F},
-@code{0x80}-@code{0x9F}. Currently, some of these reserved codepoints
-are used internally, thus making it non-trivial to extend @code{gtroff}
-to cover Unicode or other character sets resp.@: encodings which use
-characters of these ranges.
+The following input characters are illegal and will be ignored if
+@code{groff} runs on a machine based on @acronym{ASCII}, causing a
+warning message: @code{0x00}, @code{0x0B}, @code{0x0D}-@code{0x1F},
+@code{0x80}-@code{0x9F}.
+
+And here the illegal input characters if @code{groff} runs on an
+@acronym{EBCDIC} host: @code{0x00}, @code{0x08}, @code{0x09},
+@code{0x0B}, @code{0x0D}-@code{0x14}, @code{0x17}-@code{0x1F},
+@code{0x30}-@code{0x3F}.
+
+Currently, some of these reserved codepoints are used internally, thus
+making it non-trivial to extend @code{gtroff} to cover Unicode or other
+character sets resp.@: encodings which use characters of these ranges.
Note that illegal characters will be removed before parsing; an
identifier `foo', followed by an illegal character, followed by `bar'
@@ -2522,7 +2538,9 @@ end-list
@findex ]
Note that identifiers longer than two characters with a closing bracket
(@samp{]}) in its name can't be accessed with escape sequences which
-expect an identifier as a parameter.
+expect an identifier as a parameter. For example, @samp{\[foo]]} will
+access the glyph @samp{foo}, followed by @samp{]}, whereas
+@samp{\C'foo]'} really asks for glyph @samp{foo]}.
@c XXX xref
@@ -3279,13 +3297,24 @@ Always@w{ }1. Macros should use this to determine whether they are
running under GNU @code{troff}.
@item .A
@vindex .A
-If the current output device is @acronym{ASCII}, this is set to@w{ }1,
-zero otherwise.
+If the command line option @option{-a} is used to produce an
+@acronym{ASCII} approximation of the output, this is set to@w{ }1, zero
+otherwise. @xref{Groff Options}.
@item .P
@vindex .P
This register indicates whether the current page is actually being
printed, i.e., whether the @option{-o} option is being used to only
print selected pages. @xref{Groff Options}, for more information.
+@item .T
+@vindex .T
+If @code{gtroff} is called with the @option{-T} command line option, the
+number register @code{.T} is set to@w{ }1, and zero otherwise.
+@xref{Groff Options}.
+
+@maindex \*(.T
+Additionally, @code{gtroff} predefines a single (read/write) string
+register @code{.T} which contains the current output device (for
+example, @samp{latin1} or @samp{ps}).
@end table
@@ -3746,22 +3775,29 @@ macros inadvertently insert some vertical space before the text starts
Disable no-space mode.
@end_Deffn
+
@node Tabs and Fields, Character Translations, Manipulating Spacing, Programming Tutorial
@section Tabs and Fields
@cindex tabs and fields
@cindex fields and tabs
-@findex \t
-Tab stops are much like those on a typewriter: a tab character (or the
-@code{\t} escape) on input will cause horizontal motion to the next tab
-stop.
+A tab character (@acronym{ASCII} char@w{ }9) causes a horizontal
+movement to the next tab stop (which is much like that on a typewriter).
+
+@Deffn{Escape, \\t, }
+This escape is a non-interpreted tab character. In copy mode
+(@pxref{Copy-in Mode}), @code{\t} is the same as a real tab character.
+@end_Deffn
-@findex ta
-Tab stops can be changed with the @code{ta} request. This request takes
-a series of numbers as arguments which indicate where each tab stop is
-to be (overriding any previous settings). These can be specified
-absolutely, i.e.@: as the distance from the left margin. For example,
-the following will set tab stops every one inch.
+@Deffn{Request, ta, n1 n2 @dots{} nn @t{T} r1 r2 @dots{} rn}
+Change tab stop positions. This request takes a series of tab
+specifiers as arguments (optionally divided into two groups with the
+letter @samp{T}) which indicate where each tab stop is to be (overriding
+any previous settings).
+
+Tab stops can be specified absolutely, i.e., as the distance from the
+left margin. For example, the following will set 6@w{ }tab stops every
+one inch.
@example
.ta 1i 2i 3i 4i 5i 6i
@@ -3776,39 +3812,80 @@ previous example.
.ta 1i +1i +1i +1i +1i +1i
@end example
-After the specified tab stops repeat values may be set for tabs beyond
-the last one specified. This is most commonly used to specify tabs set
-at equal intervals. The complete syntax for setting tabs is
+@code{gtroff} supports an extended syntax to specify repeat values after
+the @samp{T} mark (these values are always taken as relative)---this is
+the usual way to specify tabs set at equal intervals. The following is,
+yet again, the same as the previous examples. It does even more since
+it defines an infinite number of tab stops separated by one inch.
@example
-ta @var{n1} @var{n2} @dots{} @var{nn} T @var{r1} @var{r2} @dots{} @var{rn}
+.ta T 1i
@end example
-@noindent
-This will set tabs at positions @var{n1}, @var{n2}, @dots{}, @var{nn}
-and then set tabs at @var{nn}+@var{r1}, @var{nn}+@var{r2}, @dots{},
-@var{nn}+@var{rn} and then at @var{nn}+@var{rn}+@var{r1},
-@var{nn}+@var{rn}+@var{r2}, @dots{}, @var{nn}+@var{rn}+@var{rn}, and so
-on. For example the following is, yet again, the same as the previous
-examples.
+Now we are ready to interpret the full syntax given at the beginning:
+Set tabs at positions @var{n1}, @var{n2}, @dots{}, @var{nn} and then set
+tabs at @var{nn}+@var{r1}, @var{nn}+@var{r2}, @dots{}, @var{nn}+@var{rn}
+and then at @var{nn}+@var{rn}+@var{r1}, @var{nn}+@var{rn}+@var{r2},
+@dots{}, @var{nn}+@var{rn}+@var{rn}, and so on.
+
+Example: @samp{4c +6c T 3c 5c 2c} is equivalent to @samp{4c 10c 13c 18c
+20c 23c 28c 30c @dots{}}.
+
+The material in each tab column may be justified to the right or left or
+centered in the column. This is specified by appending an @samp{R},
+@samp{L}, or @samp{C} to the tab specifier. The default justification
+is @samp{L}. Example:
@example
-.ta T 1i
+.ta 1i 2iC 2iR
@end example
-The material in each tab column may be justified to the right or left
-or centered in the column. This is specified by appending an
-@samp{R}, @samp{L} or @samp{C} to the number specifying that tab stop.
-The default justification is @samp{L}. Example:
+Some notes:
+
+@itemize @bullet
+@item
+The default unit of the @code{ta} request is @samp{m}.
+
+@item
+A tab stop is converted into a non-breakable horizontal movement which
+can't be neither stretched nor squeezed. For example,
@example
-.ta 1i 2iC 2iR
+.de foo
+a\tb\tc
+..
+.ta T 5i
+.foo
+@end example
+
+@noindent
+creates a single line which is a bit longer than 10@w{ }inches (a macro
+is used to show exactly where the tab characters are). Now consider the
+following:
+
+@example
+.de bar
+a\tb b\tc
+..
+.ta T 5i
+.bar
@end example
+@noindent
+@code{gtroff} first converts the tab stops of the line into unbreakable
+horizontal movements, then splits the line after the second @samp{b}
+(assuming a sufficiently short line length). Usually, this isn't what
+the user wants.
+
+@c XXX superfluous tab stops
+
+@end itemize
+
@vindex .tabs
The number register @code{.tabs} contains a string representation of the
current tab settings suitable for use as an argument to the @code{ta}
request.
+@end_Deffn
@findex tc
Normally @code{gtroff} will fill the space to the next tab stop with
@@ -5091,7 +5168,8 @@ the text (including request lines, but excluding escapes) into an
internal buffer. Escapes will be converted into an internal form,
except for @code{\n}, @code{\$}, @code{\*}, @code{\\} and
@code{\@key{RET}} which are evaluated and inserted into the text where
-the escape was located. This is known as @dfn{copy-in} mode.
+the escape was located. This is known as @dfn{copy-in} mode or
+@dfn{copy} mode.
What this means is that you can specify when these escapes are to be
evaluated (either at copy-in time or at the time of use) by insulating
@@ -5164,7 +5242,7 @@ name.
This would be called as
@example
-.vl $Id: groff.texinfo,v 1.26 2000/04/14 04:04:13 wlemb Exp $
+.vl $Id: groff.texinfo,v 1.27 2000/04/22 13:17:38 wlemb Exp $
@end example
@xref{Request Arguments}.
@@ -5894,7 +5972,7 @@ searched for when the @option{-m@var{name}} option is specified.
The @code{cf} and @code{trf} requests are to include a file. It will
transparently output the contents of file filename. Each line is output
as it were preceded by @code{\!}; however, the lines are not subject to
-copy-mode interpretation. If the file does not end with a newline, then
+copy mode interpretation. If the file does not end with a newline, then
a newline will be added. For example, to define a macro@w{ }@code{x}
containing the contents of file@w{ }@file{f}, use
diff --git a/font/devlatin1/R.proto b/font/devlatin1/R.proto
index 29a88754..3a3ccf66 100644
--- a/font/devlatin1/R.proto
+++ b/font/devlatin1/R.proto
@@ -185,7 +185,8 @@ Fo 24 0 0253
char171 "
no 24 0 0254
char172 "
-char173 24 0 0255
+shc 24 0 0255
+char173 "
rg 24 0 0256
char174 "
a- 24 0 0257
diff --git a/font/devutf8/NOTES b/font/devutf8/NOTES
index b517c591..d7d0f872 100644
--- a/font/devutf8/NOTES
+++ b/font/devutf8/NOTES
@@ -6,21 +6,11 @@ unmapped:
Character 0x002D has not been given a name because its Unicode name
"HYPHEN-MINUS" is so ambiguous that it's unusable for serious typographic use.
-The following are mentioned in the original troff manual but not in
-groff_char.7:
-
- \(sr square root
- \(rn overline
- \(is integral sign
-
The following, mentioned in the original troff manual, are only approximate:
\(lk middle part of big left curly brace
\(rk middle part of big right curly brace
-\(bv has been mapped to 0x2502, not 0x2759, because it appears to mean
-"bar vertical", not "bold vertical".
-
\(wp has been mapped to 0x2118, because according to unicode.org's
NamesList-3.0.0.txt, U+2118 "SCRIPT CAPITAL P" is really a Weierstrass p,
neither SCRIPT not CAPITAL.
@@ -42,6 +32,11 @@ CL 24 0 0x2663
HE 24 0 0x2665
DI 24 0 0x2666
+The following lines could be added, to define names which are known to e.g.
+"devdvi" but are not known to "devps".
+<< 24 0 0x226A
+>> 24 0 0x226B
+
"devps" maps \(a~ and ~ to asciitilde, which is equivalent to 0x02DC, but
this glyph is just too small. We map them to 0x007E instead.
@@ -68,20 +63,20 @@ instead.
The line
-char173 24 0 0x00AD
+shc 24 0 0x00AD
has been removed, because tmac.tty contains the line
-.if c\[char173] .shc \[char173]
+.if c\[shc] .shc \[shc]
-(i.e. if char173 is defined, then tell the troff engine that it shall use
-char173 as soft hyphen - otherwise it will use hy = HYPHEN), and char173 in
+(i.e. if `shc' is defined, then tell the troff engine that it shall use
+`shc' as soft hyphen - otherwise it will use `hy' = HYPHEN), and `shc' in
Markus Kuhn's UCS-fonts looks more like a minus sign than like a hyphen.
Once Markus Kuhn's fonts are fixed, this line should be added again, because
ISO-8859-x describes the soft hyphen character as "a graphic character that
is imaged by a graphic symbol identical with, or similar to, that representing
HYPHEN, for use when a line break has been established within a word" - which
-is exactly groff's use of 'shc'.
+is exactly groff's use of `shc'.
Using unnamed characters:
@@ -98,4 +93,3 @@ U+20AC. You need to do two things:
- In your source file, use the notation \N'8364' where 8364 is the decimal
representation of 0x20AC.
-
diff --git a/man/groff_char.man b/man/groff_char.man
index 18085dce..b6f0644e 100644
--- a/man/groff_char.man
+++ b/man/groff_char.man
@@ -1,5 +1,5 @@
.ig \"-*- nroff -*-
-Copyright (C) 1989-1995 Free Software Foundation, Inc.
+Copyright (C) 1989-2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -45,7 +45,9 @@ This manual page lists the standard
.B groff
input characters.
Only the characters that are available for the device that
-is being used to print this manual page will be displayed.
+is being used to print or view this manual page will be
+.ie \n(.g displayed (the device currently used is `\*(.T').
+.el displayed.
The
.I "Input code"
column applies to characters which can be
@@ -399,7 +401,7 @@ Output Input Input PostScript Notes
.C2 br br "box rule with traditional troff metrics"
.C2 ru ru "baseline rule"
.C2 ul ul "underline with traditional troff metrics"
-.C2 bv bv "bold vertical"
+.C2 bv bv "bar vertical"
.C2 bs bell
.C2 ci circle
.C2 bu bullet
@@ -533,6 +535,9 @@ Output Input Input PostScript Notes
.C2 ib reflexsubset
.C2 ip reflexsuperset
.C2 ap similar
+.C2 is integral
+.C2 sr radical "square root"
+.C2 rn \& overline
.C2 pd partialdiff "partial differentiation sign"
.C2 c* circlemultiply "multiply sign in a circle"
.C2 c+ circleplus "plus sign in a circle"
@@ -549,8 +554,8 @@ Output Input Input PostScript Notes
.C2 CR carriagereturn "carriage return symbol"
.C2 st suchthat
.C2 /_ angle
-.C2 << "" "much less"
-.C2 >> "" "much greater"
+.C2 << \& "much less"
+.C2 >> \& "much greater"
.C2 wp weierstrass "Weierstrass p"
.C2 lz lozenge
.C2 an arrowhorizex "horizontal arrow extension"
diff --git a/src/devices/grops/ps.cc b/src/devices/grops/ps.cc
index c7d7f4c4..fc736389 100644
--- a/src/devices/grops/ps.cc
+++ b/src/devices/grops/ps.cc
@@ -819,8 +819,13 @@ void ps_printer::flush_sbuf()
if (sbuf_kern != 0)
out.put_fix_number(sbuf_kern);
out.put_string(sbuf, sbuf_len);
+ char command_array[] = {'A', 'B', 'C', 'D',
+ 'E', 'F', 'G', 'H',
+ 'I', 'J', 'K', 'L',
+ 'M', 'N', 'O', 'P',
+ 'Q', 'R', 'S', 'T'};
char sym[2];
- sym[0] = 'A' + motion*4 + space_flag + 2*(sbuf_kern != 0);
+ sym[0] = command_array[motion*4 + space_flag + 2*(sbuf_kern != 0)];
sym[1] = '\0';
switch (motion) {
case NONE:
diff --git a/src/include/Makefile.sub b/src/include/Makefile.sub
index 4e4a8f8d..50a280bd 100644
--- a/src/include/Makefile.sub
+++ b/src/include/Makefile.sub
@@ -8,9 +8,11 @@ HDRS=\
error.h \
font.h \
getopt.h \
+ htmlindicate.h \
index.h \
lib.h \
macropath.h \
+ posix.h \
printer.h \
ptable.h \
refid.h \
diff --git a/src/include/htmlindicate.h b/src/include/htmlindicate.h
index c496739d..96a63884 100755
--- a/src/include/htmlindicate.h
+++ b/src/include/htmlindicate.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 2000 Free Software Foundation, Inc.
Written by Gaius Mulley <gaius@glam.ac.uk>
This file is part of groff.
diff --git a/src/include/lib.h b/src/include/lib.h
index a9208c7d..b6eca58d 100644
--- a/src/include/lib.h
+++ b/src/include/lib.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2000 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
diff --git a/src/include/posix.h b/src/include/posix.h
index 794eea42..915fd33f 100644
--- a/src/include/posix.h
+++ b/src/include/posix.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 2000 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
diff --git a/src/roff/troff/input.cc b/src/roff/troff/input.cc
index 5b0241d9..c087c2a6 100644
--- a/src/roff/troff/input.cc
+++ b/src/roff/troff/input.cc
@@ -4720,7 +4720,7 @@ const char *input_char_description(int c)
case '\001':
return "a leader character";
case '\t':
- return "a tab character ";
+ return "a tab character";
case ' ':
return "a space character";
case '\0':
diff --git a/src/roff/troff/troff.man b/src/roff/troff/troff.man
index b2090f7a..4415ca8d 100644
--- a/src/roff/troff/troff.man
+++ b/src/roff/troff/troff.man
@@ -84,7 +84,7 @@ approximation of the typeset output.
Print a backtrace with each warning or error message. This backtrace
should help track down the cause of the error. The line numbers given
in the backtrace may not always be correct:
-.B troff 's
+.BR troff 's
idea of line numbers
gets confused by
.B as
@@ -145,9 +145,10 @@ as the default font family.
Read in the file
.BI tmac. name\fR.
Normally this will be searched for in @MACRODIR@.
-By default is used the
+By default, the
.I safer
-macro (reverted using -U ).
+macro is used (this can be reverted using
+.BR \-U ).
.TP
.B \-U
Unsafe option, avoids default use of
@@ -1749,9 +1750,26 @@ The current year.
Note that the traditional
.B troff
number register
-.B \en[yr]
+.B \en(yr
is the current year minus 1900.
.SS Miscellaneous
+.B @g@troff
+predefines a single (read/write) string-based register,
+.BR \e*(.T ,
+which contains the argument given to the
+.B -T
+command line option, namely the current output device (for example,
+.I latin1
+or
+.IR ascii ).
+Note that this is not the same as the (read-only) number register
+.B \en(.T
+which is defined to be\ 1 if
+.B troff
+is called with the
+.B -T
+command line option, and zero otherwise. This behaviour is different to
+Unix troff.
.LP
Fonts not listed in the
.SM DESC
@@ -1773,7 +1791,7 @@ greater than that of any currently used position.
Interpolating a string does not hide existing macro arguments.
Thus in a macro, a more efficient way of doing
.IP
-.BI . xx\ \e\e$@
+I . xx\ \e\e$@
.LP
is
.IP
@@ -1795,7 +1813,7 @@ request.
In a
.B \ew
escape sequence,
-a character that appears at a different input level to
+character that appears at a different input level to
the starting delimiter character will not be recognised
as the closing delimiter character.
When decoding a macro argument that is delimited
diff --git a/tmac/tmac.X b/tmac/tmac.X
index 53dd5963..4219b4a2 100755
--- a/tmac/tmac.X
+++ b/tmac/tmac.X
@@ -31,7 +31,7 @@
\D'l .39m 0'\v'.4m'\D'l -.39m 0''\h'.5m'
.if !c\(lq .char \(lq ``
.if !c\(rq .char \(rq ''
-.if !c\(Bq .char \(bq ,,
+.if !c\(Bq .char \(Bq ,,
.if !c\(OE .char \(OE O\h'-.25m'E
.if !c\(oe .char \(oe o\h'-.14m'e
.if !c\(ah .char \(ah \v'-.55m'\s[\En[.s]/2u]v\s0\v'.55m'
diff --git a/tmac/tmac.html b/tmac/tmac.html
index 991ced36..239ce0e9 100755
--- a/tmac/tmac.html
+++ b/tmac/tmac.html
@@ -57,4 +57,4 @@
.hy 0
.nr HY 0
.\" avoid line breaks after hyphen-like characters.
-.cflags 0 -\(hy\(em\(en
+.cflags 0 -\(hy\(em\(en\[shc]
diff --git a/tmac/tmac.latin1 b/tmac/tmac.latin1
index f33ea216..e2d70363 100755
--- a/tmac/tmac.latin1
+++ b/tmac/tmac.latin1
@@ -15,7 +15,7 @@
.latin1-tr \[char170] \(Of
.latin1-tr \[char171] \(Fo
.latin1-tr \[char172] \(no
-.latin1-tr \[char173] \(hy
+.latin1-tr \[char173] \[shc]
.latin1-tr \[char174] \(rg
.latin1-tr \[char175] \(a-
.latin1-tr \[char176] \(de
diff --git a/tmac/tmac.tty b/tmac/tmac.tty
index 419a6853..a4d89693 100755
--- a/tmac/tmac.tty
+++ b/tmac/tmac.tty
@@ -4,7 +4,7 @@
.\" Don't warn about non-existent fonts.
.warn \n[.warn]-(\n[.warn]/131072%2*131072)
.po 0
-.if c\[char173] .shc \[char173]
+.if c\[shc] .shc \[shc]
.de tty-char
.if !c\\$1 .char \\$1 "\\$2
..