2009-09-04  Stas Boukarev  <stassats@gmail.com>

	* slime-repl.el (slime-sync-package-and-default-directory):
	Don't change package if it's unknown. Use existing functions for
	changing package and directory.

2009-09-02  Stas Boukarev  <stassats@gmail.com>

	* swank-arglists.lisp (decode-required-arg): Move LispWorks specific
	code into swank-lispworks.lisp.

2009-09-01  Stas Boukarev  <stassats@gmail.com>

	* swank-arglists.lisp (decode-required-arg): Arglists for some forms
	in LispWorks, e.g. flet, contain strings, so handle strings too.
	Reported by Nick Levine.

2009-08-28  Stas Boukarev  <stassats@gmail.com>

	* slime-c-p-c.el (slime-contextual-completions): Remove debugging code.

2009-08-27  Stas Boukarev  <stassats@gmail.com>

	* slime-c-p-c.el (slime-contextual-completions): Detect characters properly.
	(slime-completions-for-character): Append #\ to the character names.
	This fixes character completion, reported by Nick Levine.

2009-08-24  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el (inferior-slime-stop-transcript): Switch
	to the right buffer.

2009-08-21  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el (inferior-slime-show-transcript)
	(inferior-slime-stop-transcript, inferior-slime-start-transcript):
	New functions.
	(inferior-slime-init): Install transcript hooks.

2009-08-15  Helmut Eller  <heller@common-lisp.net>

	* slime-typeout-frame.el (slime-typeout-message): Don't call
	slime-autodoc-stop-timer which no longer exists since 2009-01-01.
	(slime-typeout-frame-init): Don't create a frame in a tty-only
	session.
	(slime-typeout-tty-only-p): New predicate.

2009-08-15  Helmut Eller  <heller@common-lisp.net>

	Disable slime-autodoc for XEmacs.

	* slime-autodoc.el, slime-fancy.el: XEmacs's version of eldoc
	doesn't have the neccessary hooks.

2009-08-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el (slime-arglist): Pass properly formed argument
	in the rpc call.

2009-08-09  Stas Boukarev  <stassats@gmail.com>

	* slime-fuzzy.el (slime-fuzzy-complete-symbol): change
	`comint-completion-addsuffix' to not add space after completing a
	filename.

2009-08-05  Stas Boukarev  <stassats@gmail.com>

	* swank-fancy-inspector.lisp (emacs-inspect): add buttons for removing
	 compiler-macros and unbinding variables.

2009-07-22  Stas Boukarev  <stassats@gmail.com>

	* swank-fuzzy.lisp (fuzzy-convert-matching-for-emacs): format
	floats on the lisp side, because Emacs doesn't accept d0 or s0,
	which could get there as a result of *read-default-float-format*
	modification.

	* slime-fuzzy.el (slime-fuzzy-insert-completion-choice): ditto.

2009-07-15  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter
	uninteresting arguments for SB-ASSEM:INST.

2009-07-21  Helmut Eller  <heller@common-lisp.net>

	* swank-goo.goo, swank-jolt.k (create-repl): Implemented.

2009-07-19  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm (operator-arglist): Implemented, at least for
	some kind of function.

2009-07-12  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm (swank-writer): Use set! for now, as the svn
	version has problems to resolve setLength.
	(<faked-frame>:init): Don't forget the self slot.

2009-07-12  Helmut Eller  <heller@common-lisp.net>

	* swank-mit-scheme.scm (swank:create-repl): Implement it.
	* swank-kawa.scm, swank-goo.scm, swank.rb (frame-source-location):
	Renamed from frame-source-location-for-emacs.

2009-07-11  Stas Boukarev  <stassats@gmail.com>

	* slime-parse.el (slime-make-form-spec-from-string):
	set syntax table to lisp-mode-syntax-table in a temporary buffer.
	Necessary for some parsing functions to work correctly.

2009-07-04  Tobias C. Rittweiler  <tcr@freebits.de>

	Fix font-lock magic for s-code.lisp in the series package.

	* slime-fontifying-fu.el (slime-beginning-of-tlf): Use
	`syntax-ppss-toplevel-pos' on GNU Emacs. Old definition is
	retained for systems where it's not available. Also wrap an
	`ignore-errors' around the call to `up-list' in the old definition
	to guard against unbalanced parentheses.

	Reported by Stelian Ionescu, Raymond Toy.

2009-07-02  Stas Boukarev  <stassats@gmail.com>

	* slime-repl.el (slime-repl-delete-current-input): Make it interactive.

2009-06-28  Stas Boukarev  <stassats@gmail.com>

	* slime-fuzzy.el (slime-fuzzy-complete-symbol): show message in the
	minibuffer after showing completion list, because completion
	itself can take place in the minibuffer.
	(slime-fuzzy-choices-buffer): if completion was started in the minibuffer,
	don't switch to minibuffer in the other window, but select minibuffer window
	instead.

2009-06-23  Helmut Eller  <heller@common-lisp.net>

	* swank-ikarus.ss, swank-larceny.scm, swank-r6rs.scm: New files.

2009-06-16  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-search-suppressed-form):
	Additional exit constraint for the loop; make sure we'r still in
	the limit.
	(slime-compute-region-for-font-lock): Simplify.

2009-06-14  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-search-suppressed-form): Retry the
	search differently; handlers are not active anymore inside a
	handler in `condition-case'.

2009-06-12  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-compute-region-for-font-lock): Fix
	for `#+foo (... #+bar (... |) ...)'.
	([test] font-lock-magic): Moved here.

2009-05-28  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el (slime-repl-disconnect): Disconnect current connection.
	(slime-repl-disconnect-all): New; disconnect all connections.

	Patch by Stas Boukarev.

2009-05-20  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (arglist-dispatch [define-compiler-macro]):
	guard against when we're in the body of a compiler-macro
	definition for a function not yet compiled into the image.

2009-05-20  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-search-for-suppressed-forms):
	Retrieve match data early now that `slime-current-parser-state'
	does not save it anymore.

2009-05-17  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-search-for-suppressed-forms):
	Shadow SBCL-specific #!+, #!- conditionals correctly.
	(slime-compute-region-for-font-lock): Fix small thinko.

2009-05-16  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-beginning-of-tlf): Make sure to
	skip outside of comments and strings first.

2009-05-16  Tobias C. Rittweiler  <tcr@freebits.de>

	Optimize font-lock-magic.

	* slime-fontifying-fu.el (slime-search-suppressed-forms-match-data):
	New var, to inhibit consing.
	(slime-search-suppressed-forms-internal): Use it.
	(slime-extend-region-for-font-lock): Do not call
	`slime-connected-p', it's not needed in this place.
	(slime-search-directly-preceding-reader-conditional): Do not use
	`values', and `multiple-value-bind'.
	(slime-beginning-of-tlf): When we know the current paren depth,
	use it to jump directly over all parens rather than jumping to
	each open paren in turn.
	(slime-compute-region-for-font-lock): Use it.

2009-05-15  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el (slime-search-suppressed-forms-internal):
	Use `slime-reader-conditionals-regexp'.
	(slime-search-directly-preceding-reader-conditional): Catch scan
	errors due to improper feature expressions.

2009-05-15  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el (with-canonicalized-slime-repl-buffer): XEmacs
	chokes on symbol-names with an initial dot.

	Patch by François-René Rideau.

2009-05-15  Tobias C. Rittweiler  <tcr@freebits.de>

	Moved font-lock-magic from slime.el to slime-fontifying-fu.el.

	N.B. slime-fontifying-fu is automatically loaded by
	slime-fancy. I.e. if you use slime-fancy, font-lock-magic will be
	enabled for just like before.

	* slime-fontifying-fu.el (slime-highlight-suppressed-forms),
	(slime-reader-conditional-face),
	(slime-search-suppressed-forms-internal),
	(slime-search-suppressed-forms),
	(slime-search-directly-preceding-reader-conditional),
	(slime-extend-region-for-font-lock),
	(slime-compute-region-for-font-lock),
	(slime-activate-font-lock-magic): Moved here.

2009-05-14  Tobias C. Rittweiler  <tcr@freebits.de>

	Optionally sort slots displayed for STANDARD-OBJECTS not
	alphabetically, but by inheritance. That is group the slots
	according to the class they're direct slots of.

	* swank-fancy-inspector.lisp ([struct] inspector-checklist): New
	slot `count'.
	(make-checklist-button): Adapted accordingly.
	(reinitialize-checklist): New.
	(box, ref, (setf ref)): New.
	(all-slots-for-inspector): Add button to group slots by
	inheritance rather than alphabetically. Adapted accordingly.
	(list-all-slots-by-inheritance): New. Does the bulk work.
	(make-slot-listing): Factored out from `all-slots-for-inspector'.
	(slot-home-class-using-class): New helper.
	(stable-sort-by-inheritance): Also new.

2009-05-08  Tobias C. Rittweiler  <tcr@freebits.de>

	The inspector page for standard-objects does not append
	"[set value]" and "[make unbound]" buttons after each entry
	anymore. Instead we use a checklist.

	* swank-fancy-inspector.lisp ([struct] inspector-checklist): New.
	(make-checklist-button): New.
	(do-checklist): New.
	(slot-value-for-inspector): Previously `inspect-slot-for-emacs'.
	(query-and-set-slot): New.
	(all-slots-for-inspector): Adapted for changes described above.

2009-05-02  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el (slime-fontify-string): Deactivate autodoc
	itself in the temporary help buffer. And deactivate slime's
	font-lock magic.

2009-05-01  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-parse-extended-operator/check-type):
	Forgot to delete debugging code.

2009-04-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-parse-extended-operator/check-type): New.
	(slime-parse-extended-operator/the): New.
	(slime-extended-operator-name-parser-alist): Add entries for
	CHECK-TYPE, TYPEP, and THE.
	([tesŧ] enclosing-form-specs.1): Add tests for the new entries.

	Adapted from patch by Stas Boukarev.

2009-04-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-parse-extended-operator/proclaim): New.
	(slime-extended-oprator-name-parser-alist): Adapt the entry for
	PROCLAIM.

	Adapted from patch by Stas Boukarev.

2009-04-21  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-indentantion-fu.el (slime-update-local-indentation): Save
	original global indentation spec in another symbol because we
	cannot reuse 'slime-indent. Make sure that later redefinition of
	global macros (which may affect the indentation spec) is taken
	into consideration.

2009-04-03  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el (slime-inspector-mode-map): Add binding for M-RET.
	(slime-inspector-copy-down-to-repl): Moved here from slime.el.

2009-03-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-indentantion-fu.el (slime-indent-fu): Correctly deal with
	MACROLETs that define macros without &BODY in their arglists.
	([test] local-indentation.1): Updated to test against this case.

2009-03-25  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-event-hook-function): Handle
	:read-abort.   Reported by Stas Boukarev.
	(slime-repl-remove-hooks): New function.

2009-03-22  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp ([method] arglist-dispatch): Forgot to
	remove debugging code when adding extended arglist display for
	DEFINE-COMPILER-MACRO.

	Reported by Bart Botta.

2009-03-09  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el (slime-compute-autodoc-rpc-form):
	New. Extracted from `slime-autodoc-thing-at-point'.
	(slime-compute-autodoc-internal): New. Extracted from
	`slime-compute-autodoc'.
	(slime-compute-autodoc): Explicitly save match data.
	(slime-autodoc-hook): New. Run everytime autodoc is computed.

	* slime-enclosing-context.el (slime-enclosing-bound-macros): New.
	(slime-find-bound-macros): New, too.

	* slime-indentation-fu.el, swank-indentation-fu.lisp: New contrib
	to properly indent &BODY arguments of local macro definitions.
	Suggested by Lorenz Moesenlechner.

2009-03-09  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm: Use foo: style keywords because :foo is now
	a symbol.
	(copy-stack): Use null to mark absent src-loc information.

2009-03-08  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el ([test] interrupt-in-blocking-read): Wrap
	`with-canonicalized-slime-repl-buffer' around the whole
	test. Otherwise the changed repl prompt doesn't extend to the
	actual `slime-test-expect'.

2009-03-08  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fancy-inspector.lisp (make-visit-file-thunk): New helper;
	extracted from emacs-inspect [file-stream].
	([method] emacs-inspect file-stream): Use it.
	([method] emacs-inspect stream-error): Use it, too.

2009-03-04  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-asdf.el: Really do the commit from entry 2009-02-28.

2009-03-04  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el (slime-check-buffer-contents): Fix typo.
	(with-canonicalized-slime-repl-buffer): Refactored from test
	cases. A lot of test cases implemented this somewhat
	wrongly. Making them fail when not called from the SWANK package.
	([test] repl-test): Use above.
	([test] repl-return): Ditto.
	([test] repl-read): Ditto.
	([test] repl-read-lines): Ditto.
	([test] repl-type-ahead): Ditto.
	([test] interrupt-in-blocking-read): Ditto.

2009-02-28  Stas Boukarev  <stassats@gmail.com>

	* slime-asdf.el (slime-read-system-name): Display default value as
	part of the prompt, instead of inserting it as an input
	candidate.
	(slime-find-asd): Do not call `file-name-sans-extension' twice.

2009-02-28  Stas Boukarev  <stassats@gmail.com>

	* swank-arglists.lisp (variable-desc-for-echo-area): Print
	values of special variables with ~S, not with ~A.

2009-02-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (read-conversatively-for-autodoc): Make it
	understand sharpquote forms, so contextual autodoc will work for
	`(apply #'foo ...)'.

	* slime-autodoc.el ([test] autodoc.1): New test case, for the
	above and more.
	(slime-check-autodoc-at-point): New helper.

2009-02-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-check-enclosing-form-specs): Use
	`slime-test-expect' rather than `slime-check'.
	([test] enclosing-form-specs.1): Add two more cases.

2009-02-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* bridge.el: Replace old-style backquoting.

	* slime-presentations.el
	(slime-presentation-sldb-insert-frame-variable-value): Fix typo.

	Patch by Stelian Ionescu.

2009-02-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el, slime-c-p-c.el, slime-enclosing-context.el
	* slime-package-fu.el, slime-parse.el, slime-presentations.el
	* slime-xref-browser: Rename `slime-symbol-name-at-point' to
	`slime-symbol-at-point'

2009-02-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-make-extended-operator-parser/look-ahead):
	If there's no closing paren (no paredit!) we cannot determine the
	end of the list. Check for this.
	([test] enclosing-form-specs.1): Extend test case.
	(slime-check-enclosing-form-specs): New helper.

2009-02-26  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fancy-inspector.lisp (emacs-inspect (stream-error)): Do
	not run FILE-POSITION on a closed stream.

2009-02-26  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-parse-symbol-name-at-point):
	Removed. Superfluous due to recent changes on
	`slime-symbol-name-at-point'.
	(slime-parse-sexp-at-point): Simplified; use
	`slime-sexp-at-point'.
	(slime-inside-string-p, slime-beginning-of-string): Use
	`slime-current-parser-state'.
	([test] enclosing-form-specs.1): Add some simple cases.

	* slime-enclosing-context.el (slime-find-bound-names): Replace
	`slime-parse-symbol-name-at-point' with
	`slime-symbol-name-at-point'
	(slime-find-bound-functions): No need for `slime-ensure-list'
	anymore.
	([test] enclosing-context.1): Adapted due to the changes.

2009-02-25  Luís Oliveira  <loliveira@common-lisp.net>

	* slime-compiler-notes-tree.el: Fix typo in the `provide' form.

2009-02-21  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-package-fu.el: Removed misplaced comma, deleted some
	end-of-line whitespace, added newline to the end of the file.

	Patch by Robert Brown.

2009-02-17  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-connected-hook-function): Bind
	slime-current-thread to avoid problems with killed threads.

2009-02-14  Helmut Eller  <heller@common-lisp.net>

	* swank.rb: New file.

2009-02-02  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (arglist-for-echo-area): Bleh, can't use
	WITH-AVAILABLE-ARGLIST because we're supposed to return NIL, not
	:NOT-AVAILABLE, in the failure case.

2009-02-02  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el ([test] enclosing-form-specs.1): Fix test case.

2009-02-01  Tobias C. Rittweiler  <tcr@freebits.de>

	Add DEFMETHOD-style extended arglist display for
	DEFINE-COMPILER-MACRO.

	  (defun foo (x y &key k1 k2))
	  (define-compiler-macro foo |)

	* swank-arglists.lisp ([method] arglist-dispatch): Specialize
	on (EQL 'DEFINE-COMPILER-MACRO).

	* slime-parse.el (slime-extended-operator-name-parser-alist): Add
	entry for DEFINE-COMPILER-MACRO.
	(slime-make-extended-operator-parser/look-ahead): Collect up /at
	most/ N sexps. Previously `(defmethod |)' would lead to a form
	spec of ``("defmethod" ("defmethod"))''.
	([test] enclosing-form-specs.1): Test for this.

2009-02-01  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (parse-form-spec): Moved most part of its
	docstring into a comment.
	(arglist-for-echo-area): Some minor code reorganization.  The
	autodoc stuff in general could need some fair bit of refactoring.

2009-01-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el ([shortcut] quit): Quit the connection before
	killing the REPL buffer; otherwise the default connection is
	selected rather than the connection of the REPL buffer.
	Reported by Stas Boukarev.

2009-01-23  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.el (slime-repl-mode-map): Use the key bindings from
	`slime-editing-keys'.

2009-01-18  Tobias C. Rittweiler  <tcr@freebits.de>

	Local M-. and local arglist display didn't work for

	   (flet ((foo () ...))
	     (some-form)
	     |)

	* slime-enclosing-context.el (slime-enclosing-bound-names),
	(slime-enclosing-bound-functions): Correctly test for when point
	is in scope of an FLET/LET/etc.
	([test] enclosing-context.1): Test for this.

2009-01-16   David Reitter <david.reitter@gmail.com>

	* slime-repl.el (slime-repl-clear-buffer): Call recenter with t as
	argument (to avoid erasing the entire frame).

2009-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fancy-inspector.lisp (emacs-inspect [package]): Also
	display link to show all inherited symbols of a package.

2009-01-07  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-mode-map): Bind C-c~ not ~.
	Reported by James Wright.
	(slime-repl-mode-map): Bind M-TAB.
	Remove C-c C-k: compiling the REPL buffer doesn't work anyway.
	Remove C-cC-b, C-c:, C-cE, C-cC-d, C-cC-w, C-M-x, C-cC-t, C-cC-l:
	those are already bound in slime-parent-map.

2009-01-04  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el, slime-mrepl.el: Byte-compile the output
	functions.

2009-01-02  Helmut Eller  <heller@common-lisp.net>

	* slime-mrepl.el: New file.

2009-01-01  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el: Autodoc is now implemented on top of ElDoc.
	(Suggested by Madhu.)

2008-12-31  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (format-arglist-for-echo-area): Catch errors
	and die gracefully.

2008-12-31  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-sbcl-exts.lisp: Wrap file in a big #+sbcl (PROGN ...), so
	users can use the `slime-sbcl-exts' contrib in their .emacs
	nevermind what implementation they actually use.
	(Reported by Stas Boukarev)

2008-12-31  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el (inferior-slime-change-directory): New
	function.
	(inferior-slime-init): Hook it in.

2008-12-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-repl.lisp (slime-repl-set-package): Set
	`slime-buffer-package' to the new package name. Otherwise, a ,!p
	repl command is not properly taken into account resulting in
	misbehaviour of completion and arglist display.

2008-12-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-sbcl-exts.el, swank-sbcl-exts.lisp: New contrib.

	This is the place for SBCL specific extensions and customizations
	that can't go into SBCL's swank-backend.

	At the moment, it contains code to display arglist of instructions,
	as in `(sb-assem:inst mov |'.

2008-12-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (defstruct arglist-dummy): Remove
	:PRINT-OBJECT which made an arglist dummy look like a normal
	symbol. This is just confusing. If an ARGLIST-DUMMY appears in an
	arglist, the relevant code should deal with this explicitly.
	(with-availability): Renamed to WITH-AVAILABLE-ARGLIST.

	* slime-parse.el (slime-parse-extended-operator-name): Pass the
	fully qualified symbol (not just the name) to the parser function.
	(slime-make-extended-operator-parser/look-ahead): Do not take the
	operator name as first argument if point is located at the
	operator name.

2008-12-27  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-event-hook-function): Handle
	:new-package events here.
	(slime-output-buffer): Initialize slime-buffer-package.
	(slime-repl-connected-hook-function): Initialize slime-lisp-package.

2008-12-27  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-quit): Kill the repl buffer before
	quitting.  Reported by Volkan YAZICI.

2008-12-27  Helmut Eller  <heller@common-lisp.net>

	* slime-asdf.el: Require slime-repl.

2008-12-26  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-connected-hook-function): Create a
	repl thread before creating a repl buffer.

2008-12-25  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el (inferior-slime-switch-to-repl-buffer): New
	function.
	(inferior-slime-init): Bind it to a selector key.

2008-12-23  Helmut Eller  <heller@common-lisp.net>

	* slime-repl.el (slime-repl-connected-hook-function): Create
	a repl at startup.  Well, initialize stream redirection.

2008-12-23  Helmut Eller  <heller@common-lisp.net>

	Move i/o related event handlers to slime-repl.el.

	* slime-repl.el (slime-repl-event-hook-function): Handle some
	events here.

2008-12-23  Helmut Eller  <heller@common-lisp.net>

	* slime-editing-commands.el (slime-editing-commands-init): Bind
	slime-close-all-parens-in-sexp.

2008-12-23  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el (inferior-slime-hook-function): New function.
	(inferior-slime-init): Automatically enable it in the
	*inferior-lisp* buffer.

2008-12-23  Helmut Eller  <heller@common-lisp.net>

	* slime-fancy.el: Add slime-repl.

2008-12-09  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm (mif): Avoid assignments because that triggers a
	bug/regression in the compiler.
	(getpid): Don't use the -n with echo.  It's not standard and also
	not needed here.

2008-11-29  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-package-fu.el (slime-goto-package-source-definition):
	`(slime-pop-to-location loc 'excursion)' no longer exists; use
	`(slime-goto-source-location loc)' instead.

2008-11-22  Geoff Wozniak <geoff@wozniak.ca>

	* swank-c-p-c.lisp (parse-completion-arguments): Change the
	package identifier from the string "KEYWORD" to the
	form (symbol-name :keyword) for ACL's "modern" mode.

2008-10-31  Nikodemus Siivola <nikodemus@random-state.net>

	* swank-presentation-streams.liso (slime-stream-p): delete
	references to SB-IMPL::INDENTING-STREAM, which is unused in SBCL
	and liable to go away.

2008-10-30  Ivan Shvedunov  <ivan4th@gmail.com>

	* swank-listener-hooks.lisp (%listener-eval): Return nil.

2008-10-23  Helmut Eller  <heller@common-lisp.net>

	* swank-jolt.k: New backend.

2008-10-23  Helmut Eller  <heller@common-lisp.net>
	* swank-asdf.lisp (operate-on-system-for-emacs): Always T to
	collect-notes.  Reported by Mark Evenson.

2008-10-21  Helmut Eller  <heller@common-lisp.net>

	* slime-editing-commands.el (slime-end-of-defun): Use 'major-mode
	instead of 'major.  Reported by S.P.Tseng.

2008-10-19  Helmut Eller  <heller@common-lisp.net>

	* swank-mit-scheme.scm (swank:frame-locals-and-catch-tags)
	* swank-kawa.scm (dispatch-events)
	* swank-goo.goo (frame-locals-and-catch-tags): Update
	backends for the new swank:frame-locals-and-catch-tags.

2008-10-16  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm (swank-require): Add a dummy definition to avoid
	errors at startup.

2008-10-11  Nikodemus Siivola <nikodemus@random-state.net>

	* slime-scratch.el (slime-scratch-file): New variable.
	(slime-scratch-buffer): If *slime-scratch* does not exist and
	slime-scratch-file is set, use 'find-file' instead of
	`get-buffer-create' to obtain the buffer.

2008-10-11  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm (compile-file-for-emacs, wrap-compilation)
	(compile-string-for-emacs): Return a :compilation-result as
	expected by Emacs.

2008-09-13  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-has-symbol-syntax-p): New.
	(slime-parse-symbol-name-at-point): New; works on top of
	`slime-parse-sexp-at-point'.
	(slime-enclosing-form-specs): Use it.

	* slime-enclosing-context.el (slime-find-bound-names): Use
	`slime-parse-symbol-name-at-point'.
	(slime-find-bound-functions): Ditto.
	(def-slime-test enclosing-context.1): New test case. Thanks to
	John Pallister for reporting this bug.

2008-09-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-asdf.lisp (operate-on-system-for-emacs): Adapted to recent
	changes wrt. swank-compilation-unit.

2008-09-07  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autodoc.el (slime-make-autodoc-swank-form): Do not
	highlight operator in local arglist display.

2008-09-07  Tobias C. Rittweiler  <tcr@freebits.de>

	Slime-autodoc now also displays arglists of local functions.

	* swank-arglists.lisp (defslimefun format-arglist-for-echo-area):
	New RPC.

	* slime-autodoc.el (slime-make-autodoc-cache-key): New; extracted
	from slime-autodoc-thing-at-point.
	(slime-make-autodoc-swank-form): New; partially extracted from
	slime-autodoc-thing-at-point. Use `slime-autodoc-local-arglist'.
	(slime-autodoc-local-arglist): New function.
	(slime-autodoc-thing-at-point): Use the two new functions.

2008-09-07  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-enclosing-context.el: New utility contrib on top of
	`slime-parse' to extract some context around point, like bound
	variables or bound functions.

	* slime-mdot-fu.el: Move context stuff out to the new contrib.

2008-08-27  Helmut Eller  <heller@common-lisp.net>

	* swank-arglists.lisp (variable-desc-for-echo-area): Limit the
	length to one line to avoid (some) problems with big or circular
	values.  Reported by Stas Boukarev.

2008-08-22  Stelian Ionescu <sionescu@common-lisp.net>

	* swank-listener-hooks.lisp: Add missing IN-PACKAGE.

2008-08-20  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fontifying-fu.el: New contrib; fontify with-foo and do-foo
	like standard macros.

	* slime-fancy.el: Add slime-fontifying-fu.

2008-08-20  Luís Oliveira  <loliveira@common-lisp.net>

	* contrib/slime-indentation.el: fix indentation of IF forms.

2008-08-18  Ariel Badichi  <abadichi@bezeqint.net>

	* slime-fuzzy.el: Rename `add-local-hook' to `slime-add-local-hook'.
	* slime-presentations.el: Ditto.

2008-08-12  Helmut Eller  <heller@common-lisp.net>

	* slime-clipboard.el (slime-clipboard-insert-ref): Set
	read-nonsticky to t to work better with kill/yank.
	* swank-clipboard.lisp (:swank-clipboard): List exports to avoid
	compiler warnings.

2008-08-12  Helmut Eller  <heller@common-lisp.net>

	Add a simple object clipboard.

	* swank-clipboard.lisp: New file.
	* slime-clipboard.el: New file.

2008-08-07  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fancy.el: Add slime-mdot-fu and slime-package-fu.

2008-08-07  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-mdot-fu.el: Works for LET bindings now also.
	(def-slime-test find-local-definitions.1): New test case.

2008-08-05  Michael Weber  <michaelw+slime@foldr.org>

	* slime-typeout-frame.el (slime-typeout-message-aux): prevent
	typeout messages from scribbling into any buffer which happens to
	be in the typeout window
	(slime-typeout-buffer): new function; changed buffer name to
	"*SLIME Typeout*"
	(slime-make-typeout-frame): use it
	(slime-ensure-typeout-frame): ensure typeout buffer is visible

2008-08-04  Adam Bozanich <adam.boz@gmail.com>

	* slime-asdf.el: Load swank-asdf.
	This should avoid the rude disconnect if asdf wasn't loaded.

2008-08-03  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-presentations.el (slime-presentation-around-or-before-point):
	Guard against the case being used at the start of a buffer.

2008-07-31  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-mdot-fu.el: New contrib. Makes M-. work on local definitions.

2008-07-31  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-package-fu.el (slime-find-package-definition-regexp): Use
	new constructor `make-slime-file-location'.
	(slime-frob-defpackage-form, slime-export-symbol-at-point): Now
	always display a message regarding success of the operation.
	(slime-package-fu-init-undo-stack, slime-package-fu-unload): New.

2008-07-19  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-package-fu.el, swank-package-fu.lisp: New contrib to
	automatically add symbols to the relevant DEFPACKAGE forms.  You
	can use `C-c x' to export the symbol at point, and `C-u C-c x' to
	unexport it.

2008-07-19  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-asdf.el (slime-oos): Use `slime-repl-shortcut-async'.

2008-07-16  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-asdf.lisp (operate-on-system-for-emacs): Wrapped in
	WITH-SWANK-COMPILATION-UNIT.

2008-06-07  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-cl-symbol-name),
	(slime-cl-symbol-package),
	(slime-qualify-cl-symbol-name): Moved back to `slime.el' as
	they're still used there.

2008-04-17  Gábor Melis <mega@retes.hu>

	* swank-fancy-inspector.lisp (inspect-slot-for-emacs):
	slime-read-object has been gone for a long time, replaced with
	slime-read-from-minibuffer.

2008-04-15  Marco Baringer  <mb@bese.it>

	* slime-indentation.el (cl-indent::line-number): new function.
	(cl-indent:indent-cond): Custom indentation method for cl:cond.
	(cl-indent-body-introducing-loop-macro-keyword)
	(cl-indent-indented-loop-macro-keyword): more loop keywords.
	(cl-indent-loop-advance-past-keyword-on-line): deal with comments
	after loop keywords.
	(#'define-cl-indent): Fix indentation of handler-case; give cond
	it's custom indentation method; change indentation of defclass;
	add methods for do-all-symbols, do-symbols, do-external-symbols,
	restart-case, with-accessors, with-compilation-unit,
	with-hash-table-iterator, with-output-to-string,
	with-input-from-string, with-open-file, with-open-stream,
	with-package-iterator, with-simple-restart, with-slots.

2008-04-14  Marco Baringer  <mb@bese.it>

	* swank-arglists.lisp (decode-arglist): Arglists can be dotted
	lists.

2008-04-06  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-presentations.lisp: 
	(slime-maybe-M-.-presentation-at-point): Renamed to
	`slime-edit-presentation'. Now makes sure to decline if user gave
	a name explicitly. 

2008-03-24  Helmut Eller  <heller@common-lisp.net>

	* swank-kawa.scm: Save stacktraces with locals on throw events.
	This is quite costly but makes debugging easier.

2008-03-14  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fancy-inspector.lisp (add-slots-for-inspector): Remove
	IGNORE declaration of non-existing argument.

2008-03-14  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fuzzy.lisp (fuzzy-convert-matching-for-emacs): Return a
	string representation of the classifications rather than the
	classifications themselves. (Notice this propagates up to (and
	consequently changes the return value of) the RPC function
	FUZZY-COMPLETIONS. (incompatible api change.)  

	Rationale: The number of supported classification can be changed
	without having to adapt its display at the client.

	* slime-fuzzy.lisp (slime-fuzzy-insert-completion-choice):
	(slime-fuzzy-fill-completions-buffer): Adapted to API change.

2008-03-14  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fancy-inspector.lisp (make-symbols-listing :classification):
	Add support for typespec and constant classification; don't
	silently ignore symbols that can't be usefully classified, but
	group them under "MISC".

2008-03-14  Helmut Eller  <heller@common-lisp.net>

	Move filename translation code to contrib.

	* slime-tramp.el (slime-find-filename-translators)
	(slime-filename-translations): Move from slime.el.
	(slime-tramp-from-lisp-filename, slime-tramp-to-lisp-filename):
	New functions.

2008-03-08  Helmut Eller  <heller@common-lisp.net>

	Don't blindly override the inspect method for functions.

	* swank-fancy-inspector.lisp (emacs-inspect function): Define this
	method only if the backend hasn't defined one.
	(inspect-function): New function.

2008-03-02  Tobias C. Rittweiler  <tcr@freebits.de>

	M-. now works on presentations. 

	Additionally, a Find Definition entry is presented in the menu
	appearing on right clicking on a presentation.
	
	* slime-presentations.lisp (slime-M-.-presentation): New function.
	(slime-M-.-presentation-at-mouse): New function.
	(slime-M-.-presentation-at-point): New function.
	(slime-maybe-M-.-presentation-at-point): New function.
	(slime-menu-choices-for-presentation): New entry "Find Definition".
	(slime-presentation-easy-menu): New entry "Find Definition".
	(slime-presentations-init): Hook into `slime-edit-definition-hooks'.

2008-03-02  Helmut Eller  <heller@common-lisp.net>

	* swank-mit-scheme.scm: New file.

2008-02-21  Tobias C. Rittweiler  <tcr@freebits.de>

	Having the `slime-presentations' contrib enabled, (princ 10)
	resulted in "1010" rather than "10\n10". (This also caused a
	regression in the `repl-test' test case.)
	
	* swank-presentations.lisp (present-repl-results): Emit fresh-line
	as the original SEND-REPL-RESULTS-TO-EMACS does.

2008-02-18  Helmut Eller  <heller@common-lisp.net>

	Update Kawa backend to the changed inspector protocol.

	* swank-kawa.scm (inspect-object): Return a list (content len
	start end).
	(<inspector-state>): New field: content.
	(content-range, subseq): New functions.

2008-02-15  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-presentations.el (slime-previous-presentation)
	(slime-next-presentation): Accept a standard prefix argument.

2008-02-13  Helmut Eller  <heller@common-lisp.net>

	* slime-c-p-c.el (slime-c-p-c-init): Use slime-require instead of
	a connected-hook.

2008-02-13  Helmut Eller  <heller@common-lisp.net>

	Track tree-widget change: :dynarg is now called :expander.

	* slime-xref-browser.el (slime-expand-class-node)
	(slime-browse-classes, slime-expand-xrefs, slime-browse-xrefs):
	:dynargs is obsolete, it is now called :expander.

2008-02-10  Helmut Eller  <heller@common-lisp.net>

	Fix some bugs introduced by the recent reorganization.

	* swank-fancy-inspector.lisp (emacs-inspect pathname): Fix it
	again.

	* slime-fancy-inspector.el: Use slime-require.

	* slime-fancy.el: slime-fancy-inspector-init no longer exists, so
	don't call it.  Once loaded, it's also no longer possible to turn
	the fancy inspector off.

2008-02-04  Marco Baringer  <mb@bese.it>

	* swank-presentation-streams.lisp (presenting-object-1): Add
	declare special *record-repl-results* to silence compiler
	warnings.

	* swank-arglists.lisp (arglist-dispatch): Specialize operator-type
	so openmcl doesn't warn about unused arguments.
	(arglist-dispatch): add declare ignore form.

2008-02-04  Helmut Eller  <heller@common-lisp.net>

	Move some functions to swank-arglist.lisp.

	* swank-arglist.lisp (length=, ensure-list, recursively-empty-p)
	(maybecall, exactly-one-p, read-softly-from-string)
	(unintern-in-home-package, valid-function-name-p): Moved from
	swank.lisp. to contrib/swank-arglist.lisp.

2008-02-03  Marco Baringer  <mb@bese.it>

	* swank-motd.lisp, slime-motd.el: Message Of The Day printing for
	slime.

	* slime-indentation.el: Integrate cl-indent.el into slime's
	contrib infrastructure. Fix bug in &rest.

	* swank-indentation.lisp: Allow an application runnig under slime
	to update emacs' indentation notes.

2008-01-27  Helmut Eller  <heller@common-lisp.net>

	Make autodoc use the correct width of the typeout-window.

	* slime-autodoc.el (slime-autodoc-dimensions-function): New
	variable.
	(slime-autodoc-message-dimensions): Use it.

	* slime-typeout-frame.el (slime-typeout-autodoc-dimensions): New
	function.
	(slime-typeout-frame-init): Use it.

2008-01-27  Helmut Eller  <heller@common-lisp.net>

	Use slime-require instead of a connected-hook.

	* slime-autodoc.el (slime-autodoc-on-connect): Deleted.

2008-01-20  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	Hook presentations into debugger and inspector, restoring 
	features that were removed on 2007-08-27.
	
	* slime-presentations.el (slime-presentation-add-easy-menu):
	Install presentation menu also in the debugger and inspector.
	(slime-presentation-inspector-insert-ispec): New.
	(slime-presentation-sldb-insert-frame-variable-value): New.
	(slime-presentations-init): Install these functions as
	slime-inspector-insert-ispec-function and
	sldb-insert-frame-variable-value-function. 

2008-01-19  Helmut Eller   <heller@common-lisp.net>

	* swank-goo.goo: New file.
	* swank-kawa.scm: New file.

2008-01-11  Stelian Ionescu <sionescu@common-lisp.net>

	* slime-presentations.el
	(slime-copy-or-inspect-presentation-at-mouse): Call
	slime-copy-presentation-at-mouse-to-repl rather than
	slime-copy-presentation-at-mouse. 

2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-make-form-spec-from-string): Correctly
	handle quoted things and other non-proper "(...)" forms.

	* swank-arglist.lisp (read-form-spec): Added assertion against
	receiving junk form specs from Emacs.
	
2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-editing-commands.el (slime-close-all-parens-in-sexp): Use
	new portability function `slime-delete-and-extract-region'.
	
2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-parse.lisp (slime-incomplete-form-at-point): Hopefully
	better fix than before.
	
2008-01-10  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	Add keyboard commands (starting with C-c C-v) and a top-level menu
	for presentation-related commands.  Add a command (C-c C-v M-o) to
	forget all objects associated with presentations, without
	clearing the REPL buffer.
	
	* slime-presentations.el
	(slime-presentation-around-or-before-point-or-error): New
	function.
	(slime-inspect-presentation): New function, factored out from
	slime-inspect-presentation-at-mouse. 
	(slime-inspect-presentation-at-mouse): Use it here.
	(slime-inspect-presentation-at-point): New command.
	(slime-copy-presentation-to-repl): New function, factored out
	from slime-copy-presentation-at-mouse.
	(slime-copy-presentation-at-mouse-to-repl): Renamed from
	slime-copy-presentation-at-mouse; use the new function
	slime-copy-presentation-to-repl. 
	(slime-copy-presentation-at-point-to-repl): New command.
	(slime-copy-presentation-to-kill-ring): New function, factored
	out from slime-copy-presentation-at-mouse-to-kill-ring.
	(slime-copy-presentation-at-point-to-kill-ring): New command.
	(slime-describe-presentation): New function, factored out from
	slime-describe-presentation-at-mouse. 
	(slime-describe-presentation-at-mouse): Use it here.
	(slime-describe-presentation-at-point): New command.
	(slime-pretty-print-presentation): New function, factored out
	from slime-pretty-print-presentation-at-mouse.
	(slime-pretty-print-presentation-at-mouse): Use it here.
	(slime-pretty-print-presentation-at-point): New command.
	(slime-mark-presentation): New command.
	(slime-previous-presentation, slime-next-presentation): New
	commands. 
	(slime-presentation-command-map, slime-presentation-bindings):
	New variables.
	(slime-presentation-init-keymaps): New function.
	(slime-presentation-around-or-before-point-p): New function.
	(slime-presentation-easy-menu): New variable.
	(slime-presentation-add-easy-menu): New function.
	(slime-clear-presentations): Make interactive, remove
	presentation markup from all presentations in the REPL buffer.
	(slime-presentations-init): Call slime-presentation-init-keymaps
	and slime-presentation-add-easy-menu.

2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-parse.lisp (slime-incomplete-form-at-point): Take the
	arglist index the user's point is located at correctly into
	account. Previously `C-c C-s' on `(defun |foo' would have inserted
        `args body...)', now it inserts `name args body...)'
	
2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (read-form-spec): Changed "cons" clause to
	"list" clause in etypecase. Fix for error on arglist display on
	`(declare (ftype (|)))', | being point.
	
2008-01-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fuzzy.el (slime-fuzzy-completion-time-limit-in-msec):
	Update docstring: Its value isn't rounded to nearest second, but
	is really interpreted as msecs.

	* swank-fuzzy.el: Updated some comments.
	(fuzzy-generate-matchings): Sort package matchings before
	traversal, such that they're traversed in the order of their
	score. (Important when time limit exhausts during traversal.)
	
2008-01-09  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	Restore support for Scheme programs that was removed from core
	SLIME on 2007-09-19, as a "slime-scheme" contrib.
	
	* slime-scheme.el: New file.

2007-12-30  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp: Fix for `(cerror "FOO" 'type-error ...)'

	(*arglist-dummy*): Removed.
	(arglist-dummy): New structure. Wrapper around whatever could not
	be reliably read. The clue is that its printing function does only
	print the object this structure contains.
	(read-conversatively-for-autodoc): Return such a structure if
	conversative reading fails.

2007-11-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (arglist-dispatch 'defmethod): Use
	VALID-FUNCTION-NAME-P. Fixes error on certain `(defmethod (setf	...))'
	forms.
	
2007-11-27  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglists.lisp (print-arglist): Print initforms in &optional and
	&key lambda list specifiers as if by PRIN1 instead of PRINC.
	Reported by Michael Weber.
	
2007-11-24  Helmut Eller  <heller@common-lisp.net>

	* slime-fuzzy.el: Use slime-require instead of a connected-hook.

2007-11-20  Helmut Eller  <heller@common-lisp.net>

	* swank-fancy-inspector.lisp (inspect-for-emacs function t): Don't
	specialize the second argument, so that backend methods take
	precedence.  Reported by Maciej Katafiasz.

2007-10-24  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglist.lisp (decode-arglist): Fix incompatibility with
	ACL's modern reader mode. Thanks to Andreas Fuchs for stumbling
	over this.

2007-10-22  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglist.lisp (read-softly): Renamed to
	READ-SOFTLY-FROM-STRING and moved to `swank.lisp'.
	(unintern-in-home-package): Moved to `swank.lisp'.

2007-10-01  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-autdoc.el (slime-autodoc-message-ok-p): Don't display an
	arglist when the minibuffer is active.

2007-10-01  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-typeout-frame.el: Messages in the typeout frame were too
	easily overwritten by `slime-autodoc'. Fix that.
	Reported by Geoff Wozniak.
	
	(slime-typeout-message-aux): Split out from `slime-typeout-message'.
	(slime-typeout-message): Wrapper around it. Additionally disable
	the autodoc timer temporarily.

2007-09-30  Geoff Wozniak  <geoff@wozniak.ca>

	* slime-typeout-frame.el (slime-typeout-frame-init): Fix quoted
	FUNCTION forms in literal.

2007-09-28  Tobias C. Rittweiler  <tcr@freebits.de>

	* README: Updated.

	* slime-fancy.el: `slime-highlighting-edits' is not enabled by
	default anymore, as its functionality is controversial, and it's
	easier to explicitly enable it than to disable it once it got
	globally activated. Better to be conservative.

	* slime-fancy.el: Not only load, but also enable `slime-scratch'.

2007-09-21  Helmut Eller  <heller@common-lisp.net>

	* slime-asdf.el (slime-asdf-init, slime-asdf-unload): Fix typos.
	Reported by Ariel Badichi.

2007-09-20  Helmut Eller  <heller@common-lisp.net>

	Separate loading from initialization for many contribs.

	* slime-asdf.el
	* slime-autodoc.el
	* slime-banner.el
	* slime-c-p-c.el
	* slime-editing-commands.el
	* slime-fancy-inspector.el
	* slime-fuzzy.el
	* slime-highlight-edits.el
	* slime-presentations.el
	* slime-references.el
	* slime-scratch.el
	* slime-typeout-frame.el
	* swank-fancy-inspector.lisp

	* slime-fancy.el: As an exception, call the respective init
	function when loading.

2007-09-19  Helmut Eller  <heller@common-lisp.net>

	* slime-c-p-c.el (slime-complete-symbol*-fancy): Move defcustom
	from slime.el to contrib/slime-c-p-c.el.

2007-09-16  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fuzzy.lisp: Fix regression that would not allow to fuzzy
	complete on inputs without package qualifier like "app".
	Reported by David J. Neu.
	
	(%make-duplicate-symbols-filter): Return complement.
	(fuzzy-find-matching-symbols): Treat passed filter as an acceptor
	predicate, not as a rejector.
	
2007-09-15  Helmut Eller  <heller@common-lisp.net>

	Add the necessary hooks when loading some contribs, so that those
	contribs can be easily loaded with slime-setup.

	* slime-highlight-edits.el (slime-highlight-edits-mode-on): New
	function.  Add this to slime-mode-hook by default.

	* slime-autodoc.el (slime-use-autodoc-mode): Change default to t.

2007-09-15  Ariel Badichi <abadichi@bezeqint.net>

	* swank-fancy-inspector.lisp (inspect-for-emacs package): When
        inspecting a package, the links in the use list and the used-by
        list lead to inspecting package names, rather than the packages
        themselves. Fix that.

2007-09-15  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el: Fix extended arglist display on misbalanced
	expressions like `(defun foo | ... (defun bar () 'bar)'
	Reported by Ariel Badichi.
	
	(slime-inside-string-p): Use `beginning-of-defun' directly than
	relying on `slime-region-for-defun-at-point' (as this one uses
	`end-of-defun' which signals an error on misbalanced expressions.)

2007-09-15  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-fuzzy.lisp: Code reorganization and cleanup; making it
	compute less and couple of other minor issues fixed on the
	way. Thanks to Stelian Ionescu for testing and providing feedback!

	(defstruct fuzzy-matching): New `package-name' slot.
	(make-fuzzy-matching): Updated for new slot.
	(format-completion-result): Renamed to `fuzzy-format-matching'.
	(%fuzzy-extract-matching-info): Helper for `fuzzy-format-matching'.

	(fuzzy-completion-set): Convert the matchings after they got
	truncated to the passed completion-set limit from Emacs.
	I.e. `slime-fuzzy-completion-limit' This means a huge
	computational reduction.

	(fuzzy-create-completion-set): Renamed to `fuzzy-generate-matchings'.
	(fuzzy-generate-matchings): Returns the fuzzy matchings
	themselves, do not yet convert them for Emacs. Do not perform two
	sorts on the generated matchings (first alphabetically, then per
	score), but just one with an appropriate predicate that sorts per
	score, unless matchings are equal, then sort alphabetically. Prune
	matchings with symbols which are found in a differenta package
	than their home package when the home package is among the matched
	packages. Try to take the time needed to sort the generated
	matchings into account for the time-limit.
	(%guess-sort-duration): Helper. 
	Tries to guess how long the sort will take.
	(%make-duplicate-symbols-filter): Helper. 
	Used for pruning of matchings.
	(fuzzy-matching-greaterp): New testing predicate for sorting.

	(fuzzy-find-matching-symbols): Now takes a :filter keyarg; only
	considers symbols that pass through the filter.
	(fuzzy-find-matching-packages): Do not return matchings for all
	nicknames of package, but just the one that matches best.	
	
2007-09-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-editing-commands.el: Automatically bind the editing
	commands when this module is required. (Previously, one had to
	enable them explicitly, but this is inconsistent to, for instance,
	the `slime-c-p-c' module which also sets up its bindings
	automatically.)
	(slime-bind-editing-commands): Renamed to `slime-editing-commands-init'.
	(slime-editing-commands-init): Evaluated at toplevel.

2007-09-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-enclosing-form-specs): Now also works even
	when point is inside a string.
	(slime-inside-string-p): New function.
	(slime-beginning-of-string): New function.

2007-09-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglist.lisp (read-conversatively-for-autodoc): Also parse
	quoted symbols explicitly. This fixed extended arglist display for
	`(make-instance 'foo'. Reported by: Johannes Groedem.

2007-09-11  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-fancy.el: Require `slime-references'.
	
2007-09-10  Helmut Eller  <heller@common-lisp.net>

	* slime-parse.el (slime-cl-symbol-name, slime-cl-symbol-package):
	Move from slime.el to contrib/slime-parse.el.

2007-09-10  Helmut Eller  <heller@common-lisp.net>

	* inferior-slime.el: Fix installation comment.

2007-09-10  Helmut Eller  <heller@common-lisp.net>

	Fix some of the bugs introduced with the last change.
	
	* slime-references.el (sldb-reference-face): Add missing quote.
	(sldb-reference-properties): We are lucky and can use keywords
	instead of strings.
	(sldb-maybe-insert-references): Insert newlines differently.
	
2007-09-10  Helmut Eller  <heller@common-lisp.net>

	Move SBCL doc references to contrib.

	* slime-references.el: New file.

2007-09-10  Attila Lendvai  <attila.lendvai@gmail.com>

	* slime-fuzzy.el: Fixed some race condition that prevented a
	proper closing of the *Fuzzy Completions* buffer in some
	circumstances.
	
	(slime-fuzzy-save-window-configuration): Removed. Hooking up
	`window-configuration-change-hook' via `run-with-timer' was racy
	and lead to this bug; we now set the hook explicitely at the
	necessary place instead.
	(slime-fuzzy-window-configuration-change-add-hook): Removed.
	(slime-fuzzy-choices-buffer): Explicitly save the
	window-configuration, and explicitly set the hook.
	(slime-fuzzy-done): Explicitely remove the hook.

2007-09-10  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-parse.el (slime-cl-symbol-name, slime-cl-symbol-package):
	Moved back into slime.el.

2007-09-08  Stelian Ionescu  <sionescu@common-lisp.net>

	* slime-banner.el: Fixed typo to provide `slime-banner', not
	`slime-startup-animation'.

2007-09-06  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-presentations.el (slime-presentation-write): Use case, not
	ecase, for dispatching targets.  Should fix XEmacs compatibility.
	Reported by Steven E. Harris.

2007-09-05  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-c-p-c.el: This file incorrectly provided the module
	`:swank-compound-prefix'; changed that to `:swank-c-p-c'. 

	This gets rid off the nasty redefinition warnings that were
	previously signalled when loading SWANK with SBCL.

	* swank-arglist.lisp (arglist-for-echo-area): Locally declare
	`*arglist-pprint-bindings*' to be special, as the variable is
	defined later in the file. (Gets rid of warnings during loading.)

2007-09-05  Tobias C. Rittweiler  <tcr@freebits.de>

	* slime-c-p-c.el (slime-c-p-c-init): Bind `slime-complete-form' to
	`C-c C-s' in `slime-repl-mode-map'.
	
2007-09-05  Tobias C. Rittweiler  <tcr@freebits.de>

	Added extended arglist display for DECLAIM and PROCLAIM.
	
	* slime-parse.el (slime-extended-operator-name-parser-alist): Added
	entries for "DECLAIM", and "PROCLAIM".
	(slime-parse-extended-operator/declare): Provide information about
	the operator the arglist is requested for.
	(slime-make-form-spec-from-string): Fixed for "()" as input.
	
	* swank-arglists.lisp (valid-operator-symbol-p): Explicitly allow
	the symbol 'DECLARE.
	(arglist-dispatch): New method for `DECLARE'. We have to catch
	this explicitly, as DECLARE doesn't have an arglist (in the
	`swank-backend:arglist' sense.)
	(*arglist-pprint-bindings*): New variable. Splitted out from
	`decoded-arglist-to-string'.
	(decoded-arglist-to-string): Use `*arglist-pprint-bindings*'.

	(parse-first-valid-form-spec): Rewritten, because function
	signature had to be changed: doesn't take arg-indices anymore;
	returns position of first valid spec as second value to remedy.
	(arglist-for-echo-area): Accomodated to new signature of
	`parse-first-valid-form-spec'; now searchs for contextual
	declaration operator name, to prefix a declaration arglist by
	"declare", "declaim", or "proclaim" depending on what was used at
	user's point in Slime. Use `*arglist-pprint-bindings*' for
	printing the found declaration operator name.
	(%find-declaration-operator): New helper to do this search.
	(completions-for-keyword): Accomodated to new signature of
	`parse-first-valid-form-spec'. Also fixed to correctly provide
	keyword completions in nested expressions like:

	   `(defun foo (x)
	      (let ((bar 'quux))
	        (with-open-file (s f :|'    [`|' being point]
	
2007-09-04  Helmut Eller  <heller@common-lisp.net>

	* swank-arglists.lisp (parse-first-valid-form-spec): Rewrite it for
	ABCL.

2007-09-04  Helmut Eller  <heller@common-lisp.net>

	Some bug fixes for slime-complete-symbol*.
	Patches by Mr. Madhu <enometh@meer.net>

	* slime-c-p-c.el (slime-c-p-c-unambiguous-prefix-p): New variable.
	(slime-expand-abbreviations-and-complete): Use it. Also add a
	workaround for XEmacs issues.

2007-09-04  Helmut Eller  <heller@common-lisp.net>

	Move asdf support to contrib:

	* slime-asdf.el: New file.

	* swank-asdf.lisp: New file
	(operate-on-system, asdf-central-registry)
	(list-all-systems-known-to-asdf): Use the asdf package in the
	source code, i.e. write asdf:operate instead of
	 (find-symbol "OPERATE" "ASDF").

2007-09-04  Helmut Eller  <heller@common-lisp.net>

	* slime-tramp.el: New file.
	* slime-banner.el: New file.
	* inferior-slime.el: New file.

2007-09-01  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-fancy.el: New meta-contrib.

2007-09-01  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-presentations.el (slime-dispatch-presentation-event):
	Explicitly return t to indicate the events have been handled,
	rather than relying on the return values of the called functions.

2007-09-01  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-typeout-frame.el (slime-typeout-autodoc-message): Fix for
	messages that contain "%".  Reported by Martin Simmons.

2007-09-01  Tobias C. Rittweiler  <tcr@freebits.de>

	Makes `slime-complete-form' work on `(eval-when |'; doesn't work
	on `(eval-when (|' yet.
	
	* slime-parse.el (slime-parse-sexp-at-point): Guard against
	`(char-after)' being NIL at end of buffer (especially important
	for use on the REPL.)

	* swank-arglist.lisp (arglist-dispatch 'eval-when): Fix typo.
	(print-decoded-arglist-as-template): Print keywords with PRIN1.
	
2007-08-31  Tobias C. Rittweiler  <tcr@freebits.de>

	Added extended arglist display for EVAL-WHEN, viz:

	  (eval-when (&any :compile-toplevel :load-toplevel :execute) &body body)

	Notice that completion works as expected on these keywords.

	Die, EVAL-ALWAYS, die!

	* swank-arglist (arglist-dispatch): New method for EVAL-WHEN.
	(print-arglist): Print keywords with PRIN1 rather than PRINC,
	to get a result as shown above for the EVAL-WHEN case.
	(completions-for-keyword): Add support for &ANY args.	 
	
2007-08-31  Tobias C. Rittweiler  <tcr@freebits.de>

	* swank-arglist.lisp: Do not fall back to READ when interpreting
	the ``raw form specs'' comming from Slime's autodoc stuff. But
	still do so for those comming from `slime-complete-form'.

	(unintern-in-home-package): New.

	(*arglist-dummy*): New.
	(read-conversatively-for-autodoc): New function. Doesn't READ
	anything that comes from Slime's autodoc. Just tries to parse
	symbols. If that's not successfull, returns the dummy placeholder
	datum stored in `*arglist-dummy*'.
	(arglist-for-echo-area): Parse form-specs using
	`read-conversatively-for-autodoc'. Use `unintern-in-home-package'.

	(read-softly): New. Splitted out from `read-form-spec'. This
	function tries to keep track of newly interned functions before
	READing.
	(read-form-spec): Parametrized to take a function to read the
	elements of the passed ``raw form spec''. Uses `read-softly' as
	default reader.

	(complete-form, completions-for-keywords): 
	Use `unintern-in-home-package'.

2007-08-31  Helmut Eller  <heller@common-lisp.net>

	* slime-autodoc.el: Add installation notes.
	* slime-editing-commands.el: Add installation notes.
	* slime-c-p-c.el (slime-c-p-c-init): Fix typos.

2007-08-31  Helmut Eller  <heller@common-lisp.net>

	Move compound prefix completion and autodoc to contrib.
	Interdependencies made it almost necessary to move parsing code
	and editing commands in the same patch.

	* slime-c-p-c.el: New file.
	* swank-c-p-c.el: New file.
	* slime-parse.el: New file.
	* swank-arglists.el: New file.
	* slime-editing-commands.el: New file.
	* slime-autodoc.el: New file.

2007-08-28  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* slime-presentations.el (slime-last-output-target-id)
	(slime-output-target-to-marker, slime-output-target-marker)
	(slime-redirect-trace-output): Moved back into SLIME core.

	* swank-presentation-streams.lisp: Require swank-presentations.
	(present-repl-results-via-presentation-streams): New.
	(*send-repl-results-function*): Set this variable rather than
	overriding send-repl-results-to-emacs.

2007-08-28  Helmut Eller  <heller@common-lisp.net>

	* slime-presentations.el (slime-clear-presentations): New
	function. Add it to slime-repl-clear-buffer-hook.

2007-08-28  Helmut Eller  <heller@common-lisp.net>

	* swank-listener-hooks.lisp: New file

2007-08-28  Helmut Eller  <heller@common-lisp.net>

	Move the rest of the presentation related code.

	* swank-presentations.lisp (present-repl-results): Renamed from
	send-repl-results-to-emacs.

2007-08-28  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	* swank-presentations.lisp (send-repl-results-to-emacs): 
	Override core defun to mark up REPL results as presentations.
	
	* swank-presentations.lisp: New file.
	* slime-presentations.el: Load it.

	* slime-presentations.el (slime-presentation-write): Remove id
	argument.

	* slime-presentation-streams.el: Require slime-presentations contrib.

2007-08-27  Helmut Eller  <heller@common-lisp.net>

	Move presentations to contrib. (ELisp part)

	* slime-presentations.el: New file.
	* slime-scratch.el (slime-scratch-buffer): Ignore presentations.

2007-08-24  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	Some fixes to the presentation-streams contrib.
	
	* swank-presentation-streams.lisp [sbcl]: Load the pretty-printer
	patch only at load time.  Add some trickery so that SBCL does not
	complain about the changed layout of the pretty-stream class.
	
	* swank-presentation-streams.lisp (slime-stream-p): Using special
	return values, indicate whether we are printing to the
	REPL-results stream, or a dedicated stream.
	(presentation-record): New slot "target".
	(presentation-start, presentation-end): Use it (rather than the
	global variable *use-dedicated-output-stream*) to decide whether
	to use the bridge protocol or the :presentation-start/-end
	protocol.  Also use it as the TARGET argument of
	:presentation-start/-end messages. 
	(presenting-object-1): Use the new return values of
	slime-stream-p.
	
	* swank-presentation-streams.lisp (slime-stream-p) [cmu]: Use the
	return value of slime-stream-p rather than the global variable
	*use-dedicated-output-stream* to decide whether printing through
	pretty streams is safe for the layout.

2007-08-24  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>

	Make the fancy "presentation streams" feature a contrib.
	Previously, it was only available if "present.lisp" was loaded
	manually. 
	
	* slime-presentation-streams.el: New file.
	* swank-presentation-streams.lisp: New file, moved here from
	../present.lisp 

2007-08-24  Helmut Eller  <heller@common-lisp.net>

	* slime-typeout-frame.el: New file.
	* slime-xref-browser.el: New file.
	* slime-highlight-edits.el: New file.
	* slime-scratch.el: New file.

2007-08-23  Helmut Eller  <heller@common-lisp.net>

	Move Marco Baringer's inspector to contrib.

	* swank-fancy-inspector.lisp: New file. The only difference to the
	code is that inspect-for-emacs methods in this file are
	specialized to the new class `fancy-inspector'.
	(fancy-inspector): New class.

	* slime-fancy-inspector.el: New file.

2007-08-19  Helmut Eller  <heller@common-lisp.net>

	Moved fuzzy completion code to contrib directory.

	* slime-fuzzy.el: New file.
	(slime-fuzzy-init): New function.  Load CL code on startup.

	* swank-fuzzy.lisp: New file. Common Lisp code for fuzzy
	completion.
