mirror of
https://github.com/PDP-10/its.git
synced 2026-03-20 16:38:16 +00:00
393 lines
19 KiB
Plaintext
393 lines
19 KiB
Plaintext
WBA 2/4/78 version 26
|
||
|
||
BUFSIZ increased from 200 to 600 (determines free storage)
|
||
|
||
GLS 12/26/77 version 25
|
||
|
||
[1] The maximum number of fonts has been raised
|
||
from six to ten. Thus any decimal digit may
|
||
follow a ^F character.
|
||
[2] One may write ^F*, which means pop the font
|
||
to the state before the last ^Fn command.
|
||
There is a ring buffer for this, so that
|
||
^Fn ... ^F* may be nested about 64 deep.
|
||
[3] .LTRSPC 0 prevents TJ6 from putting extra
|
||
space between letters of a word when adjusting
|
||
for the XGP. .LTRSPC 1 (the default) reenables
|
||
this.
|
||
[4] .XGP used to be ignored if the output device
|
||
was not DSK. Now it is ignored only if the
|
||
output device is LPT or TPL.
|
||
|
||
JDC 5/16/75 New NNTJ6 (and NTJ6) fixes some bugs. New features:
|
||
.SQUISH causes ;SQUISH to appear on XGP command page
|
||
.ASP absolute space. Like .SPACE, but leaves same amount of space when
|
||
SINGLE or DOUBLE spacing.
|
||
.ABLOCK absolute BLOCK. Like .BLOCK, but not dependent on SINGLE or DOUBLE.
|
||
(control G) new in-text command equivalent to .GENNUM 1 1.
|
||
TJ6 will soon be identical to NNTJ6 and NTJ6.
|
||
Reminder: I'm still ignoring bug reports without source files, and all requests for
|
||
features.
|
||
|
||
2/25/75
|
||
NTJ6_NNTJ6.7 NNTJ6_NNTJ6.8
|
||
NNTJ6.8 fixes some bugs: .HYPHEN, :JCL mumble <cr>P, etc.
|
||
Also, as promised, eliminates commands in favor of in-text characters, or command switches:
|
||
BSCORE ESCORE HDFONT SELECT SF DATE FNAME CONTEN
|
||
/C
|
||
|
||
1/75
|
||
Because of some particularly bad default conditions in NNTJ6.6,
|
||
NNTJ6 has been unfrozen and refrozen, and NNTJ6.7 has the following changes:
|
||
The default size of a tab and spacing unit has been changed to
|
||
the largest character in font 0. The new command TABFNT
|
||
can be used to change this.
|
||
Tabs and spaces which cause breaks will never be compacted.
|
||
TABINC has gone away.
|
||
Three command names have been changed to things that can be remembered:
|
||
PGN to NOHEAD
|
||
PGNRGH to HEADPW
|
||
RL to RTW
|
||
BLUP and BLDOWN are flushed in favor of SCRIPT.
|
||
There are 8 GENNUM counters.
|
||
/X makes the output default 2nd file name XGP.
|
||
NNTJ6.7 is not restartable and kills itself after one file.
|
||
It is one block smaller the block which was flushed was unpure. (Total 6 blocks,
|
||
3 pure.) This is part of President Ford's WIN program.
|
||
|
||
For details, XGP TJ6;ORDER MEMO, or :print TJ6;TJ6 ORDER.
|
||
This file has a writeup on spaces and tabs, and explains error mesages.
|
||
|
||
11/27/74 JDC
|
||
|
||
18 November, 1974
|
||
There are many changes, some incompatible, in NNTJ6.6.
|
||
The complete list of NNTJ6 commands is TJ6;TJ6 ORDER. (XGP Version -- TJ6;ORDER MEMO)
|
||
|
||
1) Contents: TJ6 when asked to do a table of contents,
|
||
outputs a file which is suitable for input to TJ6, and is a series of .SPREAD
|
||
commands, eg,
|
||
.Spread
|
||
/First Section Heading//1/
|
||
.Spread
|
||
/Second section//2/
|
||
etc. TJ6 will use a / as the field seperator in writing .SPREADs,
|
||
unless this is changed with the .STERM command, which takes one character
|
||
as an argument (like .DUMMY).
|
||
The preferred method of causing a table of contents to be produced is to
|
||
type /C in the command line. If one uses the .CONTEN command instead,
|
||
it must appear before any text. (This command may go away soon.)
|
||
The default output 2nd filename when /C is typed is CONTEN instead of MEMO.
|
||
|
||
2) Tabs on the XGP will try to align so that things which line up in TECO will
|
||
also line up in TJ6. In order to do this, tabstops will be equal to
|
||
8 * the width of the largest character read in all fonts.
|
||
Units for .INDENT, .TW, .RLINE, etc., and spaces at the
|
||
beginning of a line will all be 1/8th of a tabstop wide.
|
||
To change this, (but risk not having TJ6 and TECO be isomorphic with
|
||
respect to tab alignment,) use:
|
||
.TABINC <number> sets width of a tabstop in inches
|
||
.SPW <number> sets the width of the spacing unit in XGP dots (and a tabstop
|
||
is 8 times as wide).
|
||
|
||
3) (Control Q) is now the default quoting character.
|
||
|
||
4) (Control D) and (Control N) are two new in-text command
|
||
characters which respectively insert the date and file name into the text
|
||
(like .DATE and .FNAME). The date is now of the form "November 78, 2965"
|
||
instead of MM/DD/YY. The in text characters should be preferred to the
|
||
commands as the latter may go away.
|
||
|
||
5) Redundant carriage returns will be retained in the output text. To turn this
|
||
off use:
|
||
.CRCOMP compacts carriage returns. The opposite is:
|
||
.CRRETA retains carriage rturns.
|
||
|
||
6) The size of a .BLOCK implied by a .SECT can be controlled with
|
||
.SBLOCK <number>
|
||
|
||
7) Other new commands:
|
||
.CRBR all carriage returns break.
|
||
.CRSP carriage returns in fill and adjust mode are like spaces (default).
|
||
.SPBR leading spaces and tabs cause a break (default).
|
||
.SPSP they don't break.
|
||
.SPCOMP compact spaces in FILL and ADJUST modes.
|
||
.SPRETA retain spaces. These last two commands are affected by
|
||
.FILL, .ADJUST, and .HALFAD, the first two of which do an automatic
|
||
.SPRETA, and the latter two do a .SPCOMP.
|
||
Note that the combination of .SPSP and .SPCOMP will allow input text that
|
||
has leading spaces or tabs to be treated as though those tabs or spaces weren't there.
|
||
|
||
8) The .TABSET command has died an early death.
|
||
|
||
9) -- (dash) will not be broken between the hyphens.
|
||
|
||
10) Font files which don't open will have the ERR device message printed.
|
||
|
||
11) The commands which should appear before text in the input file:
|
||
.XGP, .FONT, and .CONTEN, will have an error message printed if they
|
||
appear after text.
|
||
|
||
12) PGNRGH will now align headings on both sides with the page boundaries.
|
||
|
||
13) The p"pages" message printed by TJ6 is now the actual number of
|
||
pages printed, rather than the last page number.
|
||
|
||
14) Rubouts in the command string work better from displays.
|
||
|
||
15) NNTJ6.6 is now down to 7 core blocks (but just barely). This is one less than NNT6.5,
|
||
and in spite gross additions (like variable width hackery) is only one greater than TJ6.
|
||
Its small size (and shared pages) is one of the main reasons that TJ6 runs
|
||
so much quicker than PUB (which is 54 blocks as soon as you type PUB^K, and gets
|
||
bigger faster than Alice in Wonderland.) I aim to keep TJ6 small, and I therefore declare
|
||
it frozen, with the possibility of removing some commands.
|
||
The commands likely to be flushed, which all can be effected some other way, are:
|
||
.FNAME (use )
|
||
.DATE (use )
|
||
.SELECT and .SF (use )
|
||
.BSCORE (use )
|
||
.ESCORE (use )
|
||
One of .BLUP .BLDOWN
|
||
.HDFONT (use )
|
||
Also TJ6 may kill itself after printing one file.
|
||
|
||
16) I need source files in order to find bugs!!!
|
||
A bug which looks easy to recreate often depends on
|
||
som special circumstance in the source file, and is next to impossible for me to
|
||
duplicate.
|
||
|
||
--JDC
|
||
|
||
|
||
TJ6 Recent Changes 1_ NNTJ6 3 -- 24 June, 1974
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
or, T_h_e_ _N_e_w_ _R_e_g_i_m_e_
|
||
|
||
|
||
There are important new changes to the text justifier. These changes are
|
||
incorporated in NNTJ6. After a while, NNTJ6 will become the standard TJ6,
|
||
so use NNTJ6 and help get the bugs out.
|
||
|
||
Most of these changes are designed to straighten out the mess which is the
|
||
insides of TJ6. Changes visible to the user are:
|
||
|
||
NNTJ6 is half p_u_r_e_ _c_o_d_e_. Hopefully this will speed it up in certain
|
||
circumstances.
|
||
|
||
It has some n_e_w_ _c_o_m_m_a_n_d_s_:
|
||
._P_W_I_N_C_H_ _n_ -- sets paper width (.PAPERW) in tenths of an inch. E.G.,
|
||
.PWINCH 8.5 sets the physical paper width to 8.5 inches.
|
||
._T_W_I_N_C_H_ _n_ -- sets text width (.LINE)
|
||
._P_L_I_N_C_H_ _n_ -- paper length (.PSIZE)
|
||
._T_L_I_N_C_H_ _n_ -- text length (.PAPER)
|
||
._S_I_N_C_H_ _a_,_b_,_c_,_d_,_e_ -- sets paper width, text width, paper length, text
|
||
length, and left margin in inches respectively to a,b,c,d, and e.
|
||
E.G.,
|
||
.SINCH 8.5,6.,11,8.0,1.5 sets the physical paper size to 8 1/2x11,
|
||
the text size to 6x8, and left margin to 1 1/2 inches.
|
||
|
||
._F_I_N_C_H_ _n_ -- sets figure size in inches.
|
||
._F_I_G_U_R_E_ _n_ nows treats its argument as an absolute number of lines
|
||
(irregardless of whether you are single or double spacing).
|
||
|
||
._F_O_N_T_ _n_ _F_i_l_e_ _N_a_m_e_ -- associates font n with the appropriate font file.
|
||
This is used to set font height and width, for use by various size
|
||
commands, and to set the font name for the XGPLPT command page.
|
||
.FONT 1 LGI makes font 1 FONTS;LGI KST.
|
||
(This command actually causes the entire font to be read in and
|
||
groveled over, so it takes a while to execute. The only legal
|
||
device names are AI and DSK.)
|
||
|
||
._V_S_P_ -- sets interline space. Units are XGP raster dots, 1/192nds of an
|
||
inch. (Default is 6.)
|
||
|
||
._H_V_W_ _a_,_b_,_c_ -- sets the height of font 0, VSP, and width of a space in font
|
||
0 respectively to a, b, and c. The defaults are 25, 6, and 16 for
|
||
the XGP, and 24, 6, and 19 for non-XGP. These data are used by the
|
||
commands which set size in inches. .HVW is a quicker way of
|
||
reading in this information than .FONT.
|
||
|
||
X_G_P_L_P_T_ _c_o_m_m_a_n_d_ _p_a_g_e_ -- If TJ6 thinks it's outputting to the XGP, (i.e.,
|
||
output device is DSK: and there was either a /X in the command line
|
||
or a .XGP command,) it automatically outputs a page of XGPLPT
|
||
commands:
|
||
|
||
|
||
TJ6 Recent Changes 2_ NNTJ6 3 -- 24 June, 1974
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
;TOPMAR 0
|
||
;BOTMAR 0
|
||
;LFTMAR 0
|
||
;VSP n
|
||
;KSET any font names you have specified with .FONT
|
||
;SKIP 1
|
||
To prevent TJ6 from doing this, use:
|
||
._N_O_S_P_E_C_ -- turns off automatic output of XGPLPT commands.
|
||
|
||
._U_L_F_O_N_T_ _n_ -- causes printing in font n to be underlined if output is not to
|
||
the XGP. Default is .ULFONT 1. (This is helpful if the ulfont is
|
||
italicized.) (To turn off, make n <0 or >3.)
|
||
|
||
|
||
_ _(_c_o_n_t_r_o_l_ _Y_)_ -- in text command character which begins underscore.
|
||
_ _(_c_o_n_t_r_o_l_ _X_)_ -- in text command character which ends underscore.
|
||
Note that underscoring is treated differently by TJ6 and the XGP than
|
||
backspacing and overstriking with underbars. For underscoring, TJ6
|
||
outputs special XGP underscore commands. For overstriking, TJ6
|
||
backspaces and overstrikes. (Complicated, huh?) For most fonts,
|
||
the _ character is defined to look like underscoring. For a couple
|
||
it isn't. So if you mean underscore, do it, and if you mean
|
||
overstruck _, do that. (Backspacing and overstriking of all
|
||
characters once again win in .NOFILL mode.)
|
||
|
||
All the in text command characters should now work on centered, spread,
|
||
etc., lines, and in the header. Those in-text characters which
|
||
make sense to non-XGP devices are: (control Y), begin underscore;
|
||
(control X), end underscore; and (control F), font switch,
|
||
which makes sense because of .ULFONT). Other in-text commands are
|
||
ignored if not to the XGP.
|
||
|
||
H_i_d_d_e_n_ _h_y_p_h_e_n_s_ work!
|
||
|
||
^^_C_ _(_c_o_n_t_r_o_l_ _C_)_ is now read by TJ6 like any other input character, but TECO
|
||
makes these difficult to insert. Also they are not typed out in
|
||
block mode .IOTs to teletypes, due to a system "feature".
|
||
|
||
Characters which have been quoted (with the quoting character), will be
|
||
printed on the XGP in "normal" mode. E.G., quoting character
|
||
followed by a backspace will print as lambda, rather than
|
||
backspace. To turn this off use:
|
||
._N_O_R_M_A_L_ _n_ -- if no argument or n=0, turns off "normalization" of
|
||
quoted characters to the XGP, otherwise turns it on. This command
|
||
does not break.
|
||
|
||
|
||
F_L_U_S_H_E_D_ _C_O_M_M_A_N_D_S_
|
||
The following commands have been noops for a while, and are now gone:
|
||
.BSPDIR (Back spacing is always direct.)
|
||
|
||
|
||
TJ6 Recent Changes 3_ NNTJ6 3 -- 24 June, 1974
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
.QUICK
|
||
.TABS
|
||
.TABSET
|
||
.C2471
|
||
.K2471
|
||
.S2471
|
||
.T2471
|
||
.CBALL
|
||
.KBALL
|
||
.SBALL
|
||
.TBALL
|
||
The following have simply been flushed:
|
||
.NJ
|
||
.NOJUST
|
||
.PAUSE
|
||
.STOP
|
||
.STPCHR
|
||
.TSTOUT
|
||
The following "abbreviations" and command names have been flushed in favor
|
||
of others:
|
||
.BP -- use .BEGIN
|
||
.CM -- use .C or .COMMENT
|
||
.CO -- use .FI or .FILL
|
||
.CP -- use .BLOCK
|
||
.RA -- use .RI or .RIGHT
|
||
.APPND -- use .AP or .APPEND
|
||
.DUMCHR -- use .DUMMY
|
||
.TR -- use .TRANS
|
||
.QTECHR -- use .QUOTE
|
||
.PL, .PAPER -- use .TL
|
||
.PS, .PSIZE -- use .PL
|
||
.L, .LINE -- use .TW
|
||
.PAPERW -- use .PW
|
||
The prior four new names are mnemonic for T_ext L_ength, P_aper L_ength, T_ext
|
||
W_idth, and P_aper W_idth.
|
||
|
||
C_H_A_N_G_E_D_ _C_O_M_M_A_N_D_S_
|
||
The following have been changed:
|
||
|
||
._D_U_M_M_Y_ -- can now be used to specify more than one dummy character by
|
||
simply using the command more than once.
|
||
|
||
._F_I_L_L_ -- now causes adjusting to be turned off.
|
||
|
||
._H_E_A_D_E_R_ -- now takes its argument on the next line (just like .HE1, .HE2,
|
||
etc.)
|
||
|
||
._P_H_P_1_ -- again takes no argument, and simply causes the header to be
|
||
printed on page one.
|
||
|
||
|
||
|
||
TJ6 Recent Changes 4_ NNTJ6 3 -- 24 June, 1974
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
._S_E_C_T_ -- now does a .BLOCK 2, so that a section title will not be the last
|
||
line on an output page.
|
||
|
||
._T_R_A_N_S_ -- now works on input instead of output. All text characters may be
|
||
translated. Command line characters are not translated. (The
|
||
translation occurs before the test for in-text command characters,
|
||
therefore,
|
||
.TRANS \^F will cause \_ to act as an in-text font switching
|
||
character.)
|
||
|
||
._X_G_P_ and /_X_ -- now are equivalent. If output is to DSK, they: do a .SINCH
|
||
8.5,6,11,8; a .HVW 25,6,16; and try to output an XGPLPT command
|
||
page.
|
||
|
||
Handling of s_p_a_c_e_s_, ?_ _._ _!_, and ;_ _:_ has been changed. In .NOFILL mode, they
|
||
continue to get no special treatment. In fill mode, they have two
|
||
spaces inserted afterwards only if followed by a carriage return or
|
||
line feed. There is a n_e_w_ _m_o_d_e_, .HALFAD, in which the text is
|
||
filled, but not adjusted, and in which spaces and ?_._!_:_;_ are treated
|
||
the same as in .ADJUST mode. The gist of this treatment is that
|
||
two spaces will be inserted after ._!_?_:_;_ at the end of a clause or
|
||
sentence, and that more than one space or tab in a row (except at
|
||
the start of an input line,) is treated like one space. NNTJ6's
|
||
algorithm for determining the end of sentence or clause is:
|
||
A_B_._C_D_
|
||
The . is always treated like the end of a clause or sentence if C
|
||
is a carriage return or line feed; otherwise, This is n_o_t_ the end
|
||
of a sentence or clause if:
|
||
1 B is a number;
|
||
2 B is a letter and A is a space, tab, or one of ._!_?_;_:_;
|
||
3 C is not a space, tab, carriage return, line feed, or one or more
|
||
of the following: )_"_'_]_;
|
||
4 C is one or more of )_"_'_]_, and D is not a space, tab, carriage
|
||
return, or line feed.
|
||
(In cases like A_B_._)_ _, the spaces are inserted after the )_.)
|
||
If you don't like the special treatment of some of these
|
||
characters, turn one off with:
|
||
._P_E_R_I_O_D_ _n_ _c_h_a_r_a_c_t_e_r_ -- which turns off special treatment of c_h_a_r_a_c_t_e_r_ if
|
||
n=0, otherwise, turns it on.
|
||
._P_E_R_I_O_D_ with no argument, still turns off special treatment of all
|
||
of ._!_?_;_:_.
|
||
|
||
M_E_M_O_ is now the default output name instead of (MEMO).
|
||
|
||
V_a_r_i_a_b_l_e_ _w_i_d_t_h_ _f_o_n_t_s_ are now filled and adjusted correctly.
|
||
|
||
C_o_h_e_n_'_s_ _L_a_w_:
|
||
P=1/C2, i.e.,
|
||
the probablity of my looking at any bug complaint, without an example of
|
||
the source file which caused it, is inversely proportional to the speed of
|
||
|
||
|
||
TJ6 Recent Changes 5_ NNTJ6 3 -- 24 June, 1974
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
light squared.
|
||
|
||
|
||
O_T_H_E_R_ _N_E_W_ _F_E_A_T_U_R_E_S_:_
|
||
In the immediate future, I shall concentrate on continuing to straighten
|
||
out the inside of TJ6, and I am unwilling to put in new features. Please
|
||
don't waste my time by asking for a .UPSIDEDOWN command, or whatever's your
|
||
penchant. However, if you feel you absolutely must have a new feature, you
|
||
may go about it as follows:
|
||
1) Obtain three "TJ6 Suggested Improvement Forms"
|
||
from Suzin Jabari. (These will be available in a couple of weeks.)
|
||
2) Fill them out, and give one copy to Marvin, one copy to Berthold, and
|
||
one copy to me.
|
||
Your request will be carefully filed.
|
||
|
||
--JDC
|
||
|