Auto-update trace dialog when toggling traces

When toggling trace on a definition, automatically update the
trace dialog if it is open already. Idea by Luís Oliveira.

* contrib/slime-trace-dialog.el (slime-trace-dialog--get-buffer): split
into reusable functions.
(slime-trace-dialog--buffer-name): new function
(slime-trace-dialog--live-dialog): new function
(slime-trace-dialog--ensure-buffer): new function
(slime-trace-dialog--update-existing-dialog): new function for
added to `slime-trace-dialog-after-toggle-hook' by default.
(slime-trace-dialog): Use `slime-trace-dialog--ensure-buffer'.

* doc/slime.texi (SLIME Trace Dialog): Correct typos.
A fix and a tweak to the trace dialog

* contrib/slime-trace-dialog.el (slime-trace-dialog--open-detail): Fix
"read-only" error when navigating to the trace details.
(slime-trace-dialog--insert-trace): Nudge non-parent trace entries
one "-" to the right to line up with others at the same level.
slime-autodoc: don't print newline after the operator

Avoid adding a newline after things like with-open-file when
doing multiline display. Fixes issue #7.

* swank-arglists.lisp (print-decoded-arglist): Don't
  pprint-newline when adding a space after the operator.
Remove XEmacs portability layer and fix some FIXMEs

* slime.el (require): Don't require features active by default on
GNU emacs.
(slime-underline-color): Removed
(slime-error-face, slime-warning-face, slime-note-face): Don't use
`slime-underline-color'
(slime-map-alist): Removed it
(slime-indulge-pretty-colors): Removed it. Font locking done all
in one place.
(slime-rex, slime-start, sldb-in-face): Fix indentation.
(slime-recompute-modelines, slime-xemacs-recompute-modelines)
(slime-run-when-idle, minor-mode-alist)
(slime-minibuffer-respecting-message)
(slime-push-definition-stack, slime-pop-find-definition-stack):
(slime-recompile-bytecode, slime-safe-encoding-p)
(slime-connection-port, slime-xref-mode-map)
(define-slime-contrib): Remove XEmacs hacks.
(slime-define-channel-type, slime-define-channel-method)
(when-let, slime-define-keys, with-struct)
(slime-propertize-region, slime-with-rigid-indentation)
(slime-with-connection-buffer, slime-def-connection-var)
(slime-rex, slime-eval-async, slime-point-moves-p): Use`declare'
form for indentation.
(slime-connection): Use `slime-auto-start'.
(slime-auto-connect): Renamed to `slime-auto-start'. Provide
obsolete alias.
(slime-dispatch-event): Don't use `slime-recompute-modelines'
(slime-kill-all-buffers): Moved to contrib/slime-repl.el
(slime-compile-file-options): Make `defcustom'
(slime-file-name-merge-source-root)
(slime-highlight-differences-in-dirname): Don't use
`slime-split-string'
(slime-complete-delay-restoration,slime-setup-command-hooks): Use
`add-hook'
(slime-complete-restore-window-configuration)
(slime-xref-recompilation-cont): Add FIXME note.  note.
(slime-xref-mode-map): Don't use interactive lambdas in keymap.
(slime-xrefs): Rewrite to not use `slime-map-alist'
(sldb-debugged-continuations): Simplify.
Redesign and simplify some window-managing code in slime.el

* slime.el (slime-popup-restore-data): Delete it.
(slime-with-popup-buffer): Remove `mode' arg. Redesign.
(slime-make-popup-buffer,slime-init-popup-buffer)
(slime-display-popup-buffer, slime-close-popup-window)
(slime-save-local-variables): Remove these functions.
(slime-popup-buffer-mode-map): Define this existing map
separately.
(slime-popup-buffer-mode): Don't use :keymap arg.
(minor-mode-alist): Remove XEmacs hack
(slime-popup-buffer-quit-function): Remove it
(slime-popup-buffer-quit): Use `quit-window'
(slime-show-compilation-log, slime-edit-value-callback)
(slime-show-apropos, slime-with-xref-buffer)
(slime-create-macroexpansion-buffer, slime-list-threads)
(slime-list-connections, slime-inspector-buffer): Don't pass :mode
arg to `slime-with-popup-buffer'.
(slime-goto-note-in-compilation-log): Redesign and use `recenter'
instead of `slime-show-buffer-position'.
(slime-goto-next-xref): Don't use `slime-show-buffer-position'
(sldb-setup): Use just `pop-to-buffer'
(slime-show-buffer-position): Remove it.
(sldb-recenter-region): Remove it.
(slime-show-source-location): Use `select-window' and `recenter'.
(slime-saved-window-config): Removed.
(slime-inspector-quit): Don't use `slime-saved-window-config'
(slime-inspector-mode): Enters `slime-popup-buffer-mode' minor
mode.
(slime-inspector-mode-map): Bind `q' to `slime-inspector-quit'.
Corrections after refactoring window-managing code

* slime-tests.el (narrowing): Use `quit-window'.

* slime.el (slime-with-popup-buffer): Restore `mode' keyword arg,
defaults to `fundamental-mode'. Compute package and connection in
calling buffer.
(slime-with-popup-buffer): Bind q to `quit-window'
(slime-popup-buffer-quit): Remove it.
(slime-show-compilation-log, slime-edit-value-callback)
(slime-show-apropos, slime-with-xref-buffer)
(slime-create-macroexpansion-buffer, slime-list-threads)
(slime-list-connections, slime-inspector-buffer): Restore mode
arg.
(slime-goto-note-in-compilation-log): Fix search and recenter
(slime-edit-value-commit, slime-goto-xref, sldb-exit)
(sldb-close-step-buffer, slime-quit-threads-buffer)
(slime-inspector-quit): Use `quit-window'
(slime-show-source-location): Fix it.
(sldb-show-frame-details): Fix it (sldb-recenter-region was gone).
(slime-list-threads): Don't `local-set-key'.
(slime-thread-control-mode-map): Bind `q' here.
(slime-inspector-mode): Restore docstring.

* contrib/slime-trace-dialog.el (slime-trace-dialog--open-detail): Restore
`:mode' argument to `slime-with-popup-buffer'.

* contrib/slime-clipboard.el (slime-clipboard-display-entries): idem

* contrib/slime-compiler-notes-tree.el (slime-list-compiler-notes): idem

* contrib/slime-sprof.el (slime-sprof-report): idem
Save and restore windows popping up debuggers in Emacs23

* slime.el (sldb-setup): Save previous window.
(sldb-exit): Restore.
Merge capitaomorte/slime-el-cleanup
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.