Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
marvel
GitHub Repository: marvel/qnf
Path: blob/master/elisp/slime/contrib/ChangeLog
990 views
2010-06-04  Helmut Eller  <[email protected]>

	* inferior-slime.el (inferior-slime-show-transcript): Update
	window point

2010-05-29  Stas Boukarev  <[email protected]>

	* swank-fancy-inspector.lisp (emacs-inspect): Add [finalize]
	button for not finalized classes.

2010-05-28  Helmut Eller  <[email protected]>

	Call provide at the end of the file.

	* slime-asdf.el slime-banner.el slime-clipboard.el
	slime-compiler-notes-tree.el slime-enclosing-context.el
	slime-highlight-edits.el slime-hyperdoc.el slime-indentation.el
	slime-mdot-fu.el slime-motd.el slime-mrepl.el
	slime-presentation-streams.el slime-sbcl-exts.el slime-snapshot.el
	slime-sprof.el slime-tramp.el slime-typeout-frame.el
	slime-xref-browser.el:

2010-05-28  Helmut Eller  <[email protected]>

	* slime-c-p-c.el slime-fancy-inspector.el slime-fancy.el
	slime-fontifying-fu.el slime-fuzzy.el slime-package-fu.el
	slime-parse.el slime-presentations.el slime-references.el
	slime-repl.el slime-scratch.el: Call provide at the end of the
	file.

2010-05-28  Helmut Eller  <[email protected]>

	* swank-kawa.scm (wrap-compilation): Set Compilation.explict flag.
	(list-file): Add cast to resolve overloaded parse method.
	(disassemble-form): Update for change from 2010-05-18.

2010-05-19  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-list-repl-short-cuts): Don't scroll to the
	bottom, don't error if a shortcut has no documentation.

2010-05-16  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (decode-arglist): Handle (x . y) macro arglists.

2010-05-14  Tobias C. Rittweiler <[email protected]>

	* slime-highlight-edits.el, slime-hyperdoc.el, slime-mrepl.el,
          slime-snapshot.el: Fix typo.

2010-05-13  Tobias C. Rittweiler <[email protected]>

	Perform PATHNAME on file-streams safely.

	* swank-fancy-inspector.lisp (make-visit-file-thunk): Deleted.
	(make-pathname-ispec): New helper.
	(make-file-stream-ispec): New helper.
	(emacs-inspect file-stream): Use them.
	(emacs-inspect stream-error): Ditto.

2010-05-13  Tobias C. Rittweiler <[email protected]>

	* slime-autodoc.el, slime-c-p-c.el, slime-compiler-notes-tree.el,
	slime-enclosing-context.el, slime-fancy.el, slime-fuzzy.el,
	slime-hyperdoc.el, slime-mdot-fu.el, slime-mrepl.el,
	slime-parse.el, slime-presentations.el, slime-repl.el,
	slime-snapshot.el, slime-tramp.el, slime-xref-browser.el:

	Use newly added `define-slime-contrib' macro to specify
	slime and swank dependencies, and to specify what should happen on
	contrib load/unload.

2010-05-13  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-asdf-collect-notes): New variable.
	Collect and display notes produced by the compiler. Defaulted to T.

2010-05-08  Stas Boukarev  <[email protected]>

	* slime-presentations.el (slime-presentation-write-result): Do
	slime-repl-show-maximum-output at the end. This really solves
	jumping.

2010-05-07  Stas Boukarev  <[email protected]>

	* slime-presentations.el (slime-presentation-write): Reuse
	functions from slime-repl. This fixes spurious point jumps.

	* slime-repl.el (slime-repl-show-maximum-output):
	Don't search for a window of the buffer if the current window
	already displays it.
	(slime-with-output-end-mark): Removed, unused.

2010-05-05  Stas Boukarev  <[email protected]>

	* slime-tramp.el (slime-tramp-to-lisp-filename): Check if slime is
	connected, because slime-to-lisp-filename is now used for
	establishing connection.

2010-05-05  Helmut Eller  <[email protected]>

	* slime-editing-commands.el: Fix typo.

2010-05-01  Stas Boukarev  <[email protected]>

	* slime-fuzzy.el(slime-fuzzy-dehighlight-current-completion):
	instead of creating new overlays, move one overlay around.
	(slime-mimic-key-bindings): Renamed from mimic-key-bindings.
	Patch by Leo Liu.

2010-05-01  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-update-banner): Use slime-move-point
	instead of goto-char alone, ensuring that the point is moved even
	if the window isn't currently selected.

2010-04-18  Stas Boukarev  <[email protected]>

	* slime-presentations.el
	(slime-repl-grab-old-output,slime-copy-or-inspect-presentation-at-mouse):
	If the presentation at point is no longer available, remove
	presentation properties from the object.
	* swank-presentations.lisp (lookup-presented-object): defun->defslimefun.

2010-04-06  Stas Boukarev  <[email protected]>

	* slime-c-p-c.el (slime-complete-symbol*-fancy-bit): There is no
	slime-space-information-p variable anymore.
	Patch by Steven H. Margolis.

2010-04-06  Stas Boukarev  <[email protected]>

	* slime-sprof.el (slime-sprof-format): Remove references to the
	removed code.

2010-04-05  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-inside-string-or-comment-p): New
	function, when in the REPL prompt, narrow the search to the
	prompt, otherwise stray " from the previous prompts
	or outputs may confuse slime-inside-string-or-comment-p.

	* slime-autodoc.el (slime-autodoc): Use
	slime-repl-inside-string-or-comment-p when fbound.

2010-04-05  Stas Boukarev  <[email protected]>

	* slime-autodoc.el (slime-autodoc-manually): Rename from
	slime-autodoc-full.
	Like slime-autodoc, but when called twice,
	or after slime-autodoc was already automatically called,
	display multiline arglist.

2010-04-05  Stas Boukarev  <[email protected]>

	* slime-autodoc.el (slime-autodoc-full): New command,
	displays multiline arglists. Bound to C-c C-d a.
	(slime-make-autodoc-rpc-form): Don't send
	:print-lines to autodoc, always use the actual width for
	:print-right-margin, remove newlines on formatting when needed.
	(slime-autodoc): Add optional parameter multilinep defaulted to
	slime-autodoc-use-multiline-p, pass it to slime-format-autodoc.

	* swank-arglists.lisp (autodoc, decoded-arglist-to-string): remove
	print-lines parameter, it's not used anymore.

2010-04-05  Stas Boukarev  <[email protected]>

	* slime-sprof.el (slime-sprof-browser): Use slime-with-popup-buffer for
	buffer creation.

2010-04-03  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (print-decoded-arglist): prin1-arg -> print-arg.

2010-04-03  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (print-decoded-arglist): Print keywords using
	princ again.

2010-04-03  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (arglist-dispatch): Handle method qualifiers.
	(print-arg): Renamed from princ-arg.
	(prin1-arg): Removed.
	* slime-autodoc.el (autodoc.1): Add test-case for method qualifiers

2010-03-30  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (*arglist-show-packages*): New
	customization variable, when non-nil show qualified symbols.
	(with-arglist-io-syntax): new macro for respecting the above variable.
	(decoded-arglist-to-string, decoded-arglist-to-template-string): Use
	the macro above.

2010-03-23  Tobias C. Rittweiler  <[email protected]>

	Do not do an unnecessary autodoc RPC request in case we're not
	actually inside a form.

	* slime-autodoc.el (slime-make-autodoc-rpc-form): Return nil if
	not inside a form.
	(slime-autodoc): Adapted accordingly to propagate nil to eldoc.

2010-03-20  Stas Boukarev  <[email protected]>

	* slime-c-p-c.el, slime-fuzzy.el: Don't define keys on slime-repl-mode-map
	if slime-repl isn't loaded.
	* slime-presentations.el: Refuse to load if slime-repl isn't loaded.
	Reported by Robert Goldman.

2010-03-13  Stas Boukarev  <[email protected]>

	* slime-asdf.el: use slime-from-lisp-filename so that slime-tramp can work.
	Reported by Peter Stirling.

2010-03-12  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (extract-local-op-arglists (eql 'labels)):
	Fix (labels ((name |))).

2010-03-09  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (arglist-ref): Don't error if a &key name isn't
	a :keyword symbol. And also handle non-:keyword keyword parameters.

2010-03-09  Stas Boukarev  <[email protected]>

	* swank-presentations.lisp (inspect-presentation): Throw an error when
	trying to access unrecorded object.
	(lookup-presented-object-or-lose): Rename from `get-repl-result'.

2010-03-09  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-call-defun): When on defclass insert
	 (make-instance 'name).

2010-03-08  Stas Boukarev  <[email protected]>

	* swank-fancy-inspector.lisp (all-slots-for-inspector): Sort class
	names when grouping by inheritance the same way as slots are sorted.

2010-03-08  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-call-defun): Work also on defvar/defparameter.

2010-03-07  Stas Boukarev  <[email protected]>

	* swank-fancy-inspector.lisp (stable-sort-by-inheritance): Remove
	copy-seq, unnecessarily put in the previous commit.

2010-03-07  Stas Boukarev  <[email protected]>

	* swank-fancy-inspector.lisp: Add buttons
	for selecting default sorting order and default grouping method of
	slots of a class.

	(all-slots-for-inspector): Implement the above feature.
	Move the default method from :method option of the GF to a separate
	defmethod, this method is quite large and :method eats space for
	indentation.
	(*inspector-slots-default-order*):
	New variable, accepts :unsorted and :alphabetically
	(*inspector-slots-default-grouping*): New variable,
	accepts :all and :inheritance.

2010-03-07  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (extract-local-op-arglists): Fix for
	`(labels ((foo (x) ...)|'.

	* slime-autodoc.el (autodoc.1): Add test cases.

2010-02-20  Tobias C. Rittweiler  <[email protected]>

	* slime-fancy.el: Call init function for fancy
	inspector. Necessary due to 2010-02-15.


2010-02-19  Stas Boukarev  <[email protected]>

	* slime-fuzzy.el (slime-fuzzy-choices-buffer): Make connection
	buffer-local, otherwise `swank:fuzzy-completion-selected' will
	be sent to the default connection.

2010-02-17  Helmut Eller  <[email protected]>

	Fix bugs when *inferior-buffers* doesn't exist.

	* inferior-slime.el (inferior-slime-start-transcript)
	(inferior-slime-stop-transcript): Make sure the buffer exists.

2010-02-15  Tobias C. Rittweiler  <[email protected]>

	* slime-asdf.el, slime-autodoc.el, slime-c-p-c.el,
	slime-clipboard.el, slime-fancy-inspector.el, slime-fuzzy,el,
	slime-indentation.el, slime-motd.el,
	slime-presentation-streams.el, slime-presentations.el,
	slime-sbcl-exts, slime-snapshot.el, slime-sprof.el:

	Make sure that contrib code does not try to load in swank code
	asynchronously but use `slime-require' instead; also make sure to
	move the `slime-require' into the contribs' init function.

2010-01-31  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-mode): Don't do
	 (use-local-map slime-repl-mode-map) because it will be used
	through slime-repl-map-mode minor mode.
	This fixes double entries in the menu bar.
	Reported by RaceCondition from #lisp.

2010-01-25  Stas Boukarev  <[email protected]>

	* slime-package-fu.el (slime-goto-next-export-clause): Use
	" \n\t" for `skip-chars-forward' instead of [:alpha:],
	because it doesn't work for some reason.
	(slime-search-exports-in-defpackage): take #:symbol and :symbol
	into account too.

2010-01-14  Stas Boukarev  <[email protected]>

	* slime-repl.el: Revert the previous change because it
	didn't work in some cases.
	(slime-repl-map-mode): New minor mode which sole purpose is to
	enable `slime-repl-mode-map'.
	(slime-repl-mode): Enable `slime-repl-map-mode' after enabling
	`slime-editing-map'.
	This will finally allow `slime-repl-mode-map' to take precedence of
	`slime-editing-map'.

2010-01-14  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-mode-map): Use both
	`slime-editing-map' and `lisp-mode-map' as parent keymaps.
	(slime-repl-mode): Don't use `slime-editing-mode' because
	its keymap is already used above.
	That way `slime-repl-mode-map' takes precedence of
	`slime-editing-map'.

2010-01-08  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp: Doing list-all-systems-in-central-registry
	might be quite slow since it accesses a file-system,
	so run it once at the background to initialize fs caches.

2010-01-06  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (interesting-variable-p): Exclude keywords
	from being candidates for "display variable content" autodoc
	feature.
	(print-decoded-arglist): Slightly better arglist printing if
	`slime-autodoc-use-multiline-p' is true.
	(parse-raw-form): Make it able to parse strings.

	* slime-autodoc.el (autodoc.1 [test]): Add more cases.

2010-01-06  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-check-autodoc-at-point): Bind
	`slime-autodoc-use-multiline-p' to nil for normalized test
	results.

2010-01-06  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (extract-cursor-marker): Make sure to
	recurse only if the form, to be recursed into, is a cons.

	Reported by Johannes Grødem.

2010-01-06  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (arglist-dispatch ['declare]): Normalize
	`vars' to `variables'.
	(arglist-for-type-declaration): Ditto.

	* slime-autodoc (autodoc.1 [test]): Reorganize test, add comments,
	add cases to test declarations.

2010-01-05  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-save-system): New function for saving
	system's files.

2010-01-05  Helmut Eller  <[email protected]>

	Fix "other window" selector in inferior-slime-mode.

	* inferior-slime.el ([selector-method] r): Return the buffer
	instead of switching directly.

2010-01-03  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-autodoc-mode): Only display
	"enabled"/"disabled" message if called interactively.

2010-01-03  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-autodoc): Renamed from
	`slime-compute-autodoc'; now also interactive.
	(slime-autodoc-mode): Implement toggling properly. Make modeline
	string "Autodoc" rather than "Eldoc".
	(slime-autodoc-maybe-enable): Adapted accordingly.

2010-01-03  Stas Boukarev  <[email protected]>

	* slime-repl.el (sldb-insert-frame-call-to-repl): New function
	for inserting a call to a frame into the REPL. Bound to C-y in SLDB.

2010-01-03  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (arglist-index): Return NIL if more
	arguments were provided than are allowed.
	(form-path-to-arglist-path): Adapted accordingly.

	* slime-autodoc.el (autodoc.1 [test]): Add relevant test cases.

2010-01-03  Tobias C. Rittweiler  <[email protected]>

	* slime-indentation-fu.el, swank-indentation-fu.lisp: Delete
	contrib. Never worked quite right, and the necessary
	infrastructure has since been gone.

2010-01-03  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (asdf-system-loaded-p): Don't return a
	generalized boolean, because numbers may be too large for Emacs.

2009-12-30  Tobias C. Rittweiler  <[email protected]>

	* slime-c-p-c.el (complete-form [test]): Set
	`slime-buffer-package' after changing to lisp-mode because
	changing major-mode kills buffer-local variables.

2009-12-30  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (extract-cursor-marker): Fix typo.
	(autodoc): Do not try to display variable content for T and NIL.
	(interesting-variable-p): New helper.

2009-12-29  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-compute-autodoc): Revert last change.
	We must return nil to decline.

2009-12-29  Tobias C. Rittweiler  <[email protected]>

	More cleanup.

	The RP swank:arglist-for-echo-area is now called swank:autodoc.

	* swank-arglists.lisp (autodoc): Renamed from
	arglist-for-echo-area.
	(variable-desc-for-echo-area): Deleted. Above function subsumes
	this functionality now.
	(print-variable-to-string): Extracted from
	variable-desc-for-echo-area.

	* slime-autodoc.el (slime-retrieve-arglist): Change RPC.
	(slime-make-autodoc-rpc-form): Ditto.
	(slime-autodoc-cache-type): Deleted.
	(slime-autodoc-cache): Deleted.
	(slime-autodoc-last-buffer-form): Replacement.
	(slime-autodoc-last-autodoc): Replacement.
	(slime-get-cached-autodoc): Adapted accordingly.
	(slime-store-into-autodoc-cache): Adapted accordingly.
	(slime-compute-autodoc): Simplified slightly.
	(autodoc.1 [test]): Extended.

2009-12-29  Tobias C. Rittweiler  <[email protected]>

	Some cleanup of arglist code.

	* swank-arglists.lisp (remove-from-tree-if): Deleted.
	(remove-from-tree): Deleted.
	(maybecall): Deleted.
	(arglist-path-to-parameter): Deleted.
	(arglist-path-to-nested-arglist): Deleted.
	(last-arg): Deleted.
	(compute-arglist-index): Deleted.

	(form-path-to-arglist-path): New.
	(arglist-index): New.
	(extract-cursor-marker): New.
	(find-subform-with-arglist): Adapted.
	(find-immediately-containing-arglist): Adapted.
	(arglist-for-echo-area): Adapted.

2009-12-29  Tobias C. Rittweiler  <[email protected]>

	* slime-parse.el (slime-parse-form-until): Properly deal with #'
	prefix.
	(form-up-to-point.1 [test]): Extend.

2009-12-25  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (delete-given-args): Make sure to properly
	delete provided-args.

	* slime-c-p-c.el (complete-form [test]): Extend. Succeeds now.

2009-12-23  Tobias C. Rittweiler  <[email protected]>

	* slime-parse.el (form-up-to-point.1 [test]): Fix test case.

2009-12-23  Tobias C. Rittweiler  <[email protected]>

	* slime-c-p-c.el (complete-symbol* [test]): Fix test case.

2009-12-23  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (autodoc.1 [test]): Add a test case involving
	DEFMETHOD.

	* slime-c-p-c.el (complete-form [test]): New test. Fails for the
	moment.

	Reported by Matthias Koeppe.

2009-12-22  Helmut Eller  <[email protected]>

	Commands to save&restore image files without disconnecting.

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

2009-12-21  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (completions-for-keyword): Return nil
	instead of :not-available because the function is supposed to
	return a list of available completions.

	Adapted from patch by Ariel Badichi.

2009-12-21  Tobias C. Rittweiler  <[email protected]>

	Today's cleanup day.

	* slime-parse.el (slime-incomplete-form-at-point)
	(slime-parse-sexp-at-point)
	(slime-has-symbol-syntax-p)
	(slime-incomplete-sexp-at-point)
	(slime-parse-extended-operator-name)
	(slime-extended-operator-name-parser-alist)
	(slime-make-extended-operator-parser/look-ahead)
	(slime-parse-extended-operator/proclaim)
	(slime-parse-extended-operator/declare)
	(slime-parse-extended-operator/check-type)
	(slime-parse-extended-operator/the)
	(slime-nesting-until-point)
	(slime-make-form-spec-from-string)
	(slime-enclosing-form-specs)
	(slime-ensure-list)
	(slime-beginning-of-string)
	(slime-check-enclosing-form-specs)
	(enclosing-form-specs.1 [test]): Deleted. The new arglist code made
	all this superfluous.

	* slime-autodoc.el (slime-autodoc-accuracy-depth): New defcustom.
	(slime-retrieve-arglist): Return :not-available if appropriate.
	(slime-arglist): Use `slime-retrieve-arglist'. Delete reference to
	undefined variable.
	(slime-autodoc-thing-at-point): Deleted, not needed anymore.
	(slime-autodoc-hook): Deleted.
	(slime-autodoc-worthwhile-p): Deleted.
	(slime-make-autodoc-rpc-form): Simplified.
	(slime-compute-autodoc-internal): Merged with `slime-compute-autodoc'.
	(slime-compute-autodoc): Removed usage of old
	infrastructure. Simplified.

	* swank-arglists.lisp (print-decoded-arglist): Print ((:foo bar)
	quux) &key parameters correctly.
	(variable-desc-for-echo-area): Return :not-available, not nil.

	* slime-c-p-c.el (slime-complete-symbol*-fancy-bit): Adapted for
	new return value of `slime-retrieve-arglist'.

	* slime-fancy.el: Disable `slime-mdot-fu' contrib because that has
	to be adapted to new infrastructure.

	* slime-sbcl-exts.el (slime-enable-autodoc-for-sb-assem:inst):
	Deleted. Used old infrastructure.

2009-12-21  Tobias C. Rittweiler  <[email protected]>

	* slime-parse.el (slime-parse-form-upto-point): Rewritten to make
	it more performant.
	(slime-parse-form-until): New helper.

2009-12-21  Tobias C. Rittweiler  <[email protected]>

	* slime-package-fu.el (slime-at-expression-p): Moved from
	slime.el.
	(slime-goto-next-export-clause): Replace `slime-forward-blanks'.

	* slime-parse.el (slime-parse-sexp-at-point)
	(slime-parse-extended-operator-name): Replace
	`slime-forward-blanks'.

2009-12-19  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (asdf:operation-done-p): ASDF included with some
	implementations doesn't have AROUND method combination, so guard
	against its usage. This will prevent swank:reload-system from working,
	but it will let load swank-asdf.
	Reported by Mark Evenson.

2009-12-19  Tobias C. Rittweiler  <[email protected]>

	* slime-asdf.el (slime-query-replace-system-and-dependents):
	Renamed from `slime-query-replace-system-and-dependencies' because
	that's what it actually does.

2009-12-18  Tobias C. Rittweiler  <[email protected]>

	Add 'M-x slime-query-replace-system-and-dependencies' which is
	like `slime-query-replace-system' but also runs query-replace on
	all files of systems _depending on_ the user-queried system.

	* slime-asdf.el (slime-read-query-replace-args): Factored out from
	`slime-query-replace-system'.
	(slime-query-replace-system): Use it.
	(slime-query-replace-system-and-dependencies): Add.

	* swank-asdf.lisp (who-depends-on):
	`asdf:system-definition-pathname' may return NIL, guard against
	that.

2009-12-17  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (who-depends-on): Make defslimefun.
	(xref-doit [:depends-on]): New method to make :depends-on valid
	xref request.

	* slime-asdf.el (slime-who-depends-on-rpc): New.
	(slime-who-depends-on): New interactive function.
	(slime-asdf-init): Make `slime-edit-uses' perform a :depends-on
	request, and bind `C-c C-w d' to `slime-who-depends-on'.

2009-12-15  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (who-depends-on): Add.

2009-12-15  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (map-defined-systems): Factored out.
	(list-all-systems-known-to-asdf): Use it.
	(asdf-determine-system): Use it, too.
	(reload-system): Reuse `operate-on-system-for-emacs'.

2009-12-15  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-reload-system): New command for reloading
	a system without recompiling recursively its dependencies.
	REPL shortcut for it is `reload-system'.

	* swank-asdf.lisp (reload-system): New function.

2009-12-14  Tobias C. Rittweiler  <[email protected]>

	Take recursiveness of LABELS into account for displaying local
	arglists. I.e. make the following work:

         (labels ((iseven (x)
                    ...)
                  (isodd (y)
                    (if (zerop y)
                       nil
                      (iseven <>))))) ; Point is here
	   ...)

	As we only have information to look backward, we cannot show
	arglist for ISODD within ISEVEN, though.

	* swank-arglists.lisp (extract-local-op-arglists): Handle LABELS
	specially.
	(find-subform-with-arglists): Adapted accordingly. Plus: Small
	refactoring, and fix comparasion of local ops to properly deal
	with arglist dummies.

2009-12-14  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-delete-system-fasls): New command with a
	shortcut `delete-system-fasls'.

	* swank-asdf.lisp (delete-system-fasls): New function.
	(asdf-module-output-files): New function for finding fasls.

2009-12-12  Matthias Koeppe  <[email protected]>

	* slime-presentations.el (slime-reify-old-output): Revert change
	of 2009-12-11, which introduced spurious quotes in non-evaluated
	contexts like here:

	  '(1 2 #<STANDARD-CLASS STANDARD-OBJECT> 3 4)

	Presentations do not change standard quoting rules; users just
	need to remember this.

2009-12-11  Stas Boukarev  <[email protected]>

	* slime-fuzzy.el (slime-fuzzy-choices-buffer): Don't
	show cursor in *Fuzzy Completions*.
	Patch by Tobias C. Rittweiler.

2009-12-11  Stas Boukarev  <[email protected]>

	* slime-presentations.el (slime-reify-old-output): Quote
	the CL expession behind presentations, so _(1 2 3)_ (representing a
	presentation) is not tried to be evaluated.
	(slime-copy-presentation-to-repl): Use `looking-back' for looking back.
	Apply De Morgan's law to conditions.
	Patch by Tobias C. Rittweiler.

2009-12-11  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (find-operation): New function for
	finding asdf operations independent of readtable
	case sensitivity (read Allegro Modern Mode).
	(operate-on-system): Accept symbols instead of strings for
	operation-name, and use the above function.

	* slime-asdf.el: Replace strings with operation names
	for `slime-oos' with symbols.

2009-12-11  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (*swank-debug-arglists*): Removed.
	(arglist-for-echo-area): Use DEBUG-ON-SWANK-ERROR instead.

2009-12-04  Stas Boukarev  <[email protected]>

	* swank-arglists.lisp (find-subform-with-arglist): Return
	 (values nil :not-available), not just NIL, when operator is
	`quote' or `function'.
	Fixes bug reported by Mark Harig.

2009-12-03  Tobias C. Rittweiler  <[email protected]>

	http://common-lisp.net/project/hyperdoc/

	* slime-hyperdoc.el, swank-hyperdoc.lisp: New contrib.

2009-12-03  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (arglist-available-p): New helper.
	(arglist-dispatch [eql 'declaim]): New.
	(arglist-dispatch [eql 'declare]): First try to lookup arglist of
	a typespec if it's a type-declaration, if not default to looking
	up arglist of declaration specifier.
	(arglist-for-type-declaration): Extracted out.
	(decoded-arglist-for-type-specifier): Make sure not to call
	TYPE-SPECIFIER-ARGLIST with an ARGLIST-DUMMY.

2009-12-03  Tobias C. Rittweiler  <[email protected]>

	* slime-asdf.el (slime-query-replace-regexp): Quote `from'
	argument because `tags-query-replace' actually uses
	`query-replace-regexp' internally.

	Reported by David O'Toole.

2009-12-01  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (asdf-system-files): Include the .asd file too.
	(asdf-module-files): Include non-cl files too.

2009-11-30  Helmut Eller  <[email protected]>

	* slime-repl.el (slime-repl-mode-map): Don't copy
	slime-parent-map.  Instead ...
	(slime-repl-mode): ... enable slime-editing-mode.

	* slime-presentations.el (slime-presentation-init-keymaps):
	Replace slime-define-both-key-bindings with slime-bind-keys.
	(slime-presentation-init-keymaps): Use slime-init-keymap.

2009-11-24  Tobias C. Rittweiler  <[email protected]>

	Fix a few edge cases in new arglist code.

	* slime-parse.el (slime-parse-form-upto-point): Regard
	beginning-of-line as whitespace, and DTRT.

	* swank-arglists.lisp (empty-arg-p): Input may not only be an
	arglist-dummy.
	(print-decoded-arglist-as-template): Do not print superfluuous
	newline before &body.
	(arglist-for-echo-area): Catch errors.
	(find-subform-with-arglist): Deal properly with NIL as argument.
	(find-immediately-containing-arglist): Do not erroneously complete
	form with an unsuited arglist of the parent form.
	(last-arg): New helper.
	(arglist-path-to-nested-arglist): Use it.

	Reported by Ariel Badichi.

2009-11-23  Tobias C. Rittweiler  <[email protected]>

	* slime-asdf.el (slime-rgrep-system): Conditionalize on whether
	`rgrep' is available (it isn't on Emacs 21.) Also make sure to
	call `grep-compute-defaults' before `grep-read-regexp' because the
	former does some necessary setup. (Seems to be of a problem on
	Emacs from CVS.)

2009-11-23  Tobias C. Rittweiler  <[email protected]>

	* slime-repl.el (slime-repl-previous-matching-input)
	(slime-repl-next-matching-input): Read input by means of
	`slime-read-from-minibuffer' so TAB will complete symbols for us.

2009-11-23  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (operate-on-system-for-emacs),
	(operate-on-system): Muffle ASDF:COMPILE-ERROR because we reuse
	Slime's compilation error reportery anyway, and sldb popping up is
	just annoying.

2009-11-23  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (system-contains-file-p): Previous definition
	didn't properly propagate positive return value of recursive
	call. Fix that.

2009-11-22  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-history-remove-duplicates): New variable,
	if set to T previous matching history entries are removed before
	appending a new item. Default value is NIL.
	(slime-repl-history-trim-whitespaces): New variable, when T remove
	whitespaces at the beginning and end of a new history item.
	Default value is NIL.
	(slime-repl-add-to-input-history): Implement behaviour of the variables
	above.
	(slime-string-trim): New function, works like cl:string-trim.

2009-11-22  Tobias C. Rittweiler  <[email protected]>

	* slime-fontifying-fu.el (slime-compute-region-for-font-lock): Set
	an upper limit for the starting point of searching for suppressed
	forms.

	* slime-parse.el (slime-make-form-spec-from-string): Minor
	optimizations.
	(slime-parse-form-upto-point): Refactored to not use `reduce' but
	bultins.
	(slime-make-form-spec-from-string, slime-parse-form-upto-point)
	(slime-compare-char-syntax): Byte-compile.

2009-11-21  Tobias C. Rittweiler  <[email protected]>

	* swank-asdf.lisp (asdf-determine-system): Also try to determine
	the current system by looking at the buffer-package.

	* slime-asdf (slime-read-system-name): Adapted accordingly.

2009-11-20  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-position-in-history): Add new optional
	parameter `exclude-string'.
	(slime-repl-history-replace): Don't replace history item if it's exactly
	matching the current input, search for the next match instead.

2009-11-19  Tobias C. Rittweiler  <[email protected]>

	* slime-asdf.el (slime-query-replace-system): Enable TAB
	completion of symbol names.

	* slime-fuzzy.el (slime-fuzzy-completions): Do not use
	`slime-find-buffer-package' it's an internal operation of
	`slime-current-buffer'.

2009-11-17  Tobias C. Rittweiler  <[email protected]>

	M-x slime-isearch-system will run `isearch-forward' on all files
	pertaining to an ASDF system.

	M-x slime-query-replace-system will run `query-replace' on all
	files pertaining to an ASDF system.

	* slime-asdf.el (slime-read-system-name): Refactored so callers
	have choice over how the default value is computed.
	(slime-find-asd-file): Renamed from `slime-find-asd'.
	(slime-determine-asdf-system): New helper.
	(slime-isearch-system): New function. Depends on functionality
	only available on GNU Emacs 23.1.x.
	(slime-query-replace-system): New function.

2009-11-17  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (asdf-determine-system): Rewritten to be much
	faster and to cons less (and look ugly).

2009-11-16  Stas Boukarev  <[email protected]>

	* swank-asdf.lisp (asdf-determine-system): New function for
	determining to what system a file belongs.

	* slime-asdf.el (slime-rgrep-system): New function.

2009-11-13  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (extra-keywords/make-instance)
	(extra-keywords/change-class): Wrap call to CLASS-PROTOTYPE in an
	IGNORE-ERRORS because computing a class-prototype involves
	evaluating initforms which may be calls to ERROR.

2009-11-07  Stas Boukarev  <[email protected]>

	* slime-package-fu.el (slime-find-package-definition-regexp): Go
	one sexp backward to the defpackage beginning.

2009-11-06  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-arglist): Adapted to new code.
	(slime-retrieve-arglist): New.

	* slime-c-p-c.el (slime-get-arglist): Deleted.
	(slime-complete-symbol*-fancy-bit): Use `slime-retrieve-arglist'.

2009-11-05  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (print-decoded-arglist): Fix printing of
	&any and &key parameters.
	(test-print-arglist): Slightly adapted.

	* slime-autodoc.el ([test] autodoc.1): Slightly adapted.

2009-11-02  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (do-decoded-arglists): Remove L-V-T.

2009-11-02  Tobias C. Rittweiler  <[email protected]>

	* slime-parse.el (slime-make-form-spec-from-string): Break out of
	the loop if we're at unbalanced parentheses.
	(slime-compare-character-syntax): New helper.
	(slime-parse-form-upto-point): Use it.
	(slime-incomplete-form-at-point): Revert change.
	([test] form-upto-point.1): New test case.

2009-11-02  Stas Boukarev  <[email protected]>

	* slime-parse.el (slime-incomplete-form-at-point): Concatenate " )"
	not just ")", because the form's last char may be \, and the parenthesis
	will be escaped.
	That fixes a bug reported by Ariel Badichi.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	* slime-fontifying-fu.el (slime-search-suppressed-forms-internal):
	Wrap form in `ignore-errors' again. People have been guinea pigs
	long enough. Suppression of reader-conditionalized forms seems to
	work pretty reliably now.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el, swank-arglists.lisp: Large parts were
	rewritten. Autodoc is now able to highlight &key parameters, and
	parameters in nested arglists.

	* slime-parse.el, slime-c-p-c.el, slime-highlighting-edits.el:
	Adapted to changes.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	* slime-autodoc.el (slime-autodoc-worthwile-p): New helper.
	(slime-compute-autodoc-internal): Use it to only perform an RPC
	request if it's worthwhile to do so. For example, don't do it if
	the user only typed a single opening parenthesis.

	* swank-arglists.lisp (variable-desc-for-echo-area):
	Bind *PRINT-READABLY* to NIL as global variables may contain
	objects which can't be printed readably.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	* swank-c-p-c.lisp (completion-set): Split into
	`symbol-completion-set', and `package-completion-set'.
	(completions): Updated accordingly. Also: complete packages
	"hyphenated" by dots.
	(find-matching-packages): Heed readtable-case.
	(make-compound-prefix-matcher): Make it possible to pass list of
	delimeters.
	(compound-prefix-match): Deleted.

	* swank-arglists.lisp (completions-for-keyword): Adapted so it
	does not use `compound-prefix-match'.

	* slime-c-p-c.el (complete-symbol* [test]): New test case.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	* swank-arglists.lisp (extra-keywords :around): Sort keyword
	parameters such that implementation-internal stuff is shown last.
	(compose): New helper.
	(make-package-comparator): New.
	(sort-extra-keywords): New.

2009-10-31  Tobias C. Rittweiler  <[email protected]>

	`M-x slime-visit-sbcl-bug' will open a browser to visit SBCL's bug
	tracker at Launchpad that describes the bug number at
	point (#nnnnnn).

	* slime-sbcl-exts.el (slime-visit-sbcl-bug): New.
	(slime-read-sbcl-bug): New.
	(slime-sbcl-bug-at-point): New.

2009-10-21  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-browse-system): Open the parent directory of
	an .asd file, not just files defined in it.
	(slime-open-system): Open files in another window.

	* swank-asdf.lisp (asdf-system-files): Put file with the same name as
	a system at the first place.

2009-10-21  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-browse-system): New command for browsing
	files in asdf using Dired.

	* swank-asdf.lisp (asdf-system-loaded-p): New function.

2009-10-20  Stas Boukarev  <[email protected]>

	* slime-parse.el (slime-parse-sexp-at-point): Remove unused flet.
	Check for existence of a sexp before trying to parse, not after.

2009-10-19  Stas Boukarev  <[email protected]>

	* slime-asdf.el (slime-open-system): New command for opening all files
	in a system.

	* swank-asdf.lisp (asdf-system-files): New function for listing all
	files in a system.

2009-10-15  Helmut Eller  <[email protected]>

	* slime-repl.el (slime-repl-find-buffer-package): New function.
	(slime-repl-init): Initialize slime-find-buffer-package-function.

2009-10-14  Tobias C. Rittweiler  <[email protected]>

	* slime-sprof.el (slime-sprof-browser-mode-map): Make
	`slime-parent-map' its parent.

2009-10-12  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-set-package): Don't double unfinished input
	and don't move point if it's inside the input area.

2009-10-10  Tobias C. Rittweiler  <[email protected]>

	* slime-fontifying-fu.el (slime-search-suppressed-forms): Add
	clause for new condition `slime-incorrect-feature-expression'.
	([test] font-lock-magic): Add new test case.

2009-10-09  Stas Boukarev  <[email protected]>

	* swank-sprof.lisp: Add ability to exclude functions which symbols
	are from swank package.
	* slime-sprof.el (slime-sprof-toggle-swank-exclusion): New function.
	Bound to s in the slime-sprof buffer.
	* slime-sprof.el (slime-sprof-exclude-swank): New variable for
	controlling exclusion of swank functions.

	* slime-sprof.el: Slightly factor code, add menu entries.

2009-09-29  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-sync-package-and-default-directory):
	Better checking for packages.

2009-09-28  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-sync-package-and-default-directory):
	Do not try to set package if it doesn't exists.

2009-09-25  Tobias C. Rittweiler <[email protected]>

	* swank-sbcl-exts.lisp: Add EVAL-WHEN to prevent subtle dependency
	problem.

2009-09-21  Stas Boukarev  <[email protected]>

	* slime-sprof.el, swank-sprof.lisp: New contrib for
	integration with SBCL's sb-sprof profiler,
	adopted from Juho Snellman's code.

2009-09-17  Stas Boukarev  <[email protected]>

	* slime-repl.el (slime-repl-clear-buffer): Don't change cursor
	position if is already at the prompt.

2009-09-16  Tobias C. Rittweiler  <[email protected]>

	* slime-references.el: Largely refactored: decoupled code from
	SLDB; add references to the compilation log.

2009-09-15  Stas Boukarev  <[email protected]>

	* slime-autodoc.el (slime-fontify-string): setup *slime-fontify*
	buffer without calling (lisp-mode) to avoid turning slime-mode there,
	which may cause interference.

2009-09-13  Stas Boukarev  <[email protected]>

	* slime-autodoc.el (slime-fontify-string): do not call
	(slime-autodoc-mode -1), there is no reason to do so.
	And it won't mess slime-echo-arglist-function, which fixes
	bug reported by Stanislaw Halik.

2009-09-04  Stas Boukarev  <[email protected]>

	* 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  <[email protected]>

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

2009-09-01  Stas Boukarev  <[email protected]>

	* 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  <[email protected]>

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

2009-08-27  Stas Boukarev  <[email protected]>

	* 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  <[email protected]>

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

2009-08-21  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

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

2009-08-09  Stas Boukarev  <[email protected]>

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

2009-08-05  Stas Boukarev  <[email protected]>

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

2009-07-22  Stas Boukarev  <[email protected]>

	* 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  <[email protected]>

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

2009-07-21  Helmut Eller  <[email protected]>

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

2009-07-19  Helmut Eller  <[email protected]>

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

2009-07-12  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

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

2009-06-28  Stas Boukarev  <[email protected]>

	* 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  <[email protected]>

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

2009-06-16  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2009-05-16  Tobias C. Rittweiler  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

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

2009-04-30  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2009-03-04  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2009-02-27  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2009-02-26  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2009-02-21  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2009-02-14  Helmut Eller  <[email protected]>

	* swank.rb: New file.

2009-02-02  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2009-02-01  Tobias C. Rittweiler  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2009-01-18  Tobias C. Rittweiler  <[email protected]>

	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 <[email protected]>

	* 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  <[email protected]>

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

2009-01-07  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

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

2009-01-02  Helmut Eller  <[email protected]>

	* slime-mrepl.el: New file.

2009-01-01  Tobias C. Rittweiler  <[email protected]>

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

2008-12-31  Tobias C. Rittweiler  <[email protected]>

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

2008-12-31  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2008-12-30  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2008-12-27  Helmut Eller  <[email protected]>

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

2008-12-26  Helmut Eller  <[email protected]>

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

2008-12-25  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

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

2008-12-23  Helmut Eller  <[email protected]>

	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  <[email protected]>

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

2008-12-23  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

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

2008-12-09  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>

	* 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 <[email protected]>

	* 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  <[email protected]>

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

2008-10-23  Helmut Eller  <[email protected]>

	* swank-jolt.k: New backend.

2008-10-23  Helmut Eller  <[email protected]>
	* swank-asdf.lisp (operate-on-system-for-emacs): Always T to
	collect-notes.  Reported by Mark Evenson.

2008-10-21  Helmut Eller  <[email protected]>

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

2008-10-19  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

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

2008-10-11  Nikodemus Siivola <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2008-09-07  Tobias C. Rittweiler  <[email protected]>

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

2008-09-07  Tobias C. Rittweiler  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>

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

2008-08-20  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2008-08-18  Ariel Badichi  <[email protected]>

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

2008-08-12  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	Add a simple object clipboard.

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

2008-08-07  Tobias C. Rittweiler  <[email protected]>

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

2008-08-07  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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 <[email protected]>

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

2008-08-03  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2008-07-31  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2008-07-16  Tobias C. Rittweiler  <[email protected]>

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

2008-06-07  Tobias C. Rittweiler  <[email protected]>

	* 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 <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2008-04-06  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2008-03-14  Tobias C. Rittweiler  <[email protected]>

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

2008-03-14  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

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

2008-02-21  Tobias C. Rittweiler  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

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

2008-02-13  Helmut Eller  <[email protected]>

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

2008-02-13  Helmut Eller  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	Use slime-require instead of a connected-hook.

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

2008-01-20  Matthias Koeppe  <[email protected]>

	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   <[email protected]>

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

2008-01-11  Stelian Ionescu <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* swank-parse.lisp (slime-incomplete-form-at-point): Hopefully
	better fix than before.
	
2008-01-10  Matthias Koeppe  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

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

	* 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  <[email protected]>

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

2007-11-20  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

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

2007-10-01  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2007-09-28  Tobias C. Rittweiler  <[email protected]>

	* 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  <[email protected]>

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

2007-09-20  Helmut Eller  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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 <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* slime-fancy.el: Require `slime-references'.
	
2007-09-10  Helmut Eller  <[email protected]>

	* 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  <[email protected]>

	* inferior-slime.el: Fix installation comment.

2007-09-10  Helmut Eller  <[email protected]>

	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  <[email protected]>

	Move SBCL doc references to contrib.

	* slime-references.el: New file.

2007-09-10  Attila Lendvai  <[email protected]>

	* 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  <[email protected]>

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

2007-09-08  Stelian Ionescu  <[email protected]>

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

2007-09-06  Matthias Koeppe  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

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

2007-09-04  Helmut Eller  <[email protected]>

	Some bug fixes for slime-complete-symbol*.
	Patches by Mr. Madhu <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

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

2007-09-01  Matthias Koeppe  <[email protected]>

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

2007-09-01  Matthias Koeppe  <[email protected]>

	* 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  <[email protected]>

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

2007-09-01  Tobias C. Rittweiler  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

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

2007-08-28  Helmut Eller  <[email protected]>

	* swank-listener-hooks.lisp: New file

2007-08-28  Helmut Eller  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	Move presentations to contrib. (ELisp part)

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

2007-08-24  Matthias Koeppe  <[email protected]>

	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  <[email protected]>

	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  <[email protected]>

	* 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  <[email protected]>

	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  <[email protected]>

	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.