gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: GCL compliance with GNU GPL - Axiom question, AKCL tarba


From: Mike Thomas
Subject: [Gcl-devel] Re: GCL compliance with GNU GPL - Axiom question, AKCL tarball licences
Date: Thu, 24 Jul 2003 12:36:46 +1000

Hi There Everyone.

I would like to ask a question and add some data points on Austin-Kyoto
Common Lisp (AKCL) licencing (and consequently GNU Common Lisp - GCL) to the
discussion, which may provide some clues as to Bill Schelter's (and possibly
by implication the commercial Macsyma developers) understanding of the kind
of licence which applied to AKCL in the early 1990's.

First the question:


AXIOM LICENCE QUESTION

Richard Stallman wrote:

|     3) I feel that any 'predominant' free compiler for a given language
|        will likely not restrict the license of code merely compiled with
|        it.
|
| That is true in any case.  Code compiled with GCL's compiler is
| copyright by its author, not by the copyright holders of GCL.

What obligations would the FSF consider applied to the Axiom developers if
they built Axiom (BSD licence) and released the resulting binary using a
strictly GPL'ed Gnu Common Lisp with no exception clauses added?

My understanding a few days ago was that we were considering adding an
exception clause to the GPL for GCL which would allow it's use in non-source
disclosure situations.  Is that still on the table?

And now for some Macyma Blue Sky Mining:



AKCL HISTORY SAMPLES

Richard STALLMAN wrote in reply to Camm Maguire:

|     6) Its obviously not right to use emacs' unexec under the LGPL without
|        special permission.  I'm confused as to how this situation arose.
|        I find some unexec files in the May 10 1994 release of gcl-1.0.
|        Did Dr. Schelter ever discuss this with you or any other emacs
|        developers?
|
| Alas, there is no chance I would remember after ten years, sorry.


I think this is getting very interesting.

Richard FATEMAN wrote in another email stream:

"I think that the Macsyma company used Austin-Kyoto-Common-Lisp
(which I believe is related to GCL) for its unix-sun/hp/.... version.
I do not know if they are still in a position to distribute
it, but I understand that there are still sales being made of
Macsyma for Windows by Kalman Reti.  Kalman may have more
information."


I've looked a little further into the AKCL side of this.

Bill Schelter apparently produced the three AKCL tarballs (not the only
ones) listed below from 1992 to 1995 with the only actual legal claim made
by himself that I have seen being listed in the README files, which are
essentially identical across the three tarballs, the latest of which being
listed in full at the bottom of this email for everyone's convenience.  The
relevant extract is just a disclaimer (I may have missed the licencing terms
but maybe not).

"W. Schelter, the University of Texas, and other parties provide this
program on an "as is" basis without warranty of any kind, either
expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose."

All three of these packages contained GPL code (unex's and gnumalloc) and
also code for HP which mentions emacs but does not have a clear specific
licence statement at the top of the file (See Richard F's mention of HP
above).

AKCL tarballs dated 1992 and 1995 from:

 http://ftp.uni-koeln.de/programming/lisp/

akcl-1-609.tar.z        18-Mar-1992 09:45   558k
akcl-1-615.tar.z        13-Aug-1992 10:14   557k

and from:


http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/kcl/a
kcl/v619b/

akcl.tgz                09-Jun-1995 20:49   590k


The grep hits for "Free Software Foundation" and "emacs" are listed further
down in this now rather voluminous email.

I will leave it to someone else to sort out the legal implications of these
items, and to find out:

1. The details of earlier releases of AKCL.  I am fairly certain I used AKCL
on a SUN platform as early as 1990 - two years before the (file modification
or copying?) date on the earliest of the three tarballs mentioned above.

2. The date and version of AKCL used by the Macsyma commercial entities to
make commercial releases and also which items of the source tree found their
way into those commercial releases and what effect those items might have on
the legality of the non-disclosure of the commercially written Macsyma
source code retained by those entities and their present day assignees.

3. Why Bill Schelter chose LGPL rather than GPL at the time of the change
over to GCL.
Clearly, at some stage after the last of the three tarballs I have listed he
must have come to grips with the implications of the GPL code present in
AKCL and taken appropriate action by associating it with the FSF and LGPL.
Surely someone from the FSF must have played a part in that process and must
actually be able to remember something about what happened?

I remain your's truly,

Mike Thomas.

(Aside to Tim Daly who separately mentioned (tongue-in-cheek I think) having
to study law to be a computer programmer - I was a geochemist who became a
patent examiner but now claim to be a software engineer when it comes to
money making.  What is a computer programmer anyway?  In the end we all run
the risk of being technological age ditch diggers with sparkly bits of paper
on our walls unless we take note of the fact that it is the lawyers who
attend parties in Mercedes cars rather than ourselves.)

============================================================================
===========



FGREP "Free Software Foundation"

$ fgrep -r "Free Software Foundation" /c/akcl*
/c/akcl1-609/c/gnumalloc.c:   Copyright (C) 1985, 1987 Free Software
Foundation,
 Inc.
/c/akcl1-609/c/gnumalloc.c:(C) 1985 Free Software Foundation, Inc."; and
include
 following the
/c/akcl1-609/c/unexelf.c:/* Copyright (C) 1985, 1986, 1987, 1988 Free
Software F
oundation, Inc.
/c/akcl1-609/c/unexelf.c:    the Free Software Foundation; either version 1,
or
(at your option)
/c/akcl1-609/doc/dbl.el:;; Copyright (C) 1988 Free Software Foundation, Inc.
/c/akcl1-615/c/gnumalloc.c:   Copyright (C) 1985, 1987 Free Software
Foundation,
 Inc.
/c/akcl1-615/c/gnumalloc.c:(C) 1985 Free Software Foundation, Inc."; and
include
 following the
/c/akcl1-615/c/unexelf.c:/* Copyright (C) 1985, 1986, 1987, 1988 Free
Software F
oundation, Inc.
/c/akcl1-615/c/unexelf.c:    the Free Software Foundation; either version 1,
or
(at your option)
/c/akcl1-615/doc/dbl.el:;; Copyright (C) 1988 Free Software Foundation, Inc.
/c/akclv619b/c/gnumalloc.c:   Copyright (C) 1985, 1987 Free Software
Foundation,
 Inc.
/c/akclv619b/c/gnumalloc.c:(C) 1985 Free Software Foundation, Inc."; and
include
 following the
/c/akclv619b/c/unexelf.c:/* Copyright (C) 1985, 1986, 1987, 1988 Free
Software F
oundation, Inc.
/c/akclv619b/c/unexelf.c:    the Free Software Foundation; either version 1,
or
(at your option)
/c/akclv619b/c/unexlin.c:/* Copyright (C) 1985, 1986, 1987, 1988 Free
Software F
oundation, Inc.
/c/akclv619b/c/unexlin.c:    the Free Software Foundation; either version 1,
or
(at your option)
/c/akclv619b/doc/dbl.el:;; Copyright (C) 1988 Free Software Foundation, Inc.
/c/akclv619b/dos/signal.h:Copyright (C) 1989 Free Software Foundation




FGREP -r -i EMACS


/c/akcl1-609/c/ChangeLog:       source level debugging.   The emacs file dbl.el
was added.
/c/akcl1-609/c/ChangeLog:       * Add alternate malloc.c file from gnu emacs, if
you
/c/akcl1-609/c/gnumalloc.c: *   U of M Modified: 20 Jun 1983 ACT: strange
hacks for Emacs
/c/akcl1-609/c/gnumalloc.c: * No longer Emacs-specific; can serve as
all-purpose malloc for GNU.
/c/akcl1-609/c/gnumalloc.c: * You should call malloc_init to reinitialize
after loading dumped Emacs.
/c/akcl1-609/c/gnumalloc.c:#ifdef emacs
/c/akcl1-609/c/gnumalloc.c:#endif /* emacs */
/c/akcl1-609/c/gnumalloc.c:#ifndef emacs
/c/akcl1-609/c/gnumalloc.c: * there. Once Emacs has dumped there is no
reason to continue
/c/akcl1-609/c/gnumalloc.c: * by running emacs linked (and a large
allocation) with the debugger and
/c/akcl1-609/c/unexelf.c: * In the temacs dump below, notice that the Global
Offset Table
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h temacs
/c/akcl1-609/c/unexelf.c:temacs:
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h xemacs
/c/akcl1-609/c/unexelf.c:xemacs:
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f temacs
/c/akcl1-609/c/unexelf.c:temacs:
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f xemacs
/c/akcl1-609/c/unexelf.c:xemacs:
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o temacs
/c/akcl1-609/c/unexelf.c:temacs:
/c/akcl1-609/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o xemacs
/c/akcl1-609/c/unexelf.c:xemacs:
/c/akcl1-609/c/unexelf.c:#ifndef emacs
/c/akcl1-609/c/unexelf.c:#define emacs
/c/akcl1-609/c/unexelf.c:#if defined(emacs) || !defined(DEBUG)
/c/akcl1-609/c/unexhp9k800.c:   plan to think about it, or about whether
other Emacs maintenance
/c/akcl1-609/c/unexhp9k800.c:     int dummy1, dummy2;   /* not used by emacs
*/
/c/akcl1-609/c/Vmalloc.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/c/Vmalloc.c: * additions for emacs.
/c/akcl1-609/doc/akcl.el:;; You should copy find-doc.el, akcl.el,
lisp-complete.el to the emacs/lisp directory.
/c/akcl1-609/doc/dbl.el:;; Run akcl under Emacs
/c/akcl1-609/doc/dbl.el:;; This file is part of GNU Emacs.
/c/akcl1-609/doc/dbl.el:;; GNU Emacs is distributed in the hope that it will
be useful, but
/c/akcl1-609/doc/dbl.el:;; Refer to the GNU Emacs General Public License for
full details.
/c/akcl1-609/doc/dbl.el:;; Emacs, but only under the conditions described in
the GNU Emacs
/c/akcl1-609/doc/dbl.el:;; been given to you along with GNU Emacs so you can
know your rights and
/c/akcl1-609/doc/dbl.el:;; This causes the emacs command dbl-next to be
defined, and runs
/c/akcl1-609/doc/DOC:In emacs load (load "dbl.el") from the akcl/doc
directory.
/c/akcl1-609/doc/DOC:EMACS COMMANDS:
/c/akcl1-609/doc/DOC:   When visiting a lisp buffer (if akcl.el is loaded in
your emacs) the command
/c/akcl1-609/doc/DOC:emacs command.
/c/akcl1-609/doc/docstrings:A facility for completion and on line help in
emacs, for common lisp
/c/akcl1-609/doc/docstrings:To use this facility you must have gnu emacs,
and you must copy the
/c/akcl1-609/doc/docstrings:lsp/*.el files into the emacs/lisp directory.
/c/akcl1-609/doc/docstrings:cp lsp/*.el /usr/local/src/emacs/lisp
/c/akcl1-609/doc/docstrings:(or onto a path in the emacs load-path)
/c/akcl1-609/doc/docstrings:window, just as emacs does.
/c/akcl1-609/doc/edoc:emacs -batch -l doc-com $@
/c/akcl1-609/doc/enhancements:It is trivial to sort the table by ticks in
gnu emacs using the command
/c/akcl1-609/doc/find-doc.el:;; in emacs.  I have tried to emulate the usage
pattern of the tags facility
/c/akcl1-609/doc/find-doc.el:;; For c files you may use the appropriate
primitive in emacs/etc
/c/akcl1-609/doc/makefile:# requires gnu emacs, to be in the search path
/c/akcl1-609/doc/makefile:EMACS=emacs
/c/akcl1-609/doc/makefile:install: current-emacs-path print_doc edoc
DOC-keys.el
/c/akcl1-609/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akcl1-609/doc/makefile:current-emacs-path: print_doc
/c/akcl1-609/doc/makefile:      echo '(generate-new-buffer "emacs-path")' \
/c/akcl1-609/doc/makefile:      '(write-file "emacs-path")' > tmp.el~
/c/akcl1-609/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akcl1-609/doc/makefile:      cp ${ELISP} `cat emacs-path`
/c/akcl1-609/doc/makefile:      cp print_doc   `cat emacs-path`/../etc
/c/akcl1-609/doc/makefile:      cp edoc   `cat emacs-path`/../etc
/c/akcl1-609/merge.c:the original file.  There is an emacs program merge.el
which can
/c/akcl1-609/README:   If you use gnu emacs, a convenient method for viewing
documentation
/c/akcl1-609/README:do make in the doc directory.  Adding the following to
your .emacs
/c/akcl1-609/README:for gnu emacs.   You will have to have write permission
in the
/c/akcl1-609/README:emacs directory, and LBINDIR for this, so you may need
to
/c/akcl1-609/README:% emacs h/sun3-os4.defs
/c/akcl1-609/README:% emacs h/sun3-os4.h
/c/akcl1-609/V/bin/dpp.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/alloc.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/array.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/assignment.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/backq.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/bds.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/big.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/bind.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/bitop.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/block.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/cfun.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/character.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/cmpaux.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/earith.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/error.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/eval.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/file.d:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/format.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/gbc.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/hash.d:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/iteration.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/list.d:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/macros.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/main.c:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/mapfun.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/number.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_arith.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_co.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_comp.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_log.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_pred.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/num_rand.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/package.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/pathname.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/predicate.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/print.d:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/read.d:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/c/sequence.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/string.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/structure.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/symbol.d:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/toplevel.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/typespec.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixfasl.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixfsys.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixint.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixsave.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixsys.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/c/unixtime.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpbind.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpcall.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpcatch.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpenv.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpeval.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpflet.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpfun.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpif.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpinline.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-609/V/cmpnew/cmplabel.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmplam.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmplet.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmploc.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpmain.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpmulti.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpopt.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpspecial.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-609/V/cmpnew/cmptag.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmptop.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmptype.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmputil.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpvar.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpvs.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/cmpwt.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/cmpnew/lfun_list.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-609/V/cmpnew/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/att_ext.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/bds.h:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/h/cmpinclude.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/eval.h:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/h/external.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/frame.h:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/h/include.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/num_include.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/object.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/symbol.h:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/h/vs.h:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/lsp/arraylib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/autoload.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/defmacro.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/defstruct.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/describe.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/evalmacros.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/iolib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/numlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/packlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/predlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/seqlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/setf.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/top.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/lsp/trace.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/makefile:This file was constructed using emacs and  merge.el
/c/akcl1-609/V/o/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/unixport/init_kcl.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-609/V/unixport/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-609/V/unixport/makefile:       emacs -batch -l aix-crt0.el
/c/akcl1-609/V/unixport/makefile:       emacs -batch -l ncrt0.el
/c/akcl1-609/V/unixport/makefile:       emacs -batch -l gcrt0.el
/c/akcl1-609/V/unixport/makefile:       emacs -batch -l hpbsd-crt0.el
/c/akcl1-609/V/unixport/sys_kcl.c:This file was constructed using emacs and
merge.el
/c/akcl1-609/xbin/compare-src:for v in `echo doc/* xbin/* | sed -e
"/~/d"` -e "/emacs-path/d" -e "/xbin\/kcl/d" ;
/c/akcl1-615/c/ChangeLog:       source level debugging.   The emacs file dbl.el
was added.
/c/akcl1-615/c/ChangeLog:       * Add alternate malloc.c file from gnu emacs, if
you
/c/akcl1-615/c/gnumalloc.c: *   U of M Modified: 20 Jun 1983 ACT: strange
hacks for Emacs
/c/akcl1-615/c/gnumalloc.c: * No longer Emacs-specific; can serve as
all-purpose malloc for GNU.
/c/akcl1-615/c/gnumalloc.c: * You should call malloc_init to reinitialize
after loading dumped Emacs.
/c/akcl1-615/c/gnumalloc.c:#ifdef emacs
/c/akcl1-615/c/gnumalloc.c:#endif /* emacs */
/c/akcl1-615/c/gnumalloc.c:#ifndef emacs
/c/akcl1-615/c/gnumalloc.c: * there. Once Emacs has dumped there is no
reason to continue
/c/akcl1-615/c/gnumalloc.c: * by running emacs linked (and a large
allocation) with the debugger and
/c/akcl1-615/c/unexelf.c: * In the temacs dump below, notice that the Global
Offset Table
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h temacs
/c/akcl1-615/c/unexelf.c:temacs:
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h xemacs
/c/akcl1-615/c/unexelf.c:xemacs:
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f temacs
/c/akcl1-615/c/unexelf.c:temacs:
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f xemacs
/c/akcl1-615/c/unexelf.c:xemacs:
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o temacs
/c/akcl1-615/c/unexelf.c:temacs:
/c/akcl1-615/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o xemacs
/c/akcl1-615/c/unexelf.c:xemacs:
/c/akcl1-615/c/unexelf.c:#ifndef emacs
/c/akcl1-615/c/unexelf.c:#define emacs
/c/akcl1-615/c/unexelf.c:#if defined(emacs) || !defined(DEBUG)
/c/akcl1-615/c/unexhp9k800.c:   plan to think about it, or about whether
other Emacs maintenance
/c/akcl1-615/c/unexhp9k800.c:     int dummy1, dummy2;   /* not used by emacs
*/
/c/akcl1-615/c/Vmalloc.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/c/Vmalloc.c: * additions for emacs.
/c/akcl1-615/doc/akcl.el:;; You should copy find-doc.el, akcl.el,
lisp-complete.el to the emacs/lisp directory.
/c/akcl1-615/doc/dbl.el:;; Run akcl under Emacs
/c/akcl1-615/doc/dbl.el:;; This file is part of GNU Emacs.
/c/akcl1-615/doc/dbl.el:;; GNU Emacs is distributed in the hope that it will
be useful, but
/c/akcl1-615/doc/dbl.el:;; Refer to the GNU Emacs General Public License for
full details.
/c/akcl1-615/doc/dbl.el:;; Emacs, but only under the conditions described in
the GNU Emacs
/c/akcl1-615/doc/dbl.el:;; been given to you along with GNU Emacs so you can
know your rights and
/c/akcl1-615/doc/dbl.el:;; This causes the emacs command dbl-next to be
defined, and runs
/c/akcl1-615/doc/DOC:In emacs load (load "dbl.el") from the akcl/doc
directory.
/c/akcl1-615/doc/DOC:EMACS COMMANDS:
/c/akcl1-615/doc/DOC:   When visiting a lisp buffer (if akcl.el is loaded in
your emacs) the command
/c/akcl1-615/doc/DOC:emacs command.
/c/akcl1-615/doc/docstrings:A facility for completion and on line help in
emacs, for common lisp
/c/akcl1-615/doc/docstrings:To use this facility you must have gnu emacs,
and you must copy the
/c/akcl1-615/doc/docstrings:lsp/*.el files into the emacs/lisp directory.
/c/akcl1-615/doc/docstrings:cp lsp/*.el /usr/local/src/emacs/lisp
/c/akcl1-615/doc/docstrings:(or onto a path in the emacs load-path)
/c/akcl1-615/doc/docstrings:window, just as emacs does.
/c/akcl1-615/doc/edoc:emacs -batch -l doc-com $@
/c/akcl1-615/doc/enhancements:It is trivial to sort the table by ticks in
gnu emacs using the command
/c/akcl1-615/doc/find-doc.el:;; in emacs.  I have tried to emulate the usage
pattern of the tags facility
/c/akcl1-615/doc/find-doc.el:;; For c files you may use the appropriate
primitive in emacs/etc
/c/akcl1-615/doc/makefile:# requires gnu emacs, to be in the search path
/c/akcl1-615/doc/makefile:EMACS=emacs
/c/akcl1-615/doc/makefile:install: current-emacs-path print_doc edoc
DOC-keys.el
/c/akcl1-615/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akcl1-615/doc/makefile:current-emacs-path: print_doc
/c/akcl1-615/doc/makefile:      echo '(generate-new-buffer "emacs-path")' \
/c/akcl1-615/doc/makefile:      '(write-file "emacs-path")' > tmp.el~
/c/akcl1-615/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akcl1-615/doc/makefile:      cp ${ELISP} `cat emacs-path`
/c/akcl1-615/doc/makefile:      cp print_doc   `cat emacs-path`/../etc
/c/akcl1-615/doc/makefile:      cp edoc   `cat emacs-path`/../etc
/c/akcl1-615/merge.c:the original file.  There is an emacs program merge.el
which can
/c/akcl1-615/README:   If you use gnu emacs, a convenient method for viewing
documentation
/c/akcl1-615/README:do make in the doc directory.  Adding the following to
your .emacs
/c/akcl1-615/README:for gnu emacs.   You will have to have write permission
in the
/c/akcl1-615/README:emacs directory, and LBINDIR for this, so you may need
to
/c/akcl1-615/README:% emacs h/sun3-os4.defs
/c/akcl1-615/README:% emacs h/sun3-os4.h
/c/akcl1-615/V/bin/dpp.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/alloc.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/array.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/assignment.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/backq.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/bds.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/big.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/bind.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/bitop.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/block.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/cfun.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/character.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/cmpaux.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/earith.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/error.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/eval.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/file.d:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/format.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/gbc.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/hash.d:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/iteration.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/list.d:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/macros.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/main.c:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/mapfun.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/number.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_arith.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_co.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_comp.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_log.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_pred.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_rand.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/num_sfun.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/package.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/pathname.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/predicate.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/print.d:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/read.d:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/c/sequence.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/string.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/structure.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/symbol.d:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/toplevel.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/typespec.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixfasl.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixfsys.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixint.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixsave.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixsys.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/c/unixtime.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpbind.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpcall.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpcatch.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpenv.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpeval.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpflet.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpfun.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpif.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpinline.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-615/V/cmpnew/cmplabel.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmplam.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmplet.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmploc.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpmain.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpmulti.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpopt.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpspecial.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-615/V/cmpnew/cmptag.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmptop.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmptype.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmputil.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpvar.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpvs.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/cmpwt.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/cmpnew/lfun_list.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-615/V/cmpnew/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/att_ext.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/bds.h:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/h/cmpinclude.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/eval.h:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/h/external.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/frame.h:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/h/include.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/num_include.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/object.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/symbol.h:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/h/vs.h:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/lsp/arraylib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/autoload.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/defmacro.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/defstruct.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/describe.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/evalmacros.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/iolib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/numlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/packlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/predlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/seq.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/seqlib.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/setf.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/top.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/lsp/trace.lsp:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/makefile:This file was constructed using emacs and  merge.el
/c/akcl1-615/V/o/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/unixport/init_kcl.lsp:This file was constructed using emacs
and  merge.el
/c/akcl1-615/V/unixport/makefile:This file was constructed using emacs and
merge.el
/c/akcl1-615/V/unixport/makefile:       emacs -batch -l aix-crt0.el
/c/akcl1-615/V/unixport/makefile:       emacs -batch -l ncrt0.el
/c/akcl1-615/V/unixport/makefile:       emacs -batch -l gcrt0.el
/c/akcl1-615/V/unixport/makefile:       emacs -batch -l hpbsd-crt0.el
/c/akcl1-615/V/unixport/sys_kcl.c:This file was constructed using emacs and
merge.el
/c/akcl1-615/xbin/compare-src:for v in `echo doc/* xbin/* | sed -e
"/~/d"` -e "/emacs-path/d" -e "/xbin\/kcl/d" ;
/c/akclv619b/c/ChangeLog:       source level debugging.   The emacs file dbl.el
was added.
/c/akclv619b/c/ChangeLog:       * Add alternate malloc.c file from gnu emacs, if
you
/c/akclv619b/c/gnumalloc.c: *   U of M Modified: 20 Jun 1983 ACT: strange
hacks for Emacs
/c/akclv619b/c/gnumalloc.c: * No longer Emacs-specific; can serve as
all-purpose malloc for GNU.
/c/akclv619b/c/gnumalloc.c: * You should call malloc_init to reinitialize
after loading dumped Emacs.
/c/akclv619b/c/gnumalloc.c:#ifdef emacs
/c/akclv619b/c/gnumalloc.c:#endif /* emacs */
/c/akclv619b/c/gnumalloc.c:#ifndef emacs
/c/akclv619b/c/gnumalloc.c: * there. Once Emacs has dumped there is no
reason to continue
/c/akclv619b/c/gnumalloc.c: * by running emacs linked (and a large
allocation) with the debugger and
/c/akclv619b/c/unexelf.c: * In the temacs dump below, notice that the Global
Offset Table
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h temacs
/c/akclv619b/c/unexelf.c:temacs:
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -h xemacs
/c/akclv619b/c/unexelf.c:xemacs:
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f temacs
/c/akclv619b/c/unexelf.c:temacs:
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -f xemacs
/c/akclv619b/c/unexelf.c:xemacs:
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o temacs
/c/akclv619b/c/unexelf.c:temacs:
/c/akclv619b/c/unexelf.c:raid:/nfs/raid/src/dist-18.56/src> dump -o xemacs
/c/akclv619b/c/unexelf.c:xemacs:
/c/akclv619b/c/unexelf.c:#ifndef emacs
/c/akclv619b/c/unexelf.c:#define emacs
/c/akclv619b/c/unexelf.c:#if defined(emacs) || !defined(DEBUG)
/c/akclv619b/c/unexhp9k800.c:   plan to think about it, or about whether
other Emacs maintenance
/c/akclv619b/c/unexhp9k800.c:     int dummy1, dummy2;   /* not used by emacs
*/
/c/akclv619b/c/unexlin.c:Define this if you do not want to try to save
Emacs's pure data areas
/c/akclv619b/c/unexlin.c:you must write a startup routine for your machine
in Emacs's crt0.c.
/c/akclv619b/c/unexlin.c:If NO_REMAP is defined, Emacs uses the system's
crt0.o.
/c/akclv619b/c/unexlin.c:#ifndef emacs
/c/akclv619b/c/unexlin.c:#ifdef emacs
/c/akclv619b/c/unexlin.c:#endif /* emacs */
/c/akclv619b/c/unexlin.c:#ifdef emacs
/c/akclv619b/c/unexlin.c:       PERROR ("temacs");
/c/akclv619b/c/unexlin.c:               PERROR ("xemacs");
/c/akclv619b/c/Vmalloc.c:This file was constructed using emacs and  merge.el
/c/akclv619b/c/Vmalloc.c: * additions for emacs.
/c/akclv619b/doc/akcl.el:;; You should copy find-doc.el, akcl.el,
lisp-complete.el to the emacs/lisp directory.
/c/akclv619b/doc/dbl.el:;; Run akcl under Emacs
/c/akclv619b/doc/dbl.el:;; This file is part of GNU Emacs.
/c/akclv619b/doc/dbl.el:;; GNU Emacs is distributed in the hope that it will
be useful, but
/c/akclv619b/doc/dbl.el:;; Refer to the GNU Emacs General Public License for
full details.
/c/akclv619b/doc/dbl.el:;; Emacs, but only under the conditions described in
the GNU Emacs
/c/akclv619b/doc/dbl.el:;; been given to you along with GNU Emacs so you can
know your rights and
/c/akclv619b/doc/dbl.el:;; This causes the emacs command dbl-next to be
defined, and runs
/c/akclv619b/doc/DOC:In emacs load (load "dbl.el") from the akcl/doc
directory.
/c/akclv619b/doc/DOC:EMACS COMMANDS:
/c/akclv619b/doc/DOC:   When visiting a lisp buffer (if akcl.el is loaded in
your emacs) the command
/c/akclv619b/doc/DOC:emacs command.
/c/akclv619b/doc/docstrings:A facility for completion and on line help in
emacs, for common lisp
/c/akclv619b/doc/docstrings:To use this facility you must have gnu emacs,
and you must copy the
/c/akclv619b/doc/docstrings:lsp/*.el files into the emacs/lisp directory.
/c/akclv619b/doc/docstrings:cp lsp/*.el /usr/local/src/emacs/lisp
/c/akclv619b/doc/docstrings:(or onto a path in the emacs load-path)
/c/akclv619b/doc/docstrings:window, just as emacs does.
/c/akclv619b/doc/edoc:emacs -batch -l doc-com $@
/c/akclv619b/doc/enhancements:It is trivial to sort the table by ticks in
gnu emacs using the command
/c/akclv619b/doc/find-doc.el:;; in emacs.  I have tried to emulate the usage
pattern of the tags facility
/c/akclv619b/doc/find-doc.el:;; For c files you may use the appropriate
primitive in emacs/etc
/c/akclv619b/doc/makefile:# requires gnu emacs, to be in the search path
/c/akclv619b/doc/makefile:EMACS=emacs
/c/akclv619b/doc/makefile:install: current-emacs-path print_doc edoc
DOC-keys.el
/c/akclv619b/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akclv619b/doc/makefile:current-emacs-path: print_doc
/c/akclv619b/doc/makefile:      echo '(generate-new-buffer "emacs-path")' \
/c/akclv619b/doc/makefile:      '(write-file "emacs-path")' > tmp.el~
/c/akclv619b/doc/makefile:      ${EMACS} -batch -l tmp.el~
/c/akclv619b/doc/makefile:      cp ${ELISP} `cat emacs-path`
/c/akclv619b/doc/makefile:      cp print_doc   `cat emacs-path`/../etc
/c/akclv619b/doc/makefile:      cp edoc   `cat emacs-path`/../etc
/c/akclv619b/merge.c:the original file.  There is an emacs program merge.el
which can
/c/akclv619b/README:   If you use gnu emacs, a convenient method for viewing
documentation
/c/akclv619b/README:do make in the doc directory.  Adding the following to
your .emacs
/c/akclv619b/README:for gnu emacs.   You will have to have write permission
in the
/c/akclv619b/README:emacs directory, and LBINDIR for this, so you may need
to
/c/akclv619b/README:% emacs h/sun3-os4.defs
/c/akclv619b/README:% emacs h/sun3-os4.h
/c/akclv619b/V/bin/dpp.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/bin/makefile:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/alloc.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/array.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/assignment.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/backq.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/bds.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/big.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/bind.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/bitop.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/block.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/cfun.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/character.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/cmpaux.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/earith.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/error.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/eval.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/file.d:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/format.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/gbc.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/hash.d:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/iteration.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/list.d:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/macros.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/main.c:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/mapfun.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/number.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_arith.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_co.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_comp.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_log.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_pred.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_rand.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/num_sfun.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/package.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/pathname.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/predicate.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/print.d:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/read.d:This file was constructed using emacs and  merge.el
/c/akclv619b/V/c/sequence.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/string.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/structure.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/symbol.d:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/toplevel.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/typespec.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixfasl.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixfsys.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixint.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixsave.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixsys.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/c/unixtime.c:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpbind.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpcall.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpcatch.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpenv.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpeval.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpflet.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpfun.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpif.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpinline.lsp:This file was constructed using emacs
and  merge.el
/c/akclv619b/V/cmpnew/cmplabel.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmplam.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmplet.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmploc.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpmain.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpmulti.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpopt.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpspecial.lsp:This file was constructed using emacs
and  merge.el
/c/akclv619b/V/cmpnew/cmptag.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmptop.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmptype.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmputil.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpvar.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpvs.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/cmpwt.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/cmpnew/lfun_list.lsp:This file was constructed using emacs
and  merge.el
/c/akclv619b/V/cmpnew/makefile:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/att_ext.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/bds.h:This file was constructed using emacs and  merge.el
/c/akclv619b/V/h/cmpinclude.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/eval.h:This file was constructed using emacs and  merge.el
/c/akclv619b/V/h/external.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/frame.h:This file was constructed using emacs and  merge.el
/c/akclv619b/V/h/include.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/num_include.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/object.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/symbol.h:This file was constructed using emacs and
merge.el
/c/akclv619b/V/h/vs.h:This file was constructed using emacs and  merge.el
/c/akclv619b/V/lsp/arraylib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/autoload.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/cmpinit.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/defmacro.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/defstruct.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/describe.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/evalmacros.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/iolib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/listlib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/makefile:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/numlib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/packlib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/predlib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/seq.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/seqlib.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/setf.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/top.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/lsp/trace.lsp:This file was constructed using emacs and
merge.el
/c/akclv619b/V/makefile:This file was constructed using emacs and  merge.el
/c/akclv619b/V/o/makefile:This file was constructed using emacs and
merge.el
/c/akclv619b/V/unixport/init_kcl.lsp:This file was constructed using emacs
and  merge.el
/c/akclv619b/V/unixport/makefile:This file was constructed using emacs and
merge.el
/c/akclv619b/V/unixport/makefile:       emacs -batch -l aix-crt0.el
/c/akclv619b/V/unixport/makefile:       emacs -batch -l ncrt0.el
/c/akclv619b/V/unixport/makefile:       emacs -batch -l gcrt0.el
/c/akclv619b/V/unixport/makefile:       emacs -batch -l hpbsd-crt0.el
/c/akclv619b/V/unixport/sys_kcl.c:This file was constructed using emacs and
merge.el
/c/akclv619b/xbin/compare-src:for v in `echo doc/* xbin/* | sed -e
"/~/d"` -e "/emacs-path/d" -e "/xbin\/kcl/d" ;

============================================================================
========

AKCL README

============================================================================
========

Description of AKCL system.

OVERVIEW:

The AKCL system contains original files and change files (usually V/*
files).  The change files are then combined with files in the original
KCL distribution.  The latter is the June 1987 version.  The utility
merge, takes files from the original distribution and modifies them
according to a prescription in a `change file'.  The change files
reside in the directory V.  The enhancements include enhancements to
the lisp compiler, loader, garbage collector and to the basic C code.
If installed properly NOTHING in the original kcl directory should be
overwritten.  Files which have not changed will have only a link copy
in the akcl directory, and files which do change will have a changed
copy in the akcl directory, and an unchanged file in the kcl
directory.  To ensure that you do not accidentally alter a file in the
original directory you might wish to make the files there unwritable.
You do not need to do a make in the kcl directory.


OBTAINING SOURCES:
-----------------
* There are source files on rascal.ics.utexas.edu:pub/akcl-XX.tar.Z
You probably want the highest XX version number.  For example
akcl-1-605.tar.Z would allow you to build the version 1-605 of AKCL.  In
the following this compressed tar file is simply referred to as
akcl.tar.Z.   You will also need to obtain the original kcl distribution
of June 1987.  That is referred to as kcl.tar.Z and is also available
on rascal.   An alternate source for these files is
cli.com:akcl/akcl-XX.tar.Z
In general the bandwidth to rascal is higher than to cli.com.
Rascal's address is rascal.ics.utexas.edu (128.83.138.20).

* If you cannot obtain these files via internet, a cartridge tape (sun
compatible) or diskettes containing akcl, and kcl sources may be
obtained for $250 US plus shipping, from J. Schelter, 1715
Barnswallow, Autin TX 78746.  This would be in standard tar format.
Some machines on which akcl compiles are 386 under System V (eg
Microport), Sun's (sparc,sun3's), HP under hpux and 4.3, Dec mips ultrix,
Sgi mips irix.

MAKING THE SYSTEM:
==================
To make the whole system, if you have obtained akcl.tar.Z and
kcl.tar.Z

UNCOMPRESS and UNTAR the SOURCES:
--------------------------------

Change to a directory in which you wish to put the kcl and akcl
subdirectories.  Make sure the two files kcl.tar.Z and akcl.tar.Z are
in your current directory.    When you extract the files make sure the write
file write dates are as in the distribution--make needs this.

% mkdir kcl
% (cd kcl ; uncompress -c ../kcl.tar.Z | tar  xvf -)
% mkdir akcl
% cd akcl
% uncompress -c ../akcl.tar.Z | tar  xvf -


ADD MACHINE DEFINITIONS TO MAKEFILES:
------------------------------------

Determine the NAME of your machine by looking in the MACHINES file (eg
sun3-os4).  Also remember where you untarred kcl.tar.Z (eg
/public/kcl)

        % add-defs sun3-os4 /public/kcl

        (in general % add-defs NAME DIRECTORY-WHERE-KCL-IS)

        You should finally be ready to go!

RUNNING MAKE:
------------

        % make -f Smakefile

NOTE: Smakefile is a special makefile which causes make to be run
twice, the first time building a saved_kcl using some interpreted
code, and the second time compiling itself.  If this does not run
twice you will be using a good deal of interpreted code as well as a
combination of old and new compiler, which while sufficient to compile
the new compiler, would not be good for general use.  If you later
change files it will be sufficient to just use the regular makefile
(which has by now been slightly altered).

The make should continue without error.   There may be occasional
warnings from the C compiler, but all files should compile successfully
producing .o files.

The V/* change files will only be used if they are newer (normally the
case) than the existing files.  If you have modified files in the akcl
directory, eg. c/array.c, but wish merge to overwrite that with its
merged version, you could for example % touch V/c/array.c.  Building
akcl successfuly through the second pass, will mail a version info
message to akcl so we know which cpu, c compiler and os levels are
working properly, as well as printing out a message "Make of AKCL xxx
completed", where xxx stands for the version number.

When it has finally finished you may invoke AKCL by using

TRY IT OUT:
----------

% xbin/kcl
AKCL (Austin Kyoto Common Lisp)  Version(1.65) Wed Sep 21 00:52:31 CDT 1988
Contains Enhancements by W. Schelter
>(+ 2 3)

>5


COPY THE COMMAND SCRIPT:
-----------------------

        * You should copy xbin/kcl to /usr/local/bin or some place on users
        search paths.   This is so that users may conveniently invoke the saved
        image with a first arg equal to the directory where the image resides.
        (some things like faslink, autoload,.. need to know the system 
directory).


ELIMINATE SOME FILES?
--------------------

What to keep if you have no space!  The only files which are ESSENTIAL
to running of AKCL COMMON LISP once you have built the system (if you are
using sfasl, as is default on a sun eg).

    unixport/saved_kcl
    /usr/local/bin/akcl                (copy of xbin/akcl)

    Also if you are able to use sfasl, you may even `strip saved_kcl`.
Of course keeping sources, documentation, etc. is desirable:
    doc/DOC
    doc/DOC-keys.el
And there are a few unloaded files */*.lisp which are useful to keep.
For example lsp/make.lisp, cmpnew/collectfn.lsp


DOCUMENTATION:
==============
   If you use gnu emacs, a convenient method for viewing documentation
of common lisp functions (or functions in an extended system), is
provided by the doc/find-doc.el file.  This will be installed when you
do make in the doc directory.  Adding the following to your .emacs
file will allow you to use C-h d to find documentation.

(autoload 'find-doc "find-doc" nil t)
(global-set-key "d" 'find-doc)
(visit-doc-file "/public/akcl/doc/DOC")

See the file find-doc.el for more information.
Otherwise you may use the describe command inside lisp.
For example (describe 'print) will print out information about
print.   You may also peruse the file doc/DOC.


INSTALL:
=======
After the system has been built, in the main akcl directory

% make install

will copy the command to execute kcl to the LBINDIR,
and will also attempt to install the documentation interface
for gnu emacs.   You will have to have write permission in the
emacs directory, and LBINDIR for this, so you may need to
be super user.


TROUBLE SHOOTING (some common problems reported):
----------------

1) Did you extract the files with the original write dates--make
depends heavily on this?

2) Did you use -O on a compiler which puts out bad code?  Any time you
change the settings or use a new c compiler this is a tricky point.

3) A sample transcript from a correct make is included under
doc/sample-make.  If yours compiles less often or does things
differently, something is wrong, probably with dates or the clock on
the server or something.

4) If you can't save an image, try doing so on the file server rather
than a client.

5) Doing the make on a client with the main files on a server, has
sometimes caused random breakage.  The large temp files used by the C
compiler seem to sometimes get transferred incorrectly.  Solution: use
the server for the compile.

6) Did you make changes in the .defs or .h files, other than just
commenting out a CC=gcc line?


CHANGING THINGS: MAYBE EDIT TWO FILES:
--------------------

Normally you should not need to edit ANY files.  There may be some
parameter sizes you wish to change or if you don't have gcc where
we have made that the default, then see CC below.


EDIT the appropriate h/NAME.defs file.   These are definitions to
be included in the various makefiles.

For example if the `NAME' of your machine is sun3-os4.

% emacs h/sun3-os4.defs

   * CC: set C compiler options.  For example, if you are using the GNU
     C compiler:

     CC = gcc -msoft-float -DVOL=volatile -I$(AKCLDIR)/o

         Or, if you are using the conventional UNIX C compiler:

     CC = cc -DVOL= -I. -I$(AKCLDIR)/o

   * ODIR_DEBUG:

     ODIR_DEBUG= -g

     If you want files in the main c source compiled with debugging
     information.   Note this is incompatible with OFLAGS= -O on
     some compilers.   Size will be smaller without -g, but you
     are then helpless in the face of problems.

   * INITFORM: The normal thing is to just have the one form
     required for fast loading.

    INITFORM=(si::build-symbol-table)


-----------

EDIT the file h/NAME.h  (eg h/sun3-os4.h)

(Actually you probably don't need to change it)

This file will be included by virtually every compilation of C
files, except the translated C produced by kcl.

% emacs h/sun3-os4.h

      if you wish to change a parameter such as MAXPAGE 16384 established
      in bsd.h (ie. number of 2000 byte pages you want as your absolute max
      swap space).   MAXPAGE must be a power of 2.

      #undef MAXPAGE
      #define MAXPAGE (2 * 16384)

      You may similarly redefine VSSIZE the maximum size for the value
      stack (running very deep recursion interpreted may well require this).



DISCLAIMER:
----------

W. Schelter, the University of Texas, and other parties provide this
program on an "as is" basis without warranty of any kind, either
expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose.


Bill Schelter
address@hidden

See the file doc/contributors for a partial list of people who have
made helpful contributions to ports etc.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]