BSD 4_3_Net_2 development
[unix-history] / usr / src / usr.bin / lisp / liszt / ChangeLog
Fri Jan 13 15:05:29 1984 by jkf
the 68k version will now record function argument
counts for lambdas. It still doesn't do lexprs (even those
with &optional and &rest forms).
Wed Dec 7 16:13:08 1983 by sklower
changed profiling code to refer to mcnts instead of
mcounts so that the C variable could be so renamed
to make sure that all names are distinguishable
in the first 6 characters. This change is invisible
to users.
Tue Nov 22 08:59:34 1983 by jkf
added the -W switch. After compilation (but before assembly)
it aborts the compilation with an error status if there were
any warnings.
(now: version 8.39)
Tue Oct 25 14:45:48 1983 by jkf
fixed it so that if a lisp error occurs when compiling a function,
the name of the function being compiled will be printed
(now: version 8.38)
Mon Oct 10 07:42:54 1983 by jkf
fixed bug in liszt (tlev)
(now: version 8.37)
Sat Jul 30 15:37:40 1983 by layer
open code vset. Move all vector stuff to vector.l.
Files: func.l, decl.l, vector.l, and cmake.l
(now: version 8.33)
Mon Jul 25 21:29:54 PDT 1983 by layer
fixed 'liszt' to mung object file header for the sun
File: tlev.l
(now: version 8.32)
Mon Jul 25 07:05:49 1983 by jkf
fix bug whereby -mr would cause an 'comma not in backquote error'
because the escape character was / instead of \ when reading
/usr/lib/lisp/autorun.xxx
(now: version 8.31)
Sat Jun 25 13:28:10 1983 by jkf
Turn off uctolc converstion before printing bindtab.
This is useful for liszt in opus 38.65 and greater since it
will eliminate unnecessary |'s in the bindtab if uctolc
is need to compile the file
(now: version 8.29)
Thu Jun 16 21:52:59 1983 by jkf
fixed compilation of &aux for vax version. Now &aux (foo foo)
will work if foo is special.
(now: version 8.28)
Wed May 4 18:32:46 1983 by layer
added sun autorun header to io.l
(now: version 8.27)
Thu Mar 24 08:24:53 1983 by jkf
-x file will now be placed in the same place as the output
file (instead of the input file).
(now: version 8.25)
Sat Mar 19 17:49:18 1983 by jkf
mixed in the 68k liszt source.
(now: version 8.24)
Mon Mar 14 13:14:26 1983 by jkf
liszt used to open code 'times' if all operands were fixnums.
Thus (times 256 256 256 256) would open code to a 0 fixnum.
This is clearly wrong and liszt will now not convert times, add,
etc to their fixnum equivalents. If you want fixnum semantics
then you must use fixnums.
Another bug was fixed: d-functyp would return the wrong thing
give a name bound to a foreign function. now it returns 'lambda.
files affected: datab.l decl.l
(now: version 8.23)
Tue Feb 22 08:43:44 1983 by jkf
force jump to vecindexerr to use 'jmp', since the object
file might be large and the assembler is stupid
(now: version 8.22)
Thu Feb 10 20:39:42 1983 by jkf
open coded vectorp and vectorip, vsize-...
(now: version 8.21)
Thu Jan 20 01:57:01 1983 by layer
Added three features to liszt command line processing:
-e <expr> evaluates <expr> before compilation.
-i <filename> loads <filename> before compilation.
-S -o filename names .s file.
file: tlev.l
(now: version 8.20)
Mon Jan 17 09:41:12 1983 by jkf
added arg number checking and open coded &keywords.
(now: version 8.19)
Sun Jan 16 10:05:01 1983 by jkf
fixed nasty bug in d-exp which would show up if a macro
returned a recursive call it itself
(now: version 8.18)
Wed Jan 12 10:43:53 1983 by jkf
added open coding of vref functions
(now: version 8.17)
Wed Oct 27 20:24:47 1982 by jkf
removed references to sys_ functions, replaced them with
sys: functions so code will be more portable.
file: tlev.l
Wed Oct 27 08:15:14 1982 by jkf
discovered that making 'declare' a function is a bad idea because
if the compiler executes an interpreted function with local
declarations, those local declarations will seem like declarations
for the function begin compiled. Thus declare is no longer a
special function in the compiler: it must be seen by the compiler
to have an effect. Added the user callable function liszt-declare
which will have an effect just like declare used to: the compiler
will recognize it when compiling and it can be evaluated by a
user function.
(now: version 8.16)
Mon Oct 25 22:55:37 1982 by jkf
removed If macro definition from cmacros.l . It is now in
the default franz.
Mon Oct 25 09:15:18 1982 by jkf
catch the sigterm signal and die after removing the /tmp file.
(now: version 8.15)
Tue Oct 19 15:56:07 1982 by jkf
fixed bugin cc-arg wherein a (arg (foo)) would be compiled
incorrectly (it was calling zerop on a non number).
Added checks for cmacro and macro-autoload properties.
When doing macro expansion, had it stop if the same car
was returned.
(now: version 8.14)
Mon Oct 18 23:27:14 1982 by layer
Fixed bug in function cc-quote. Parens in an If statement
were messed up.
Sat Oct 9 04:35:23 PDT 1982 by layer
Np-reg, Lbot-reg, oLbot-reg are now constants. Changes
made to expr.l and io.l.
Thu Oct 7 01:02:26 1982 by jkf
fixed bug in the compiler. The compiler had neglected to enforce
the rule that 'macros' not be defined as local functions.
Now that is checked (modification to tlev.l).
Wed Oct 6 22:53:36 1982 by jkf
added check to make sure that a file doesn't declare a function
to be local that has already had a compiled call made to it.
This is done by placing a t under indicator g-stdref for all
symbols called in the 'standard' way.
(now: version 8.13)
Wed Oct 6 13:29:27 PDT 1982 by layer
put the loading of chead.l (in array.l datab.l decl.l expr.l
fixnum.l funa.l funb.l func.l io.l tlev.l util.l) under
include-if control. Also changed chead.l.
Tue Oct 5 23:36:09 PDT 1982 by layer
removed function d-call from expr.l, since it isn't
used anymore.
Tue Oct 5 23:00:09 PDT 1982 by layer
added sccs'ed file scmake.l, so that an all interp'd
version of the compiler can be made without deleting
all the .o files. Changes were also make to the Makefile.
snliszt (formerly slownliszt) now depends on source
files (like nliszt depends on .o files).
Tue Oct 5 22:22:59 1982 by jkf
added argument checking. This involved mods to expr.l to
do the checking and to tlev.l to save argument number
info while compiling. The file /usr/lib/lisp/fcninfo.l
contains a description of what is known about C functions.
(now: version 8.12)
Mon Oct 4 14:23:29 1982 by jkf
turn off [load ...] message when loading in lisztrc file
Tue Sep 28 09:30:36 1982 by jkf
change tmp file name back to jkfnnnnn
(now: version 8.11)
Wed Jul 21 13:43:56 PDT 1982 by layer
function "liszt" in tlev.l now returns the true assembler exit
status (if the compile goes that far).
Sat Jul 3 18:01:25 1982 by jkf
open code getaux and getaccess
(now: version 8.10)
Wed Jun 30 18:58:32 1982 by jkf
look for liszt rc files without extensions. now we look in
12 places for the lisp init file:
{ . , $HOME } { .lisztrc , lisztrc } { .o , .l , }
(now: version 8.09)
Thu May 27 08:19:00 1982 by jkf
fixed bug in d-fixnump which caused liszt to assume too often that
arguments are all fixnums
(now: version 8.08)
Wed May 12 13:46:03 1982 by jkf
new declaration scheme died when the object being declared
was a list. e.g (declare (fixnum (foo fixnum flonum)).
Fixed declare-handler so that cases like this are ignored.
(now: version 8.07)
Fri May 7 19:28:04 1982 by jkf
allow (function (nlambda ()...)) and (function (lambda () ..))
(now: version 8.06)
Thu May 6 15:03:50 1982 by jkf
support local declarations. They are stacked on g-decls.
localf and macarray don't fit in too well, they should
be fixed.
fixnum declarations now have meaning. They will allow the
compiler to convert from functions like 'add1' to 1+.
'declare' is now a function in the compiler so declarations
may be fasl'ed in. [this was removed Oct 27, 1982]
Thu Apr 22 20:48:25 1982 by jkf
#' returns a symbol now, instead of the getd of the symbol.
This was required for maclisp compatibility.
(now: version 8.05)
Wed Apr 21 07:50:41 1982 by jkf
load in init file before compiling. look in . first, then $HOME.
look for .liszt.o, .lisztrc.l, lisztrc.o, lisztrc.l
Upon interrupt, remove temp file and exit
(now: version 8.04)
Mon Apr 12 23:22:37 1982 by jkf
open code 'function'. Now it will cause another function to be
generated and compiled and the function call returns the
bcd header for the newly created function
liszt-process-forms may be filled with forms to compile while
compiling a form. Unlike liszt-eof-forms, liszt-process-forms
are compiled at the next opportunity.
(now: version 8.03)
Wed Mar 31 08:47:46 1982 by jkf
fixed bug in which (> (or nil 9) 0) would return true. cc-eq
now rebinds g-trueop and g-falseop. (now: version 8.02)
Wed Mar 31 08:24:27 1982 by jkf
added a new file to liszt: lversion.l It is not sccsed and it
just contains the version number. This will allow the version
number to be changed with ease whenever a modification is made.
start it at 8.01 (now: version 8.01)
Fri Mar 19 11:17:12 1982 by jkf
did distribution. (now: version 8.00)
Fri Feb 19 09:56:50 1982 by jkf
fixed e-docomment so that newlines in the comment will not
cause assembler problems [io.l]
Wed Feb 17 12:46:24 1982 by jkf
to version 8.0 (to correspond with Opus 38)
Wed Feb 10 21:28:41 1982 by jkf
fixed a bug in the return function and a possible bug in go.
both bugs have to do with returning or going through a
catch or errset, which is a pretty strange thing to do anyway.
The fix was to keep track of the number of catches and errsets
before the prog to be returned from or gone into.
I modified d-pushframe to always push 3 args, so we can know
how long each frame we pop will be.
Sat Dec 5 11:58:36 1981 by jkf
open coded boole (mods to decl.l and funa.l). used the open
coding capability of fixnums.
Added three internal functions fixnum-BitXor, fixnum-BitAndNot
fixnum-BitOr, which are the three functions which the vax
can do.
Mon Oct 26 21:15:36 1981 by jkf
fixed bug in d-supercxr (funa.l) which made this function
(cond ((setq y (cxr n zip)) (print 'hi))
(t (print 'lo)))
always prints 'hi'. The problem was that only jump on true was
checked if the value of a cxr was stored somewhere. In the case
above we want to jump on nil.
Sat Oct 24 16:41:03 1981 by jkf
-*- to version 7.1 -*-
Added the 'a' option to liszt, which if set will cause a
special form to be output after a function is defined. that special
form will put a 'fcn-info' property on the function's property
list. the form of the fcn-info property is
(argdesc compileinfo)
argdesc may be nil or (x . y), the later meaning that there are a
minumum of x args required and a maximum of y. Currently lexprs
just put 'nil' there, but soon I will introduce a way to declare
min and max args for lexprs via a declare. The compileinfo
is a string saying what file this came from and when it was
compiled.
Wed Oct 21 20:19:53 1981 by jkf
added functions <&, =&, and >& which are fixnum only
versions of <,= and >.
Tue Oct 20 22:14:41 1981 by jkf
fix < and > compiling so that they are only open coded if
we can be sure that both operands are fixnums. For now this
amounts to checking that one of the operands is a fixnum.
We should augment to this check also for type declarations.
Sat Oct 17 11:47:50 1981 by jkf
since most fixnums are in the range 0 to 1023 we can probably
win by doing inline checking in that range. Thus I've added
the function d-fixnumbox which does an inline reboxing if
the number is between 0 and 1023 and otherwise calls qnewint.
The file changed was fixnum.l
Thu Oct 8 23:35:34 1981 by jkf
added cc-= to open code = if possible. It looks for a fixnum
as one of the arguments and converts the = expression to
(eq (cdr ..) (cdr ..)) which should do the trick.