Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - apl1s2.d02
There are 2 other files named apl1s2.d02 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR APLSF-10-V2                              
  
  
                             EDIT 505    FOR APLSF
  
  
  
  
[SYMPTOM]
  
IF )MAXCORE IS LOW AND THE WORKSPACE IS RELATIVELY  FULL,  A
SYSTEM ERROR MAY RESULT AFTER A WS FULL ERROR.
  
[DIAGNOSIS]
  
IF GTCORE FAILS WHEN BUILDING A DATA ENTRY AT DX, GTCERR HAS
TO  JUGGLE  THE PARTIAL DE AND .BXERROR.  .BXERROR HAS TO BE
BUILT AT DX, THE PARTIAL DE MUST BE MOVED, AND THEN DX  GETS
MOVED.  POINTERS MUST BE FIXED.  THE PARTIAL DE MAY HAVE HAD
SOMETHING POINTING TO IT.  IF IT DID, WE WANT  TO  FIX  THAT
SOMETHING.
  
[CURE]
  
IF THE BACKPOINTER OF THE DE POINTS TO SOMEWHERE REASONABLE,
THEN  WE  CAN ASSUME THAT THERE REALLY IS SOMETHING POINTING
BACK.  IF THE BACKPOINTER LOOKS LIKE  GARBAGE,  THEN  FORGET
ABOUT IT.
********************************************************************************
  
  
                             EDIT 506    FOR APLSF
  
  
  
  
[SYMPTOM]
  
        APLSF will hang if two or more users are reading the
same  file  in  /DI  mode  and not using the enqueue/dequeue
facility explicitly (i.e.  .BXENQ and .BXDEQ).
  
  
[DIAGNOSIS]
  
        APLSF will issue a file lock (i.e.  enqueue the file
itself)  once  a  user  tries  to read a record in /DI mode.
However, it does not release the file  lock  (i.e.   dequeue
the  file) at terminal input wait as it should.  The routine
GDFUPDATE is the routine that is supposed to reset the  file
lock.  However, this routine checks ZHOLD to see if the file
is being shared before it will call DEQFLK (to  dequeue  the
file).  In /DI mode, ZHOLD will be true (meaning the file is
not being shared) and no further action will  be  taken  for
this  file.   Therefore,  the  file  lock is not released at
terminal input wait.
  
  
[CURE]
  
        Only check ZHOLD if the file was opened in /DI mode.
This  will  allow  the  file  lock to be released by calling
DEQFLK.
********************************************************************************
  
  
                             EDIT 507    FOR APLSF
  
  
  
  
[SYMPTOM]
  
Creating and manipulating  variables  with  large  rank  can
cause system errors.
  
[DIAGNOSIS]
  
When a data entry is built and the vector of rho  values  is
put  in,  APL doesn't always check to see if the vector will
fit in memory.
  
[CURE]
  
When building a new data entry, make sure  there  is  enough
memory  to  put  in  the vector of rho values in the header.
Write 2 macros, one in macro, one is bliss to check  quickly
without destroying anything, and call MFREECH if more memory
is needed.  If we can't  get  more  memory,  a  WSUFLL  will
result.   The  new  macros  are  in MACAPL and DNMAC.  Add a
routine SAVMFR in DSTABL to save the AC's and call  MFREECH.
Add globals SAVACS and SRANK to aid SAVMFR.  Also, in GTCERR
in DLAMCA pretend the rank of the partial data entry  is  1,
so  it  will  fit  on the stack when it is juggled around to
make room for .BXERROR.
********************************************************************************
  
  
                             EDIT 510    FOR APLSF
  
  
  
  
[SYMPTOM]
  
)LIB doesn't work for  an  Ersatz  device  if  the  physical
device is not in the job's search list.
  
[DIAGNOSIS]
  
APL thinks that Ersatz devices are generic, and uses the job
search list to find which devices to look on.
  
[CURE]
  
Use a PATH UUO to determine if the name is an  Ersatz  name,
and if so, don't treat it as generic.
********************************************************************************
  
  
                             EDIT 511    FOR APLSF
  
  
  
  
[SYMPTOM]
  
Trailing blanks are not always  removed  when  displaying  a
large character array.
  
[DIAGNOSIS]
  
APL tries to fill AOBUF  with  as  many  lines  as  possible
before  doing  any  actual I/O.  APL doesn't call SQZBLNK to
remove trailing blanks from the last line in AOBUF.
  
[CURE]
  
Call SQZBLNK before actually writing the contents of AOBUF.
********************************************************************************
  
  
                             EDIT 512    FOR APLSF
  
  
  
  
[SYMPTOM]
  
A system  error  results  if  the  CONTIN  workspace  has  a
password.
  
[DIAGNOSIS]
  
Errors while loading CONTIN must be  special  cased  because
APL is not yet set up to handle errors normally.
  
[CURE]
  
Add code where necessary to write out an error message,  and
then load a clear workspace.
********************************************************************************
  
  
                             EDIT 513    FOR APLSF
  
  
  
  
[SYMPTOM]
  
After installing edit 512, APLSF  sometimes  gets  a  system
error  when  starting up.  Sometimes edit 512 appears not to
work.  The system error is not always the same,  nor  is  it
always reproduceable.
  
[DIAGNOSIS]
  
The problem is caused by the accounting routine BILL.  APLSF
uses  the  space  at WSHEAD as a buffer for a block from the
accounting file.  This can  leave  random  trash  where  the
workspace is to go.
  
[CURE]
  
Use INBUF as a buffer instead of WSHEAD.
********************************************************************************
  
  
                             EDIT 514    FOR APLSF
  
  
  
  
[SYMPTOM]
  
Erasing  a  quad  variable  with  .BXEX  produces  different
results for different quad variables.
  
[DIAGNOSIS]
  
.BXEX only allowed .BXSF, .BXLX and .BXTRAP  to  be  erased,
but  returned 0, the failure code.  All other quad variables
were not allowed to be erased.
  
[CURE]
  
Do not allow any quad variable to be erased.   If  the  user
wishes to erase it, he should assign 0 .RO ' ' to it.
********************************************************************************
  
  
                             EDIT 515    FOR APLSF
  
  
  
  
[SYMPTOM]
  
GIGI terminals (VK100) do not work well with APL.
  
[DIAGNOSIS]
  
APL does not know the difference between an LA36 and a GIGI.
  
[CURE]
  
Add code to handle the differences between  a  GIGI  and  an
LA36.   The  key pairing is the same.  The user will have to
load the APL character set into one of the  soft  sets,  and
select  the  G0  set  as  ASCII  and the G1 set as APL.  For
example, this escape sequence will set G0 and G1 if the  APL
character set is in soft set one:
  
$(B$)0
  
where $ is the escape character.
********************************************************************************
  
  
                             EDIT 516    FOR APLSF
  
  
  
  
[SYMPTOM]
  
Execute of a quiet copy worked in  version  2(435),  but  in
version 2(504), causes system errors.
  
[DIAGNOSIS]
  
Edit 455 broke execute of a quiet load or quiet copy.   Edit
455  keeps  INPTR pointing to the codestring around calls to
FREECH in  CMD  and  STOPTR,  which  can  call  GCOL.   When
executing  the quiet functions, INPTR points to INBUF, not a
codestring.
  
[CURE]
  
For quiet functions, INPTR should be left alone  around  the
FREECH  calls.   INPTR  can't  be  harmed since INBUF is not
touched by GCOL.
********************************************************************************
  
  
                             EDIT 517    FOR APLSF
  
  
  
  
[SYMPTOM]
  
Edit 512  broke  the  automatic  execution  of  .BXLX  in  a
continue workspace.
  
[DIAGNOSIS]
  
One of the activation records was getting trashed somewhere.
  
[CURE]
  
Re-work the edit a bit.  START should not  return  false  to
always  try  a  )CLEAR.   CLRWS  will  no longer try to load
CONTIN.  In CMD, if ZBADCONTIN is set after  a  )LOAD,  then
call CMD and do a )CLEAR.
********************************************************************************
  
  
  
END OF  APLSF-10-V2