Trailing-Edge
-
PDP-10 Archives
-
bb-bt99h-bb
-
apl1b2.d06
There are 2 other files named apl1b2.d06 in the archive. Click here to see a list.
EDIT DESCRIPTIONS FOR APL-10-V2
EDIT 540 FOR APLSF
[SYMPTOM]
ASCII sequential files with carriage returns not followed by
linefeeds are not read correctly.
[DIAGNOSIS]
After reading a carriage return, CLRBFI is called to read
the linefeed. If the character read is not a line feed,
then CLRBFI ignores it. However, the count of the number of
bytes left in the buffer will be off by one. It gets
decremented at INCH.0+2 in XIO. The file header is pointed
to by R2.
[CURE]
Increment the byte count if the character read is not a line
feed.
********************************************************************************
EDIT 541 FOR APLSF
[SYMPTOM]
The prompt for quad input always appears in the TTY
character set when a file or device has been specified with
the )OUTPUT command. If the terminal has an APL character
set, the prompt is unreadable.
[DIAGNOSIS]
OUTDEV is set up for the )OUTPUT file. A fake OUTDEV needs
to be created for the quad prompt. ZTTYBIT, which specifies
whether the terminal has an APL character set or not, was
not being set correctly in the fake OUTDEV.
[CURE]
Save ZTTYBIT in the fake OUTDEV.
********************************************************************************
EDIT 542 FOR APLSF
[SYMPTOM]
Timed input (with .BXTIMELIMIT set) does not work properly.
The input terminates if the user types escape or control G,
and .BXTIMEOUT gets set incorrectly.
[DIAGNOSIS]
The HIBER UUO wakes the process when a line of terminal
input is ready. Escape and control G are valid line
terminators.
[CURE]
If the input was not terminated with a line feed, and there
is still some time left, go back and wait some more.
********************************************************************************
EDIT 543 FOR APLSF
[SYMPTOM]
When )WIDTH is greater than 360, long lines of character
output have garbage at the end of the lines.
[DIAGNOSIS]
Routine FJPOUT was not updated when the sizes of AOBUF and
OBUF were changed. The ASCII output was overflowing into
the 9-bit data, and being translated recursively.
[CURE]
Use parameters in the code to use the correct buffer sizes.
Also make sure that there is enough room in the ASCII output
buffer for three times as many characters as are in the
9-bit buffer.
********************************************************************************
EDIT 544 FOR APLSF
[SYMPTOM]
5 ^ 0 2 .RO 0 should be a LENGTH ERROR.
[DIAGNOSIS]
Take allowed an empty right argument of any rank when
the left argument is of length 1.
[CURE]
When the left argument to take is of length 1, the
right argument must be a scalar or a vector.
********************************************************************************
EDIT 545 FOR APLSF
[SYMPTOM]
Dyadic .IO returns a character result when the right
argument is a character empty.
[DIAGNOSIS]
The result of dyadic .IO should always be numeric, even
if the result will be empty. APLSF simply returns the right
argument as the result if it is empty.
[CURE]
If the right argument to dyadic .IO is empty numeric,
return it. If it is empty character, return a numeric empty
of the same shape.
********************************************************************************
EDIT 546 FOR APLSF
[SYMPTOM]
.BXTRAP is not executed when an error occurs inside a
locked function.
[DIAGNOSIS]
APLSF simply did not check to see if .BXTRAP was set
when in checks to see if the error is inside a locked
function.
[CURE]
If .BXTRAP is not empty when an error occurs inside a
locked function, set up so it will be executed.
********************************************************************************
EDIT 547 FOR APLSF
[SYMPTOM]
When a locked function gets an error, the SI stack is
cut back through all pendent functions.
[DIAGNOSIS]
When a locked function gets an error, the SI stack
should be cut back through all pendent, locked functions.
The first pendent, unlocked function should be suspended, if
there is one. APLSF isn't doing this.
[CURE]
Suspend at the first pendent, unlocked function when
cutting the SI stack in this case.
********************************************************************************
EDIT 550 FOR APLSF
[SYMPTOM]
Numeric constants displayed by the function editor are
not correct in their lower order digits for some settings of
)WIDTH.
[DIAGNOSIS]
Edit 421 fixed DISPLAY to correctly display a numeric
constant when it caused )WIDTH to be exceeded. The line is
wrapped and OUTNUM is called again to put the numeric
constant on the new line. OUTNUM accepts the low order word
of a double precision constant in DBPRCN, which it clears
before OUTNUM returns. Edit 421 called OUTNUM after
wrapping the line without restoring the proper value to
DBPRCN.
[CURE]
Save the original value of DBPRCN so it can be restored
if the line is wrapped.
********************************************************************************
EDIT 551 FOR APLSF
[SYMPTOM]
The )TABS facility does not operate properly in
conjunction with the LAMP (") end-of-line CRLF suppression.
[DIAGNOSIS]
The )TABS facility on output tries to replace strings
of blanks with tabs if the next non-blank character is to be
at a tab stop. FNTOA uses the line length in OLEN to
determine what column this character is in. GOUT was
resetting OLEN to 0 if the previous line ended in ZREM ("),
which suppresses the ending CRLF.
[CURE]
Don't let GOUT reset OLEN if the last character was
ZREM. This does not affect adversely line wrapping or
output that does not end with ZREM.
Note that ending an output line with LAMP (") in order
to suppress the CRLF is a bad idea, both because it makes it
difficult to print a line that ends with a LAMP and also
because we will remove this functionality in the next
development release. Multiple .QQ outputs with a final .BX
output has the same effect, in a more "standard" way.
********************************************************************************
EDIT 552 FOR APLSF
[SYMPTOM]
Reading a /BS file with a word pointer beyond EOF
sometimes returns a value instead of 0 75 .RO 0. .BXFLS
also is changed.
[DIAGNOSIS]
APLSF was doing a USETI to position itself in the file
before doing the read. USETI only takes a 16-bit block
number so if the read was beyond block 2*16, the USETI wraps
the word pointer mod 2*16 and data could be read.
[CURE]
Rewrite both DOUSETI and DOUSETO in BFILE to do FILOP.
UUOs instead of the USETI and USETO UUOs. FILOP. takes a
full 36 bit block pointer and will return EOF if the read is
beyond EOF.
********************************************************************************
END OF APL-10-V2