Fix Allegro CL backend problem with temporary files.

* swank-allegro.lisp (swank-compile-string): Don't bind
*default-pathname-defaults*.
Merge pull request #136 from acelent/fix-acl-compile-temp-file

Fix Allegro CL backend problem with temporary files.
Make connection and thread lists read-only again

This behavious was lost after the refactorings of
`slime-with-popup-buffer'.

* slime.el (slime-popup-buffer-mode): A SLIME popup buffer is
always read-only.
Recenter debugger buffer on long conditions and variable lists

This behavious was lost after the refactorings of
`slime-with-popup-buffer'.

* slime.el (slime-recenter): New function.  (sldb-show-frame-details,
sldb-setup): Use `slime-recenter'.
* slime-tests.el (read-from-minibuffer): New test.
Fix bug in slime-complete-restore-window-configuration.

* slime.el (slime-complete-restore-window-configuration): Don't
use a timer.  That was only needed for XEmacs and it was
accidentally started multiple times.
* slime-tests.el (read-from-minibuffer): Fix for Emacs 23.
* slime-tests.el (read-from-minibuffer): Run idle timers.
Make it easier to specify regexps as test selector.

* Makefile (check): Use ' instead of " to avoid some of the
bizarre shell quoting rules.  Don't evaluate SELECTOR.
(SELECTOR): Extra quoting no longer needed.
* Makefile (test): New target.
* Makefile (test): Fix typo.
Improve source file recording for ACL backend.

Finding definitions compiled with SWANK:SWANK-COMPILE-STRING
relied on a hash table mapping temporary file names to buffer
names, which broke when the original buffer was closed. A new
approach imitate's Franz's own ELI/LEP's and writes a preamble to
each temp file that sets the correct values for
EXCL::*SOURCE-PATHNAME* and *EXCL::*PARTIAL-SOURCE-FILE-P*
pointing to the correct spot in the original file.

For strings compiled in buffers with no file name, the previous
temp-file-to-buffer mapping is kept.

* swank-allegro.lisp (compile-from-temp-file): Use same technique
as ELI to store source pathname and position when compiling from
file buffers.  Don't store buffer mapping for file buffers.  Don't
prevent redefinition warnings for different source pathnames.
(buffer-or-file, find-fspec-location) Don't use buffer mapping for
file buffers.
Adjust previous change to finding definitions in ACL backend.

* swank-allegro.lisp (write-tracking-preamble): New function,
rewritten from previous hunk in COMPILE-FROM-TEMP-FILE for
clarity.  Also adds PATHNAME call which broke the previous
approach.
(compile-from-temp-file): In Allegro 9.0, make redefinition
warnings trigger only once now that compilation and loading from
temp files are separate steps.
More adjustments to find-definition in ACL backend

Previous changes broke compilation for definitions in buffers that
don't have files(like *slime-scratch*). Finding definitions in buffers
that have a file name that doens't exist in the file-system was also
broken.

Also WHO-CALLS functionality for top-level forms is unreliable in
ACL, be it for temp or other loading mechanisms. For the former,
note *TEMP-FILE-MAP* might point to dead buffers and for the
latter, there is not enough file info in the .fasl
annotations. See http://franz.com/support/documentation/ \
current/doc/cross-reference.htm#in-functions-arg-2.

Therefore, this change also deletes the previous attempt by
FSPEC-DEFINITION-LOCATIONS to reliably follow :TOP-LEVEL-FORM
references..

* swank-allegro.lisp (fspec-definition-locations): Don't attempt
to interpret :TOP-LEVEL-FORM fspecs, since file info is always
unreliable.

* swank-allegro.lisp (compile-from-temp-file): Reinstate recording
in *TEMP-FILE-MAP* for all compilations. It is still useful if we
haven't saved the buffer or are operating from a file-less buffer,
like *slime-scratch*
Merge branch 'capitaomorte/acl-find-definition-fixes'

Conflicts:
	ChangeLog
Closes #137: Inspecting * in REPL no longer uses second-to-last value

The previous technique for setting *, ** and friends just-in-time
didn't work, especially when the inspector was called from the REPL
buffer to inspect *. The problem this was fixing was fixed in a
different manner, by making contrib/slime-repl.el ensure that these
variables are set in the swank side.

* contrib/slime-repl.el (sldb-copy-down-to-repl): Call new
SWANK:SET-REPL-VARIABLES just after copying down to REPL.

* contrib/swank-repl.lisp (set-repl-variables): New slimefun.
(repl-eval): Call SET-REPL-VARIABLES *after* evaluating region.
Closes #135: Help cygwin users convert pathnames to lisp

* slime.el (slime-init-command): Use `slime-to-lisp-filename'.
Closes #130: Fix updating arbitrary parts of trace dialog

* contrib/slime-trace-dialog.el (slime-trace-dialog--insert-trace): Set
trace entry's marker-insertion-type to T to avoid text later being
inserted before the marker from entering its protected region.
Closes #55: More accurate prompt when describing symbol's functions

* slime.el (slime-describe-function): Be a little more precise and
prompt for a symbol naming a function.
Release 2.5