Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - apl1b2.d03
There are 2 other files named apl1b2.d03 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR APL-10-V2                                
                             EDIT 520    FOR APLSF
Character editing on screens  (VT52,  VT100,  etc.)  doesn't
work the same way as on hard copy terminals (ASR33, LA36).
APL types a line, and then tries to re-position the  cursor.
On  APL terminals, it backspaces to where it wants to be, no
problem.  On TTY's, it send CR (no LF) and spaces  to  where
it  wants to be.  This erases characters at the beginning of
the line on a screen.
For TTY's, instead of sending spaces,  send  the  characters
that  are  already  there,  printing them again.  This works
fine on VT's, and might look a  bit  strange  on  hard  copy
                             EDIT 522    FOR APLSF
Doing )OFF or )OFF HOLD from an )INPUT file causes a TOPS-10
device error.
When the user signs off, bill is called, and IBUFF  is  used
as a buffer for the accounting file.  If the )OFF comes from
an )INPUT file, IBUFF may have the buffer  headers  for  the
)INPUT  file.   If  the  buffer headers get clobbered on the
-10, you get a device error.
Use INBUF for the accounting file buffer.
                             EDIT 524    FOR APLSF
This example  fails  with  a  DOMAIN  ERROR.   Although  the
assignment  doesn't  really do anything, it should not be an
A_2 .RO 0
A[.IO 0]_''
The code that does type and length checking  is  wrong.   It
gets the right and left sides mixed up.
Fix the code.  Also, move  edit  453  to  see  if  the  left
argument exists before doing any further checking on it.
                             EDIT 525    FOR APLSF
)DROP with wildcards doesn't work on TOPS-10.
The LOOKUP block is not being set up properly.
Make sure the LOOKUP block is correct.  Also make it work if
the default path is an SFD.
                             EDIT 526    FOR APLSF
Compression of a zero by n matrix  returns  a  length  error
when the left argument is a vector.
APL was trying to use a shortcut algorithm when one or  both
of  the  arguments  had zero length.  The shortcut algorithm
doesn't work properly for many cases.
Remove the shortcut algorithm.  The normal code always  does
it right.
                             EDIT 527    FOR APLSF
Assignment of an empty array to a  subscripted  empty  array
fails with a LENGTH ERROR.
The length of the subscripted argument  was  being  computed
incorrectly.   It  was  getting 1,,0 instead of 0 for a zero
length argument.
When computing the length of a subscripted  argument,  don't
allow  the value to overflow into the left half of the word.
Nothing can be that big anyway.
                             EDIT 530    FOR APLSF
When ending a function definition with the workspace  almost
full,  the line number becomes minus one, and all you can do
is use ^C to exit apl.  The active workspace is lost.
At the end of function  definition,  APL  garbages  all  the
lines  in the function.  Then it reclaims the lines still in
the function.  The  old  lines  go  away  when  the  garbage
collector  is called.  APL may call the garbage collector in
the middle of reclaiming the good lines.  When it  does,  it
sets the line number to minus one as a warning.
Make sure there is enough memory available before  garbaging
any  of  the function lines.  Comment out the minus one line
number code.  If  there  is  not  enough  memory,  return  a
WS FULL  error,  and let the user expand core or delete some
of the function lines.