Misc fixes by Attila Lendvai

* slime-tests.el (slime-test-recipe-test-for): new function for
testing setup recipes.
(readme-recipe): New test;
(define-slime-ert-test): New function for defining vanilla ERT
tests.

* slime.el (slime-inspector-insert-chunk): Use
`slime-inspector-insert-ispec-function'. Patch by Attila Lendvai.

* contrib/slime-presentations.el: cleanup compilation warnings.

* contrib/slime-presentations.el (pick-up-presentation-at-point): New test
by Attila Lendvai.
(slime-presentation-start): Don't go beyond (point-min) when
looking for presentation. Adapted from patch by Attila Lendvai.
(slime-presentation-on-return-pressed): Use `end-of-input'.

* contrib/slime-repl.el (slime-repl-delete-from-input-history): Correctly
calculate merged history. Patch by Attila Lendvai.

* contrib/slime-repl.el (slime-repl-return): Pass `end-of-input' to hooks
run.
Use cl-labels instead of cl-flet, safe for emacs 23.

The cl-flet alias doesn't exist in cl-lib-0.3. Making it is a big
mistake. Better use cl-labels with non-lexical-binding behaviour in
emacs-23 (though a warning is printed)

Bug reported by Paul Bowyer <pbowyer@olynet.com>.

* slime-presentations.el: Use cl-labels instead of cl-flet (safe on
emacs 23).

* slime-trace-dialog.el (slime-trace-dialog--open-specs): Use
cl-labels instead of cl-flet (safe on emacs 23).
Build distribution under top-level directory prefix.

Also, give distribution archive a .tar.gz suffix.  This helps bash
autocompletion for `tar xaf <TAB>'.
Update manual to reflect infrastructure changes.

* slime.el (slime-setup-contribs): typo in docstring and missing
newline.

* doc/slime.texi (Platforms): SLIME supports only GNU Emacs 23.4
and 24.4.
(Downloading): Adapt to Git changeover.
(Git): New node adapted from CVS node.
(CVS): Deleted node.
(Git Incantations): New node adapted from CVS node.
(CVS Incantations): Deleted node.
(Installation): Restructure to match README.md recipe.
(Installation): New subsection "Emacs 23 gotchas".
(Autoloading): Restructure to match README.md recipe. Mention
contribs early.
(Setting up pathname translations): Recommend `add-to-list'.
(Loading Contribs): Suggest variable `slime-contribs', not
function `slime-setup'.
(Loading Contribs): New subsection "Loading and unloading on the
fly".
(REPL): Use `add-to-list' instead of `push'.
(slime-autodoc-mode): Use `add-to-lis' instead of `push'.
Merge pull request #89 from nbtrap/make-dist-prefix

Build distribution under top-level directory prefix.
Fix autoload bug when visiting lisp files early.

* Makefile (SELECTOR, OPTIONS): Respect previous value.

* slime-autoloads.el (lisp-mode-hook): Add `slime-lisp-mode-hook'
to it.

* slime-tests.el (slime-test-recipe-test-for): More generic, takes
`test-forms' and `check-fn' args. Uncomment relevant parts.
(readme-recipe): Adapt to new `slime-test-recipe-test-for'.
(readme-recipe-autoload-on-lisp-visit): New test.

* doc/slime.texi (Git Incantations): Fix typo.
Bundle all external dependencies and run more tests.

* .gitignore: Ignore texinfo files.

* .travis.yml (script): Make "check-fancy" to check contribs, not
just core.

* Makefile (ensure_ert,ensure_cl_lib): Remove targets since these
are bundled.
(compile): Don't download cl-lib.
(check): Don't download ert.
(clean): Look for .elc files everywhere.

* lib/hyperspec.el: Moved from top-level dir.
* lib/ert.el: New file.
* lib/ert-x.el: New file.
* lib/cllib.el: New file.

* slime-tests.el (traditional-recipe): New test, respect
tradition.
(require 'ert): Fallback to version bundled under lib/.
(slime-test-recipe-connect-forms): New var refactored from
previous tests.
(slime-test-recipe-check-repl): New function refactored from
previous tests.
(readme-recipe): Refactored.

* slime.el
(require 'cl-lib): fallback to version bundled under lib/.
(require 'hyperspec): look for version bundled under lib/.

* contrib/slime-parse.el (form-up-to-point.1): Skip for now, then analyse.

* contrib/slime-repl.el (move-around-and-be-nasty): Skip it. Causes other
tests to become unstable.
(interrupt-in-blocking-read): Skip for now, the analyse.

* doc/slime.texi (Installation): Remove subsection "Emacs 23
gotchas".
(Loading Contribs): Clarify function name to call for attempting
unload and give example.
Ignore certain files when exporting with git-archive.

The content of the .gitref file will be changed to the SHA-1 of the
commit being archived.

Also, ignore dist/ directory at project root.
Closes #17: replace cl-eval-when with eval-when-compile

* slime.el (require 'arc-mode): Replace cl-eval-when with
eval-when-compile, broke in emacs 24.2. (Closes #17).
Improve Travis CI coverage

* .travis.yml: Cleaner, more LISP combinations, but test only emacs 23 and
emacs 24 on debian.
Closes #90: Merge pull request from branch 'pr/90'

Conflicts:
	ChangeLog
Install script of cl-travis is bash, not sh
Fix autodoc test failures on sbcl32 and cmucl

* .travis.yml (env): check less emacs 23 combinations. Pin tests
to sbcl32 for now.

* contrib/slime-autodoc.el (cerror "Foo"): test no longer fails for
sbcl.  (foo-inside-labels-2): test also fails on cmucl.

* contrib/ swank-arglists.lisp (print-decoded-arglist): for already
provided args, print strings literally.  (print-arg): New keyword arg
LITERAL-STRINGS
Unbreak presentation functionality in inspector.

SWANK:*INSPECTEE-PARTS* has been gone for some time now, but
contrib/slime-presentations.lisp still used it to check object
availability in the inspector. Hid this logic behind existing
SWANK:INSPECTOR-NTH-PART, which behaves more like GETHASH.

* swank.lisp (inspector-nth-part): Don't break if index out of bounds,
return second FOUNDP value instead.

* contrib/swank-presentations.lisp (lookup-presented-object): No
longer reference *inspectee-parts* removed a long time ago.

* contrib/swank-presentations.el
(slime-menu-choices-for-presentation): slightly friendlier pop-up menu
title, could be friendlier maybe if object type were displayed
instead.
Make slime-repl tests less brittle.

The new tests don't assume that the REPL buffer has actual marker
objects indicating the relative positions of output, result and
prompt. This work is in preparation of handling issue #9.

* slime-repl.el (slime-repl-emit): Propertize the output text with
a `slime-repl-output' boolean property.
(slime-repl-test-markers): More powerful macro for testing repl text.
(slime-check-buffer-contents): Simplified with
`slime-repl-test-markers'.
(repl-test): tests with no output don't expect these markers.
(repl-type-ahead): tests with no output don't expect these
markers.
Fix slime-repl failures when run standalone

When run without slime-presentations, slime-repl exhibited some test
failures. This is a "sanity" fix so the current tests can be used as reference
for a possible redesign that eventually handles #9 and maybe implements the
behaviour described in #84.

* .travis.yml (env): Test the slime-repl independently from other
contribs like slime-presentations.

* slime.el (slime-propertize-region): Add edebug spec.

* contrib/slime-presentations.el (pretty-presentation-results): new tests,
should be more stable, except on allegro.

* contrib/slime-repl.el (slime-repl-emit-result): Use
`insert-before-markers-and-inherit', and do it before saving `slime-output-end'.
(slime-repl-write-string): Fix failing tests by passing `eol' as t to
`slime-repl-emit-result'.
(slime-repl-test-markers): Friendlier test assertions.
(repl-test-2): Skip for now, unstable without slime-presentations.
Fix encoding problems in ChangeLog.
Merge pull request #98 from sfreilich/changelog-encoding

Fix encoding problems in ChangeLog.
Don't overtest: speed up contrib-specific tests.

* Makefile ($(CONTRIBS:%=check-%) check): Speed up target, set
SELECTOR for for these targets to '(tag contrib).

* slime-tests.el (slime-test-ert-test-for): Use
`define-slime-ert-test'.
(slime-tests-auto-tags): Set ert tags automatically.
(define-slime-ert-test): Use `slime-tests-auto-tags'.
No more Emacs 23 gotchas.

* README.md (Emacs 23 gotchas): Remove section.