1 
  2 09/23/87  apl
  3 Known errors in the current release of apl.
  4 #         Associated TR's
  5 Description
  6 
  7 491  phx14469
  8 when a suspended function with labels is edited, not matter how
  9 trivially, SI DAMAGE results.  SI DAMAGE is defined to result only in a
 10 limited number of cases when editing a function.
 11 
 12 490  phx14469
 13 stop and trace vectors are lost across function edits.
 14 
 15 489  phx14469
 16 If you edit a suspended function you get an SI DAMAGE error even if you
 17 actually make no changes to the function.
 18 
 19 488  phx13315
 20 APL should be changed to call cu_$evaluate_active_string to perform
 21 active function evaluation (qAF).  It currently calls cu_$af, which is
 22 not the right thing, and will break soon.
 23 
 24 486  MPR6751
 25 The qNL system function returns a garbage value if the left arg is an
 26 expression.  Try:
 27      A-17
 28      (1p'A') qNL 2
 29 
 30 484  phx09164
 31 APL interprets the mode string to get the terminal's line length.  It
 32 should call get_line_length_.  APL will break when the mode string
 33 format changes.
 34 
 35 483
 36 The last character of qCS (qCS[195]) is still c<BS>|
 37 (cent sign) instead of -<BS>,
 38 
 39 482  phx7511
 40 The algorithm used by the domino operator will sometimes
 41 diagnose a regular matrix as singular and report a
 42 DOMAIN ERROR.  For more info and a fix see phx07511.
 43 
 44 478  phx7211
 45 read_tsoapl_tape references error_table_$too_many_files.
 46 See phx07211.
 47 
 48 477  phx7211
 49 apl_dim_util_ references apl_error_table_$no_room_for_sdb
 50 See phx07211.
 51 
 52 475
 53 The APL dim should restore normal terminal modes whenever
 54 the user is returned to command level (whether or not
 55 it was intensional).
 56 
 57 474
 58 In the editor [<n>q2] (editing starting at the 2nd column)
 59 positions the cursor correctly at first, but
 60 inserts space or deletes chars from column 1.  Starting
 61 in column 1 or 3 works OK.
 62 
 63 471
 64 If the same variable is listed as both a parameter and a
 65 local variable of a function, improper localization may
 66 occur, causing a downward funarg problem.
 67 
 68 467
 69 5 5 ^^H| 1  gives a LENGTH ERROR instead of a 5x5 matrix
 70 with a 1 in the upper left corner and 0's elsewhere.
 71 
 72 466
 73 While doing quote-quad input the input prompt may be
 74 spuriously be printed.  Problem with the dim.
 75 
 76 465
 77 Single-quotes typed in comments at function definition
 78 time are not ignored.  This is a problem with the dim.
 79 
 80 463  phx14466
 81 The editor does not allow del to be typed into comments or strings
 82 while editing.  Del is looked for too globally by the editor.
 83 
 84 462
 85 Certain index errors in axis operators are reported as rank
 86 errors. Try: 0,[0] 2 2 p 1 2 3 4
 87 
 88 461
 89 APL does not preserve trailing blanks on quota-quad input.
 90 IBM standard is to preserve them.
 91 
 92 458
 93 )SI should print negative line numbers for damaged fcns;
 94 returning to a damaged fcn should print SI DAMAGE, and
 95 then return immediately. Maybe a damaged flag in the
 96 lexed function bead or function frame would be handy
 97 (watch out for save and load).
 98 
 99 457
100 should be able to edit pendent functions; its the only
101 way to list them, after all. Just be sure to handle any
102 SI DAMAGE.
103 
104 456
105 editor does not wrap lines longer than qPW properly.
106 (meta-issue: no programs should rely on the DIM to wrap).
107 
108 455
109 bare output (quote-quad) should ignore qPW.
110 
111 453
112 q-^H<A-^H<10E38 prints the positive identity! Should give a
113 NONCE ERROR because 10E38 is too big.
114 
115 451  MPR5355
116 )DFN A$B works; should be refused. Also if the sum of the
117 segname and entryname is longer than 32 chars, it fails.
118 
119 449
120 matrix divide/invert (domino) sometimes fails if operands
121 are expressions. Bypass is to make them names.
122 
123 448
124 (i0)^^H|SCALAR and (i0)v^H|SCALAR get out_of_bounds faults!
125 
126 447
127 VECTOR[''] should work; type of null vector should be
128 ignored in this context.
129 
130 446
131 (i0)_^Hf(i0) should work; gets a LENGTH ERROR.
132 
133 437
134 )LIB (and maybe others) accept signed library numbers!
135 Should accept only unsigned integers.
136 
137 436
138 )SI and )SINL ignore any arguments; should diagnose them.
139 
140 434
141 apl does not co-exist with either audit or graphics. If
142 you wish to audit an apl session, you must attach_audit
143 AFTER entering apl, and detach_audit BEFORE leaving apl.
144 If you wish to use graphics with apl, you must
145 setup_graphics BEFORE entering apl, and remove_graphics
146 AFTER leaving apl. The fix to this problem involves
147 changing both apl and graphics.
148 
149 428
150 qPW fails to change line length on user_output. )WIDTH
151 is OK.
152 
153 427
154 running a function with errors produces no messages (post
155 4.00 only).
156 
157 418
158 cannot invert 4 4p2 0 0 0 6 1 0 ^1 8 2 ^2 0 4 2 ^2 2. Yet
159 it would appear to be invertible, since BASIC can do it.
160 Answer is 4 4p.5 0 0 0 ^2 1 ^.5 .5 0 1 ^1 .5 1 0 ^.5 .5
161 Problem is completely incorrect pivoting algorithm.
162 
163 409
164 apl accepts pathnames for external functions, but won't
165 initiate them properly if the reference name is already
166 known.
167 
168 399
169 )COPY WS qLX fails...cannot copy any system variables.
170 Should diagnose it. IBM doesn't permit it, either.
171 
172 394
173 can't )ERASE a stop/trace vector. Bypass-- assign '' to
174 it. Should diagnose stop/trace and system variables.
175 
176 389
177 1 8^^H|0 8p0 produces garbage instead of zeros. bug in
178 take can be bypassed by using a name as right arg, not
179 an expr.
180 
181 377
182 apl_error_ should print non-apl status codes in long form
183 automatically.
184 
185 376
186 there is a window in assignment (specification) such that
187 quitting in the window can lose the value of a variable.
188 
189 374
190 the list (2 2p5;6 7 8) fails. Handling of cons is wrong.
191 
192 358
193 integer tolerance algorithm fails if qIT is exactly
194 zero.  This causes various Boolean operators to give
195 DOMAIN ERRORs for integer arguments. The following
196 programs are affected: apl_arrow_operators_,
197 apl_domino_operator_, apl_file_system, apl_monadic_,
198 apl_monadic_format_, apl_monadic_rho_, apl_parse_,
199 apl_random_, apl_rotate_, apl_subscript_a_value_,
200 apl_system_functions_, apl_system_variables_,
201 apl_transpose_.
202 
203 357
204 matrix inverter inverts 10xA but not A.  See test case.
205 
206 355
207 editor should diagnose redundant localizations.
208 
209 337
210 change character and editor input modes to reattach
211 user_input to user_i/o after end-of-file. (editor fixed
212 in 4.00)
213 
214 321
215 (f/'')>-(f/'') gets a DOMAIN ERROR.  Problem with
216 comparison tolerance checking algorithm.
217 
218 306
219 neither ctw nor apl checks saved functions for syntax
220 errors.
221 
222 305
223 ctw does not convert S-delta and T-delta correctly.
224 
225 303
226 apl and apl_start should reject -ttp when in absentee.
227 
228 301
229 all subroutines that decrement reference counts should
230 null their input argument.
231 
232 299
233 DIM doesn't pad LF character (\300).
234 
235 285
236 )LOAD TEST285;S-^H<1;)SAVE;)LOAD; value of S has reverted
237 to localized value, not 1.  Seems to be caused by bad
238 SI.
239 
240 284
241 )CONTINUE command does not respect restrict_save
242 flag...anyway, it should probably have its own restrict
243 flag.
244 
245 277
246 ravel operator does not recover space used by rho vector
247 if arg was on stack; this causes problems for file
248 system.
249 
250 275
251 lex-- (V+V)[1 2 3]-^H<4 5 6 gives wrong error
252 message...complains about system variables!
253 
254 263
255 convert DIM to iox_, convert ios_ calls to iox, have apl
256 use use user_input and user_output instead of apl_input
257 and apl_output.
258 
259 258
260 editor doesn't take line length into account during
261 output.
262 
263 249
264 command: "apl -td non_existant_dir" causes apl to blow up.
265 
266 240
267 editor: one-line listing non-existant fcn should leave
268 defn mode.  (gFOO [q]g). 4.00 editor leaves defn mode,
269 but also creates a function named FOO!
270 
271 237
272 lex: confusing message printed for +-^H\[3]A (-^H\ conflicts
273 with [3]).
274 
275 187
276 103<BS><ATTN><BS><ATTN>5 should be 15, not 105.
277 
278 168
279 dim: N^H_ in first column (after hidden NL) prints as N,
280 dropping underscore.