ILISP HISTORY

Sat Jun 26 14:22:01 1993  Version 5.0 Released

Changes:

Major work separating ilisp.el and ilisp-ext.el into many sub-files.

Got ILISP to work with fsf-18, fsf-19, and lemacs-19.

Added LISP-DONT-CACHE-PACKAGE lets users tell ILISP to search for the
most recent IN-PACKAGE on each eval/compile in a lisp buffer.

Modified lisp-display-output so that output will be displayed in the
message window if LISP-NO-POPPER is 'MESSAGE.



92/03/17 Version 4.12 released

Changes: Fixed an intermittent send bug.  Made it so that popper is
not required so aggressively.  Ignore symbolics font information of
source. Made lisp-end-defun-text so that it would work in non-lisp
modes. Set the package for ilisp-arglist. Made error dispatch case
insensitive.  Fixed lisp-directory to add files when lisp-edit-files
is t.  Fixed clisp.lisp compile for lucid.  Made
comint-interrupt-subjob interactive. Updated popper to run with emacs
19.  Fixed popper-wraps so that shell-command gets wrapped at load
time and changed it to be a function.  Added newline at end of bug
messages.  Updated the cmulisp interface file to run with the lastest
CMU CL release. Made sure that *standard-output* and *error-output*
are bound to *terminal-io*.  Fixed completer so that last completion
was accurate in the case of interruptions.  Added a path cache to
completer. Fixed completer so that Meta-return completes to best guess
and so that the full pattern is used for disambiguation.  Fixed +
history so that it is saved/restored. Fixed popper so that popping up
a window when in a popper window resuses the same window and if the
buffer is changed within a temp-buffer-show form, it works properly.
Fixed lisp-defun-end so that it no longer includes to the end of the
line.  Made it so that initialization through commands did not try to
synchronize with the inferior LISP.  Fixed edit-definitions-lisp so
that it would work if there is no inferior lisp.  Fixed popper-wrap so
that it included numeric documentation strings.  Made it so that
popper preserves the buffer point and scrolling backwards wraps
around.  Incoroporated the latest version of completion.  Added
documentation on global-map bindings.  Added
ilisp-load-no-compile-query.  Added ilisp-use-map so that keymaps can
be switched in dialect definitions. Added completer-any-delimiter to
completer. Fixed bug in completer that caused relative file names to
get erased. Fixed popper so that it handled killed buffers, popped
faster and had negative buffer lists.  Fixed it so that
dialect-program doesn't get stomped by loading ilisp.  Made it so that
ilisp-bug doesn't stomp on someone's unfinished message.  Look for
both .elc and .el files for setting ilisp-directory. Fixed a bug in
lucid that prevented compilation of the interface files on some
implementations.  Fixed epoch-pop so that it quits nicer.  Fixed bug
in CMU LISP interface.  Added *features* to ilisp-bug.  Fixed bugs in
completer when extending directories and for Apollo and AFS.  Fixed
popper so that it does not remove the trailing newline.  Made
lisp-buffer smart about killed buffers.

91/05/08 Version 4.11 released

Changes: Improved the way that completer handled filenames ending with
a / and relative pathnames.  Added popper-wrap to popper for functions
that don't use with-output-to-temp-buffer.  Added popper-empty-min and
popper-min-heights. Made popper-pop-buffers and popper-buffers-to-skip
default to t.  Fixed lisp-prefix-p so that reusing completion tables
works better. Fixed a bug in lisp-end-defun-text that made things
weird when people did not use ;;; for top comment blocks. Improved
ilisp-bug so that it gives more information and is less likely to
break.  Put interface files in their own package.  Changed
ilisp-compile to funcall of compile for all except lucid.  Fixed a bug
in lisp-pop-to-buffer that put the lisp in the popper buffer.  Fixed a
bug in ilisp-matching-symbols that prevented pattern matching with a
pattern that matched the last word.  Bare CR's now send an empty
string.  Made it so that allegro init binary extensions default to
excl:*fasl-default-type* unless on a known platform.  Added fboundp to
generic-function-p in ilisp-arglist.  Fixed KCL and friends dialects.
Fixed a couple of small bugs in completer.  Added raw keyboard mode.
Fixed lisp-pop-to-buffer so that the buffer was always selected which
fixed a bug in edit-definitions and friends.  Removed space from KCL
comint-prompt-regexp.  Added inspect-lisp.  Fixed a bug in popper-show
that complained if buffer was a string and fixed call in
who-calls-lisp.  Fixed some bugs in completer that completed too much
for local returns and that nuked the string if confirmation was
required.

91/03/19 Version 4.10 released

Changes: Changed the default binding of close-and-send-lisp.  Added
better dialect support for kcl, akcl, and ibcl.  Improved the run-time
detection of PCL/CLOS in clisp.lisp.  Fixed a nasty popper bug if you
tried to pop up a window when in a popper window.  Made it so that
popper-other-window would switch to the popper window when called with
a C-u prefix.  Added support for allegro 4.0. Made lisp-in-string
smarter about escaped " so that close-all-lisp worked better.  Renamed
reparse-attribute-list and made it so that you can specify manual
packages.  Improved partial completion of symbols so that it goes to
the ambiguous part.  Changed it so that uncompiled interface files
complain rather than compile.  Improved completer so that it completes
pathname components.  Made it so that dialects could be started up
with emacs switches.  Incorporated a new fancier version of
reposition-window-lisp.  Fixed restore so that it no longer printed
messages when there were multiple line values restored.  Added
trace-function-lisp.  Improved lisp-function-name when it is in a
string.  Changed initialization so that there is a dialect specific
program variable and the defaults are better and sticky.
lucid-check-prompt was hosed which of course broke everything in
Lucid.  Fixed load-file-lisp so that it allows interaction and senses
compile errors better.  Added process bridges.  Added
comint-always-scroll.  Made allegro macroexpand so that it would walk
instead.  Fixed popper so that switching to the popper buffer worked.
Fixed close-all-lisp so that it did not blow away # or ' at start of
sexp.  Fixed ilisp-buffer so that it complained if the buffer was
killed out from under it.  Changed ilisp-filter-regexp to filter all
lone keywords.  Added prefix arg to documentation-lisp so that
function call doc could be gotten.  Set ilisp-directory in
initialization so that it could be built into Emacs image.  Added
Franz online common lisp manual.  Added reset-ilisp to reset to
top-level and made it so that delete-char would pop one level at the
end.  Added call-defun-lisp and bound it to C-z y.  Fixed the binding
for popper-grow-output.  Added lisp-no-popper to stop using popper.
Fixed compile-defun-lisp so that it would compile the previous form in
the inferior LISP.  Made it so that the entire in-package sexp is sent
to the inferior so that nicknames get set.  Added package-lisp and
set-package-lisp.  Removed eval-prev-sexp-lisp and made
eval-next-sexp-lisp do that with a negative prefix.  Fixed
lisp-defun-name so that it returned just the function name.  Added
lisp-region-name to better name regions.  Improved messages in
interrupt-subjob-lisp.  Added sit-for to all accept-process-output
loops to prevent locking up Emacs in Sys V.  Changed how
comment-region-lisp treated the end of the region and fixed a nasty
bug for a region including the eob.  Made changes to clisp.lisp for
lucid and kcl.  Added better kcl dialect definition.  Made it so that
end-of-defun-lisp would require ;;; at the left margin to decide that
the next definition had started.  Made it so that multiple sexps could
be typed to the top-level.  Made it so that all popper windows could
be skipped.  Simplified the ilisp-package-regexp.

90/12/30 Version 4.00 released

IMPROVEMENTS: Process stuff has been rewritten and much improved.  If
you prefer the old eval/compile behavior, set lisp-wait-p to t in your
ilisp-load-hook.  Improved edit-definitions and edit-callers so that
they support multiple definitions of any LISP object even if the
inferior LISP does not store the information.  Added support for
Epoch.  Separated out lisp-mode extensions, symlink fix, source stuff
and batch eval/compile.  Lots of minor improvements, see details
below.

INCOMPATIBLE CHANGES: Renamed interactive functions to put package
specification at the end so that names were quicker to specify and
some internal functions so that they were unique to ilisp.
ilisp-clisp now takes the full file name.  ilisp-load-or-send-command
now takes the binary and source paths explicitly.  The ilisp- prefix
was removed from dialect file names.  ilisp-definition-regexp has gone
away.  ilisp-prompt, ilisp-fix-error and ilisp-continue have gone away
in favor of the actual comint- variables.  ilisp-expand-symlinks has
gone away. 

DETAILS: Finally fixed up how many newlines are inserted.  Made it so
that the source file stuff would use a resident buffer with the same
name if available.  Added ilisp-filter-length to the input filter.
When reading a symbol, the inferior lisp is no longer queried with an
empty string.  newline-and-indent-ilisp will send a string w/o a new
line if called at the end of a buffer.  This was so that raw character
i/o could be done in some lisps.  All comint and comint-ipc variables
can now be set in hooks and the right thing will happen.  Made
lisp-end-defun-text skip over leading comments.  Added the functions
search-in-lisp-files and replace-in-lisp-files.  Prevented the
addition of duplicate entries to the input ring and expanded its size
to 200 entries.  Made lisp-def-name so that it adds the name of the
defining form and returns an empty string at the end of a buffer.
Swapped bindings of macroexpand-lisp and macroexpand-1-lisp.  Fixed
expand-file-name bug if // was at the start of a filename.  Fixed
obscure bug in make-local-variable.  Added ilisp-other-prompt and
bol-ilisp.  Added case-fold-search to appropriate places.  Fixed error
recovery in ilisp-completer.  Removed extra parentheses in the string
for ilisp-init-binary-command.  Added documentation on scrolling the
popper window backwards.  Fixed comment-region so that it handles
empty lines and deleting spaces at the start.  Fixed behavior of
reindent-lisp on comments at the start and end of a buffer.  Saved the
point in reposition-window-lisp.  Rewrote close-all-lisp so that it
inserted a bracket if in a string and was better behaved WRT non sexp
brackets and so that it could close all brackets.  Removed breaks in
lisp-end-defun-text for unclosed strings.  Added comint-check-prompt
to comint-ipc so that dialects can be smarter about errors.  Added
ilisp-check-prompt and allegro and lucid definitions.  Changed
edit-callers so that it uses the name of the current defun as its
default.  Changed popper so that it handles more windows, removes
trailing lines, is nicer about bindings and added popper-grow-output.
Also added epoch-pop for epoch.  Made lisp-input-start work if the
point was at the start of the line the prompt was on.  This made
reindent-lisp and close-all-lisp work in ilisp mode.  Added
close-and-send-lisp.  Made it so that bindings are only done after the
hooks are run.  Shorter clisp error messages.  Removed
ilisp-definition-regexp and replaced it with ilisp-locator.  Made
message optional in ilisp-send and ilisp-send-string.  Added a startup
message to ilisp buffers.  Made it so that there is filename
completion when prompting for lisp program.  Fixed bug in
ilisp-load-init.  Made it so that if an eval/compile worked normally,
no message was displayed.  Fixed lucid ilisp-list-callers so that it
does not recurse forever.  Changed lisp-list-callers to who-calls-lisp
and made it so that it would display the buffer.  Added ilisp-dialect
as a list of dialect names for the inferior LISP.  Added partial
minibuffer completion.  Improved filename completion help in
complete-lisp.  Added ilisp-bug for bug reporting. Improved case
handling for clisp.  popper v2.00, completer v2.00.

10/12/90 Version 3.0 released.  Improved pop-up windows, symbol
completion, package handling, compilation and initialization.
Changed default binding prefix.  Added trace/untrace and
evaluation of defvars.
  
 8/22/90 Version 2.0 released. Fixed bugs and changed initialization.

 6/11/90 Version 1.0 released.
