~ubuntu-branches/ubuntu/quantal/gclcvs/quantal

« back to all changes in this revision

Viewing changes to o/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2004-06-24 15:13:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040624151346-xh0xaaktyyp7aorc
Tags: 2.7.0-26
C_GC_OFFSET is 2 on m68k-linux

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Fri Nov 24 18:42:46 1995  Bill Schelter  <wfs@jany.ma.utexas.edu>
 
2
 
 
3
        * alloc.c (ONCE_MORE):
 
4
        * DEFUN("STATICP",.. had accidentally been included in a section
 
5
        which was '#ifdef'ed out on nexts..., making it not be there
 
6
        at link time:  moved it to where it is always there.
 
7
        * 
 
8
 
 
9
 
 
10
Nov 11 1995 bill schelter
 
11
       * gcl-2.2 released
 
12
 
 
13
 
 
14
Sun Oct  1 19:52:45 1995  Bill Schelter  <wfs@jany.ma.utexas.edu>
 
15
 
 
16
        * Many changes to gcl 2.1 to support 64 bit machines (eg Dec
 
17
        alpha).  Layout of structures etc changed.
 
18
        * a gcl-2.2 beta was released in the summer.
 
19
        since then there have been several bugs fixed.  One in cmpfun.lsp
 
20
        affecting write, and another in init_gcl.lsp to make sure the
 
21
        link array is a string array (changed from fixnum which are no
 
22
        longer sufficient to hold pointers).
 
23
        * changes to fix for PA risc hpux in the hp800.h
 
24
        * changes to unexec-19.27.c to allow MUCH faster saving in NFS
 
25
        environment.
 
26
        * testing with maxima 5.1
 
27
        * reworking makefiles 
 
28
        
 
29
 
 
30
Sat Apr 29 08:48:06 1994  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
31
 
 
32
        * Changed to release under GNU Public Library license.   There
 
33
        have been a number of other fixes including fixes to bignums.
 
34
        
 
35
 
 
36
Thu Jan 20 10:38:00 1994  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
37
 
 
38
        * version 624 made.
 
39
        * contains just changes so that compiles on solaris 5.2.   The 
 
40
        623 version compiled on solaris 5.3, but the earlier 5.2 version of solaris
 
41
        had some differences which needed patches.   These are contained
 
42
        in 624.
 
43
 
 
44
Fri Dec 10 15:02:14 1993  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
45
        * version 623 made.
 
46
        
 
47
        * the check on string-trim  for a list of chars is fixed.
 
48
        Much earlier the (string-trim '(2) "ab") would run forever.
 
49
        Then string-trim was broken.
 
50
 
 
51
 
 
52
Sun Dec  5 15:34:44 1993  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
53
 
 
54
        * add solaris version: changes to several C files
 
55
        and new version of sfasl for elf.
 
56
        * linux port added.
 
57
 
 
58
Thu Oct 29 13:20:17 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
59
 
 
60
        * make sure the signal stack is 8 byte aligned.   Needed on sun os 4.1.2
 
61
        and higher.
 
62
 
 
63
Thu Jun  4 06:18:20 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
64
 
 
65
        * fix allocation of copy space during an sgc for relocatable
 
66
 
 
67
Wed Apr 29 09:02:59 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
68
        *cmpnew/lfuns.lsp make load,open, error-set go through lisp
 
69
        symbol, so users can redefine them (eg when loaded common lisp
 
70
        condition code stuff).
 
71
        * defstruct.lsp: put the conc-name in the current package,
 
72
        so that programs can discover the package in effect when
 
73
        the defstruct was done, in order to reconstruct accessors.
 
74
 
 
75
Sun Apr 26 23:28:42 1992  Bill Schelter  (wfs@sonia.ma.utexas.edu)
 
76
 
 
77
        * predicate.c: contains_sharp_comma handle non type t arrays
 
78
        * co1typep optimize for the '(satifies fun) type.
 
79
        * cmpinline.lsp, cmplabel.lsp, cmploc.lsp
 
80
        inline-integer  (set-loc unwind-exit get-inline-loc)
 
81
        fixes by r harris.
 
82
 
 
83
Thu Apr 23 15:09:44 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
84
 
 
85
        * cmpenv.lsp  fix function return integer proclamation.
 
86
 
 
87
Sat Apr 11 09:25:05 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
88
 
 
89
        * numlib.lsp: changes to ensure double accuracy not lost.
 
90
 
 
91
Thu Apr  9 11:21:25 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
92
 
 
93
        * log,exp,.. get more accuracy if given a fixnum[don't use short-float]
 
94
        * cmptop.lsp empty keyword list bug (defun foo(&key) nil)
 
95
        * many files add hooks for dos port.
 
96
 
 
97
Fri Mar 27 15:59:24 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
98
 
 
99
        * (cmpinline.lsp) inline-args of a closure var which changed later,
 
100
        signalled a compiler error.
 
101
 
 
102
Wed Mar 25 14:38:41 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
103
 
 
104
        * (read.d) make read listen to when ':' is a read macro. in read_object
 
105
        * (cmpfun.lsp,cmpopt.lsp): Fix optimizer for (typep x 'ratio)
 
106
        * (predicate.c): fix equalp so (equalp (format nil "hi") "hi") -->t
 
107
 
 
108
Wed Mar 11 14:16:59 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
109
 
 
110
        * (read.d): fix failure of (read-string "#b1"). Handle eof in 
 
111
        read_constituent 
 
112
 
 
113
 
 
114
Wed Feb 26 21:38:04 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
115
 
 
116
        * cmpfun.lsp change read-char optimizer so as to avoid
 
117
        a C compiler bug on dec3100, which causes an unaligned access
 
118
        on that machine in calls to read-char.  
 
119
 
 
120
Wed Jan 29 08:30:09 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
121
 
 
122
        * hp800.{h,defs} changes to run incrementally loaded text in a
 
123
        separate segment (at 4zillion).  Without this hp will only let
 
124
        you run one image at a time.   Unfortunately there will be a slight
 
125
        degradation in indirect calls (which includes all calls between
 
126
        user functions).    Why do they need to have segments....
 
127
 
 
128
Thu Jan 23 17:01:37 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
129
 
 
130
        * add some save and retore around the terminal interrupt, to
 
131
        prevent some possible lossage when continuing from an interrupt.
 
132
        You still may lose if there is a gc during an interrupt.
 
133
         
 
134
 
 
135
Wed Jan 22 19:08:11 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
136
 
 
137
        * support for mac under AUX.   Files mac2.h, mac2.defs [by weigert]
 
138
        * misc small changes to other files for mac.
 
139
 
 
140
Sun Jan  5 21:35:21 1992  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
141
    
 
142
        * new definitions for fplus and fminus in cmac.c   The ones for
 
143
        the 68020 were incorrect (since the changeover of the bignum code).
 
144
        These were only used by maxima.
 
145
 
 
146
Fri Nov 22 08:39:42 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
147
 
 
148
        * Change proclaim of function so to turn integer
 
149
        proclained args into type T.   It is not possible to
 
150
        pass raw integer type since this would cause a problem
 
151
        with gc.    Also currently it would have generated C which
 
152
        broke the C compilation.    
 
153
 
 
154
Tue Oct 29 07:59:02 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
155
 
 
156
        * add misc/warn-slow.lsp.   If this file is loaded, then the compiler
 
157
        warns of certain slow constructs, like undeclared arithmetic,
 
158
        and slow array references.
 
159
 
 
160
Thu Oct 24 21:34:55 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
161
 
 
162
        * funlink.c to handle misproclaimed functions better.
 
163
        * big.c correct one source of "bad length" warning
 
164
 
 
165
Sun Oct 20 12:55:35 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
166
 
 
167
        * gbc.c change position of where the C stack is marked from.
 
168
        This is relevant for sparcs with the register windows, which
 
169
        are dumped at interrupts.
 
170
        * cfun,gbc changes as per PCL mods for turbo closures.
 
171
        * read.d use 1000000000.0 rather than 1/ this , since it gives
 
172
        more accurate value in read of float.
 
173
        * cmpfun.lsp add hook for (typep x 'foo) so that can expand
 
174
        this differently according to a property of 'foo.
 
175
        * cmpcall.lsp, add a  hook so that special code can be emitted
 
176
        for calls where a super_funcall_no_event would have been emitted.
 
177
        This code might be used where we expect closures (cf PCL)
 
178
        
 
179
        
 
180
 
 
181
Wed Oct  9 21:31:03 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
182
 
 
183
        * read.d to make 0.7 and (/ 7.0 10) produce identical results.
 
184
        when read (at least on 68k,sparc, rios).
 
185
        We have left the default number of digits printed out as 17,
 
186
        in spite of the fact that IEE has only 15.95 significant digits.
 
187
        The reason is that correct rounding to 15 or 16  digits, will
 
188
        commonly cause things like most-positive-long-float to print
 
189
        in a form which is not even readable (since it is rounded up above
 
190
        the most-positive-long-float).
 
191
 
 
192
Mon Oct  7 20:54:35 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
193
 
 
194
        * fix LD_COMMAND typo in hp800.h
 
195
        * fix replace_array to make the new array not live
 
196
        beyond the call, so that gc won't accidentally mark two
 
197
        copy two identical array bodies (so maybe overstepping the
 
198
        the new relblock)
 
199
 
 
200
Fri Oct  4 10:58:59 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
201
 
 
202
        * close to work on already closed streams.
 
203
        * make_pure_array arg fixed (num_log.c)
 
204
        * estack_buf put in static area on machines like rios.
 
205
        
 
206
 
 
207
Sun Sep 29 12:43:54 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
208
 
 
209
        * fix to relblock allocation in sgc_start
 
210
        * fix for paths with "~/"
 
211
        * change default pagesize on sun3 to 4k
 
212
        
 
213
 
 
214
Sat Sep  7 13:51:24 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
215
 
 
216
        * fix bit-array-op to make correct call to si::make-array-pure
 
217
        (num_log.c)
 
218
 
 
219
Mon Aug  5 18:06:35 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
220
 
 
221
        * wt-cvars add declaration for VXXalloc variables
 
222
 
 
223
Tue Jul 30 16:48:09 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
224
 
 
225
        * interpreted mapcar not gc protecting when given more than 2 args.
 
226
 
 
227
Sat Jul 27 12:32:35 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
228
 
 
229
        * changes to subtypep to make (subtypep 'cons '(and t cons))
 
230
         and (subtypep 'simple-array '(not vector)) correct.
 
231
 
 
232
Fri Jul 26 09:25:56 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
233
 
 
234
        * change equal and hash_equal not to descend into structures.
 
235
        A ruling in CLTL2, clarifies that this should be the case.
 
236
        * alter get-setf-method and friends to accept environment as second
 
237
        argument.   Alter all the complex setf methods to pass the environment
 
238
        so that local functional and macro bindings can alter the behaviour
 
239
        of the setf macro.
 
240
 
 
241
Tue Jul 23 06:25:39 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
242
 
 
243
        * sharing for fasd files for package operations was disabled.
 
244
        Otherwise the symbol in a shadow would be shared with the symbol's
 
245
        later occurrence in the file--It is still a good idea to put
 
246
        package operations in a separate lisp  file at the beginning of
 
247
        system load.
 
248
        * adjustable arrays brought into conformance with changes in CLTL
 
249
        II.  You  
 
250
        may now adjust non adjustable arrays, and the fill-pointer argument
 
251
        to adjust-array does not change the property of having or not having
 
252
        a fill pointer for the array.
 
253
 
 
254
        
 
255
 
 
256
Sun Jul 21 12:44:04 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
257
 
 
258
        * fix cmac.c for maxima (error in dblrem)
 
259
 
 
260
        * sloop for v on l by 'joe
 
261
        changed to allow for the possibility that joe is a macro.
 
262
        [used by maxima].
 
263
 
 
264
Wed Jul 10 10:45:54 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
265
 
 
266
        * littleXlsp is included which provides an interface to some
 
267
        simple X windows routines.   It is not in the image by default
 
268
        See the file lsp/littleXlsp.lsp for directions.
 
269
 
 
270
Tue Jul  9 16:29:23 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
271
 
 
272
        * add VOL declarations for setjmps in format.c to allow to work
 
273
        with gcc on the sparc.
 
274
        * add stuff to cmplam.lsp for VOL declarations of &aux variables.
 
275
        
 
276
 
 
277
Wed Jun 26 20:59:04 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
278
 
 
279
        * Change to gc mark of c stack to make sure register windows
 
280
          are flushed, by calling recursively.
 
281
        * add special bignum code for rs 6000 and aix 370
 
282
        * fix for read suppress and the defstruct reader.
 
283
        * Source level debugging improved (see doc/DOC and doc/dbl.el) 
 
284
        * Catch infinite recursion of proclaimed functions.   Handle
 
285
        segmentation faults on an alternate stack--so don't play around
 
286
        to much after a segmentation fault before quitting to top level.
 
287
        * support for hp800 (and hp700) added.
 
288
          
 
289
        
 
290
Wed May 22 14:54:29 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
291
 
 
292
        * added new slot to struct stream, to hold the buffer.
 
293
        gbc.c and file.d  had been referencing the field in FILE
 
294
        directly, but that is not reliable on att Sys V 4.
 
295
 
 
296
Thu Apr 11 17:04:54 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
297
 
 
298
        * add conc-name to the s-data structure so users may get at
 
299
        it (defstruct.lsp).
 
300
        * add install_segmentation_catcher() and also in error()
 
301
        (ususually arises from real segmentation faults), then turn
 
302
        off sgc, if it's on, to avoid having the error handler stall
 
303
        on trying to alter pages which are write protected (since
 
304
        we are still within the memprotect_handler.
 
305
 
 
306
Thu Apr  4 08:37:50 1991  Bill Schelter  (wfs at max.ma.utexas.edu)
 
307
 
 
308
        * If HAVE_YP_UNBIND is defined, added to c/main.c the
 
309
        unbinding of the default yp domain.  In sun os 4.1
 
310
        we were getting a segmentation fault in _yp_dobind_soft()
 
311
        on a restarted system.
 
312
        
 
313
 
 
314
Sat Mar 30 09:01:57 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
315
 
 
316
        * Fix listen and clear-input (file.d and read.d).
 
317
        macros LISTEN_FOR_INPUT and HAVE_IOCTL are defined in
 
318
        att.h, bsd.h, and for the aix systems.   I have tested
 
319
        it under aix, sun, 4.3bsd, sgi4d and hpux.   Not sure about
 
320
        vannilla sysv (may have to be #undef'd there).
 
321
        * fixed pathnames such as "~wfs/foo.lisp" to work.
 
322
        (see unixfsys.c).
 
323
        
 
324
 
 
325
Mon Mar 25 12:25:34 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
326
 
 
327
        * Make sure that long float arrays get allocated on multiple of
 
328
        sizeof(double ) alignment array.c,gbc.c..  Also unixfasl.c
 
329
 
 
330
        * Add to Smakefile an initial execution of xbin/{machine}-fixes
 
331
        if that file exists.   Use this for correction of temporary bug
 
332
        fixes, such as the bad sgi4d c compiler.
 
333
 
 
334
 
 
335
Mon Mar 18 12:06:26 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
336
 
 
337
        * The structure of bignums and the underlying code was changed
 
338
        completely.   This affected many files including big.c,num_co.c
 
339
        print.d, read.d, predicate.c, num_arith.c,.. See the file doc/bignum
 
340
        for a discussion.    The compiler was also changed to include
 
341
        integer as a primitive type with storage allocated on the stack.
 
342
        * A notion of deducing result type from argument types was
 
343
        added to the compiler.  Initially we are just doing that for
 
344
        the basic integer functions, but it can be extended to others
 
345
        * The optimization in cmpopt.lsp have been changed to allow more
 
346
        flags to accommodate things like the result-type-from-args.
 
347
        The compiler will normally warn (for the time being) if you
 
348
        give it old style optimizations.   Because of the extensive
 
349
        changes to the compiler I have changed the default safety
 
350
        for compiling the cmpnew directory back to 2.  
 
351
        
 
352
Thu Feb 14 16:06:42 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
353
 
 
354
        * debug.lsp, eval.c: fix break-step-next and break-step-into to pass
 
355
        the correct environment back so that evaluating variables or
 
356
        local functions will be done correctly in the debugger.
 
357
 
 
358
Mon Feb 11 16:24:15 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
359
 
 
360
        * Fixed *break-points* function to bind the correct enviroment
 
361
        so that variables will get the right values.
 
362
 
 
363
Mon Jan  7 21:21:22 1991  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
364
 
 
365
        * make inline string adjustable (cmptop.lsp)
 
366
        * multiple changes to lsp/debug.lsp and lsp/top.lsp
 
367
        to allow source line debugging using si::nload.
 
368
        * debugger largely redone.   :bt new backtrace
 
369
        function (:b still there).  see DOC file
 
370
        * add xdr-open xdr-write xdr-read to the si package.
 
371
        * akcl 532 compatible with maxima 4-153
 
372
        
 
373
 
 
374
Wed Dec  5 01:49:50 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
375
 
 
376
        * check_alist should allow nil, since the CLTL allows nil
 
377
        in place of a cons in an alist.
 
378
        * many changes to debug.lsp, eval.c and top.lsp to allow
 
379
        source level debugging.   The emacs file dbl.el was added.
 
380
        It and the DOC file contain more information, but basically
 
381
        there is automatic source display when broken in the debugger
 
382
        (for lisp files loaded with nload).
 
383
 
 
384
Tue Nov 20 20:07:02 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
385
 
 
386
        * Changes to all places where function assignments are made 
 
387
        to allow the hook compiler-def-hook, to be run.   This hook
 
388
        is used by the new source code debugger dbl.
 
389
        * dbl allows debugging of lisp code with a display of an
 
390
        arrow in the window opposite the line currently broken at
 
391
        or being executed.
 
392
        * The safety on the cmpnew files has been changed to safety 0.
 
393
        Please notify of any places where this causes a problem!   It
 
394
        should result in significantly faster compilation.   The error
 
395
        checks should be in the source.
 
396
 
 
397
Thu Nov  8 05:31:34 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
398
 
 
399
        * fix aix3_mprotect/mprotect.c [wrong calculation of overflow]
 
400
        * fix memory_protect in sgbc.c
 
401
        
 
402
 
 
403
Wed Nov  7 09:56:30 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
404
 
 
405
        * Change compiler-clear-compiler-properties, to take 2 args.  This
 
406
        is to provide compiler-def-hook, which lets you get the code just
 
407
        before it is installed.
 
408
 
 
409
        * Misc support for IBM 370 mainframe running under AIX.  (u370)
 
410
        * change malloc at startup to use some static space, since
 
411
        the gc may not be initialized before some startup routines need
 
412
        to malloc (aix3).
 
413
 
 
414
        * fix to cmptag.lsp.   Tags in cross closure tagobdies were sometimes not
 
415
        being written out. (bug had been there forever).   C compiler would
 
416
        fail when the tag was not there.
 
417
        
 
418
 
 
419
Fri Oct 26 15:00:37 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
420
 
 
421
        * change call_proc, the routine used to link proclaimed functions.
 
422
        It was not incrementing vs_top soon enough, so that with args
 
423
        (t t fixnum), with fast links off, the make_fixnum caused by
 
424
        the last arg, might cause a gc which zeroed the vs stack above
 
425
        vs_top, so eliminating arg1.   Symptom was an <objnull> passed
 
426
        as second arg.   This could only happen when functions were proclaimed,
 
427
        and had type not = t.
 
428
 
 
429
Sat Oct  6 08:08:47 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
430
 
 
431
        * change assoc in list.d so (assoc nil '(nil (nil . a))) --> (nil
 
432
        . a)
 
433
          also change cmpfun.lsp in the compiler for this. (bug rep mccain)
 
434
        * Allow #' in the (:print-function  #'(lambda (..))  defstruct option
 
435
          (bug report baxter)
 
436
 
 
437
Thu Sep 20 19:05:05 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
438
 
 
439
        * Fix cmpthrow in cmpcatch.lsp so that handles
 
440
        lexical closures correctly.
 
441
 
 
442
        * Fix cmpeval.lsp for incrementing a structure slot
 
443
        which is fixnum.
 
444
        * Fix cmpmain.lsp adding support for the floating point
 
445
        save ops on rios.
 
446
        
 
447
 
 
448
Sun Sep  2 16:44:24 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
449
 
 
450
        * Fix perm_writable.  It was leaving out the last page! (Vignaux)
 
451
 
 
452
Mon Aug 20 15:15:03 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
453
 
 
454
        * fix acos and asin in numlib.lsp   (bug was (acos .5) was complex!)
 
455
 
 
456
Wed Aug 15 14:01:06 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
457
 
 
458
        * to fasdump.c: close_fasd was munging the array handed
 
459
        to it to cleanup.    This could cause gc problems later.
 
460
 
 
461
        * Several changes to gc.   The alloc_relblock function fixed
 
462
        to take into acount that rb_start - heap_end may not be
 
463
        holepage anymore [since if sgc_enabled we have a second
 
464
        `sgc' rb_start after the first].    We ensure that nrbpage
 
465
        is actually the combined number of pages for relblock,
 
466
        for sgc and regular gc. (alloc.c)   
 
467
 
 
468
Tue Aug 14 16:04:19 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
469
        * changes to sgc to the way memory protection is turned on.
 
470
 
 
471
        * There may be problems with saving an image with (sgc-on t)
 
472
        These have not been resolved, at least under rios, and perhaps
 
473
        other machines.
 
474
 
 
475
        * many changes for aix 3, for rios
 
476
 
 
477
        * for sgi, change the Init_links to come before doinit
 
478
        * the sgi4d does not need the links stuff.
 
479
 
 
480
Wed Aug  8 21:59:37 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
481
 
 
482
        * Change to h/secondary_sun_magic to make it have 8 characters.
 
483
        * fix use-package so that allows using a package with an external
 
484
        symbol, if that symbol is shadowed by the current package.
 
485
        * Several fixes for sun os 4.1 (secondary magic stuff).
 
486
 
 
487
Wed May 23 11:47:34 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
488
 
 
489
        * Make traced functions stay traced after redefinition
 
490
        [change clear_compiler_properties, and its many callers]
 
491
        * Fix two bugs introduced in trace.lsp when its functionality
 
492
        was increased.
 
493
        * fasdump.c (fix coercion).
 
494
 
 
495
Thu Apr 12 15:28:49 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
496
 
 
497
        * Change behaviour of proclaimed, compiled keyword argument functions, so that
 
498
        duplicate keys are allowed, and the leftmost takes precedence.
 
499
        [bind.c:parse_key_new]
 
500
 
 
501
Mon Apr  9 14:48:43 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
502
     
 
503
        * make subtypep (predlib.lsp) handle types of form '(not p) correctly.   This
 
504
        in turn influences compiler optimizer handling of (typep x '(not p))
 
505
        * fix read (read.d) so that it allows eof to occur during reading of a semicolon
 
506
        comment line.
 
507
        * fix c1values (cmpmulti.lsp) so that (values (truncate a b)) does just
 
508
        return one value.   
 
509
 
 
510
Sun Apr  1 22:11:46 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
511
 
 
512
        * make float-digits and float-precision return the significant
 
513
        digits in terms of float-radix.
 
514
        * If si::*print-nans* is not nil, then the C printing of Nan's
 
515
        and infinity surrounded by #< > will be used.
 
516
 
 
517
Fri Mar 30 10:24:35 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
518
 
 
519
        * gbc.c, sgbc.c: displaced arrays have been a real headache.
 
520
        (dotimes (i 5000)  (make-array 1 :element-type 'string-char :displaced-to
 
521
              (format nil "0")))
 
522
        would cause bad things to happen in kcl and akcl.   I finally decided
 
523
        that the link between an array and the array it is displaced to should
 
524
        be made firm.   If A is displaced to B, the user can always do adjust-array
 
525
        on A to destroy the displacement.   But from now on, as long as the
 
526
        displacement exists then if B is marked this will cause marking of A,
 
527
        and vice versa.
 
528
 
 
529
Wed Mar 28 16:41:17 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
530
 
 
531
        * cmpeval.lsp co1structure-predicate:
 
532
        (defstruct foo a b ..) then foo-p was less efficient
 
533
        than it had been in some earlier release.
 
534
        Note:after (si::freeze-defstruct 'foo) you get the fastest foo-p,
 
535
        since this declares the hierarchy of structures including
 
536
        foo to be frozen.
 
537
        
 
538
 
 
539
Wed Mar  7 13:30:57 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
540
 
 
541
        * fixed copying of relblock in gc, so that if an array body
 
542
        is allocated on C stack [the read_fasd does this for a temp array
 
543
        it needs] then this array will not be copied.   In some cases this
 
544
        could have caused the copied relblock to exceed nrbpage size, which
 
545
        is all that sbrk had provided.
 
546
 
 
547
        * read-fasd could not be recursively entered from the lisp_eval calls which
 
548
        were possible [from things like require or other package ops].
 
549
        Fixed in fasdump.c
 
550
        
 
551
        
 
552
Mon Mar  5 11:54:49 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
553
 
 
554
        * Increase BDSGETA to allow some freedom in the debugger after
 
555
        a bds overflow.
 
556
 
 
557
Tue Feb 27 09:19:49 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
558
 
 
559
        * fix printing NIL relative to a package not using LISP.
 
560
 
 
561
Tue Feb 20 00:10:58 1990  Bill Schelter  (wfs at fireant.ma.utexas.edu)
 
562
 
 
563
        * Add compiler::*split-files*, to allow convenient splittling of
 
564
        large lisp files, for C compilers which can't handle infinitely
 
565
        long C files.  See doc/DOC file.
 
566
        * Fix to fasdump.c.  Broke when a .o file was loaded during compilation.
 
567
 
 
568
Fri Feb 16 09:11:08 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
569
 
 
570
        * si::*load-pathname* is now bound to the pathname of the current file
 
571
        being loaded.  
 
572
        
 
573
 
 
574
Sat Feb 10 13:36:44 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
575
 
 
576
        * Add the co1special prop check in c1symbol-fun, for fixing macros which
 
577
        expand into declares in do, do*, prog, prog* (see also cmpfun.lsp)
 
578
        * Fix level in c2call-local (bug report by harris).
 
579
 
 
580
Tue Jan 23 18:37:58 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
581
 
 
582
        * change to siLreplace_array, so that the first word of the old
 
583
        array header is preserved, so that in case sgc is on, the
 
584
        array won't be marked SGC_RECENT, and so garbage collected if
 
585
        there were no pointers to it.
 
586
 
 
587
Sun Jan 21 20:30:48 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
588
 
 
589
        * Many changes to the compiler:  Only defuns and defmacros are
 
590
        compiled by default.    A flag compiler::*compile-ordinaries* if
 
591
        t means all forms will be compiled (use this for pcl at the moment).
 
592
        See doc under compile-file.
 
593
        * eval-when default behaviour changed to be in line with the X3j13
 
594
        CL standard.   See compile-file doc.
 
595
        files: fasdump.c,cmpaux.c,cfun.c, cmptop, cmpwt,cmpenv, cmpspecial,
 
596
        cmpflet.
 
597
        * some advantages of the new init scheme.  Some files can be substantially
 
598
        smaller, and there is more flexibility in writing out the init.   Things
 
599
        like closures which are constant, can be set in as constants.
 
600
 
 
601
Thu Jan  4 23:24:46 1990  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
602
 
 
603
        * make sublis for eql equal and eq be substantially more efficient.
 
604
          [list.d, and cmpfun.lsp]
 
605
        * fix file_exists for AIX (stat returns 0 there even if file
 
606
        ending in slash is not a directory (ie /u/all/bmt/.login/ would
 
607
        have existed.
 
608
        * make boolean be a real type, so that we can distinguish between
 
609
        calls to a function which want only a boolean reply or calls
 
610
        which need more.   An example is probe-file which can be 30
 
611
        times faster when only a boolean reply is needed, not the truename.
 
612
        This required changes to cmptype,cmpif cmpinline.
 
613
        * add additional optimizations to  cmpopt.lsp.
 
614
        * fix vector-push-extend optimization [cmpfun, cmpopt]
 
615
        * various fixes to sgc
 
616
        
 
617
        
 
618
 
 
619
Sat Dec 23 18:30:03 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
620
 
 
621
        * Fix multiple-value-prog1 in cmpmulti.lsp
 
622
        (eval-when (compile) (proclaim '(function foo (t t) t)))
 
623
        (defun jil () (multiple-value-prog1 (values 1 2) (foo 3 4)))
 
624
        (defun foo (a  b) (joe a b) (cons a b))
 
625
        (defun joe (a b) (list a b))
 
626
        would have (jil) --> 3 4 until this fix.  This dates from original kcl.
 
627
        
 
628
 
 
629
Tue Dec  5 20:22:58 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
630
 
 
631
        * changes to alloc.c, gbc.c, page.h, object.h to allow stratified
 
632
        garbage collection [SGC].   This should help systems with
 
633
        a large amount of relatively static data.   Only pages written
 
634
        to since sgc-on need be marked and swept.   See DOC file.
 
635
 
 
636
Sat Nov 11 07:08:27 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
637
 
 
638
        * Add various va_end(ap)'s to match unmatched va_start's.
 
639
        * add in some changes for hp300's faslink.
 
640
        * add additional support for cmpnew/collectfn.lsp   See the
 
641
        documentation in the DOC file for emit-fn and friends.
 
642
        Basically it is for getting proclamation info, who-calls info,
 
643
        undefined info, from a pass of the compiler on a system.
 
644
        * add additional undefined warnings for undefined lisp package
 
645
        functions in addition to the list-undefined-functions.
 
646
 
 
647
        
 
648
 
 
649
Tue Oct 31 06:02:18 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
650
 
 
651
        * add support of Iris 4d machine.
 
652
        * Fix COERCE_VA_LIST for non standard machines, to
 
653
        take the argument n. 
 
654
        * Make sure defun, defmacro,.. clear the accessor property
 
655
        for defstruct slots.
 
656
 
 
657
Sat Oct 28 11:06:25 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
658
 
 
659
        * remove an abort() from rel_sun4.c.   This type
 
660
        of relocation now occurs, and our method has been tested.
 
661
        
 
662
 
 
663
Fri Oct 27 23:01:42 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
664
 
 
665
        * if the *system-directory* directory contains the file sys-init.lsp
 
666
        then this file will be loaded at startup.   This facility
 
667
        is used for printing the warning message at startup, but
 
668
        can be used for local modifications.   Also by having two
 
669
        system directories [via links and different commands]
 
670
        different startups could be loaded.    All this is in
 
671
        addition to the regular init.lsp.   The purpose of this
 
672
        is to allow patches to be loaded, without requiring a
 
673
        resaving of the image. [Recall the system directory
 
674
        is the first argument to invoking a saved_kcl, or
 
675
        the first part of the pathname if there is not a first arg
 
676
        Typically it is the unixport directory if you use the
 
677
        xbin/kcl command]
 
678
 
 
679
Tue Oct 24 20:23:56 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
680
 
 
681
        * Add packlib to the unixport/boots file so that help*
 
682
        gets compiled using the new do-symbols macro.
 
683
        * Add alternate malloc.c file from gnu emacs, if you
 
684
        define GNU_MALLOC.   This runs much faster (15X) if you are
 
685
        incorporating lots of C code with mallocs.
 
686
        
 
687
 
 
688
Thu Oct 19 21:28:25 1989  Bill Schelter  (wfs at nicolas.ma.utexas.edu)
 
689
 
 
690
        * add si::fwrite and si::fread for doing io on file streams.
 
691
        * Eliminate the need for the separate compiler file cmpinclude.h
 
692
        This means that only one file is now needed for an executable,
 
693
        and there won't be confusion over which cmpinclude.h goes with
 
694
        which version.   We store the file as a string, and write it
 
695
        into the c files as they are compiled [if *cmpinclude-string* is
 
696
        a string and :system-p t is not given to compile].   The time
 
697
        difference for doing the extra write is not measurable, even
 
698
        with tiny compiles.
 
699
 
 
700
Wed Oct  4 23:41:17 1989  Bill Schelter  (wfs at rascal)
 
701
 
 
702
        * co1eql was causing a double evaluation
 
703
        in some special circumstances.
 
704
        
 
705
 
 
706
Mon Oct  2 08:48:30 1989  Bill Schelter  (wfs at rascal)
 
707
 
 
708
        * Many changes to the compiler to support &optional, &rest
 
709
        &key args to be passed on the C stack.  This is still limited
 
710
        to functions proclaimed to return one value.
 
711
        * Allow user to grow the stacks from top level [see *multiply-stacks*
 
712
        doc]
 
713
        * Code for making proclamation files and collecting
 
714
        cross referencing data in cmpnew/collectfn.lisp.   This
 
715
        is to allow a second compile of a system to take advantage
 
716
        of information obtained in the first compile.
 
717
        * catch-fatal added.
 
718
        * read.d float read fixed for little endian machines.
 
719
        * do,prog,prog* and do* compilation fixed so that declare's
 
720
        at the beginnning of the bodies which are hidden by macros, are
 
721
        detected and processed.
 
722
        * :dynamic-extent declaration recognized to allow &rest
 
723
        * proclaimed functions with one return value, will now be
 
724
        compiled to use the C stack even if they have more than 10 args.
 
725
        
 
726
        
 
727
        
 
728
 
 
729
Tue Sep  5 22:15:23 1989  Bill Schelter  (wfs at rascal)
 
730
 
 
731
        * Change add-function-proclamation to be more efficient
 
732
        when handed long lists of proclaims.   Maxima for example
 
733
        generates 3871 proclaims of functions.  This now takes
 
734
        4 seconds instead of 2 minutes.
 
735
 
 
736
Mon Sep  4 00:25:29 1989  Bill Schelter  (wfs at rascal)
 
737
        * cfun_to_combined fixed for t_sfun,t_gfun.
 
738
          
 
739
        * ihs_function_name fixed for t_sfun,t_gfun
 
740
        Mainly used in error handling and printing.
 
741
 
 
742
        * compiled-function-name fixed to handle t_sfun,t_gfun
 
743
        [this is used in the error handler]
 
744
 
 
745
Thu Aug 31 09:57:09 1989  Bill Schelter  (wfs at rascal)
 
746
 
 
747
        * fix reduce in seqlib.lsp.   
 
748
 
 
749
Wed Aug 30 16:44:05 1989  Bill Schelter  (wfs at rascal)
 
750
 
 
751
        * change cmpeval.lsp,cmploc.lsp to make small fixnums
 
752
        write out without the indirection through VV
 
753
 
 
754
 
 
755
        
 
756
        ---------Version 206-------------
 
757
 
 
758
Mon Aug 28 13:44:49 1989  Bill Schelter  (wfs at rascal)
 
759
 
 
760
        * cmptag.lsp:add-reg changed to handle dotted list case
 
761
 
 
762
        * Added new types t_sfun, t_gfun of compiled function
 
763
        objects to save space and speed funcall.  See doc/funcall
 
764
        for details.   Many c files changed as well as compiler.
 
765
        
 
766
        * cmpeval.lsp: made #, have the c1special property,
 
767
        instead of c1, so these will compile properly on safety 3
 
768
 
 
769
        * add si::set-mv, si::mv-ref, to allow people to implement
 
770
        faster version of multiple values.  Someday this way will
 
771
        be the default [see doc/multiple-values and lsp/fast-mv.lisp] 
 
772
         
 
773
        
 
774
 
 
775
Thu Aug 10 11:51:05 1989  Bill Schelter  (wfs at rascal)
 
776
 
 
777
        * Fixed prev  fix to print in print.d so that ok if stream = t.
 
778
        
 
779
 
 
780
Mon Aug  7 10:19:11 1989  Bill Schelter  (wfs at rascal)
 
781
 
 
782
        * Support for HP300bsd (bsd from mt xinu) added.
 
783
        * print fixed to add space after printing.
 
784
        * describe modified to print more information on structures
 
785
 
 
786
Fri Jul 28 09:18:15 1989  Bill Schelter  (wfs at rascal)
 
787
 
 
788
        * trace.lsp  Add keyword args allowing special
 
789
        entry, exit, conditional and other handling of
 
790
        traced forms.   You can for example specially print
 
791
        args, or break if args or values are inappropriate.
 
792
        See file doc/trace.
 
793
        
 
794
        * c1decl-body: recognize safety level on first pass.
 
795
 
 
796
Sat Jul  8 15:21:42 1989  Bill Schelter  (wfs at rascal)
 
797
 
 
798
        * defstruct.lsp and read.d:
 
799
        Fix patch_sharp to handle structures, and sharp-s-reader
 
800
        to do its reads recursively.
 
801
        Allows constructs such as #1=#S(joe a #1#)  to work.
 
802
        
 
803
 
 
804
Fri Jul  7 13:40:45 1989  Bill Schelter  (wfs at rascal)
 
805
 
 
806
        * make sure the co1 properties are cleared when functions
 
807
        are defined.
 
808
 
 
809
Mon Jul  3 15:05:51 1989  Bill Schelter  (wfs at rascal)
 
810
 
 
811
        * Fix sharp-s-reader in defstruct.lsp and remove it
 
812
        from iolib.lsp
 
813
        * remove =* and =- from gbc.c package.d
 
814
        * fix c1value to behave correctly when one value supplied
 
815
        in cmpmulti.lsp
 
816
        * change #. and #, to interact correctly when called
 
817
        after #+ or #-  
 
818
 
 
819
Fri Jun  2 20:48:06 1989  Bill Schelter  (wfs at rascal)
 
820
 
 
821
        * sfasl.c gbc.c change error messages from using stderr
 
822
        to stdout.   Note the first file descriptor the user
 
823
        opens is typically stderr, so these error messages (which
 
824
        rarely occurred) did not appear on the screen but rather
 
825
        caused resetting the file pointer of the user's stream!
 
826
 
 
827
Wed May 31 20:31:04 1989  Bill Schelter  (wfs at rascal)
 
828
 
 
829
        * package.d,symbol.d, packlib.lsp:   Changes
 
830
        to package hashing and intern.   Allow flexibly
 
831
        sized packages instead of insisting that all
 
832
        internal and external packages use table with 512 elts.
 
833
        I recommend a prime number as size.   The size of
 
834
        the internals table is automatically grown when there are 2 x
 
835
        as many symbols as the table size.
 
836
        For the byte-reader.im-test file (580K) the read time
 
837
        went from 24 seconds to 16.8 seconds. (had been 53 seconds).
 
838
        in-package and make-package take keyword args
 
839
        :external and :internal to allow specification of the
 
840
        size of the table for a new package.
 
841
 
 
842
Tue May 30 23:00:46 1989  Bill Schelter  (wfs at rascal)
 
843
 
 
844
        * fix writing of small and large double floats
 
845
        in cmpeval.lsp, so that all numbers from smallest
 
846
        double to largest may be included as constants
 
847
        in compiled code.
 
848
 
 
849
 
 
850
Sun May 28 16:22:07 1989  Bill Schelter  (wfs at rascal)
 
851
 
 
852
        * array.c:array_allocself takes an additional argument,
 
853
        specifying the default value, or NULL if no initial
 
854
        value is to be given. 
 
855
        si::make-vector has an additional optional arg of the
 
856
        default value.
 
857
        * seqlib also has calls to array_allocself, which take
 
858
        a 0 final arg, indicating that the initialization
 
859
        is not to be done.
 
860
        * array.c: siLcopy_array_portion added, to allow quick copying
 
861
        from one array to another.
 
862
        * In top.lsp the *eof* is changed to a local, so as not
 
863
        to conflict with the si::*eof*  which is the value returned
 
864
        by the system when doing getc.
 
865
        g 
 
866
        
 
867
 
 
868
Fri May 12 10:57:39 1989  Bill Schelter  (wfs at rascal)
 
869
 
 
870
        * Add optimization for (type x 'foo) where
 
871
        foo is a structure.  This also affects foo-p.
 
872
        If you (setq compiler::*frozen-defstructs* t)
 
873
        this allows the compiler to assume that a given
 
874
        defstruct will not be extended (by including
 
875
        it in more structures) by new defstructs loaded
 
876
        in later files.  This can significantly speed
 
877
        up type checking.
 
878
 
 
879
 
 
880
Thu May 11 07:43:52 1989  Bill Schelter  (wfs at rascal)
 
881
 
 
882
        * Fix omission of the extended mul for sun4 in 1.22
 
883
        Now a new dependent feature EMUL lets you specify
 
884
        an assembler file in the o directory, which will
 
885
        be loaded in at the end.
 
886
 
 
887
        * AKCL added to the *features* list.    This is
 
888
        now necessary because of internal differences in structures
 
889
        between the standard kcl and akcl.
 
890
 
 
891
        Structure changes are pretty well complete.
 
892
 
 
893
Wed May  3 12:11:54 1989  Bill Schelter  (wfs at rascal)
 
894
 
 
895
        * Fix ceiling and floor (num_co.c) by riley
 
896
 
 
897
Mon May  1 08:05:55 1989  Bill Schelter  (wfs at rascal)
 
898
 
 
899
        * fix to gc of displaced arrays.  (bug report
 
900
        and partial fix by riley).    Files gbc.c array.c
 
901
        undisplace was referrring to possibly freed list
 
902
        structure.
 
903
 
 
904
        * Structures are being completely reworked.
 
905
        There are two reasons:
 
906
              
 
907
        To use much less overhead at compile time of the
 
908
        original defstruct.
 
909
        
 
910
        To allow raw types in defstructs, and allow packing
 
911
        of these.    For example a slot (x 0 :type (mod 50)) will
 
912
        only require 1 byte.  These structs may be made to
 
913
        coincide with C structs more closely.   All ptr or full
 
914
        fixnum fields will be aligned on a multiple of the size
 
915
        of ptr however for speed of reference and portability.
 
916
 
 
917
        Needless to say recompilation is necessary for most files.
 
918
        System files affected gbc.c, defstruct.c, predicate.c, print.d
 
919
        defstruct.lsp cmpfun.lsp cmputil.lsp cmpeval.lsp predlib.lsp
 
920
        and maybe some other small changes.
 
921
 
 
922
        Naturally significant speedups will be gained if one can
 
923
        keep integers in raw form:
 
924
        (defstruct ja1 (a #\a :type character)(b 0 :type fixnum))
 
925
        (defun joe (x n) (sloop::sloop for i below n do (setf (ja1-b x) i)))
 
926
        Then (joe (make-ja1) 1000000) takes less than 1 second now,
 
927
        as opposed to over 50 seconds prior to these changes.
 
928
        
 
929
 
 
930
Wed Apr 26 11:59:43 1989  Bill Schelter  (wfs at rascal)
 
931
 
 
932
        * Add message feature for AKCL start up.  If unixport/message
 
933
        exists and unixport/message-suppress does not, then
 
934
        the file unixport/message will be printed on start up. (top.lsp)
 
935
 
 
936
        * make o/akcllib.a, a library containing bcmp .. and other
 
937
        common functions which are not present in all versions of unix.
 
938
        The main link puts this after -lc, so that faster implementation
 
939
        dependent versions will be used if they exist.
 
940
 
 
941
Mon Apr 24 20:28:49 1989  Bill Schelter  (wfs at rascal)
 
942
 
 
943
        * Change to eliminate char_table.s assembler code.
 
944
        This change will unfortunately require users to recompile
 
945
        their object code for use with this system.
 
946
 
 
947
        * Fix bug in cmpinline.lsp, which was allowing
 
948
        (rplacd (cons a b) nil) to give the wrong code.
 
949
 
 
950
        * Add timing for gc, and allow have the si::*notify-gbc*
 
951
        flag cause printing the type of gc.
 
952
        To time gc's. do (si::gbc-time 0), to set the timer to
 
953
        0, (si::gbc-time -1) to reset and turn it off.  It
 
954
        returns an integer in internal time units, similar
 
955
        to get-internal-run-time.
 
956
        
 
957
        * Speed up the lisp reader and intern.  On a large file the
 
958
        read is 2.4 times faster than it was.
 
959
 
 
960
        * Many small changes to the include files, to eliminate duplicate
 
961
        definitions of symbols, (not allowed by some compilers)
 
962
        and also adding COMM_LENG, which can be null for most compilers
 
963
        but should be a small integer for the IBM c compiler (it
 
964
        does not accept external declarations int foo[], so we do
 
965
        foo[COMM_LENG];
 
966
        
 
967
        
 
968
Fri Apr 21 18:13:23 1989  Bill Schelter  (wfs at rascal)
 
969
 
 
970
        * Fix bug with the new fast read-byte,....
 
971
        If the stream argument was supplied, and was not a stream
 
972
        but rather T or NIL, there was a problem.   If you declare
 
973
        the arg to be of type stream, then you will get identical
 
974
        code to before;  otherwise a typecheck for type stream
 
975
        will be supplied, branching into the slower code for
 
976
        non streams.
 
977
        Files cmpopt.lsp and cmptype.lsp
 
978
        
 
979
 
 
980
Tue Apr 18 22:56:54 1989  Bill Schelter  (wfs at rascal)
 
981
 
 
982
        * More changes to read-byte, write-byte, read-char and
 
983
        write-char.   I have removed the :in-file and :out-file
 
984
        declarations, and the speed up for the undeclared streams
 
985
        should be virtually the same as obtained with the declarations.
 
986
        This will affect mainly file streams.   Files cmpfun.lsp,
 
987
        cmpopt.lsp, cmpinclude.h, read.d
 
988
 
 
989
        Note that on read-byte it is still advantageous to use an
 
990
        eof which is a fixnum.
 
991
 
 
992
        reads where the eof-error-p arg is not nil are not speeded up.
 
993
 
 
994
        It is still the case that two way streams are not speeded up,
 
995
        however if (si::fp-input-stream str) returns non nil, then
 
996
        you can use the resulting stream for fast input.
 
997
 
 
998
Thu Apr 13 00:20:11 1989  Bill Schelter  (wfs at rascal)
 
999
 
 
1000
        * fixes to subtypep (as reported by riley)
 
1001
 
 
1002
        * changes to allow faster operation of read-char,write-char,
 
1003
        read-byte and write-byte, when operating on file streams.
 
1004
        In order to use these you should declare the stream
 
1005
        to be :in-file or :out-file.
 
1006
        You can use (typep str :in-file) to
 
1007
        check if it is really valid.   
 
1008
 
 
1009
        (defun myread (str)
 
1010
                (declare (:in-file str))
 
1011
                (the fixnum (read-byte str nil -100)))
 
1012
 
 
1013
        The above changes should work for ansi C style stdio,
 
1014
        in particular for unix io.  At the moment it is conditionalized
 
1015
        for +unix.
 
1016
        files: cmpfun.lsp, cmpopt.lsp, cmtype.lsp, file.d, cmpenv.lsp
 
1017
 
 
1018
        The difference in reading speed is substantial: eg 3 microseconds
 
1019
        as opposed to 60 microseconds for read-byte.
 
1020
 
 
1021
        To make your code portable do
 
1022
        (proclaim '(declaration  :in-file))
 
1023
 
 
1024
        In order for the optimizations to cut in, 
 
1025
        the read functions must be supplied with 3 args and the
 
1026
        write functions with 2.  The second of the read args
 
1027
        must be nil.
 
1028
        Note with read-byte, using an eof value which is a fixnum,
 
1029
        allows you to declare the location you will pass to as a fixnum.
 
1030
        
 
1031
        
 
1032
        
 
1033
Wed Mar 22 17:19:03 1989  Bill Schelter  (wfs at rascal)
 
1034
 
 
1035
        * Change c1fmla-constant in cmpif.lsp.
 
1036
        (if (null 2) x y ) was yielding x not y!
 
1037
 
 
1038
Sun Mar 19 12:26:21 1989  Bill Schelter  (wfs at rascal)
 
1039
 
 
1040
        * fix stream_at_end, so that a stream opened for  `io'
 
1041
        does the check, when reading, so that read can
 
1042
        return eof properly.
 
1043
 
 
1044
Sun Mar 12 01:40:53 1989  Bill Schelter  (wfs at rascal)
 
1045
 
 
1046
        * speed up the intern of symbol in pack_hash
 
1047
        computation.
 
1048
 
 
1049
        * psetf bug in case of two args (psetf a 3)
 
1050
        not passing the environment.   setf.lsp
 
1051
        
 
1052
 
 
1053
Fri Feb 24 22:27:22 1989  Bill Schelter  (wfs at rascal)
 
1054
 
 
1055
        * add fixes for &environment to allow it to come
 
1056
        anywhere in the lambda list. defmacro.lsp and cmplam
 
1057
        (change from R. Harris).
 
1058
 
 
1059
Wed Feb 22 17:24:30 1989  Bill Schelter  (wfs at rascal)
 
1060
 
 
1061
        * fix tree-equal to save the previous test in list.d
 
1062
        (assoc '(c) '((a b) ((c) d)) :test #'tree-equal) failed.
 
1063
        (by Cooperman)
 
1064
 
 
1065
Sun Feb 19 17:42:31 1989  Bill Schelter  (wfs at rascal)
 
1066
 
 
1067
        * Fix hash_equal in hash.d.  It was broken for circular
 
1068
        structures or lists.   This would affect sxhash as well
 
1069
        as equal hash tables.
 
1070
 
 
1071
        * Fix obscure bug in compiler in cmptop.lsp, which could
 
1072
        possibly leave out a sup declaration.   The c compiler
 
1073
        would catch this.
 
1074
 
 
1075
        * Fix comparison of arrays under equalp in c/predicate.c
 
1076
        It had been broken for rank different from 1.
 
1077
        * Fix the assembler for the sun4 in sun4_chtab.s for
 
1078
        multiply.  (bug report by Harris).
 
1079
 
 
1080
Fri Dec  9 00:47:46 1988  Bill Schelter  (wfs at rascal)
 
1081
 
 
1082
        * Made changes to sfasl to make it more portable.
 
1083
        * added structures and characters to the types
 
1084
        handled by fasdump.c
 
1085
        * changed the c stack check in gbc.c to use cs_check.
 
1086
 
 
1087
Sun Nov 27 12:31:13 1988  Bill Schelter  (wfs at rascal)
 
1088
 
 
1089
        * Add si::fp-input-stream, si::fp-output-stream,
 
1090
        Which take one arg a stream, and return a stream
 
1091
        with an strm->sm.sm_fp slot suitable for use with fread and fwrite.
 
1092
        If this is not possible nil is returned.
 
1093
        
 
1094
 
 
1095
Wed Nov  2 16:09:17 1988  Bill Schelter  (wfs at rascal)
 
1096
 
 
1097
        * inline-args fix:
 
1098
        (defun x (c s i)
 
1099
          (declare (optimize (safety 2)))
 
1100
          (declare (fixnum i))
 
1101
          (setf (char s (setq i (1+ i))) c))
 
1102
         made c, not just i a fixnum in the char compilation,
 
1103
         fixed in inline-args (by E. Wang)  edward@ucbarpa.Berkeley.EDU
 
1104
         file cmpinline.lsp
 
1105
 
 
1106
Wed Oct 12 17:01:06 1988  Bill Schelter  (wfs at rascal)
 
1107
 
 
1108
        * Added new array types:   files cmptype,array.c,typespec.c,cmpopt,
 
1109
          predlib.lsp, gbc.c,  and maybe some others.
 
1110
          Purpose of the change was to allow programs like CLX which
 
1111
          use lots of numerical arrays, to be much more economical.
 
1112
          Also make-array now coerces the element-type in a reasonable
 
1113
          way, and the same handling is used in the compiler.
 
1114
          
 
1115
          New array element types:
 
1116
          signed-char,  unsigned-char,  signed-short, unsigned-short
 
1117
          The ranges on a SUN are
 
1118
          ((INTEGER -128 127)       (INTEGER 0 255) (INTEGER -32768 32767)
 
1119
           (INTEGER   0 65535)) respectively.
 
1120
          Note that now
 
1121
          make-array will always try to find the `best' array to
 
1122
          accommodate the element-type specified.   For example on a SUN
 
1123
          (mod 1) --> bit
 
1124
          (integer 0 10) --> unsigned-char
 
1125
          (integer -3 10) --> signed-char
 
1126
          si::best-array-element-type is the function doing this.  It
 
1127
          is also used by the compiler, for coercing array element types.
 
1128
          If you are going to declare an array you should use the same
 
1129
          element type as was used in making it.  eg
 
1130
          (setq my-array (make-array 4 :element-type '(integer 0 10)))
 
1131
          (the (array (integer 0 10)) my-array)
 
1132
          
 
1133
 
 
1134
          
 
1135
          ..  When wanting to optimize you need to make a reference:
 
1136
          (the fixnum (aref (the (array (integer -3 10)) ar) (the fixnum i)))
 
1137
          if ar were constructed using the (integer -3 10) element-type.
 
1138
          You could of course used signed-char, but since the ranges
 
1139
          may be implementation dependent it is better to use -3 10 range.
 
1140
          make-array needs to do some calculation with the element-type
 
1141
          if you don't provide a primitive data-type.  One way of doing
 
1142
          this in a machine independent fashion:
 
1143
          (defvar *my-elt-type* #. (array-element-type (make-array 1
 
1144
          :element-type '(integer -3 10))))
 
1145
          Then calls to (make-array n :element-type *my-elt-type*)
 
1146
           will not have to go through a type inclusion computation.
 
1147
          
 
1148
           
 
1149
           
 
1150
Tue Oct 11 09:52:13 1988  Bill Schelter  (wfs at rascal)
 
1151
 
 
1152
        * When using gcc, it could happen that there was
 
1153
        a string in in the init function, which got placed
 
1154
        before the init function.  Had to add -fwritable-strings
 
1155
        to stop this.
 
1156
 
 
1157
Sun Oct  2 13:35:11 1988  Bill Schelter  (wfs at rascal)
 
1158
 
 
1159
        * Fix MP386 and att port bugs, introduced with the
 
1160
        new mp386.h, att.h and mp386.defs files.
 
1161
        * Fix unixtime at least for bsd, so that get-internal-real-time
 
1162
        does not wrap every few hours, but will not wrap below 400 days.
 
1163
        * Fix directory problems with compiling in other than the current
 
1164
        directory, in the name of the file specified in the include.
 
1165
        The command on most systems cd 's to the directory to run the
 
1166
        cc, and so the .h file needed to use an unprefixed name.
 
1167
        
 
1168
 
 
1169
Sat Sep 24 16:02:22 1988  Bill Schelter  (wfs at rascal)
 
1170
 
 
1171
        * Changes to the computation of double-float-epsilon
 
1172
        and more generally XX-epsilon.  First they did not
 
1173
        satisfy the condition of
 
1174
        (defun fo (e) (not (= (float 1 e) (+ (float 1 e) e))))
 
1175
        (fo double-float-epsilon) --> t
 
1176
        as per CLtL.   As it stands they at least satisfy the
 
1177
        test, although there may be floats slightly smaller which
 
1178
        also do.
 
1179
        
 
1180
        Second on some machines (eg HP) the calculation done
 
1181
        in line, carried more precision than that which would
 
1182
        be normal when passed through eql, so that we changed
 
1183
        the test == in constructing the double float epsilon
 
1184
        to use a function call.  Otherwise the epsilon was
 
1185
        ~10^-20 instead of the correct ~10^-16.
 
1186
 
 
1187
Thu Sep 22 14:08:07 1988  Bill Schelter  (wfs at rascal)
 
1188
 
 
1189
        * Fixed hash_equal not to use the cast to int,
 
1190
        in computing hash of a symbol name
 
1191
        since this made sun4's unhappy (file hash.d ).
 
1192
 
 
1193
Wed Sep 14 12:02:35 1988  Bill Schelter  (wfs at rascal)
 
1194
 
 
1195
        * fix to setf to make sure that
 
1196
        (defmacro joe (x) `(progn t (car ,x)))
 
1197
        (defsetf joe rplaca)
 
1198
        work correctly.   files changed are assignment.c and setf.lsp
 
1199
        The defsetf'd definition takes precedence in the macroexpansion.
 
1200
        The bad order was introduced when the evaluation of the macros including
 
1201
        their environments was introduced (see below).
 
1202
 
 
1203
Mon Sep 12 10:09:56 1988  Bill Schelter  (wfs at rascal)
 
1204
 
 
1205
        * use varargs.h for bind.c and list.d where
 
1206
        variable length args are passed.  We only use
 
1207
        va_arg(ap,object) to access the next arg now.
 
1208
        There are no more indexed references, since that
 
1209
        is less portable.
 
1210
 
 
1211
        * A major change for porting:  Each machine type
 
1212
        now has a .h file of its own, and things like alloc.c,
 
1213
        main.c, unixsave.c  no longer should be modified for
 
1214
        individual machines.  The file config.h is a link
 
1215
        from `your-machine`.h and things like the VSSIZE,
 
1216
        are also specified in that file.  There are also
 
1217
        files such as bsd.h , att.h (for system V) which
 
1218
        can be included by the various special machine files.
 
1219
 
 
1220
        * c support for extended_div was added, and will
 
1221
        be used if USE_C_EXTENDED_DIV is defined.  The only
 
1222
        function which does not have a C definition on the sun4
 
1223
        version is extended_mul.  Note that the c version
 
1224
        of extended_div is included in big.c rather than earith.c
 
1225
        since the latter is not compiled with the optimize switch.
 
1226
 
 
1227
        * The assembler functions of bitop.c had been being redefined
 
1228
        by macros in gbc.c in an earlier change (this was actually
 
1229
        4 times faster on a sun3), and now those functions have
 
1230
        dummy definitions, which will go away soon.
 
1231
 
 
1232
Wed Aug 31 23:38:08 1988  Bill Schelter  (wfs at rascal)
 
1233
 
 
1234
        * use varargs for the funlink of proclaimed functions,
 
1235
        This affects cmpcall.lsp, funlink.c and requires
 
1236
        <varargs.h> to be included by cmpinclude.
 
1237
        The old variable arg business was not portable to risc
 
1238
        architectures, where args are passed in registers.
 
1239
 
 
1240
        * make print return a value in print.d
 
1241
        Hope there are not more `implicit returns' hidden away.               
 
1242
 
 
1243
Fri Aug 19 15:13:06 1988  Bill Schelter  (wfs at rascal)
 
1244
 
 
1245
        * Make (subtypep 'string-char 'character) --> t
 
1246
 
 
1247
Wed Aug  3 11:33:20 1988  Bill Schelter  (wfs at rascal)
 
1248
 
 
1249
        * I have removed the dynamic growing of the special binding
 
1250
        stack which I had added a few months ago (cf bds.h,main.c,bds.c.)
 
1251
           It had ignored
 
1252
        the fact that some functions eg, Levalhook grab a pointer
 
1253
        into the bds rather than just an index.  These could easily have
 
1254
        been changed, but until we allow the other stacks to grow
 
1255
        dynamically, it is of questionable value.  
 
1256
 
 
1257
Fri Jul  1 09:41:36 1988  Bill Schelter  (wfs at rascal)
 
1258
 
 
1259
        * allow assoc to take key in c/list.d as per mail
 
1260
          442  23-Jun  pc%linus@mitre-bedford.ar  KCL Bug: assoc doesn't take :key
 
1261
 
 
1262
 
 
1263
Wed Jun 15 16:46:40 1988  Bill Schelter  (wfs at rascal)
 
1264
 
 
1265
        * Added support for switch construct (see cmpnew/cmptag.lsp
 
1266
        for documentation)
 
1267
        This will allow compiling into the c switch construct
 
1268
        if (the test variable is declared to be a subtype of
 
1269
        fixnum) which can then allow much faster switching on
 
1270
        cases.  To do:Should optimize some of case constructs into
 
1271
        switch, where applicable.
 
1272
 
 
1273
Wed Jun  8 11:43:00 1988  Bill Schelter  (wfs at rascal)
 
1274
 
 
1275
        * Altered the marking of the c stack in gbc.c.
 
1276
        Now the current location for the c stack is taken
 
1277
        in a separate function from the one where the environment
 
1278
        is forced onto the stack, so that we don't have to
 
1279
        depend on the c compilers doing things in the expected
 
1280
        order.  See mark_stack_carefully.  Also added a flag
 
1281
        C_GC_OFFSET which if defined to 2, will mark
 
1282
        the stack twice once on 4m and once on 4m+2.
 
1283
 
 
1284
        * changed the initialization in main.c of bds_org
 
1285
        and bds_limit.
 
1286
        
 
1287
        This is to fit in with the earlier change to
 
1288
        bds_overflow, to allow the bds to grow.   bds_org
 
1289
        is now a pointer rather than a hardwired value.
 
1290
        
 
1291
 
 
1292
Tue Jun  7 04:44:15 1988  Bill Schelter  (wfs at rascal)
 
1293
 
 
1294
        * Fix equalp to use the fill-pointer as a limit
 
1295
        when comparing strings,vectors and bitvectors.
 
1296
        
 
1297
 
 
1298
Mon Jun  6 11:29:08 1988  Bill Schelter  (wfs at rascal)
 
1299
 
 
1300
        * Fix rotatef in setf.lsp to return NIL per CLtL
 
1301
        * Fix handling of &rest arg in cmplam.lsp
 
1302
        c2lambda-expr-without-key as per bug fix of Yuasa
 
1303
        12-Nov  yuasa%kurims.kurims.kyoto  A bug fix
 
1304
        * Add the fix to quick-sort as per
 
1305
           67  12-Jan  yuasa%tutics.tut.junet%ut  Re: sort bug
 
1306
        * Add fix for shadowing-import per
 
1307
           68  12-Jan  yuasa%tutics.tut.junet%ut  Re: SHADOWING-IMPORT doesn't
 
1308
        * Fix (random 0) bug, adding TSpositive_number type. as per
 
1309
           69  12-Jan  yuasa%..  Re: (random 0) => losing error message
 
1310
        * Fix (make-array  2 0) bug per
 
1311
         70  13-Jan  yuasa%tutics.tut.junet%ut  Re: Nil is a sequence
 
1312
        * Add bogus value (*READ-DEFAULT-FLOAT-FORMAT* t) when
 
1313
        printing a float in a compiled file, so that it will always
 
1314
        add the type in the printing, and we won't get a float
 
1315
        type different from that used at compile time
 
1316
        cf.    80  28-Jan  yuasa%tutics.tut.junet%ut  Re: float numbers
 
1317
        * Add fix for bug
 
1318
        setf (aref x (decf i)) (aref x 1)) ->
 
1319
                "base[2]= aset1(base[0],V1,fix(base[1]));"
 
1320
        to cmpinline.lsp, as per
 
1321
           92   8-Feb  yuasa%tutics.tut.junet%ut  Re: compiler bug?
 
1322
        *All fixes by yuasa in the kcl-mail-archive  thru Jun 88
 
1323
        are now incorporated in akcl
 
1324
        * Altered cmp-macroexpand-1 to use the local macro environment
 
1325
        
 
1326
 
 
1327
 
 
1328
 
 
1329
Wed Jun  1 13:29:57 1988  Bill Schelter  (wfs at rascal)
 
1330
 
 
1331
        * Altered macros.c to pass the function-macro environment
 
1332
        if it is non nil.  This is needed so that macro expansion
 
1333
        functions can be called in the correct environment.
 
1334
        Altered cmputil.lsp so that cmp-macroexpand and cmp-macro-expand
 
1335
        both use the current compiler macro environment.
 
1336
        Finally altered setf, so that it looks at the macro
 
1337
        environment when it expands the place.
 
1338
 
 
1339
        Deleted treatment of setf as special form by the compiler,
 
1340
        (introduced yesterday!)
 
1341
        now that macros are handled correctly, and it is defined
 
1342
        correctly as a macro.
 
1343
 
 
1344
        Things like
 
1345
        (macrolet ((ab nil 'a)) (setf (the fixnum (ab)) 3))
 
1346
        Now work to give (set 'a (the fixnum 3)) as expected.
 
1347
        
 
1348
        
 
1349
 
 
1350
Mon May 30 11:40:47 1988  Bill Schelter  (wfs at rascal)
 
1351
 
 
1352
        * Altered setf to macroexpand the place in the current
 
1353
        lexical environment so that
 
1354
        (macrolet ((joe nil 'bil))(setf (joe) n))
 
1355
        would behave correctly.  This change was in assignment.c
 
1356
        in `setf' and also in cmputils.lsp adding c1setf, to
 
1357
        get analagous treatment for compiler.
 
1358
        To do:
 
1359
        It is still not totally correct:  I don't handle
 
1360
        (macrolet ((joe nil 'bil))(setf (the fixnum (joe)) n))
 
1361
        but
 
1362
        (macrolet ((joe nil '(the fixnum bil)))(setf (joe) n))
 
1363
        is ok.
 
1364
 
 
1365
Tue May 24 09:38:58 1988  Bill Schelter  (wfs at rascal)
 
1366
 
 
1367
        * Changed float to return single-float if given only one
 
1368
        arg, as per CLtL.
 
1369
 
 
1370
        * Added a dynamic growth feature the bds stack, changing
 
1371
        bds_org to be a variable rather than a macro, and altering
 
1372
        bds_overflow.
 
1373
        
 
1374
        *Enforce  substantial constraints on downward closures ,to be relaxed
 
1375
        at a future date: Currently no args, and no cross references
 
1376
        to other types of closures.   This is done in check-downward
 
1377
        in t1defun.  
 
1378
 
 
1379
        
 
1380
 
 
1381
        
 
1382
 
 
1383
        
 
1384
 
 
1385